From 7888fe8fe122cf4a476541313b8309e86417cc4c Mon Sep 17 00:00:00 2001 From: davay Date: Mon, 1 Jan 2024 13:08:55 +0700 Subject: [PATCH] deploy --- assets/index-6fda5aab.js | 482 ---------------------------------- assets/index-6fda5aab.js.map | 1 - assets/index-o4uTN3ka.js | 488 +++++++++++++++++++++++++++++++++++ assets/index-o4uTN3ka.js.map | 1 + assets/style-edf63a0d.css | 1 - assets/style-uZhXG-BA.css | 1 + index.html | 5 +- sitemap.xml | 2 +- 8 files changed, 493 insertions(+), 488 deletions(-) delete mode 100644 assets/index-6fda5aab.js delete mode 100644 assets/index-6fda5aab.js.map create mode 100644 assets/index-o4uTN3ka.js create mode 100644 assets/index-o4uTN3ka.js.map delete mode 100644 assets/style-edf63a0d.css create mode 100644 assets/style-uZhXG-BA.css diff --git a/assets/index-6fda5aab.js b/assets/index-6fda5aab.js deleted file mode 100644 index d3daf1e..0000000 --- a/assets/index-6fda5aab.js +++ /dev/null @@ -1,482 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=t(i);fetch(i.href,r)}})();function rl(n,e){const t=Object.create(null),s=n.split(",");for(let i=0;i!!t[i.toLowerCase()]:i=>!!t[i]}const He={},yi=[],tn=()=>{},Nm=()=>!1,Mm=/^on[^a-z]/,_a=n=>Mm.test(n),ol=n=>n.startsWith("onUpdate:"),at=Object.assign,al=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},km=Object.prototype.hasOwnProperty,Ne=(n,e)=>km.call(n,e),de=Array.isArray,vi=n=>ji(n)==="[object Map]",ya=n=>ji(n)==="[object Set]",yu=n=>ji(n)==="[object Date]",Om=n=>ji(n)==="[object RegExp]",ve=n=>typeof n=="function",Qe=n=>typeof n=="string",Ci=n=>typeof n=="symbol",Ue=n=>n!==null&&typeof n=="object",wd=n=>(Ue(n)||ve(n))&&ve(n.then)&&ve(n.catch),xd=Object.prototype.toString,ji=n=>xd.call(n),Im=n=>ji(n).slice(8,-1),Td=n=>ji(n)==="[object Object]",cl=n=>Qe(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,bo=rl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),va=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},Rm=/-(\w)/g,En=va(n=>n.replace(Rm,(e,t)=>t?t.toUpperCase():"")),Dm=/\B([A-Z])/g,ei=va(n=>n.replace(Dm,"-$1").toLowerCase()),ba=va(n=>n.charAt(0).toUpperCase()+n.slice(1)),ic=va(n=>n?`on${ba(n)}`:""),Hs=(n,e)=>!Object.is(n,e),bi=(n,e)=>{for(let t=0;t{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value:t})},Pm=n=>{const e=parseFloat(n);return isNaN(e)?n:e},$m=n=>{const e=Qe(n)?Number(n):NaN;return isNaN(e)?n:e};let vu;const Ec=()=>vu||(vu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Be(n){if(de(n)){const e={};for(let t=0;t{if(t){const s=t.split(Vm);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function vs(n){let e="";if(Qe(n))e=n;else if(de(n))for(let t=0;twa(t,e))}const Ke=n=>Qe(n)?n:n==null?"":de(n)||Ue(n)&&(n.toString===xd||!ve(n.toString))?JSON.stringify(n,Cd,2):String(n),Cd=(n,e)=>e&&e.__v_isRef?Cd(n,e.value):vi(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[s,i])=>(t[`${s} =>`]=i,t),{})}:ya(e)?{[`Set(${e.size})`]:[...e.values()]}:Ue(e)&&!de(e)&&!Td(e)?String(e):e;let Dt;class Wm{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Dt,!e&&Dt&&(this.index=(Dt.scopes||(Dt.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Dt;try{return Dt=this,e()}finally{Dt=t}}}on(){Dt=this}off(){Dt=this.parent}stop(e){if(this._active){let t,s;for(t=0,s=this.effects.length;t{const e=new Set(n);return e.w=0,e.n=0,e},Nd=n=>(n.w&ms)>0,Md=n=>(n.n&ms)>0,Gm=({deps:n})=>{if(n.length)for(let e=0;e{const{deps:e}=n;if(e.length){let t=0;for(let s=0;s{(u==="length"||!Ci(u)&&u>=c)&&a.push(l)})}else switch(t!==void 0&&a.push(o.get(t)),e){case"add":de(n)?cl(t)&&a.push(o.get("length")):(a.push(o.get(Bs)),vi(n)&&a.push(o.get(Cc)));break;case"delete":de(n)||(a.push(o.get(Bs)),vi(n)&&a.push(o.get(Cc)));break;case"set":vi(n)&&a.push(o.get(Bs));break}if(a.length===1)a[0]&&Ac(a[0]);else{const c=[];for(const l of a)l&&c.push(...l);Ac(ll(c))}}function Ac(n,e){const t=de(n)?n:[...n];for(const s of t)s.computed&&wu(s);for(const s of t)s.computed||wu(s)}function wu(n,e){(n!==Xt||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}function Ym(n,e){var t;return(t=ko.get(n))==null?void 0:t.get(e)}const Zm=rl("__proto__,__v_isRef,__isVue"),Id=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(Ci)),xu=Xm();function Xm(){const n={};return["includes","indexOf","lastIndexOf"].forEach(e=>{n[e]=function(...t){const s=Ae(this);for(let r=0,o=this.length;r{n[e]=function(...t){Wi();const s=Ae(this)[e].apply(this,t);return zi(),s}}),n}function Qm(n){const e=Ae(this);return Ot(e,"has",n),e.hasOwnProperty(n)}class Rd{constructor(e=!1,t=!1){this._isReadonly=e,this._shallow=t}get(e,t,s){const i=this._isReadonly,r=this._shallow;if(t==="__v_isReactive")return!i;if(t==="__v_isReadonly")return i;if(t==="__v_isShallow")return r;if(t==="__v_raw"&&s===(i?r?hg:Fd:r?$d:Pd).get(e))return e;const o=de(e);if(!i){if(o&&Ne(xu,t))return Reflect.get(xu,t,s);if(t==="hasOwnProperty")return Qm}const a=Reflect.get(e,t,s);return(Ci(t)?Id.has(t):Zm(t))||(i||Ot(e,"get",t),r)?a:dt(a)?o&&cl(t)?a:a.value:Ue(a)?i?jr(a):Vt(a):a}}class Dd extends Rd{constructor(e=!1){super(!1,e)}set(e,t,s,i){let r=e[t];if(Gs(r)&&dt(r)&&!dt(s))return!1;if(!this._shallow&&(!Oo(s)&&!Gs(s)&&(r=Ae(r),s=Ae(s)),!de(e)&&dt(r)&&!dt(s)))return r.value=s,!0;const o=de(e)&&cl(t)?Number(t)n,xa=n=>Reflect.getPrototypeOf(n);function io(n,e,t=!1,s=!1){n=n.__v_raw;const i=Ae(n),r=Ae(e);t||(Hs(e,r)&&Ot(i,"get",e),Ot(i,"get",r));const{has:o}=xa(i),a=s?hl:t?pl:fr;if(o.call(i,e))return a(n.get(e));if(o.call(i,r))return a(n.get(r));n!==i&&n.get(e)}function ro(n,e=!1){const t=this.__v_raw,s=Ae(t),i=Ae(n);return e||(Hs(n,i)&&Ot(s,"has",n),Ot(s,"has",i)),n===i?t.has(n):t.has(n)||t.has(i)}function oo(n,e=!1){return n=n.__v_raw,!e&&Ot(Ae(n),"iterate",Bs),Reflect.get(n,"size",n)}function Tu(n){n=Ae(n);const e=Ae(this);return xa(e).has.call(e,n)||(e.add(n),Fn(e,"add",n,n)),this}function Eu(n,e){e=Ae(e);const t=Ae(this),{has:s,get:i}=xa(t);let r=s.call(t,n);r||(n=Ae(n),r=s.call(t,n));const o=i.call(t,n);return t.set(n,e),r?Hs(e,o)&&Fn(t,"set",n,e):Fn(t,"add",n,e),this}function Su(n){const e=Ae(this),{has:t,get:s}=xa(e);let i=t.call(e,n);i||(n=Ae(n),i=t.call(e,n)),s&&s.call(e,n);const r=e.delete(n);return i&&Fn(e,"delete",n,void 0),r}function Cu(){const n=Ae(this),e=n.size!==0,t=n.clear();return e&&Fn(n,"clear",void 0,void 0),t}function ao(n,e){return function(s,i){const r=this,o=r.__v_raw,a=Ae(o),c=e?hl:n?pl:fr;return!n&&Ot(a,"iterate",Bs),o.forEach((l,u)=>s.call(i,c(l),c(u),r))}}function co(n,e,t){return function(...s){const i=this.__v_raw,r=Ae(i),o=vi(r),a=n==="entries"||n===Symbol.iterator&&o,c=n==="keys"&&o,l=i[n](...s),u=t?hl:e?pl:fr;return!e&&Ot(r,"iterate",c?Cc:Bs),{next(){const{value:h,done:d}=l.next();return d?{value:h,done:d}:{value:a?[u(h[0]),u(h[1])]:u(h),done:d}},[Symbol.iterator](){return this}}}}function Jn(n){return function(...e){return n==="delete"?!1:this}}function sg(){const n={get(r){return io(this,r)},get size(){return oo(this)},has:ro,add:Tu,set:Eu,delete:Su,clear:Cu,forEach:ao(!1,!1)},e={get(r){return io(this,r,!1,!0)},get size(){return oo(this)},has:ro,add:Tu,set:Eu,delete:Su,clear:Cu,forEach:ao(!1,!0)},t={get(r){return io(this,r,!0)},get size(){return oo(this,!0)},has(r){return ro.call(this,r,!0)},add:Jn("add"),set:Jn("set"),delete:Jn("delete"),clear:Jn("clear"),forEach:ao(!0,!1)},s={get(r){return io(this,r,!0,!0)},get size(){return oo(this,!0)},has(r){return ro.call(this,r,!0)},add:Jn("add"),set:Jn("set"),delete:Jn("delete"),clear:Jn("clear"),forEach:ao(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=co(r,!1,!1),t[r]=co(r,!0,!1),e[r]=co(r,!1,!0),s[r]=co(r,!0,!0)}),[n,t,e,s]}const[ig,rg,og,ag]=sg();function dl(n,e){const t=e?n?ag:og:n?rg:ig;return(s,i,r)=>i==="__v_isReactive"?!n:i==="__v_isReadonly"?n:i==="__v_raw"?s:Reflect.get(Ne(t,i)&&i in s?t:s,i,r)}const cg={get:dl(!1,!1)},lg={get:dl(!1,!0)},ug={get:dl(!0,!1)},Pd=new WeakMap,$d=new WeakMap,Fd=new WeakMap,hg=new WeakMap;function dg(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function fg(n){return n.__v_skip||!Object.isExtensible(n)?0:dg(Im(n))}function Vt(n){return Gs(n)?n:fl(n,!1,eg,cg,Pd)}function Vd(n){return fl(n,!1,ng,lg,$d)}function jr(n){return fl(n,!0,tg,ug,Fd)}function fl(n,e,t,s,i){if(!Ue(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const r=i.get(n);if(r)return r;const o=fg(n);if(o===0)return n;const a=new Proxy(n,o===2?s:t);return i.set(n,a),a}function wi(n){return Gs(n)?wi(n.__v_raw):!!(n&&n.__v_isReactive)}function Gs(n){return!!(n&&n.__v_isReadonly)}function Oo(n){return!!(n&&n.__v_isShallow)}function Ld(n){return wi(n)||Gs(n)}function Ae(n){const e=n&&n.__v_raw;return e?Ae(e):n}function Bd(n){return Mo(n,"__v_skip",!0),n}const fr=n=>Ue(n)?Vt(n):n,pl=n=>Ue(n)?jr(n):n;function ml(n){ds&&Xt&&(n=Ae(n),Od(n.dep||(n.dep=ll())))}function gl(n,e){n=Ae(n);const t=n.dep;t&&Ac(t)}function dt(n){return!!(n&&n.__v_isRef===!0)}function Oe(n){return Ud(n,!1)}function qd(n){return Ud(n,!0)}function Ud(n,e){return dt(n)?n:new pg(n,e)}class pg{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Ae(e),this._value=t?e:fr(e)}get value(){return ml(this),this._value}set value(e){const t=this.__v_isShallow||Oo(e)||Gs(e);e=t?e:Ae(e),Hs(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:fr(e),gl(this))}}function b(n){return dt(n)?n.value:n}const mg={get:(n,e,t)=>b(Reflect.get(n,e,t)),set:(n,e,t,s)=>{const i=n[e];return dt(i)&&!dt(t)?(i.value=t,!0):Reflect.set(n,e,t,s)}};function jd(n){return wi(n)?n:new Proxy(n,mg)}class gg{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:s}=e(()=>ml(this),()=>gl(this));this._get=t,this._set=s}get value(){return this._get()}set value(e){this._set(e)}}function _g(n){return new gg(n)}class yg{constructor(e,t,s){this._object=e,this._key=t,this._defaultValue=s,this.__v_isRef=!0}get value(){const e=this._object[this._key];return e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return Ym(Ae(this._object),this._key)}}class vg{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function bg(n,e,t){return dt(n)?n:ve(n)?new vg(n):Ue(n)&&arguments.length>1?wg(n,e,t):Oe(n)}function wg(n,e,t){const s=n[e];return dt(s)?s:new yg(n,e,t)}class xg{constructor(e,t,s,i){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ul(e,()=>{this._dirty||(this._dirty=!0,gl(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const e=Ae(this);return ml(e),(e._dirty||!e._cacheable)&&(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function Tg(n,e,t=!1){let s,i;const r=ve(n);return r?(s=n,i=tn):(s=n.get,i=n.set),new xg(s,i,r||!i,t)}function fs(n,e,t,s){let i;try{i=s?n(...s):n()}catch(r){Ta(r,e,t)}return i}function jt(n,e,t,s){if(ve(n)){const r=fs(n,e,t,s);return r&&wd(r)&&r.catch(o=>{Ta(o,e,t)}),r}const i=[];for(let r=0;r>>1,i=_t[s],r=mr(i);rwn&&_t.splice(e,1)}function Ag(n){de(n)?xi.push(...n):(!Dn||!Dn.includes(n,n.allowRecurse?Is+1:Is))&&xi.push(n),zd()}function Au(n,e=pr?wn+1:0){for(;e<_t.length;e++){const t=_t[e];t&&t.pre&&(_t.splice(e,1),e--,t())}}function Hd(n){if(xi.length){const e=[...new Set(xi)];if(xi.length=0,Dn){Dn.push(...e);return}for(Dn=e,Dn.sort((t,s)=>mr(t)-mr(s)),Is=0;Isn.id==null?1/0:n.id,Ng=(n,e)=>{const t=mr(n)-mr(e);if(t===0){if(n.pre&&!e.pre)return-1;if(e.pre&&!n.pre)return 1}return t};function Gd(n){Nc=!1,pr=!0,_t.sort(Ng);const e=tn;try{for(wn=0;wn<_t.length;wn++){const t=_t[wn];t&&t.active!==!1&&fs(t,null,14)}}finally{wn=0,_t.length=0,Hd(),pr=!1,_l=null,(_t.length||xi.length)&&Gd()}}function Mg(n,e,...t){if(n.isUnmounted)return;const s=n.vnode.props||He;let i=t;const r=e.startsWith("update:"),o=r&&e.slice(7);if(o&&o in s){const u=`${o==="modelValue"?"model":o}Modifiers`,{number:h,trim:d}=s[u]||He;d&&(i=t.map(f=>Qe(f)?f.trim():f)),h&&(i=t.map(Pm))}let a,c=s[a=ic(e)]||s[a=ic(En(e))];!c&&r&&(c=s[a=ic(ei(e))]),c&&jt(c,n,6,i);const l=s[a+"Once"];if(l){if(!n.emitted)n.emitted={};else if(n.emitted[a])return;n.emitted[a]=!0,jt(l,n,6,i)}}function Kd(n,e,t=!1){const s=e.emitsCache,i=s.get(n);if(i!==void 0)return i;const r=n.emits;let o={},a=!1;if(!ve(n)){const c=l=>{const u=Kd(l,e,!0);u&&(a=!0,at(o,u))};!t&&e.mixins.length&&e.mixins.forEach(c),n.extends&&c(n.extends),n.mixins&&n.mixins.forEach(c)}return!r&&!a?(Ue(n)&&s.set(n,null),null):(de(r)?r.forEach(c=>o[c]=null):at(o,r),Ue(n)&&s.set(n,o),o)}function Ea(n,e){return!n||!_a(e)?!1:(e=e.slice(2).replace(/Once$/,""),Ne(n,e[0].toLowerCase()+e.slice(1))||Ne(n,ei(e))||Ne(n,e))}let mt=null,Sa=null;function Io(n){const e=mt;return mt=n,Sa=n&&n.type.__scopeId||null,e}function Ca(n){Sa=n}function Aa(){Sa=null}const kg=n=>nn;function nn(n,e=mt,t){if(!e||n._n)return n;const s=(...i)=>{s._d&&Lu(-1);const r=Io(e);let o;try{o=n(...i)}finally{Io(r),s._d&&Lu(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function rc(n){const{type:e,vnode:t,proxy:s,withProxy:i,props:r,propsOptions:[o],slots:a,attrs:c,emit:l,render:u,renderCache:h,data:d,setupState:f,ctx:p,inheritAttrs:m}=n;let _,g;const y=Io(n);try{if(t.shapeFlag&4){const w=i||s;_=bn(u.call(w,w,h,r,f,d,p)),g=c}else{const w=e;_=bn(w.length>1?w(r,{attrs:c,slots:a,emit:l}):w(r,null)),g=e.props?c:Og(c)}}catch(w){cr.length=0,Ta(w,n,1),_=xe(Wt)}let S=_;if(g&&m!==!1){const w=Object.keys(g),{shapeFlag:v}=S;w.length&&v&7&&(o&&w.some(ol)&&(g=Ig(g,o)),S=Ln(S,g))}return t.dirs&&(S=Ln(S),S.dirs=S.dirs?S.dirs.concat(t.dirs):t.dirs),t.transition&&(S.transition=t.transition),_=S,Io(y),_}const Og=n=>{let e;for(const t in n)(t==="class"||t==="style"||_a(t))&&((e||(e={}))[t]=n[t]);return e},Ig=(n,e)=>{const t={};for(const s in n)(!ol(s)||!(s.slice(9)in e))&&(t[s]=n[s]);return t};function Rg(n,e,t){const{props:s,children:i,component:r}=n,{props:o,children:a,patchFlag:c}=e,l=r.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&c>=0){if(c&1024)return!0;if(c&16)return s?Nu(s,o,l):!!o;if(c&8){const u=e.dynamicProps;for(let h=0;hn.__isSuspense;function Pg(n,e){e&&e.pendingBranch?de(n)?e.effects.push(...n):e.effects.push(n):Ag(n)}function Zd(n,e){return vl(n,null,e)}const lo={};function yt(n,e,t){return vl(n,e,t)}function vl(n,e,{immediate:t,deep:s,flush:i,onTrack:r,onTrigger:o}=He){var a;const c=Ad()===((a=ht)==null?void 0:a.scope)?ht:null;let l,u=!1,h=!1;if(dt(n)?(l=()=>n.value,u=Oo(n)):wi(n)?(l=()=>n,s=!0):de(n)?(h=!0,u=n.some(w=>wi(w)||Oo(w)),l=()=>n.map(w=>{if(dt(w))return w.value;if(wi(w))return Ps(w);if(ve(w))return fs(w,c,2)})):ve(n)?e?l=()=>fs(n,c,2):l=()=>{if(!(c&&c.isUnmounted))return d&&d(),jt(n,c,3,[f])}:l=tn,e&&s){const w=l;l=()=>Ps(w())}let d,f=w=>{d=y.onStop=()=>{fs(w,c,4)}},p;if(br)if(f=tn,e?t&&jt(e,c,3,[l(),h?[]:void 0,f]):l(),i==="sync"){const w=M_();p=w.__watcherHandles||(w.__watcherHandles=[])}else return tn;let m=h?new Array(n.length).fill(lo):lo;const _=()=>{if(y.active)if(e){const w=y.run();(s||u||(h?w.some((v,A)=>Hs(v,m[A])):Hs(w,m)))&&(d&&d(),jt(e,c,3,[w,m===lo?void 0:h&&m[0]===lo?[]:m,f]),m=w)}else y.run()};_.allowRecurse=!!e;let g;i==="sync"?g=_:i==="post"?g=()=>pt(_,c&&c.suspense):(_.pre=!0,c&&(_.id=c.uid),g=()=>yl(_));const y=new ul(l,g);e?t?_():m=y.run():i==="post"?pt(y.run.bind(y),c&&c.suspense):y.run();const S=()=>{y.stop(),c&&c.scope&&al(c.scope.effects,y)};return p&&p.push(S),S}function $g(n,e,t){const s=this.proxy,i=Qe(n)?n.includes(".")?Xd(s,n):()=>s[n]:n.bind(s,s);let r;ve(e)?r=e:(r=e.handler,t=e);const o=ht;Ni(this);const a=vl(i,r.bind(s),t);return o?Ni(o):qs(),a}function Xd(n,e){const t=e.split(".");return()=>{let s=n;for(let i=0;i{Ps(t,e)});else if(Td(n))for(const t in n)Ps(n[t],e);return n}function At(n,e){const t=mt;if(t===null)return n;const s=Ra(t)||t.proxy,i=n.dirs||(n.dirs=[]);for(let r=0;r{n.isMounted=!0}),xl(()=>{n.isUnmounting=!0}),n}const Lt=[Function,Array],Jd={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Lt,onEnter:Lt,onAfterEnter:Lt,onEnterCancelled:Lt,onBeforeLeave:Lt,onLeave:Lt,onAfterLeave:Lt,onLeaveCancelled:Lt,onBeforeAppear:Lt,onAppear:Lt,onAfterAppear:Lt,onAppearCancelled:Lt},Fg={name:"BaseTransition",props:Jd,setup(n,{slots:e}){const t=Wr(),s=Qd();let i;return()=>{const r=e.default&&bl(e.default(),!0);if(!r||!r.length)return;let o=r[0];if(r.length>1){for(const m of r)if(m.type!==Wt){o=m;break}}const a=Ae(n),{mode:c}=a;if(s.isLeaving)return oc(o);const l=Mu(o);if(!l)return oc(o);const u=gr(l,a,s,t);Ai(l,u);const h=t.subTree,d=h&&Mu(h);let f=!1;const{getTransitionKey:p}=l.type;if(p){const m=p();i===void 0?i=m:m!==i&&(i=m,f=!0)}if(d&&d.type!==Wt&&(!hs(l,d)||f)){const m=gr(d,a,s,t);if(Ai(d,m),c==="out-in")return s.isLeaving=!0,m.afterLeave=()=>{s.isLeaving=!1,t.update.active!==!1&&t.update()},oc(o);c==="in-out"&&l.type!==Wt&&(m.delayLeave=(_,g,y)=>{const S=ef(s,d);S[String(d.key)]=d,_[as]=()=>{g(),_[as]=void 0,delete u.delayedLeave},u.delayedLeave=y})}return o}}},Vg=Fg;function ef(n,e){const{leavingVNodes:t}=n;let s=t.get(e.type);return s||(s=Object.create(null),t.set(e.type,s)),s}function gr(n,e,t,s){const{appear:i,mode:r,persisted:o=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:h,onLeave:d,onAfterLeave:f,onLeaveCancelled:p,onBeforeAppear:m,onAppear:_,onAfterAppear:g,onAppearCancelled:y}=e,S=String(n.key),w=ef(t,n),v=(T,R)=>{T&&jt(T,s,9,R)},A=(T,R)=>{const O=R[1];v(T,R),de(T)?T.every(P=>P.length<=1)&&O():T.length<=1&&O()},N={mode:r,persisted:o,beforeEnter(T){let R=a;if(!t.isMounted)if(i)R=m||a;else return;T[as]&&T[as](!0);const O=w[S];O&&hs(n,O)&&O.el[as]&&O.el[as](),v(R,[T])},enter(T){let R=c,O=l,P=u;if(!t.isMounted)if(i)R=_||c,O=g||l,P=y||u;else return;let M=!1;const F=T[uo]=z=>{M||(M=!0,z?v(P,[T]):v(O,[T]),N.delayedLeave&&N.delayedLeave(),T[uo]=void 0)};R?A(R,[T,F]):F()},leave(T,R){const O=String(n.key);if(T[uo]&&T[uo](!0),t.isUnmounting)return R();v(h,[T]);let P=!1;const M=T[as]=F=>{P||(P=!0,R(),F?v(p,[T]):v(f,[T]),T[as]=void 0,w[O]===n&&delete w[O])};w[O]=n,d?A(d,[T,M]):M()},clone(T){return gr(T,e,t,s)}};return N}function oc(n){if(Na(n))return n=Ln(n),n.children=null,n}function Mu(n){return Na(n)?n.children?n.children[0]:void 0:n}function Ai(n,e){n.shapeFlag&6&&n.component?Ai(n.component.subTree,e):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function bl(n,e=!1,t){let s=[],i=0;for(let r=0;r1)for(let r=0;rat({name:n.name},e,{setup:n}))():n}const Ti=n=>!!n.type.__asyncLoader,Na=n=>n.type.__isKeepAlive,Lg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:e}){const t=Wr(),s=t.ctx;if(!s.renderer)return()=>{const y=e.default&&e.default();return y&&y.length===1?y[0]:y};const i=new Map,r=new Set;let o=null;const a=t.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:h}}}=s,d=h("div");s.activate=(y,S,w,v,A)=>{const N=y.component;l(y,S,w,0,a),c(N.vnode,y,S,w,N,a,v,y.slotScopeIds,A),pt(()=>{N.isDeactivated=!1,N.a&&bi(N.a);const T=y.props&&y.props.onVnodeMounted;T&&Bt(T,N.parent,y)},a)},s.deactivate=y=>{const S=y.component;l(y,d,null,1,a),pt(()=>{S.da&&bi(S.da);const w=y.props&&y.props.onVnodeUnmounted;w&&Bt(w,S.parent,y),S.isDeactivated=!0},a)};function f(y){ac(y),u(y,t,a,!0)}function p(y){i.forEach((S,w)=>{const v=Dc(S.type);v&&(!y||!y(v))&&m(w)})}function m(y){const S=i.get(y);!o||!hs(S,o)?f(S):o&&ac(o),i.delete(y),r.delete(y)}yt(()=>[n.include,n.exclude],([y,S])=>{y&&p(w=>ir(y,w)),S&&p(w=>!ir(S,w))},{flush:"post",deep:!0});let _=null;const g=()=>{_!=null&&i.set(_,cc(t.subTree))};return bs(g),wl(g),xl(()=>{i.forEach(y=>{const{subTree:S,suspense:w}=t,v=cc(S);if(y.type===v.type&&y.key===v.key){ac(v);const A=v.component.da;A&&pt(A,w);return}f(y)})}),()=>{if(_=null,!e.default)return null;const y=e.default(),S=y[0];if(y.length>1)return o=null,y;if(!yr(S)||!(S.shapeFlag&4)&&!(S.shapeFlag&128))return o=null,S;let w=cc(S);const v=w.type,A=Dc(Ti(w)?w.type.__asyncResolved||{}:v),{include:N,exclude:T,max:R}=n;if(N&&(!A||!ir(N,A))||T&&A&&ir(T,A))return o=w,S;const O=w.key==null?v:w.key,P=i.get(O);return w.el&&(w=Ln(w),S.shapeFlag&128&&(S.ssContent=w)),_=O,P?(w.el=P.el,w.component=P.component,w.transition&&Ai(w,w.transition),w.shapeFlag|=512,r.delete(O),r.add(O)):(r.add(O),R&&r.size>parseInt(R,10)&&m(r.values().next().value)),w.shapeFlag|=256,o=w,Yd(S.type)?S:w}}},Bg=Lg;function ir(n,e){return de(n)?n.some(t=>ir(t,e)):Qe(n)?n.split(",").includes(e):Om(n)?n.test(e):!1}function qg(n,e){tf(n,"a",e)}function Ug(n,e){tf(n,"da",e)}function tf(n,e,t=ht){const s=n.__wdc||(n.__wdc=()=>{let i=t;for(;i;){if(i.isDeactivated)return;i=i.parent}return n()});if(Ma(e,s,t),t){let i=t.parent;for(;i&&i.parent;)Na(i.parent.vnode)&&jg(s,e,t,i),i=i.parent}}function jg(n,e,t,s){const i=Ma(e,n,s,!0);nf(()=>{al(s[e],i)},t)}function ac(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function cc(n){return n.shapeFlag&128?n.ssContent:n}function Ma(n,e,t=ht,s=!1){if(t){const i=t[n]||(t[n]=[]),r=e.__weh||(e.__weh=(...o)=>{if(t.isUnmounted)return;Wi(),Ni(t);const a=jt(e,t,n,o);return qs(),zi(),a});return s?i.unshift(r):i.push(r),r}}const Kn=n=>(e,t=ht)=>(!br||n==="sp")&&Ma(n,(...s)=>e(...s),t),Wg=Kn("bm"),bs=Kn("m"),zg=Kn("bu"),wl=Kn("u"),xl=Kn("bum"),nf=Kn("um"),Hg=Kn("sp"),Gg=Kn("rtg"),Kg=Kn("rtc");function Yg(n,e=ht){Ma("ec",n,e)}const Tl="components",Zg="directives";function Ks(n,e){return El(Tl,n,!0,e)||n}const sf=Symbol.for("v-ndc");function Xg(n){return Qe(n)?El(Tl,n,!1)||n:n||sf}function rf(n){return El(Zg,n)}function El(n,e,t=!0,s=!1){const i=mt||ht;if(i){const r=i.type;if(n===Tl){const a=Dc(r,!1);if(a&&(a===e||a===En(e)||a===ba(En(e))))return r}const o=ku(i[n]||r[n],e)||ku(i.appContext[n],e);return!o&&s?r:o}}function ku(n,e){return n&&(n[e]||n[En(e)]||n[ba(En(e))])}function vt(n,e,t,s){let i;const r=t&&t[s];if(de(n)||Qe(n)){i=new Array(n.length);for(let o=0,a=n.length;oe(o,a,void 0,r&&r[a]));else{const o=Object.keys(n);i=new Array(o.length);for(let a=0,c=o.length;ayr(e)?!(e.type===Wt||e.type===Re&&!of(e.children)):!0)?n:null}const Mc=n=>n?_f(n)?Ra(n)||n.proxy:Mc(n.parent):null,ar=at(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>Mc(n.parent),$root:n=>Mc(n.root),$emit:n=>n.emit,$options:n=>Sl(n),$forceUpdate:n=>n.f||(n.f=()=>yl(n.update)),$nextTick:n=>n.n||(n.n=Hi.bind(n.proxy)),$watch:n=>$g.bind(n)}),lc=(n,e)=>n!==He&&!n.__isScriptSetup&&Ne(n,e),Qg={get({_:n},e){const{ctx:t,setupState:s,data:i,props:r,accessCache:o,type:a,appContext:c}=n;let l;if(e[0]!=="$"){const f=o[e];if(f!==void 0)switch(f){case 1:return s[e];case 2:return i[e];case 4:return t[e];case 3:return r[e]}else{if(lc(s,e))return o[e]=1,s[e];if(i!==He&&Ne(i,e))return o[e]=2,i[e];if((l=n.propsOptions[0])&&Ne(l,e))return o[e]=3,r[e];if(t!==He&&Ne(t,e))return o[e]=4,t[e];kc&&(o[e]=0)}}const u=ar[e];let h,d;if(u)return e==="$attrs"&&Ot(n,"get",e),u(n);if((h=a.__cssModules)&&(h=h[e]))return h;if(t!==He&&Ne(t,e))return o[e]=4,t[e];if(d=c.config.globalProperties,Ne(d,e))return d[e]},set({_:n},e,t){const{data:s,setupState:i,ctx:r}=n;return lc(i,e)?(i[e]=t,!0):s!==He&&Ne(s,e)?(s[e]=t,!0):Ne(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(r[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:s,appContext:i,propsOptions:r}},o){let a;return!!t[o]||n!==He&&Ne(n,o)||lc(e,o)||(a=r[0])&&Ne(a,o)||Ne(s,o)||Ne(ar,o)||Ne(i.config.globalProperties,o)},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:Ne(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function Ou(n){return de(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}let kc=!0;function Jg(n){const e=Sl(n),t=n.proxy,s=n.ctx;kc=!1,e.beforeCreate&&Iu(e.beforeCreate,n,"bc");const{data:i,computed:r,methods:o,watch:a,provide:c,inject:l,created:u,beforeMount:h,mounted:d,beforeUpdate:f,updated:p,activated:m,deactivated:_,beforeDestroy:g,beforeUnmount:y,destroyed:S,unmounted:w,render:v,renderTracked:A,renderTriggered:N,errorCaptured:T,serverPrefetch:R,expose:O,inheritAttrs:P,components:M,directives:F,filters:z}=e;if(l&&e_(l,s,null),o)for(const Z in o){const te=o[Z];ve(te)&&(s[Z]=te.bind(t))}if(i){const Z=i.call(t,t);Ue(Z)&&(n.data=Vt(Z))}if(kc=!0,r)for(const Z in r){const te=r[Z],ce=ve(te)?te.bind(t,t):ve(te.get)?te.get.bind(t,t):tn,me=!ve(te)&&ve(te.set)?te.set.bind(t):tn,ue=fe({get:ce,set:me});Object.defineProperty(s,Z,{enumerable:!0,configurable:!0,get:()=>ue.value,set:ye=>ue.value=ye})}if(a)for(const Z in a)af(a[Z],s,t,Z);if(c){const Z=ve(c)?c.call(t):c;Reflect.ownKeys(Z).forEach(te=>{wo(te,Z[te])})}u&&Iu(u,n,"c");function X(Z,te){de(te)?te.forEach(ce=>Z(ce.bind(t))):te&&Z(te.bind(t))}if(X(Wg,h),X(bs,d),X(zg,f),X(wl,p),X(qg,m),X(Ug,_),X(Yg,T),X(Kg,A),X(Gg,N),X(xl,y),X(nf,w),X(Hg,R),de(O))if(O.length){const Z=n.exposed||(n.exposed={});O.forEach(te=>{Object.defineProperty(Z,te,{get:()=>t[te],set:ce=>t[te]=ce})})}else n.exposed||(n.exposed={});v&&n.render===tn&&(n.render=v),P!=null&&(n.inheritAttrs=P),M&&(n.components=M),F&&(n.directives=F)}function e_(n,e,t=tn){de(n)&&(n=Oc(n));for(const s in n){const i=n[s];let r;Ue(i)?"default"in i?r=sn(i.from||s,i.default,!0):r=sn(i.from||s):r=sn(i),dt(r)?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):e[s]=r}}function Iu(n,e,t){jt(de(n)?n.map(s=>s.bind(e.proxy)):n.bind(e.proxy),e,t)}function af(n,e,t,s){const i=s.includes(".")?Xd(t,s):()=>t[s];if(Qe(n)){const r=e[n];ve(r)&&yt(i,r)}else if(ve(n))yt(i,n.bind(t));else if(Ue(n))if(de(n))n.forEach(r=>af(r,e,t,s));else{const r=ve(n.handler)?n.handler.bind(t):e[n.handler];ve(r)&&yt(i,r,n)}}function Sl(n){const e=n.type,{mixins:t,extends:s}=e,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=n.appContext,a=r.get(e);let c;return a?c=a:!i.length&&!t&&!s?c=e:(c={},i.length&&i.forEach(l=>Do(c,l,o,!0)),Do(c,e,o)),Ue(e)&&r.set(e,c),c}function Do(n,e,t,s=!1){const{mixins:i,extends:r}=e;r&&Do(n,r,t,!0),i&&i.forEach(o=>Do(n,o,t,!0));for(const o in e)if(!(s&&o==="expose")){const a=t_[o]||t&&t[o];n[o]=a?a(n[o],e[o]):e[o]}return n}const t_={data:Ru,props:Du,emits:Du,methods:rr,computed:rr,beforeCreate:xt,created:xt,beforeMount:xt,mounted:xt,beforeUpdate:xt,updated:xt,beforeDestroy:xt,beforeUnmount:xt,destroyed:xt,unmounted:xt,activated:xt,deactivated:xt,errorCaptured:xt,serverPrefetch:xt,components:rr,directives:rr,watch:s_,provide:Ru,inject:n_};function Ru(n,e){return e?n?function(){return at(ve(n)?n.call(this,this):n,ve(e)?e.call(this,this):e)}:e:n}function n_(n,e){return rr(Oc(n),Oc(e))}function Oc(n){if(de(n)){const e={};for(let t=0;t1)return t&&ve(e)?e.call(s&&s.proxy):e}}function o_(n,e,t,s=!1){const i={},r={};Mo(r,Oa,1),n.propsDefaults=Object.create(null),lf(n,e,i,r);for(const o in n.propsOptions[0])o in i||(i[o]=void 0);t?n.props=s?i:Vd(i):n.type.props?n.props=i:n.props=r,n.attrs=r}function a_(n,e,t,s){const{props:i,attrs:r,vnode:{patchFlag:o}}=n,a=Ae(i),[c]=n.propsOptions;let l=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=n.vnode.dynamicProps;for(let h=0;h{c=!0;const[d,f]=uf(h,e,!0);at(o,d),f&&a.push(...f)};!t&&e.mixins.length&&e.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}if(!r&&!c)return Ue(n)&&s.set(n,yi),yi;if(de(r))for(let u=0;u-1,f[1]=m<0||p-1||Ne(f,"default"))&&a.push(h)}}}const l=[o,a];return Ue(n)&&s.set(n,l),l}function Pu(n){return n[0]!=="$"}function $u(n){const e=n&&n.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:n===null?"null":""}function Fu(n,e){return $u(n)===$u(e)}function Vu(n,e){return de(e)?e.findIndex(t=>Fu(t,n)):ve(e)&&Fu(e,n)?0:-1}const hf=n=>n[0]==="_"||n==="$stable",Cl=n=>de(n)?n.map(bn):[bn(n)],c_=(n,e,t)=>{if(e._n)return e;const s=nn((...i)=>Cl(e(...i)),t);return s._c=!1,s},df=(n,e,t)=>{const s=n._ctx;for(const i in n){if(hf(i))continue;const r=n[i];if(ve(r))e[i]=c_(i,r,s);else if(r!=null){const o=Cl(r);e[i]=()=>o}}},ff=(n,e)=>{const t=Cl(e);n.slots.default=()=>t},l_=(n,e)=>{if(n.vnode.shapeFlag&32){const t=e._;t?(n.slots=Ae(e),Mo(e,"_",t)):df(e,n.slots={})}else n.slots={},e&&ff(n,e);Mo(n.slots,Oa,1)},u_=(n,e,t)=>{const{vnode:s,slots:i}=n;let r=!0,o=He;if(s.shapeFlag&32){const a=e._;a?t&&a===1?r=!1:(at(i,e),!t&&a===1&&delete i._):(r=!e.$stable,df(e,i)),o=e}else e&&(ff(n,e),o={default:1});if(r)for(const a in i)!hf(a)&&o[a]==null&&delete i[a]};function Rc(n,e,t,s,i=!1){if(de(n)){n.forEach((d,f)=>Rc(d,e&&(de(e)?e[f]:e),t,s,i));return}if(Ti(s)&&!i)return;const r=s.shapeFlag&4?Ra(s.component)||s.component.proxy:s.el,o=i?null:r,{i:a,r:c}=n,l=e&&e.r,u=a.refs===He?a.refs={}:a.refs,h=a.setupState;if(l!=null&&l!==c&&(Qe(l)?(u[l]=null,Ne(h,l)&&(h[l]=null)):dt(l)&&(l.value=null)),ve(c))fs(c,a,12,[o,u]);else{const d=Qe(c),f=dt(c);if(d||f){const p=()=>{if(n.f){const m=d?Ne(h,c)?h[c]:u[c]:c.value;i?de(m)&&al(m,r):de(m)?m.includes(r)||m.push(r):d?(u[c]=[r],Ne(h,c)&&(h[c]=u[c])):(c.value=[r],n.k&&(u[n.k]=c.value))}else d?(u[c]=o,Ne(h,c)&&(h[c]=o)):f&&(c.value=o,n.k&&(u[n.k]=o))};o?(p.id=-1,pt(p,t)):p()}}}const pt=Pg;function h_(n){return d_(n)}function d_(n,e){const t=Ec();t.__VUE__=!0;const{insert:s,remove:i,patchProp:r,createElement:o,createText:a,createComment:c,setText:l,setElementText:u,parentNode:h,nextSibling:d,setScopeId:f=tn,insertStaticContent:p}=n,m=(x,E,k,C=null,I=null,B=null,Y=!1,U=null,H=!!E.dynamicChildren)=>{if(x===E)return;x&&!hs(x,E)&&(C=$(x),ye(x,I,B,!0),x=null),E.patchFlag===-2&&(H=!1,E.dynamicChildren=null);const{type:j,ref:ae,shapeFlag:ie}=E;switch(j){case ka:_(x,E,k,C);break;case Wt:g(x,E,k,C);break;case xo:x==null&&y(E,k,C,Y);break;case Re:M(x,E,k,C,I,B,Y,U,H);break;default:ie&1?v(x,E,k,C,I,B,Y,U,H):ie&6?F(x,E,k,C,I,B,Y,U,H):(ie&64||ie&128)&&j.process(x,E,k,C,I,B,Y,U,H,Q)}ae!=null&&I&&Rc(ae,x&&x.ref,B,E||x,!E)},_=(x,E,k,C)=>{if(x==null)s(E.el=a(E.children),k,C);else{const I=E.el=x.el;E.children!==x.children&&l(I,E.children)}},g=(x,E,k,C)=>{x==null?s(E.el=c(E.children||""),k,C):E.el=x.el},y=(x,E,k,C)=>{[x.el,x.anchor]=p(x.children,E,k,C,x.el,x.anchor)},S=({el:x,anchor:E},k,C)=>{let I;for(;x&&x!==E;)I=d(x),s(x,k,C),x=I;s(E,k,C)},w=({el:x,anchor:E})=>{let k;for(;x&&x!==E;)k=d(x),i(x),x=k;i(E)},v=(x,E,k,C,I,B,Y,U,H)=>{Y=Y||E.type==="svg",x==null?A(E,k,C,I,B,Y,U,H):R(x,E,I,B,Y,U,H)},A=(x,E,k,C,I,B,Y,U)=>{let H,j;const{type:ae,props:ie,shapeFlag:le,transition:_e,dirs:Ee}=x;if(H=x.el=o(x.type,B,ie&&ie.is,ie),le&8?u(H,x.children):le&16&&T(x.children,H,null,C,I,B&&ae!=="foreignObject",Y,U),Ee&&Cs(x,null,C,"created"),N(H,x,x.scopeId,Y,C),ie){for(const Ve in ie)Ve!=="value"&&!bo(Ve)&&r(H,Ve,null,ie[Ve],B,x.children,C,I,we);"value"in ie&&r(H,"value",null,ie.value),(j=ie.onVnodeBeforeMount)&&Bt(j,C,x)}Ee&&Cs(x,null,C,"beforeMount");const We=f_(I,_e);We&&_e.beforeEnter(H),s(H,E,k),((j=ie&&ie.onVnodeMounted)||We||Ee)&&pt(()=>{j&&Bt(j,C,x),We&&_e.enter(H),Ee&&Cs(x,null,C,"mounted")},I)},N=(x,E,k,C,I)=>{if(k&&f(x,k),C)for(let B=0;B{for(let j=H;j{const U=E.el=x.el;let{patchFlag:H,dynamicChildren:j,dirs:ae}=E;H|=x.patchFlag&16;const ie=x.props||He,le=E.props||He;let _e;k&&As(k,!1),(_e=le.onVnodeBeforeUpdate)&&Bt(_e,k,E,x),ae&&Cs(E,x,k,"beforeUpdate"),k&&As(k,!0);const Ee=I&&E.type!=="foreignObject";if(j?O(x.dynamicChildren,j,U,k,C,Ee,B):Y||te(x,E,U,null,k,C,Ee,B,!1),H>0){if(H&16)P(U,E,ie,le,k,C,I);else if(H&2&&ie.class!==le.class&&r(U,"class",null,le.class,I),H&4&&r(U,"style",ie.style,le.style,I),H&8){const We=E.dynamicProps;for(let Ve=0;Ve{_e&&Bt(_e,k,E,x),ae&&Cs(E,x,k,"updated")},C)},O=(x,E,k,C,I,B,Y)=>{for(let U=0;U{if(k!==C){if(k!==He)for(const U in k)!bo(U)&&!(U in C)&&r(x,U,k[U],null,Y,E.children,I,B,we);for(const U in C){if(bo(U))continue;const H=C[U],j=k[U];H!==j&&U!=="value"&&r(x,U,j,H,Y,E.children,I,B,we)}"value"in C&&r(x,"value",k.value,C.value)}},M=(x,E,k,C,I,B,Y,U,H)=>{const j=E.el=x?x.el:a(""),ae=E.anchor=x?x.anchor:a("");let{patchFlag:ie,dynamicChildren:le,slotScopeIds:_e}=E;_e&&(U=U?U.concat(_e):_e),x==null?(s(j,k,C),s(ae,k,C),T(E.children,k,ae,I,B,Y,U,H)):ie>0&&ie&64&&le&&x.dynamicChildren?(O(x.dynamicChildren,le,k,I,B,Y,U),(E.key!=null||I&&E===I.subTree)&&pf(x,E,!0)):te(x,E,k,ae,I,B,Y,U,H)},F=(x,E,k,C,I,B,Y,U,H)=>{E.slotScopeIds=U,x==null?E.shapeFlag&512?I.ctx.activate(E,k,C,Y,H):z(E,k,C,I,B,Y,H):ne(x,E,H)},z=(x,E,k,C,I,B,Y)=>{const U=x.component=x_(x,C,I);if(Na(x)&&(U.ctx.renderer=Q),T_(U),U.asyncDep){if(I&&I.registerDep(U,X),!x.el){const H=U.subTree=xe(Wt);g(null,H,E,k)}return}X(U,x,E,k,I,B,Y)},ne=(x,E,k)=>{const C=E.component=x.component;if(Rg(x,E,k))if(C.asyncDep&&!C.asyncResolved){Z(C,E,k);return}else C.next=E,Cg(C.update),C.update();else E.el=x.el,C.vnode=E},X=(x,E,k,C,I,B,Y)=>{const U=()=>{if(x.isMounted){let{next:ae,bu:ie,u:le,parent:_e,vnode:Ee}=x,We=ae,Ve;As(x,!1),ae?(ae.el=Ee.el,Z(x,ae,Y)):ae=Ee,ie&&bi(ie),(Ve=ae.props&&ae.props.onVnodeBeforeUpdate)&&Bt(Ve,_e,ae,Ee),As(x,!0);const rt=rc(x),Gt=x.subTree;x.subTree=rt,m(Gt,rt,h(Gt.el),$(Gt),x,I,B),ae.el=rt.el,We===null&&Dg(x,rt.el),le&&pt(le,I),(Ve=ae.props&&ae.props.onVnodeUpdated)&&pt(()=>Bt(Ve,_e,ae,Ee),I)}else{let ae;const{el:ie,props:le}=E,{bm:_e,m:Ee,parent:We}=x,Ve=Ti(E);if(As(x,!1),_e&&bi(_e),!Ve&&(ae=le&&le.onVnodeBeforeMount)&&Bt(ae,We,E),As(x,!0),ie&&Se){const rt=()=>{x.subTree=rc(x),Se(ie,x.subTree,x,I,null)};Ve?E.type.__asyncLoader().then(()=>!x.isUnmounted&&rt()):rt()}else{const rt=x.subTree=rc(x);m(null,rt,k,C,x,I,B),E.el=rt.el}if(Ee&&pt(Ee,I),!Ve&&(ae=le&&le.onVnodeMounted)){const rt=E;pt(()=>Bt(ae,We,rt),I)}(E.shapeFlag&256||We&&Ti(We.vnode)&&We.vnode.shapeFlag&256)&&x.a&&pt(x.a,I),x.isMounted=!0,E=k=C=null}},H=x.effect=new ul(U,()=>yl(j),x.scope),j=x.update=()=>H.run();j.id=x.uid,As(x,!0),j()},Z=(x,E,k)=>{E.component=x;const C=x.vnode.props;x.vnode=E,x.next=null,a_(x,E.props,C,k),u_(x,E.children,k),Wi(),Au(),zi()},te=(x,E,k,C,I,B,Y,U,H=!1)=>{const j=x&&x.children,ae=x?x.shapeFlag:0,ie=E.children,{patchFlag:le,shapeFlag:_e}=E;if(le>0){if(le&128){me(j,ie,k,C,I,B,Y,U,H);return}else if(le&256){ce(j,ie,k,C,I,B,Y,U,H);return}}_e&8?(ae&16&&we(j,I,B),ie!==j&&u(k,ie)):ae&16?_e&16?me(j,ie,k,C,I,B,Y,U,H):we(j,I,B,!0):(ae&8&&u(k,""),_e&16&&T(ie,k,C,I,B,Y,U,H))},ce=(x,E,k,C,I,B,Y,U,H)=>{x=x||yi,E=E||yi;const j=x.length,ae=E.length,ie=Math.min(j,ae);let le;for(le=0;leae?we(x,I,B,!0,!1,ie):T(E,k,C,I,B,Y,U,H,ie)},me=(x,E,k,C,I,B,Y,U,H)=>{let j=0;const ae=E.length;let ie=x.length-1,le=ae-1;for(;j<=ie&&j<=le;){const _e=x[j],Ee=E[j]=H?cs(E[j]):bn(E[j]);if(hs(_e,Ee))m(_e,Ee,k,null,I,B,Y,U,H);else break;j++}for(;j<=ie&&j<=le;){const _e=x[ie],Ee=E[le]=H?cs(E[le]):bn(E[le]);if(hs(_e,Ee))m(_e,Ee,k,null,I,B,Y,U,H);else break;ie--,le--}if(j>ie){if(j<=le){const _e=le+1,Ee=_ele)for(;j<=ie;)ye(x[j],I,B,!0),j++;else{const _e=j,Ee=j,We=new Map;for(j=Ee;j<=le;j++){const Rt=E[j]=H?cs(E[j]):bn(E[j]);Rt.key!=null&&We.set(Rt.key,j)}let Ve,rt=0;const Gt=le-Ee+1;let ai=!1,mu=0;const Qi=new Array(Gt);for(j=0;j=Gt){ye(Rt,I,B,!0);continue}let hn;if(Rt.key!=null)hn=We.get(Rt.key);else for(Ve=Ee;Ve<=le;Ve++)if(Qi[Ve-Ee]===0&&hs(Rt,E[Ve])){hn=Ve;break}hn===void 0?ye(Rt,I,B,!0):(Qi[hn-Ee]=j+1,hn>=mu?mu=hn:ai=!0,m(Rt,E[hn],k,null,I,B,Y,U,H),rt++)}const gu=ai?p_(Qi):yi;for(Ve=gu.length-1,j=Gt-1;j>=0;j--){const Rt=Ee+j,hn=E[Rt],_u=Rt+1{const{el:B,type:Y,transition:U,children:H,shapeFlag:j}=x;if(j&6){ue(x.component.subTree,E,k,C);return}if(j&128){x.suspense.move(E,k,C);return}if(j&64){Y.move(x,E,k,Q);return}if(Y===Re){s(B,E,k);for(let ie=0;ieU.enter(B),I);else{const{leave:ie,delayLeave:le,afterLeave:_e}=U,Ee=()=>s(B,E,k),We=()=>{ie(B,()=>{Ee(),_e&&_e()})};le?le(B,Ee,We):We()}else s(B,E,k)},ye=(x,E,k,C=!1,I=!1)=>{const{type:B,props:Y,ref:U,children:H,dynamicChildren:j,shapeFlag:ae,patchFlag:ie,dirs:le}=x;if(U!=null&&Rc(U,null,k,x,!0),ae&256){E.ctx.deactivate(x);return}const _e=ae&1&&le,Ee=!Ti(x);let We;if(Ee&&(We=Y&&Y.onVnodeBeforeUnmount)&&Bt(We,E,x),ae&6)be(x.component,k,C);else{if(ae&128){x.suspense.unmount(k,C);return}_e&&Cs(x,null,E,"beforeUnmount"),ae&64?x.type.remove(x,E,k,I,Q,C):j&&(B!==Re||ie>0&&ie&64)?we(j,E,k,!1,!0):(B===Re&&ie&384||!I&&ae&16)&&we(H,E,k),C&&st(x)}(Ee&&(We=Y&&Y.onVnodeUnmounted)||_e)&&pt(()=>{We&&Bt(We,E,x),_e&&Cs(x,null,E,"unmounted")},k)},st=x=>{const{type:E,el:k,anchor:C,transition:I}=x;if(E===Re){it(k,C);return}if(E===xo){w(x);return}const B=()=>{i(k),I&&!I.persisted&&I.afterLeave&&I.afterLeave()};if(x.shapeFlag&1&&I&&!I.persisted){const{leave:Y,delayLeave:U}=I,H=()=>Y(k,B);U?U(x.el,B,H):H()}else B()},it=(x,E)=>{let k;for(;x!==E;)k=d(x),i(x),x=k;i(E)},be=(x,E,k)=>{const{bum:C,scope:I,update:B,subTree:Y,um:U}=x;C&&bi(C),I.stop(),B&&(B.active=!1,ye(Y,x,E,k)),U&&pt(U,E),pt(()=>{x.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&x.asyncDep&&!x.asyncResolved&&x.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},we=(x,E,k,C=!1,I=!1,B=0)=>{for(let Y=B;Yx.shapeFlag&6?$(x.component.subTree):x.shapeFlag&128?x.suspense.next():d(x.anchor||x.el),L=(x,E,k)=>{x==null?E._vnode&&ye(E._vnode,null,null,!0):m(E._vnode||null,x,E,null,null,null,k),Au(),Hd(),E._vnode=x},Q={p:m,um:ye,m:ue,r:st,mt:z,mc:T,pc:te,pbc:O,n:$,o:n};let oe,Se;return e&&([oe,Se]=e(Q)),{render:L,hydrate:oe,createApp:r_(L,oe)}}function As({effect:n,update:e},t){n.allowRecurse=e.allowRecurse=t}function f_(n,e){return(!n||n&&!n.pendingBranch)&&e&&!e.persisted}function pf(n,e,t=!1){const s=n.children,i=e.children;if(de(s)&&de(i))for(let r=0;r>1,n[t[a]]0&&(e[s]=t[r-1]),t[r]=s)}}for(r=t.length,o=t[r-1];r-- >0;)t[r]=o,o=e[o];return t}const m_=n=>n.__isTeleport,Re=Symbol.for("v-fgt"),ka=Symbol.for("v-txt"),Wt=Symbol.for("v-cmt"),xo=Symbol.for("v-stc"),cr=[];let Qt=null;function K(n=!1){cr.push(Qt=n?null:[])}function g_(){cr.pop(),Qt=cr[cr.length-1]||null}let _r=1;function Lu(n){_r+=n}function mf(n){return n.dynamicChildren=_r>0?Qt||yi:null,g_(),_r>0&&Qt&&Qt.push(n),n}function ee(n,e,t,s,i,r){return mf(V(n,e,t,s,i,r,!0))}function et(n,e,t,s,i){return mf(xe(n,e,t,s,i,!0))}function yr(n){return n?n.__v_isVNode===!0:!1}function hs(n,e){return n.type===e.type&&n.key===e.key}const Oa="__vInternal",gf=({key:n})=>n??null,To=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?Qe(n)||dt(n)||ve(n)?{i:mt,r:n,k:e,f:!!t}:n:null);function V(n,e=null,t=null,s=0,i=null,r=n===Re?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&gf(e),ref:e&&To(e),scopeId:Sa,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:mt};return a?(Al(c,t),r&128&&n.normalize(c)):t&&(c.shapeFlag|=Qe(t)?8:16),_r>0&&!o&&Qt&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Qt.push(c),c}const xe=__;function __(n,e=null,t=null,s=0,i=null,r=!1){if((!n||n===sf)&&(n=Wt),yr(n)){const a=Ln(n,e,!0);return t&&Al(a,t),_r>0&&!r&&Qt&&(a.shapeFlag&6?Qt[Qt.indexOf(n)]=a:Qt.push(a)),a.patchFlag|=-2,a}if(A_(n)&&(n=n.__vccOpts),e){e=y_(e);let{class:a,style:c}=e;a&&!Qe(a)&&(e.class=vs(a)),Ue(c)&&(Ld(c)&&!de(c)&&(c=at({},c)),e.style=Be(c))}const o=Qe(n)?1:Yd(n)?128:m_(n)?64:Ue(n)?4:ve(n)?2:0;return V(n,e,t,s,i,o,r,!0)}function y_(n){return n?Ld(n)||Oa in n?at({},n):n:null}function Ln(n,e,t=!1){const{props:s,ref:i,patchFlag:r,children:o}=n,a=e?Ia(s||{},e):s;return{__v_isVNode:!0,__v_skip:!0,type:n.type,props:a,key:a&&gf(a),ref:e&&e.ref?t&&i?de(i)?i.concat(To(e)):[i,To(e)]:To(e):i,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:o,target:n.target,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==Re?r===-1?16:r|16:r,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:n.transition,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&Ln(n.ssContent),ssFallback:n.ssFallback&&Ln(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce}}function vr(n=" ",e=0){return xe(ka,null,n,e)}function v_(n,e){const t=xe(xo,null,n);return t.staticCount=e,t}function ut(n="",e=!1){return e?(K(),et(Wt,null,n)):xe(Wt,null,n)}function bn(n){return n==null||typeof n=="boolean"?xe(Wt):de(n)?xe(Re,null,n.slice()):typeof n=="object"?cs(n):xe(ka,null,String(n))}function cs(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:Ln(n)}function Al(n,e){let t=0;const{shapeFlag:s}=n;if(e==null)e=null;else if(de(e))t=16;else if(typeof e=="object")if(s&65){const i=e.default;i&&(i._c&&(i._d=!1),Al(n,i()),i._c&&(i._d=!0));return}else{t=32;const i=e._;!i&&!(Oa in e)?e._ctx=mt:i===3&&mt&&(mt.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else ve(e)?(e={default:e,_ctx:mt},t=32):(e=String(e),s&64?(t=16,e=[vr(e)]):t=8);n.children=e,n.shapeFlag|=t}function Ia(...n){const e={};for(let t=0;tht||mt;let Nl,ci,Bu="__VUE_INSTANCE_SETTERS__";(ci=Ec()[Bu])||(ci=Ec()[Bu]=[]),ci.push(n=>ht=n),Nl=n=>{ci.length>1?ci.forEach(e=>e(n)):ci[0](n)};const Ni=n=>{Nl(n),n.scope.on()},qs=()=>{ht&&ht.scope.off(),Nl(null)};function _f(n){return n.vnode.shapeFlag&4}let br=!1;function T_(n,e=!1){br=e;const{props:t,children:s}=n.vnode,i=_f(n);o_(n,t,i,e),l_(n,s);const r=i?E_(n,e):void 0;return br=!1,r}function E_(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=Bd(new Proxy(n.ctx,Qg));const{setup:s}=t;if(s){const i=n.setupContext=s.length>1?C_(n):null;Ni(n),Wi();const r=fs(s,n,0,[n.props,i]);if(zi(),qs(),wd(r)){if(r.then(qs,qs),e)return r.then(o=>{qu(n,o,e)}).catch(o=>{Ta(o,n,0)});n.asyncDep=r}else qu(n,r,e)}else yf(n,e)}function qu(n,e,t){ve(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:Ue(e)&&(n.setupState=jd(e)),yf(n,t)}let Uu;function yf(n,e,t){const s=n.type;if(!n.render){if(!e&&Uu&&!s.render){const i=s.template||Sl(n).template;if(i){const{isCustomElement:r,compilerOptions:o}=n.appContext.config,{delimiters:a,compilerOptions:c}=s,l=at(at({isCustomElement:r,delimiters:a},o),c);s.render=Uu(i,l)}}n.render=s.render||tn}{Ni(n),Wi();try{Jg(n)}finally{zi(),qs()}}}function S_(n){return n.attrsProxy||(n.attrsProxy=new Proxy(n.attrs,{get(e,t){return Ot(n,"get","$attrs"),e[t]}}))}function C_(n){const e=t=>{n.exposed=t||{}};return{get attrs(){return S_(n)},slots:n.slots,emit:n.emit,expose:e}}function Ra(n){if(n.exposed)return n.exposeProxy||(n.exposeProxy=new Proxy(jd(Bd(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in ar)return ar[t](n)},has(e,t){return t in e||t in ar}}))}function Dc(n,e=!0){return ve(n)?n.displayName||n.name:n.name||e&&n.__name}function A_(n){return ve(n)&&"__vccOpts"in n}const fe=(n,e)=>Tg(n,e,br);function Da(n,e,t){const s=arguments.length;return s===2?Ue(e)&&!de(e)?yr(e)?xe(n,null,[e]):xe(n,e):xe(n,null,e):(s>3?t=Array.prototype.slice.call(arguments,2):s===3&&yr(t)&&(t=[t]),xe(n,e,t))}const N_=Symbol.for("v-scx"),M_=()=>sn(N_),k_="3.3.7",O_="http://www.w3.org/2000/svg",Rs=typeof document<"u"?document:null,ju=Rs&&Rs.createElement("template"),I_={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,s)=>{const i=e?Rs.createElementNS(O_,n):Rs.createElement(n,t?{is:t}:void 0);return n==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:n=>Rs.createTextNode(n),createComment:n=>Rs.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>Rs.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,s,i,r){const o=t?t.previousSibling:e.lastChild;if(i&&(i===r||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),t),!(i===r||!(i=i.nextSibling)););else{ju.innerHTML=s?`${n}`:n;const a=ju.content;if(s){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}e.insertBefore(a,t)}return[o?o.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},es="transition",Ji="animation",Mi=Symbol("_vtc"),Pa=(n,{slots:e})=>Da(Vg,bf(n),e);Pa.displayName="Transition";const vf={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},R_=Pa.props=at({},Jd,vf),Ns=(n,e=[])=>{de(n)?n.forEach(t=>t(...e)):n&&n(...e)},Wu=n=>n?de(n)?n.some(e=>e.length>1):n.length>1:!1;function bf(n){const e={};for(const M in n)M in vf||(e[M]=n[M]);if(n.css===!1)return e;const{name:t="v",type:s,duration:i,enterFromClass:r=`${t}-enter-from`,enterActiveClass:o=`${t}-enter-active`,enterToClass:a=`${t}-enter-to`,appearFromClass:c=r,appearActiveClass:l=o,appearToClass:u=a,leaveFromClass:h=`${t}-leave-from`,leaveActiveClass:d=`${t}-leave-active`,leaveToClass:f=`${t}-leave-to`}=n,p=D_(i),m=p&&p[0],_=p&&p[1],{onBeforeEnter:g,onEnter:y,onEnterCancelled:S,onLeave:w,onLeaveCancelled:v,onBeforeAppear:A=g,onAppear:N=y,onAppearCancelled:T=S}=e,R=(M,F,z)=>{ss(M,F?u:a),ss(M,F?l:o),z&&z()},O=(M,F)=>{M._isLeaving=!1,ss(M,h),ss(M,f),ss(M,d),F&&F()},P=M=>(F,z)=>{const ne=M?N:y,X=()=>R(F,M,z);Ns(ne,[F,X]),zu(()=>{ss(F,M?c:r),Rn(F,M?u:a),Wu(ne)||Hu(F,s,m,X)})};return at(e,{onBeforeEnter(M){Ns(g,[M]),Rn(M,r),Rn(M,o)},onBeforeAppear(M){Ns(A,[M]),Rn(M,c),Rn(M,l)},onEnter:P(!1),onAppear:P(!0),onLeave(M,F){M._isLeaving=!0;const z=()=>O(M,F);Rn(M,h),xf(),Rn(M,d),zu(()=>{M._isLeaving&&(ss(M,h),Rn(M,f),Wu(w)||Hu(M,s,_,z))}),Ns(w,[M,z])},onEnterCancelled(M){R(M,!1),Ns(S,[M])},onAppearCancelled(M){R(M,!0),Ns(T,[M])},onLeaveCancelled(M){O(M),Ns(v,[M])}})}function D_(n){if(n==null)return null;if(Ue(n))return[uc(n.enter),uc(n.leave)];{const e=uc(n);return[e,e]}}function uc(n){return $m(n)}function Rn(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n[Mi]||(n[Mi]=new Set)).add(e)}function ss(n,e){e.split(/\s+/).forEach(s=>s&&n.classList.remove(s));const t=n[Mi];t&&(t.delete(e),t.size||(n[Mi]=void 0))}function zu(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let P_=0;function Hu(n,e,t,s){const i=n._endId=++P_,r=()=>{i===n._endId&&s()};if(t)return setTimeout(r,t);const{type:o,timeout:a,propCount:c}=wf(n,e);if(!o)return s();const l=o+"end";let u=0;const h=()=>{n.removeEventListener(l,d),r()},d=f=>{f.target===n&&++u>=c&&h()};setTimeout(()=>{u(t[p]||"").split(", "),i=s(`${es}Delay`),r=s(`${es}Duration`),o=Gu(i,r),a=s(`${Ji}Delay`),c=s(`${Ji}Duration`),l=Gu(a,c);let u=null,h=0,d=0;e===es?o>0&&(u=es,h=o,d=r.length):e===Ji?l>0&&(u=Ji,h=l,d=c.length):(h=Math.max(o,l),u=h>0?o>l?es:Ji:null,d=u?u===es?r.length:c.length:0);const f=u===es&&/\b(transform|all)(,|$)/.test(s(`${es}Property`).toString());return{type:u,timeout:h,propCount:d,hasTransform:f}}function Gu(n,e){for(;n.lengthKu(t)+Ku(n[s])))}function Ku(n){return n==="auto"?0:Number(n.slice(0,-1).replace(",","."))*1e3}function xf(){return document.body.offsetHeight}function $_(n,e,t){const s=n[Mi];s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}const Ml=Symbol("_vod"),$o={beforeMount(n,{value:e},{transition:t}){n[Ml]=n.style.display==="none"?"":n.style.display,t&&e?t.beforeEnter(n):er(n,e)},mounted(n,{value:e},{transition:t}){t&&e&&t.enter(n)},updated(n,{value:e,oldValue:t},{transition:s}){!e!=!t&&(s?e?(s.beforeEnter(n),er(n,!0),s.enter(n)):s.leave(n,()=>{er(n,!1)}):er(n,e))},beforeUnmount(n,{value:e}){er(n,e)}};function er(n,e){n.style.display=e?n[Ml]:"none"}function F_(n,e,t){const s=n.style,i=Qe(t);if(t&&!i){if(e&&!Qe(e))for(const r in e)t[r]==null&&Pc(s,r,"");for(const r in t)Pc(s,r,t[r])}else{const r=s.display;i?e!==t&&(s.cssText=t):e&&n.removeAttribute("style"),Ml in n&&(s.display=r)}}const Yu=/\s*!important$/;function Pc(n,e,t){if(de(t))t.forEach(s=>Pc(n,e,s));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const s=V_(n,e);Yu.test(t)?n.setProperty(ei(s),t.replace(Yu,""),"important"):n[s]=t}}const Zu=["Webkit","Moz","ms"],hc={};function V_(n,e){const t=hc[e];if(t)return t;let s=En(e);if(s!=="filter"&&s in n)return hc[e]=s;s=ba(s);for(let i=0;idc||(W_.then(()=>dc=0),dc=Date.now());function H_(n,e){const t=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=t.attached)return;jt(G_(s,t.value),e,5,[s])};return t.value=n,t.attached=z_(),t}function G_(n,e){if(de(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(s=>i=>!i._stopped&&s&&s(i))}else return e}const eh=/^on[a-z]/,K_=(n,e,t,s,i=!1,r,o,a,c)=>{e==="class"?$_(n,s,i):e==="style"?F_(n,t,s):_a(e)?ol(e)||U_(n,e,t,s,o):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Y_(n,e,s,i))?B_(n,e,s,r,o,a,c):(e==="true-value"?n._trueValue=s:e==="false-value"&&(n._falseValue=s),L_(n,e,s,i))};function Y_(n,e,t,s){return s?!!(e==="innerHTML"||e==="textContent"||e in n&&eh.test(e)&&ve(t)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA"||eh.test(e)&&Qe(t)?!1:e in n}const Ef=new WeakMap,Sf=new WeakMap,Fo=Symbol("_moveCb"),th=Symbol("_enterCb"),Cf={name:"TransitionGroup",props:at({},R_,{tag:String,moveClass:String}),setup(n,{slots:e}){const t=Wr(),s=Qd();let i,r;return wl(()=>{if(!i.length)return;const o=n.moveClass||`${n.name||"v"}-move`;if(!t0(i[0].el,t.vnode.el,o))return;i.forEach(Q_),i.forEach(J_);const a=i.filter(e0);xf(),a.forEach(c=>{const l=c.el,u=l.style;Rn(l,o),u.transform=u.webkitTransform=u.transitionDuration="";const h=l[Fo]=d=>{d&&d.target!==l||(!d||/transform$/.test(d.propertyName))&&(l.removeEventListener("transitionend",h),l[Fo]=null,ss(l,o))};l.addEventListener("transitionend",h)})}),()=>{const o=Ae(n),a=bf(o);let c=o.tag||Re;i=r,r=e.default?bl(e.default()):[];for(let l=0;ldelete n.mode;Cf.props;const X_=Cf;function Q_(n){const e=n.el;e[Fo]&&e[Fo](),e[th]&&e[th]()}function J_(n){Sf.set(n,n.el.getBoundingClientRect())}function e0(n){const e=Ef.get(n),t=Sf.get(n),s=e.left-t.left,i=e.top-t.top;if(s||i){const r=n.el.style;return r.transform=r.webkitTransform=`translate(${s}px,${i}px)`,r.transitionDuration="0s",n}}function t0(n,e,t){const s=n.cloneNode(),i=n[Mi];i&&i.forEach(a=>{a.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),t.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const r=e.nodeType===1?e:e.parentNode;r.appendChild(s);const{hasTransform:o}=wf(s);return r.removeChild(s),o}const nh=n=>{const e=n.props["onUpdate:modelValue"]||!1;return de(e)?t=>bi(e,t):e},fc=Symbol("_assign"),n0={deep:!0,created(n,e,t){n[fc]=nh(t),Tf(n,"change",()=>{const s=n._modelValue,i=s0(n),r=n.checked,o=n[fc];if(de(s)){const a=Sd(s,i),c=a!==-1;if(r&&!c)o(s.concat(i));else if(!r&&c){const l=[...s];l.splice(a,1),o(l)}}else if(ya(s)){const a=new Set(s);r?a.add(i):a.delete(i),o(a)}else o(Af(n,r))})},mounted:sh,beforeUpdate(n,e,t){n[fc]=nh(t),sh(n,e,t)}};function sh(n,{value:e,oldValue:t},s){n._modelValue=e,de(e)?n.checked=Sd(e,s.props.value)>-1:ya(e)?n.checked=e.has(s.props.value):e!==t&&(n.checked=wa(e,Af(n,!0)))}function s0(n){return"_value"in n?n._value:n.value}function Af(n,e){const t=e?"_trueValue":"_falseValue";return t in n?n[t]:e}const i0=["ctrl","shift","alt","meta"],r0={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,e)=>i0.some(t=>n[`${t}Key`]&&!e.includes(t))},o0=(n,e)=>(t,...s)=>{for(let i=0;it=>{if(!("key"in t))return;const s=ei(t.key);if(e.some(i=>i===s||a0[i]===s))return n(t)},l0=at({patchProp:K_},I_);let ih;function u0(){return ih||(ih=h_(l0))}const Nf=(...n)=>{const e=u0().createApp(...n),{mount:t}=e;return e.mount=s=>{const i=h0(s);if(!i)return;const r=e._component;!ve(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.innerHTML="";const o=t(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},e};function h0(n){return Qe(n)?document.querySelector(n):n}const d0={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},f0=V("path",{fill:"currentColor",d:"M248 144a8 8 0 0 1-16 0a96.11 96.11 0 0 0-96-96a88.1 88.1 0 0 0-88 88a80.09 80.09 0 0 0 80 80a72.08 72.08 0 0 0 72-72a64.07 64.07 0 0 0-64-64a56.06 56.06 0 0 0-56 56a48.05 48.05 0 0 0 48 48a40 40 0 0 0 40-40a32 32 0 0 0-32-32a24 24 0 0 0-24 24a16 16 0 0 0 16 16a8 8 0 0 0 8-8a8 8 0 0 1 0-16a16 16 0 0 1 16 16a24 24 0 0 1-24 24a32 32 0 0 1-32-32a40 40 0 0 1 40-40a48.05 48.05 0 0 1 48 48a56.06 56.06 0 0 1-56 56a64.07 64.07 0 0 1-64-64a72.08 72.08 0 0 1 72-72a80.09 80.09 0 0 1 80 80a88.1 88.1 0 0 1-88 88a96.11 96.11 0 0 1-96-96A104.11 104.11 0 0 1 136 32a112.12 112.12 0 0 1 112 112Z"},null,-1),p0=[f0];function m0(n,e){return K(),ee("svg",d0,[...p0])}const g0={name:"ph-spiral",render:m0},_0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},y0=V("path",{fill:"currentColor",d:"M4 9h4v11H4zm12 4h4v7h-4zm-6-9h4v16h-4z"},null,-1),v0=[y0];function b0(n,e){return K(),ee("svg",_0,[...v0])}const w0={name:"ic-outline-bar-chart",render:b0},x0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},T0=V("path",{fill:"currentColor",d:"M11 2.05v3.02a7.002 7.002 0 1 0 5.192 12.536l2.137 2.137A9.958 9.958 0 0 1 12 22C6.477 22 2 17.523 2 12c0-5.185 3.947-9.449 9-9.95ZM21.95 13a9.954 9.954 0 0 1-2.207 5.328l-2.137-2.136A6.964 6.964 0 0 0 18.93 13h3.022ZM13.002 2.05a10.004 10.004 0 0 1 8.95 8.95H18.93a7.005 7.005 0 0 0-5.928-5.929V2.049Z"},null,-1),E0=[T0];function S0(n,e){return K(),ee("svg",x0,[...E0])}const C0={name:"ri-donut-chart-fill",render:S0},A0={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},N0=V("path",{fill:"currentColor",d:"M15 5v10H5v2h10v10h2V17h10v-2H17V5z"},null,-1),M0=[N0];function k0(n,e){return K(),ee("svg",A0,[...M0])}const O0={name:"la-plus",render:k0},I0={style:{"vertical-align":"middle"},viewBox:"0 0 16 16",width:"1.2em",height:"1.2em"},R0=V("path",{fill:"currentColor",d:"M6.174 1.184a2 2 0 0 1 3.652 0A2 2 0 0 1 12.99 3.01a2 2 0 0 1 1.826 3.164a2 2 0 0 1 0 3.652a2 2 0 0 1-1.826 3.164a2 2 0 0 1-3.164 1.826a2 2 0 0 1-3.652 0A2 2 0 0 1 3.01 12.99a2 2 0 0 1-1.826-3.164a2 2 0 0 1 0-3.652A2 2 0 0 1 3.01 3.01a2 2 0 0 1 3.164-1.826zM8 1a1 1 0 0 0-.998 1.03l.01.091c.012.077.029.176.054.296c.049.241.122.542.213.887c.182.688.428 1.513.676 2.314L8 5.762l.045-.144c.248-.8.494-1.626.676-2.314c.091-.345.164-.646.213-.887a4.997 4.997 0 0 0 .064-.386L9 2a1 1 0 0 0-1-1zM2 9l.03-.002l.091-.01a4.99 4.99 0 0 0 .296-.054c.241-.049.542-.122.887-.213a60.59 60.59 0 0 0 2.314-.676L5.762 8l-.144-.045a60.59 60.59 0 0 0-2.314-.676a16.705 16.705 0 0 0-.887-.213a4.99 4.99 0 0 0-.386-.064L2 7a1 1 0 1 0 0 2zm7 5l-.002-.03a5.005 5.005 0 0 0-.064-.386a16.398 16.398 0 0 0-.213-.888a60.582 60.582 0 0 0-.676-2.314L8 10.238l-.045.144c-.248.8-.494 1.626-.676 2.314c-.091.345-.164.646-.213.887a4.996 4.996 0 0 0-.064.386L7 14a1 1 0 1 0 2 0zm-5.696-2.134l.025-.017a5.001 5.001 0 0 0 .303-.248c.184-.164.408-.377.661-.629A60.614 60.614 0 0 0 5.96 9.23l.103-.111l-.147.033a60.88 60.88 0 0 0-2.343.572c-.344.093-.64.18-.874.258a5.063 5.063 0 0 0-.367.138l-.027.014a1 1 0 1 0 1 1.732zM4.5 14.062a1 1 0 0 0 1.366-.366l.014-.027c.01-.02.021-.048.036-.084a5.09 5.09 0 0 0 .102-.283c.078-.233.165-.53.258-.874a60.6 60.6 0 0 0 .572-2.343l.033-.147l-.11.102a60.848 60.848 0 0 0-1.743 1.667a17.07 17.07 0 0 0-.629.66a5.06 5.06 0 0 0-.248.304l-.017.025a1 1 0 0 0 .366 1.366zm9.196-8.196a1 1 0 0 0-1-1.732l-.025.017a4.951 4.951 0 0 0-.303.248a16.69 16.69 0 0 0-.661.629A60.72 60.72 0 0 0 10.04 6.77l-.102.111l.147-.033a60.6 60.6 0 0 0 2.342-.572c.345-.093.642-.18.875-.258a4.993 4.993 0 0 0 .367-.138a.53.53 0 0 0 .027-.014zM11.5 1.938a1 1 0 0 0-1.366.366l-.014.027c-.01.02-.021.048-.036.084a5.09 5.09 0 0 0-.102.283c-.078.233-.165.53-.258.875a60.62 60.62 0 0 0-.572 2.342l-.033.147l.11-.102a60.848 60.848 0 0 0 1.743-1.667c.252-.253.465-.477.629-.66a5.001 5.001 0 0 0 .248-.304l.017-.025a1 1 0 0 0-.366-1.366zM14 9a1 1 0 0 0 0-2l-.03.002a4.996 4.996 0 0 0-.386.064c-.242.049-.543.122-.888.213c-.688.182-1.513.428-2.314.676L10.238 8l.144.045c.8.248 1.626.494 2.314.676c.345.091.646.164.887.213a4.996 4.996 0 0 0 .386.064L14 9zM1.938 4.5a1 1 0 0 0 .393 1.38l.084.035c.072.03.166.064.283.103c.233.078.53.165.874.258a60.88 60.88 0 0 0 2.343.572l.147.033l-.103-.111a60.584 60.584 0 0 0-1.666-1.742a16.705 16.705 0 0 0-.66-.629a4.996 4.996 0 0 0-.304-.248l-.025-.017a1 1 0 0 0-1.366.366zm2.196-1.196l.017.025a4.996 4.996 0 0 0 .248.303c.164.184.377.408.629.661A60.597 60.597 0 0 0 6.77 5.96l.111.102l-.033-.147a60.602 60.602 0 0 0-.572-2.342c-.093-.345-.18-.642-.258-.875a5.006 5.006 0 0 0-.138-.367l-.014-.027a1 1 0 1 0-1.732 1zm9.928 8.196a1 1 0 0 0-.366-1.366l-.027-.014a5 5 0 0 0-.367-.138c-.233-.078-.53-.165-.875-.258a60.619 60.619 0 0 0-2.342-.572l-.147-.033l.102.111a60.73 60.73 0 0 0 1.667 1.742c.253.252.477.465.66.629a4.946 4.946 0 0 0 .304.248l.025.017a1 1 0 0 0 1.366-.366zm-3.928 2.196a1 1 0 0 0 1.732-1l-.017-.025a5.065 5.065 0 0 0-.248-.303a16.705 16.705 0 0 0-.629-.661A60.462 60.462 0 0 0 9.23 10.04l-.111-.102l.033.147a60.6 60.6 0 0 0 .572 2.342c.093.345.18.642.258.875a4.985 4.985 0 0 0 .138.367a.575.575 0 0 0 .014.027zM8 9.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3z"},null,-1),D0=[R0];function P0(n,e){return K(),ee("svg",I0,[...D0])}const $0={name:"bi-flower1",render:P0},F0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},V0=V("path",{fill:"currentColor",d:"M12 4C6.486 4 2 8.486 2 14a9.89 9.89 0 0 0 1.051 4.445c.17.34.516.555.895.555h16.107c.379 0 .726-.215.896-.555A9.89 9.89 0 0 0 22 14c0-5.514-4.486-10-10-10zm7.41 13H4.59A7.875 7.875 0 0 1 4 14c0-4.411 3.589-8 8-8s8 3.589 8 8a7.875 7.875 0 0 1-.59 3z"},null,-1),L0=V("path",{fill:"currentColor",d:"M10.939 12.939a1.53 1.53 0 0 0 0 2.561a1.53 1.53 0 0 0 2.121-.44l3.962-6.038a.034.034 0 0 0 0-.035a.033.033 0 0 0-.045-.01l-6.038 3.962z"},null,-1),B0=[V0,L0];function q0(n,e){return K(),ee("svg",F0,[...B0])}const U0={name:"bx-tachometer",render:q0},j0={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},W0=V("path",{fill:"currentColor",d:"M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32 32 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32Zm-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Zm-90.9-86.87a8 8 0 0 1 15.18-5.06l8 24a8 8 0 0 1-15.18 5.06Zm-64 58.94a8 8 0 0 1 10.12-5.06l24 8a8 8 0 0 1-5.06 15.18l-24-8a8 8 0 0 1-5.06-10.12Zm207.18 69.06a8 8 0 0 1-10.12 5.06l-24-8a8 8 0 0 1 5.06-15.18l24 8a8 8 0 0 1 5.06 10.12Zm-64 58.94a8 8 0 0 1-15.18 5.06l-8-24a8 8 0 0 1 15.18-5.06Z"},null,-1),z0=[W0];function H0(n,e){return K(),ee("svg",j0,[...z0])}const G0={name:"ph-plugs-connected",render:H0},K0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Y0=V("path",{fill:"currentColor",d:"M22 7h-9v2h9V7zm0 8h-9v2h9v-2zM5.54 11L2 7.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41L5.54 11zm0 8L2 15.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41L5.54 19z"},null,-1),Z0=[Y0];function X0(n,e){return K(),ee("svg",K0,[...Z0])}const Q0={name:"ic-baseline-checklist",render:X0},J0={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},e1=V("path",{fill:"currentColor",d:"M20.844 2c-1.64 0-3.297.852-4.407 2.156v.032c-.789.98-1.644 2.527-1.375 4.312c-.128-.05-.136-.035-.28-.094c-.692-.281-1.548-.594-2.563-.594c-3.98 0-7 3.606-7 8.344c0 3.067 1.031 5.942 2.406 8.094c.688 1.078 1.469 1.965 2.281 2.625c.813.66 1.664 1.125 2.625 1.125c.961 0 1.68-.324 2.219-.563c.54-.238.957-.437 1.75-.437c.715 0 1.078.195 1.625.438c.547.242 1.293.562 2.281.562c1.07 0 1.98-.523 2.719-1.188c.738-.664 1.36-1.519 1.875-2.343c.516-.824.922-1.633 1.219-2.282c.148-.324.258-.593.343-.812c.086-.219.13-.281.188-.531l.188-.813l-.75-.343a5.33 5.33 0 0 1-1.5-1.063c-.625-.637-1.157-1.508-1.157-2.844A4.08 4.08 0 0 1 24.563 13c.265-.309.542-.563.75-.719c.105-.078.187-.117.25-.156c.062-.04.05-.027.156-.094l.843-.531l-.562-.844c-1.633-2.511-4.246-2.844-5.281-2.844c-.48 0-.82.168-1.25.25c.242-.226.554-.367.75-.624c.004-.004-.004-.028 0-.032c.011-.011.023-.02.031-.031h.031a6.16 6.16 0 0 0 1.563-4.438L21.78 2zm-1.188 2.313c-.172.66-.453 1.289-.906 1.78l-.063.063c-.382.516-.972.899-1.562 1.125c.164-.652.45-1.312.844-1.812c.008-.012.023-.02.031-.032c.438-.5 1.043-.875 1.656-1.125zm-7.437 5.5c.558 0 1.172.21 1.812.468c.64.258 1.239.594 2.094.594c.852 0 1.496-.336 2.25-.594c.754-.258 1.559-.469 2.344-.469c.523 0 1.816.333 2.906 1.344c-.191.172-.36.297-.563.531a6.21 6.21 0 0 0-1.53 4.094c0 1.906.831 3.34 1.718 4.25c.55.563.89.696 1.313.938c-.055.125-.086.222-.157.375a18.82 18.82 0 0 1-1.093 2.062c-.454.727-1.004 1.434-1.532 1.907c-.527.472-1 .687-1.375.687c-.566 0-.898-.156-1.468-.406S17.581 25 16.5 25c-1.137 0-1.977.336-2.563.594c-.585.258-.89.406-1.406.406c-.246 0-.777-.2-1.375-.688c-.597-.488-1.254-1.23-1.844-2.156c-1.183-1.851-2.093-4.394-2.093-7c0-3.941 2.199-6.343 5-6.343z"},null,-1),t1=[e1];function n1(n,e){return K(),ee("svg",J0,[...t1])}const s1={name:"la-apple",render:n1},i1={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},r1=V("path",{fill:"currentColor",d:"M16 4C9.385 4 4 9.385 4 16s5.385 12 12 12s12-5.385 12-12S22.615 4 16 4zm0 2a9.977 9.977 0 0 1 8.922 5.492l-6.807-.004A4.93 4.93 0 0 0 16 11c-1.625 0-3.06.796-3.975 2.006L8.44 9.459A9.966 9.966 0 0 1 16 6zm-8.367 4.523l3.387 5.87a5.015 5.015 0 0 0 4.369 4.566l-1.276 4.857A9.982 9.982 0 0 1 6 16a9.96 9.96 0 0 1 1.633-5.477zm17.808 2.202A9.986 9.986 0 0 1 16 26c-.186 0-.367-.017-.55-.027l3.392-5.871A4.998 4.998 0 0 0 21 16a4.96 4.96 0 0 0-.398-1.947l4.84-1.328zM16 13c1.671 0 3 1.329 3 3s-1.329 3-3 3s-3-1.329-3-3s1.329-3 3-3z"},null,-1),o1=[r1];function a1(n,e){return K(),ee("svg",i1,[...o1])}const c1={name:"la-chrome",render:a1},l1="/pc-keyboard.svg",Mf="14.8.49",rh=(n,e,t)=>({endTime:e,insertTime:t,type:"exponentialRampToValue",value:n}),oh=(n,e,t)=>({endTime:e,insertTime:t,type:"linearRampToValue",value:n}),$c=(n,e)=>({startTime:e,type:"setValue",value:n}),kf=(n,e,t)=>({duration:t,startTime:e,type:"setValueCurve",values:n}),Of=(n,e,{startTime:t,target:s,timeConstant:i})=>s+(e-s)*Math.exp((t-n)/i),gi=n=>n.type==="exponentialRampToValue",Vo=n=>n.type==="linearRampToValue",ls=n=>gi(n)||Vo(n),kl=n=>n.type==="setValue",Pn=n=>n.type==="setValueCurve",Lo=(n,e,t,s)=>{const i=n[e];return i===void 0?s:ls(i)||kl(i)?i.value:Pn(i)?i.values[i.values.length-1]:Of(t,Lo(n,e-1,i.startTime,s),i)},ah=(n,e,t,s,i)=>t===void 0?[s.insertTime,i]:ls(t)?[t.endTime,t.value]:kl(t)?[t.startTime,t.value]:Pn(t)?[t.startTime+t.duration,t.values[t.values.length-1]]:[t.startTime,Lo(n,e-1,t.startTime,i)],Fc=n=>n.type==="cancelAndHold",Vc=n=>n.type==="cancelScheduledValues",ts=n=>Fc(n)||Vc(n)?n.cancelTime:gi(n)||Vo(n)?n.endTime:n.startTime,ch=(n,e,t,{endTime:s,value:i})=>t===i?i:0t+(n-e)/(s-e)*(i-t),u1=(n,e)=>{const t=Math.floor(e),s=Math.ceil(e);return t===s?n[t]:(1-(e-t))*n[t]+(1-(s-e))*n[s]},h1=(n,{duration:e,startTime:t,values:s})=>{const i=(n-t)/e*(s.length-1);return u1(s,i)},ho=n=>n.type==="setTarget";class d1{constructor(e){this._automationEvents=[],this._currenTime=0,this._defaultValue=e}[Symbol.iterator](){return this._automationEvents[Symbol.iterator]()}add(e){const t=ts(e);if(Fc(e)||Vc(e)){const s=this._automationEvents.findIndex(r=>Vc(e)&&Pn(r)?r.startTime+r.duration>=t:ts(r)>=t),i=this._automationEvents[s];if(s!==-1&&(this._automationEvents=this._automationEvents.slice(0,s)),Fc(e)){const r=this._automationEvents[this._automationEvents.length-1];if(i!==void 0&&ls(i)){if(ho(r))throw new Error("The internal list is malformed.");const o=Pn(r)?r.startTime+r.duration:ts(r),a=Pn(r)?r.values[r.values.length-1]:r.value,c=gi(i)?ch(t,o,a,i):lh(t,o,a,i),l=gi(i)?rh(c,t,this._currenTime):oh(c,t,this._currenTime);this._automationEvents.push(l)}r!==void 0&&ho(r)&&this._automationEvents.push($c(this.getValue(t),t)),r!==void 0&&Pn(r)&&r.startTime+r.duration>t&&(this._automationEvents[this._automationEvents.length-1]=kf(new Float32Array([6,7]),r.startTime,t-r.startTime))}}else{const s=this._automationEvents.findIndex(o=>ts(o)>t),i=s===-1?this._automationEvents[this._automationEvents.length-1]:this._automationEvents[s-1];if(i!==void 0&&Pn(i)&&ts(i)+i.duration>t)return!1;const r=gi(e)?rh(e.value,e.endTime,this._currenTime):Vo(e)?oh(e.value,t,this._currenTime):e;if(s===-1)this._automationEvents.push(r);else{if(Pn(e)&&t+e.duration>ts(this._automationEvents[s]))return!1;this._automationEvents.splice(s,0,r)}}return!0}flush(e){const t=this._automationEvents.findIndex(s=>ts(s)>e);if(t>1){const s=this._automationEvents.slice(t-1),i=s[0];ho(i)&&s.unshift($c(Lo(this._automationEvents,t-2,i.startTime,this._defaultValue),i.startTime)),this._automationEvents=s}}getValue(e){if(this._automationEvents.length===0)return this._defaultValue;const t=this._automationEvents.findIndex(o=>ts(o)>e),s=this._automationEvents[t],i=(t===-1?this._automationEvents.length:t)-1,r=this._automationEvents[i];if(r!==void 0&&ho(r)&&(s===void 0||!ls(s)||s.insertTime>e))return Of(e,Lo(this._automationEvents,i-1,r.startTime,this._defaultValue),r);if(r!==void 0&&kl(r)&&(s===void 0||!ls(s)))return r.value;if(r!==void 0&&Pn(r)&&(s===void 0||!ls(s)||r.startTime+r.duration>e))return e({cancelTime:n,type:"cancelAndHold"}),p1=n=>({cancelTime:n,type:"cancelScheduledValues"}),m1=(n,e)=>({endTime:e,type:"exponentialRampToValue",value:n}),g1=(n,e)=>({endTime:e,type:"linearRampToValue",value:n}),_1=(n,e,t)=>({startTime:e,target:n,timeConstant:t,type:"setTarget"}),y1=()=>new DOMException("","AbortError"),v1=n=>(e,t,[s,i,r],o)=>{n(e[i],[t,s,r],a=>a[0]===t&&a[1]===s,o)},b1=n=>(e,t,s)=>{const i=[];for(let r=0;r(e,t)=>{n.set(e,{activeInputs:new Set,passiveInputs:new WeakMap,renderer:t})},ki=new WeakSet,If=new WeakMap,Ol=new WeakMap,Rf=new WeakMap,Il=new WeakMap,$a=new WeakMap,Df=new WeakMap,Lc=new WeakMap,Bc=new WeakMap,qc=new WeakMap,Pf={construct(){return Pf}},x1=n=>{try{const e=new Proxy(n,Pf);new e}catch{return!1}return!0},uh=/^import(?:(?:[\s]+[\w]+|(?:[\s]+[\w]+[\s]*,)?[\s]*\{[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?(?:[\s]*,[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?)*[\s]*}|(?:[\s]+[\w]+[\s]*,)?[\s]*\*[\s]+as[\s]+[\w]+)[\s]+from)?(?:[\s]*)("([^"\\]|\\.)+"|'([^'\\]|\\.)+')(?:[\s]*);?/,hh=(n,e)=>{const t=[];let s=n.replace(/^[\s]+/,""),i=s.match(uh);for(;i!==null;){const r=i[1].slice(1,-1),o=i[0].replace(/([\s]+)?;?$/,"").replace(r,new URL(r,e).toString());t.push(o),s=s.slice(i[0].length).replace(/^[\s]+/,""),i=s.match(uh)}return[t.join(";"),s]},dh=n=>{if(n!==void 0&&!Array.isArray(n))throw new TypeError("The parameterDescriptors property of given value for processorCtor is not an array.")},fh=n=>{if(!x1(n))throw new TypeError("The given value for processorCtor should be a constructor.");if(n.prototype===null||typeof n.prototype!="object")throw new TypeError("The given value for processorCtor should have a prototype.")},T1=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>{let f=0;return(p,m,_={credentials:"omit"})=>{const g=u.get(p);if(g!==void 0&&g.has(m))return Promise.resolve();const y=l.get(p);if(y!==void 0){const v=y.get(m);if(v!==void 0)return v}const S=r(p),w=S.audioWorklet===void 0?i(m).then(([v,A])=>{const[N,T]=hh(v,A),R=`${N};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${T} -})})(window,'_AWGS')`;return t(R)}).then(()=>{const v=d._AWGS.pop();if(v===void 0)throw new SyntaxError;s(S.currentTime,S.sampleRate,()=>v(class{},void 0,(A,N)=>{if(A.trim()==="")throw e();const T=Bc.get(S);if(T!==void 0){if(T.has(A))throw e();fh(N),dh(N.parameterDescriptors),T.set(A,N)}else fh(N),dh(N.parameterDescriptors),Bc.set(S,new Map([[A,N]]))},S.sampleRate,void 0,void 0))}):Promise.all([i(m),Promise.resolve(n(h,h))]).then(([[v,A],N])=>{const T=f+1;f=T;const[R,O]=hh(v,A),z=`${R};((AudioWorkletProcessor,registerProcessor)=>{${O} -})(${N?"AudioWorkletProcessor":"class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}"},(n,p)=>registerProcessor(n,class extends p{${N?"":"__c = (a) => a.forEach(e=>this.__b.add(e.buffer));"}process(i,o,p){${N?"":"i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));"}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${T}',class extends AudioWorkletProcessor{process(){return !1}})`,ne=new Blob([z],{type:"application/javascript; charset=utf-8"}),X=URL.createObjectURL(ne);return S.audioWorklet.addModule(X,_).then(()=>{if(a(S))return S;const Z=o(S);return Z.audioWorklet.addModule(X,_).then(()=>Z)}).then(Z=>{if(c===null)throw new SyntaxError;try{new c(Z,`__sac${T}`)}catch{throw new SyntaxError}}).finally(()=>URL.revokeObjectURL(X))});return y===void 0?l.set(p,new Map([[m,w]])):y.set(m,w),w.then(()=>{const v=u.get(p);v===void 0?u.set(p,new Set([m])):v.add(m)}).finally(()=>{const v=l.get(p);v!==void 0&&v.delete(m)}),w}},rn=(n,e)=>{const t=n.get(e);if(t===void 0)throw new Error("A value with the given key could not be found.");return t},Fa=(n,e)=>{const t=Array.from(n).filter(e);if(t.length>1)throw Error("More than one element was found.");if(t.length===0)throw Error("No element was found.");const[s]=t;return n.delete(s),s},$f=(n,e,t,s)=>{const i=rn(n,e),r=Fa(i,o=>o[0]===t&&o[1]===s);return i.size===0&&n.delete(e),r},zr=n=>rn(Df,n),Oi=n=>{if(ki.has(n))throw new Error("The AudioNode is already stored.");ki.add(n),zr(n).forEach(e=>e(!0))},Ff=n=>"port"in n,Hr=n=>{if(!ki.has(n))throw new Error("The AudioNode is not stored.");ki.delete(n),zr(n).forEach(e=>e(!1))},Uc=(n,e)=>{!Ff(n)&&e.every(t=>t.size===0)&&Hr(n)},E1=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>{const f=new WeakMap;return(p,m,_,g,y)=>{const{activeInputs:S,passiveInputs:w}=r(m),{outputs:v}=r(p),A=a(p),N=T=>{const R=c(m),O=c(p);if(T){const P=$f(w,p,_,g);n(S,p,P,!1),!y&&!h(p)&&t(O,R,_,g),d(m)&&Oi(m)}else{const P=s(S,p,_,g);e(w,g,P,!1),!y&&!h(p)&&i(O,R,_,g);const M=o(m);if(M===0)u(m)&&Uc(m,S);else{const F=f.get(m);F!==void 0&&clearTimeout(F),f.set(m,setTimeout(()=>{u(m)&&Uc(m,S)},M*1e3))}}};return l(v,[m,_,g],T=>T[0]===m&&T[1]===_&&T[2]===g,!0)?(A.add(N),u(p)?n(S,p,[_,g,N],!0):e(w,g,[p,_,N],!0),!0):!1}},S1=n=>(e,t,[s,i,r],o)=>{const a=e.get(s);a===void 0?e.set(s,new Set([[i,t,r]])):n(a,[i,t,r],c=>c[0]===i&&c[1]===t,o)},C1=n=>(e,t)=>{const s=n(e,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});t.connect(s).connect(e.destination);const i=()=>{t.removeEventListener("ended",i),t.disconnect(s),s.disconnect()};t.addEventListener("ended",i)},A1=n=>(e,t)=>{n(e).add(t)},N1={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",fftSize:2048,maxDecibels:-30,minDecibels:-100,smoothingTimeConstant:.8},M1=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...N1,...c},h=s(l,u),d=r(l)?e():null;super(a,!1,h,d),this._nativeAnalyserNode=h}get fftSize(){return this._nativeAnalyserNode.fftSize}set fftSize(a){this._nativeAnalyserNode.fftSize=a}get frequencyBinCount(){return this._nativeAnalyserNode.frequencyBinCount}get maxDecibels(){return this._nativeAnalyserNode.maxDecibels}set maxDecibels(a){const c=this._nativeAnalyserNode.maxDecibels;if(this._nativeAnalyserNode.maxDecibels=a,!(a>this._nativeAnalyserNode.minDecibels))throw this._nativeAnalyserNode.maxDecibels=c,t()}get minDecibels(){return this._nativeAnalyserNode.minDecibels}set minDecibels(a){const c=this._nativeAnalyserNode.minDecibels;if(this._nativeAnalyserNode.minDecibels=a,!(this._nativeAnalyserNode.maxDecibels>a))throw this._nativeAnalyserNode.minDecibels=c,t()}get smoothingTimeConstant(){return this._nativeAnalyserNode.smoothingTimeConstant}set smoothingTimeConstant(a){this._nativeAnalyserNode.smoothingTimeConstant=a}getByteFrequencyData(a){this._nativeAnalyserNode.getByteFrequencyData(a)}getByteTimeDomainData(a){this._nativeAnalyserNode.getByteTimeDomainData(a)}getFloatFrequencyData(a){this._nativeAnalyserNode.getFloatFrequencyData(a)}getFloatTimeDomainData(a){this._nativeAnalyserNode.getFloatTimeDomainData(a)}},wt=(n,e)=>n.context===e,k1=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,fftSize:a.fftSize,maxDecibels:a.maxDecibels,minDecibels:a.minDecibels,smoothingTimeConstant:a.smoothingTimeConstant};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Bo=n=>{try{n.copyToChannel(new Float32Array(1),0,-1)}catch{return!1}return!0},Nn=()=>new DOMException("","IndexSizeError"),Rl=n=>{n.getChannelData=(e=>t=>{try{return e.call(n,t)}catch(s){throw s.code===12?Nn():s}})(n.getChannelData)},O1={numberOfChannels:1},I1=(n,e,t,s,i,r,o,a)=>{let c=null;return class Vf{constructor(u){if(i===null)throw new Error("Missing the native OfflineAudioContext constructor.");const{length:h,numberOfChannels:d,sampleRate:f}={...O1,...u};c===null&&(c=new i(1,1,44100));const p=s!==null&&e(r,r)?new s({length:h,numberOfChannels:d,sampleRate:f}):c.createBuffer(d,h,f);if(p.numberOfChannels===0)throw t();return typeof p.copyFromChannel!="function"?(o(p),Rl(p)):e(Bo,()=>Bo(p))||a(p),n.add(p),p}static[Symbol.hasInstance](u){return u!==null&&typeof u=="object"&&Object.getPrototypeOf(u)===Vf.prototype||n.has(u)}}},Nt=-34028234663852886e22,Tt=-Nt,Vn=n=>ki.has(n),R1={buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1},D1=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...R1,...u},f=i(h,d),p=o(h),m=p?e():null;super(l,!1,f,m),this._audioBufferSourceNodeRenderer=m,this._isBufferNullified=!1,this._isBufferSet=d.buffer!==null,this._nativeAudioBufferSourceNode=f,this._onended=null,this._playbackRate=t(this,p,f.playbackRate,Tt,Nt)}get buffer(){return this._isBufferNullified?null:this._nativeAudioBufferSourceNode.buffer}set buffer(l){if(this._nativeAudioBufferSourceNode.buffer=l,l!==null){if(this._isBufferSet)throw s();this._isBufferSet=!0}}get loop(){return this._nativeAudioBufferSourceNode.loop}set loop(l){this._nativeAudioBufferSourceNode.loop=l}get loopEnd(){return this._nativeAudioBufferSourceNode.loopEnd}set loopEnd(l){this._nativeAudioBufferSourceNode.loopEnd=l}get loopStart(){return this._nativeAudioBufferSourceNode.loopStart}set loopStart(l){this._nativeAudioBufferSourceNode.loopStart=l}get onended(){return this._onended}set onended(l){const u=typeof l=="function"?a(this,l):null;this._nativeAudioBufferSourceNode.onended=u;const h=this._nativeAudioBufferSourceNode.onended;this._onended=h!==null&&h===u?l:h}get playbackRate(){return this._playbackRate}start(l=0,u=0,h){if(this._nativeAudioBufferSourceNode.start(l,u,h),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.start=h===void 0?[l,u]:[l,u,h]),this.context.state!=="closed"){Oi(this);const d=()=>{this._nativeAudioBufferSourceNode.removeEventListener("ended",d),Vn(this)&&Hr(this)};this._nativeAudioBufferSourceNode.addEventListener("ended",d)}}stop(l=0){this._nativeAudioBufferSourceNode.stop(l),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.stop=l)}},P1=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=wt(h,u);if(!d){const f={buffer:h.buffer,channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,loop:h.loop,loopEnd:h.loopEnd,loopStart:h.loopStart,playbackRate:h.playbackRate.value};h=e(u,f),o!==null&&h.start(...o),a!==null&&h.stop(a)}return r.set(u,h),d?await n(u,l.playbackRate,h.playbackRate):await s(u,l.playbackRate,h.playbackRate),await i(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=r.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},$1=n=>"playbackRate"in n,F1=n=>"frequency"in n&&"gain"in n,V1=n=>"offset"in n,L1=n=>!("frequency"in n)&&"gain"in n,B1=n=>"detune"in n&&"frequency"in n,q1=n=>"pan"in n,Et=n=>rn(If,n),Gr=n=>rn(Rf,n),jc=(n,e)=>{const{activeInputs:t}=Et(n);t.forEach(i=>i.forEach(([r])=>{e.includes(n)||jc(r,[...e,n])}));const s=$1(n)?[n.playbackRate]:Ff(n)?Array.from(n.parameters.values()):F1(n)?[n.Q,n.detune,n.frequency,n.gain]:V1(n)?[n.offset]:L1(n)?[n.gain]:B1(n)?[n.detune,n.frequency]:q1(n)?[n.pan]:[];for(const i of s){const r=Gr(i);r!==void 0&&r.activeInputs.forEach(([o])=>jc(o,e))}Vn(n)&&Hr(n)},Lf=n=>{jc(n.destination,[])},U1=n=>n===void 0||typeof n=="number"||typeof n=="string"&&(n==="balanced"||n==="interactive"||n==="playback"),j1=(n,e,t,s,i,r,o,a,c)=>class extends n{constructor(u={}){if(c===null)throw new Error("Missing the native AudioContext constructor.");let h;try{h=new c(u)}catch(p){throw p.code===12&&p.message==="sampleRate is not in range"?t():p}if(h===null)throw s();if(!U1(u.latencyHint))throw new TypeError(`The provided value '${u.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`);if(u.sampleRate!==void 0&&h.sampleRate!==u.sampleRate)throw t();super(h,2);const{latencyHint:d}=u,{sampleRate:f}=h;if(this._baseLatency=typeof h.baseLatency=="number"?h.baseLatency:d==="balanced"?512/f:d==="interactive"||d===void 0?256/f:d==="playback"?1024/f:Math.max(2,Math.min(128,Math.round(d*f/128)))*128/f,this._nativeAudioContext=h,c.name==="webkitAudioContext"?(this._nativeGainNode=h.createGain(),this._nativeOscillatorNode=h.createOscillator(),this._nativeGainNode.gain.value=1e-37,this._nativeOscillatorNode.connect(this._nativeGainNode).connect(h.destination),this._nativeOscillatorNode.start()):(this._nativeGainNode=null,this._nativeOscillatorNode=null),this._state=null,h.state==="running"){this._state="suspended";const p=()=>{this._state==="suspended"&&(this._state=null),h.removeEventListener("statechange",p)};h.addEventListener("statechange",p)}}get baseLatency(){return this._baseLatency}get state(){return this._state!==null?this._state:this._nativeAudioContext.state}close(){return this.state==="closed"?this._nativeAudioContext.close().then(()=>{throw e()}):(this._state==="suspended"&&(this._state=null),this._nativeAudioContext.close().then(()=>{this._nativeGainNode!==null&&this._nativeOscillatorNode!==null&&(this._nativeOscillatorNode.stop(),this._nativeGainNode.disconnect(),this._nativeOscillatorNode.disconnect()),Lf(this)}))}createMediaElementSource(u){return new i(this,{mediaElement:u})}createMediaStreamDestination(){return new r(this)}createMediaStreamSource(u){return new o(this,{mediaStream:u})}createMediaStreamTrackSource(u){return new a(this,{mediaStreamTrack:u})}resume(){return this._state==="suspended"?new Promise((u,h)=>{const d=()=>{this._nativeAudioContext.removeEventListener("statechange",d),this._nativeAudioContext.state==="running"?u():this.resume().then(u,h)};this._nativeAudioContext.addEventListener("statechange",d)}):this._nativeAudioContext.resume().catch(u=>{throw u===void 0||u.code===15?e():u})}suspend(){return this._nativeAudioContext.suspend().catch(u=>{throw u===void 0?e():u})}},W1=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d=o(h),f=i(h,u,d),p=d?e(a):null;super(l,!1,f,p),this._isNodeOfNativeOfflineAudioContext=d,this._nativeAudioDestinationNode=f}get channelCount(){return this._nativeAudioDestinationNode.channelCount}set channelCount(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();if(l>this._nativeAudioDestinationNode.maxChannelCount)throw t();this._nativeAudioDestinationNode.channelCount=l}get channelCountMode(){return this._nativeAudioDestinationNode.channelCountMode}set channelCountMode(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();this._nativeAudioDestinationNode.channelCountMode=l}get maxChannelCount(){return this._nativeAudioDestinationNode.maxChannelCount}},z1=n=>{const e=new WeakMap,t=async(s,i)=>{const r=i.destination;return e.set(i,r),await n(s,i,r),r};return{render(s,i){const r=e.get(i);return r!==void 0?Promise.resolve(r):t(s,i)}}},H1=(n,e,t,s,i,r,o,a)=>(c,l)=>{const u=l.listener,h=()=>{const v=new Float32Array(1),A=e(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:9}),N=o(l);let T=!1,R=[0,0,-1,0,1,0],O=[0,0,0];const P=()=>{if(T)return;T=!0;const ne=s(l,256,9,0);ne.onaudioprocess=({inputBuffer:X})=>{const Z=[r(X,v,0),r(X,v,1),r(X,v,2),r(X,v,3),r(X,v,4),r(X,v,5)];Z.some((ce,me)=>ce!==R[me])&&(u.setOrientation(...Z),R=Z);const te=[r(X,v,6),r(X,v,7),r(X,v,8)];te.some((ce,me)=>ce!==O[me])&&(u.setPosition(...te),O=te)},A.connect(ne)},M=ne=>X=>{X!==R[ne]&&(R[ne]=X,u.setOrientation(...R))},F=ne=>X=>{X!==O[ne]&&(O[ne]=X,u.setPosition(...O))},z=(ne,X,Z)=>{const te=t(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:X});te.connect(A,0,ne),te.start(),Object.defineProperty(te.offset,"defaultValue",{get(){return X}});const ce=n({context:c},N,te.offset,Tt,Nt);return a(ce,"value",me=>()=>me.call(ce),me=>ue=>{try{me.call(ce,ue)}catch(ye){if(ye.code!==9)throw ye}P(),N&&Z(ue)}),ce.cancelAndHoldAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.cancelAndHoldAtTime),ce.cancelScheduledValues=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.cancelScheduledValues),ce.exponentialRampToValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.exponentialRampToValueAtTime),ce.linearRampToValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.linearRampToValueAtTime),ce.setTargetAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.setTargetAtTime),ce.setValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.setValueAtTime),ce.setValueCurveAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.setValueCurveAtTime),ce};return{forwardX:z(0,0,M(0)),forwardY:z(1,0,M(1)),forwardZ:z(2,-1,M(2)),positionX:z(6,0,F(0)),positionY:z(7,0,F(1)),positionZ:z(8,0,F(2)),upX:z(3,0,M(3)),upY:z(4,1,M(4)),upZ:z(5,0,M(5))}},{forwardX:d,forwardY:f,forwardZ:p,positionX:m,positionY:_,positionZ:g,upX:y,upY:S,upZ:w}=u.forwardX===void 0?h():u;return{get forwardX(){return d},get forwardY(){return f},get forwardZ(){return p},get positionX(){return m},get positionY(){return _},get positionZ(){return g},get upX(){return y},get upY(){return S},get upZ(){return w}}},qo=n=>"context"in n,Kr=n=>qo(n[0]),ti=(n,e,t,s)=>{for(const i of n)if(t(i)){if(s)return!1;throw Error("The set contains at least one similar element.")}return n.add(e),!0},ph=(n,e,[t,s],i)=>{ti(n,[e,t,s],r=>r[0]===e&&r[1]===t,i)},mh=(n,[e,t,s],i)=>{const r=n.get(e);r===void 0?n.set(e,new Set([[t,s]])):ti(r,[t,s],o=>o[0]===t,i)},Gi=n=>"inputs"in n,Uo=(n,e,t,s)=>{if(Gi(e)){const i=e.inputs[s];return n.connect(i,t,0),[i,t,0]}return n.connect(e,t,s),[e,t,s]},Bf=(n,e,t)=>{for(const s of n)if(s[0]===e&&s[1]===t)return n.delete(s),s;return null},G1=(n,e,t)=>Fa(n,s=>s[0]===e&&s[1]===t),qf=(n,e)=>{if(!zr(n).delete(e))throw new Error("Missing the expected event listener.")},Uf=(n,e,t)=>{const s=rn(n,e),i=Fa(s,r=>r[0]===t);return s.size===0&&n.delete(e),i},jo=(n,e,t,s)=>{Gi(e)?n.disconnect(e.inputs[s],t,0):n.disconnect(e,t,s)},Ge=n=>rn(Ol,n),wr=n=>rn(Il,n),Ys=n=>Lc.has(n),Eo=n=>!ki.has(n),gh=(n,e)=>new Promise(t=>{if(e!==null)t(!0);else{const s=n.createScriptProcessor(256,1,1),i=n.createGain(),r=n.createBuffer(1,2,44100),o=r.getChannelData(0);o[0]=1,o[1]=1;const a=n.createBufferSource();a.buffer=r,a.loop=!0,a.connect(s).connect(n.destination),a.connect(i),a.disconnect(i),s.onaudioprocess=c=>{const l=c.inputBuffer.getChannelData(0);Array.prototype.some.call(l,u=>u===1)?t(!0):t(!1),a.stop(),s.onaudioprocess=null,a.disconnect(s),s.disconnect(n.destination)},a.start()}}),pc=(n,e)=>{const t=new Map;for(const s of n)for(const i of s){const r=t.get(i);t.set(i,r===void 0?1:r+1)}t.forEach((s,i)=>e(i,s))},Wo=n=>"context"in n,K1=n=>{const e=new Map;n.connect=(t=>(s,i=0,r=0)=>{const o=Wo(s)?t(s,i,r):t(s,i),a=e.get(s);return a===void 0?e.set(s,[{input:r,output:i}]):a.every(c=>c.input!==r||c.output!==i)&&a.push({input:r,output:i}),o})(n.connect.bind(n)),n.disconnect=(t=>(s,i,r)=>{if(t.apply(n),s===void 0)e.clear();else if(typeof s=="number")for(const[o,a]of e){const c=a.filter(l=>l.output!==s);c.length===0?e.delete(o):e.set(o,c)}else if(e.has(s))if(i===void 0)e.delete(s);else{const o=e.get(s);if(o!==void 0){const a=o.filter(c=>c.output!==i&&(c.input!==r||r===void 0));a.length===0?e.delete(s):e.set(s,a)}}for(const[o,a]of e)a.forEach(c=>{Wo(o)?n.connect(o,c.output,c.input):n.connect(o,c.output)})})(n.disconnect)},Y1=(n,e,t,s)=>{const{activeInputs:i,passiveInputs:r}=Gr(e),{outputs:o}=Et(n),a=zr(n),c=l=>{const u=Ge(n),h=wr(e);if(l){const d=Uf(r,n,t);ph(i,n,d,!1),!s&&!Ys(n)&&u.connect(h,t)}else{const d=G1(i,n,t);mh(r,d,!1),!s&&!Ys(n)&&u.disconnect(h,t)}};return ti(o,[e,t],l=>l[0]===e&&l[1]===t,!0)?(a.add(c),Vn(n)?ph(i,n,[t,c],!0):mh(r,[n,t,c],!0),!0):!1},Z1=(n,e,t,s)=>{const{activeInputs:i,passiveInputs:r}=Et(e),o=Bf(i[s],n,t);return o===null?[$f(r,n,t,s)[2],!1]:[o[2],!0]},X1=(n,e,t)=>{const{activeInputs:s,passiveInputs:i}=Gr(e),r=Bf(s,n,t);return r===null?[Uf(i,n,t)[1],!1]:[r[2],!0]},Dl=(n,e,t,s,i)=>{const[r,o]=Z1(n,t,s,i);if(r!==null&&(qf(n,r),o&&!e&&!Ys(n)&&jo(Ge(n),Ge(t),s,i)),Vn(t)){const{activeInputs:a}=Et(t);Uc(t,a)}},Pl=(n,e,t,s)=>{const[i,r]=X1(n,t,s);i!==null&&(qf(n,i),r&&!e&&!Ys(n)&&Ge(n).disconnect(wr(t),s))},Q1=(n,e)=>{const t=Et(n),s=[];for(const i of t.outputs)Kr(i)?Dl(n,e,...i):Pl(n,e,...i),s.push(i[0]);return t.outputs.clear(),s},J1=(n,e,t)=>{const s=Et(n),i=[];for(const r of s.outputs)r[1]===t&&(Kr(r)?Dl(n,e,...r):Pl(n,e,...r),i.push(r[0]),s.outputs.delete(r));return i},ey=(n,e,t,s,i)=>{const r=Et(n);return Array.from(r.outputs).filter(o=>o[0]===t&&(s===void 0||o[1]===s)&&(i===void 0||o[2]===i)).map(o=>(Kr(o)?Dl(n,e,...o):Pl(n,e,...o),r.outputs.delete(o),o[0]))},ty=(n,e,t,s,i,r,o,a,c,l,u,h,d,f,p,m)=>class extends l{constructor(g,y,S,w){super(S),this._context=g,this._nativeAudioNode=S;const v=u(g);h(v)&&t(gh,()=>gh(v,m))!==!0&&K1(S),Ol.set(this,S),Df.set(this,new Set),g.state!=="closed"&&y&&Oi(this),n(this,w,S)}get channelCount(){return this._nativeAudioNode.channelCount}set channelCount(g){this._nativeAudioNode.channelCount=g}get channelCountMode(){return this._nativeAudioNode.channelCountMode}set channelCountMode(g){this._nativeAudioNode.channelCountMode=g}get channelInterpretation(){return this._nativeAudioNode.channelInterpretation}set channelInterpretation(g){this._nativeAudioNode.channelInterpretation=g}get context(){return this._context}get numberOfInputs(){return this._nativeAudioNode.numberOfInputs}get numberOfOutputs(){return this._nativeAudioNode.numberOfOutputs}connect(g,y=0,S=0){if(y<0||y>=this._nativeAudioNode.numberOfOutputs)throw i();const w=u(this._context),v=p(w);if(d(g)||f(g))throw r();if(qo(g)){const T=Ge(g);try{const O=Uo(this._nativeAudioNode,T,y,S),P=Eo(this);(v||P)&&this._nativeAudioNode.disconnect(...O),this.context.state!=="closed"&&!P&&Eo(g)&&Oi(g)}catch(O){throw O.code===12?r():O}if(e(this,g,y,S,v)){const O=c([this],g);pc(O,s(v))}return g}const A=wr(g);if(A.name==="playbackRate"&&A.maxValue===1024)throw o();try{this._nativeAudioNode.connect(A,y),(v||Eo(this))&&this._nativeAudioNode.disconnect(A,y)}catch(T){throw T.code===12?r():T}if(Y1(this,g,y,v)){const T=c([this],g);pc(T,s(v))}}disconnect(g,y,S){let w;const v=u(this._context),A=p(v);if(g===void 0)w=Q1(this,A);else if(typeof g=="number"){if(g<0||g>=this.numberOfOutputs)throw i();w=J1(this,A,g)}else{if(y!==void 0&&(y<0||y>=this.numberOfOutputs)||qo(g)&&S!==void 0&&(S<0||S>=g.numberOfInputs))throw i();if(w=ey(this,A,g,y,S),w.length===0)throw r()}for(const N of w){const T=c([this],N);pc(T,a)}}},ny=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>(f,p,m,_=null,g=null)=>{const y=new d1(m.defaultValue),S=p?s(y):null,w={get defaultValue(){return m.defaultValue},get maxValue(){return _===null?m.maxValue:_},get minValue(){return g===null?m.minValue:g},get value(){return m.value},set value(v){m.value=v,w.setValueAtTime(v,f.context.currentTime)},cancelAndHoldAtTime(v){if(typeof m.cancelAndHoldAtTime=="function")S===null&&y.flush(f.context.currentTime),y.add(i(v)),m.cancelAndHoldAtTime(v);else{const A=Array.from(y).pop();S===null&&y.flush(f.context.currentTime),y.add(i(v));const N=Array.from(y).pop();m.cancelScheduledValues(v),A!==N&&N!==void 0&&(N.type==="exponentialRampToValue"?m.exponentialRampToValueAtTime(N.value,N.endTime):N.type==="linearRampToValue"?m.linearRampToValueAtTime(N.value,N.endTime):N.type==="setValue"?m.setValueAtTime(N.value,N.startTime):N.type==="setValueCurve"&&m.setValueCurveAtTime(N.values,N.startTime,N.duration))}return w},cancelScheduledValues(v){return S===null&&y.flush(f.context.currentTime),y.add(r(v)),m.cancelScheduledValues(v),w},exponentialRampToValueAtTime(v,A){if(v===0)throw new RangeError;if(!Number.isFinite(A)||A<0)throw new RangeError;return S===null&&y.flush(f.context.currentTime),y.add(o(v,A)),m.exponentialRampToValueAtTime(v,A),w},linearRampToValueAtTime(v,A){return S===null&&y.flush(f.context.currentTime),y.add(a(v,A)),m.linearRampToValueAtTime(v,A),w},setTargetAtTime(v,A,N){return S===null&&y.flush(f.context.currentTime),y.add(c(v,A,N)),m.setTargetAtTime(v,A,N),w},setValueAtTime(v,A){return S===null&&y.flush(f.context.currentTime),y.add(l(v,A)),m.setValueAtTime(v,A),w},setValueCurveAtTime(v,A,N){const T=v instanceof Float32Array?v:new Float32Array(v);if(h!==null&&h.name==="webkitAudioContext"){const R=A+N,O=f.context.sampleRate,P=Math.ceil(A*O),M=Math.floor(R*O),F=M-P,z=new Float32Array(F);for(let X=0;X({replay(e){for(const t of n)if(t.type==="exponentialRampToValue"){const{endTime:s,value:i}=t;e.exponentialRampToValueAtTime(i,s)}else if(t.type==="linearRampToValue"){const{endTime:s,value:i}=t;e.linearRampToValueAtTime(i,s)}else if(t.type==="setTarget"){const{startTime:s,target:i,timeConstant:r}=t;e.setTargetAtTime(i,s,r)}else if(t.type==="setValue"){const{startTime:s,value:i}=t;e.setValueAtTime(i,s)}else if(t.type==="setValueCurve"){const{duration:s,startTime:i,values:r}=t;e.setValueCurveAtTime(r,i,s)}else throw new Error("Can't apply an unknown automation.")}});class jf{constructor(e){this._map=new Map(e)}get size(){return this._map.size}entries(){return this._map.entries()}forEach(e,t=null){return this._map.forEach((s,i)=>e.call(t,s,i,this))}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){return this._map.keys()}values(){return this._map.values()}}const iy={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:1,numberOfOutputs:1,parameterData:{},processorOptions:{}},ry=(n,e,t,s,i,r,o,a,c,l,u,h,d,f)=>class extends e{constructor(m,_,g){var y;const S=a(m),w=c(S),v=u({...iy,...g});d(v);const A=Bc.get(S),N=A==null?void 0:A.get(_),T=w||S.state!=="closed"?S:(y=o(S))!==null&&y!==void 0?y:S,R=i(T,w?null:m.baseLatency,l,_,N,v),O=w?s(_,v,N):null;super(m,!0,R,O);const P=[];R.parameters.forEach((F,z)=>{const ne=t(this,w,F);P.push([z,ne])}),this._nativeAudioWorkletNode=R,this._onprocessorerror=null,this._parameters=new jf(P),w&&n(S,this);const{activeInputs:M}=r(this);h(R,M)}get onprocessorerror(){return this._onprocessorerror}set onprocessorerror(m){const _=typeof m=="function"?f(this,m):null;this._nativeAudioWorkletNode.onprocessorerror=_;const g=this._nativeAudioWorkletNode.onprocessorerror;this._onprocessorerror=g!==null&&g===_?m:g}get parameters(){return this._parameters===null?this._nativeAudioWorkletNode.parameters:this._parameters}get port(){return this._nativeAudioWorkletNode.port}};function zo(n,e,t,s,i){if(typeof n.copyFromChannel=="function")e[t].byteLength===0&&(e[t]=new Float32Array(128)),n.copyFromChannel(e[t],s,i);else{const r=n.getChannelData(s);if(e[t].byteLength===0)e[t]=r.slice(i,i+128);else{const o=new Float32Array(r.buffer,i*Float32Array.BYTES_PER_ELEMENT,128);e[t].set(o)}}}const Wf=(n,e,t,s,i)=>{typeof n.copyToChannel=="function"?e[t].byteLength!==0&&n.copyToChannel(e[t],s,i):e[t].byteLength!==0&&n.getChannelData(s).set(e[t],i)},Ho=(n,e)=>{const t=[];for(let s=0;s{const t=rn(qc,n),s=Ge(e);return rn(t,s)},ay=async(n,e,t,s,i,r,o)=>{const a=e===null?Math.ceil(n.context.length/128)*128:e.length,c=s.channelCount*s.numberOfInputs,l=i.reduce((_,g)=>_+g,0),u=l===0?null:t.createBuffer(l,a,t.sampleRate);if(r===void 0)throw new Error("Missing the processor constructor.");const h=Et(n),d=await oy(t,n),f=Ho(s.numberOfInputs,s.channelCount),p=Ho(s.numberOfOutputs,i),m=Array.from(n.parameters.keys()).reduce((_,g)=>({..._,[g]:new Float32Array(128)}),{});for(let _=0;_0&&e!==null)for(let g=0;g{zo(e,m,g,c+y,_)});for(let g=0;gh.activeInputs[w].size===0?[]:S),y=o(_/t.sampleRate,t.sampleRate,()=>d.process(g,p,m));if(u!==null)for(let S=0,w=0;S(_,g,y)=>{const S=new WeakMap;let w=null;const v=async(A,N)=>{let T=u(A),R=null;const O=wt(T,N),P=Array.isArray(g.outputChannelCount)?g.outputChannelCount:Array.from(g.outputChannelCount);if(h===null){const M=P.reduce((X,Z)=>X+Z,0),F=i(N,{channelCount:Math.max(1,M),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,M)}),z=[];for(let X=0;X{const ue=new d(ce,Math.ceil(A.context.length/128)*128,N.sampleRate),ye=[],st=[];for(let we=0;we{const $=r(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:we.value});return await f(ue,we,$.offset),$})),be=s(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,Z+te)});for(let we=0;wep(A,ue,we))),m(ue)})(),N,g,P,y,l)}const M=await w,F=t(N,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),[z,ne,X]=R;M!==null&&(F.buffer=M,F.start(0)),F.connect(z);for(let Z=0,te=0;Zclass extends p{constructor(v,A){super(v,A),this._nativeContext=v,this._audioWorklet=n===void 0?void 0:{addModule:(N,T)=>n(this,N,T)}}get audioWorklet(){return this._audioWorklet}createAnalyser(){return new e(this)}createBiquadFilter(){return new i(this)}createBuffer(v,A,N){return new t({length:A,numberOfChannels:v,sampleRate:N})}createBufferSource(){return new s(this)}createChannelMerger(v=6){return new r(this,{numberOfInputs:v})}createChannelSplitter(v=6){return new o(this,{numberOfOutputs:v})}createConstantSource(){return new a(this)}createConvolver(){return new c(this)}createDelay(v=1){return new u(this,{maxDelayTime:v})}createDynamicsCompressor(){return new h(this)}createGain(){return new d(this)}createIIRFilter(v,A){return new f(this,{feedback:A,feedforward:v})}createOscillator(){return new m(this)}createPanner(){return new _(this)}createPeriodicWave(v,A,N={disableNormalization:!1}){return new g(this,{...N,imag:A,real:v})}createStereoPanner(){return new y(this)}createWaveShaper(){return new S(this)}decodeAudioData(v,A,N){return l(this._nativeContext,v).then(T=>(typeof A=="function"&&A(T),T),T=>{throw typeof N=="function"&&N(T),T})}},uy={Q:1,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:350,gain:0,type:"lowpass"},hy=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...uy,...u},f=i(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._Q=e(this,p,f.Q,Tt,Nt),this._detune=e(this,p,f.detune,1200*Math.log2(Tt),-1200*Math.log2(Tt)),this._frequency=e(this,p,f.frequency,l.sampleRate/2,0),this._gain=e(this,p,f.gain,40*Math.log10(Tt),Nt),this._nativeBiquadFilterNode=f,a(this,1)}get detune(){return this._detune}get frequency(){return this._frequency}get gain(){return this._gain}get Q(){return this._Q}get type(){return this._nativeBiquadFilterNode.type}set type(l){this._nativeBiquadFilterNode.type=l}getFrequencyResponse(l,u,h){try{this._nativeBiquadFilterNode.getFrequencyResponse(l,u,h)}catch(d){throw d.code===11?s():d}if(l.length!==u.length||u.length!==h.length)throw s()}},dy=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={Q:l.Q.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,detune:l.detune.value,frequency:l.frequency.value,gain:l.gain.value,type:l.type};l=e(c,h)}return r.set(c,l),u?(await n(c,a.Q,l.Q),await n(c,a.detune,l.detune),await n(c,a.frequency,l.frequency),await n(c,a.gain,l.gain)):(await s(c,a.Q,l.Q),await s(c,a.detune,l.detune),await s(c,a.frequency,l.frequency),await s(c,a.gain,l.gain)),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},fy=(n,e)=>(t,s)=>{const i=e.get(t);if(i!==void 0)return i;const r=n.get(t);if(r!==void 0)return r;try{const o=s();return o instanceof Promise?(n.set(t,o),o.catch(()=>!1).then(a=>(n.delete(t),e.set(t,a),a))):(e.set(t,o),o)}catch{return e.set(t,!1),!1}},py={channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6},my=(n,e,t,s,i)=>class extends n{constructor(o,a){const c=s(o),l={...py,...a},u=t(c,l),h=i(c)?e():null;super(o,!1,u,h)}},gy=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfInputs:a.numberOfInputs};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},_y={channelCount:6,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:6},yy=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u=r({..._y,...c}),h=t(l,u),d=i(l)?e():null;super(a,!1,h,d)}},vy=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfOutputs:a.numberOfOutputs};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},by=n=>(e,t,s)=>n(t,e,s),wy=n=>(e,t,s=0,i=0)=>{const r=e[s];if(r===void 0)throw n();return Wo(t)?r.connect(t,0,i):r.connect(t,0)},xy=n=>(e,t)=>{const s=n(e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),i=e.createBuffer(1,2,44100);return s.buffer=i,s.loop=!0,s.connect(t),s.start(),()=>{s.stop(),s.disconnect(t)}},Ty={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",offset:1},Ey=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Ty,...l},d=s(u,h),f=r(u),p=f?t():null;super(c,!1,d,p),this._constantSourceNodeRenderer=p,this._nativeConstantSourceNode=d,this._offset=e(this,f,d.offset,Tt,Nt),this._onended=null}get offset(){return this._offset}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeConstantSourceNode.onended=l;const u=this._nativeConstantSourceNode.onended;this._onended=u!==null&&u===l?c:u}start(c=0){if(this._nativeConstantSourceNode.start(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.start=c),this.context.state!=="closed"){Oi(this);const l=()=>{this._nativeConstantSourceNode.removeEventListener("ended",l),Vn(this)&&Hr(this)};this._nativeConstantSourceNode.addEventListener("ended",l)}}stop(c=0){this._nativeConstantSourceNode.stop(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.stop=c)}},Sy=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=wt(h,u);if(!d){const f={channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,offset:h.offset.value};h=e(u,f),o!==null&&h.start(o),a!==null&&h.stop(a)}return r.set(u,h),d?await n(u,l.offset,h.offset):await s(u,l.offset,h.offset),await i(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=r.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},Cy=n=>e=>(n[0]=e,n[0]),Ay={buffer:null,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",disableNormalization:!1},Ny=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u={...Ay,...c},h=t(l,u),f=i(l)?e():null;super(a,!1,h,f),this._isBufferNullified=!1,this._nativeConvolverNode=h,u.buffer!==null&&r(this,u.buffer.duration)}get buffer(){return this._isBufferNullified?null:this._nativeConvolverNode.buffer}set buffer(a){if(this._nativeConvolverNode.buffer=a,a===null&&this._nativeConvolverNode.buffer!==null){const c=this._nativeConvolverNode.context;this._nativeConvolverNode.buffer=c.createBuffer(1,1,44100),this._isBufferNullified=!0,r(this,0)}else this._isBufferNullified=!1,r(this,this._nativeConvolverNode.buffer===null?0:this._nativeConvolverNode.buffer.duration)}get normalize(){return this._nativeConvolverNode.normalize}set normalize(a){this._nativeConvolverNode.normalize=a}},My=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={buffer:a.buffer,channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,disableNormalization:!a.normalize};a=n(o,l)}return s.set(o,a),Gi(a)?await t(r,o,a.inputs[0]):await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},ky=(n,e)=>(t,s,i)=>{if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");try{return new e(t,s,i)}catch(r){throw r.name==="SyntaxError"?n():r}},Oy=()=>new DOMException("","DataCloneError"),_h=n=>{const{port1:e,port2:t}=new MessageChannel;return new Promise(s=>{const i=()=>{t.onmessage=null,e.close(),t.close(),s()};t.onmessage=()=>i();try{e.postMessage(n,[n])}finally{i()}})},Iy=(n,e,t,s,i,r,o,a,c,l,u)=>(h,d)=>{const f=o(h)?h:r(h);if(i.has(d)){const p=t();return Promise.reject(p)}try{i.add(d)}catch{}return e(c,()=>c(f))?f.decodeAudioData(d).then(p=>(_h(d).catch(()=>{}),e(a,()=>a(p))||u(p),n.add(p),p)):new Promise((p,m)=>{const _=async()=>{try{await _h(d)}catch{}},g=y=>{m(y),_()};try{f.decodeAudioData(d,y=>{typeof y.copyFromChannel!="function"&&(l(y),Rl(y)),n.add(y),_().then(()=>p(y))},y=>{g(y===null?s():y)})}catch(y){g(y)}})},Ry=(n,e,t,s,i,r,o,a)=>(c,l)=>{const u=e.get(c);if(u===void 0)throw new Error("Missing the expected cycle count.");const h=r(c.context),d=a(h);if(u===l){if(e.delete(c),!d&&o(c)){const f=s(c),{outputs:p}=t(c);for(const m of p)if(Kr(m)){const _=s(m[0]);n(f,_,m[1],m[2])}else{const _=i(m[0]);f.connect(_,m[1])}}}else e.set(c,u-l)},Dy={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",delayTime:0,maxDelayTime:1},Py=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Dy,...l},d=s(u,h),f=r(u),p=f?t(h.maxDelayTime):null;super(c,!1,d,p),this._delayTime=e(this,f,d.delayTime),o(this,h.maxDelayTime)}get delayTime(){return this._delayTime}},$y=(n,e,t,s,i)=>r=>{const o=new WeakMap,a=async(c,l)=>{let u=t(c);const h=wt(u,l);if(!h){const d={channelCount:u.channelCount,channelCountMode:u.channelCountMode,channelInterpretation:u.channelInterpretation,delayTime:u.delayTime.value,maxDelayTime:r};u=e(l,d)}return o.set(l,u),h?await n(l,c.delayTime,u.delayTime):await s(l,c.delayTime,u.delayTime),await i(c,l,u),u};return{render(c,l){const u=o.get(l);return u!==void 0?Promise.resolve(u):a(c,l)}}},Fy=n=>(e,t,s,i)=>n(e[i],r=>r[0]===t&&r[1]===s),Vy=n=>(e,t)=>{n(e).delete(t)},Ly=n=>"delayTime"in n,By=(n,e,t)=>function s(i,r){const o=qo(r)?r:t(n,r);if(Ly(o))return[];if(i[0]===o)return[i];if(i.includes(o))return[];const{outputs:a}=e(o);return Array.from(a).map(c=>s([...i,o],c[0])).reduce((c,l)=>c.concat(l),[])},fo=(n,e,t)=>{const s=e[t];if(s===void 0)throw n();return s},qy=n=>(e,t=void 0,s=void 0,i=0)=>t===void 0?e.forEach(r=>r.disconnect()):typeof t=="number"?fo(n,e,t).disconnect():Wo(t)?s===void 0?e.forEach(r=>r.disconnect(t)):i===void 0?fo(n,e,s).disconnect(t,0):fo(n,e,s).disconnect(t,0,i):s===void 0?e.forEach(r=>r.disconnect(t)):fo(n,e,s).disconnect(t,0),Uy={attack:.003,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",knee:30,ratio:12,release:.25,threshold:-24},jy=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...Uy,...u},f=s(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._attack=e(this,p,f.attack),this._knee=e(this,p,f.knee),this._nativeDynamicsCompressorNode=f,this._ratio=e(this,p,f.ratio),this._release=e(this,p,f.release),this._threshold=e(this,p,f.threshold),a(this,.006)}get attack(){return this._attack}get channelCount(){return this._nativeDynamicsCompressorNode.channelCount}set channelCount(l){const u=this._nativeDynamicsCompressorNode.channelCount;if(this._nativeDynamicsCompressorNode.channelCount=l,l>2)throw this._nativeDynamicsCompressorNode.channelCount=u,i()}get channelCountMode(){return this._nativeDynamicsCompressorNode.channelCountMode}set channelCountMode(l){const u=this._nativeDynamicsCompressorNode.channelCountMode;if(this._nativeDynamicsCompressorNode.channelCountMode=l,l==="max")throw this._nativeDynamicsCompressorNode.channelCountMode=u,i()}get knee(){return this._knee}get ratio(){return this._ratio}get reduction(){return typeof this._nativeDynamicsCompressorNode.reduction.value=="number"?this._nativeDynamicsCompressorNode.reduction.value:this._nativeDynamicsCompressorNode.reduction}get release(){return this._release}get threshold(){return this._threshold}},Wy=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={attack:l.attack.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,knee:l.knee.value,ratio:l.ratio.value,release:l.release.value,threshold:l.threshold.value};l=e(c,h)}return r.set(c,l),u?(await n(c,a.attack,l.attack),await n(c,a.knee,l.knee),await n(c,a.ratio,l.ratio),await n(c,a.release,l.release),await n(c,a.threshold,l.threshold)):(await s(c,a.attack,l.attack),await s(c,a.knee,l.knee),await s(c,a.ratio,l.ratio),await s(c,a.release,l.release),await s(c,a.threshold,l.threshold)),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},zy=()=>new DOMException("","EncodingError"),Hy=n=>e=>new Promise((t,s)=>{if(n===null){s(new SyntaxError);return}const i=n.document.head;if(i===null)s(new SyntaxError);else{const r=n.document.createElement("script"),o=new Blob([e],{type:"application/javascript"}),a=URL.createObjectURL(o),c=n.onerror,l=()=>{n.onerror=c,URL.revokeObjectURL(a)};n.onerror=(u,h,d,f,p)=>{if(h===a||h===n.location.href&&d===1&&f===1)return l(),s(p),!1;if(c!==null)return c(u,h,d,f,p)},r.onerror=()=>{l(),s(new SyntaxError)},r.onload=()=>{l(),t()},r.src=a,r.type="module",i.appendChild(r)}}),Gy=n=>class{constructor(t){this._nativeEventTarget=t,this._listeners=new WeakMap}addEventListener(t,s,i){if(s!==null){let r=this._listeners.get(s);r===void 0&&(r=n(this,s),typeof s=="function"&&this._listeners.set(s,r)),this._nativeEventTarget.addEventListener(t,r,i)}}dispatchEvent(t){return this._nativeEventTarget.dispatchEvent(t)}removeEventListener(t,s,i){const r=s===null?void 0:this._listeners.get(s);this._nativeEventTarget.removeEventListener(t,r===void 0?null:r,i)}},Ky=n=>(e,t,s)=>{Object.defineProperties(n,{currentFrame:{configurable:!0,get(){return Math.round(e*t)}},currentTime:{configurable:!0,get(){return e}}});try{return s()}finally{n!==null&&(delete n.currentFrame,delete n.currentTime)}},Yy=n=>async e=>{try{const t=await fetch(e);if(t.ok)return[await t.text(),t.url]}catch{}throw n()},Zy={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",gain:1},Xy=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...Zy,...c},h=s(l,u),d=r(l),f=d?t():null;super(a,!1,h,f),this._gain=e(this,d,h.gain,Tt,Nt)}get gain(){return this._gain}},Qy=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,gain:l.gain.value};l=e(c,h)}return r.set(c,l),u?await n(c,a.gain,l.gain):await s(c,a.gain,l.gain),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Jy=(n,e)=>t=>e(n,t),ev=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioNode in the audio graph.");return t.renderer},tv=n=>e=>{var t;return(t=n.get(e))!==null&&t!==void 0?t:0},nv=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioParam in the audio graph.");return t.renderer},sv=n=>e=>n.get(e),ft=()=>new DOMException("","InvalidStateError"),iv=n=>e=>{const t=n.get(e);if(t===void 0)throw ft();return t},rv=(n,e)=>t=>{let s=n.get(t);if(s!==void 0)return s;if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");return s=new e(1,1,44100),n.set(t,s),s},ov=n=>e=>{const t=n.get(e);if(t===void 0)throw new Error("The context has no set of AudioWorkletNodes.");return t},Va=()=>new DOMException("","InvalidAccessError"),av=n=>{n.getFrequencyResponse=(e=>(t,s,i)=>{if(t.length!==s.length||s.length!==i.length)throw Va();return e.call(n,t,s,i)})(n.getFrequencyResponse)},cv={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers"},lv=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u=i(l),h={...cv,...c},d=e(l,u?null:a.baseLatency,h),f=u?t(h.feedback,h.feedforward):null;super(a,!1,d,f),av(d),this._nativeIIRFilterNode=d,r(this,1)}getFrequencyResponse(a,c,l){return this._nativeIIRFilterNode.getFrequencyResponse(a,c,l)}},zf=(n,e,t,s,i,r,o,a,c,l,u)=>{const h=l.length;let d=a;for(let f=0;f{const i=t instanceof Float64Array?t:new Float64Array(t),r=s instanceof Float64Array?s:new Float64Array(s),o=i.length,a=r.length,c=Math.min(o,a);if(i[0]!==1){for(let p=0;p(r,o)=>{const a=new WeakMap;let c=null;const l=async(u,h)=>{let d=null,f=e(u);const p=wt(f,h);if(h.createIIRFilter===void 0?d=n(h,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}):p||(f=h.createIIRFilter(o,r)),a.set(h,d===null?f:d),d!==null){if(c===null){if(t===null)throw new Error("Missing the native OfflineAudioContext constructor.");const _=new t(u.context.destination.channelCount,u.context.length,h.sampleRate);c=(async()=>{await s(u,_,_.destination);const g=await i(_);return uv(g,h,r,o)})()}const m=await c;return d.buffer=m,d.start(0),d}return await s(u,h,f),f};return{render(u,h){const d=a.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},dv=(n,e,t,s,i,r)=>o=>(a,c)=>{const l=n.get(a);if(l===void 0){if(!o&&r(a)){const u=s(a),{outputs:h}=t(a);for(const d of h)if(Kr(d)){const f=s(d[0]);e(u,f,d[1],d[2])}else{const f=i(d[0]);u.disconnect(f,d[1])}}n.set(a,c)}else n.set(a,l+c)},fv=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},pv=(n,e)=>t=>n.has(t)||e(t),mv=(n,e)=>t=>n.has(t)||e(t),gv=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},_v=n=>e=>n!==null&&e instanceof n,yv=n=>e=>n!==null&&typeof n.AudioNode=="function"&&e instanceof n.AudioNode,vv=n=>e=>n!==null&&typeof n.AudioParam=="function"&&e instanceof n.AudioParam,bv=(n,e)=>t=>n(t)||e(t),wv=n=>e=>n!==null&&e instanceof n,xv=n=>n!==null&&n.isSecureContext,Tv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r),c=e(a,o);if(s(a))throw TypeError();super(r,!0,c,null),this._nativeMediaElementAudioSourceNode=c}get mediaElement(){return this._nativeMediaElementAudioSourceNode.mediaElement}},Ev={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers"},Sv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r);if(s(a))throw new TypeError;const c={...Ev,...o},l=e(a,c);super(r,!1,l,null),this._nativeMediaStreamAudioDestinationNode=l}get stream(){return this._nativeMediaStreamAudioDestinationNode.stream}},Cv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r),c=e(a,o);if(s(a))throw new TypeError;super(r,!0,c,null),this._nativeMediaStreamAudioSourceNode=c}get mediaStream(){return this._nativeMediaStreamAudioSourceNode.mediaStream}},Av=(n,e,t)=>class extends n{constructor(i,r){const o=t(i),a=e(o,r);super(i,!0,a,null)}},Nv=(n,e,t,s,i,r)=>class extends t{constructor(a,c){super(a),this._nativeContext=a,$a.set(this,a),s(a)&&i.set(a,new Set),this._destination=new n(this,c),this._listener=e(this,a),this._onstatechange=null}get currentTime(){return this._nativeContext.currentTime}get destination(){return this._destination}get listener(){return this._listener}get onstatechange(){return this._onstatechange}set onstatechange(a){const c=typeof a=="function"?r(this,a):null;this._nativeContext.onstatechange=c;const l=this._nativeContext.onstatechange;this._onstatechange=l!==null&&l===c?a:l}get sampleRate(){return this._nativeContext.sampleRate}get state(){return this._nativeContext.state}},xr=n=>{const e=new Uint32Array([1179011410,40,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,4,0]);try{const t=n.decodeAudioData(e.buffer,()=>{});return t===void 0?!1:(t.catch(()=>{}),!0)}catch{}return!1},Mv=(n,e)=>(t,s,i)=>{const r=new Set;return t.connect=(o=>(a,c=0,l=0)=>{const u=r.size===0;if(e(a))return o.call(t,a,c,l),n(r,[a,c,l],h=>h[0]===a&&h[1]===c&&h[2]===l,!0),u&&s(),a;o.call(t,a,c),n(r,[a,c],h=>h[0]===a&&h[1]===c,!0),u&&s()})(t.connect),t.disconnect=(o=>(a,c,l)=>{const u=r.size>0;if(a===void 0)o.apply(t),r.clear();else if(typeof a=="number"){o.call(t,a);for(const d of r)d[1]===a&&r.delete(d)}else{e(a)?o.call(t,a,c,l):o.call(t,a,c);for(const d of r)d[0]===a&&(c===void 0||d[1]===c)&&(l===void 0||d[2]===l)&&r.delete(d)}const h=r.size===0;u&&h&&i()})(t.disconnect),t},Ye=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t]&&(n[t]=s)},ct=(n,e)=>{Ye(n,e,"channelCount"),Ye(n,e,"channelCountMode"),Ye(n,e,"channelInterpretation")},yh=n=>typeof n.getFloatTimeDomainData=="function",kv=n=>{n.getFloatTimeDomainData=e=>{const t=new Uint8Array(e.length);n.getByteTimeDomainData(t);const s=Math.max(t.length,n.fftSize);for(let i=0;i(t,s)=>{const i=t.createAnalyser();if(ct(i,s),!(s.maxDecibels>s.minDecibels))throw e();return Ye(i,s,"fftSize"),Ye(i,s,"maxDecibels"),Ye(i,s,"minDecibels"),Ye(i,s,"smoothingTimeConstant"),n(yh,()=>yh(i))||kv(i),i},Iv=n=>n===null?null:n.hasOwnProperty("AudioBuffer")?n.AudioBuffer:null,Xe=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t].value&&(n[t].value=s)},Rv=n=>{n.start=(e=>{let t=!1;return(s=0,i=0,r)=>{if(t)throw ft();e.call(n,s,i,r),t=!0}})(n.start)},$l=n=>{n.start=(e=>(t=0,s=0,i)=>{if(typeof i=="number"&&i<0||s<0||t<0)throw new RangeError("The parameters can't be negative.");e.call(n,t,s,i)})(n.start)},Fl=n=>{n.stop=(e=>(t=0)=>{if(t<0)throw new RangeError("The parameter can't be negative.");e.call(n,t)})(n.stop)},Dv=(n,e,t,s,i,r,o,a,c,l,u)=>(h,d)=>{const f=h.createBufferSource();return ct(f,d),Xe(f,d,"playbackRate"),Ye(f,d,"buffer"),Ye(f,d,"loop"),Ye(f,d,"loopEnd"),Ye(f,d,"loopStart"),e(t,()=>t(h))||Rv(f),e(s,()=>s(h))||c(f),e(i,()=>i(h))||l(f,h),e(r,()=>r(h))||$l(f),e(o,()=>o(h))||u(f,h),e(a,()=>a(h))||Fl(f),n(h,f),f},Pv=n=>n===null?null:n.hasOwnProperty("AudioContext")?n.AudioContext:n.hasOwnProperty("webkitAudioContext")?n.webkitAudioContext:null,$v=(n,e)=>(t,s,i)=>{const r=t.destination;if(r.channelCount!==s)try{r.channelCount=s}catch{}i&&r.channelCountMode!=="explicit"&&(r.channelCountMode="explicit"),r.maxChannelCount===0&&Object.defineProperty(r,"maxChannelCount",{value:s});const o=n(t,{channelCount:s,channelCountMode:r.channelCountMode,channelInterpretation:r.channelInterpretation,gain:1});return e(o,"channelCount",a=>()=>a.call(o),a=>c=>{a.call(o,c);try{r.channelCount=c}catch(l){if(c>r.maxChannelCount)throw l}}),e(o,"channelCountMode",a=>()=>a.call(o),a=>c=>{a.call(o,c),r.channelCountMode=c}),e(o,"channelInterpretation",a=>()=>a.call(o),a=>c=>{a.call(o,c),r.channelInterpretation=c}),Object.defineProperty(o,"maxChannelCount",{get:()=>r.maxChannelCount}),o.connect(r),o},Fv=n=>n===null?null:n.hasOwnProperty("AudioWorkletNode")?n.AudioWorkletNode:null,Vv=n=>{const{port1:e}=new MessageChannel;try{e.postMessage(n)}finally{e.close()}},Lv=(n,e,t,s,i)=>(r,o,a,c,l,u)=>{if(a!==null)try{const h=new a(r,c,u),d=new Map;let f=null;if(Object.defineProperties(h,{channelCount:{get:()=>u.channelCount,set:()=>{throw n()}},channelCountMode:{get:()=>"explicit",set:()=>{throw n()}},onprocessorerror:{get:()=>f,set:p=>{typeof f=="function"&&h.removeEventListener("processorerror",f),f=typeof p=="function"?p:null,typeof f=="function"&&h.addEventListener("processorerror",f)}}}),h.addEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const _=typeof m[1]=="function"?m[1]:typeof m[1]=="object"&&m[1]!==null&&typeof m[1].handleEvent=="function"?m[1].handleEvent:null;if(_!==null){const g=d.get(m[1]);g!==void 0?m[1]=g:(m[1]=y=>{y.type==="error"?(Object.defineProperties(y,{type:{value:"processorerror"}}),_(y)):_(new ErrorEvent(m[0],{...y}))},d.set(_,m[1]))}}return p.call(h,"error",m[1],m[2]),p.call(h,...m)})(h.addEventListener),h.removeEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const _=d.get(m[1]);_!==void 0&&(d.delete(m[1]),m[1]=_)}return p.call(h,"error",m[1],m[2]),p.call(h,m[0],m[1],m[2])})(h.removeEventListener),u.numberOfOutputs!==0){const p=t(r,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return h.connect(p).connect(r.destination),i(h,()=>p.disconnect(),()=>p.connect(r.destination))}return h}catch(h){throw h.code===11?s():h}if(l===void 0)throw s();return Vv(u),e(r,o,l,u)},Hf=(n,e)=>n===null?512:Math.max(512,Math.min(16384,Math.pow(2,Math.round(Math.log2(n*e))))),Bv=n=>new Promise((e,t)=>{const{port1:s,port2:i}=new MessageChannel;s.onmessage=({data:r})=>{s.close(),i.close(),e(r)},s.onmessageerror=({data:r})=>{s.close(),i.close(),t(r)},i.postMessage(n)}),qv=async(n,e)=>{const t=await Bv(e);return new n(t)},Uv=(n,e,t,s)=>{let i=qc.get(n);i===void 0&&(i=new WeakMap,qc.set(n,i));const r=qv(t,s);return i.set(e,r),r},jv=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>(f,p,m,_)=>{if(_.numberOfInputs===0&&_.numberOfOutputs===0)throw c();const g=Array.isArray(_.outputChannelCount)?_.outputChannelCount:Array.from(_.outputChannelCount);if(g.some(C=>C<1))throw c();if(g.length!==_.numberOfOutputs)throw e();if(_.channelCountMode!=="explicit")throw c();const y=_.channelCount*_.numberOfInputs,S=g.reduce((C,I)=>C+I,0),w=m.parameterDescriptors===void 0?0:m.parameterDescriptors.length;if(y+w>6||S>6)throw c();const v=new MessageChannel,A=[],N=[];for(let C=0;C<_.numberOfInputs;C+=1)A.push(o(f,{channelCount:_.channelCount,channelCountMode:_.channelCountMode,channelInterpretation:_.channelInterpretation,gain:1})),N.push(i(f,{channelCount:_.channelCount,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:_.channelCount}));const T=[];if(m.parameterDescriptors!==void 0)for(const{defaultValue:C,maxValue:I,minValue:B,name:Y}of m.parameterDescriptors){const U=r(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:_.parameterData[Y]!==void 0?_.parameterData[Y]:C===void 0?0:C});Object.defineProperties(U.offset,{defaultValue:{get:()=>C===void 0?0:C},maxValue:{get:()=>I===void 0?Tt:I},minValue:{get:()=>B===void 0?Nt:B}}),T.push(U)}const R=s(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,y+w)}),O=Hf(p,f.sampleRate),P=a(f,O,y+w,Math.max(1,S)),M=i(f,{channelCount:Math.max(1,S),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,S)}),F=[];for(let C=0;C<_.numberOfOutputs;C+=1)F.push(s(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:g[C]}));for(let C=0;C<_.numberOfInputs;C+=1){A[C].connect(N[C]);for(let I=0;I<_.channelCount;I+=1)N[C].connect(R,I,C*_.channelCount+I)}const z=new jf(m.parameterDescriptors===void 0?[]:m.parameterDescriptors.map(({name:C},I)=>{const B=T[I];return B.connect(R,0,y+I),B.start(0),[C,B.offset]}));R.connect(P);let ne=_.channelInterpretation,X=null;const Z=_.numberOfOutputs===0?[P]:F,te={get bufferSize(){return O},get channelCount(){return _.channelCount},set channelCount(C){throw t()},get channelCountMode(){return _.channelCountMode},set channelCountMode(C){throw t()},get channelInterpretation(){return ne},set channelInterpretation(C){for(const I of A)I.channelInterpretation=C;ne=C},get context(){return P.context},get inputs(){return A},get numberOfInputs(){return _.numberOfInputs},get numberOfOutputs(){return _.numberOfOutputs},get onprocessorerror(){return X},set onprocessorerror(C){typeof X=="function"&&te.removeEventListener("processorerror",X),X=typeof C=="function"?C:null,typeof X=="function"&&te.addEventListener("processorerror",X)},get parameters(){return z},get port(){return v.port2},addEventListener(...C){return P.addEventListener(C[0],C[1],C[2])},connect:n.bind(null,Z),disconnect:l.bind(null,Z),dispatchEvent(...C){return P.dispatchEvent(C[0])},removeEventListener(...C){return P.removeEventListener(C[0],C[1],C[2])}},ce=new Map;v.port1.addEventListener=(C=>(...I)=>{if(I[0]==="message"){const B=typeof I[1]=="function"?I[1]:typeof I[1]=="object"&&I[1]!==null&&typeof I[1].handleEvent=="function"?I[1].handleEvent:null;if(B!==null){const Y=ce.get(I[1]);Y!==void 0?I[1]=Y:(I[1]=U=>{u(f.currentTime,f.sampleRate,()=>B(U))},ce.set(B,I[1]))}}return C.call(v.port1,I[0],I[1],I[2])})(v.port1.addEventListener),v.port1.removeEventListener=(C=>(...I)=>{if(I[0]==="message"){const B=ce.get(I[1]);B!==void 0&&(ce.delete(I[1]),I[1]=B)}return C.call(v.port1,I[0],I[1],I[2])})(v.port1.removeEventListener);let me=null;Object.defineProperty(v.port1,"onmessage",{get:()=>me,set:C=>{typeof me=="function"&&v.port1.removeEventListener("message",me),me=typeof C=="function"?C:null,typeof me=="function"&&(v.port1.addEventListener("message",me),v.port1.start())}}),m.prototype.port=v.port1;let ue=null;Uv(f,te,m,_).then(C=>ue=C);const st=Ho(_.numberOfInputs,_.channelCount),it=Ho(_.numberOfOutputs,g),be=m.parameterDescriptors===void 0?[]:m.parameterDescriptors.reduce((C,{name:I})=>({...C,[I]:new Float32Array(128)}),{});let we=!0;const $=()=>{_.numberOfOutputs>0&&P.disconnect(M);for(let C=0,I=0;C<_.numberOfOutputs;C+=1){const B=F[C];for(let Y=0;Y{if(ue!==null){const B=h(te);for(let Y=0;Y{zo(C,be,U,y+H,Y)});for(let U=0;U<_.numberOfInputs;U+=1)for(let H=0;H{if(B[ae].size>0)return L.set(ae,O/128),j;const le=L.get(ae);return le===void 0?[]:(j.every(_e=>_e.every(Ee=>Ee===0))&&(le===1?L.delete(ae):L.set(ae,le-1)),j)});we=u(f.currentTime+Y/f.sampleRate,f.sampleRate,()=>ue.process(U,it,be));for(let j=0,ae=0;j<_.numberOfOutputs;j+=1){for(let ie=0;ieP.connect(oe).connect(f.destination),x=()=>{P.disconnect(oe),oe.disconnect()},E=()=>{if(we){x(),_.numberOfOutputs>0&&P.connect(M);for(let C=0,I=0;C<_.numberOfOutputs;C+=1){const B=F[C];for(let Y=0;Y{we&&(Se(),$()),Q=!1};return Se(),d(te,E,k)},Gf=(n,e)=>{const t=n.createBiquadFilter();return ct(t,e),Xe(t,e,"Q"),Xe(t,e,"detune"),Xe(t,e,"frequency"),Xe(t,e,"gain"),Ye(t,e,"type"),t},Wv=(n,e)=>(t,s)=>{const i=t.createChannelMerger(s.numberOfInputs);return n!==null&&n.name==="webkitAudioContext"&&e(t,i),ct(i,s),i},zv=n=>{const e=n.numberOfOutputs;Object.defineProperty(n,"channelCount",{get:()=>e,set:t=>{if(t!==e)throw ft()}}),Object.defineProperty(n,"channelCountMode",{get:()=>"explicit",set:t=>{if(t!=="explicit")throw ft()}}),Object.defineProperty(n,"channelInterpretation",{get:()=>"discrete",set:t=>{if(t!=="discrete")throw ft()}})},Yr=(n,e)=>{const t=n.createChannelSplitter(e.numberOfOutputs);return ct(t,e),zv(t),t},Hv=(n,e,t,s,i)=>(r,o)=>{if(r.createConstantSource===void 0)return t(r,o);const a=r.createConstantSource();return ct(a,o),Xe(a,o,"offset"),e(s,()=>s(r))||$l(a),e(i,()=>i(r))||Fl(a),n(r,a),a},Ki=(n,e)=>(n.connect=e.connect.bind(e),n.disconnect=e.disconnect.bind(e),n),Gv=(n,e,t,s)=>(i,{offset:r,...o})=>{const a=i.createBuffer(1,2,44100),c=e(i,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),l=t(i,{...o,gain:r}),u=a.getChannelData(0);u[0]=1,u[1]=1,c.buffer=a,c.loop=!0;const h={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(p){l.channelCount=p},get channelCountMode(){return l.channelCountMode},set channelCountMode(p){l.channelCountMode=p},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(p){l.channelInterpretation=p},get context(){return l.context},get inputs(){return[]},get numberOfInputs(){return c.numberOfInputs},get numberOfOutputs(){return l.numberOfOutputs},get offset(){return l.gain},get onended(){return c.onended},set onended(p){c.onended=p},addEventListener(...p){return c.addEventListener(p[0],p[1],p[2])},dispatchEvent(...p){return c.dispatchEvent(p[0])},removeEventListener(...p){return c.removeEventListener(p[0],p[1],p[2])},start(p=0){c.start.call(c,p)},stop(p=0){c.stop.call(c,p)}},d=()=>c.connect(l),f=()=>c.disconnect(l);return n(i,c),s(Ki(h,l),d,f)},Kv=(n,e)=>(t,s)=>{const i=t.createConvolver();if(ct(i,s),s.disableNormalization===i.normalize&&(i.normalize=!s.disableNormalization),Ye(i,s,"buffer"),s.channelCount>2||(e(i,"channelCount",r=>()=>r.call(i),r=>o=>{if(o>2)throw n();return r.call(i,o)}),s.channelCountMode==="max"))throw n();return e(i,"channelCountMode",r=>()=>r.call(i),r=>o=>{if(o==="max")throw n();return r.call(i,o)}),i},Kf=(n,e)=>{const t=n.createDelay(e.maxDelayTime);return ct(t,e),Xe(t,e,"delayTime"),t},Yv=n=>(e,t)=>{const s=e.createDynamicsCompressor();if(ct(s,t),t.channelCount>2||t.channelCountMode==="max")throw n();return Xe(s,t,"attack"),Xe(s,t,"knee"),Xe(s,t,"ratio"),Xe(s,t,"release"),Xe(s,t,"threshold"),s},It=(n,e)=>{const t=n.createGain();return ct(t,e),Xe(t,e,"gain"),t},Zv=n=>(e,t,s)=>{if(e.createIIRFilter===void 0)return n(e,t,s);const i=e.createIIRFilter(s.feedforward,s.feedback);return ct(i,s),i};function Xv(n,e){const t=e[0]*e[0]+e[1]*e[1];return[(n[0]*e[0]+n[1]*e[1])/t,(n[1]*e[0]-n[0]*e[1])/t]}function Qv(n,e){return[n[0]*e[0]-n[1]*e[1],n[0]*e[1]+n[1]*e[0]]}function vh(n,e){let t=[0,0];for(let s=n.length-1;s>=0;s-=1)t=Qv(t,e),t[0]+=n[s];return t}const Jv=(n,e,t,s)=>(i,r,{channelCount:o,channelCountMode:a,channelInterpretation:c,feedback:l,feedforward:u})=>{const h=Hf(r,i.sampleRate),d=l instanceof Float64Array?l:new Float64Array(l),f=u instanceof Float64Array?u:new Float64Array(u),p=d.length,m=f.length,_=Math.min(p,m);if(p===0||p>20)throw s();if(d[0]===0)throw e();if(m===0||m>20)throw s();if(f[0]===0)throw e();if(d[0]!==1){for(let T=0;T{const R=T.inputBuffer,O=T.outputBuffer,P=R.numberOfChannels;for(let M=0;Mn.createMediaElementSource(e.mediaElement),tb=(n,e)=>{const t=n.createMediaStreamDestination();return ct(t,e),t.numberOfOutputs===1&&Object.defineProperty(t,"numberOfOutputs",{get:()=>0}),t},nb=(n,{mediaStream:e})=>{const t=e.getAudioTracks();t.sort((r,o)=>r.ido.id?1:0);const s=t.slice(0,1),i=n.createMediaStreamSource(new MediaStream(s));return Object.defineProperty(i,"mediaStream",{value:e}),i},sb=(n,e)=>(t,{mediaStreamTrack:s})=>{if(typeof t.createMediaStreamTrackSource=="function")return t.createMediaStreamTrackSource(s);const i=new MediaStream([s]),r=t.createMediaStreamSource(i);if(s.kind!=="audio")throw n();if(e(t))throw new TypeError;return r},ib=n=>n===null?null:n.hasOwnProperty("OfflineAudioContext")?n.OfflineAudioContext:n.hasOwnProperty("webkitOfflineAudioContext")?n.webkitOfflineAudioContext:null,rb=(n,e,t,s,i,r)=>(o,a)=>{const c=o.createOscillator();return ct(c,a),Xe(c,a,"detune"),Xe(c,a,"frequency"),a.periodicWave!==void 0?c.setPeriodicWave(a.periodicWave):Ye(c,a,"type"),e(t,()=>t(o))||$l(c),e(s,()=>s(o))||r(c,o),e(i,()=>i(o))||Fl(c),n(o,c),c},ob=n=>(e,t)=>{const s=e.createPanner();return s.orientationX===void 0?n(e,t):(ct(s,t),Xe(s,t,"orientationX"),Xe(s,t,"orientationY"),Xe(s,t,"orientationZ"),Xe(s,t,"positionX"),Xe(s,t,"positionY"),Xe(s,t,"positionZ"),Ye(s,t,"coneInnerAngle"),Ye(s,t,"coneOuterAngle"),Ye(s,t,"coneOuterGain"),Ye(s,t,"distanceModel"),Ye(s,t,"maxDistance"),Ye(s,t,"panningModel"),Ye(s,t,"refDistance"),Ye(s,t,"rolloffFactor"),s)},ab=(n,e,t,s,i,r,o,a,c,l)=>(u,{coneInnerAngle:h,coneOuterAngle:d,coneOuterGain:f,distanceModel:p,maxDistance:m,orientationX:_,orientationY:g,orientationZ:y,panningModel:S,positionX:w,positionY:v,positionZ:A,refDistance:N,rolloffFactor:T,...R})=>{const O=u.createPanner();if(R.channelCount>2||R.channelCountMode==="max")throw o();ct(O,R);const P={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},M=t(u,{...P,channelInterpretation:"speakers",numberOfInputs:6}),F=s(u,{...R,gain:1}),z=s(u,{...P,gain:1}),ne=s(u,{...P,gain:0}),X=s(u,{...P,gain:0}),Z=s(u,{...P,gain:0}),te=s(u,{...P,gain:0}),ce=s(u,{...P,gain:0}),me=i(u,256,6,1),ue=r(u,{...P,curve:new Float32Array([1,1]),oversample:"none"});let ye=[_,g,y],st=[w,v,A];const it=new Float32Array(1);me.onaudioprocess=({inputBuffer:L})=>{const Q=[c(L,it,0),c(L,it,1),c(L,it,2)];Q.some((Se,x)=>Se!==ye[x])&&(O.setOrientation(...Q),ye=Q);const oe=[c(L,it,3),c(L,it,4),c(L,it,5)];oe.some((Se,x)=>Se!==st[x])&&(O.setPosition(...oe),st=oe)},Object.defineProperty(ne.gain,"defaultValue",{get:()=>0}),Object.defineProperty(X.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Z.gain,"defaultValue",{get:()=>0}),Object.defineProperty(te.gain,"defaultValue",{get:()=>0}),Object.defineProperty(ce.gain,"defaultValue",{get:()=>0});const be={get bufferSize(){},get channelCount(){return O.channelCount},set channelCount(L){if(L>2)throw o();F.channelCount=L,O.channelCount=L},get channelCountMode(){return O.channelCountMode},set channelCountMode(L){if(L==="max")throw o();F.channelCountMode=L,O.channelCountMode=L},get channelInterpretation(){return O.channelInterpretation},set channelInterpretation(L){F.channelInterpretation=L,O.channelInterpretation=L},get coneInnerAngle(){return O.coneInnerAngle},set coneInnerAngle(L){O.coneInnerAngle=L},get coneOuterAngle(){return O.coneOuterAngle},set coneOuterAngle(L){O.coneOuterAngle=L},get coneOuterGain(){return O.coneOuterGain},set coneOuterGain(L){if(L<0||L>1)throw e();O.coneOuterGain=L},get context(){return O.context},get distanceModel(){return O.distanceModel},set distanceModel(L){O.distanceModel=L},get inputs(){return[F]},get maxDistance(){return O.maxDistance},set maxDistance(L){if(L<0)throw new RangeError;O.maxDistance=L},get numberOfInputs(){return O.numberOfInputs},get numberOfOutputs(){return O.numberOfOutputs},get orientationX(){return z.gain},get orientationY(){return ne.gain},get orientationZ(){return X.gain},get panningModel(){return O.panningModel},set panningModel(L){O.panningModel=L},get positionX(){return Z.gain},get positionY(){return te.gain},get positionZ(){return ce.gain},get refDistance(){return O.refDistance},set refDistance(L){if(L<0)throw new RangeError;O.refDistance=L},get rolloffFactor(){return O.rolloffFactor},set rolloffFactor(L){if(L<0)throw new RangeError;O.rolloffFactor=L},addEventListener(...L){return F.addEventListener(L[0],L[1],L[2])},dispatchEvent(...L){return F.dispatchEvent(L[0])},removeEventListener(...L){return F.removeEventListener(L[0],L[1],L[2])}};h!==be.coneInnerAngle&&(be.coneInnerAngle=h),d!==be.coneOuterAngle&&(be.coneOuterAngle=d),f!==be.coneOuterGain&&(be.coneOuterGain=f),p!==be.distanceModel&&(be.distanceModel=p),m!==be.maxDistance&&(be.maxDistance=m),_!==be.orientationX.value&&(be.orientationX.value=_),g!==be.orientationY.value&&(be.orientationY.value=g),y!==be.orientationZ.value&&(be.orientationZ.value=y),S!==be.panningModel&&(be.panningModel=S),w!==be.positionX.value&&(be.positionX.value=w),v!==be.positionY.value&&(be.positionY.value=v),A!==be.positionZ.value&&(be.positionZ.value=A),N!==be.refDistance&&(be.refDistance=N),T!==be.rolloffFactor&&(be.rolloffFactor=T),(ye[0]!==1||ye[1]!==0||ye[2]!==0)&&O.setOrientation(...ye),(st[0]!==0||st[1]!==0||st[2]!==0)&&O.setPosition(...st);const we=()=>{F.connect(O),n(F,ue,0,0),ue.connect(z).connect(M,0,0),ue.connect(ne).connect(M,0,1),ue.connect(X).connect(M,0,2),ue.connect(Z).connect(M,0,3),ue.connect(te).connect(M,0,4),ue.connect(ce).connect(M,0,5),M.connect(me).connect(u.destination)},$=()=>{F.disconnect(O),a(F,ue,0,0),ue.disconnect(z),z.disconnect(M),ue.disconnect(ne),ne.disconnect(M),ue.disconnect(X),X.disconnect(M),ue.disconnect(Z),Z.disconnect(M),ue.disconnect(te),te.disconnect(M),ue.disconnect(ce),ce.disconnect(M),M.disconnect(me),me.disconnect(u.destination)};return l(Ki(be,O),we,$)},cb=n=>(e,{disableNormalization:t,imag:s,real:i})=>{const r=s instanceof Float32Array?s:new Float32Array(s),o=i instanceof Float32Array?i:new Float32Array(i),a=e.createPeriodicWave(o,r,{disableNormalization:t});if(Array.from(s).length<2)throw n();return a},Zr=(n,e,t,s)=>n.createScriptProcessor(e,t,s),lb=(n,e)=>(t,s)=>{const i=s.channelCountMode;if(i==="clamped-max")throw e();if(t.createStereoPanner===void 0)return n(t,s);const r=t.createStereoPanner();return ct(r,s),Xe(r,s,"pan"),Object.defineProperty(r,"channelCountMode",{get:()=>i,set:o=>{if(o!==i)throw e()}}),r},ub=(n,e,t,s,i,r)=>{const a=new Float32Array([1,1]),c=Math.PI/2,l={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},u={...l,oversample:"none"},h=(p,m,_,g)=>{const y=new Float32Array(16385),S=new Float32Array(16385);for(let R=0;R<16385;R+=1){const O=R/16384*c;y[R]=Math.cos(O),S[R]=Math.sin(O)}const w=t(p,{...l,gain:0}),v=s(p,{...u,curve:y}),A=s(p,{...u,curve:a}),N=t(p,{...l,gain:0}),T=s(p,{...u,curve:S});return{connectGraph(){m.connect(w),m.connect(A.inputs===void 0?A:A.inputs[0]),m.connect(N),A.connect(_),_.connect(v.inputs===void 0?v:v.inputs[0]),_.connect(T.inputs===void 0?T:T.inputs[0]),v.connect(w.gain),T.connect(N.gain),w.connect(g,0,0),N.connect(g,0,1)},disconnectGraph(){m.disconnect(w),m.disconnect(A.inputs===void 0?A:A.inputs[0]),m.disconnect(N),A.disconnect(_),_.disconnect(v.inputs===void 0?v:v.inputs[0]),_.disconnect(T.inputs===void 0?T:T.inputs[0]),v.disconnect(w.gain),T.disconnect(N.gain),w.disconnect(g,0,0),N.disconnect(g,0,1)}}},d=(p,m,_,g)=>{const y=new Float32Array(16385),S=new Float32Array(16385),w=new Float32Array(16385),v=new Float32Array(16385),A=Math.floor(16385/2);for(let Z=0;Z<16385;Z+=1)if(Z>A){const te=(Z-A)/(16384-A)*c;y[Z]=Math.cos(te),S[Z]=Math.sin(te),w[Z]=0,v[Z]=1}else{const te=Z/(16384-A)*c;y[Z]=1,S[Z]=0,w[Z]=Math.cos(te),v[Z]=Math.sin(te)}const N=e(p,{channelCount:2,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:2}),T=t(p,{...l,gain:0}),R=s(p,{...u,curve:y}),O=t(p,{...l,gain:0}),P=s(p,{...u,curve:S}),M=s(p,{...u,curve:a}),F=t(p,{...l,gain:0}),z=s(p,{...u,curve:w}),ne=t(p,{...l,gain:0}),X=s(p,{...u,curve:v});return{connectGraph(){m.connect(N),m.connect(M.inputs===void 0?M:M.inputs[0]),N.connect(T,0),N.connect(O,0),N.connect(F,1),N.connect(ne,1),M.connect(_),_.connect(R.inputs===void 0?R:R.inputs[0]),_.connect(P.inputs===void 0?P:P.inputs[0]),_.connect(z.inputs===void 0?z:z.inputs[0]),_.connect(X.inputs===void 0?X:X.inputs[0]),R.connect(T.gain),P.connect(O.gain),z.connect(F.gain),X.connect(ne.gain),T.connect(g,0,0),F.connect(g,0,0),O.connect(g,0,1),ne.connect(g,0,1)},disconnectGraph(){m.disconnect(N),m.disconnect(M.inputs===void 0?M:M.inputs[0]),N.disconnect(T,0),N.disconnect(O,0),N.disconnect(F,1),N.disconnect(ne,1),M.disconnect(_),_.disconnect(R.inputs===void 0?R:R.inputs[0]),_.disconnect(P.inputs===void 0?P:P.inputs[0]),_.disconnect(z.inputs===void 0?z:z.inputs[0]),_.disconnect(X.inputs===void 0?X:X.inputs[0]),R.disconnect(T.gain),P.disconnect(O.gain),z.disconnect(F.gain),X.disconnect(ne.gain),T.disconnect(g,0,0),F.disconnect(g,0,0),O.disconnect(g,0,1),ne.disconnect(g,0,1)}}},f=(p,m,_,g,y)=>{if(m===1)return h(p,_,g,y);if(m===2)return d(p,_,g,y);throw i()};return(p,{channelCount:m,channelCountMode:_,pan:g,...y})=>{if(_==="max")throw i();const S=n(p,{...y,channelCount:1,channelCountMode:_,numberOfInputs:2}),w=t(p,{...y,channelCount:m,channelCountMode:_,gain:1}),v=t(p,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:g});let{connectGraph:A,disconnectGraph:N}=f(p,m,w,v,S);Object.defineProperty(v.gain,"defaultValue",{get:()=>0}),Object.defineProperty(v.gain,"maxValue",{get:()=>1}),Object.defineProperty(v.gain,"minValue",{get:()=>-1});const T={get bufferSize(){},get channelCount(){return w.channelCount},set channelCount(M){w.channelCount!==M&&(R&&N(),{connectGraph:A,disconnectGraph:N}=f(p,M,w,v,S),R&&A()),w.channelCount=M},get channelCountMode(){return w.channelCountMode},set channelCountMode(M){if(M==="clamped-max"||M==="max")throw i();w.channelCountMode=M},get channelInterpretation(){return w.channelInterpretation},set channelInterpretation(M){w.channelInterpretation=M},get context(){return w.context},get inputs(){return[w]},get numberOfInputs(){return w.numberOfInputs},get numberOfOutputs(){return w.numberOfOutputs},get pan(){return v.gain},addEventListener(...M){return w.addEventListener(M[0],M[1],M[2])},dispatchEvent(...M){return w.dispatchEvent(M[0])},removeEventListener(...M){return w.removeEventListener(M[0],M[1],M[2])}};let R=!1;const O=()=>{A(),R=!0},P=()=>{N(),R=!1};return r(Ki(T,S),O,P)}},hb=(n,e,t,s,i,r,o)=>(a,c)=>{const l=a.createWaveShaper();if(r!==null&&r.name==="webkitAudioContext"&&a.createGain().gain.automationRate===void 0)return t(a,c);ct(l,c);const u=c.curve===null||c.curve instanceof Float32Array?c.curve:new Float32Array(c.curve);if(u!==null&&u.length<2)throw e();Ye(l,{curve:u},"curve"),Ye(l,c,"oversample");let h=null,d=!1;return o(l,"curve",m=>()=>m.call(l),m=>_=>(m.call(l,_),d&&(s(_)&&h===null?h=n(a,l):!s(_)&&h!==null&&(h(),h=null)),_)),i(l,()=>{d=!0,s(l.curve)&&(h=n(a,l))},()=>{d=!1,h!==null&&(h(),h=null)})},db=(n,e,t,s,i)=>(r,{curve:o,oversample:a,...c})=>{const l=r.createWaveShaper(),u=r.createWaveShaper();ct(l,c),ct(u,c);const h=t(r,{...c,gain:1}),d=t(r,{...c,gain:-1}),f=t(r,{...c,gain:1}),p=t(r,{...c,gain:-1});let m=null,_=!1,g=null;const y={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(v){h.channelCount=v,d.channelCount=v,l.channelCount=v,f.channelCount=v,u.channelCount=v,p.channelCount=v},get channelCountMode(){return l.channelCountMode},set channelCountMode(v){h.channelCountMode=v,d.channelCountMode=v,l.channelCountMode=v,f.channelCountMode=v,u.channelCountMode=v,p.channelCountMode=v},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(v){h.channelInterpretation=v,d.channelInterpretation=v,l.channelInterpretation=v,f.channelInterpretation=v,u.channelInterpretation=v,p.channelInterpretation=v},get context(){return l.context},get curve(){return g},set curve(v){if(v!==null&&v.length<2)throw e();if(v===null)l.curve=v,u.curve=v;else{const A=v.length,N=new Float32Array(A+2-A%2),T=new Float32Array(A+2-A%2);N[0]=v[0],T[0]=-v[A-1];const R=Math.ceil((A+1)/2),O=(A+1)/2-1;for(let P=1;P{h.connect(l).connect(f),h.connect(d).connect(u).connect(p).connect(f),_=!0,s(g)&&(m=n(r,h))},w=()=>{h.disconnect(l),l.disconnect(f),h.disconnect(d),d.disconnect(u),u.disconnect(p),p.disconnect(f),_=!1,m!==null&&(m(),m=null)};return i(Ki(y,f),S,w)},Ct=()=>new DOMException("","NotSupportedError"),fb={numberOfChannels:1},pb=(n,e,t,s,i)=>class extends n{constructor(o,a,c){let l;if(typeof o=="number"&&a!==void 0&&c!==void 0)l={length:a,numberOfChannels:o,sampleRate:c};else if(typeof o=="object")l=o;else throw new Error("The given parameters are not valid.");const{length:u,numberOfChannels:h,sampleRate:d}={...fb,...l},f=s(h,u,d);e(xr,()=>xr(f))||f.addEventListener("statechange",(()=>{let p=0;const m=_=>{this._state==="running"&&(p>0?(f.removeEventListener("statechange",m),_.stopImmediatePropagation(),this._waitForThePromiseToSettle(_)):p+=1)};return m})()),super(f,h),this._length=u,this._nativeOfflineAudioContext=f,this._state=null}get length(){return this._nativeOfflineAudioContext.length===void 0?this._length:this._nativeOfflineAudioContext.length}get state(){return this._state===null?this._nativeOfflineAudioContext.state:this._state}startRendering(){return this._state==="running"?Promise.reject(t()):(this._state="running",i(this.destination,this._nativeOfflineAudioContext).finally(()=>{this._state=null,Lf(this)}))}_waitForThePromiseToSettle(o){this._state===null?this._nativeOfflineAudioContext.dispatchEvent(o):setTimeout(()=>this._waitForThePromiseToSettle(o))}},mb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:440,periodicWave:void 0,type:"sine"},gb=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...mb,...l},d=t(u,h),f=r(u),p=f?s():null,m=c.sampleRate/2;super(c,!1,d,p),this._detune=e(this,f,d.detune,153600,-153600),this._frequency=e(this,f,d.frequency,m,-m),this._nativeOscillatorNode=d,this._onended=null,this._oscillatorNodeRenderer=p,this._oscillatorNodeRenderer!==null&&h.periodicWave!==void 0&&(this._oscillatorNodeRenderer.periodicWave=h.periodicWave)}get detune(){return this._detune}get frequency(){return this._frequency}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeOscillatorNode.onended=l;const u=this._nativeOscillatorNode.onended;this._onended=u!==null&&u===l?c:u}get type(){return this._nativeOscillatorNode.type}set type(c){this._nativeOscillatorNode.type=c,this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=null)}setPeriodicWave(c){this._nativeOscillatorNode.setPeriodicWave(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=c)}start(c=0){if(this._nativeOscillatorNode.start(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.start=c),this.context.state!=="closed"){Oi(this);const l=()=>{this._nativeOscillatorNode.removeEventListener("ended",l),Vn(this)&&Hr(this)};this._nativeOscillatorNode.addEventListener("ended",l)}}stop(c=0){this._nativeOscillatorNode.stop(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.stop=c)}},_b=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null,c=null;const l=async(u,h)=>{let d=t(u);const f=wt(d,h);if(!f){const p={channelCount:d.channelCount,channelCountMode:d.channelCountMode,channelInterpretation:d.channelInterpretation,detune:d.detune.value,frequency:d.frequency.value,periodicWave:o===null?void 0:o,type:d.type};d=e(h,p),a!==null&&d.start(a),c!==null&&d.stop(c)}return r.set(h,d),f?(await n(h,u.detune,d.detune),await n(h,u.frequency,d.frequency)):(await s(h,u.detune,d.detune),await s(h,u.frequency,d.frequency)),await i(u,h,d),d};return{set periodicWave(u){o=u},set start(u){a=u},set stop(u){c=u},render(u,h){const d=r.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},yb={channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:1,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1},vb=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...yb,...l},d=t(u,h),f=r(u),p=f?s():null;super(c,!1,d,p),this._nativePannerNode=d,this._orientationX=e(this,f,d.orientationX,Tt,Nt),this._orientationY=e(this,f,d.orientationY,Tt,Nt),this._orientationZ=e(this,f,d.orientationZ,Tt,Nt),this._positionX=e(this,f,d.positionX,Tt,Nt),this._positionY=e(this,f,d.positionY,Tt,Nt),this._positionZ=e(this,f,d.positionZ,Tt,Nt),o(this,1)}get coneInnerAngle(){return this._nativePannerNode.coneInnerAngle}set coneInnerAngle(c){this._nativePannerNode.coneInnerAngle=c}get coneOuterAngle(){return this._nativePannerNode.coneOuterAngle}set coneOuterAngle(c){this._nativePannerNode.coneOuterAngle=c}get coneOuterGain(){return this._nativePannerNode.coneOuterGain}set coneOuterGain(c){this._nativePannerNode.coneOuterGain=c}get distanceModel(){return this._nativePannerNode.distanceModel}set distanceModel(c){this._nativePannerNode.distanceModel=c}get maxDistance(){return this._nativePannerNode.maxDistance}set maxDistance(c){this._nativePannerNode.maxDistance=c}get orientationX(){return this._orientationX}get orientationY(){return this._orientationY}get orientationZ(){return this._orientationZ}get panningModel(){return this._nativePannerNode.panningModel}set panningModel(c){this._nativePannerNode.panningModel=c}get positionX(){return this._positionX}get positionY(){return this._positionY}get positionZ(){return this._positionZ}get refDistance(){return this._nativePannerNode.refDistance}set refDistance(c){this._nativePannerNode.refDistance=c}get rolloffFactor(){return this._nativePannerNode.rolloffFactor}set rolloffFactor(c){this._nativePannerNode.rolloffFactor=c}},bb=(n,e,t,s,i,r,o,a,c,l)=>()=>{const u=new WeakMap;let h=null;const d=async(f,p)=>{let m=null,_=r(f);const g={channelCount:_.channelCount,channelCountMode:_.channelCountMode,channelInterpretation:_.channelInterpretation},y={...g,coneInnerAngle:_.coneInnerAngle,coneOuterAngle:_.coneOuterAngle,coneOuterGain:_.coneOuterGain,distanceModel:_.distanceModel,maxDistance:_.maxDistance,panningModel:_.panningModel,refDistance:_.refDistance,rolloffFactor:_.rolloffFactor},S=wt(_,p);if("bufferSize"in _)m=s(p,{...g,gain:1});else if(!S){const w={...y,orientationX:_.orientationX.value,orientationY:_.orientationY.value,orientationZ:_.orientationZ.value,positionX:_.positionX.value,positionY:_.positionY.value,positionZ:_.positionZ.value};_=i(p,w)}if(u.set(p,m===null?_:m),m!==null){if(h===null){if(o===null)throw new Error("Missing the native OfflineAudioContext constructor.");const P=new o(6,f.context.length,p.sampleRate),M=e(P,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6});M.connect(P.destination),h=(async()=>{const F=await Promise.all([f.orientationX,f.orientationY,f.orientationZ,f.positionX,f.positionY,f.positionZ].map(async(z,ne)=>{const X=t(P,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:ne===0?1:0});return await a(P,z,X.offset),X}));for(let z=0;z<6;z+=1)F[z].connect(M,0,z),F[z].start(0);return l(P)})()}const w=await h,v=s(p,{...g,gain:1});await c(f,p,v);const A=[];for(let P=0;Pz!==N[ne])||F.some((z,ne)=>z!==T[ne])){N=M,T=F;const z=P/p.sampleRate;R.gain.setValueAtTime(0,z),R=s(p,{...g,gain:0}),O=i(p,{...y,orientationX:N[0],orientationY:N[1],orientationZ:N[2],positionX:T[0],positionY:T[1],positionZ:T[2]}),R.gain.setValueAtTime(1,z),v.connect(R).connect(O.inputs[0]),O.connect(m)}}return m}return S?(await n(p,f.orientationX,_.orientationX),await n(p,f.orientationY,_.orientationY),await n(p,f.orientationZ,_.orientationZ),await n(p,f.positionX,_.positionX),await n(p,f.positionY,_.positionY),await n(p,f.positionZ,_.positionZ)):(await a(p,f.orientationX,_.orientationX),await a(p,f.orientationY,_.orientationY),await a(p,f.orientationZ,_.orientationZ),await a(p,f.positionX,_.positionX),await a(p,f.positionY,_.positionY),await a(p,f.positionZ,_.positionZ)),Gi(_)?await c(f,p,_.inputs[0]):await c(f,p,_),_};return{render(f,p){const m=u.get(p);return m!==void 0?Promise.resolve(m):d(f,p)}}},wb={disableNormalization:!1},xb=(n,e,t,s)=>class Yf{constructor(r,o){const a=e(r),c=s({...wb,...o}),l=n(a,c);return t.add(l),l}static[Symbol.hasInstance](r){return r!==null&&typeof r=="object"&&Object.getPrototypeOf(r)===Yf.prototype||t.has(r)}},Tb=(n,e)=>(t,s,i)=>(n(s).replay(i),e(s,t,i)),Eb=(n,e,t)=>async(s,i,r)=>{const o=n(s);await Promise.all(o.activeInputs.map((a,c)=>Array.from(a).map(async([l,u])=>{const d=await e(l).render(l,i),f=s.context.destination;!t(l)&&(s!==f||!t(s))&&d.connect(r,u,c)})).reduce((a,c)=>[...a,...c],[]))},Sb=(n,e,t)=>async(s,i,r)=>{const o=e(s);await Promise.all(Array.from(o.activeInputs).map(async([a,c])=>{const u=await n(a).render(a,i);t(a)||u.connect(r,c)}))},Cb=(n,e,t,s)=>i=>n(xr,()=>xr(i))?Promise.resolve(n(s,s)).then(r=>{if(!r){const o=t(i,512,0,1);i.oncomplete=()=>{o.onaudioprocess=null,o.disconnect()},o.onaudioprocess=()=>i.currentTime,o.connect(i.destination)}return i.startRendering()}):new Promise(r=>{const o=e(i,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});i.oncomplete=a=>{o.disconnect(),r(a.renderedBuffer)},o.connect(i.destination),i.startRendering()}),Ab=n=>(e,t)=>{n.set(e,t)},Nb=n=>(e,t)=>n.set(e,t),Mb=(n,e,t,s,i,r,o,a)=>(c,l)=>t(c).render(c,l).then(()=>Promise.all(Array.from(s(l)).map(u=>t(u).render(u,l)))).then(()=>i(l)).then(u=>(typeof u.copyFromChannel!="function"?(o(u),Rl(u)):e(r,()=>r(u))||a(u),n.add(u),u)),kb={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",pan:0},Ob=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...kb,...c},h=t(l,u),d=r(l),f=d?s():null;super(a,!1,h,f),this._pan=e(this,d,h.pan)}get pan(){return this._pan}},Ib=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,pan:l.pan.value};l=e(c,h)}return r.set(c,l),u?await n(c,a.pan,l.pan):await s(c,a.pan,l.pan),Gi(l)?await i(a,c,l.inputs[0]):await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Rb=n=>()=>{if(n===null)return!1;try{new n({length:1,sampleRate:44100})}catch{return!1}return!0},Db=(n,e)=>async()=>{if(n===null)return!0;if(e===null)return!1;const t=new Blob(['class A extends AudioWorkletProcessor{process(i){this.port.postMessage(i,[i[0][0].buffer])}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),s=new e(1,128,44100),i=URL.createObjectURL(t);let r=!1,o=!1;try{await s.audioWorklet.addModule(i);const a=new n(s,"a",{numberOfOutputs:0}),c=s.createOscillator();a.port.onmessage=()=>r=!0,a.onprocessorerror=()=>o=!0,c.connect(a),c.start(0),await s.startRendering()}catch{}finally{URL.revokeObjectURL(i)}return r&&!o},Pb=(n,e)=>()=>{if(e===null)return Promise.resolve(!1);const t=new e(1,1,44100),s=n(t,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return new Promise(i=>{t.oncomplete=()=>{s.disconnect(),i(t.currentTime!==0)},t.startRendering()})},$b=()=>new DOMException("","UnknownError"),Fb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",curve:null,oversample:"none"},Vb=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Fb,...l},d=t(u,h),p=r(u)?s():null;super(c,!0,d,p),this._isCurveNullified=!1,this._nativeWaveShaperNode=d,o(this,1)}get curve(){return this._isCurveNullified?null:this._nativeWaveShaperNode.curve}set curve(c){if(c===null)this._isCurveNullified=!0,this._nativeWaveShaperNode.curve=new Float32Array([0,0]);else{if(c.length<2)throw e();this._isCurveNullified=!1,this._nativeWaveShaperNode.curve=c}}get oversample(){return this._nativeWaveShaperNode.oversample}set oversample(c){this._nativeWaveShaperNode.oversample=c}},Lb=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,curve:a.curve,oversample:a.oversample};a=n(o,l)}return s.set(o,a),Gi(a)?await t(r,o,a.inputs[0]):await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Bb=()=>typeof window>"u"?null:window,qb=(n,e)=>t=>{t.copyFromChannel=(s,i,r=0)=>{const o=n(r),a=n(i);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+o{const o=n(r),a=n(i);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+oe=>{e.copyFromChannel=(t=>(s,i,r=0)=>{const o=n(r),a=n(i);if(o(s,i,r=0)=>{const o=n(r),a=n(i);if(o(e,t)=>{const s=t.createBuffer(1,1,44100);e.buffer===null&&(e.buffer=s),n(e,"buffer",i=>()=>{const r=i.call(e);return r===s?null:r},i=>r=>i.call(e,r===null?s:r))},Wb=(n,e)=>(t,s)=>{s.channelCount=1,s.channelCountMode="explicit",Object.defineProperty(s,"channelCount",{get:()=>1,set:()=>{throw n()}}),Object.defineProperty(s,"channelCountMode",{get:()=>"explicit",set:()=>{throw n()}});const i=t.createBufferSource();e(s,()=>{const a=s.numberOfInputs;for(let c=0;ci.disconnect(s))},Zf=(n,e,t)=>n.copyFromChannel===void 0?n.getChannelData(t)[0]:(n.copyFromChannel(e,t),e[0]),Xf=n=>{if(n===null)return!1;const e=n.length;return e%2!==0?n[Math.floor(e/2)]!==0:n[e/2-1]+n[e/2]!==0},Xr=(n,e,t,s)=>{let i=n;for(;!i.hasOwnProperty(e);)i=Object.getPrototypeOf(i);const{get:r,set:o}=Object.getOwnPropertyDescriptor(i,e);Object.defineProperty(n,e,{get:t(r),set:s(o)})},zb=n=>({...n,outputChannelCount:n.outputChannelCount!==void 0?n.outputChannelCount:n.numberOfInputs===1&&n.numberOfOutputs===1?[n.channelCount]:Array.from({length:n.numberOfOutputs},()=>1)}),Hb=n=>({...n,channelCount:n.numberOfOutputs}),Gb=n=>{const{imag:e,real:t}=n;return e===void 0?t===void 0?{...n,imag:[0,0],real:[0,0]}:{...n,imag:Array.from(t,()=>0),real:t}:t===void 0?{...n,imag:e,real:Array.from(e,()=>0)}:{...n,imag:e,real:t}},Qf=(n,e,t)=>{try{n.setValueAtTime(e,t)}catch(s){if(s.code!==9)throw s;Qf(n,e,t+1e-7)}},Kb=n=>{const e=n.createBufferSource();e.start();try{e.start()}catch{return!0}return!1},Yb=n=>{const e=n.createBufferSource(),t=n.createBuffer(1,1,44100);e.buffer=t;try{e.start(0,1)}catch{return!1}return!0},Zb=n=>{const e=n.createBufferSource();e.start();try{e.stop()}catch{return!1}return!0},Vl=n=>{const e=n.createOscillator();try{e.start(-1)}catch(t){return t instanceof RangeError}return!1},Jf=n=>{const e=n.createBuffer(1,1,44100),t=n.createBufferSource();t.buffer=e,t.start(),t.stop();try{return t.stop(),!0}catch{return!1}},Ll=n=>{const e=n.createOscillator();try{e.stop(-1)}catch(t){return t instanceof RangeError}return!1},Xb=n=>{const{port1:e,port2:t}=new MessageChannel;try{e.postMessage(n)}finally{e.close(),t.close()}},Qb=n=>{n.start=(e=>(t=0,s=0,i)=>{const r=n.buffer,o=r===null?s:Math.min(r.duration,s);r!==null&&o>r.duration-.5/n.context.sampleRate?e.call(n,t,0,0):e.call(n,t,o,i)})(n.start)},ep=(n,e)=>{const t=e.createGain();n.connect(t);const s=(i=>()=>{i.call(n,t),n.removeEventListener("ended",s)})(n.disconnect);n.addEventListener("ended",s),Ki(n,t),n.stop=(i=>{let r=!1;return(o=0)=>{if(r)try{i.call(n,o)}catch{t.gain.setValueAtTime(0,o)}else i.call(n,o),r=!0}})(n.stop)},Yi=(n,e)=>t=>{const s={value:n};return Object.defineProperties(t,{currentTarget:s,target:s}),typeof e=="function"?e.call(n,t):e.handleEvent.call(n,t)},Jb=v1(ti),ew=S1(ti),tw=Fy(Fa),tp=new WeakMap,nw=tv(tp),cn=fy(new Map,new WeakMap),Sn=Bb(),np=Ov(cn,Nn),Bl=ev(Et),gt=Eb(Et,Bl,Ys),sw=k1(np,Ge,gt),ze=iv($a),Yn=ib(Sn),je=wv(Yn),sp=new WeakMap,ip=Gy(Yi),Qr=Pv(Sn),ql=_v(Qr),Ul=yv(Sn),rp=vv(Sn),Tr=Fv(Sn),nt=ty(b1(If),E1(Jb,ew,Uo,tw,jo,Et,nw,zr,Ge,ti,Vn,Ys,Eo),cn,dv(Lc,jo,Et,Ge,wr,Vn),Nn,Va,Ct,Ry(Uo,Lc,Et,Ge,wr,ze,Vn,je),By(sp,Et,rn),ip,ze,ql,Ul,rp,je,Tr),iw=M1(nt,sw,Nn,np,ze,je),jl=new WeakSet,bh=Iv(Sn),op=Cy(new Uint32Array(1)),Wl=qb(op,Nn),zl=Ub(op),ap=I1(jl,cn,Ct,bh,Yn,Rb(bh),Wl,zl),La=C1(It),cp=Sb(Bl,Gr,Ys),Mn=by(cp),Zi=Dv(La,cn,Kb,Yb,Zb,Vl,Jf,Ll,Qb,jb(Xr),ep),kn=Tb(nv(Gr),cp),rw=P1(Mn,Zi,Ge,kn,gt),ln=ny(w1(Rf),sp,Il,sy,f1,p1,m1,g1,_1,$c,kf,Qr,Qf),ow=D1(nt,rw,ln,ft,Zi,ze,je,Yi),aw=W1(nt,z1,Nn,ft,$v(It,Xr),ze,je,gt),cw=dy(Mn,Gf,Ge,kn,gt),ni=Nb(tp),lw=hy(nt,ln,cw,Va,Gf,ze,je,ni),ws=Mv(ti,Ul),uw=Wb(ft,ws),xs=Wv(Qr,uw),hw=gy(xs,Ge,gt),dw=my(nt,hw,xs,ze,je),fw=vy(Yr,Ge,gt),pw=yy(nt,fw,Yr,ze,je,Hb),mw=Gv(La,Zi,It,ws),Xi=Hv(La,cn,mw,Vl,Ll),gw=Sy(Mn,Xi,Ge,kn,gt),_w=Ey(nt,ln,gw,Xi,ze,je,Yi),lp=Kv(Ct,Xr),yw=My(lp,Ge,gt),vw=Ny(nt,yw,lp,ze,je,ni),bw=$y(Mn,Kf,Ge,kn,gt),ww=Py(nt,ln,bw,Kf,ze,je,ni),up=Yv(Ct),xw=Wy(Mn,up,Ge,kn,gt),Tw=jy(nt,ln,xw,up,Ct,ze,je,ni),Ew=Qy(Mn,It,Ge,kn,gt),Sw=Xy(nt,ln,Ew,It,ze,je),Cw=Jv(Va,ft,Zr,Ct),Ba=Cb(cn,It,Zr,Pb(It,Yn)),Aw=hv(Zi,Ge,Yn,gt,Ba),Nw=Zv(Cw),Mw=lv(nt,Nw,Aw,ze,je,ni),kw=H1(ln,xs,Xi,Zr,Ct,Zf,je,Xr),hp=new WeakMap,Ow=Nv(aw,kw,ip,je,hp,Yi),dp=rb(La,cn,Vl,Jf,Ll,ep),Iw=_b(Mn,dp,Ge,kn,gt),Rw=gb(nt,ln,dp,Iw,ze,je,Yi),fp=xy(Zi),Dw=db(fp,ft,It,Xf,ws),qa=hb(fp,ft,Dw,Xf,ws,Qr,Xr),Pw=ab(Uo,ft,xs,It,Zr,qa,Ct,jo,Zf,ws),pp=ob(Pw),$w=bb(Mn,xs,Xi,It,pp,Ge,Yn,kn,gt,Ba),Fw=vb(nt,ln,pp,$w,ze,je,ni),Vw=cb(Nn),Lw=xb(Vw,ze,new WeakSet,Gb),Bw=ub(xs,Yr,It,qa,Ct,ws),mp=lb(Bw,Ct),qw=Ib(Mn,mp,Ge,kn,gt),Uw=Ob(nt,ln,mp,qw,ze,je),jw=Lb(qa,Ge,gt),Ww=Vb(nt,ft,qa,jw,ze,je,ni),gp=xv(Sn),Hl=Ky(Sn),_p=new WeakMap,zw=rv(_p,Yn),Hw=gp?T1(cn,Ct,Hy(Sn),Hl,Yy(y1),ze,zw,je,Tr,new WeakMap,new WeakMap,Db(Tr,Yn),Sn):void 0,Gw=bv(ql,je),Kw=Iy(jl,cn,Oy,zy,new WeakSet,ze,Gw,Bo,xr,Wl,zl),yp=ly(Hw,iw,ap,ow,lw,dw,pw,_w,vw,Kw,ww,Tw,Sw,Mw,Ow,Rw,Fw,Lw,Uw,Ww),Yw=Tv(nt,eb,ze,je),Zw=Sv(nt,tb,ze,je),Xw=Cv(nt,nb,ze,je),Qw=sb(ft,je),Jw=Av(nt,Qw,ze),e2=j1(yp,ft,Ct,$b,Yw,Zw,Xw,Jw,Qr),Gl=ov(hp),t2=A1(Gl),vp=wy(Nn),n2=Vy(Gl),bp=qy(Nn),wp=new WeakMap,s2=Jy(wp,rn),i2=jv(vp,Nn,ft,xs,Yr,Xi,It,Zr,Ct,bp,Hl,s2,ws),r2=Lv(ft,i2,It,Ct,ws),o2=cy(Mn,vp,Zi,xs,Yr,Xi,It,n2,bp,Hl,Ge,Tr,Yn,kn,gt,Ba),a2=sv(_p),c2=Ab(wp),wh=gp?ry(t2,nt,ln,o2,r2,Et,a2,ze,je,Tr,zb,c2,Xb,Yi):void 0,l2=ky(Ct,Yn),u2=Mb(jl,cn,Bl,Gl,Ba,Bo,Wl,zl),h2=pb(yp,cn,ft,l2,u2),d2=fv($a,ql),f2=pv(Ol,Ul),p2=mv(Il,rp),m2=gv($a,je);function $t(n){return typeof n>"u"}function Ce(n){return!$t(n)}function g2(n){return typeof n=="function"}function Bn(n){return typeof n=="number"}function Us(n){return Object.prototype.toString.call(n)==="[object Object]"&&n.constructor===Object}function _2(n){return typeof n=="boolean"}function Ft(n){return Array.isArray(n)}function qn(n){return typeof n=="string"}function po(n){return qn(n)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(n)}function pe(n,e){if(!n)throw new Error(e)}function on(n,e,t=1/0){if(!(e<=n&&n<=t))throw new RangeError(`Value must be within [${e}, ${t}], got: ${n}`)}function xp(n){!n.isOffline&&n.state!=="running"&&Ua('The AudioContext is "suspended". Invoke Tone.start() from a user action to start the audio.')}let Tp=!1,xh=!1;function Th(n){Tp=n}function y2(n){$t(n)&&Tp&&!xh&&(xh=!0,Ua("Events scheduled inside of scheduled callbacks should use the passed in scheduling time. See https://github.com/Tonejs/Tone.js/wiki/Accurate-Timing"))}let Ep=console;function v2(...n){Ep.log(...n)}function Ua(...n){Ep.warn(...n)}function b2(n){return new e2(n)}function w2(n,e,t){return new h2(n,e,t)}const js=typeof self=="object"?self:null,x2=js&&(js.hasOwnProperty("AudioContext")||js.hasOwnProperty("webkitAudioContext"));function T2(n,e,t){return pe(Ce(wh),"This node only works in a secure context (https or localhost)"),new wh(n,e,t)}function un(n,e,t,s){var i=arguments.length,r=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(i<3?o(r):i>3?o(e,t,r):o(e,t))||r);return i>3&&r&&Object.defineProperty(e,t,r),r}function tt(n,e,t,s){function i(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?r(u.value):i(u.value).then(a,c)}l((s=s.apply(n,e||[])).next())})}class E2{constructor(e,t,s,i){this._callback=e,this._type=t,this._minimumUpdateInterval=Math.max(128/(i||44100),.001),this.updateInterval=s,this._createClock()}_createWorker(){const e=new Blob([` - // the initial timeout time - let timeoutTime = ${(this._updateInterval*1e3).toFixed(1)}; - // onmessage callback - self.onmessage = function(msg){ - timeoutTime = parseInt(msg.data); - }; - // the tick function which posts a message - // and schedules a new tick - function tick(){ - setTimeout(tick, timeoutTime); - self.postMessage('tick'); - } - // call tick initially - tick(); - `],{type:"text/javascript"}),t=URL.createObjectURL(e),s=new Worker(t);s.onmessage=this._callback.bind(this),this._worker=s}_createTimeout(){this._timeout=setTimeout(()=>{this._createTimeout(),this._callback()},this._updateInterval*1e3)}_createClock(){if(this._type==="worker")try{this._createWorker()}catch{this._type="timeout",this._createClock()}else this._type==="timeout"&&this._createTimeout()}_disposeClock(){this._timeout&&clearTimeout(this._timeout),this._worker&&(this._worker.terminate(),this._worker.onmessage=null)}get updateInterval(){return this._updateInterval}set updateInterval(e){var t;this._updateInterval=Math.max(e,this._minimumUpdateInterval),this._type==="worker"&&((t=this._worker)===null||t===void 0||t.postMessage(this._updateInterval*1e3))}get type(){return this._type}set type(e){this._disposeClock(),this._type=e,this._createClock()}dispose(){this._disposeClock()}}function Zs(n){return p2(n)}function ps(n){return f2(n)}function So(n){return m2(n)}function di(n){return d2(n)}function S2(n){return n instanceof ap}function C2(n,e){return n==="value"||Zs(e)||ps(e)||S2(e)}function Ws(n,...e){if(!e.length)return n;const t=e.shift();if(Us(n)&&Us(t))for(const s in t)C2(s,t[s])?n[s]=t[s]:Us(t[s])?(n[s]||Object.assign(n,{[s]:{}}),Ws(n[s],t[s])):Object.assign(n,{[s]:t[s]});return Ws(n,...e)}function A2(n,e){return n.length===e.length&&n.every((t,s)=>e[s]===t)}function W(n,e,t=[],s){const i={},r=Array.from(e);if(Us(r[0])&&s&&!Reflect.has(r[0],s)&&(Object.keys(r[0]).some(a=>Reflect.has(n,a))||(Ws(i,{[s]:r[0]}),t.splice(t.indexOf(s),1),r.shift())),r.length===1&&Us(r[0]))Ws(i,r[0]);else for(let o=0;o{Reflect.has(n,t)&&delete n[t]}),n}/** - * Tone.js - * @author Yotam Mann - * @license http://opensource.org/licenses/MIT MIT License - * @copyright 2014-2019 Yotam Mann - */class Zn{constructor(){this.debug=!1,this._wasDisposed=!1}static getDefaults(){return{}}log(...e){(this.debug||js&&this.toString()===js.TONE_DEBUG_CLASS)&&v2(this,...e)}dispose(){return this._wasDisposed=!0,this}get disposed(){return this._wasDisposed}toString(){return this.name}}Zn.version=Mf;const Kl=1e-6;function Ii(n,e){return n>e+Kl}function Wc(n,e){return Ii(n,e)||Zt(n,e)}function Go(n,e){return n+Klthis.memory){const t=this.length-this.memory;this._timeline.splice(0,t)}return this}remove(e){const t=this._timeline.indexOf(e);return t!==-1&&this._timeline.splice(t,1),this}get(e,t="time"){const s=this._search(e,t);return s!==-1?this._timeline[s]:null}peek(){return this._timeline[0]}shift(){return this._timeline.shift()}getAfter(e,t="time"){const s=this._search(e,t);return s+10&&this._timeline[t-1].time=0?this._timeline[s-1]:null}cancel(e){if(this._timeline.length>1){let t=this._search(e);if(t>=0)if(Zt(this._timeline[t].time,e)){for(let s=t;s>=0&&Zt(this._timeline[s].time,e);s--)t=s;this._timeline=this._timeline.slice(0,t)}else this._timeline=this._timeline.slice(0,t+1);else this._timeline=[]}else this._timeline.length===1&&Wc(this._timeline[0].time,e)&&(this._timeline=[]);return this}cancelBefore(e){const t=this._search(e);return t>=0&&(this._timeline=this._timeline.slice(t+1)),this}previousEvent(e){const t=this._timeline.indexOf(e);return t>0?this._timeline[t-1]:null}_search(e,t="time"){if(this._timeline.length===0)return-1;let s=0;const i=this._timeline.length;let r=i;if(i>0&&this._timeline[i-1][t]<=e)return i-1;for(;s=0&&this._timeline[s].time>=e;)s--;return this._iterate(t,s+1),this}forEachAtTime(e,t){const s=this._search(e);if(s!==-1&&Zt(this._timeline[s].time,e)){let i=s;for(let r=s;r>=0&&Zt(this._timeline[r].time,e);r--)i=r;this._iterate(r=>{t(r)},i,s)}return this}dispose(){return super.dispose(),this._timeline=[],this}}const Sp=[];function ja(n){Sp.push(n)}function k2(n){Sp.forEach(e=>e(n))}const Cp=[];function Wa(n){Cp.push(n)}function O2(n){Cp.forEach(e=>e(n))}class Jr extends Zn{constructor(){super(...arguments),this.name="Emitter"}on(e,t){return e.split(/\W+/).forEach(i=>{$t(this._events)&&(this._events={}),this._events.hasOwnProperty(i)||(this._events[i]=[]),this._events[i].push(t)}),this}once(e,t){const s=(...i)=>{t(...i),this.off(e,s)};return this.on(e,s),this}off(e,t){return e.split(/\W+/).forEach(i=>{if($t(this._events)&&(this._events={}),this._events.hasOwnProperty(i))if($t(t))this._events[i]=[];else{const r=this._events[i];for(let o=r.length-1;o>=0;o--)r[o]===t&&r.splice(o,1)}}),this}emit(e,...t){if(this._events&&this._events.hasOwnProperty(e)){const s=this._events[e].slice(0);for(let i=0,r=s.length;i{const s=Object.getOwnPropertyDescriptor(Jr.prototype,t);Object.defineProperty(e.prototype,t,s)})}dispose(){return super.dispose(),this._events=void 0,this}}class Ap extends Jr{constructor(){super(...arguments),this.isOffline=!1}toJSON(){return{}}}class eo extends Ap{constructor(){var e,t;super(),this.name="Context",this._constants=new Map,this._timeouts=new zt,this._timeoutIds=0,this._initialized=!1,this._closeStarted=!1,this.isOffline=!1,this._workletPromise=null;const s=W(eo.getDefaults(),arguments,["context"]);s.context?(this._context=s.context,this._latencyHint=((e=arguments[0])===null||e===void 0?void 0:e.latencyHint)||""):(this._context=b2({latencyHint:s.latencyHint}),this._latencyHint=s.latencyHint),this._ticker=new E2(this.emit.bind(this,"tick"),s.clockSource,s.updateInterval,this._context.sampleRate),this.on("tick",this._timeoutLoop.bind(this)),this._context.onstatechange=()=>{this.emit("statechange",this.state)},this[!((t=arguments[0])===null||t===void 0)&&t.hasOwnProperty("updateInterval")?"_lookAhead":"lookAhead"]=s.lookAhead}static getDefaults(){return{clockSource:"worker",latencyHint:"interactive",lookAhead:.1,updateInterval:.05}}initialize(){return this._initialized||(k2(this),this._initialized=!0),this}createAnalyser(){return this._context.createAnalyser()}createOscillator(){return this._context.createOscillator()}createBufferSource(){return this._context.createBufferSource()}createBiquadFilter(){return this._context.createBiquadFilter()}createBuffer(e,t,s){return this._context.createBuffer(e,t,s)}createChannelMerger(e){return this._context.createChannelMerger(e)}createChannelSplitter(e){return this._context.createChannelSplitter(e)}createConstantSource(){return this._context.createConstantSource()}createConvolver(){return this._context.createConvolver()}createDelay(e){return this._context.createDelay(e)}createDynamicsCompressor(){return this._context.createDynamicsCompressor()}createGain(){return this._context.createGain()}createIIRFilter(e,t){return this._context.createIIRFilter(e,t)}createPanner(){return this._context.createPanner()}createPeriodicWave(e,t,s){return this._context.createPeriodicWave(e,t,s)}createStereoPanner(){return this._context.createStereoPanner()}createWaveShaper(){return this._context.createWaveShaper()}createMediaStreamSource(e){return pe(di(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamSource(e)}createMediaElementSource(e){return pe(di(this._context),"Not available if OfflineAudioContext"),this._context.createMediaElementSource(e)}createMediaStreamDestination(){return pe(di(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamDestination()}decodeAudioData(e){return this._context.decodeAudioData(e)}get currentTime(){return this._context.currentTime}get state(){return this._context.state}get sampleRate(){return this._context.sampleRate}get listener(){return this.initialize(),this._listener}set listener(e){pe(!this._initialized,"The listener cannot be set after initialization."),this._listener=e}get transport(){return this.initialize(),this._transport}set transport(e){pe(!this._initialized,"The transport cannot be set after initialization."),this._transport=e}get draw(){return this.initialize(),this._draw}set draw(e){pe(!this._initialized,"Draw cannot be set after initialization."),this._draw=e}get destination(){return this.initialize(),this._destination}set destination(e){pe(!this._initialized,"The destination cannot be set after initialization."),this._destination=e}createAudioWorkletNode(e,t){return T2(this.rawContext,e,t)}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){pe(Ce(this.rawContext.audioWorklet),"AudioWorkletNode is only available in a secure context (https or localhost)"),this._workletPromise||(this._workletPromise=this.rawContext.audioWorklet.addModule(e)),yield this._workletPromise})}workletsAreReady(){return tt(this,void 0,void 0,function*(){(yield this._workletPromise)?this._workletPromise:Promise.resolve()})}get updateInterval(){return this._ticker.updateInterval}set updateInterval(e){this._ticker.updateInterval=e}get clockSource(){return this._ticker.type}set clockSource(e){this._ticker.type=e}get lookAhead(){return this._lookAhead}set lookAhead(e){this._lookAhead=e,this.updateInterval=e?e/2:.01}get latencyHint(){return this._latencyHint}get rawContext(){return this._context}now(){return this._context.currentTime+this._lookAhead}immediate(){return this._context.currentTime}resume(){return di(this._context)?this._context.resume():Promise.resolve()}close(){return tt(this,void 0,void 0,function*(){di(this._context)&&this.state!=="closed"&&!this._closeStarted&&(this._closeStarted=!0,yield this._context.close()),this._initialized&&O2(this)})}getConstant(e){if(this._constants.has(e))return this._constants.get(e);{const t=this._context.createBuffer(1,128,this._context.sampleRate),s=t.getChannelData(0);for(let r=0;rthis._constants[e].disconnect()),this.close(),this}_timeoutLoop(){const e=this.now();let t=this._timeouts.peek();for(;this._timeouts.length&&t&&t.time<=e;)t.callback(),this._timeouts.shift(),t=this._timeouts.peek()}setTimeout(e,t){this._timeoutIds++;const s=this.now();return this._timeouts.add({callback:e,id:this._timeoutIds,time:s+t}),this._timeoutIds}clearTimeout(e){return this._timeouts.forEach(t=>{t.id===e&&this._timeouts.remove(t)}),this}clearInterval(e){return this.clearTimeout(e)}setInterval(e,t){const s=++this._timeoutIds,i=()=>{const r=this.now();this._timeouts.add({callback:()=>{e(),i()},id:s,time:r+t})};return i(),s}}class I2 extends Ap{constructor(){super(...arguments),this.lookAhead=0,this.latencyHint=0,this.isOffline=!1}createAnalyser(){return{}}createOscillator(){return{}}createBufferSource(){return{}}createBiquadFilter(){return{}}createBuffer(e,t,s){return{}}createChannelMerger(e){return{}}createChannelSplitter(e){return{}}createConstantSource(){return{}}createConvolver(){return{}}createDelay(e){return{}}createDynamicsCompressor(){return{}}createGain(){return{}}createIIRFilter(e,t){return{}}createPanner(){return{}}createPeriodicWave(e,t,s){return{}}createStereoPanner(){return{}}createWaveShaper(){return{}}createMediaStreamSource(e){return{}}createMediaElementSource(e){return{}}createMediaStreamDestination(){return{}}decodeAudioData(e){return Promise.resolve({})}createAudioWorkletNode(e,t){return{}}get rawContext(){return{}}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){return Promise.resolve()})}resume(){return Promise.resolve()}setTimeout(e,t){return 0}clearTimeout(e){return this}setInterval(e,t){return 0}clearInterval(e){return this}getConstant(e){return{}}get currentTime(){return 0}get state(){return{}}get sampleRate(){return 0}get listener(){return{}}get transport(){return{}}get draw(){return{}}set draw(e){}get destination(){return{}}set destination(e){}now(){return 0}immediate(){return 0}}function ke(n,e){Ft(e)?e.forEach(t=>ke(n,t)):Object.defineProperty(n,e,{enumerable:!0,writable:!1})}function Yl(n,e){Ft(e)?e.forEach(t=>Yl(n,t)):Object.defineProperty(n,e,{writable:!0})}const Fe=()=>{};class Le extends Zn{constructor(){super(),this.name="ToneAudioBuffer",this.onload=Fe;const e=W(Le.getDefaults(),arguments,["url","onload","onerror"]);this.reverse=e.reverse,this.onload=e.onload,qn(e.url)?this.load(e.url).catch(e.onerror):e.url&&this.set(e.url)}static getDefaults(){return{onerror:Fe,onload:Fe,reverse:!1}}get sampleRate(){return this._buffer?this._buffer.sampleRate:Pt().sampleRate}set(e){return e instanceof Le?e.loaded?this._buffer=e.get():e.onload=()=>{this.set(e),this.onload(this)}:this._buffer=e,this._reversed&&this._reverse(),this}get(){return this._buffer}load(e){return tt(this,void 0,void 0,function*(){const t=Le.load(e).then(s=>{this.set(s),this.onload(this)});Le.downloads.push(t);try{yield t}finally{const s=Le.downloads.indexOf(t);Le.downloads.splice(s,1)}return this})}dispose(){return super.dispose(),this._buffer=void 0,this}fromArray(e){const t=Ft(e)&&e[0].length>0,s=t?e.length:1,i=t?e[0].length:e.length,r=Pt(),o=r.createBuffer(s,i,r.sampleRate),a=!t&&s===1?[e]:e;for(let c=0;ci/s),this.fromArray(t)}return this}toArray(e){if(Bn(e))return this.getChannelData(e);if(this.numberOfChannels===1)return this.toArray(0);{const t=[];for(let s=0;s0}get duration(){return this._buffer?this._buffer.duration:0}get length(){return this._buffer?this._buffer.length:0}get numberOfChannels(){return this._buffer?this._buffer.numberOfChannels:0}get reverse(){return this._reversed}set reverse(e){this._reversed!==e&&(this._reversed=e,this._reverse())}static fromArray(e){return new Le().fromArray(e)}static fromUrl(e){return tt(this,void 0,void 0,function*(){return yield new Le().load(e)})}static load(e){return tt(this,void 0,void 0,function*(){const t=e.match(/\[([^\]\[]+\|.+)\]$/);if(t){const c=t[1].split("|");let l=c[0];for(const u of c)if(Le.supportsType(u)){l=u;break}e=e.replace(t[0],l)}const s=Le.baseUrl===""||Le.baseUrl.endsWith("/")?Le.baseUrl:Le.baseUrl+"/",i=document.createElement("a");i.href=s+e,i.pathname=(i.pathname+i.hash).split("/").map(encodeURIComponent).join("/");const r=yield fetch(i.href);if(!r.ok)throw new Error(`could not load url: ${e}`);const o=yield r.arrayBuffer();return yield Pt().decodeAudioData(o)})}static supportsType(e){const t=e.split("."),s=t[t.length-1];return document.createElement("audio").canPlayType("audio/"+s)!==""}static loaded(){return tt(this,void 0,void 0,function*(){for(yield Promise.resolve();Le.downloads.length;)yield Le.downloads[0]})}}Le.baseUrl="";Le.downloads=[];class za extends eo{constructor(){super({clockSource:"offline",context:So(arguments[0])?arguments[0]:w2(arguments[0],arguments[1]*arguments[2],arguments[2]),lookAhead:0,updateInterval:So(arguments[0])?128/arguments[0].sampleRate:128/arguments[2]}),this.name="OfflineContext",this._currentTime=0,this.isOffline=!0,this._duration=So(arguments[0])?arguments[0].length/arguments[0].sampleRate:arguments[1]}now(){return this._currentTime}get currentTime(){return this._currentTime}_renderClock(e){return tt(this,void 0,void 0,function*(){let t=0;for(;this._duration-this._currentTime>=0;){this.emit("tick"),this._currentTime+=128/this.sampleRate,t++;const s=Math.floor(this.sampleRate/128);e&&t%s===0&&(yield new Promise(i=>setTimeout(i,1)))}})}render(e=!0){return tt(this,void 0,void 0,function*(){yield this.workletsAreReady(),yield this._renderClock(e);const t=yield this._context.startRendering();return new Le(t)})}close(){return Promise.resolve()}}const Np=new I2;let Fs=Np;function Pt(){return Fs===Np&&x2&&R2(new eo),Fs}function R2(n,e=!1){e&&Fs.dispose(),di(n)?Fs=new eo(n):So(n)?Fs=new za(n):Fs=n}function D2(){return Fs.resume()}if(js&&!js.TONE_SILENCE_LOGGING){const e=` * Tone.js v${Mf} * `;console.log(`%c${e}`,"background: #000; color: #fff")}function P2(n){return Math.pow(10,n/20)}function $2(n){return 20*(Math.log(n)/Math.LN10)}function Mp(n){return Math.pow(2,n/12)}let Ha=440;function F2(){return Ha}function V2(n){Ha=n}function Vs(n){return Math.round(kp(n))}function kp(n){return 69+12*Math.log2(n/Ha)}function Op(n){return Ha*Math.pow(2,(n-69)/12)}class Zl extends Zn{constructor(e,t,s){super(),this.defaultUnits="s",this._val=t,this._units=s,this.context=e,this._expressions=this._getExpressions()}_getExpressions(){return{hz:{method:e=>this._frequencyToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)hz$/i},i:{method:e=>this._ticksToUnits(parseInt(e,10)),regexp:/^(\d+)i$/i},m:{method:e=>this._beatsToUnits(parseInt(e,10)*this._getTimeSignature()),regexp:/^(\d+)m$/i},n:{method:(e,t)=>{const s=parseInt(e,10),i=t==="."?1.5:1;return s===1?this._beatsToUnits(this._getTimeSignature())*i:this._beatsToUnits(4/s)*i},regexp:/^(\d+)n(\.?)$/i},number:{method:e=>this._expressions[this.defaultUnits].method.call(this,e),regexp:/^(\d+(?:\.\d+)?)$/},s:{method:e=>this._secondsToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)s$/},samples:{method:e=>parseInt(e,10)/this.context.sampleRate,regexp:/^(\d+)samples$/},t:{method:e=>{const t=parseInt(e,10);return this._beatsToUnits(8/(Math.floor(t)*3))},regexp:/^(\d+)t$/i},tr:{method:(e,t,s)=>{let i=0;return e&&e!=="0"&&(i+=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(i+=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(i+=this._beatsToUnits(parseFloat(s)/4)),i},regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?$/}}}valueOf(){if(this._val instanceof Zl&&this.fromType(this._val),$t(this._val))return this._noArg();if(qn(this._val)&&$t(this._units)){for(const e in this._expressions)if(this._expressions[e].regexp.test(this._val.trim())){this._units=e;break}}else if(Us(this._val)){let e=0;for(const t in this._val)if(Ce(this._val[t])){const s=this._val[t],i=new this.constructor(this.context,t).valueOf()*s;e+=i}return e}if(Ce(this._units)){const e=this._expressions[this._units],t=this._val.toString().trim().match(e.regexp);return t?e.method.apply(this,t.slice(1)):e.method.call(this,this._val)}else return qn(this._val)?parseFloat(this._val):this._val}_frequencyToUnits(e){return 1/e}_beatsToUnits(e){return 60/this._getBpm()*e}_secondsToUnits(e){return e}_ticksToUnits(e){return e*this._beatsToUnits(1)/this._getPPQ()}_noArg(){return this._now()}_getBpm(){return this.context.transport.bpm.value}_getTimeSignature(){return this.context.transport.timeSignature}_getPPQ(){return this.context.transport.PPQ}fromType(e){switch(this._units=void 0,this.defaultUnits){case"s":this._val=e.toSeconds();break;case"i":this._val=e.toTicks();break;case"hz":this._val=e.toFrequency();break;case"midi":this._val=e.toMidi();break}return this}toFrequency(){return 1/this.toSeconds()}toSamples(){return this.toSeconds()*this.context.sampleRate}toMilliseconds(){return this.toSeconds()*1e3}}class Jt extends Zl{constructor(){super(...arguments),this.name="TimeClass"}_getExpressions(){return Object.assign(super._getExpressions(),{now:{method:e=>this._now()+new this.constructor(this.context,e).valueOf(),regexp:/^\+(.+)/},quantize:{method:e=>{const t=new Jt(this.context,e).valueOf();return this._secondsToUnits(this.context.transport.nextSubdivision(t))},regexp:/^@(.+)/}})}quantize(e,t=1){const s=new this.constructor(this.context,e).valueOf(),i=this.valueOf(),a=Math.round(i/s)*s-i;return i+a*t}toNotation(){const e=this.toSeconds(),t=["1m"];for(let r=1;r<9;r++){const o=Math.pow(2,r);t.push(o+"n."),t.push(o+"n"),t.push(o+"t")}t.push("0");let s=t[0],i=new Jt(this.context,t[0]).toSeconds();return t.forEach(r=>{const o=new Jt(this.context,r).toSeconds();Math.abs(o-e)3&&(i=parseFloat(parseFloat(r).toFixed(3))),[s,t,i].join(":")}toTicks(){const e=this._beatsToUnits(1);return this.valueOf()/e*this._getPPQ()}toSeconds(){return this.valueOf()}toMidi(){return Vs(this.toFrequency())}_now(){return this.context.now()}}class Mt extends Jt{constructor(){super(...arguments),this.name="Frequency",this.defaultUnits="hz"}static get A4(){return F2()}static set A4(e){V2(e)}_getExpressions(){return Object.assign({},super._getExpressions(),{midi:{regexp:/^(\d+(?:\.\d+)?midi)/,method(e){return this.defaultUnits==="midi"?e:Mt.mtof(e)}},note:{regexp:/^([a-g]{1}(?:b|#|##|x|bb|###|#x|x#|bbb)?)(-?[0-9]+)/i,method(e,t){const i=L2[e.toLowerCase()]+(parseInt(t,10)+1)*12;return this.defaultUnits==="midi"?i:Mt.mtof(i)}},tr:{regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?/,method(e,t,s){let i=1;return e&&e!=="0"&&(i*=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(i*=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(i*=this._beatsToUnits(parseFloat(s)/4)),i}}})}transpose(e){return new Mt(this.context,this.valueOf()*Mp(e))}harmonize(e){return e.map(t=>this.transpose(t))}toMidi(){return Vs(this.valueOf())}toNote(){const e=this.toFrequency(),t=Math.log2(e/Mt.A4);let s=Math.round(12*t)+57;const i=Math.floor(s/12);return i<0&&(s+=-12*i),B2[s%12]+i.toString()}toSeconds(){return 1/super.toSeconds()}toTicks(){const e=this._beatsToUnits(1),t=this.valueOf()/e;return Math.floor(t*this._getPPQ())}_noArg(){return 0}_frequencyToUnits(e){return e}_ticksToUnits(e){return 1/(e*60/(this._getBpm()*this._getPPQ()))}_beatsToUnits(e){return 1/super._beatsToUnits(e)}_secondsToUnits(e){return 1/e}static mtof(e){return Op(e)}static ftom(e){return Vs(e)}}const L2={cbbb:-3,cbb:-2,cb:-1,c:0,"c#":1,cx:2,"c##":2,"c###":3,"cx#":3,"c#x":3,dbbb:-1,dbb:0,db:1,d:2,"d#":3,dx:4,"d##":4,"d###":5,"dx#":5,"d#x":5,ebbb:1,ebb:2,eb:3,e:4,"e#":5,ex:6,"e##":6,"e###":7,"ex#":7,"e#x":7,fbbb:2,fbb:3,fb:4,f:5,"f#":6,fx:7,"f##":7,"f###":8,"fx#":8,"f#x":8,gbbb:4,gbb:5,gb:6,g:7,"g#":8,gx:9,"g##":9,"g###":10,"gx#":10,"g#x":10,abbb:6,abb:7,ab:8,a:9,"a#":10,ax:11,"a##":11,"a###":12,"ax#":12,"a#x":12,bbbb:8,bbb:9,bb:10,b:11,"b#":12,bx:13,"b##":13,"b###":14,"bx#":14,"b#x":14},B2=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];function Ip(n,e){return new Mt(Pt(),n,e)}class lr extends Jt{constructor(){super(...arguments),this.name="TransportTime"}_now(){return this.context.transport.seconds}}class kt extends Zn{constructor(){super();const e=W(kt.getDefaults(),arguments,["context"]);this.defaultContext?this.context=this.defaultContext:this.context=e.context}static getDefaults(){return{context:Pt()}}now(){return this.context.currentTime+this.context.lookAhead}immediate(){return this.context.currentTime}get sampleTime(){return 1/this.context.sampleRate}get blockTime(){return 128/this.context.sampleRate}toSeconds(e){return y2(e),new Jt(this.context,e).toSeconds()}toFrequency(e){return new Mt(this.context,e).toFrequency()}toTicks(e){return new lr(this.context,e).toTicks()}_getPartialProperties(e){const t=this.get();return Object.keys(t).forEach(s=>{$t(e[s])&&delete t[s]}),t}get(){const e=N2(this);return Object.keys(e).forEach(t=>{if(Reflect.has(this,t)){const s=this[t];Ce(s)&&Ce(s.value)&&Ce(s.setValueAtTime)?e[t]=s.value:s instanceof kt?e[t]=s._getPartialProperties(e[t]):Ft(s)||Bn(s)||qn(s)||_2(s)?e[t]=s:delete e[t]}}),e}set(e){return Object.keys(e).forEach(t=>{Reflect.has(this,t)&&Ce(this[t])&&(this[t]&&Ce(this[t].value)&&Ce(this[t].setValueAtTime)?this[t].value!==e[t]&&(this[t].value=e[t]):this[t]instanceof kt?this[t].set(e[t]):this[t]=e[t])}),this}}class Xl extends zt{constructor(e="stopped"){super(),this.name="StateTimeline",this._initial=e,this.setStateAtTime(this._initial,0)}getValueAtTime(e){const t=this.get(e);return t!==null?t.state:this._initial}setStateAtTime(e,t,s){return on(t,0),this.add(Object.assign({},s,{state:e,time:t})),this}getLastState(e,t){const s=this._search(t);for(let i=s;i>=0;i--){const r=this._timeline[i];if(r.state===e)return r}}getNextState(e,t){const s=this._search(t);if(s!==-1)for(let i=s;i0,"timeConstant must be a number greater than 0");const r=this.toSeconds(t);return this._assertRange(i),pe(isFinite(i)&&isFinite(r),`Invalid argument(s) to setTargetAtTime: ${JSON.stringify(e)}, ${JSON.stringify(t)}`),this._events.add({constant:s,time:r,type:"setTargetAtTime",value:i}),this.log(this.units,"setTargetAtTime",e,r,s),this._param.setTargetAtTime(i,r,s),this}setValueCurveAtTime(e,t,s,i=1){s=this.toSeconds(s),t=this.toSeconds(t);const r=this._fromType(e[0])*i;this.setValueAtTime(this._toType(r),t);const o=s/(e.length-1);for(let a=1;a{i.type==="cancelScheduledValues"?e.cancelScheduledValues(i.time):i.type==="setTargetAtTime"?e.setTargetAtTime(i.value,i.time,i.constant):e[i.type](i.value,i.time)}),this}setParam(e){pe(this._swappable,"The Param must be assigned as 'swappable' in the constructor");const t=this.input;return t.disconnect(this._param),this.apply(e),this._param=e,t.connect(this._param),this}dispose(){return super.dispose(),this._events.dispose(),this}get defaultValue(){return this._toType(this._param.defaultValue)}_exponentialApproach(e,t,s,i,r){return s+(t-s)*Math.exp(-(r-e)/i)}_linearInterpolate(e,t,s,i,r){return t+(i-t)*((r-e)/(s-e))}_exponentialInterpolate(e,t,s,i,r){return t*Math.pow(i/t,(r-e)/(s-e))}}class he extends kt{constructor(){super(...arguments),this._internalChannels=[]}get numberOfInputs(){return Ce(this.input)?Zs(this.input)||this.input instanceof Te?1:this.input.numberOfInputs:0}get numberOfOutputs(){return Ce(this.output)?this.output.numberOfOutputs:0}_isAudioNode(e){return Ce(e)&&(e instanceof he||ps(e))}_getInternalNodes(){const e=this._internalChannels.slice(0);return this._isAudioNode(this.input)&&e.push(this.input),this._isAudioNode(this.output)&&this.input!==this.output&&e.push(this.output),e}_setChannelProperties(e){this._getInternalNodes().forEach(s=>{s.channelCount=e.channelCount,s.channelCountMode=e.channelCountMode,s.channelInterpretation=e.channelInterpretation})}_getChannelProperties(){const e=this._getInternalNodes();pe(e.length>0,"ToneAudioNode does not have any internal nodes");const t=e[0];return{channelCount:t.channelCount,channelCountMode:t.channelCountMode,channelInterpretation:t.channelInterpretation}}get channelCount(){return this._getChannelProperties().channelCount}set channelCount(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCount:e}))}get channelCountMode(){return this._getChannelProperties().channelCountMode}set channelCountMode(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCountMode:e}))}get channelInterpretation(){return this._getChannelProperties().channelInterpretation}set channelInterpretation(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelInterpretation:e}))}connect(e,t=0,s=0){return Un(this,e,t,s),this}toDestination(){return this.connect(this.context.destination),this}toMaster(){return Ua("toMaster() has been renamed toDestination()"),this.toDestination()}disconnect(e,t=0,s=0){return Rp(this,e,t,s),this}chain(...e){return Er(this,...e),this}fan(...e){return e.forEach(t=>this.connect(t)),this}dispose(){return super.dispose(),Ce(this.input)&&(this.input instanceof he?this.input.dispose():ps(this.input)&&this.input.disconnect()),Ce(this.output)&&(this.output instanceof he?this.output.dispose():ps(this.output)&&this.output.disconnect()),this._internalChannels=[],this}}function Er(...n){const e=n.shift();n.reduce((t,s)=>(t instanceof he?t.connect(s):ps(t)&&Un(t,s),s),e)}function Un(n,e,t=0,s=0){for(pe(Ce(n),"Cannot connect from undefined node"),pe(Ce(e),"Cannot connect to undefined node"),(e instanceof he||ps(e))&&pe(e.numberOfInputs>0,"Cannot connect to node with no inputs"),pe(n.numberOfOutputs>0,"Cannot connect from node with no outputs");e instanceof he||e instanceof Te;)Ce(e.input)&&(e=e.input);for(;n instanceof he;)Ce(n.output)&&(n=n.output);Zs(e)?n.connect(e,t):n.connect(e,t,s)}function Rp(n,e,t=0,s=0){if(Ce(e))for(;e instanceof he;)e=e.input;for(;!ps(n);)Ce(n.output)&&(n=n.output);Zs(e)?n.disconnect(e,t):ps(e)?n.disconnect(e,t,s):n.disconnect()}class De extends he{constructor(){super(W(De.getDefaults(),arguments,["gain","units"])),this.name="Gain",this._gainNode=this.context.createGain(),this.input=this._gainNode,this.output=this._gainNode;const e=W(De.getDefaults(),arguments,["gain","units"]);this.gain=new Te({context:this.context,convert:e.convert,param:this._gainNode.gain,units:e.units,value:e.gain,minValue:e.minValue,maxValue:e.maxValue}),ke(this,"gain")}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,gain:1,units:"gain"})}dispose(){return super.dispose(),this._gainNode.disconnect(),this.gain.dispose(),this}}class Ri extends he{constructor(e){super(e),this.onended=Fe,this._startTime=-1,this._stopTime=-1,this._timeout=-1,this.output=new De({context:this.context,gain:0}),this._gainNode=this.output,this.getStateAtTime=function(t){const s=this.toSeconds(t);return this._startTime!==-1&&s>=this._startTime&&(this._stopTime===-1||s<=this._stopTime)?"started":"stopped"},this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut,this._curve=e.curve,this.onended=e.onended}static getDefaults(){return Object.assign(he.getDefaults(),{curve:"linear",fadeIn:0,fadeOut:0,onended:Fe})}_startGain(e,t=1){pe(this._startTime===-1,"Source cannot be started more than once");const s=this.toSeconds(this._fadeIn);return this._startTime=e+s,this._startTime=Math.max(this._startTime,this.context.currentTime),s>0?(this._gainNode.gain.setValueAtTime(0,e),this._curve==="linear"?this._gainNode.gain.linearRampToValueAtTime(t,e+s):this._gainNode.gain.exponentialApproachValueAtTime(t,e,s)):this._gainNode.gain.setValueAtTime(t,e),this}stop(e){return this.log("stop",e),this._stopGain(this.toSeconds(e)),this}_stopGain(e){pe(this._startTime!==-1,"'start' must be called before 'stop'"),this.cancelStop();const t=this.toSeconds(this._fadeOut);return this._stopTime=this.toSeconds(e)+t,this._stopTime=Math.max(this._stopTime,this.now()),t>0?this._curve==="linear"?this._gainNode.gain.linearRampTo(0,t,e):this._gainNode.gain.targetRampTo(0,t,e):(this._gainNode.gain.cancelAndHoldAtTime(e),this._gainNode.gain.setValueAtTime(0,e)),this.context.clearTimeout(this._timeout),this._timeout=this.context.setTimeout(()=>{const s=this._curve==="exponential"?t*2:0;this._stopSource(this.now()+s),this._onended()},this._stopTime-this.context.currentTime),this}_onended(){if(this.onended!==Fe&&(this.onended(this),this.onended=Fe,!this.context.isOffline)){const e=()=>this.dispose();typeof window.requestIdleCallback<"u"?window.requestIdleCallback(e):setTimeout(e,1e3)}}get state(){return this.getStateAtTime(this.now())}cancelStop(){return this.log("cancelStop"),pe(this._startTime!==-1,"Source is not started"),this._gainNode.gain.cancelScheduledValues(this._startTime+this.sampleTime),this.context.clearTimeout(this._timeout),this._stopTime=-1,this}dispose(){return super.dispose(),this._gainNode.dispose(),this.onended=Fe,this}}class Ko extends Ri{constructor(){super(W(Ko.getDefaults(),arguments,["offset"])),this.name="ToneConstantSource",this._source=this.context.createConstantSource();const e=W(Ko.getDefaults(),arguments,["offset"]);Un(this._source,this._gainNode),this.offset=new Te({context:this.context,convert:e.convert,param:this._source.offset,units:e.units,value:e.offset,minValue:e.minValue,maxValue:e.maxValue})}static getDefaults(){return Object.assign(Ri.getDefaults(),{convert:!0,offset:1,units:"number"})}start(e){const t=this.toSeconds(e);return this.log("start",t),this._startGain(t),this._source.start(t),this}_stopSource(e){this._source.stop(e)}dispose(){return super.dispose(),this.state==="started"&&this.stop(),this._source.disconnect(),this.offset.dispose(),this}}class qe extends he{constructor(){super(W(qe.getDefaults(),arguments,["value","units"])),this.name="Signal",this.override=!0;const e=W(qe.getDefaults(),arguments,["value","units"]);this.output=this._constantSource=new Ko({context:this.context,convert:e.convert,offset:e.value,units:e.units,minValue:e.minValue,maxValue:e.maxValue}),this._constantSource.start(0),this.input=this._param=this._constantSource.offset}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,units:"number",value:0})}connect(e,t=0,s=0){return Ga(this,e,t,s),this}dispose(){return super.dispose(),this._param.dispose(),this._constantSource.dispose(),this}setValueAtTime(e,t){return this._param.setValueAtTime(e,t),this}getValueAtTime(e){return this._param.getValueAtTime(e)}setRampPoint(e){return this._param.setRampPoint(e),this}linearRampToValueAtTime(e,t){return this._param.linearRampToValueAtTime(e,t),this}exponentialRampToValueAtTime(e,t){return this._param.exponentialRampToValueAtTime(e,t),this}exponentialRampTo(e,t,s){return this._param.exponentialRampTo(e,t,s),this}linearRampTo(e,t,s){return this._param.linearRampTo(e,t,s),this}targetRampTo(e,t,s){return this._param.targetRampTo(e,t,s),this}exponentialApproachValueAtTime(e,t,s){return this._param.exponentialApproachValueAtTime(e,t,s),this}setTargetAtTime(e,t,s){return this._param.setTargetAtTime(e,t,s),this}setValueCurveAtTime(e,t,s,i){return this._param.setValueCurveAtTime(e,t,s,i),this}cancelScheduledValues(e){return this._param.cancelScheduledValues(e),this}cancelAndHoldAtTime(e){return this._param.cancelAndHoldAtTime(e),this}rampTo(e,t,s){return this._param.rampTo(e,t,s),this}get value(){return this._param.value}set value(e){this._param.value=e}get convert(){return this._param.convert}set convert(e){this._param.convert=e}get units(){return this._param.units}get overridden(){return this._param.overridden}set overridden(e){this._param.overridden=e}get maxValue(){return this._param.maxValue}get minValue(){return this._param.minValue}apply(e){return this._param.apply(e),this}}function Ga(n,e,t,s){(e instanceof Te||Zs(e)||e instanceof qe&&e.override)&&(e.cancelScheduledValues(0),e.setValueAtTime(0,0),e instanceof qe&&(e.overridden=!0)),Un(n,e,t,s)}class Yo extends Te{constructor(){super(W(Yo.getDefaults(),arguments,["value"])),this.name="TickParam",this._events=new zt(1/0),this._multiplier=1;const e=W(Yo.getDefaults(),arguments,["value"]);this._multiplier=e.multiplier,this._events.cancel(0),this._events.add({ticks:0,time:0,type:"setValueAtTime",value:this._fromType(e.value)}),this.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(Te.getDefaults(),{multiplier:1,units:"hertz",value:1})}setTargetAtTime(e,t,s){t=this.toSeconds(t),this.setRampPoint(t);const i=this._fromType(e),r=this._events.get(t),o=Math.round(Math.max(1/s,1));for(let a=0;a<=o;a++){const c=s*a+t,l=this._exponentialApproach(r.time,r.value,i,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}setValueAtTime(e,t){const s=this.toSeconds(t);super.setValueAtTime(e,t);const i=this._events.get(s),r=this._events.previousEvent(i),o=this._getTicksUntilEvent(r,s);return i.ticks=Math.max(o,0),this}linearRampToValueAtTime(e,t){const s=this.toSeconds(t);super.linearRampToValueAtTime(e,t);const i=this._events.get(s),r=this._events.previousEvent(i),o=this._getTicksUntilEvent(r,s);return i.ticks=Math.max(o,0),this}exponentialRampToValueAtTime(e,t){t=this.toSeconds(t);const s=this._fromType(e),i=this._events.get(t),r=Math.round(Math.max((t-i.time)*10,1)),o=(t-i.time)/r;for(let a=0;a<=r;a++){const c=o*a+i.time,l=this._exponentialInterpolate(i.time,i.value,t,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}_getTicksUntilEvent(e,t){if(e===null)e={ticks:0,time:0,type:"setValueAtTime",value:0};else if($t(e.ticks)){const o=this._events.previousEvent(e);e.ticks=this._getTicksUntilEvent(o,e.time)}const s=this._fromType(this.getValueAtTime(e.time));let i=this._fromType(this.getValueAtTime(t));const r=this._events.get(t);return r&&r.time===t&&r.type==="setValueAtTime"&&(i=this._fromType(this.getValueAtTime(t-this.sampleTime))),.5*(t-e.time)*(s+i)+e.ticks}getTicksAtTime(e){const t=this.toSeconds(e),s=this._events.get(t);return Math.max(this._getTicksUntilEvent(s,t),0)}getDurationOfTicks(e,t){const s=this.toSeconds(t),i=this.getTicksAtTime(t);return this.getTimeOfTick(i+e)-s}getTimeOfTick(e){const t=this._events.get(e,"ticks"),s=this._events.getAfter(e,"ticks");if(t&&t.ticks===e)return t.time;if(t&&s&&s.type==="linearRampToValueAtTime"&&t.value!==s.value){const i=this._fromType(this.getValueAtTime(t.time)),o=(this._fromType(this.getValueAtTime(s.time))-i)/(s.time-t.time),a=Math.sqrt(Math.pow(i,2)-2*o*(t.ticks-e)),c=(-i+a)/o,l=(-i-a)/o;return(c>0?c:l)+t.time}else return t?t.value===0?1/0:t.time+(e-t.ticks)/t.value:e/this._initialValue}ticksToTime(e,t){return this.getDurationOfTicks(e,t)}timeToTicks(e,t){const s=this.toSeconds(t),i=this.toSeconds(e),r=this.getTicksAtTime(s);return this.getTicksAtTime(s+i)-r}_fromType(e){return this.units==="bpm"&&this.multiplier?1/(60/e/this.multiplier):super._fromType(e)}_toType(e){return this.units==="bpm"&&this.multiplier?e/this.multiplier*60:super._toType(e)}get multiplier(){return this._multiplier}set multiplier(e){const t=this.value;this._multiplier=e,this.cancelScheduledValues(0),this.setValueAtTime(t,0)}}class Zo extends qe{constructor(){super(W(Zo.getDefaults(),arguments,["value"])),this.name="TickSignal";const e=W(Zo.getDefaults(),arguments,["value"]);this.input=this._param=new Yo({context:this.context,convert:e.convert,multiplier:e.multiplier,param:this._constantSource.offset,units:e.units,value:e.value})}static getDefaults(){return Object.assign(qe.getDefaults(),{multiplier:1,units:"hertz",value:1})}ticksToTime(e,t){return this._param.ticksToTime(e,t)}timeToTicks(e,t){return this._param.timeToTicks(e,t)}getTimeOfTick(e){return this._param.getTimeOfTick(e)}getDurationOfTicks(e,t){return this._param.getDurationOfTicks(e,t)}getTicksAtTime(e){return this._param.getTicksAtTime(e)}get multiplier(){return this._param.multiplier}set multiplier(e){this._param.multiplier=e}dispose(){return super.dispose(),this._param.dispose(),this}}class Xo extends kt{constructor(){super(W(Xo.getDefaults(),arguments,["frequency"])),this.name="TickSource",this._state=new Xl,this._tickOffset=new zt,this._ticksAtTime=new zt,this._secondsAtTime=new zt;const e=W(Xo.getDefaults(),arguments,["frequency"]);this.frequency=new Zo({context:this.context,units:e.units,value:e.frequency}),ke(this,"frequency"),this._state.setStateAtTime("stopped",0),this.setTicksAtTime(0,0)}static getDefaults(){return Object.assign({frequency:1,units:"hertz"},kt.getDefaults())}get state(){return this.getStateAtTime(this.now())}start(e,t){const s=this.toSeconds(e);return this._state.getValueAtTime(s)!=="started"&&(this._state.setStateAtTime("started",s),Ce(t)&&this.setTicksAtTime(t,s),this._ticksAtTime.cancel(s),this._secondsAtTime.cancel(s)),this}stop(e){const t=this.toSeconds(e);if(this._state.getValueAtTime(t)==="stopped"){const s=this._state.get(t);s&&s.time>0&&(this._tickOffset.cancel(s.time),this._state.cancel(s.time))}return this._state.cancel(t),this._state.setStateAtTime("stopped",t),this.setTicksAtTime(0,t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}pause(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)==="started"&&(this._state.setStateAtTime("paused",t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t)),this}cancel(e){return e=this.toSeconds(e),this._state.cancel(e),this._tickOffset.cancel(e),this._ticksAtTime.cancel(e),this._secondsAtTime.cancel(e),this}getTicksAtTime(e){const t=this.toSeconds(e),s=this._state.getLastState("stopped",t),i=this._ticksAtTime.get(t),r={state:"paused",time:t};this._state.add(r);let o=i||s,a=i?i.ticks:0,c=null;return this._state.forEachBetween(o.time,t+this.sampleTime,l=>{let u=o.time;const h=this._tickOffset.get(l.time);h&&h.time>=o.time&&(a=h.ticks,u=h.time),o.state==="started"&&l.state!=="started"&&(a+=this.frequency.getTicksAtTime(l.time)-this.frequency.getTicksAtTime(u),l.time!=r.time&&(c={state:l.state,time:l.time,ticks:a})),o=l}),this._state.remove(r),c&&this._ticksAtTime.add(c),a}get ticks(){return this.getTicksAtTime(this.now())}set ticks(e){this.setTicksAtTime(e,this.now())}get seconds(){return this.getSecondsAtTime(this.now())}set seconds(e){const t=this.now(),s=this.frequency.timeToTicks(e,t);this.setTicksAtTime(s,t)}getSecondsAtTime(e){e=this.toSeconds(e);const t=this._state.getLastState("stopped",e),s={state:"paused",time:e};this._state.add(s);const i=this._secondsAtTime.get(e);let r=i||t,o=i?i.seconds:0,a=null;return this._state.forEachBetween(r.time,e+this.sampleTime,c=>{let l=r.time;const u=this._tickOffset.get(c.time);u&&u.time>=r.time&&(o=u.seconds,l=u.time),r.state==="started"&&c.state!=="started"&&(o+=c.time-l,c.time!=s.time&&(a={state:c.state,time:c.time,seconds:o})),r=c}),this._state.remove(s),a&&this._secondsAtTime.add(a),o}setTicksAtTime(e,t){return t=this.toSeconds(t),this._tickOffset.cancel(t),this._tickOffset.add({seconds:this.frequency.getDurationOfTicks(e,t),ticks:e,time:t}),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}getStateAtTime(e){return e=this.toSeconds(e),this._state.getValueAtTime(e)}getTimeOfTick(e,t=this.now()){const s=this._tickOffset.get(t),i=this._state.get(t),r=Math.max(s.time,i.time),o=this.frequency.getTicksAtTime(r)+e-s.ticks;return this.frequency.getTimeOfTick(o)}forEachTickBetween(e,t,s){let i=this._state.get(e);this._state.forEachBetween(e,t,o=>{i&&i.state==="started"&&o.state!=="started"&&this.forEachTickBetween(Math.max(i.time,e),o.time-this.sampleTime,s),i=o});let r=null;if(i&&i.state==="started"){const o=Math.max(i.time,e),a=this.frequency.getTicksAtTime(o),c=this.frequency.getTicksAtTime(i.time),l=a-c;let u=Math.ceil(l)-l;u=Zt(u,1)?0:u;let h=this.frequency.getTimeOfTick(a+u);for(;h{switch(s.state){case"started":const i=this._tickSource.getTicksAtTime(s.time);this.emit("start",s.time,i);break;case"stopped":s.time!==0&&this.emit("stop",s.time);break;case"paused":this.emit("pause",s.time);break}}),this._tickSource.forEachTickBetween(e,t,(s,i)=>{this.callback(s,i)}))}getStateAtTime(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)}dispose(){return super.dispose(),this.context.off("tick",this._boundLoop),this._tickSource.dispose(),this._state.dispose(),this}}Jr.mixin(Sr);class Qo extends he{constructor(){super(W(Qo.getDefaults(),arguments,["delayTime","maxDelay"])),this.name="Delay";const e=W(Qo.getDefaults(),arguments,["delayTime","maxDelay"]),t=this.toSeconds(e.maxDelay);this._maxDelay=Math.max(t,this.toSeconds(e.delayTime)),this._delayNode=this.input=this.output=this.context.createDelay(t),this.delayTime=new Te({context:this.context,param:this._delayNode.delayTime,units:"time",value:e.delayTime,minValue:0,maxValue:this.maxDelay}),ke(this,"delayTime")}static getDefaults(){return Object.assign(he.getDefaults(),{delayTime:0,maxDelay:1})}get maxDelay(){return this._maxDelay}dispose(){return super.dispose(),this._delayNode.disconnect(),this.delayTime.dispose(),this}}class Ql extends Zn{constructor(){super(),this.name="ToneAudioBuffers",this._buffers=new Map,this._loadingCount=0;const e=W(Ql.getDefaults(),arguments,["urls","onload","baseUrl"],"urls");this.baseUrl=e.baseUrl,Object.keys(e.urls).forEach(t=>{this._loadingCount++;const s=e.urls[t];this.add(t,s,this._bufferLoaded.bind(this,e.onload),e.onerror)})}static getDefaults(){return{baseUrl:"",onerror:Fe,onload:Fe,urls:{}}}has(e){return this._buffers.has(e.toString())}get(e){return pe(this.has(e),`ToneAudioBuffers has no buffer named: ${e}`),this._buffers.get(e.toString())}_bufferLoaded(e){this._loadingCount--,this._loadingCount===0&&e&&e()}get loaded(){return Array.from(this._buffers).every(([e,t])=>t.loaded)}add(e,t,s=Fe,i=Fe){return qn(t)?(this.baseUrl&&t.trim().substring(0,11).toLowerCase()==="data:audio/"&&(this.baseUrl=""),this._buffers.set(e.toString(),new Le(this.baseUrl+t,s,i))):this._buffers.set(e.toString(),new Le(t,s,i)),this}dispose(){return super.dispose(),this._buffers.forEach(e=>e.dispose()),this._buffers.clear(),this}}class Cr extends Mt{constructor(){super(...arguments),this.name="MidiClass",this.defaultUnits="midi"}_frequencyToUnits(e){return Vs(super._frequencyToUnits(e))}_ticksToUnits(e){return Vs(super._ticksToUnits(e))}_beatsToUnits(e){return Vs(super._beatsToUnits(e))}_secondsToUnits(e){return Vs(super._secondsToUnits(e))}toMidi(){return this.valueOf()}toFrequency(){return Op(this.toMidi())}transpose(e){return new Cr(this.context,this.toMidi()+e)}}function Eh(n,e){return new Cr(Pt(),n,e)}class _i extends lr{constructor(){super(...arguments),this.name="Ticks",this.defaultUnits="i"}_now(){return this.context.transport.ticks}_beatsToUnits(e){return this._getPPQ()*e}_secondsToUnits(e){return Math.floor(e/(60/this._getBpm())*this._getPPQ())}_ticksToUnits(e){return e}toTicks(){return this.valueOf()}toSeconds(){return this.valueOf()/this._getPPQ()*(60/this._getBpm())}}class q2 extends kt{constructor(){super(...arguments),this.name="Draw",this.expiration=.25,this.anticipation=.008,this._events=new zt,this._boundDrawLoop=this._drawLoop.bind(this),this._animationFrame=-1}schedule(e,t){return this._events.add({callback:e,time:this.toSeconds(t)}),this._events.length===1&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop)),this}cancel(e){return this._events.cancel(this.toSeconds(e)),this}_drawLoop(){const e=this.context.currentTime;for(;this._events.length&&this._events.peek().time-this.anticipation<=e;){const t=this._events.shift();t&&e-t.time<=this.expiration&&t.callback()}this._events.length>0&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop))}dispose(){return super.dispose(),this._events.dispose(),cancelAnimationFrame(this._animationFrame),this}}ja(n=>{n.draw=new q2({context:n})});Wa(n=>{n.draw.dispose()});class U2 extends Zn{constructor(){super(...arguments),this.name="IntervalTimeline",this._root=null,this._length=0}add(e){pe(Ce(e.time),"Events must have a time property"),pe(Ce(e.duration),"Events must have a duration parameter"),e.time=e.time.valueOf();let t=new j2(e.time,e.time+e.duration,e);for(this._root===null?this._root=t:this._root.insert(t),this._length++;t!==null;)t.updateHeight(),t.updateMax(),this._rebalance(t),t=t.parent;return this}remove(e){if(this._root!==null){const t=[];this._root.search(e.time,t);for(const s of t)if(s.event===e){this._removeNode(s),this._length--;break}}return this}get length(){return this._length}cancel(e){return this.forEachFrom(e,t=>this.remove(t)),this}_setRoot(e){this._root=e,this._root!==null&&(this._root.parent=null)}_replaceNodeInParent(e,t){e.parent!==null?(e.isLeftChild()?e.parent.left=t:e.parent.right=t,this._rebalance(e.parent)):this._setRoot(t)}_removeNode(e){if(e.left===null&&e.right===null)this._replaceNodeInParent(e,null);else if(e.right===null)this._replaceNodeInParent(e,e.left);else if(e.left===null)this._replaceNodeInParent(e,e.right);else{const t=e.getBalance();let s,i=null;if(t>0)if(e.left.right===null)s=e.left,s.right=e.right,i=s;else{for(s=e.left.right;s.right!==null;)s=s.right;s.parent&&(s.parent.right=s.left,i=s.parent,s.left=e.left,s.right=e.right)}else if(e.right.left===null)s=e.right,s.left=e.left,i=s;else{for(s=e.right.left;s.left!==null;)s=s.left;s.parent&&(s.parent.left=s.right,i=s.parent,s.left=e.left,s.right=e.right)}e.parent!==null?e.isLeftChild()?e.parent.left=s:e.parent.right=s:this._setRoot(s),i&&this._rebalance(i)}e.dispose()}_rotateLeft(e){const t=e.parent,s=e.isLeftChild(),i=e.right;i&&(e.right=i.left,i.left=e),t!==null?s?t.left=i:t.right=i:this._setRoot(i)}_rotateRight(e){const t=e.parent,s=e.isLeftChild(),i=e.left;i&&(e.left=i.right,i.right=e),t!==null?s?t.left=i:t.right=i:this._setRoot(i)}_rebalance(e){const t=e.getBalance();t>1&&e.left?e.left.getBalance()<0?this._rotateLeft(e.left):this._rotateRight(e):t<-1&&e.right&&(e.right.getBalance()>0?this._rotateRight(e.right):this._rotateLeft(e))}get(e){if(this._root!==null){const t=[];if(this._root.search(e,t),t.length>0){let s=t[0];for(let i=1;is.low&&(s=t[i]);return s.event}}return null}forEach(e){if(this._root!==null){const t=[];this._root.traverse(s=>t.push(s)),t.forEach(s=>{s.event&&e(s.event)})}return this}forEachAtTime(e,t){if(this._root!==null){const s=[];this._root.search(e,s),s.forEach(i=>{i.event&&t(i.event)})}return this}forEachFrom(e,t){if(this._root!==null){const s=[];this._root.searchAfter(e,s),s.forEach(i=>{i.event&&t(i.event)})}return this}dispose(){return super.dispose(),this._root!==null&&this._root.traverse(e=>e.dispose()),this._root=null,this}}class j2{constructor(e,t,s){this._left=null,this._right=null,this.parent=null,this.height=0,this.event=s,this.low=e,this.high=t,this.max=this.high}insert(e){e.low<=this.low?this.left===null?this.left=e:this.left.insert(e):this.right===null?this.right=e:this.right.insert(e)}search(e,t){e>this.max||(this.left!==null&&this.left.search(e,t),this.low<=e&&this.high>e&&t.push(this),!(this.low>e)&&this.right!==null&&this.right.search(e,t))}searchAfter(e,t){this.low>=e&&(t.push(this),this.left!==null&&this.left.searchAfter(e,t)),this.right!==null&&this.right.searchAfter(e,t)}traverse(e){e(this),this.left!==null&&this.left.traverse(e),this.right!==null&&this.right.traverse(e)}updateHeight(){this.left!==null&&this.right!==null?this.height=Math.max(this.left.height,this.right.height)+1:this.right!==null?this.height=this.right.height+1:this.left!==null?this.height=this.left.height+1:this.height=0}updateMax(){this.max=this.high,this.left!==null&&(this.max=Math.max(this.max,this.left.max)),this.right!==null&&(this.max=Math.max(this.max,this.right.max))}getBalance(){let e=0;return this.left!==null&&this.right!==null?e=this.left.height-this.right.height:this.left!==null?e=this.left.height+1:this.right!==null&&(e=-(this.right.height+1)),e}isLeftChild(){return this.parent!==null&&this.parent.left===this}get left(){return this._left}set left(e){this._left=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}get right(){return this._right}set right(e){this._right=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}dispose(){this.parent=null,this._left=null,this._right=null,this.event=null}}class Xs extends he{constructor(){super(W(Xs.getDefaults(),arguments,["volume"])),this.name="Volume";const e=W(Xs.getDefaults(),arguments,["volume"]);this.input=this.output=new De({context:this.context,gain:e.volume,units:"decibels"}),this.volume=this.output.gain,ke(this,"volume"),this._unmutedVolume=e.volume,this.mute=e.mute}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.volume.value===-1/0}set mute(e){!this.mute&&e?(this._unmutedVolume=this.volume.value,this.volume.value=-1/0):this.mute&&!e&&(this.volume.value=this._unmutedVolume)}dispose(){return super.dispose(),this.input.dispose(),this.volume.dispose(),this}}class Jo extends he{constructor(){super(W(Jo.getDefaults(),arguments)),this.name="Destination",this.input=new Xs({context:this.context}),this.output=new De({context:this.context}),this.volume=this.input.volume;const e=W(Jo.getDefaults(),arguments);Er(this.input,this.output,this.context.rawContext.destination),this.mute=e.mute,this._internalChannels=[this.input,this.context.rawContext.destination,this.output]}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.input.mute}set mute(e){this.input.mute=e}chain(...e){return this.input.disconnect(),e.unshift(this.input),e.push(this.output),Er(...e),this}get maxChannelCount(){return this.context.rawContext.destination.maxChannelCount}dispose(){return super.dispose(),this.volume.dispose(),this}}ja(n=>{n.destination=new Jo({context:n})});Wa(n=>{n.destination.dispose()});class W2 extends Zn{constructor(e){super(),this.name="TimelineValue",this._timeline=new zt({memory:10}),this._initialValue=e}set(e,t){return this._timeline.add({value:e,time:t}),this}get(e){const t=this._timeline.get(e);return t?t.value:this._initialValue}}class Cn extends he{constructor(){super(Object.assign(W(Cn.getDefaults(),arguments,["context"])))}connect(e,t=0,s=0){return Ga(this,e,t,s),this}}class Qs extends Cn{constructor(){super(Object.assign(W(Qs.getDefaults(),arguments,["mapping","length"]))),this.name="WaveShaper",this._shaper=this.context.createWaveShaper(),this.input=this._shaper,this.output=this._shaper;const e=W(Qs.getDefaults(),arguments,["mapping","length"]);Ft(e.mapping)||e.mapping instanceof Float32Array?this.curve=Float32Array.from(e.mapping):g2(e.mapping)&&this.setMap(e.mapping,e.length)}static getDefaults(){return Object.assign(qe.getDefaults(),{length:1024})}setMap(e,t=1024){const s=new Float32Array(t);for(let i=0,r=t;is.includes(e));pe(t,"oversampling must be either 'none', '2x', or '4x'"),this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.disconnect(),this}}class Ar extends Cn{constructor(){super(Object.assign(W(Ar.getDefaults(),arguments,["value"]))),this.name="Pow";const e=W(Ar.getDefaults(),arguments,["value"]);this._exponentScaler=this.input=this.output=new Qs({context:this.context,mapping:this._expFunc(e.value),length:8192}),this._exponent=e.value}static getDefaults(){return Object.assign(Cn.getDefaults(),{value:1})}_expFunc(e){return t=>Math.pow(Math.abs(t),e)}get value(){return this._exponent}set value(e){this._exponent=e,this._exponentScaler.setMap(this._expFunc(this._exponent))}dispose(){return super.dispose(),this._exponentScaler.dispose(),this}}class gs{constructor(e,t){this.id=gs._eventId++,this._remainderTime=0;const s=Object.assign(gs.getDefaults(),t);this.transport=e,this.callback=s.callback,this._once=s.once,this.time=Math.floor(s.time),this._remainderTime=s.time-this.time}static getDefaults(){return{callback:Fe,once:!1,time:0}}get floatTime(){return this.time+this._remainderTime}invoke(e){if(this.callback){const t=this.transport.bpm.getDurationOfTicks(1,e);this.callback(e+this._remainderTime*t),this._once&&this.transport.clear(this.id)}}dispose(){return this.callback=void 0,this}}gs._eventId=0;class Jl extends gs{constructor(e,t){super(e,t),this._currentId=-1,this._nextId=-1,this._nextTick=this.time,this._boundRestart=this._restart.bind(this);const s=Object.assign(Jl.getDefaults(),t);this.duration=s.duration,this._interval=s.interval,this._nextTick=s.time,this.transport.on("start",this._boundRestart),this.transport.on("loopStart",this._boundRestart),this.transport.on("ticks",this._boundRestart),this.context=this.transport.context,this._restart()}static getDefaults(){return Object.assign({},gs.getDefaults(),{duration:1/0,interval:1,once:!1})}invoke(e){this._createEvents(e),super.invoke(e)}_createEvent(){return Go(this._nextTick,this.floatTime+this.duration)?this.transport.scheduleOnce(this.invoke.bind(this),new _i(this.context,this._nextTick).toSeconds()):-1}_createEvents(e){Go(this._nextTick+this._interval,this.floatTime+this.duration)&&(this._nextTick+=this._interval,this._currentId=this._nextId,this._nextId=this.transport.scheduleOnce(this.invoke.bind(this),new _i(this.context,this._nextTick).toSeconds()))}_restart(e){this.transport.clear(this._currentId),this.transport.clear(this._nextId),this._nextTick=this.floatTime;const t=this.transport.getTicksAtTime(e);Ii(t,this.time)&&(this._nextTick=this.floatTime+Math.ceil((t-this.floatTime)/this._interval)*this._interval),this._currentId=this._createEvent(),this._nextTick+=this._interval,this._nextId=this._createEvent()}dispose(){return super.dispose(),this.transport.clear(this._currentId),this.transport.clear(this._nextId),this.transport.off("start",this._boundRestart),this.transport.off("loopStart",this._boundRestart),this.transport.off("ticks",this._boundRestart),this}}let Dp=class zc extends kt{constructor(){super(W(zc.getDefaults(),arguments)),this.name="Transport",this._loop=new W2(!1),this._loopStart=0,this._loopEnd=0,this._scheduledEvents={},this._timeline=new zt,this._repeatedEvents=new U2,this._syncedSignals=[],this._swingAmount=0;const e=W(zc.getDefaults(),arguments);this._ppq=e.ppq,this._clock=new Sr({callback:this._processTick.bind(this),context:this.context,frequency:0,units:"bpm"}),this._bindClockEvents(),this.bpm=this._clock.frequency,this._clock.frequency.multiplier=e.ppq,this.bpm.setValueAtTime(e.bpm,0),ke(this,"bpm"),this._timeSignature=e.timeSignature,this._swingTicks=e.ppq/2}static getDefaults(){return Object.assign(kt.getDefaults(),{bpm:120,loopEnd:"4m",loopStart:0,ppq:192,swing:0,swingSubdivision:"8n",timeSignature:4})}_processTick(e,t){if(this._loop.get(e)&&t>=this._loopEnd&&(this.emit("loopEnd",e),this._clock.setTicksAtTime(this._loopStart,e),t=this._loopStart,this.emit("loopStart",e,this._clock.getSecondsAtTime(e)),this.emit("loop",e)),this._swingAmount>0&&t%this._ppq!==0&&t%(this._swingTicks*2)!==0){const s=t%(this._swingTicks*2)/(this._swingTicks*2),i=Math.sin(s*Math.PI)*this._swingAmount;e+=new _i(this.context,this._swingTicks*2/3).toSeconds()*i}Th(!0),this._timeline.forEachAtTime(t,s=>s.invoke(e)),Th(!1)}schedule(e,t){const s=new gs(this,{callback:e,time:new lr(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}scheduleRepeat(e,t,s,i=1/0){const r=new Jl(this,{callback:e,duration:new Jt(this.context,i).toTicks(),interval:new Jt(this.context,t).toTicks(),time:new lr(this.context,s).toTicks()});return this._addEvent(r,this._repeatedEvents)}scheduleOnce(e,t){const s=new gs(this,{callback:e,once:!0,time:new lr(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}clear(e){if(this._scheduledEvents.hasOwnProperty(e)){const t=this._scheduledEvents[e.toString()];t.timeline.remove(t.event),t.event.dispose(),delete this._scheduledEvents[e.toString()]}return this}_addEvent(e,t){return this._scheduledEvents[e.id.toString()]={event:e,timeline:t},t.add(e),e.id}cancel(e=0){const t=this.toTicks(e);return this._timeline.forEachFrom(t,s=>this.clear(s.id)),this._repeatedEvents.forEachFrom(t,s=>this.clear(s.id)),this}_bindClockEvents(){this._clock.on("start",(e,t)=>{t=new _i(this.context,t).toSeconds(),this.emit("start",e,t)}),this._clock.on("stop",e=>{this.emit("stop",e)}),this._clock.on("pause",e=>{this.emit("pause",e)})}get state(){return this._clock.getStateAtTime(this.now())}start(e,t){this.context.resume();let s;return Ce(t)&&(s=this.toTicks(t)),this._clock.start(e,s),this}stop(e){return this._clock.stop(e),this}pause(e){return this._clock.pause(e),this}toggle(e){return e=this.toSeconds(e),this._clock.getStateAtTime(e)!=="started"?this.start(e):this.stop(e),this}get timeSignature(){return this._timeSignature}set timeSignature(e){Ft(e)&&(e=e[0]/e[1]*4),this._timeSignature=e}get loopStart(){return new Jt(this.context,this._loopStart,"i").toSeconds()}set loopStart(e){this._loopStart=this.toTicks(e)}get loopEnd(){return new Jt(this.context,this._loopEnd,"i").toSeconds()}set loopEnd(e){this._loopEnd=this.toTicks(e)}get loop(){return this._loop.get(this.now())}set loop(e){this._loop.set(e,this.now())}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get swing(){return this._swingAmount}set swing(e){this._swingAmount=e}get swingSubdivision(){return new _i(this.context,this._swingTicks).toNotation()}set swingSubdivision(e){this._swingTicks=this.toTicks(e)}get position(){const e=this.now(),t=this._clock.getTicksAtTime(e);return new _i(this.context,t).toBarsBeatsSixteenths()}set position(e){const t=this.toTicks(e);this.ticks=t}get seconds(){return this._clock.seconds}set seconds(e){const t=this.now(),s=this._clock.frequency.timeToTicks(e,t);this.ticks=s}get progress(){if(this.loop){const e=this.now();return(this._clock.getTicksAtTime(e)-this._loopStart)/(this._loopEnd-this._loopStart)}else return 0}get ticks(){return this._clock.ticks}set ticks(e){if(this._clock.ticks!==e){const t=this.now();if(this.state==="started"){const s=this._clock.getTicksAtTime(t),i=this._clock.frequency.getDurationOfTicks(Math.ceil(s)-s,t),r=t+i;this.emit("stop",r),this._clock.setTicksAtTime(e,r),this.emit("start",r,this._clock.getSecondsAtTime(r))}else this.emit("ticks",t),this._clock.setTicksAtTime(e,t)}}getTicksAtTime(e){return this._clock.getTicksAtTime(e)}getSecondsAtTime(e){return this._clock.getSecondsAtTime(e)}get PPQ(){return this._clock.frequency.multiplier}set PPQ(e){this._clock.frequency.multiplier=e}nextSubdivision(e){if(e=this.toTicks(e),this.state!=="started")return 0;{const t=this.now(),s=this.getTicksAtTime(t),i=e-s%e;return this._clock.nextTickTime(i,t)}}syncSignal(e,t){const s=this.now();let i=this.bpm,r=1/(60/i.getValueAtTime(s)/this.PPQ),o=[];if(e.units==="time"){const c=.015625/r,l=new De(c),u=new Ar(-1),h=new De(c);i.chain(l,u,h),i=h,r=1/r,o=[l,u,h]}t||(e.getValueAtTime(s)!==0?t=e.getValueAtTime(s)/r:t=0);const a=new De(t);return i.connect(a),a.connect(e._param),o.push(a),this._syncedSignals.push({initial:e.value,nodes:o,signal:e}),e.value=0,this}unsyncSignal(e){for(let t=this._syncedSignals.length-1;t>=0;t--){const s=this._syncedSignals[t];s.signal===e&&(s.nodes.forEach(i=>i.dispose()),s.signal.value=s.initial,this._syncedSignals.splice(t,1))}return this}dispose(){return super.dispose(),this._clock.dispose(),Yl(this,"bpm"),this._timeline.dispose(),this._repeatedEvents.dispose(),this}};Jr.mixin(Dp);ja(n=>{n.transport=new Dp({context:n})});Wa(n=>{n.transport.dispose()});class bt extends he{constructor(e){super(e),this.input=void 0,this._state=new Xl("stopped"),this._synced=!1,this._scheduled=[],this._syncedStart=Fe,this._syncedStop=Fe,this._state.memory=100,this._state.increasing=!0,this._volume=this.output=new Xs({context:this.context,mute:e.mute,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume"),this.onstop=e.onstop}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,onstop:Fe,volume:0})}get state(){return this._synced?this.context.transport.state==="started"?this._state.getValueAtTime(this.context.transport.seconds):"stopped":this._state.getValueAtTime(this.now())}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}_clampToCurrentTime(e){return this._synced?e:Math.max(e,this.context.currentTime)}start(e,t,s){let i=$t(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(i=this._clampToCurrentTime(i),!this._synced&&this._state.getValueAtTime(i)==="started")pe(Ii(i,this._state.get(i).time),"Start time must be strictly greater than previous start time"),this._state.cancel(i),this._state.setStateAtTime("started",i),this.log("restart",i),this.restart(i,t,s);else if(this.log("start",i),this._state.setStateAtTime("started",i),this._synced){const r=this._state.get(i);r&&(r.offset=this.toSeconds(Ei(t,0)),r.duration=s?this.toSeconds(s):void 0);const o=this.context.transport.schedule(a=>{this._start(a,t,s)},i);this._scheduled.push(o),this.context.transport.state==="started"&&this.context.transport.getSecondsAtTime(this.immediate())>i&&this._syncedStart(this.now(),this.context.transport.seconds)}else xp(this.context),this._start(i,t,s);return this}stop(e){let t=$t(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(t=this._clampToCurrentTime(t),this._state.getValueAtTime(t)==="started"||Ce(this._state.getNextState("started",t))){if(this.log("stop",t),!this._synced)this._stop(t);else{const s=this.context.transport.schedule(this._stop.bind(this),t);this._scheduled.push(s)}this._state.cancel(t),this._state.setStateAtTime("stopped",t)}return this}restart(e,t,s){return e=this.toSeconds(e),this._state.getValueAtTime(e)==="started"&&(this._state.cancel(e),this._restart(e,t,s)),this}sync(){return this._synced||(this._synced=!0,this._syncedStart=(e,t)=>{if(Ii(t,0)){const s=this._state.get(t);if(s&&s.state==="started"&&s.time!==t){const i=t-this.toSeconds(s.time);let r;s.duration&&(r=this.toSeconds(s.duration)-i),this._start(e,this.toSeconds(s.offset)+i,r)}}},this._syncedStop=e=>{const t=this.context.transport.getSecondsAtTime(Math.max(e-this.sampleTime,0));this._state.getValueAtTime(t)==="started"&&this._stop(e)},this.context.transport.on("start",this._syncedStart),this.context.transport.on("loopStart",this._syncedStart),this.context.transport.on("stop",this._syncedStop),this.context.transport.on("pause",this._syncedStop),this.context.transport.on("loopEnd",this._syncedStop)),this}unsync(){return this._synced&&(this.context.transport.off("stop",this._syncedStop),this.context.transport.off("pause",this._syncedStop),this.context.transport.off("loopEnd",this._syncedStop),this.context.transport.off("start",this._syncedStart),this.context.transport.off("loopStart",this._syncedStart)),this._synced=!1,this._scheduled.forEach(e=>this.context.transport.clear(e)),this._scheduled=[],this._state.cancel(0),this._stop(0),this}dispose(){return super.dispose(),this.onstop=Fe,this.unsync(),this._volume.dispose(),this._state.dispose(),this}}class Di extends Ri{constructor(){super(W(Di.getDefaults(),arguments,["url","onload"])),this.name="ToneBufferSource",this._source=this.context.createBufferSource(),this._internalChannels=[this._source],this._sourceStarted=!1,this._sourceStopped=!1;const e=W(Di.getDefaults(),arguments,["url","onload"]);Un(this._source,this._gainNode),this._source.onended=()=>this._stopSource(),this.playbackRate=new Te({context:this.context,param:this._source.playbackRate,units:"positive",value:e.playbackRate}),this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this._buffer=new Le(e.url,e.onload,e.onerror),this._internalChannels.push(this._source)}static getDefaults(){return Object.assign(Ri.getDefaults(),{url:new Le,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1})}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e}get curve(){return this._curve}set curve(e){this._curve=e}start(e,t,s,i=1){pe(this.buffer.loaded,"buffer is either not set or not loaded");const r=this.toSeconds(e);this._startGain(r,i),this.loop?t=Ei(t,this.loopStart):t=Ei(t,0);let o=Math.max(this.toSeconds(t),0);if(this.loop){const a=this.toSeconds(this.loopEnd)||this.buffer.duration,c=this.toSeconds(this.loopStart),l=a-c;Wc(o,a)&&(o=(o-c)%l+c),Zt(o,this.buffer.duration)&&(o=0)}if(this._source.buffer=this.buffer.get(),this._source.loopEnd=this.toSeconds(this.loopEnd)||this.buffer.duration,Go(o,this.buffer.duration)&&(this._sourceStarted=!0,this._source.start(r,o)),Ce(s)){let a=this.toSeconds(s);a=Math.max(a,0),this.stop(r+a)}return this}_stopSource(e){!this._sourceStopped&&this._sourceStarted&&(this._sourceStopped=!0,this._source.stop(this.toSeconds(e)),this._onended())}get loopStart(){return this._source.loopStart}set loopStart(e){this._source.loopStart=this.toSeconds(e)}get loopEnd(){return this._source.loopEnd}set loopEnd(e){this._source.loopEnd=this.toSeconds(e)}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._source.loop}set loop(e){this._source.loop=e,this._sourceStarted&&this.cancelStop()}dispose(){return super.dispose(),this._source.onended=null,this._source.disconnect(),this._buffer.dispose(),this.playbackRate.dispose(),this}}class Nr extends bt{constructor(){super(W(Nr.getDefaults(),arguments,["type"])),this.name="Noise",this._source=null;const e=W(Nr.getDefaults(),arguments,["type"]);this._playbackRate=e.playbackRate,this.type=e.type,this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut}static getDefaults(){return Object.assign(bt.getDefaults(),{fadeIn:0,fadeOut:0,playbackRate:1,type:"white"})}get type(){return this._type}set type(e){if(pe(e in Sh,"Noise: invalid type: "+e),this._type!==e&&(this._type=e,this.state==="started")){const t=this.now();this._stop(t),this._start(t)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e,this._source&&(this._source.playbackRate.value=e)}_start(e){const t=Sh[this._type];this._source=new Di({url:t,context:this.context,fadeIn:this._fadeIn,fadeOut:this._fadeOut,loop:!0,onended:()=>this.onstop(this),playbackRate:this._playbackRate}).connect(this.output),this._source.start(this.toSeconds(e),Math.random()*(t.duration-.001))}_stop(e){this._source&&(this._source.stop(this.toSeconds(e)),this._source=null)}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e,this._source&&(this._source.fadeIn=this._fadeIn)}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e,this._source&&(this._source.fadeOut=this._fadeOut)}_restart(e){this._stop(e),this._start(e)}dispose(){return super.dispose(),this._source&&this._source.disconnect(),this}}const li=44100*5,mc=2,On={brown:null,pink:null,white:null},Sh={get brown(){if(!On.brown){const n=[];for(let e=0;ethis.onstop(this)});this._oscillator=s,this._wave?this._oscillator.setPeriodicWave(this._wave):this._oscillator.type=this._type,this._oscillator.connect(this.output),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.start(t)}_stop(e){const t=this.toSeconds(e);this._oscillator&&this._oscillator.stop(t)}_restart(e){const t=this.toSeconds(e);return this.log("restart",t),this._oscillator&&this._oscillator.cancelStop(),this._state.cancel(t),this}syncFrequency(){return this.context.transport.syncSignal(this.frequency),this}unsyncFrequency(){return this.context.transport.unsyncSignal(this.frequency),this}_getCachedPeriodicWave(){if(this._type==="custom")return Ze._periodicWaveCache.find(t=>t.phase===this._phase&&A2(t.partials,this._partials));{const e=Ze._periodicWaveCache.find(t=>t.type===this._type&&t.phase===this._phase);return this._partialCount=e?e.partialCount:this._partialCount,e}}get type(){return this._type}set type(e){this._type=e;const t=["sine","square","sawtooth","triangle"].indexOf(e)!==-1;if(this._phase===0&&t)this._wave=void 0,this._partialCount=0,this._oscillator!==null&&(this._oscillator.type=e);else{const s=this._getCachedPeriodicWave();if(Ce(s)){const{partials:i,wave:r}=s;this._wave=r,this._partials=i,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave)}else{const[i,r]=this._getRealImaginary(e,this._phase),o=this.context.createPeriodicWave(i,r);this._wave=o,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave),Ze._periodicWaveCache.push({imag:r,partialCount:this._partialCount,partials:this._partials,phase:this._phase,real:i,type:this._type,wave:this._wave}),Ze._periodicWaveCache.length>100&&Ze._periodicWaveCache.shift()}}}get baseType(){return this._type.replace(this.partialCount.toString(),"")}set baseType(e){this.partialCount&&this._type!=="custom"&&e!=="custom"?this.type=e+this.partialCount:this.type=e}get partialCount(){return this._partialCount}set partialCount(e){on(e,0);let t=this._type;const s=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(this._type);if(s&&(t=s[1]),this._type!=="custom")e===0?this.type=t:this.type=t+e.toString();else{const i=new Float32Array(e);this._partials.forEach((r,o)=>i[o]=r),this._partials=Array.from(i),this.type=this._type}}_getRealImaginary(e,t){let i=2048;const r=new Float32Array(i),o=new Float32Array(i);let a=1;if(e==="custom"){if(a=this._partials.length+1,this._partialCount=this._partials.length,i=a,this._partials.length===0)return[r,o]}else{const c=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(e);c?(a=parseInt(c[2],10)+1,this._partialCount=parseInt(c[2],10),e=c[1],a=Math.max(a,2),i=a):this._partialCount=0,this._partials=[]}for(let c=1;c>1&1?-1:1):u=0,this._partials[c-1]=u;break;case"custom":u=this._partials[c-1];break;default:throw new TypeError("Oscillator: invalid type: "+e)}u!==0?(r[c]=-u*Math.sin(t*c),o[c]=u*Math.cos(t*c)):(r[c]=0,o[c]=0)}return[r,o]}_inverseFFT(e,t,s){let i=0;const r=e.length;for(let o=0;o(e+1)/2}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class _s extends qe{constructor(){super(Object.assign(W(_s.getDefaults(),arguments,["value"]))),this.name="Multiply",this.override=!1;const e=W(_s.getDefaults(),arguments,["value"]);this._mult=this.input=this.output=new De({context:this.context,minValue:e.minValue,maxValue:e.maxValue}),this.factor=this._param=this._mult.gain,this.factor.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(qe.getDefaults(),{value:0})}dispose(){return super.dispose(),this._mult.dispose(),this}}class Mr extends bt{constructor(){super(W(Mr.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="AMOscillator",this._modulationScale=new Pp({context:this.context}),this._modulationNode=new De({context:this.context});const e=W(Mr.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.frequency=this._carrier.frequency,this.detune=this._carrier.detune,this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new _s({context:this.context,units:"positive",value:e.harmonicity}),this.frequency.chain(this.harmonicity,this._modulator.frequency),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),ke(this,["frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){this._modulator.restart(e),this._carrier.restart(e)}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this._modulationScale.dispose(),this}}class kr extends bt{constructor(){super(W(kr.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="FMOscillator",this._modulationNode=new De({context:this.context,gain:0});const e=W(kr.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:0,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.detune=this._carrier.detune,this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new _s({context:this.context,units:"positive",value:e.harmonicity}),this.modulationIndex=new _s({context:this.context,units:"positive",value:e.modulationIndex}),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this.detune.connect(this._modulator.detune),ke(this,["modulationIndex","frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationIndex:2,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){return this._modulator.restart(e),this._carrier.restart(e),this}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this.modulationIndex.dispose(),this}}class Pi extends bt{constructor(){super(W(Pi.getDefaults(),arguments,["frequency","width"])),this.name="PulseOscillator",this._widthGate=new De({context:this.context,gain:0}),this._thresh=new Qs({context:this.context,mapping:t=>t<=0?-1:1});const e=W(Pi.getDefaults(),arguments,["frequency","width"]);this.width=new qe({context:this.context,units:"audioRange",value:e.width}),this._triangle=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:"triangle"}),this.frequency=this._triangle.frequency,this.detune=this._triangle.detune,this._triangle.chain(this._thresh,this.output),this.width.chain(this._widthGate,this._thresh),ke(this,["width","frequency","detune"])}static getDefaults(){return Object.assign(bt.getDefaults(),{detune:0,frequency:440,phase:0,type:"pulse",width:.2})}_start(e){e=this.toSeconds(e),this._triangle.start(e),this._widthGate.gain.setValueAtTime(1,e)}_stop(e){e=this.toSeconds(e),this._triangle.stop(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(0,e)}_restart(e){this._triangle.restart(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(1,e)}get phase(){return this._triangle.phase}set phase(e){this._triangle.phase=e}get type(){return"pulse"}get baseType(){return"pulse"}get partials(){return[]}get partialCount(){return 0}set carrierType(e){this._triangle.type=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this._triangle.dispose(),this.width.dispose(),this._widthGate.dispose(),this._thresh.dispose(),this}}class Or extends bt{constructor(){super(W(Or.getDefaults(),arguments,["frequency","type","spread"])),this.name="FatOscillator",this._oscillators=[];const e=W(Or.getDefaults(),arguments,["frequency","type","spread"]);this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this.detune=new qe({context:this.context,units:"cents",value:e.detune}),this._spread=e.spread,this._type=e.type,this._phase=e.phase,this._partials=e.partials,this._partialCount=e.partialCount,this.count=e.count,ke(this,["frequency","detune"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{count:3,spread:20,type:"sawtooth"})}_start(e){e=this.toSeconds(e),this._forEach(t=>t.start(e))}_stop(e){e=this.toSeconds(e),this._forEach(t=>t.stop(e))}_restart(e){this._forEach(t=>t.restart(e))}_forEach(e){for(let t=0;tt.type=e)}get spread(){return this._spread}set spread(e){if(this._spread=e,this._oscillators.length>1){const t=-e/2,s=e/(this._oscillators.length-1);this._forEach((i,r)=>i.detune.value=t+s*r)}}get count(){return this._oscillators.length}set count(e){if(on(e,1),this._oscillators.length!==e){this._forEach(t=>t.dispose()),this._oscillators=[];for(let t=0;tthis.onstop(this):Fe});this.type==="custom"&&(s.partials=this._partials),this.frequency.connect(s.frequency),this.detune.connect(s.detune),s.detune.overridden=!1,s.connect(this.output),this._oscillators[t]=s}this.spread=this._spread,this.state==="started"&&this._forEach(t=>t.start())}}get phase(){return this._phase}set phase(e){this._phase=e,this._forEach((t,s)=>t.phase=this._phase+s/this.count*360)}get baseType(){return this._oscillators[0].baseType}set baseType(e){this._forEach(t=>t.baseType=e),this._type=this._oscillators[0].type}get partials(){return this._oscillators[0].partials}set partials(e){this._partials=e,this._partialCount=this._partials.length,e.length&&(this._type="custom",this._forEach(t=>t.partials=e))}get partialCount(){return this._oscillators[0].partialCount}set partialCount(e){this._partialCount=e,this._forEach(t=>t.partialCount=e),this._type=this._oscillators[0].type}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this._forEach(e=>e.dispose()),this}}class Ir extends bt{constructor(){super(W(Ir.getDefaults(),arguments,["frequency","modulationFrequency"])),this.name="PWMOscillator",this.sourceType="pwm",this._scale=new _s({context:this.context,value:2});const e=W(Ir.getDefaults(),arguments,["frequency","modulationFrequency"]);this._pulse=new Pi({context:this.context,frequency:e.modulationFrequency}),this._pulse.carrierType="sine",this.modulationFrequency=this._pulse.frequency,this._modulator=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase}),this.frequency=this._modulator.frequency,this.detune=this._modulator.detune,this._modulator.chain(this._scale,this._pulse.width),this._pulse.connect(this.output),ke(this,["modulationFrequency","frequency","detune"])}static getDefaults(){return Object.assign(bt.getDefaults(),{detune:0,frequency:440,modulationFrequency:.4,phase:0,type:"pwm"})}_start(e){e=this.toSeconds(e),this._modulator.start(e),this._pulse.start(e)}_stop(e){e=this.toSeconds(e),this._modulator.stop(e),this._pulse.stop(e)}_restart(e){this._modulator.restart(e),this._pulse.restart(e)}get type(){return"pwm"}get baseType(){return"pwm"}get partials(){return[]}get partialCount(){return 0}get phase(){return this._modulator.phase}set phase(e){this._modulator.phase=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this._pulse.dispose(),this._scale.dispose(),this._modulator.dispose(),this}}const Ch={am:Mr,fat:Or,fm:kr,oscillator:Ze,pulse:Pi,pwm:Ir};class Js extends bt{constructor(){super(W(Js.getDefaults(),arguments,["frequency","type"])),this.name="OmniOscillator";const e=W(Js.getDefaults(),arguments,["frequency","type"]);this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this.detune=new qe({context:this.context,units:"cents",value:e.detune}),ke(this,["frequency","detune"]),this.set(e)}static getDefaults(){return Object.assign(Ze.getDefaults(),kr.getDefaults(),Mr.getDefaults(),Or.getDefaults(),Pi.getDefaults(),Ir.getDefaults())}_start(e){this._oscillator.start(e)}_stop(e){this._oscillator.stop(e)}_restart(e){return this._oscillator.restart(e),this}get type(){let e="";return["am","fm","fat"].some(t=>this._sourceType===t)&&(e=this._sourceType),e+this._oscillator.type}set type(e){e.substr(0,2)==="fm"?(this._createNewOscillator("fm"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,2)==="am"?(this._createNewOscillator("am"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,3)==="fat"?(this._createNewOscillator("fat"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(3)):e==="pwm"?(this._createNewOscillator("pwm"),this._oscillator=this._oscillator):e==="pulse"?this._createNewOscillator("pulse"):(this._createNewOscillator("oscillator"),this._oscillator=this._oscillator,this._oscillator.type=e)}get partials(){return this._oscillator.partials}set partials(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partials=e)}get partialCount(){return this._oscillator.partialCount}set partialCount(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partialCount=e)}set(e){return Reflect.has(e,"type")&&e.type&&(this.type=e.type),super.set(e),this}_createNewOscillator(e){if(e!==this._sourceType){this._sourceType=e;const t=Ch[e],s=this.now();if(this._oscillator){const i=this._oscillator;i.stop(s),this.context.setTimeout(()=>i.dispose(),this.blockTime)}this._oscillator=new t({context:this.context}),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.connect(this.output),this._oscillator.onstop=()=>this.onstop(this),this.state==="started"&&this._oscillator.start(s)}}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e}get sourceType(){return this._sourceType}set sourceType(e){let t="sine";this._oscillator.type!=="pwm"&&this._oscillator.type!=="pulse"&&(t=this._oscillator.type),e==="fm"?this.type="fm"+t:e==="am"?this.type="am"+t:e==="fat"?this.type="fat"+t:e==="oscillator"?this.type=t:e==="pulse"?this.type="pulse":e==="pwm"&&(this.type="pwm")}_getOscType(e,t){return e instanceof Ch[t]}get baseType(){return this._oscillator.baseType}set baseType(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&e!=="pulse"&&e!=="pwm"&&(this._oscillator.baseType=e)}get width(){if(this._getOscType(this._oscillator,"pulse"))return this._oscillator.width}get count(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.count}set count(e){this._getOscType(this._oscillator,"fat")&&Bn(e)&&(this._oscillator.count=e)}get spread(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.spread}set spread(e){this._getOscType(this._oscillator,"fat")&&Bn(e)&&(this._oscillator.spread=e)}get modulationType(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.modulationType}set modulationType(e){(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))&&qn(e)&&(this._oscillator.modulationType=e)}get modulationIndex(){if(this._getOscType(this._oscillator,"fm"))return this._oscillator.modulationIndex}get harmonicity(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.harmonicity}get modulationFrequency(){if(this._getOscType(this._oscillator,"pwm"))return this._oscillator.modulationFrequency}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.detune.dispose(),this.frequency.dispose(),this._oscillator.dispose(),this}}class eu extends qe{constructor(){super(Object.assign(W(eu.getDefaults(),arguments,["value"]))),this.override=!1,this.name="Add",this._sum=new De({context:this.context}),this.input=this._sum,this.output=this._sum,this.addend=this._param,Er(this._constantSource,this._sum)}static getDefaults(){return Object.assign(qe.getDefaults(),{value:0})}dispose(){return super.dispose(),this._sum.dispose(),this}}class Rr extends Cn{constructor(){super(Object.assign(W(Rr.getDefaults(),arguments,["min","max"]))),this.name="Scale";const e=W(Rr.getDefaults(),arguments,["min","max"]);this._mult=this.input=new _s({context:this.context,value:e.max-e.min}),this._add=this.output=new eu({context:this.context,value:e.min}),this._min=e.min,this._max=e.max,this.input.connect(this.output)}static getDefaults(){return Object.assign(Cn.getDefaults(),{max:1,min:0})}get min(){return this._min}set min(e){this._min=e,this._setRange()}get max(){return this._max}set max(e){this._max=e,this._setRange()}_setRange(){this._add.value=this._min,this._mult.value=this._max-this._min}dispose(){return super.dispose(),this._add.dispose(),this._mult.dispose(),this}}class tu extends Cn{constructor(){super(Object.assign(W(tu.getDefaults(),arguments))),this.name="Zero",this._gain=new De({context:this.context}),this.output=this._gain,this.input=void 0,Un(this.context.getConstant(0),this._gain)}dispose(){return super.dispose(),Rp(this.context.getConstant(0),this._gain),this}}class ta extends he{constructor(){super(W(ta.getDefaults(),arguments,["frequency","min","max"])),this.name="LFO",this._stoppedValue=0,this._units="number",this.convert=!0,this._fromType=Te.prototype._fromType,this._toType=Te.prototype._toType,this._is=Te.prototype._is,this._clampValue=Te.prototype._clampValue;const e=W(ta.getDefaults(),arguments,["frequency","min","max"]);this._oscillator=new Ze(e),this.frequency=this._oscillator.frequency,this._amplitudeGain=new De({context:this.context,gain:e.amplitude,units:"normalRange"}),this.amplitude=this._amplitudeGain.gain,this._stoppedSignal=new qe({context:this.context,units:"audioRange",value:0}),this._zeros=new tu({context:this.context}),this._a2g=new Pp({context:this.context}),this._scaler=this.output=new Rr({context:this.context,max:e.max,min:e.min}),this.units=e.units,this.min=e.min,this.max=e.max,this._oscillator.chain(this._amplitudeGain,this._a2g,this._scaler),this._zeros.connect(this._a2g),this._stoppedSignal.connect(this._a2g),ke(this,["amplitude","frequency"]),this.phase=e.phase}static getDefaults(){return Object.assign(Ze.getDefaults(),{amplitude:1,frequency:"4n",max:1,min:0,type:"sine",units:"number"})}start(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(0,e),this._oscillator.start(e),this}stop(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(this._stoppedValue,e),this._oscillator.stop(e),this}sync(){return this._oscillator.sync(),this._oscillator.syncFrequency(),this}unsync(){return this._oscillator.unsync(),this._oscillator.unsyncFrequency(),this}_setStoppedValue(){this._stoppedValue=this._oscillator.getInitialValue(),this._stoppedSignal.value=this._stoppedValue}get min(){return this._toType(this._scaler.min)}set min(e){e=this._fromType(e),this._scaler.min=e}get max(){return this._toType(this._scaler.max)}set max(e){e=this._fromType(e),this._scaler.max=e}get type(){return this._oscillator.type}set type(e){this._oscillator.type=e,this._setStoppedValue()}get partials(){return this._oscillator.partials}set partials(e){this._oscillator.partials=e,this._setStoppedValue()}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e,this._setStoppedValue()}get units(){return this._units}set units(e){const t=this.min,s=this.max;this._units=e,this.min=t,this.max=s}get state(){return this._oscillator.state}connect(e,t,s){return(e instanceof Te||e instanceof qe)&&(this.convert=e.convert,this.units=e.units),Ga(this,e,t,s),this}dispose(){return super.dispose(),this._oscillator.dispose(),this._stoppedSignal.dispose(),this._zeros.dispose(),this._scaler.dispose(),this._a2g.dispose(),this._amplitudeGain.dispose(),this.amplitude.dispose(),this}}function $p(n,e=1/0){const t=new WeakMap;return function(s,i){Reflect.defineProperty(s,i,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(r){on(r,n,e),t.set(this,r)}})}}function Xn(n,e=1/0){const t=new WeakMap;return function(s,i){Reflect.defineProperty(s,i,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(r){on(this.toSeconds(r),n,e),t.set(this,r)}})}}class Dr extends bt{constructor(){super(W(Dr.getDefaults(),arguments,["url","onload"])),this.name="Player",this._activeSources=new Set;const e=W(Dr.getDefaults(),arguments,["url","onload"]);this._buffer=new Le({onload:this._onload.bind(this,e.onload),onerror:e.onerror,reverse:e.reverse,url:e.url}),this.autostart=e.autostart,this._loop=e.loop,this._loopStart=e.loopStart,this._loopEnd=e.loopEnd,this._playbackRate=e.playbackRate,this.fadeIn=e.fadeIn,this.fadeOut=e.fadeOut}static getDefaults(){return Object.assign(bt.getDefaults(),{autostart:!1,fadeIn:0,fadeOut:0,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1,reverse:!1})}load(e){return tt(this,void 0,void 0,function*(){return yield this._buffer.load(e),this._onload(),this})}_onload(e=Fe){e(),this.autostart&&this.start()}_onSourceEnd(e){this.onstop(this),this._activeSources.delete(e),this._activeSources.size===0&&!this._synced&&this._state.getValueAtTime(this.now())==="started"&&(this._state.cancel(this.now()),this._state.setStateAtTime("stopped",this.now()))}start(e,t,s){return super.start(e,t,s),this}_start(e,t,s){this._loop?t=Ei(t,this._loopStart):t=Ei(t,0);const i=this.toSeconds(t),r=s;s=Ei(s,Math.max(this._buffer.duration-i,0));let o=this.toSeconds(s);o=o/this._playbackRate,e=this.toSeconds(e);const a=new Di({url:this._buffer,context:this.context,fadeIn:this.fadeIn,fadeOut:this.fadeOut,loop:this._loop,loopEnd:this._loopEnd,loopStart:this._loopStart,onended:this._onSourceEnd.bind(this),playbackRate:this._playbackRate}).connect(this.output);!this._loop&&!this._synced&&(this._state.cancel(e+o),this._state.setStateAtTime("stopped",e+o,{implicitEnd:!0})),this._activeSources.add(a),this._loop&&$t(r)?a.start(e,i):a.start(e,i,o-this.toSeconds(this.fadeOut))}_stop(e){const t=this.toSeconds(e);this._activeSources.forEach(s=>s.stop(t))}restart(e,t,s){return super.restart(e,t,s),this}_restart(e,t,s){var i;(i=[...this._activeSources].pop())===null||i===void 0||i.stop(e),this._start(e,t,s)}seek(e,t){const s=this.toSeconds(t);if(this._state.getValueAtTime(s)==="started"){const i=this.toSeconds(e);this._stop(s),this._start(s,i)}return this}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get loopStart(){return this._loopStart}set loopStart(e){this._loopStart=e,this.buffer.loaded&&on(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopStart=e})}get loopEnd(){return this._loopEnd}set loopEnd(e){this._loopEnd=e,this.buffer.loaded&&on(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopEnd=e})}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._loop}set loop(e){if(this._loop!==e&&(this._loop=e,this._activeSources.forEach(t=>{t.loop=e}),e)){const t=this._state.getNextState("stopped",this.now());t&&this._state.cancel(t.time)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e;const t=this.now(),s=this._state.getNextState("stopped",t);s&&s.implicitEnd&&(this._state.cancel(s.time),this._activeSources.forEach(i=>i.cancelStop())),this._activeSources.forEach(i=>{i.playbackRate.setValueAtTime(e,t)})}get reverse(){return this._buffer.reverse}set reverse(e){this._buffer.reverse=e}get loaded(){return this._buffer.loaded}dispose(){return super.dispose(),this._activeSources.forEach(e=>e.dispose()),this._activeSources.clear(),this._buffer.dispose(),this}}un([Xn(0)],Dr.prototype,"fadeIn",void 0);un([Xn(0)],Dr.prototype,"fadeOut",void 0);class z2 extends Cn{constructor(){super(...arguments),this.name="GainToAudio",this._norm=new Qs({context:this.context,mapping:e=>Math.abs(e)*2-1}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class Ht extends he{constructor(){super(W(Ht.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="Envelope",this._sig=new qe({context:this.context,value:0}),this.output=this._sig,this.input=void 0;const e=W(Ht.getDefaults(),arguments,["attack","decay","sustain","release"]);this.attack=e.attack,this.decay=e.decay,this.sustain=e.sustain,this.release=e.release,this.attackCurve=e.attackCurve,this.releaseCurve=e.releaseCurve,this.decayCurve=e.decayCurve}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.01,attackCurve:"linear",decay:.1,decayCurve:"exponential",release:1,releaseCurve:"exponential",sustain:.5})}get value(){return this.getValueAtTime(this.now())}_getCurve(e,t){if(qn(e))return e;{let s;for(s in mo)if(mo[s][t]===e)return s;return e}}_setCurve(e,t,s){if(qn(s)&&Reflect.has(mo,s)){const i=mo[s];Us(i)?e!=="_decayCurve"&&(this[e]=i[t]):this[e]=i}else if(Ft(s)&&e!=="_decayCurve")this[e]=s;else throw new Error("Envelope: invalid curve: "+s)}get attackCurve(){return this._getCurve(this._attackCurve,"In")}set attackCurve(e){this._setCurve("_attackCurve","In",e)}get releaseCurve(){return this._getCurve(this._releaseCurve,"Out")}set releaseCurve(e){this._setCurve("_releaseCurve","Out",e)}get decayCurve(){return this._getCurve(this._decayCurve,"Out")}set decayCurve(e){this._setCurve("_decayCurve","Out",e)}triggerAttack(e,t=1){this.log("triggerAttack",e,t),e=this.toSeconds(e);let i=this.toSeconds(this.attack);const r=this.toSeconds(this.decay),o=this.getValueAtTime(e);if(o>0){const a=1/i;i=(1-o)/a}if(i0){const s=this.toSeconds(this.release);s{let e,t;const s=[];for(e=0;e<128;e++)s[e]=Math.sin(e/(128-1)*(Math.PI/2));const i=[],r=6.4;for(e=0;e<128-1;e++){t=e/(128-1);const d=Math.sin(t*(Math.PI*2)*r-Math.PI/2)+1;i[e]=d/10+t*.83}i[128-1]=1;const o=[],a=5;for(e=0;e<128;e++)o[e]=Math.ceil(e/(128-1)*a)/a;const c=[];for(e=0;e<128;e++)t=e/(128-1),c[e]=.5*(1-Math.cos(Math.PI*t));const l=[];for(e=0;e<128;e++){t=e/(128-1);const d=Math.pow(t,3)*4+.2,f=Math.cos(d*Math.PI*2*t);l[e]=Math.abs(f*(1-t))}function u(d){const f=new Array(d.length);for(let p=0;pthis._original_triggerRelease(t);const e=W(jn.getDefaults(),arguments);this._volume=this.output=new Xs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume")}static getDefaults(){return Object.assign(he.getDefaults(),{volume:0})}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",0),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}_syncState(){let e=!1;return this._synced||(this._synced=!0,e=!0),e}_syncMethod(e,t){const s=this["_original_"+e]=this[e];this[e]=(...i)=>{const r=i[t],o=this.context.transport.schedule(a=>{i[t]=a,s.apply(this,i)},r);this._scheduledEvents.push(o)}}unsync(){return this._scheduledEvents.forEach(e=>this.context.transport.clear(e)),this._scheduledEvents=[],this._synced&&(this._synced=!1,this.triggerAttack=this._original_triggerAttack,this.triggerRelease=this._original_triggerRelease,this.context.transport.off("stop",this._syncedRelease),this.context.transport.off("pause",this._syncedRelease),this.context.transport.off("loopEnd",this._syncedRelease)),this}triggerAttackRelease(e,t,s,i){const r=this.toSeconds(s),o=this.toSeconds(t);return this.triggerAttack(e,r,i),this.triggerRelease(r+o),this}dispose(){return super.dispose(),this._volume.dispose(),this.unsync(),this._scheduledEvents=[],this}}class An extends jn{constructor(){super(W(An.getDefaults(),arguments));const e=W(An.getDefaults(),arguments);this.portamento=e.portamento,this.onsilence=e.onsilence}static getDefaults(){return Object.assign(jn.getDefaults(),{detune:0,onsilence:Fe,portamento:0})}triggerAttack(e,t,s=1){this.log("triggerAttack",e,t,s);const i=this.toSeconds(t);return this._triggerEnvelopeAttack(i,s),this.setNote(e,i),this}triggerRelease(e){this.log("triggerRelease",e);const t=this.toSeconds(e);return this._triggerEnvelopeRelease(t),this}setNote(e,t){const s=this.toSeconds(t),i=e instanceof Mt?e.toFrequency():e;if(this.portamento>0&&this.getLevelAtTime(s)>.05){const r=this.toSeconds(this.portamento);this.frequency.exponentialRampTo(i,r,s)}else this.frequency.setValueAtTime(i,s);return this}}un([Xn(0)],An.prototype,"portamento",void 0);class Ka extends Ht{constructor(){super(W(Ka.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="AmplitudeEnvelope",this._gainNode=new De({context:this.context,gain:0}),this.output=this._gainNode,this.input=this._gainNode,this._sig.connect(this._gainNode.gain),this.output=this._gainNode,this.input=this._gainNode}dispose(){return super.dispose(),this._gainNode.dispose(),this}}class $i extends An{constructor(){super(W($i.getDefaults(),arguments)),this.name="Synth";const e=W($i.getDefaults(),arguments);this.oscillator=new Js(Object.assign({context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)},e.oscillator)),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.envelope=new Ka(Object.assign({context:this.context},e.envelope)),this.oscillator.chain(this.envelope,this.output),ke(this,["oscillator","frequency","detune","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign($s(Ht.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.3}),oscillator:Object.assign($s(Js.getDefaults(),[...Object.keys(bt.getDefaults()),"frequency","detune"]),{type:"triangle"})})}_triggerEnvelopeAttack(e,t){if(this.envelope.triggerAttack(e,t),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),i=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+i)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this}}class Pr extends he{constructor(){super(W(Pr.getDefaults(),arguments,["frequency","type"])),this.name="BiquadFilter";const e=W(Pr.getDefaults(),arguments,["frequency","type"]);this._filter=this.context.createBiquadFilter(),this.input=this.output=this._filter,this.Q=new Te({context:this.context,units:"number",value:e.Q,param:this._filter.Q}),this.frequency=new Te({context:this.context,units:"frequency",value:e.frequency,param:this._filter.frequency}),this.detune=new Te({context:this.context,units:"cents",value:e.detune,param:this._filter.detune}),this.gain=new Te({context:this.context,units:"decibels",convert:!1,value:e.gain,param:this._filter.gain}),this.type=e.type}static getDefaults(){return Object.assign(he.getDefaults(),{Q:1,type:"lowpass",frequency:350,detune:0,gain:0})}get type(){return this._filter.type}set type(e){pe(["lowpass","highpass","bandpass","lowshelf","highshelf","notch","allpass","peaking"].indexOf(e)!==-1,`Invalid filter type: ${e}`),this._filter.type=e}getFrequencyResponse(e=128){const t=new Float32Array(e);for(let o=0;os.type=e)}get rolloff(){return this._rolloff}set rolloff(e){const t=Bn(e)?e:parseInt(e,10),s=[-12,-24,-48,-96];let i=s.indexOf(t);pe(i!==-1,`rolloff can only be ${s.join(", ")}`),i+=1,this._rolloff=t,this.input.disconnect(),this._filters.forEach(r=>r.disconnect()),this._filters=new Array(i);for(let r=0;r1);return this._filters.forEach(()=>{t.getFrequencyResponse(e).forEach((r,o)=>s[o]*=r)}),t.dispose(),s}dispose(){return super.dispose(),this._filters.forEach(e=>{e.dispose()}),Yl(this,["detune","frequency","gain","Q"]),this.frequency.dispose(),this.Q.dispose(),this.detune.dispose(),this.gain.dispose(),this}}class Fr extends Ht{constructor(){super(W(Fr.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="FrequencyEnvelope";const e=W(Fr.getDefaults(),arguments,["attack","decay","sustain","release"]);this._octaves=e.octaves,this._baseFrequency=this.toFrequency(e.baseFrequency),this._exponent=this.input=new Ar({context:this.context,value:e.exponent}),this._scale=this.output=new Rr({context:this.context,min:this._baseFrequency,max:this._baseFrequency*Math.pow(2,this._octaves)}),this._sig.chain(this._exponent,this._scale)}static getDefaults(){return Object.assign(Ht.getDefaults(),{baseFrequency:200,exponent:1,octaves:4})}get baseFrequency(){return this._baseFrequency}set baseFrequency(e){const t=this.toFrequency(e);on(t,0),this._baseFrequency=t,this._scale.min=this._baseFrequency,this.octaves=this._octaves}get octaves(){return this._octaves}set octaves(e){this._octaves=e,this._scale.max=this._baseFrequency*Math.pow(2,e)}get exponent(){return this._exponent.value}set exponent(e){this._exponent.value=e}dispose(){return super.dispose(),this._exponent.dispose(),this._scale.dispose(),this}}class na extends An{constructor(){super(W(na.getDefaults(),arguments)),this.name="MonoSynth";const e=W(na.getDefaults(),arguments);this.oscillator=new Js(Object.assign(e.oscillator,{context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)})),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.filter=new $r(Object.assign(e.filter,{context:this.context})),this.filterEnvelope=new Fr(Object.assign(e.filterEnvelope,{context:this.context})),this.envelope=new Ka(Object.assign(e.envelope,{context:this.context})),this.oscillator.chain(this.filter,this.envelope,this.output),this.filterEnvelope.connect(this.filter.frequency),ke(this,["oscillator","frequency","detune","filter","filterEnvelope","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign($s(Ht.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.9}),filter:Object.assign($s($r.getDefaults(),Object.keys(he.getDefaults())),{Q:1,rolloff:-12,type:"lowpass"}),filterEnvelope:Object.assign($s(Fr.getDefaults(),Object.keys(he.getDefaults())),{attack:.6,baseFrequency:200,decay:.2,exponent:2,octaves:3,release:2,sustain:.5}),oscillator:Object.assign($s(Js.getDefaults(),Object.keys(bt.getDefaults())),{type:"sawtooth"})})}_triggerEnvelopeAttack(e,t=1){if(this.envelope.triggerAttack(e,t),this.filterEnvelope.triggerAttack(e),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),i=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+i)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.filterEnvelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this.filterEnvelope.dispose(),this.filter.dispose(),this}}class Vr extends $i{constructor(){super(W(Vr.getDefaults(),arguments)),this.name="MembraneSynth",this.portamento=0;const e=W(Vr.getDefaults(),arguments);this.pitchDecay=e.pitchDecay,this.octaves=e.octaves,ke(this,["oscillator","envelope"])}static getDefaults(){return Ws(An.getDefaults(),$i.getDefaults(),{envelope:{attack:.001,attackCurve:"exponential",decay:.4,release:1.4,sustain:.01},octaves:10,oscillator:{type:"sine"},pitchDecay:.05})}setNote(e,t){const s=this.toSeconds(t),i=this.toFrequency(e instanceof Mt?e.toFrequency():e),r=i*this.octaves;return this.oscillator.frequency.setValueAtTime(r,s),this.oscillator.frequency.exponentialRampToValueAtTime(i,s+this.toSeconds(this.pitchDecay)),this}dispose(){return super.dispose(),this}}un([$p(0)],Vr.prototype,"octaves",void 0);un([Xn(0)],Vr.prototype,"pitchDecay",void 0);const Fp=new Set;function nu(n){Fp.add(n)}function Vp(n,e){const t=`registerProcessor("${n}", ${e})`;Fp.add(t)}const H2=` - /** - * The base AudioWorkletProcessor for use in Tone.js. Works with the [[ToneAudioWorklet]]. - */ - class ToneAudioWorkletProcessor extends AudioWorkletProcessor { - - constructor(options) { - - super(options); - /** - * If the processor was disposed or not. Keep alive until it's disposed. - */ - this.disposed = false; - /** - * The number of samples in the processing block - */ - this.blockSize = 128; - /** - * the sample rate - */ - this.sampleRate = sampleRate; - - this.port.onmessage = (event) => { - // when it receives a dispose - if (event.data === "dispose") { - this.disposed = true; - } - }; - } - } -`;nu(H2);const G2=` - /** - * Abstract class for a single input/output processor. - * has a 'generate' function which processes one sample at a time - */ - class SingleIOProcessor extends ToneAudioWorkletProcessor { - - constructor(options) { - super(Object.assign(options, { - numberOfInputs: 1, - numberOfOutputs: 1 - })); - /** - * Holds the name of the parameter and a single value of that - * parameter at the current sample - * @type { [name: string]: number } - */ - this.params = {} - } - - /** - * Generate an output sample from the input sample and parameters - * @abstract - * @param input number - * @param channel number - * @param parameters { [name: string]: number } - * @returns number - */ - generate(){} - - /** - * Update the private params object with the - * values of the parameters at the given index - * @param parameters { [name: string]: Float32Array }, - * @param index number - */ - updateParams(parameters, index) { - for (const paramName in parameters) { - const param = parameters[paramName]; - if (param.length > 1) { - this.params[paramName] = parameters[paramName][index]; - } else { - this.params[paramName] = parameters[paramName][0]; - } - } - } - - /** - * Process a single frame of the audio - * @param inputs Float32Array[][] - * @param outputs Float32Array[][] - */ - process(inputs, outputs, parameters) { - const input = inputs[0]; - const output = outputs[0]; - // get the parameter values - const channelCount = Math.max(input && input.length || 0, output.length); - for (let sample = 0; sample < this.blockSize; sample++) { - this.updateParams(parameters, sample); - for (let channel = 0; channel < channelCount; channel++) { - const inputSample = input && input.length ? input[channel][sample] : 0; - output[channel][sample] = this.generate(inputSample, channel, this.params); - } - } - return !this.disposed; - } - }; -`;nu(G2);const K2=` - /** - * A multichannel buffer for use within an AudioWorkletProcessor as a delay line - */ - class DelayLine { - - constructor(size, channels) { - this.buffer = []; - this.writeHead = [] - this.size = size; - - // create the empty channels - for (let i = 0; i < channels; i++) { - this.buffer[i] = new Float32Array(this.size); - this.writeHead[i] = 0; - } - } - - /** - * Push a value onto the end - * @param channel number - * @param value number - */ - push(channel, value) { - this.writeHead[channel] += 1; - if (this.writeHead[channel] > this.size) { - this.writeHead[channel] = 0; - } - this.buffer[channel][this.writeHead[channel]] = value; - } - - /** - * Get the recorded value of the channel given the delay - * @param channel number - * @param delay number delay samples - */ - get(channel, delay) { - let readHead = this.writeHead[channel] - Math.floor(delay); - if (readHead < 0) { - readHead += this.size; - } - return this.buffer[channel][readHead]; - } - } -`;nu(K2);const Y2="feedback-comb-filter",Z2=` - class FeedbackCombFilterWorklet extends SingleIOProcessor { - - constructor(options) { - super(options); - this.delayLine = new DelayLine(this.sampleRate, options.channelCount || 2); - } - - static get parameterDescriptors() { - return [{ - name: "delayTime", - defaultValue: 0.1, - minValue: 0, - maxValue: 1, - automationRate: "k-rate" - }, { - name: "feedback", - defaultValue: 0.5, - minValue: 0, - maxValue: 0.9999, - automationRate: "k-rate" - }]; - } - - generate(input, channel, parameters) { - const delayedSample = this.delayLine.get(channel, parameters.delayTime * this.sampleRate); - this.delayLine.push(channel, input + delayedSample * parameters.feedback); - return delayedSample; - } - } -`;Vp(Y2,Z2);class sa extends jn{constructor(){super(W(sa.getDefaults(),arguments,["voice","options"])),this.name="PolySynth",this._availableVoices=[],this._activeVoices=[],this._voices=[],this._gcTimeout=-1,this._averageActiveVoices=0,this._syncedRelease=i=>this.releaseAll(i);const e=W(sa.getDefaults(),arguments,["voice","options"]);pe(!Bn(e.voice),"DEPRECATED: The polyphony count is no longer the first argument.");const t=e.voice.getDefaults();this.options=Object.assign(t,e.options),this.voice=e.voice,this.maxPolyphony=e.maxPolyphony,this._dummyVoice=this._getNextAvailableVoice();const s=this._voices.indexOf(this._dummyVoice);this._voices.splice(s,1),this._gcTimeout=this.context.setInterval(this._collectGarbage.bind(this),1)}static getDefaults(){return Object.assign(jn.getDefaults(),{maxPolyphony:32,options:{},voice:$i})}get activeVoices(){return this._activeVoices.length}_makeVoiceAvailable(e){this._availableVoices.push(e);const t=this._activeVoices.findIndex(s=>s.voice===e);this._activeVoices.splice(t,1)}_getNextAvailableVoice(){if(this._availableVoices.length)return this._availableVoices.shift();if(this._voices.lengthMath.ceil(this._averageActiveVoices+1)){const e=this._availableVoices.shift(),t=this._voices.indexOf(e);this._voices.splice(t,1),this.context.isOffline||e.dispose()}}_triggerAttack(e,t,s){e.forEach(i=>{const r=new Cr(this.context,i).toMidi(),o=this._getNextAvailableVoice();o&&(o.triggerAttack(i,t,s),this._activeVoices.push({midi:r,voice:o,released:!1}),this.log("triggerAttack",i,t))})}_triggerRelease(e,t){e.forEach(s=>{const i=new Cr(this.context,s).toMidi(),r=this._activeVoices.find(({midi:o,released:a})=>o===i&&!a);r&&(r.voice.triggerRelease(t),r.released=!0,this.log("triggerRelease",s,t))})}_scheduleEvent(e,t,s,i){pe(!this.disposed,"Synth was already disposed"),s<=this.now()?e==="attack"?this._triggerAttack(t,s,i):this._triggerRelease(t,s):this.context.setTimeout(()=>{this.disposed||this._scheduleEvent(e,t,s,i)},s-this.now())}triggerAttack(e,t,s){Array.isArray(e)||(e=[e]);const i=this.toSeconds(t);return this._scheduleEvent("attack",e,i,s),this}triggerRelease(e,t){Array.isArray(e)||(e=[e]);const s=this.toSeconds(t);return this._scheduleEvent("release",e,s),this}triggerAttackRelease(e,t,s,i){const r=this.toSeconds(s);if(this.triggerAttack(e,r,i),Ft(t)){pe(Ft(e),"If the duration is an array, the notes must also be an array"),e=e;for(let o=0;o0,"The duration must be greater than 0"),this.triggerRelease(e[o],r+c)}}else{const o=this.toSeconds(t);pe(o>0,"The duration must be greater than 0"),this.triggerRelease(e,r+o)}return this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}set(e){const t=$s(e,["onsilence","context"]);return this.options=Ws(this.options,t),this._voices.forEach(s=>s.set(t)),this._dummyVoice.set(t),this}get(){return this._dummyVoice.get()}releaseAll(e){const t=this.toSeconds(e);return this._activeVoices.forEach(({voice:s})=>{s.triggerRelease(t)}),this}dispose(){return super.dispose(),this._dummyVoice.dispose(),this._voices.forEach(e=>e.dispose()),this._activeVoices=[],this._availableVoices=[],this.context.clearInterval(this._gcTimeout),this}}class Lr extends jn{constructor(){super(W(Lr.getDefaults(),arguments,["urls","onload","baseUrl"],"urls")),this.name="Sampler",this._activeSources=new Map;const e=W(Lr.getDefaults(),arguments,["urls","onload","baseUrl"],"urls"),t={};Object.keys(e.urls).forEach(s=>{const i=parseInt(s,10);if(pe(po(s)||Bn(i)&&isFinite(i),`url key is neither a note or midi pitch: ${s}`),po(s)){const r=new Mt(this.context,s).toMidi();t[r]=e.urls[s]}else Bn(i)&&isFinite(i)&&(t[i]=e.urls[i])}),this._buffers=new Ql({urls:t,onload:e.onload,baseUrl:e.baseUrl,onerror:e.onerror}),this.attack=e.attack,this.release=e.release,this.curve=e.curve,this._buffers.loaded&&Promise.resolve().then(e.onload)}static getDefaults(){return Object.assign(jn.getDefaults(),{attack:0,baseUrl:"",curve:"exponential",onload:Fe,onerror:Fe,release:.1,urls:{}})}_findClosest(e){let s=0;for(;s<96;){if(this._buffers.has(e+s))return-s;if(this._buffers.has(e-s))return s;s++}throw new Error(`No available buffers for note: ${e}`)}triggerAttack(e,t,s=1){return this.log("triggerAttack",e,t,s),Array.isArray(e)||(e=[e]),e.forEach(i=>{const r=kp(new Mt(this.context,i).toFrequency()),o=Math.round(r),a=r-o,c=this._findClosest(o),l=o-c,u=this._buffers.get(l),h=Mp(c+a),d=new Di({url:u,context:this.context,curve:this.curve,fadeIn:this.attack,fadeOut:this.release,playbackRate:h}).connect(this.output);d.start(t,0,u.duration/h,s),Ft(this._activeSources.get(o))||this._activeSources.set(o,[]),this._activeSources.get(o).push(d),d.onended=()=>{if(this._activeSources&&this._activeSources.has(o)){const f=this._activeSources.get(o),p=f.indexOf(d);p!==-1&&f.splice(p,1)}}}),this}triggerRelease(e,t){return this.log("triggerRelease",e,t),Array.isArray(e)||(e=[e]),e.forEach(s=>{const i=new Mt(this.context,s).toMidi();if(this._activeSources.has(i)&&this._activeSources.get(i).length){const r=this._activeSources.get(i);t=this.toSeconds(t),r.forEach(o=>{o.stop(t)}),this._activeSources.set(i,[])}}),this}releaseAll(e){const t=this.toSeconds(e);return this._activeSources.forEach(s=>{for(;s.length;)s.shift().stop(t)}),this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1)),this}triggerAttackRelease(e,t,s,i=1){const r=this.toSeconds(s);return this.triggerAttack(e,r,i),Ft(t)?(pe(Ft(e),"notes must be an array when duration is array"),e.forEach((o,a)=>{const c=t[Math.min(a,t.length-1)];this.triggerRelease(o,r+this.toSeconds(c))})):this.triggerRelease(e,r+this.toSeconds(t)),this}add(e,t,s){if(pe(po(e)||isFinite(e),`note must be a pitch or midi: ${e}`),po(e)){const i=new Mt(this.context,e).toMidi();this._buffers.add(i,t,s)}else this._buffers.add(e,t,s);return this}get loaded(){return this._buffers.loaded}dispose(){return super.dispose(),this._buffers.dispose(),this._activeSources.forEach(e=>{e.forEach(t=>t.dispose())}),this._activeSources.clear(),this}}un([Xn(0)],Lr.prototype,"attack",void 0);un([Xn(0)],Lr.prototype,"release",void 0);class ia extends he{constructor(){super(Object.assign(W(ia.getDefaults(),arguments,["fade"]))),this.name="CrossFade",this._panner=this.context.createStereoPanner(),this._split=this.context.createChannelSplitter(2),this._g2a=new z2({context:this.context}),this.a=new De({context:this.context,gain:0}),this.b=new De({context:this.context,gain:0}),this.output=new De({context:this.context}),this._internalChannels=[this.a,this.b];const e=W(ia.getDefaults(),arguments,["fade"]);this.fade=new qe({context:this.context,units:"normalRange",value:e.fade}),ke(this,"fade"),this.context.getConstant(1).connect(this._panner),this._panner.connect(this._split),this._panner.channelCount=1,this._panner.channelCountMode="explicit",Un(this._split,this.a.gain,0),Un(this._split,this.b.gain,1),this.fade.chain(this._g2a,this._panner.pan),this.a.connect(this.output),this.b.connect(this.output)}static getDefaults(){return Object.assign(he.getDefaults(),{fade:.5})}dispose(){return super.dispose(),this.a.dispose(),this.b.dispose(),this.output.dispose(),this.fade.dispose(),this._g2a.dispose(),this._panner.disconnect(),this._split.disconnect(),this}}class Fi extends he{constructor(e){super(e),this.name="Effect",this._dryWet=new ia({context:this.context}),this.wet=this._dryWet.fade,this.effectSend=new De({context:this.context}),this.effectReturn=new De({context:this.context}),this.input=new De({context:this.context}),this.output=this._dryWet,this.input.fan(this._dryWet.a,this.effectSend),this.effectReturn.connect(this._dryWet.b),this.wet.setValueAtTime(e.wet,0),this._internalChannels=[this.effectReturn,this.effectSend],ke(this,"wet")}static getDefaults(){return Object.assign(he.getDefaults(),{wet:1})}connectEffect(e){return this._internalChannels.push(e),this.effectSend.chain(e,this.effectReturn),this}dispose(){return super.dispose(),this._dryWet.dispose(),this.effectSend.dispose(),this.effectReturn.dispose(),this.wet.dispose(),this}}class Ah extends Fi{constructor(e){super(e),this.name="LFOEffect",this._lfo=new ta({context:this.context,frequency:e.frequency,amplitude:e.depth}),this.depth=this._lfo.amplitude,this.frequency=this._lfo.frequency,this.type=e.type,ke(this,["frequency","depth"])}static getDefaults(){return Object.assign(Fi.getDefaults(),{frequency:1,type:"sine",depth:1})}start(e){return this._lfo.start(e),this}stop(e){return this._lfo.stop(e),this}sync(){return this._lfo.sync(),this}unsync(){return this._lfo.unsync(),this}get type(){return this._lfo.type}set type(e){this._lfo.type=e}dispose(){return super.dispose(),this._lfo.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Br extends he{constructor(){super(Object.assign(W(Br.getDefaults(),arguments,["pan"]))),this.name="Panner",this._panner=this.context.createStereoPanner(),this.input=this._panner,this.output=this._panner;const e=W(Br.getDefaults(),arguments,["pan"]);this.pan=new Te({context:this.context,param:this._panner.pan,value:e.pan,minValue:-1,maxValue:1}),this._panner.channelCount=e.channelCount,this._panner.channelCountMode="explicit",ke(this,"pan")}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,channelCount:1})}dispose(){return super.dispose(),this._panner.disconnect(),this.pan.dispose(),this}}class ra extends Ah{constructor(){super(W(ra.getDefaults(),arguments,["frequency"])),this.name="AutoPanner";const e=W(ra.getDefaults(),arguments,["frequency"]);this._panner=new Br({context:this.context,channelCount:e.channelCount}),this.connectEffect(this._panner),this._lfo.connect(this._panner.pan),this._lfo.min=-1,this._lfo.max=1}static getDefaults(){return Object.assign(Ah.getDefaults(),{channelCount:1})}dispose(){return super.dispose(),this._panner.dispose(),this}}const X2="bit-crusher",Q2=` - class BitCrusherWorklet extends SingleIOProcessor { - - static get parameterDescriptors() { - return [{ - name: "bits", - defaultValue: 12, - minValue: 1, - maxValue: 16, - automationRate: 'k-rate' - }]; - } - - generate(input, _channel, parameters) { - const step = Math.pow(0.5, parameters.bits - 1); - const val = step * Math.floor(input / step + 0.5); - return val; - } - } -`;Vp(X2,Q2);class oa extends he{constructor(){super(W(oa.getDefaults(),arguments,["channels"])),this.name="Merge";const e=W(oa.getDefaults(),arguments,["channels"]);this._merger=this.output=this.input=this.context.createChannelMerger(e.channels)}static getDefaults(){return Object.assign(he.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._merger.disconnect(),this}}class Nh extends Fi{constructor(e){super(e),this.name="FeedbackEffect",this._feedbackGain=new De({context:this.context,gain:e.feedback,units:"normalRange"}),this.feedback=this._feedbackGain.gain,ke(this,"feedback"),this.effectReturn.chain(this._feedbackGain,this.effectSend)}static getDefaults(){return Object.assign(Fi.getDefaults(),{feedback:.125})}dispose(){return super.dispose(),this._feedbackGain.dispose(),this.feedback.dispose(),this}}class aa extends Nh{constructor(){super(W(aa.getDefaults(),arguments,["delayTime","feedback"])),this.name="FeedbackDelay";const e=W(aa.getDefaults(),arguments,["delayTime","feedback"]);this._delayNode=new Qo({context:this.context,delayTime:e.delayTime,maxDelay:e.maxDelay}),this.delayTime=this._delayNode.delayTime,this.connectEffect(this._delayNode),ke(this,"delayTime")}static getDefaults(){return Object.assign(Nh.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._delayNode.dispose(),this.delayTime.dispose(),this}}class ca extends Fi{constructor(){super(W(ca.getDefaults(),arguments,["decay"])),this.name="Reverb",this._convolver=this.context.createConvolver(),this.ready=Promise.resolve();const e=W(ca.getDefaults(),arguments,["decay"]);this._decay=e.decay,this._preDelay=e.preDelay,this.generate(),this.connectEffect(this._convolver)}static getDefaults(){return Object.assign(Fi.getDefaults(),{decay:1.5,preDelay:.01})}get decay(){return this._decay}set decay(e){e=this.toSeconds(e),on(e,.001),this._decay=e,this.generate()}get preDelay(){return this._preDelay}set preDelay(e){e=this.toSeconds(e),on(e,0),this._preDelay=e,this.generate()}generate(){return tt(this,void 0,void 0,function*(){const e=this.ready,t=new za(2,this._decay+this._preDelay,this.context.sampleRate),s=new Nr({context:t}),i=new Nr({context:t}),r=new oa({context:t});s.connect(r,0,0),i.connect(r,0,1);const o=new De({context:t}).toDestination();r.connect(o),s.start(0),i.start(0),o.gain.setValueAtTime(0,0),o.gain.setValueAtTime(1,this._preDelay),o.gain.exponentialApproachValueAtTime(0,this._preDelay,this.decay);const a=t.render();return this.ready=a.then(Fe),yield e,this._convolver.buffer=(yield a).get(),this})}dispose(){return super.dispose(),this._convolver.disconnect(),this}}class Je extends he{constructor(){super(W(Je.getDefaults(),arguments,["solo"])),this.name="Solo";const e=W(Je.getDefaults(),arguments,["solo"]);this.input=this.output=new De({context:this.context}),Je._allSolos.has(this.context)||Je._allSolos.set(this.context,new Set),Je._allSolos.get(this.context).add(this),this.solo=e.solo}static getDefaults(){return Object.assign(he.getDefaults(),{solo:!1})}get solo(){return this._isSoloed()}set solo(e){e?this._addSolo():this._removeSolo(),Je._allSolos.get(this.context).forEach(t=>t._updateSolo())}get muted(){return this.input.gain.value===0}_addSolo(){Je._soloed.has(this.context)||Je._soloed.set(this.context,new Set),Je._soloed.get(this.context).add(this)}_removeSolo(){Je._soloed.has(this.context)&&Je._soloed.get(this.context).delete(this)}_isSoloed(){return Je._soloed.has(this.context)&&Je._soloed.get(this.context).has(this)}_noSolos(){return!Je._soloed.has(this.context)||Je._soloed.has(this.context)&&Je._soloed.get(this.context).size===0}_updateSolo(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0}dispose(){return super.dispose(),Je._allSolos.get(this.context).delete(this),this._removeSolo(),this}}Je._allSolos=new Map;Je._soloed=new Map;class la extends he{constructor(){super(W(la.getDefaults(),arguments,["pan","volume"])),this.name="PanVol";const e=W(la.getDefaults(),arguments,["pan","volume"]);this._panner=this.input=new Br({context:this.context,pan:e.pan,channelCount:e.channelCount}),this.pan=this._panner.pan,this._volume=this.output=new Xs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=e.mute,ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,pan:0,volume:0,channelCount:1})}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this._panner.dispose(),this.pan.dispose(),this._volume.dispose(),this.volume.dispose(),this}}class Ds extends he{constructor(){super(W(Ds.getDefaults(),arguments,["volume","pan"])),this.name="Channel";const e=W(Ds.getDefaults(),arguments,["volume","pan"]);this._solo=this.input=new Je({solo:e.solo,context:this.context}),this._panVol=this.output=new la({context:this.context,pan:e.pan,volume:e.volume,mute:e.mute,channelCount:e.channelCount}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,volume:0,mute:!1,solo:!1,channelCount:1})}get solo(){return this._solo.solo}set solo(e){this._solo.solo=e}get muted(){return this._solo.muted||this.mute}get mute(){return this._panVol.mute}set mute(e){this._panVol.mute=e}_getBus(e){return Ds.buses.has(e)||Ds.buses.set(e,new De({context:this.context})),Ds.buses.get(e)}send(e,t=0){const s=this._getBus(e),i=new De({context:this.context,units:"decibels",gain:t});return this.connect(i),i.connect(s),i}receive(e){return this._getBus(e).connect(this),this}dispose(){return super.dispose(),this._panVol.dispose(),this.pan.dispose(),this.volume.dispose(),this._solo.dispose(),this}}Ds.buses=new Map;let J2=class extends he{constructor(){super(...arguments),this.name="Listener",this.positionX=new Te({context:this.context,param:this.context.rawContext.listener.positionX}),this.positionY=new Te({context:this.context,param:this.context.rawContext.listener.positionY}),this.positionZ=new Te({context:this.context,param:this.context.rawContext.listener.positionZ}),this.forwardX=new Te({context:this.context,param:this.context.rawContext.listener.forwardX}),this.forwardY=new Te({context:this.context,param:this.context.rawContext.listener.forwardY}),this.forwardZ=new Te({context:this.context,param:this.context.rawContext.listener.forwardZ}),this.upX=new Te({context:this.context,param:this.context.rawContext.listener.upX}),this.upY=new Te({context:this.context,param:this.context.rawContext.listener.upY}),this.upZ=new Te({context:this.context,param:this.context.rawContext.listener.upZ})}static getDefaults(){return Object.assign(he.getDefaults(),{positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:-1,upX:0,upY:1,upZ:0})}dispose(){return super.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this.forwardX.dispose(),this.forwardY.dispose(),this.forwardZ.dispose(),this.upX.dispose(),this.upY.dispose(),this.upZ.dispose(),this}};ja(n=>{n.listener=new J2({context:n})});Wa(n=>{n.listener.dispose()});class ua extends he{constructor(){super(W(ua.getDefaults(),arguments,["threshold","ratio"])),this.name="Compressor",this._compressor=this.context.createDynamicsCompressor(),this.input=this._compressor,this.output=this._compressor;const e=W(ua.getDefaults(),arguments,["threshold","ratio"]);this.threshold=new Te({minValue:this._compressor.threshold.minValue,maxValue:this._compressor.threshold.maxValue,context:this.context,convert:!1,param:this._compressor.threshold,units:"decibels",value:e.threshold}),this.attack=new Te({minValue:this._compressor.attack.minValue,maxValue:this._compressor.attack.maxValue,context:this.context,param:this._compressor.attack,units:"time",value:e.attack}),this.release=new Te({minValue:this._compressor.release.minValue,maxValue:this._compressor.release.maxValue,context:this.context,param:this._compressor.release,units:"time",value:e.release}),this.knee=new Te({minValue:this._compressor.knee.minValue,maxValue:this._compressor.knee.maxValue,context:this.context,convert:!1,param:this._compressor.knee,units:"decibels",value:e.knee}),this.ratio=new Te({minValue:this._compressor.ratio.minValue,maxValue:this._compressor.ratio.maxValue,context:this.context,convert:!1,param:this._compressor.ratio,units:"positive",value:e.ratio}),ke(this,["knee","release","attack","ratio","threshold"])}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.003,knee:30,ratio:12,release:.25,threshold:-24})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.disconnect(),this.attack.dispose(),this.release.dispose(),this.threshold.dispose(),this.ratio.dispose(),this.knee.dispose(),this}}const gc=Pt().transport;Pt().destination;Pt().destination;Pt().listener;Pt().draw;Pt();class en{constructor(e=!1){this.eventMap={},this.eventsSuspended=e==!0}addListener(e,t,s={}){if(typeof e=="string"&&e.length<1||e instanceof String&&e.length<1||typeof e!="string"&&!(e instanceof String)&&e!==en.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(typeof t!="function")throw new TypeError("The callback must be a function.");const i=new Mh(e,this,t,s);return this.eventMap[e]||(this.eventMap[e]=[]),s.prepend?this.eventMap[e].unshift(i):this.eventMap[e].push(i),i}addOneTimeListener(e,t,s={}){s.remaining=1,this.addListener(e,t,s)}static get ANY_EVENT(){return Symbol.for("Any event")}hasListener(e,t){return e===void 0?this.eventMap[en.ANY_EVENT]&&this.eventMap[en.ANY_EVENT].length>0?!0:Object.entries(this.eventMap).some(([,s])=>s.length>0):this.eventMap[e]&&this.eventMap[e].length>0?t instanceof Mh?this.eventMap[e].filter(i=>i===t).length>0:typeof t=="function"?this.eventMap[e].filter(i=>i.callback===t).length>0:t==null:!1}get eventNames(){return Object.keys(this.eventMap)}getListeners(e){return this.eventMap[e]||[]}suspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!0})}unsuspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!1})}getListenerCount(e){return this.getListeners(e).length}emit(e,...t){if(typeof e!="string"&&!(e instanceof String))throw new TypeError("The 'event' parameter must be a string.");if(this.eventsSuspended)return;let s=[],i=this.eventMap[en.ANY_EVENT]||[];return this.eventMap[e]&&(i=i.concat(this.eventMap[e])),i.forEach(r=>{if(r.suspended)return;let o=[...t];Array.isArray(r.arguments)&&(o=o.concat(r.arguments)),r.remaining>0&&(s.push(r.callback.apply(r.context,o)),r.count++),--r.remaining<1&&r.remove()}),s}removeListener(e,t,s={}){if(e===void 0){this.eventMap={};return}else if(!this.eventMap[e])return;let i=this.eventMap[e].filter(r=>t&&r.callback!==t||s.remaining&&s.remaining!==r.remaining||s.context&&s.context!==r.context);i.length?this.eventMap[e]=i:delete this.eventMap[e]}async waitFor(e,t={}){return t.duration=parseInt(t.duration),(isNaN(t.duration)||t.duration<=0)&&(t.duration=1/0),new Promise((s,i)=>{let r,o=this.addListener(e,()=>{clearTimeout(r),s()},{remaining:1});t.duration!==1/0&&(r=setTimeout(()=>{o.remove(),i("The duration expired before the event was emitted.")},t.duration))})}get eventCount(){return Object.keys(this.eventMap).length}}class Mh{constructor(e,t,s,i={}){if(typeof e!="string"&&!(e instanceof String)&&e!==en.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(!t)throw new ReferenceError("The 'target' parameter is mandatory.");if(typeof s!="function")throw new TypeError("The 'callback' must be a function.");i.arguments!==void 0&&!Array.isArray(i.arguments)&&(i.arguments=[i.arguments]),i=Object.assign({context:t,remaining:1/0,arguments:void 0,duration:1/0},i),i.duration!==1/0&&setTimeout(()=>this.remove(),i.duration),this.arguments=i.arguments,this.callback=s,this.context=i.context,this.count=0,this.event=e,this.remaining=parseInt(i.remaining)>=1?parseInt(i.remaining):1/0,this.suspended=!1,this.target=t}remove(){this.target.removeListener(this.event,this.callback,{context:this.context,remaining:this.remaining})}}/** - * The `Enumerations` class contains enumerations and arrays of elements used throughout the - * library. All its properties are static and should be referenced using the class name. For - * example: `Enumerations.CHANNEL_MESSAGES`. - * - * @license Apache-2.0 - * @since 3.0.0 - */class q{static get MIDI_CHANNEL_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MESSAGES enum instead."),q.CHANNEL_MESSAGES}static get CHANNEL_MESSAGES(){return{noteoff:8,noteon:9,keyaftertouch:10,controlchange:11,programchange:12,channelaftertouch:13,pitchbend:14}}static get CHANNEL_NUMBERS(){return[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get MIDI_CHANNEL_NUMBERS(){return this.validation&&console.warn("The MIDI_CHANNEL_NUMBERS array has been deprecated. Use the Enumerations.CHANNEL_NUMBERS array instead."),[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get CHANNEL_MODE_MESSAGES(){return{allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MODE_MESSAGES enum instead."),q.CHANNEL_MODE_MESSAGES}static get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been deprecated. Use the Enumerations.CONTROL_CHANGE_MESSAGES array instead."),{bankselectcoarse:0,modulationwheelcoarse:1,breathcontrollercoarse:2,controller3:3,footcontrollercoarse:4,portamentotimecoarse:5,dataentrycoarse:6,volumecoarse:7,balancecoarse:8,controller9:9,pancoarse:10,expressioncoarse:11,effectcontrol1coarse:12,effectcontrol2coarse:13,controller14:14,controller15:15,generalpurposeslider1:16,generalpurposeslider2:17,generalpurposeslider3:18,generalpurposeslider4:19,controller20:20,controller21:21,controller22:22,controller23:23,controller24:24,controller25:25,controller26:26,controller27:27,controller28:28,controller29:29,controller30:30,controller31:31,bankselectfine:32,modulationwheelfine:33,breathcontrollerfine:34,controller35:35,footcontrollerfine:36,portamentotimefine:37,dataentryfine:38,volumefine:39,balancefine:40,controller41:41,panfine:42,expressionfine:43,effectcontrol1fine:44,effectcontrol2fine:45,controller46:46,controller47:47,controller48:48,controller49:49,controller50:50,controller51:51,controller52:52,controller53:53,controller54:54,controller55:55,controller56:56,controller57:57,controller58:58,controller59:59,controller60:60,controller61:61,controller62:62,controller63:63,holdpedal:64,portamento:65,sustenutopedal:66,softpedal:67,legatopedal:68,hold2pedal:69,soundvariation:70,resonance:71,soundreleasetime:72,soundattacktime:73,brightness:74,soundcontrol6:75,soundcontrol7:76,soundcontrol8:77,soundcontrol9:78,soundcontrol10:79,generalpurposebutton1:80,generalpurposebutton2:81,generalpurposebutton3:82,generalpurposebutton4:83,controller84:84,controller85:85,controller86:86,controller87:87,controller88:88,controller89:89,controller90:90,reverblevel:91,tremololevel:92,choruslevel:93,celestelevel:94,phaserlevel:95,databuttonincrement:96,databuttondecrement:97,nonregisteredparametercoarse:98,nonregisteredparameterfine:99,registeredparametercoarse:100,registeredparameterfine:101,controller102:102,controller103:103,controller104:104,controller105:105,controller106:106,controller107:107,controller108:108,controller109:109,controller110:110,controller111:111,controller112:112,controller113:113,controller114:114,controller115:115,controller116:116,controller117:117,controller118:118,controller119:119,allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get CONTROL_CHANGE_MESSAGES(){return[{number:0,name:"bankselectcoarse",description:"Bank Select (Coarse)",position:"msb"},{number:1,name:"modulationwheelcoarse",description:"Modulation Wheel (Coarse)",position:"msb"},{number:2,name:"breathcontrollercoarse",description:"Breath Controller (Coarse)",position:"msb"},{number:3,name:"controller3",description:"Undefined",position:"msb"},{number:4,name:"footcontrollercoarse",description:"Foot Controller (Coarse)",position:"msb"},{number:5,name:"portamentotimecoarse",description:"Portamento Time (Coarse)",position:"msb"},{number:6,name:"dataentrycoarse",description:"Data Entry (Coarse)",position:"msb"},{number:7,name:"volumecoarse",description:"Channel Volume (Coarse)",position:"msb"},{number:8,name:"balancecoarse",description:"Balance (Coarse)",position:"msb"},{number:9,name:"controller9",description:"Controller 9 (Coarse)",position:"msb"},{number:10,name:"pancoarse",description:"Pan (Coarse)",position:"msb"},{number:11,name:"expressioncoarse",description:"Expression Controller (Coarse)",position:"msb"},{number:12,name:"effectcontrol1coarse",description:"Effect Control 1 (Coarse)",position:"msb"},{number:13,name:"effectcontrol2coarse",description:"Effect Control 2 (Coarse)",position:"msb"},{number:14,name:"controller14",description:"Undefined",position:"msb"},{number:15,name:"controller15",description:"Undefined",position:"msb"},{number:16,name:"generalpurposecontroller1",description:"General Purpose Controller 1 (Coarse)",position:"msb"},{number:17,name:"generalpurposecontroller2",description:"General Purpose Controller 2 (Coarse)",position:"msb"},{number:18,name:"generalpurposecontroller3",description:"General Purpose Controller 3 (Coarse)",position:"msb"},{number:19,name:"generalpurposecontroller4",description:"General Purpose Controller 4 (Coarse)",position:"msb"},{number:20,name:"controller20",description:"Undefined",position:"msb"},{number:21,name:"controller21",description:"Undefined",position:"msb"},{number:22,name:"controller22",description:"Undefined",position:"msb"},{number:23,name:"controller23",description:"Undefined",position:"msb"},{number:24,name:"controller24",description:"Undefined",position:"msb"},{number:25,name:"controller25",description:"Undefined",position:"msb"},{number:26,name:"controller26",description:"Undefined",position:"msb"},{number:27,name:"controller27",description:"Undefined",position:"msb"},{number:28,name:"controller28",description:"Undefined",position:"msb"},{number:29,name:"controller29",description:"Undefined",position:"msb"},{number:30,name:"controller30",description:"Undefined",position:"msb"},{number:31,name:"controller31",description:"Undefined",position:"msb"},{number:32,name:"bankselectfine",description:"Bank Select (Fine)",position:"lsb"},{number:33,name:"modulationwheelfine",description:"Modulation Wheel (Fine)",position:"lsb"},{number:34,name:"breathcontrollerfine",description:"Breath Controller (Fine)",position:"lsb"},{number:35,name:"controller35",description:"Undefined",position:"lsb"},{number:36,name:"footcontrollerfine",description:"Foot Controller (Fine)",position:"lsb"},{number:37,name:"portamentotimefine",description:"Portamento Time (Fine)",position:"lsb"},{number:38,name:"dataentryfine",description:"Data Entry (Fine)",position:"lsb"},{number:39,name:"channelvolumefine",description:"Channel Volume (Fine)",position:"lsb"},{number:40,name:"balancefine",description:"Balance (Fine)",position:"lsb"},{number:41,name:"controller41",description:"Undefined",position:"lsb"},{number:42,name:"panfine",description:"Pan (Fine)",position:"lsb"},{number:43,name:"expressionfine",description:"Expression Controller (Fine)",position:"lsb"},{number:44,name:"effectcontrol1fine",description:"Effect control 1 (Fine)",position:"lsb"},{number:45,name:"effectcontrol2fine",description:"Effect control 2 (Fine)",position:"lsb"},{number:46,name:"controller46",description:"Undefined",position:"lsb"},{number:47,name:"controller47",description:"Undefined",position:"lsb"},{number:48,name:"controller48",description:"General Purpose Controller 1 (Fine)",position:"lsb"},{number:49,name:"controller49",description:"General Purpose Controller 2 (Fine)",position:"lsb"},{number:50,name:"controller50",description:"General Purpose Controller 3 (Fine)",position:"lsb"},{number:51,name:"controller51",description:"General Purpose Controller 4 (Fine)",position:"lsb"},{number:52,name:"controller52",description:"Undefined",position:"lsb"},{number:53,name:"controller53",description:"Undefined",position:"lsb"},{number:54,name:"controller54",description:"Undefined",position:"lsb"},{number:55,name:"controller55",description:"Undefined",position:"lsb"},{number:56,name:"controller56",description:"Undefined",position:"lsb"},{number:57,name:"controller57",description:"Undefined",position:"lsb"},{number:58,name:"controller58",description:"Undefined",position:"lsb"},{number:59,name:"controller59",description:"Undefined",position:"lsb"},{number:60,name:"controller60",description:"Undefined",position:"lsb"},{number:61,name:"controller61",description:"Undefined",position:"lsb"},{number:62,name:"controller62",description:"Undefined",position:"lsb"},{number:63,name:"controller63",description:"Undefined",position:"lsb"},{number:64,name:"damperpedal",description:"Damper Pedal On/Off"},{number:65,name:"portamento",description:"Portamento On/Off"},{number:66,name:"sostenuto",description:"Sostenuto On/Off"},{number:67,name:"softpedal",description:"Soft Pedal On/Off"},{number:68,name:"legatopedal",description:"Legato Pedal On/Off"},{number:69,name:"hold2",description:"Hold 2 On/Off"},{number:70,name:"soundvariation",description:"Sound Variation",position:"lsb"},{number:71,name:"resonance",description:"Resonance",position:"lsb"},{number:72,name:"releasetime",description:"Release Time",position:"lsb"},{number:73,name:"attacktime",description:"Attack Time",position:"lsb"},{number:74,name:"brightness",description:"Brightness",position:"lsb"},{number:75,name:"decaytime",description:"Decay Time",position:"lsb"},{number:76,name:"vibratorate",description:"Vibrato Rate",position:"lsb"},{number:77,name:"vibratodepth",description:"Vibrato Depth",position:"lsb"},{number:78,name:"vibratodelay",description:"Vibrato Delay",position:"lsb"},{number:79,name:"controller79",description:"Undefined",position:"lsb"},{number:80,name:"generalpurposecontroller5",description:"General Purpose Controller 5",position:"lsb"},{number:81,name:"generalpurposecontroller6",description:"General Purpose Controller 6",position:"lsb"},{number:82,name:"generalpurposecontroller7",description:"General Purpose Controller 7",position:"lsb"},{number:83,name:"generalpurposecontroller8",description:"General Purpose Controller 8",position:"lsb"},{number:84,name:"portamentocontrol",description:"Portamento Control",position:"lsb"},{number:85,name:"controller85",description:"Undefined"},{number:86,name:"controller86",description:"Undefined"},{number:87,name:"controller87",description:"Undefined"},{number:88,name:"highresolutionvelocityprefix",description:"High Resolution Velocity Prefix",position:"lsb"},{number:89,name:"controller89",description:"Undefined"},{number:90,name:"controller90",description:"Undefined"},{number:91,name:"effect1depth",description:"Effects 1 Depth (Reverb Send Level)"},{number:92,name:"effect2depth",description:"Effects 2 Depth"},{number:93,name:"effect3depth",description:"Effects 3 Depth (Chorus Send Level)"},{number:94,name:"effect4depth",description:"Effects 4 Depth"},{number:95,name:"effect5depth",description:"Effects 5 Depth"},{number:96,name:"dataincrement",description:"Data Increment"},{number:97,name:"datadecrement",description:"Data Decrement"},{number:98,name:"nonregisteredparameterfine",description:"Non-Registered Parameter Number (Fine)",position:"lsb"},{number:99,name:"nonregisteredparametercoarse",description:"Non-Registered Parameter Number (Coarse)",position:"msb"},{number:100,name:"registeredparameterfine",description:"Registered Parameter Number (Fine)",position:"lsb"},{number:101,name:"registeredparametercoarse",description:"Registered Parameter Number (Coarse)",position:"msb"},{number:102,name:"controller102",description:"Undefined"},{number:103,name:"controller103",description:"Undefined"},{number:104,name:"controller104",description:"Undefined"},{number:105,name:"controller105",description:"Undefined"},{number:106,name:"controller106",description:"Undefined"},{number:107,name:"controller107",description:"Undefined"},{number:108,name:"controller108",description:"Undefined"},{number:109,name:"controller109",description:"Undefined"},{number:110,name:"controller110",description:"Undefined"},{number:111,name:"controller111",description:"Undefined"},{number:112,name:"controller112",description:"Undefined"},{number:113,name:"controller113",description:"Undefined"},{number:114,name:"controller114",description:"Undefined"},{number:115,name:"controller115",description:"Undefined"},{number:116,name:"controller116",description:"Undefined"},{number:117,name:"controller117",description:"Undefined"},{number:118,name:"controller118",description:"Undefined"},{number:119,name:"controller119",description:"Undefined"},{number:120,name:"allsoundoff",description:"All Sound Off"},{number:121,name:"resetallcontrollers",description:"Reset All Controllers"},{number:122,name:"localcontrol",description:"Local Control On/Off"},{number:123,name:"allnotesoff",description:"All Notes Off"},{number:124,name:"omnimodeoff",description:"Omni Mode Off"},{number:125,name:"omnimodeon",description:"Omni Mode On"},{number:126,name:"monomodeon",description:"Mono Mode On"},{number:127,name:"polymodeon",description:"Poly Mode On"}]}static get REGISTERED_PARAMETERS(){return{pitchbendrange:[0,0],channelfinetuning:[0,1],channelcoarsetuning:[0,2],tuningprogram:[0,3],tuningbank:[0,4],modulationrange:[0,5],azimuthangle:[61,0],elevationangle:[61,1],gain:[61,2],distanceratio:[61,3],maximumdistance:[61,4],maximumdistancegain:[61,5],referencedistanceratio:[61,6],panspreadangle:[61,7],rollangle:[61,8]}}static get MIDI_REGISTERED_PARAMETERS(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETERS enum has been deprecated. Use the Enumerations.REGISTERED_PARAMETERS enum instead."),q.MIDI_REGISTERED_PARAMETERS}static get SYSTEM_MESSAGES(){return{sysex:240,timecode:241,songposition:242,songselect:243,tunerequest:246,tuningrequest:246,sysexend:247,clock:248,start:250,continue:251,stop:252,activesensing:254,reset:255,midimessage:0,unknownsystemmessage:-1}}static get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been deprecated. Use the Enumerations.SYSTEM_MESSAGES enum instead."),q.SYSTEM_MESSAGES}static get CHANNEL_EVENTS(){return["noteoff","controlchange","noteon","keyaftertouch","programchange","channelaftertouch","pitchbend","allnotesoff","allsoundoff","localcontrol","monomode","omnimode","resetallcontrollers","nrpn","nrpn-dataentrycoarse","nrpn-dataentryfine","nrpn-dataincrement","nrpn-datadecrement","rpn","rpn-dataentrycoarse","rpn-dataentryfine","rpn-dataincrement","rpn-datadecrement","nrpn-databuttonincrement","nrpn-databuttondecrement","rpn-databuttonincrement","rpn-databuttondecrement"]}}/** - * The `Note` class represents a single musical note such as `"D3"`, `"G#4"`, `"F-1"`, `"Gb7"`, etc. - * - * `Note` objects can be played back on a single channel by calling - * [`OutputChannel.playNote()`]{@link OutputChannel#playNote} or, on multiple channels of the same - * output, by calling [`Output.playNote()`]{@link Output#playNote}. - * - * The note has [`attack`](#attack) and [`release`](#release) velocities set at `0.5` by default. - * These can be changed by passing in the appropriate option. It is also possible to set a - * system-wide default for attack and release velocities by using the - * [`WebMidi.defaults`](WebMidi#defaults) property. - * - * If you prefer to work with raw MIDI values (`0` to `127`), you can use [`rawAttack`](#rawAttack) and - * [`rawRelease`](#rawRelease) to both get and set the values. - * - * The note may have a [`duration`](#duration). If it does, playback will be automatically stopped - * when the duration has elapsed by sending a `"noteoff"` event. By default, the duration is set to - * `Infinity`. In this case, it will never stop playing unless explicitly stopped by calling a - * method such as [`OutputChannel.stopNote()`]{@link OutputChannel#stopNote}, - * [`Output.stopNote()`]{@link Output#stopNote} or similar. - * - * @license Apache-2.0 - * @since 3.0.0 - */class Ls{constructor(e,t={}){this.duration=G.defaults.note.duration,this.attack=G.defaults.note.attack,this.release=G.defaults.note.release,t.duration!=null&&(this.duration=t.duration),t.attack!=null&&(this.attack=t.attack),t.rawAttack!=null&&(this.attack=J.from7bitToFloat(t.rawAttack)),t.release!=null&&(this.release=t.release),t.rawRelease!=null&&(this.release=J.from7bitToFloat(t.rawRelease)),Number.isInteger(e)?this.identifier=J.toNoteIdentifier(e):this.identifier=e}get identifier(){return this._name+(this._accidental||"")+this._octave}set identifier(e){const t=J.getNoteDetails(e);if(G.validation&&!e)throw new Error("Invalid note identifier");this._name=t.name,this._accidental=t.accidental,this._octave=t.octave}get name(){return this._name}set name(e){if(G.validation&&(e=e.toUpperCase(),!["C","D","E","F","G","A","B"].includes(e)))throw new Error("Invalid name value");this._name=e}get accidental(){return this._accidental}set accidental(e){if(G.validation&&(e=e.toLowerCase(),!["#","##","b","bb"].includes(e)))throw new Error("Invalid accidental value");this._accidental=e}get octave(){return this._octave}set octave(e){if(G.validation&&(e=parseInt(e),isNaN(e)))throw new Error("Invalid octave value");this._octave=e}get duration(){return this._duration}set duration(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||e===null||e<0))throw new RangeError("Invalid duration value.");this._duration=e}get attack(){return this._attack}set attack(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid attack value.");this._attack=e}get release(){return this._release}set release(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid release value.");this._release=e}get rawAttack(){return J.fromFloatTo7Bit(this._attack)}set rawAttack(e){this._attack=J.from7bitToFloat(e)}get rawRelease(){return J.fromFloatTo7Bit(this._release)}set rawRelease(e){this._release=J.from7bitToFloat(e)}get number(){return J.toNoteNumber(this.identifier)}getOffsetNumber(e=0,t=0){return G.validation&&(e=parseInt(e)||0,t=parseInt(t)||0),Math.min(Math.max(this.number+e*12+t,0),127)}}/** - * The `Utilities` class contains general-purpose utility methods. All methods are static and - * should be called using the class name. For example: `Utilities.getNoteDetails("C4")`. - * - * @license Apache-2.0 - * @since 3.0.0 - */class J{static toNoteNumber(e,t=0){if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid 'octaveOffset' value");typeof e!="string"&&(e="");const s=this.getNoteDetails(e);if(!s)throw new TypeError("Invalid note identifier");const i={C:0,D:2,E:4,F:5,G:7,A:9,B:11};let r=(s.octave+1+t)*12;if(r+=i[s.name],s.accidental&&(s.accidental.startsWith("b")?r-=s.accidental.length:r+=s.accidental.length),r<0||r>127)throw new RangeError("Invalid octaveOffset value");return r}static getNoteDetails(e){Number.isInteger(e)&&(e=this.toNoteIdentifier(e));const t=e.match(/^([CDEFGAB])(#{0,2}|b{0,2})(-?\d+)$/i);if(!t)throw new TypeError("Invalid note identifier");const s=t[1].toUpperCase(),i=parseInt(t[3]);let r=t[2].toLowerCase();return r=r===""?void 0:r,{accidental:r,identifier:s+(r||"")+i,name:s,octave:i}}static sanitizeChannels(e){let t;if(G.validation){if(e==="all")t=["all"];else if(e==="none")return[]}return Array.isArray(e)?t=e:t=[e],t.indexOf("all")>-1&&(t=q.MIDI_CHANNEL_NUMBERS),t.map(function(s){return parseInt(s)}).filter(function(s){return s>=1&&s<=16})}static toTimestamp(e){let t=!1;const s=parseFloat(e);return isNaN(s)?!1:(typeof e=="string"&&e.substring(0,1)==="+"?s>=0&&(t=G.time+s):s>=0&&(t=s),t)}static guessNoteNumber(e,t){t=parseInt(t)||0;let s=!1;if(Number.isInteger(e)&&e>=0&&e<=127)s=parseInt(e);else if(parseInt(e)>=0&&parseInt(e)<=127)s=parseInt(e);else if(typeof e=="string"||e instanceof String)try{s=this.toNoteNumber(e.trim(),t)}catch{return!1}return s}static toNoteIdentifier(e,t){if(e=parseInt(e),isNaN(e)||e<0||e>127)throw new RangeError("Invalid note number");if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid octaveOffset value");const s=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],i=Math.floor(e/12-1)+t;return s[e%12]+i.toString()}static buildNote(e,t={}){if(t.octaveOffset=parseInt(t.octaveOffset)||0,e instanceof Ls)return e;let s=this.guessNoteNumber(e,t.octaveOffset);if(s===!1)throw new TypeError(`The input could not be parsed as a note (${e})`);return t.octaveOffset=void 0,new Ls(s,t)}static buildNoteArray(e,t={}){let s=[];return Array.isArray(e)||(e=[e]),e.forEach(i=>{s.push(this.buildNote(i,t))}),s}static from7bitToFloat(e){return e===1/0&&(e=127),e=parseInt(e)||0,Math.min(Math.max(e/127,0),1)}static fromFloatTo7Bit(e){return e===1/0&&(e=1),e=parseFloat(e)||0,Math.min(Math.max(Math.round(e*127),0),127)}static fromMsbLsbToFloat(e,t=0){G.validation&&(e=Math.min(Math.max(parseInt(e)||0,0),127),t=Math.min(Math.max(parseInt(t)||0,0),127));const s=((e<<7)+t)/16383;return Math.min(Math.max(s,0),1)}static fromFloatToMsbLsb(e){G.validation&&(e=Math.min(Math.max(parseFloat(e)||0,0),1));const t=Math.round(e*16383);return{msb:t>>7,lsb:t&127}}static offsetNumber(e,t=0,s=0){if(G.validation){if(e=parseInt(e),isNaN(e))throw new Error("Invalid note number");t=parseInt(t)||0,s=parseInt(s)||0}return Math.min(Math.max(e+t*12+s,0),127)}static getPropertyByValue(e,t){return Object.keys(e).find(s=>e[s]===t)}static getCcNameByNumber(e){if(!(G.validation&&(e=parseInt(e),!(e>=0&&e<=127))))return q.CONTROL_CHANGE_MESSAGES[e].name}static getCcNumberByName(e){let t=q.CONTROL_CHANGE_MESSAGES.find(s=>s.name===e);return t?t.number:q.MIDI_CONTROL_CHANGE_MESSAGES[e]}static getChannelModeByNumber(e){if(!(e>=120&&e<=127))return!1;for(let t in q.CHANNEL_MODE_MESSAGES)if(q.CHANNEL_MODE_MESSAGES.hasOwnProperty(t)&&e===q.CHANNEL_MODE_MESSAGES[t])return t;return!1}static get isNode(){return typeof process<"u"&&process.versions!=null&&process.versions.node!=null}static get isBrowser(){return typeof window<"u"&&typeof window.document<"u"}}/** - * The `OutputChannel` class represents a single output MIDI channel. `OutputChannel` objects are - * provided by an [`Output`](Output) port which, itself, is made available by a device. The - * `OutputChannel` object is derived from the host's MIDI subsystem and should not be instantiated - * directly. - * - * All 16 `OutputChannel` objects can be found inside the parent output's - * [`channels`]{@link Output#channels} property. - * - * @param {Output} output The [`Output`](Output) this channel belongs to. - * @param {number} number The MIDI channel number (`1` - `16`). - * - * @extends EventEmitter - * @license Apache-2.0 - * @since 3.0.0 - */class ex extends en{constructor(e,t){super(),this._output=e,this._number=t,this._octaveOffset=0}destroy(){this._output=null,this._number=null,this._octaveOffset=0,this.removeListener()}send(e,t={time:0}){return this.output.send(e,t),this}sendKeyAftertouch(e,t,s={}){if(G.validation){if(s.useRawValue&&(s.rawValue=s.useRawValue),isNaN(parseFloat(t)))throw new RangeError("Invalid key aftertouch value.");if(s.rawValue){if(!(t>=0&&t<=127&&Number.isInteger(t)))throw new RangeError("Key aftertouch raw value must be an integer between 0 and 127.")}else if(!(t>=0&&t<=1))throw new RangeError("Key aftertouch value must be a float between 0 and 1.")}s.rawValue||(t=J.fromFloatTo7Bit(t));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return Array.isArray(e)||(e=[e]),J.buildNoteArray(e).forEach(r=>{this.send([(q.CHANNEL_MESSAGES.keyaftertouch<<4)+(this.number-1),r.getOffsetNumber(i),t],{time:J.toTimestamp(s.time)})}),this}sendControlChange(e,t,s={}){if(typeof e=="string"&&(e=J.getCcNumberByName(e)),Array.isArray(t)||(t=[t]),G.validation){if(e===void 0)throw new TypeError("Control change must be identified with a valid name or an integer between 0 and 127.");if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new TypeError("Control change number must be an integer between 0 and 127.");if(t=t.map(i=>{const r=Math.min(Math.max(parseInt(i),0),127);if(isNaN(r))throw new TypeError("Values must be integers between 0 and 127");return r}),t.length===2&&e>=32)throw new TypeError("To use a value array, the controller must be between 0 and 31")}return t.forEach((i,r)=>{this.send([(q.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e+r*32,t[r]],{time:J.toTimestamp(s.time)})}),this}_selectNonRegisteredParameter(e,t={}){return this.sendControlChange(99,e[0],t),this.sendControlChange(98,e[1],t),this}_deselectRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_deselectNonRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_selectRegisteredParameter(e,t={}){return this.sendControlChange(101,e[0],t),this.sendControlChange(100,e[1],t),this}_setCurrentParameter(e,t={}){return e=[].concat(e),this.sendControlChange(6,e[0],t),e.length<2?this:(this.sendControlChange(38,e[1],t),this)}sendRpnDecrement(e,t={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),G.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(q.REGISTERED_PARAMETERS).forEach(i=>{q.REGISTERED_PARAMETERS[i][0]===e[0]&&q.REGISTERED_PARAMETERS[i][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(97,0,t),this._deselectRegisteredParameter(t),this}sendRpnIncrement(e,t={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),G.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(q.REGISTERED_PARAMETERS).forEach(i=>{q.REGISTERED_PARAMETERS[i][0]===e[0]&&q.REGISTERED_PARAMETERS[i][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(96,0,t),this._deselectRegisteredParameter(t),this}playNote(e,t={}){this.sendNoteOn(e,t);const s=Array.isArray(e)?e:[e];for(let i of s)if(parseInt(i.duration)>0){const r={time:(J.toTimestamp(t.time)||G.time)+parseInt(i.duration),release:i.release,rawRelease:i.rawRelease};this.sendNoteOff(i,r)}else if(parseInt(t.duration)>0){const r={time:(J.toTimestamp(t.time)||G.time)+parseInt(t.duration),release:t.release,rawRelease:t.rawRelease};this.sendNoteOff(i,r)}return this}sendNoteOff(e,t={}){if(G.validation){if(t.rawRelease!=null&&!(t.rawRelease>=0&&t.rawRelease<=127))throw new RangeError("The 'rawRelease' option must be an integer between 0 and 127");if(t.release!=null&&!(t.release>=0&&t.release<=1))throw new RangeError("The 'release' option must be an number between 0 and 1");t.rawVelocity&&(t.rawRelease=t.velocity,console.warn("The 'rawVelocity' option is deprecated. Use 'rawRelease' instead.")),t.velocity&&(t.release=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawRelease!=null?s=t.rawRelease:isNaN(t.release)||(s=Math.round(t.release*127));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return J.buildNoteArray(e,{rawRelease:parseInt(s)}).forEach(r=>{this.send([(q.CHANNEL_MESSAGES.noteoff<<4)+(this.number-1),r.getOffsetNumber(i),r.rawRelease],{time:J.toTimestamp(t.time)})}),this}stopNote(e,t={}){return this.sendNoteOff(e,t)}sendNoteOn(e,t={}){if(G.validation){if(t.rawAttack!=null&&!(t.rawAttack>=0&&t.rawAttack<=127))throw new RangeError("The 'rawAttack' option must be an integer between 0 and 127");if(t.attack!=null&&!(t.attack>=0&&t.attack<=1))throw new RangeError("The 'attack' option must be an number between 0 and 1");t.rawVelocity&&(t.rawAttack=t.velocity,t.rawRelease=t.release,console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' or 'rawRelease'.")),t.velocity&&(t.attack=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawAttack!=null?s=t.rawAttack:isNaN(t.attack)||(s=Math.round(t.attack*127));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return J.buildNoteArray(e,{rawAttack:s}).forEach(r=>{this.send([(q.CHANNEL_MESSAGES.noteon<<4)+(this.number-1),r.getOffsetNumber(i),r.rawAttack],{time:J.toTimestamp(t.time)})}),this}sendChannelMode(e,t=0,s={}){if(typeof e=="string"&&(e=q.CHANNEL_MODE_MESSAGES[e]),G.validation){if(e===void 0)throw new TypeError("Invalid channel mode message name or number.");if(isNaN(e)||!(e>=120&&e<=127))throw new TypeError("Invalid channel mode message number.");if(isNaN(parseInt(t))||t<0||t>127)throw new RangeError("Value must be an integer between 0 and 127.")}return this.send([(q.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e,t],{time:J.toTimestamp(s.time)}),this}sendOmniMode(e,t={}){return e===void 0||e?this.sendChannelMode("omnimodeon",0,t):this.sendChannelMode("omnimodeoff",0,t),this}sendChannelAftertouch(e,t={}){if(G.validation){if(isNaN(parseFloat(e)))throw new RangeError("Invalid channel aftertouch value.");if(t.rawValue){if(!(e>=0&&e<=127&&Number.isInteger(e)))throw new RangeError("Channel aftertouch raw value must be an integer between 0 and 127.")}else if(!(e>=0&&e<=1))throw new RangeError("Channel aftertouch value must be a float between 0 and 1.")}return this.send([(q.CHANNEL_MESSAGES.channelaftertouch<<4)+(this.number-1),Math.round(e*127)],{time:J.toTimestamp(t.time)}),this}sendMasterTuning(e,t={}){if(e=parseFloat(e)||0,G.validation&&!(e>-65&&e<64))throw new RangeError("The value must be a decimal number larger than -65 and smaller than 64.");let s=Math.floor(e)+64,i=e-Math.floor(e);i=Math.round((i+1)/2*16383);let r=i>>7&127,o=i&127;return this.sendRpnValue("channelcoarsetuning",s,t),this.sendRpnValue("channelfinetuning",[r,o],t),this}sendModulationRange(e,t,s={}){if(G.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(t!=null&&(!Number.isInteger(t)||!(t>=0&&t<=127)))throw new RangeError("If specified, the cents value must be an integer between 0 and 127.")}return t>=0&&t<=127||(t=0),this.sendRpnValue("modulationrange",[e,t],s),this}sendNrpnValue(e,t,s={}){if(t=[].concat(t),G.validation){if(!Array.isArray(e)||!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the NRPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the NRPN must be between 0 and 127.");t.forEach(i=>{if(!(i>=0&&i<=127))throw new RangeError("The data bytes of the NRPN must be between 0 and 127.")})}return this._selectNonRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectNonRegisteredParameter(s),this}sendPitchBend(e,t={}){if(G.validation)if(t.rawValue&&Array.isArray(e)){if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The pitch bend LSB must be an integer between 0 and 127.")}else if(t.rawValue&&!Array.isArray(e)){if(!(e>=0&&e<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.")}else{if(isNaN(e)||e===null)throw new RangeError("Invalid pitch bend value.");if(!(e>=-1&&e<=1))throw new RangeError("The pitch bend value must be a float between -1 and 1.")}let s=0,i=0;if(t.rawValue&&Array.isArray(e))s=e[0],i=e[1];else if(t.rawValue&&!Array.isArray(e))s=e;else{const r=J.fromFloatToMsbLsb((e+1)/2);s=r.msb,i=r.lsb}return this.send([(q.CHANNEL_MESSAGES.pitchbend<<4)+(this.number-1),i,s],{time:J.toTimestamp(t.time)}),this}sendPitchBendRange(e,t,s={}){if(G.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(!Number.isInteger(t)||!(t>=0&&t<=127))throw new RangeError("The cents value must be an integer between 0 and 127.")}return this.sendRpnValue("pitchbendrange",[e,t],s),this}sendProgramChange(e,t={}){if(e=parseInt(e)||0,G.validation&&!(e>=0&&e<=127))throw new RangeError("The program number must be between 0 and 127.");return this.send([(q.CHANNEL_MESSAGES.programchange<<4)+(this.number-1),e],{time:J.toTimestamp(t.time)}),this}sendRpnValue(e,t,s={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),G.validation){if(!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the RPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the RPN must be between 0 and 127.");[].concat(t).forEach(i=>{if(!(i>=0&&i<=127))throw new RangeError("The data bytes of the RPN must be between 0 and 127.")})}return this._selectRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectRegisteredParameter(s),this}sendTuningBank(e,t={}){if(G.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning bank number must be between 0 and 127.");return this.sendRpnValue("tuningbank",e,t),this}sendTuningProgram(e,t={}){if(G.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning program number must be between 0 and 127.");return this.sendRpnValue("tuningprogram",e,t),this}sendLocalControl(e,t={}){return e?this.sendChannelMode("localcontrol",127,t):this.sendChannelMode("localcontrol",0,t)}sendAllNotesOff(e={}){return this.sendChannelMode("allnotesoff",0,e)}sendAllSoundOff(e={}){return this.sendChannelMode("allsoundoff",0,e)}sendResetAllControllers(e={}){return this.sendChannelMode("resetallcontrollers",0,e)}sendPolyphonicMode(e,t={}){return e==="mono"?this.sendChannelMode("monomodeon",0,t):this.sendChannelMode("polymodeon",0,t)}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get output(){return this._output}get number(){return this._number}}/** - * The `Output` class represents a single MIDI output port (not to be confused with a MIDI channel). - * A port is made available by a MIDI device. A MIDI device can advertise several input and output - * ports. Each port has 16 MIDI channels which can be accessed via the [`channels`](#channels) - * property. - * - * The `Output` object is automatically instantiated by the library according to the host's MIDI - * subsystem and should not be directly instantiated. - * - * You can access all available `Output` objects by referring to the - * [`WebMidi.outputs`](WebMidi#outputs) array or by using methods such as - * [`WebMidi.getOutputByName()`](WebMidi#getOutputByName) or - * [`WebMidi.getOutputById()`](WebMidi#getOutputById). - * - * @fires Output#opened - * @fires Output#disconnected - * @fires Output#closed - * - * @extends EventEmitter - * @license Apache-2.0 - */class Hc extends en{constructor(e){super(),this._midiOutput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new ex(this,t);this._midiOutput.onstatechange=this._onStateChange.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._midiOutput&&(this._midiOutput.onstatechange=null),await this.close(),this._midiOutput=null}_onStateChange(e){let t={timestamp:G.time};e.port.connection==="open"?(t.type="opened",t.target=this,t.port=t.target,this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",t.target=this,t.port=t.target,this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught:",e.port.connection,e.port.state)}async open(){try{return await this._midiOutput.open(),Promise.resolve(this)}catch(e){return Promise.reject(e)}}async close(){this._midiOutput?await this._midiOutput.close():await Promise.resolve()}send(e,t={time:0},s=0){if(e instanceof Lp&&(e=J.isNode?e.data:e.rawData),e instanceof Uint8Array&&J.isNode&&(e=Array.from(e)),G.validation){if(!Array.isArray(e)&&!(e instanceof Uint8Array)&&(e=[e],Array.isArray(t)&&(e=e.concat(t)),t=isNaN(s)?{time:0}:{time:s}),!(parseInt(e[0])>=128&&parseInt(e[0])<=255))throw new RangeError("The first byte (status) must be an integer between 128 and 255.");e.slice(1).forEach(i=>{if(i=parseInt(i),!(i>=0&&i<=255))throw new RangeError("Data bytes must be integers between 0 and 255.")}),t||(t={time:0})}return this._midiOutput.send(e,J.toTimestamp(t.time)),this}sendSysex(e,t=[],s={}){if(e=[].concat(e),t instanceof Uint8Array){const i=new Uint8Array(1+e.length+t.length+1);i[0]=q.SYSTEM_MESSAGES.sysex,i.set(Uint8Array.from(e),1),i.set(t,1+e.length),i[i.length-1]=q.SYSTEM_MESSAGES.sysexend,this.send(i,{time:s.time})}else{const i=e.concat(t,q.SYSTEM_MESSAGES.sysexend);this.send([q.SYSTEM_MESSAGES.sysex].concat(i),{time:s.time})}return this}clear(){return this._midiOutput.clear?this._midiOutput.clear():G.validation&&console.warn("The 'clear()' method has not yet been implemented in your environment."),this}sendTimecodeQuarterFrame(e,t={}){if(G.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The value must be an integer between 0 and 127.");return this.send([q.SYSTEM_MESSAGES.timecode,e],{time:t.time}),this}sendSongPosition(e=0,t={}){e=Math.floor(e)||0;var s=e>>7&127,i=e&127;return this.send([q.SYSTEM_MESSAGES.songposition,s,i],{time:t.time}),this}sendSongSelect(e=0,t={}){if(G.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The program value must be between 0 and 127");return this.send([q.SYSTEM_MESSAGES.songselect,e],{time:t.time}),this}sendTuneRequest(e={}){return this.send([q.SYSTEM_MESSAGES.tunerequest],{time:e.time}),this}sendClock(e={}){return this.send([q.SYSTEM_MESSAGES.clock],{time:e.time}),this}sendStart(e={}){return this.send([q.SYSTEM_MESSAGES.start],{time:e.time}),this}sendContinue(e={}){return this.send([q.SYSTEM_MESSAGES.continue],{time:e.time}),this}sendStop(e={}){return this.send([q.SYSTEM_MESSAGES.stop],{time:e.time}),this}sendActiveSensing(e={}){return this.send([q.SYSTEM_MESSAGES.activesensing],{time:e.time}),this}sendReset(e={}){return this.send([q.SYSTEM_MESSAGES.reset],{time:e.time}),this}sendTuningRequest(e={}){return G.validation&&console.warn("The sendTuningRequest() method has been deprecated. Use sendTuningRequest() instead."),this.sendTuneRequest(e)}sendKeyAftertouch(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendKeyAftertouch(e,t,s)}),this}sendControlChange(e,t,s={},i={}){if(G.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const r=s;s=i,s.channels=r,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendControlChange(e,t,s)}),this}sendPitchBendRange(e=0,t=0,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendPitchBendRange(e,t,s)}),this}setPitchBendRange(e=0,t=0,s="all",i={}){return G.validation&&(console.warn("The setPitchBendRange() method is deprecated. Use sendPitchBendRange() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendPitchBendRange(e,t,i)}sendRpnValue(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendRpnValue(e,t,s)}),this}setRegisteredParameter(e,t=[],s="all",i={}){return G.validation&&(console.warn("The setRegisteredParameter() method is deprecated. Use sendRpnValue() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnValue(e,t,i)}sendChannelAftertouch(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendChannelAftertouch(e,t)}),this}sendPitchBend(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendPitchBend(e,t)}),this}sendProgramChange(e=0,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendProgramChange(e,t)}),this}sendModulationRange(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendModulationRange(e,t,s)}),this}setModulationRange(e=0,t=0,s="all",i={}){return G.validation&&(console.warn("The setModulationRange() method is deprecated. Use sendModulationRange() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendModulationRange(e,t,i)}sendMasterTuning(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendMasterTuning(e,t)}),this}setMasterTuning(e,t={},s={}){return G.validation&&(console.warn("The setMasterTuning() method is deprecated. Use sendMasterTuning() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendMasterTuning(e,s)}sendTuningProgram(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningProgram(e,t)}),this}setTuningProgram(e,t="all",s={}){return G.validation&&(console.warn("The setTuningProgram() method is deprecated. Use sendTuningProgram() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendTuningProgram(e,s)}sendTuningBank(e=0,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningBank(e,t)}),this}setTuningBank(e,t="all",s={}){return G.validation&&(console.warn("The setTuningBank() method is deprecated. Use sendTuningBank() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendTuningBank(e,s)}sendChannelMode(e,t=0,s={},i={}){if(G.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const r=s;s=i,s.channels=r,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendChannelMode(e,t,s)}),this}sendAllSoundOff(e={}){return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllSoundOff(e)}),this}sendAllNotesOff(e={}){return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllNotesOff(e)}),this}sendResetAllControllers(e={},t={}){if(G.validation&&(Array.isArray(e)||Number.isInteger(e)||e==="all")){const s=e;e=t,e.channels=s,e.channels==="all"&&(e.channels=q.MIDI_CHANNEL_NUMBERS)}return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(s=>{this.channels[s].sendResetAllControllers(e)}),this}sendPolyphonicMode(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendPolyphonicMode(e,t)}),this}sendLocalControl(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendLocalControl(e,t)}),this}sendOmniMode(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendOmniMode(e,t)}),this}sendNrpnValue(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendNrpnValue(e,t,s)}),this}setNonRegisteredParameter(e,t=[],s="all",i={}){return G.validation&&(console.warn("The setNonRegisteredParameter() method is deprecated. Use sendNrpnValue() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendNrpnValue(e,t,i)}sendRpnIncrement(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnIncrement(e,t)}),this}incrementRegisteredParameter(e,t="all",s={}){return G.validation&&(console.warn("The incrementRegisteredParameter() method is deprecated. Use sendRpnIncrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnIncrement(e,s)}sendRpnDecrement(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnDecrement(e,t)}),this}decrementRegisteredParameter(e,t="all",s={}){return G.validation&&(console.warn("The decrementRegisteredParameter() method is deprecated. Use sendRpnDecrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnDecrement(e,s)}sendNoteOff(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendNoteOff(e,t)}),this}stopNote(e,t){return this.sendNoteOff(e,t)}playNote(e,t={},s={}){if(G.validation&&(t.rawVelocity&&console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' instead."),t.velocity&&console.warn("The 'velocity' option is deprecated. Use 'velocity' instead."),Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].playNote(e,t)}),this}sendNoteOn(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendNoteOn(e,t)}),this}get name(){return this._midiOutput.name}get id(){return this._midiOutput.id}get connection(){return this._midiOutput.connection}get manufacturer(){return this._midiOutput.manufacturer}get state(){return this._midiOutput.state}get type(){return this._midiOutput.type}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}}/** - * The `Forwarder` class allows the forwarding of MIDI messages to predetermined outputs. When you - * call its [`forward()`](#forward) method, it will send the specified [`Message`](Message) object - * to all the outputs listed in its [`destinations`](#destinations) property. - * - * If specific channels or message types have been defined in the [`channels`](#channels) or - * [`types`](#types) properties, only messages matching the channels/types will be forwarded. - * - * While it can be manually instantiated, you are more likely to come across a `Forwarder` object as - * the return value of the [`Input.addForwarder()`](Input#addForwarder) method. - * - * @license Apache-2.0 - * @since 3.0.0 - */class kh{constructor(e=[],t={}){this.destinations=[],this.types=[...Object.keys(q.SYSTEM_MESSAGES),...Object.keys(q.CHANNEL_MESSAGES)],this.channels=q.MIDI_CHANNEL_NUMBERS,this.suspended=!1,Array.isArray(e)||(e=[e]),t.types&&!Array.isArray(t.types)&&(t.types=[t.types]),t.channels&&!Array.isArray(t.channels)&&(t.channels=[t.channels]),G.validation&&(e.forEach(s=>{if(!(s instanceof Hc))throw new TypeError("Destinations must be of type 'Output'.")}),t.types!==void 0&&t.types.forEach(s=>{if(!q.SYSTEM_MESSAGES.hasOwnProperty(s)&&!q.CHANNEL_MESSAGES.hasOwnProperty(s))throw new TypeError("Type must be a valid message type.")}),t.channels!==void 0&&t.channels.forEach(s=>{if(!q.MIDI_CHANNEL_NUMBERS.includes(s))throw new TypeError("MIDI channel must be between 1 and 16.")})),this.destinations=e,t.types&&(this.types=t.types),t.channels&&(this.channels=t.channels)}forward(e){this.suspended||this.types.includes(e.type)&&(e.channel&&!this.channels.includes(e.channel)||this.destinations.forEach(t=>{G.validation&&!(t instanceof Hc)||t.send(e)}))}}/** - * The `InputChannel` class represents a single MIDI input channel (1-16) from a single input - * device. This object is derived from the host's MIDI subsystem and should not be instantiated - * directly. - * - * All 16 `InputChannel` objects can be found inside the input's [`channels`](Input#channels) - * property. - * - * @fires InputChannel#midimessage - * @fires InputChannel#unknownmessage - * - * @fires InputChannel#noteoff - * @fires InputChannel#noteon - * @fires InputChannel#keyaftertouch - * @fires InputChannel#programchange - * @fires InputChannel#channelaftertouch - * @fires InputChannel#pitchbend - * - * @fires InputChannel#allnotesoff - * @fires InputChannel#allsoundoff - * @fires InputChannel#localcontrol - * @fires InputChannel#monomode - * @fires InputChannel#omnimode - * @fires InputChannel#resetallcontrollers - * - * @fires InputChannel#event:nrpn - * @fires InputChannel#event:nrpn-dataentrycoarse - * @fires InputChannel#event:nrpn-dataentryfine - * @fires InputChannel#event:nrpn-dataincrement - * @fires InputChannel#event:nrpn-datadecrement - * @fires InputChannel#event:rpn - * @fires InputChannel#event:rpn-dataentrycoarse - * @fires InputChannel#event:rpn-dataentryfine - * @fires InputChannel#event:rpn-dataincrement - * @fires InputChannel#event:rpn-datadecrement - * - * @fires InputChannel#controlchange - * @fires InputChannel#event:controlchange-controllerxxx - * @fires InputChannel#event:controlchange-bankselectcoarse - * @fires InputChannel#event:controlchange-modulationwheelcoarse - * @fires InputChannel#event:controlchange-breathcontrollercoarse - * @fires InputChannel#event:controlchange-footcontrollercoarse - * @fires InputChannel#event:controlchange-portamentotimecoarse - * @fires InputChannel#event:controlchange-dataentrycoarse - * @fires InputChannel#event:controlchange-volumecoarse - * @fires InputChannel#event:controlchange-balancecoarse - * @fires InputChannel#event:controlchange-pancoarse - * @fires InputChannel#event:controlchange-expressioncoarse - * @fires InputChannel#event:controlchange-effectcontrol1coarse - * @fires InputChannel#event:controlchange-effectcontrol2coarse - * @fires InputChannel#event:controlchange-generalpurposecontroller1 - * @fires InputChannel#event:controlchange-generalpurposecontroller2 - * @fires InputChannel#event:controlchange-generalpurposecontroller3 - * @fires InputChannel#event:controlchange-generalpurposecontroller4 - * @fires InputChannel#event:controlchange-bankselectfine - * @fires InputChannel#event:controlchange-modulationwheelfine - * @fires InputChannel#event:controlchange-breathcontrollerfine - * @fires InputChannel#event:controlchange-footcontrollerfine - * @fires InputChannel#event:controlchange-portamentotimefine - * @fires InputChannel#event:controlchange-dataentryfine - * @fires InputChannel#event:controlchange-channelvolumefine - * @fires InputChannel#event:controlchange-balancefine - * @fires InputChannel#event:controlchange-panfine - * @fires InputChannel#event:controlchange-expressionfine - * @fires InputChannel#event:controlchange-effectcontrol1fine - * @fires InputChannel#event:controlchange-effectcontrol2fine - * @fires InputChannel#event:controlchange-damperpedal - * @fires InputChannel#event:controlchange-portamento - * @fires InputChannel#event:controlchange-sostenuto - * @fires InputChannel#event:controlchange-softpedal - * @fires InputChannel#event:controlchange-legatopedal - * @fires InputChannel#event:controlchange-hold2 - * @fires InputChannel#event:controlchange-soundvariation - * @fires InputChannel#event:controlchange-resonance - * @fires InputChannel#event:controlchange-releasetime - * @fires InputChannel#event:controlchange-attacktime - * @fires InputChannel#event:controlchange-brightness - * @fires InputChannel#event:controlchange-decaytime - * @fires InputChannel#event:controlchange-vibratorate - * @fires InputChannel#event:controlchange-vibratodepth - * @fires InputChannel#event:controlchange-vibratodelay - * @fires InputChannel#event:controlchange-generalpurposecontroller5 - * @fires InputChannel#event:controlchange-generalpurposecontroller6 - * @fires InputChannel#event:controlchange-generalpurposecontroller7 - * @fires InputChannel#event:controlchange-generalpurposecontroller8 - * @fires InputChannel#event:controlchange-portamentocontrol - * @fires InputChannel#event:controlchange-highresolutionvelocityprefix - * @fires InputChannel#event:controlchange-effect1depth - * @fires InputChannel#event:controlchange-effect2depth - * @fires InputChannel#event:controlchange-effect3depth - * @fires InputChannel#event:controlchange-effect4depth - * @fires InputChannel#event:controlchange-effect5depth - * @fires InputChannel#event:controlchange-dataincrement - * @fires InputChannel#event:controlchange-datadecrement - * @fires InputChannel#event:controlchange-nonregisteredparameterfine - * @fires InputChannel#event:controlchange-nonregisteredparametercoarse - * @fires InputChannel#event:controlchange-registeredparameterfine - * @fires InputChannel#event:controlchange-registeredparametercoarse - * @fires InputChannel#event:controlchange-allsoundoff - * @fires InputChannel#event:controlchange-resetallcontrollers - * @fires InputChannel#event:controlchange-localcontrol - * @fires InputChannel#event:controlchange-allnotesoff - * @fires InputChannel#event:controlchange-omnimodeoff - * @fires InputChannel#event:controlchange-omnimodeon - * @fires InputChannel#event:controlchange-monomodeon - * @fires InputChannel#event:controlchange-polymodeon - * @fires InputChannel#event: - * - * @extends EventEmitter - * @license Apache-2.0 - * @since 3.0.0 - */class tx extends en{constructor(e,t){super(),this._input=e,this._number=t,this._octaveOffset=0,this._nrpnBuffer=[],this._rpnBuffer=[],this.parameterNumberEventsEnabled=!0,this.notesState=new Array(128).fill(!1)}destroy(){this._input=null,this._number=null,this._octaveOffset=0,this._nrpnBuffer=[],this.notesState=new Array(128).fill(!1),this.parameterNumberEventsEnabled=!1,this.removeListener()}_processMidiMessageEvent(e){const t=Object.assign({},e);t.port=this.input,t.target=this,t.type="midimessage",this.emit(t.type,t),this._parseEventForStandardMessages(t)}_parseEventForStandardMessages(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmessage";const s=e.message.dataBytes[0],i=e.message.dataBytes[1];if(t.type==="noteoff"||t.type==="noteon"&&i===0)this.notesState[s]=!1,t.type="noteoff",t.note=new Ls(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset),{rawAttack:0,rawRelease:i}),t.value=J.from7bitToFloat(i),t.rawValue=i,t.velocity=t.note.release,t.rawVelocity=t.note.rawRelease;else if(t.type==="noteon")this.notesState[s]=!0,t.note=new Ls(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset),{rawAttack:i}),t.value=J.from7bitToFloat(i),t.rawValue=i,t.velocity=t.note.attack,t.rawVelocity=t.note.rawAttack;else if(t.type==="keyaftertouch")t.note=new Ls(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset)),t.value=J.from7bitToFloat(i),t.rawValue=i,t.identifier=t.note.identifier,t.key=t.note.number,t.rawKey=s;else if(t.type==="controlchange"){t.controller={number:s,name:q.CONTROL_CHANGE_MESSAGES[s].name,description:q.CONTROL_CHANGE_MESSAGES[s].description,position:q.CONTROL_CHANGE_MESSAGES[s].position},t.subtype=t.controller.name||"controller"+s,t.value=J.from7bitToFloat(i),t.rawValue=i;const r=Object.assign({},t);r.type=`${t.type}-controller${s}`,delete r.subtype,this.emit(r.type,r);const o=Object.assign({},t);o.type=`${t.type}-`+q.CONTROL_CHANGE_MESSAGES[s].name,delete o.subtype,o.type.indexOf("controller")!==0&&this.emit(o.type,o),t.message.dataBytes[0]>=120&&this._parseChannelModeMessage(t),this.parameterNumberEventsEnabled&&this._isRpnOrNrpnController(t.message.dataBytes[0])&&this._parseEventForParameterNumber(t)}else t.type==="programchange"?(t.value=s,t.rawValue=t.value):t.type==="channelaftertouch"?(t.value=J.from7bitToFloat(s),t.rawValue=s):t.type==="pitchbend"?(t.value=((i<<7)+s-8192)/8192,t.rawValue=(i<<7)+s):t.type="unknownmessage";this.emit(t.type,t)}_parseChannelModeMessage(e){const t=Object.assign({},e);t.type=t.controller.name,t.type==="localcontrol"&&(t.value=t.message.data[2]===127,t.rawValue=t.message.data[2]),t.type==="omnimodeon"?(t.type="omnimode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="omnimodeoff"&&(t.type="omnimode",t.value=!1,t.rawValue=t.message.data[2]),t.type==="monomodeon"?(t.type="monomode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="polymodeon"&&(t.type="monomode",t.value=!1,t.rawValue=t.message.data[2]),this.emit(t.type,t)}_parseEventForParameterNumber(e){const t=e.message.dataBytes[0],s=e.message.dataBytes[1];t===99||t===101?(this._nrpnBuffer=[],this._rpnBuffer=[],t===99?this._nrpnBuffer=[e.message]:s!==127&&(this._rpnBuffer=[e.message])):t===98||t===100?t===98?(this._rpnBuffer=[],this._nrpnBuffer.length===1?this._nrpnBuffer.push(e.message):this._nrpnBuffer=[]):(this._nrpnBuffer=[],this._rpnBuffer.length===1&&s!==127?this._rpnBuffer.push(e.message):this._rpnBuffer=[]):(t===6||t===38||t===96||t===97)&&(this._rpnBuffer.length===2?this._dispatchParameterNumberEvent("rpn",this._rpnBuffer[0].dataBytes[1],this._rpnBuffer[1].dataBytes[1],e):this._nrpnBuffer.length===2?this._dispatchParameterNumberEvent("nrpn",this._nrpnBuffer[0].dataBytes[1],this._nrpnBuffer[1].dataBytes[1],e):(this._nrpnBuffer=[],this._rpnBuffer=[]))}_isRpnOrNrpnController(e){return e===6||e===38||e===96||e===97||e===98||e===99||e===100||e===101}_dispatchParameterNumberEvent(e,t,s,i){e=e==="nrpn"?"nrpn":"rpn";const r={target:i.target,timestamp:i.timestamp,message:i.message,parameterMsb:t,parameterLsb:s,value:J.from7bitToFloat(i.message.dataBytes[1]),rawValue:i.message.dataBytes[1]};e==="rpn"?r.parameter=Object.keys(q.REGISTERED_PARAMETERS).find(c=>q.REGISTERED_PARAMETERS[c][0]===t&&q.REGISTERED_PARAMETERS[c][1]===s):r.parameter=(t<<7)+s;const o=q.CONTROL_CHANGE_MESSAGES[i.message.dataBytes[0]].name;r.type=`${e}-${o}`,this.emit(r.type,r);const a=Object.assign({},r);a.type==="nrpn-dataincrement"?a.type="nrpn-databuttonincrement":a.type==="nrpn-datadecrement"?a.type="nrpn-databuttondecrement":a.type==="rpn-dataincrement"?a.type="rpn-databuttonincrement":a.type==="rpn-datadecrement"&&(a.type="rpn-databuttondecrement"),this.emit(a.type,a),r.type=e,r.subtype=o,this.emit(r.type,r)}getChannelModeByNumber(e){return G.validation&&(console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class."),e=Math.floor(e)),J.getChannelModeByNumber(e)}getCcNameByNumber(e){if(G.validation&&(console.warn("The 'getCcNameByNumber()' method has been moved to the 'Utilities' class."),e=parseInt(e),!(e>=0&&e<=127)))throw new RangeError("Invalid control change number.");return J.getCcNameByNumber(e)}getNoteState(e){e instanceof Ls&&(e=e.identifier);const t=J.guessNoteNumber(e,G.octaveOffset+this.input.octaveOffset+this.octaveOffset);return this.notesState[t]}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get input(){return this._input}get number(){return this._number}get nrpnEventsEnabled(){return this.parameterNumberEventsEnabled}set nrpnEventsEnabled(e){this.validation&&(e=!!e),this.parameterNumberEventsEnabled=e}}/** - * The `Message` class represents a single MIDI message. It has several properties that make it - * easy to make sense of the binary data it contains. - * - * @license Apache-2.0 - * @since 3.0.0 - */class Lp{constructor(e){this.rawData=e,this.data=Array.from(this.rawData),this.statusByte=this.rawData[0],this.rawDataBytes=this.rawData.slice(1),this.dataBytes=this.data.slice(1),this.isChannelMessage=!1,this.isSystemMessage=!1,this.command=void 0,this.channel=void 0,this.manufacturerId=void 0,this.type=void 0,this.statusByte<240?(this.isChannelMessage=!0,this.command=this.statusByte>>4,this.channel=(this.statusByte&15)+1):(this.isSystemMessage=!0,this.command=this.statusByte),this.isChannelMessage?this.type=J.getPropertyByValue(q.CHANNEL_MESSAGES,this.command):this.isSystemMessage&&(this.type=J.getPropertyByValue(q.SYSTEM_MESSAGES,this.command)),this.statusByte===q.SYSTEM_MESSAGES.sysex&&(this.dataBytes[0]===0?(this.manufacturerId=this.dataBytes.slice(0,3),this.dataBytes=this.dataBytes.slice(3,this.rawDataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(3,this.rawDataBytes.length-1)):(this.manufacturerId=[this.dataBytes[0]],this.dataBytes=this.dataBytes.slice(1,this.dataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(1,this.rawDataBytes.length-1)))}}/** - * The `Input` class represents a single MIDI input port. This object is automatically instantiated - * by the library according to the host's MIDI subsystem and does not need to be directly - * instantiated. Instead, you can access all `Input` objects by referring to the - * [`WebMidi.inputs`](WebMidi#inputs) array. You can also retrieve inputs by using methods such as - * [`WebMidi.getInputByName()`](WebMidi#getInputByName) and - * [`WebMidi.getInputById()`](WebMidi#getInputById). - * - * Note that a single MIDI device may expose several inputs and/or outputs. - * - * **Important**: the `Input` class does not directly fire channel-specific MIDI messages - * (such as [`noteon`](InputChannel#event:noteon) or - * [`controlchange`](InputChannel#event:controlchange), etc.). The [`InputChannel`](InputChannel) - * object does that. However, you can still use the - * [`Input.addListener()`](#addListener) method to listen to channel-specific events on multiple - * [`InputChannel`](InputChannel) objects at once. - * - * @fires Input#opened - * @fires Input#disconnected - * @fires Input#closed - * @fires Input#midimessage - * - * @fires Input#sysex - * @fires Input#timecode - * @fires Input#songposition - * @fires Input#songselect - * @fires Input#tunerequest - * @fires Input#clock - * @fires Input#start - * @fires Input#continue - * @fires Input#stop - * @fires Input#activesensing - * @fires Input#reset - * - * @fires Input#unknownmidimessage - * - * @extends EventEmitter - * @license Apache-2.0 - */class nx extends en{constructor(e){super(),this._midiInput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new tx(this,t);this._forwarders=[],this._midiInput.onstatechange=this._onStateChange.bind(this),this._midiInput.onmidimessage=this._onMidiMessage.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._forwarders=[],this._midiInput&&(this._midiInput.onstatechange=null,this._midiInput.onmidimessage=null),await this.close(),this._midiInput=null}_onStateChange(e){let t={timestamp:G.time,target:this,port:this};e.port.connection==="open"?(t.type="opened",this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught: ",e.port.connection,e.port.state)}_onMidiMessage(e){const t=new Lp(e.data),s={port:this,target:this,message:t,timestamp:e.timeStamp,type:"midimessage",data:t.data,rawData:t.data,statusByte:t.data[0],dataBytes:t.dataBytes};this.emit("midimessage",s),t.isSystemMessage?this._parseEvent(s):t.isChannelMessage&&this.channels[t.channel]._processMidiMessageEvent(s),this._forwarders.forEach(i=>i.forward(t))}_parseEvent(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmidimessage",t.type==="songselect"&&(t.song=e.data[1]+1,t.value=e.data[1],t.rawValue=t.value),this.emit(t.type,t)}async open(){try{await this._midiInput.open()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}async close(){if(!this._midiInput)return Promise.resolve(this);try{await this._midiInput.close()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}getChannelModeByNumber(){G.validation&&console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class.")}addListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=t!=null?[].concat(t):void 0;t=s,s={channels:i}}if(q.CHANNEL_EVENTS.includes(e)){s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS);let i=[];return J.sanitizeChannels(s.channels).forEach(r=>{i.push(this.channels[r].addListener(e,t,s))}),i}else return super.addListener(e,t,s)}addOneTimeListener(e,t,s={}){return s.remaining=1,this.addListener(e,t,s)}on(e,t,s,i){return this.addListener(e,t,s,i)}hasListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=[].concat(t);t=s,s={channels:i}}return q.CHANNEL_EVENTS.includes(e)?(s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).every(i=>this.channels[i].hasListener(e,t))):super.hasListener(e,t)}removeListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=[].concat(t);t=s,s={channels:i}}if(s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS),e==null)return J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i]&&this.channels[i].removeListener()}),super.removeListener();q.CHANNEL_EVENTS.includes(e)?J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].removeListener(e,t,s)}):super.removeListener(e,t,s)}addForwarder(e,t={}){let s;return e instanceof kh?s=e:s=new kh(e,t),this._forwarders.push(s),s}removeForwarder(e){this._forwarders=this._forwarders.filter(t=>t!==e)}hasForwarder(e){return this._forwarders.includes(e)}get name(){return this._midiInput.name}get id(){return this._midiInput.id}get connection(){return this._midiInput.connection}get manufacturer(){return this._midiInput.manufacturer}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get state(){return this._midiInput.state}get type(){return this._midiInput.type}get nrpnEventsEnabled(){return G.validation&&console.warn("The 'nrpnEventsEnabled' property has been moved to the 'InputChannel' class."),!1}}/** - * The `WebMidi` object makes it easier to work with the low-level Web MIDI API. Basically, it - * simplifies sending outgoing MIDI messages and reacting to incoming MIDI messages. - * - * When using the WebMidi.js library, you should know that the `WebMidi` class has already been - * instantiated. You cannot instantiate it yourself. If you use the **IIFE** version, you should - * simply use the global object called `WebMidi`. If you use the **CJS** (CommonJS) or **ESM** (ES6 - * module) version, you get an already-instantiated object when you import the module. - * - * @fires WebMidi#connected - * @fires WebMidi#disabled - * @fires WebMidi#disconnected - * @fires WebMidi#enabled - * @fires WebMidi#error - * @fires WebMidi#midiaccessgranted - * @fires WebMidi#portschanged - * - * @extends EventEmitter - * @license Apache-2.0 - */class sx extends en{constructor(){super(),this.defaults={note:{attack:J.from7bitToFloat(64),release:J.from7bitToFloat(64),duration:1/0}},this.interface=null,this.validation=!0,this._inputs=[],this._disconnectedInputs=[],this._outputs=[],this._disconnectedOutputs=[],this._stateChangeQueue=[],this._octaveOffset=0}async enable(e={},t=!1){if(J.isNode){try{window.navigator}catch{global.navigator=await Object.getPrototypeOf(async function(){}).constructor(` - let jzz = await import("jzz"); - return jzz.default; - `)()}try{}catch{global.performance=await Object.getPrototypeOf(async function(){}).constructor(` - let perf_hooks = await import("perf_hooks"); - return perf_hooks.performance; - `)()}}if(this.validation=e.validation!==!1,this.validation&&(typeof e=="function"&&(e={callback:e,sysex:t}),t&&(e.sysex=!0)),this.enabled)return typeof e.callback=="function"&&e.callback(),Promise.resolve();const s={timestamp:this.time,target:this,type:"error",error:void 0},i={timestamp:this.time,target:this,type:"midiaccessgranted"},r={timestamp:this.time,target:this,type:"enabled"};try{typeof e.requestMIDIAccessFunction=="function"?this.interface=await e.requestMIDIAccessFunction({sysex:e.sysex,software:e.software}):this.interface=await navigator.requestMIDIAccess({sysex:e.sysex,software:e.software})}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}this.emit("midiaccessgranted",i),this.interface.onstatechange=this._onInterfaceStateChange.bind(this);try{await this._updateInputsAndOutputs()}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}return this.emit("enabled",r),typeof e.callback=="function"&&e.callback(),Promise.resolve(this)}async disable(){return this.interface&&(this.interface.onstatechange=void 0),this._destroyInputsAndOutputs().then(()=>{navigator&&typeof navigator.close=="function"&&navigator.close(),this.interface=null;let e={timestamp:this.time,target:this,type:"disabled"};this.emit("disabled",e),this.removeListener()})}getInputById(e,t={disconnected:!1}){if(this.validation){if(!this.enabled)throw new Error("WebMidi is not enabled.");if(!e)return}if(t.disconnected){for(let s=0;s=0&&e<=127?J.getNoteDetails(J.offsetNumber(e,this.octaveOffset)).octave:!1}sanitizeChannels(e){return this.validation&&console.warn("The sanitizeChannels() method has been moved to the utilities class."),J.sanitizeChannels(e)}toMIDIChannels(e){return this.validation&&console.warn("The toMIDIChannels() method has been deprecated. Use Utilities.sanitizeChannels() instead."),J.sanitizeChannels(e)}guessNoteNumber(e){return this.validation&&console.warn("The guessNoteNumber() method has been deprecated. Use Utilities.guessNoteNumber() instead."),J.guessNoteNumber(e,this.octaveOffset)}getValidNoteArray(e,t={}){return this.validation&&console.warn("The getValidNoteArray() method has been moved to the Utilities.buildNoteArray()"),J.buildNoteArray(e,t)}convertToTimestamp(e){return this.validation&&console.warn("The convertToTimestamp() method has been moved to Utilities.toTimestamp()."),J.toTimestamp(e)}async _destroyInputsAndOutputs(){let e=[];return this.inputs.forEach(t=>e.push(t.destroy())),this.outputs.forEach(t=>e.push(t.destroy())),Promise.all(e).then(()=>{this._inputs=[],this._outputs=[]})}_onInterfaceStateChange(e){this._updateInputsAndOutputs();let t={timestamp:e.timeStamp,type:e.port.state,target:this};if(e.port.state==="connected"&&e.port.connection==="open"){e.port.type==="output"?t.port=this.getOutputById(e.port.id):e.port.type==="input"&&(t.port=this.getInputById(e.port.id)),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}else if(e.port.state==="disconnected"&&e.port.connection==="pending"){e.port.type==="input"?t.port=this.getInputById(e.port.id,{disconnected:!0}):e.port.type==="output"&&(t.port=this.getOutputById(e.port.id,{disconnected:!0})),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}}async _updateInputsAndOutputs(){return Promise.all([this._updateInputs(),this._updateOutputs()])}async _updateInputs(){if(!this.interface)return;for(let t=this._inputs.length-1;t>=0;t--){const s=this._inputs[t];Array.from(this.interface.inputs.values()).find(r=>r===s._midiInput)||(this._disconnectedInputs.push(s),this._inputs.splice(t,1))}let e=[];return this.interface.inputs.forEach(t=>{if(!this._inputs.find(s=>s._midiInput===t)){let s=this._disconnectedInputs.find(i=>i._midiInput===t);s||(s=new nx(t)),this._inputs.push(s),e.push(s.open())}}),Promise.all(e)}async _updateOutputs(){if(!this.interface)return;for(let t=this._outputs.length-1;t>=0;t--){const s=this._outputs[t];Array.from(this.interface.outputs.values()).find(r=>r===s._midiOutput)||(this._disconnectedOutputs.push(s),this._outputs.splice(t,1))}let e=[];return this.interface.outputs.forEach(t=>{if(!this._outputs.find(s=>s._midiOutput===t)){let s=this._disconnectedOutputs.find(i=>i._midiOutput===t);s||(s=new Hc(t)),this._outputs.push(s),e.push(s.open())}}),Promise.all(e)}get enabled(){return this.interface!==null}get inputs(){return this._inputs}get isNode(){return this.validation&&console.warn("WebMidi.isNode has been deprecated. Use Utilities.isNode instead."),J.isNode}get isBrowser(){return this.validation&&console.warn("WebMidi.isBrowser has been deprecated. Use Utilities.isBrowser instead."),J.isBrowser}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get outputs(){return this._outputs}get supported(){return typeof navigator<"u"&&navigator.requestMIDIAccess}get sysexEnabled(){return!!(this.interface&&this.interface.sysexEnabled)}get time(){return performance.now()}get version(){return"3.1.6"}get flavour(){return"esm"}get CHANNEL_EVENTS(){return this.validation&&console.warn("The CHANNEL_EVENTS enum has been moved to Enumerations.CHANNEL_EVENTS."),q.CHANNEL_EVENTS}get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been moved to Enumerations.SYSTEM_MESSAGES."),q.SYSTEM_MESSAGES}get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been moved to Enumerations.CHANNEL_MODE_MESSAGES."),q.CHANNEL_MODE_MESSAGES}get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been replaced by the Enumerations.CONTROL_CHANGE_MESSAGES array."),q.MIDI_CONTROL_CHANGE_MESSAGES}get MIDI_REGISTERED_PARAMETER(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETER enum has been moved to Enumerations.REGISTERED_PARAMETERS."),q.REGISTERED_PARAMETERS}get NOTES(){return this.validation&&console.warn("The NOTES enum has been deprecated."),["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"]}}const G=new sx;G.constructor=null;function to(n){return Ad()?(Hm(n),!0):!1}function qt(n){return typeof n=="function"?n():b(n)}const su=typeof window<"u"&&typeof document<"u",ix=Object.prototype.toString,rx=n=>ix.call(n)==="[object Object]",_c=(n,e,t)=>Math.min(t,Math.max(e,n)),ha=()=>{},ox=ax();function ax(){var n;return su&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function cx(n,e){function t(...s){return new Promise((i,r)=>{Promise.resolve(n(()=>e.apply(this,s),{fn:e,thisArg:this,args:s})).then(i).catch(r)})}return t}const Bp=n=>n();function lx(n=Bp){const e=Oe(!0);function t(){e.value=!1}function s(){e.value=!0}const i=(...r)=>{e.value&&n(...r)};return{isActive:jr(e),pause:t,resume:s,eventFilter:i}}function ux(...n){if(n.length!==1)return bg(...n);const e=n[0];return typeof e=="function"?jr(_g(()=>({get:e,set:ha}))):Oe(e)}function hx(n,e,t={}){const{eventFilter:s=Bp,...i}=t;return yt(n,cx(s,e),i)}function dx(n,e,t={}){const{eventFilter:s,...i}=t,{eventFilter:r,pause:o,resume:a,isActive:c}=lx(s);return{stop:hx(n,e,{...i,eventFilter:r}),pause:o,resume:a,isActive:c}}function qp(n,e=!0){Wr()?bs(n):e?n():Hi(n)}function Ut(n){var e;const t=qt(n);return(e=t==null?void 0:t.$el)!=null?e:t}const Wn=su?window:void 0,fx=su?window.document:void 0;function Tn(...n){let e,t,s,i;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,s,i]=n,e=Wn):[e,t,s,i]=n,!e)return ha;Array.isArray(t)||(t=[t]),Array.isArray(s)||(s=[s]);const r=[],o=()=>{r.forEach(u=>u()),r.length=0},a=(u,h,d,f)=>(u.addEventListener(h,d,f),()=>u.removeEventListener(h,d,f)),c=yt(()=>[Ut(e),qt(i)],([u,h])=>{if(o(),!u)return;const d=rx(h)?{...h}:h;r.push(...t.flatMap(f=>s.map(p=>a(u,f,p,d))))},{immediate:!0,flush:"post"}),l=()=>{c(),o()};return to(l),l}let Oh=!1;function px(n,e,t={}){const{window:s=Wn,ignore:i=[],capture:r=!0,detectIframe:o=!1}=t;if(!s)return;ox&&!Oh&&(Oh=!0,Array.from(s.document.body.children).forEach(d=>d.addEventListener("click",ha)),s.document.documentElement.addEventListener("click",ha));let a=!0;const c=d=>i.some(f=>{if(typeof f=="string")return Array.from(s.document.querySelectorAll(f)).some(p=>p===d.target||d.composedPath().includes(p));{const p=Ut(f);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[Tn(s,"click",d=>{const f=Ut(n);if(!(!f||f===d.target||d.composedPath().includes(f))){if(d.detail===0&&(a=!c(d)),!a){a=!0;return}e(d)}},{passive:!0,capture:r}),Tn(s,"pointerdown",d=>{const f=Ut(n);f&&(a=!d.composedPath().includes(f)&&!c(d))},{passive:!0}),o&&Tn(s,"blur",d=>{setTimeout(()=>{var f;const p=Ut(n);((f=s.document.activeElement)==null?void 0:f.tagName)==="IFRAME"&&!(p!=null&&p.contains(s.document.activeElement))&&e(d)},0)})].filter(Boolean);return()=>u.forEach(d=>d())}function mx(n){return typeof n=="function"?n:typeof n=="string"?e=>e.key===n:Array.isArray(n)?e=>n.includes(e.key):()=>!0}function iu(...n){let e,t,s={};n.length===3?(e=n[0],t=n[1],s=n[2]):n.length===2?typeof n[1]=="object"?(e=!0,t=n[0],s=n[1]):(e=n[0],t=n[1]):(e=!0,t=n[0]);const{target:i=Wn,eventName:r="keydown",passive:o=!1,dedupe:a=!1}=s,c=mx(e);return Tn(i,r,u=>{u.repeat&&qt(a)||c(u)&&t(u)},o)}function Co(n,e,t={}){return iu(n,e,{...t,eventName:"keydown"})}function gx(){const n=Oe(!1);return Wr()&&bs(()=>{n.value=!0}),n}function ru(n){const e=gx();return fe(()=>(e.value,!!n()))}function ou(n,e={}){const{immediate:t=!0,fpsLimit:s=void 0,window:i=Wn}=e,r=Oe(!1),o=s?1e3/s:null;let a=0,c=null;function l(d){if(!r.value||!i)return;const f=d-(a||d);if(o&&ft&&"matchMedia"in t&&typeof t.matchMedia=="function");let i;const r=Oe(!1),o=l=>{r.value=l.matches},a=()=>{i&&("removeEventListener"in i?i.removeEventListener("change",o):i.removeListener(o))},c=Zd(()=>{s.value&&(a(),i=t.matchMedia(qt(n)),"addEventListener"in i?i.addEventListener("change",o):i.addListener(o),r.value=i.matches)});return to(()=>{c(),a(),i=void 0}),r}const go=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},_o="__vueuse_ssr_handlers__",yx=vx();function vx(){return _o in go||(go[_o]=go[_o]||{}),go[_o]}function Up(n,e){return yx[n]||e}function bx(n){return n==null?"any":n instanceof Set?"set":n instanceof Map?"map":n instanceof Date?"date":typeof n=="boolean"?"boolean":typeof n=="string"?"string":typeof n=="object"?"object":Number.isNaN(n)?"any":"number"}const wx={boolean:{read:n=>n==="true",write:n=>String(n)},object:{read:n=>JSON.parse(n),write:n=>JSON.stringify(n)},number:{read:n=>Number.parseFloat(n),write:n=>String(n)},any:{read:n=>n,write:n=>String(n)},string:{read:n=>n,write:n=>String(n)},map:{read:n=>new Map(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n.entries()))},set:{read:n=>new Set(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n))},date:{read:n=>new Date(n),write:n=>n.toISOString()}},Ih="vueuse-storage";function St(n,e,t,s={}){var i;const{flush:r="pre",deep:o=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:l=!1,shallow:u,window:h=Wn,eventFilter:d,onError:f=T=>{console.error(T)}}=s,p=(u?qd:Oe)(e);if(!t)try{t=Up("getDefaultStorage",()=>{var T;return(T=Wn)==null?void 0:T.localStorage})()}catch(T){f(T)}if(!t)return p;const m=qt(e),_=bx(m),g=(i=s.serializer)!=null?i:wx[_],{pause:y,resume:S}=dx(p,()=>w(p.value),{flush:r,deep:o,eventFilter:d});return h&&a&&(Tn(h,"storage",N),Tn(h,Ih,A)),N(),p;function w(T){try{if(T==null)t.removeItem(n);else{const R=g.write(T),O=t.getItem(n);O!==R&&(t.setItem(n,R),h&&h.dispatchEvent(new CustomEvent(Ih,{detail:{key:n,oldValue:O,newValue:R,storageArea:t}})))}}catch(R){f(R)}}function v(T){const R=T?T.newValue:t.getItem(n);if(R==null)return c&&m!==null&&t.setItem(n,g.write(m)),m;if(!T&&l){const O=g.read(R);return typeof l=="function"?l(O,m):_==="object"&&!Array.isArray(O)?{...m,...O}:O}else return typeof R!="string"?R:g.read(R)}function A(T){N(T.detail)}function N(T){if(!(T&&T.storageArea!==t)){if(T&&T.key==null){p.value=m;return}if(!(T&&T.key!==n)){y();try{(T==null?void 0:T.newValue)!==g.write(p.value)&&(p.value=v(T))}catch(R){f(R)}finally{T?Hi(S):S()}}}}}function xx(n){return _x("(prefers-color-scheme: dark)",n)}function Tx(n={}){const{selector:e="html",attribute:t="class",initialValue:s="auto",window:i=Wn,storage:r,storageKey:o="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:l,disableTransition:u=!0}=n,h={auto:"",light:"light",dark:"dark",...n.modes||{}},d=xx({window:i}),f=fe(()=>d.value?"dark":"light"),p=c||(o==null?ux(s):St(o,s,r,{window:i,listenToStorageChanges:a})),m=fe(()=>p.value==="auto"?f.value:p.value),_=Up("updateHTMLAttrs",(w,v,A)=>{const N=typeof w=="string"?i==null?void 0:i.document.querySelector(w):Ut(w);if(!N)return;let T;if(u){T=i.document.createElement("style");const R="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";T.appendChild(document.createTextNode(R)),i.document.head.appendChild(T)}if(v==="class"){const R=A.split(/\s/g);Object.values(h).flatMap(O=>(O||"").split(/\s/g)).filter(Boolean).forEach(O=>{R.includes(O)?N.classList.add(O):N.classList.remove(O)})}else N.setAttribute(v,A);u&&(i.getComputedStyle(T).opacity,document.head.removeChild(T))});function g(w){var v;_(e,t,(v=h[w])!=null?v:w)}function y(w){n.onChanged?n.onChanged(w,g):g(w)}yt(m,y,{flush:"post",immediate:!0}),qp(()=>y(m.value));const S=fe({get(){return l?p.value:m.value},set(w){p.value=w}});try{return Object.assign(S,{store:p,system:f,state:m})}catch{return S}}function Ex(n={}){const{valueDark:e="dark",valueLight:t=""}=n,s=Tx({...n,onChanged:(r,o)=>{var a;n.onChanged?(a=n.onChanged)==null||a.call(n,r==="dark",o,r):o(r)},modes:{dark:e,light:t}});return fe({get(){return s.value==="dark"},set(r){const o=r?"dark":"light";s.system.value===o?s.value="auto":s.value=o}})}function Sx(n,e,t={}){const{window:s=Wn,...i}=t;let r;const o=ru(()=>s&&"ResizeObserver"in s),a=()=>{r&&(r.disconnect(),r=void 0)},c=fe(()=>Array.isArray(n)?n.map(h=>Ut(h)):[Ut(n)]),l=yt(c,h=>{if(a(),o.value&&s){r=new ResizeObserver(e);for(const d of h)d&&r.observe(d,i)}},{immediate:!0,flush:"post",deep:!0}),u=()=>{a(),l()};return to(u),{isSupported:o,stop:u}}function Cx(n,e={}){const{reset:t=!0,windowResize:s=!0,windowScroll:i=!0,immediate:r=!0}=e,o=Oe(0),a=Oe(0),c=Oe(0),l=Oe(0),u=Oe(0),h=Oe(0),d=Oe(0),f=Oe(0);function p(){const m=Ut(n);if(!m){t&&(o.value=0,a.value=0,c.value=0,l.value=0,u.value=0,h.value=0,d.value=0,f.value=0);return}const _=m.getBoundingClientRect();o.value=_.height,a.value=_.bottom,c.value=_.left,l.value=_.right,u.value=_.top,h.value=_.width,d.value=_.x,f.value=_.y}return Sx(n,p),yt(()=>Ut(n),m=>!m&&p()),i&&Tn("scroll",p,{capture:!0,passive:!0}),s&&Tn("resize",p,{passive:!0}),qp(()=>{r&&p()}),{height:o,bottom:a,left:c,right:l,top:u,width:h,x:d,y:f,update:p}}const Rh=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Dh(n,e={}){const{document:t=fx,autoExit:s=!1}=e,i=fe(()=>{var g;return(g=Ut(n))!=null?g:t==null?void 0:t.querySelector("html")}),r=Oe(!1),o=fe(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(g=>t&&g in t||i.value&&g in i.value)),a=fe(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(g=>t&&g in t||i.value&&g in i.value)),c=fe(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(g=>t&&g in t||i.value&&g in i.value)),l=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(g=>t&&g in t),u=ru(()=>i.value&&t&&o.value!==void 0&&a.value!==void 0&&c.value!==void 0),h=()=>l?(t==null?void 0:t[l])===i.value:!1,d=()=>{if(c.value){if(t&&t[c.value]!=null)return t[c.value];{const g=i.value;if((g==null?void 0:g[c.value])!=null)return!!g[c.value]}}return!1};async function f(){if(!(!u.value||!r.value)){if(a.value)if((t==null?void 0:t[a.value])!=null)await t[a.value]();else{const g=i.value;(g==null?void 0:g[a.value])!=null&&await g[a.value]()}r.value=!1}}async function p(){if(!u.value||r.value)return;d()&&await f();const g=i.value;o.value&&(g==null?void 0:g[o.value])!=null&&(await g[o.value](),r.value=!0)}async function m(){await(r.value?f():p())}const _=()=>{const g=d();(!g||g&&h())&&(r.value=g)};return Tn(t,Rh,_,!1),Tn(()=>Ut(i),Rh,_,!1),s&&to(f),{isSupported:u,isFullscreen:r,enter:p,exit:f,toggle:m}}const D=Vt({enabled:!1,initiated:!1,keyboardInitiated:!1,offset:-1,out:!0,inputs:{},outputs:{},forwards:{},playing:!1,channels:{},channel:St("global-midi-channel",1),note:null,time:0,duration:0,maxDuration:3e3,message:null,log:[],cc:{},clock:0,filter:St("global-midi-filter",{}),available:fe(()=>Object.entries(D.outputs).length>0),total:{hits:0,dur:0,duration:fe(()=>D.total.dur+D.duration),notes:[0,0,0,0,0,0,0,0,0,0,0,0],durations:[0,0,0,0,0,0,0,0,0,0,0,0],durs:fe(()=>D.total.durations.map((n,e)=>({pitch:e,dur:n})).filter(n=>n.dur>0)),reset(){D.total.hits=0,D.total.dur=0,D.total.notes=new Array(12).fill(0),D.total.durations=new Array(12).fill(0)}}}),ui={KeyA:{note:"C",offset:0},KeyW:{note:"C#",offset:0},KeyS:{note:"D",offset:0},KeyE:{note:"D#",offset:0},KeyD:{note:"E",offset:0},KeyF:{note:"F",offset:0},KeyT:{note:"F#",offset:0},KeyG:{note:"G",offset:0},KeyY:{note:"G#",offset:0},KeyH:{note:"A",offset:0},KeyU:{note:"A#",offset:0},KeyJ:{note:"B",offset:0},KeyK:{note:"C",offset:1},KeyO:{note:"C#",offset:1},KeyL:{note:"D",offset:1},KeyP:{note:"D#",offset:1},Semicolon:{note:"E",offset:1},Quote:{note:"F",offset:1},BracketRight:{note:"F#",offset:1}};function Ax(){D.keyboardInitiated||(document.addEventListener("keydown",n=>{n.code=="KeyZ"&&D.offset--,n.code=="KeyX"&&D.offset++,!(n.repeat||!ui[n.code])&&(n.ctrlKey||n.altKey||n.metaKey||((n.code=="Slash"||n.code=="Quote")&&n.preventDefault(),Ph(ui[n.code].note,ui[n.code].offset)))}),document.addEventListener("keyup",n=>{ui[n.code]&&Ph(ui[n.code].note,ui[n.code].offset,!0)}),Co("Enter",()=>D.total.reset()),D.keyboardInitiated=!0)}function Ph(n,e,t){let s=n+(4+e+D.offset);const i=new Ls(s,{attack:t?0:1}),r={type:t?"noteoff":"noteon",note:i,port:{id:"PC Keyboard"},timestamp:D.time,target:{number:0}};Gc(r)}ou(()=>{var n,e,t;D.time=G.time,((n=D==null?void 0:D.note)==null?void 0:n.velocity)>0?D.duration=G.time-((e=D==null?void 0:D.note)==null?void 0:e.timestamp):(D.total.dur+=D.duration,D.total.durations[((t=D==null?void 0:D.note)==null?void 0:t.pitch)||0]+=D.duration,D.duration=0)});yt(()=>D.duration,n=>{n>D.maxDuration&&D.total.reset()});function ii(){return bs(()=>{G.supported&&Nx()}),Zd(()=>{if(!D.out)return;let n=Object.values(G.outputs);D.playing?n.forEach(e=>{e.sendContinue()}):n.forEach(e=>{e.sendStop()})}),{midi:D,midiAttack:kx,midiRelease:Rx,midiOnce:Dx,setCC:Px,WebMidi:G}}function Nx(){D.initiated||(G.enable(),G.addListener("enabled",n=>{D.enabled=!0,$h()}),G.addListener("connected",n=>{$h()}),G.addListener("disconnected",n=>{delete D[n.port.type+"s"][n.port.id]}),D.initiated=!0)}function $h(){D.inputs=Vt({}),G.inputs.forEach(n=>{D.enabled=!0,D.inputs[n.id]={name:n.name,manufacturer:n.manufacturer,forwarder:n.addForwarder(),event:null,note:null,cc:null},n.removeListener(),n.addListener("start",()=>{D.playing=!0}),n.addListener("stop",()=>{D.playing=!1,D.channels={}}),n.addListener("midimessage",e=>{var t;((t=e==null?void 0:e.message)==null?void 0:t.type)!="clock"&&(D.inputs[n.id].event=e,D.message=e.message,D.log.unshift(e),D.log.length>100&&D.log.pop())}),n.addListener("noteon",e=>{D.inputs[n.id].note=Gc(e)},{channels:"all"}),n.addListener("noteoff",e=>{D.inputs[n.id].note=Gc(e)},{channels:"all"}),n.addListener("controlchange",e=>{const t=Mx(e);t&&(D.inputs[n.id].cc=t,D.cc=t)},{channels:"all"}),n.addListener("clock",e=>{D.clock=e.timestamp})}),D.outputs=Vt({}),G.outputs.forEach(n=>{D.outputs[n.id]={name:n.name,manufacturer:n.manufacturer}})}function Gc(n){let e=n.note;if(e.port=n.port.id,e.type=n.type,e.timestamp=D.time,e.channel=n.target.number,n.type=="noteoff")e.velocity=0;else{e.velocity=100,D.total.hits++;let t=(n.note.number+3)%12;D.total.notes[t]=D.total.notes[t]+1}if(e.pitch=(e.number+3)%12,e.octA=Math.floor((e.number+3)/12)-1,!D.filter[e.channel])return jp(e.channel),D.channels[e.channel].notes[e.number]=e,D.note=e,e}function Mx(n){if(D.filter[n.target.number])return;let e={channel:n.target.number,timestamp:n.timestamp,number:n.controller.number,value:n.value,raw:n.rawValue,port:n.port.id};return jp(e.channel),D.channels[e.channel].cc[e.number]=e,e}function jp(n){D.channels[n]||(D.channels[n]={num:n,activeNotes:{},notes:{},cc:{}})}function Wp(n,e,t){var s,i,r;(r=(i=(s=D.channels)==null?void 0:s[n])==null?void 0:i.notes)!=null&&r[e]&&(D.channels[n].notes[e].velocity=t)}function kx(n,e){if(!D.out)return;let t=(n==null?void 0:n.channel)||D.channel;Wp(t,n==null?void 0:n.number,100),G.outputs.forEach(s=>{s.playNote(n.number,{channels:t,...e})})}function Ox(n,e){D.out&&G.outputs.forEach(t=>{t.playNote(n,{channels:D.channel,...e})})}function Ix(n,e){D.out&&(n?G.outputs.forEach(t=>{t.stopNote(n,{channels:D.channel,...e})}):G.outputs.forEach(t=>{t.sendAllNotesOff(),t.sendAllSoundOff({time:"+1"})}))}function Rx(n){if(D.out)if(n){let e=(n==null?void 0:n.channel)||D.channel;Wp(e,n==null?void 0:n.number,0),G.outputs.forEach(t=>{t.stopNote(n.number,{channels:e})})}else G.outputs.forEach(e=>{e.sendAllNotesOff(),e.sendAllSoundOff({time:"+1"})})}function Dx(n,e){!D.out||D.filter[D.channel]||(Ox(n,e),setTimeout(()=>{Ix(n,e)},300))}function Px(n,e){D.out&&G.outputs.forEach(t=>{t.sendControlChange(Number(n.number),e,n.channel)})}function $x(n,e){var r,o;const t=G.outputs.find(a=>a.id==e),s=D.inputs[n].forwarder.destinations,i=s.indexOf(t);i==-1?(s.push(t),D.forwards[n]=D.forwards[n]||{},D.forwards[n][e]=!0):(s.splice(i,1),(o=(r=D.forwards)==null?void 0:r[n])==null||delete o[e])}function Kc(n,e,t){if(typeof n=="function"||Gs(n))return fe(()=>_c(qt(n),qt(e),qt(t)));const s=Oe(n);return fe({get(){return s.value=_c(s.value,qt(e),qt(t))},set(i){s.value=_c(i,qt(e),qt(t))}})}const Ie={},Me=Vt({midi:!0,bpm:Kc(St("tempo-bpm",90),10,500),quantize:St("quantize","@8n"),octave:Kc(St("synth-transpose",0),-2,2),transpose:fe(()=>Me.octave*12),initiated:!1,params:{oscillator:{type:St("synth-osc","sawtooth8")},volume:-20,envelope:{attack:.005,decay:.3,sustain:.4,release:.8},filterEnvelope:{attack:.001,decay:.7,sustain:.5,release:1,baseFrequency:60,octaves:5}}});function zp(){return Me.initiated||(Co("zя".split(""),n=>{Me.octave--}),Co("xч".split(""),n=>{Me.octave++}),Co("Escape",()=>yc()),gc.bpm.set(Me.bpm),gc.start(),yt(()=>Me.bpm,n=>{gc.bpm.rampTo(n,2)}),yt(()=>Me.params,n=>{Ie.poly&&Ie.poly.set(n)},{deep:!0}),yt(()=>D.note,n=>{Me.midi&&(n.velocity>0?Fh(Eh(n.number).toFrequency(),n.velocity/127):Vh(Eh(n.number).toFrequency()))}),yt(()=>D.playing,n=>{n||yc()})),{init:ri,synth:Ie,synthOptions:Me,synthOnce:Fx,synthAttack:Fh,synthRelease:Vh,synthReleaseAll:yc}}function ri(){D2(),!(Ie!=null&&Ie.poly)&&(Ie.compressor=new ua().toDestination(),Ie.pan=new ra({depth:.4,frequency:"8n",wet:.7}).connect(Ie.compressor),Ie.reverb=new ca(2.5).connect(Ie.pan),Ie.poly=new sa(na,Me.params).connect(Ie.pan),Ie.delay=new aa({delayTime:"8n",wet:.3,feedback:.3,maxDelay:"8n"}).toDestination(),Ie.poly.connect(Ie.reverb),Ie.poly.connect(Ie.delay),Ie.poly.connect(Ie.pan),Ie.pan.start(),Me.initiated=!0)}function Fx(n="A4",e="8n",t){if(!Ie.poly||Me.mute)return ri();Ie.poly.triggerAttackRelease(n,e),Ie.poly.releaseAll(Me.quantize)}function Fh(n,e){if(!Ie.poly||Me.mute)return ri();Ie.poly.triggerAttack(Ip(n).transpose(Me.transpose),Me.quantize,e)}function Vh(n){if(!Ie.poly||Me.mute)return ri();Ie.poly.triggerRelease(Ip(n).transpose(Me.transpose),Me.quantize)}function yc(){if(!Ie.poly||Me.mute)return ri();Ie.poly.releaseAll(Me.quantize)}const Vx={key:0,class:"text-center absolute z-500 p-4 rounded-xl shadow-xl bg-light-200 mx-auto dark_bg-dark-200 min-w-80",style:{left:"50%",top:"50%",transform:"translate(-50%, -50%)"}},Lx=V("h2",{class:"text-center text-2xl my-4"},"Let's play music with touch ",-1),Bx={key:0,class:"p-4 flex flex-col gap-2"},qx={class:"button p-4 flex items-center",href:"https://chrome.google.com",target:"_blank"},Ux=V("div",{class:"ml-2"},"Google Chrome for Desktop or Android",-1),jx={class:"button p-4 flex items-center",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},Wx=V("div",{class:"ml-2"},"Web MIDI Browser for iOS",-1),zx={class:"button p-4 flex items-center",href:"https://caniuse.com/?search=midi",target:"_blank"},Hx=V("div",{class:"ml-2"},"Other options",-1),Gx=V("div",{class:"mt-4"},"Or play notes with your PC keyboard ",-1),Kx=V("img",{src:l1},null,-1),Yx={key:1,class:"px-4"},Zx=["disabled","id","onUpdate:modelValue"],Xx=["for"],Qx={__name:"start",setup(n){const e=Oe(!1),t=Vt({browser:{text:"MIDI enabled browser",checked:fe(()=>D==null?void 0:D.enabled),disabled:!0},controller:{text:"TouchMe (or any other MIDI controller)",checked:St("touch-me",!1)},usb:{text:"USB cable (you have it in your package)",checked:St("usb-cable",!1)},adapter:{text:"Special adapter, if your device doesn’t have a usb port ",checked:St("usb-adapter",!1)},friend:{text:"Your best friend ",checked:St("your-friend",!1)}});return(s,i)=>{const r=c1,o=s1,a=Q0;return b(Me).initiated?ut("",!0):(K(),ee("div",Vx,[Lx,b(D).enabled?(K(),ee("div",Yx,[(K(!0),ee(Re,null,vt(b(t),(c,l)=>(K(),ee("div",{class:"flex items-center my-4",key:l},[At(V("input",{class:"transform scale-200",type:"checkbox",disabled:c.disabled,id:l,"onUpdate:modelValue":u=>c.checked=u},null,8,Zx),[[n0,c.checked]]),V("label",{class:"ml-4",for:l},Ke(c.text),9,Xx)]))),128))])):(K(),ee("div",Bx,[vr("This interactive experience needs Web MIDI API support. Unfortunately, your current browser doesn't provide it. Is it Firefox or Safari? Please, use another one here."),V("a",qx,[xe(r,{class:"text-2xl"}),Ux]),V("a",jx,[xe(o,{class:"text-2xl"}),Wx]),V("a",zx,[xe(a,{class:"text-2xl"}),Hx]),Gx,Kx])),V("button",{class:"button mx-auto w-full font-bold",onClick:i[0]||(i[0]=c=>{b(ri)(),e.value=!0})},"Start")]))}}},Jx={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},eT=V("path",{fill:"currentColor",d:"M16 3C8.832 3 3 8.832 3 16s5.832 13 13 13s13-5.832 13-13S23.168 3 16 3zm0 2c6.086 0 11 4.914 11 11s-4.914 11-11 11S5 22.086 5 16S9.914 5 16 5zm-3.781 5.781L10.78 12.22L14.562 16l-3.78 3.781l1.437 1.438L16 17.437l3.781 3.782l1.438-1.438L17.437 16l3.782-3.781l-1.438-1.438L16 14.562z"},null,-1),tT=[eT];function nT(n,e){return K(),ee("svg",Jx,[...tT])}const sT={name:"la-times-circle",render:nT},iT={class:"-mt-3 mb-1 font-bold"},rT=V("div",{class:"absolute bottom-1 text-xs"},"BPM",-1),oT={__name:"bpm",setup(n){const e=[60,80,100,120];function t(){let s=e.findIndex(i=>i==Me.bpm);Me.bpm=e[++s%e.length]}return(s,i)=>(K(),ee("button",{class:"button relative",onClick:i[0]||(i[0]=r=>t())},[V("div",iT,Ke(b(Me).bpm),1),rT]))}},aT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},cT=V("g",{fill:"currentColor"},[V("path",{d:"M128 64v64H24Zm104 64H128v64Z",opacity:".2"}),V("path",{d:"m236.19 134.81l-104 64A8 8 0 0 1 120 192V78.32l-91.81 56.49a8 8 0 0 1-8.38-13.62l104-64A8 8 0 0 1 136 64v113.68l91.81-56.49a8 8 0 0 1 8.38 13.62Z"})],-1),lT=[cT];function uT(n,e){return K(),ee("svg",aT,[...lT])}const hT={name:"ph-wave-sawtooth-duotone",render:uT},dT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},fT=V("g",{fill:"currentColor"},[V("path",{d:"M128 72v56H24V72Zm0 56v56h104v-56Z",opacity:".2"}),V("path",{d:"M240 128v56a8 8 0 0 1-8 8H128a8 8 0 0 1-8-8V80H32v48a8 8 0 0 1-16 0V72a8 8 0 0 1 8-8h104a8 8 0 0 1 8 8v104h88v-48a8 8 0 0 1 16 0Z"})],-1),pT=[fT];function mT(n,e){return K(),ee("svg",dT,[...pT])}const gT={name:"ph-wave-square-duotone",render:mT},_T={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},yT=V("g",{fill:"currentColor"},[V("path",{d:"m76 56l52 72H24Zm156 72H128l52 72Z",opacity:".2"}),V("path",{d:"m238.48 132.68l-52 72a8 8 0 0 1-13 0L76 69.66l-45.51 63a8 8 0 1 1-13-9.36l52-72a8 8 0 0 1 13 0l97.51 135l45.51-63a8 8 0 1 1 13 9.36Z"})],-1),vT=[yT];function bT(n,e){return K(),ee("svg",_T,[...vT])}const wT={name:"ph-wave-triangle-duotone",render:bT},xT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},TT=V("g",{fill:"currentColor"},[V("path",{d:"M232 128c-52 110.85-78 55.43-104 0Zm-208 0h104c-26-55.43-52-110.85-104 0Z",opacity:".2"}),V("path",{d:"M239.24 131.4c-22 46.8-41.4 68.6-61.2 68.6c-25.1 0-40.73-33.32-57.28-68.6C107.7 103.56 92.9 72 78 72c-16.4 0-36.31 37.21-46.72 59.4a8 8 0 0 1-14.48-6.8C38.71 77.8 58.16 56 78 56c25.1 0 40.73 33.32 57.28 68.6C148.3 152.44 163.1 184 178 184c16.4 0 36.31-37.21 46.72-59.4a8 8 0 0 1 14.48 6.8Z"})],-1),ET=[TT];function ST(n,e){return K(),ee("svg",xT,[...ET])}const CT={name:"ph-wave-sine-duotone",render:ST},AT={__name:"oscillator",setup(n){const e={sine:"SIN",triangle:"TRI",square8:"SQR",sawtooth8:"SAW"};function t(){let a=Object.keys(e),c=a.findIndex(l=>l==i.params.oscillator.type);i.params.oscillator.type=a[++c%a.length]}const s=fe(()=>i.params.oscillator.type),{synthOptions:i,synthOnce:r,init:o}=zp();return(a,c)=>{const l=CT,u=wT,h=gT,d=hT;return K(),ee("div",{class:"button flex-auto flex justify-center m-1 cursor-pointer",onClick:c[0]||(c[0]=f=>{var p,m;t(),b(r)((m=(p=b(D))==null?void 0:p.note)==null?void 0:m.identifier),!b(i).initiated&&b(o)()})},[s.value=="sine"?(K(),et(l,{key:0})):ut("",!0),s.value=="triangle"?(K(),et(u,{key:1})):ut("",!0),s.value=="square8"?(K(),et(h,{key:2})):ut("",!0),s.value=="sawtooth8"?(K(),et(d,{key:3})):ut("",!0)])}}},NT=["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"];function ot(n=0,e,t=1,s=1){return e=e||Math.floor(n/12)+4,`hsla(${n%12*30},${t*100}%,${Math.abs(e+2)*8}%,${s})`}function MT(n=0,e=12,t=35,s=100,i=100){let r=(n-e/4)/(e/2)*Math.PI,o=t*Math.cos(r)+s/2,a=t*Math.sin(r)+i/2;return{x:o,y:a}}const ys={},Ya=(n,e)=>{const t=n.__vccOpts||n;for(const[s,i]of e)t[s]=i;return t},kT={class:"flex flex-col gap-1 mb-4 overflow-x-scroll font-mono pt-4"},OT={class:"txt whitespace-nowrap"},IT={class:"txt"},RT={class:"txt"},DT={class:"txt text-center"},PT={class:"txt text-right"},Hp={__name:"log",setup(n){Oe(!1);const{midi:e,midiAttack:t,midiRelease:s,setCC:i}=ii();return(r,o)=>(K(),ee("div",kT,[xe(X_,{name:"fall",mode:"out-in"},{default:nn(()=>[(K(!0),ee(Re,null,vt(b(e).log,a=>{var c,l;return K(),ee("div",{class:"flex text-xs fall whitespace-nowrap justify-between",key:a},[V("div",{class:"p-2",style:Be({backgroundColor:b(ot)(a.message.dataBytes[0]+3||0)})},null,4),V("div",OT,Ke(b(J).toNoteIdentifier(a.message.dataBytes[0]||1)),1),V("div",IT,Ke((c=a.message)==null?void 0:c.type),1),V("div",RT,Ke((a.message.dataBytes[1]/127).toFixed(2)),1),V("div",DT,Ke(a.data.join(",")),1),V("div",PT,"CH"+Ke((l=a.message)==null?void 0:l.channel),1)])}),128))]),_:1})]))}};typeof ys=="function"&&ys(Hp);const $T=Ya(Hp,[["__scopeId","data-v-5ef71097"]]);const FT=n=>(Ca("data-v-b0381278"),n=n(),Aa(),n),VT={class:"p-4 shadow-lg rounded-2xl bg-light-900 dark_bg-dark-300 relative border-2 shadow-lg",style:{flex:"1 1 200px"}},LT={class:"flex justify-between flex-wrap gap-1"},BT={class:"flex-col"},qT={class:"text-sm"},UT={class:"text-xl font-bold"},jT={class:"flex-col text-xs font-mono flex gap-2 text-center"},WT={key:1,class:"display"},zT={class:"flex flex-wrap gap-3 mt-4 items-center"},HT=FT(()=>V("div",{class:"text-xs"},"TO",-1)),GT=["onClick"],KT={class:"text-sm"},YT={__name:"input",props:{input:Object,iid:[Number,String]},setup(n){const e=n,{midi:t}=ii(),s=fe(()=>{var i,r,o;return((r=(i=e.input)==null?void 0:i.note)==null?void 0:r.velocity)>0?ot((o=e.input.note)==null?void 0:o.pitch,null,1,.4):"#7773"});return(i,r)=>{var o,a,c,l,u,h,d,f,p,m,_,g,y,S,w,v;return K(),ee("div",VT,[V("div",LT,[V("div",BT,[V("div",qT,Ke(n.input.manufacturer),1),V("div",UT,Ke(n.input.name),1)]),V("div",jT,[n.input.note?(K(),ee("div",{key:0,class:"display",style:Be({backgroundColor:b(s)})},[V("div",{class:"indicator",style:Be({transform:`scale(${(a=(o=n.input)==null?void 0:o.note)==null?void 0:a.attack},1)`})},null,4),V("i",null,"CH"+Ke((l=(c=n.input)==null?void 0:c.note)==null?void 0:l.channel),1),V("div",{class:"px-1 rounded-sm",style:Be({backgroundColor:b(s)})},Ke((h=(u=n.input)==null?void 0:u.note)==null?void 0:h.identifier),5),V("i",null,Ke((f=(d=n.input)==null?void 0:d.note)==null?void 0:f.number),1)],4)):ut("",!0),n.input.cc?(K(),ee("div",WT,[V("div",{class:"indicator",style:Be({transform:`scale(${(m=(p=n.input)==null?void 0:p.cc)==null?void 0:m.value},1)`})},null,4),V("i",null,"CH"+Ke((g=(_=n.input)==null?void 0:_.cc)==null?void 0:g.channel),1),V("i",null,"CC"+Ke((S=(y=n.input)==null?void 0:y.cc)==null?void 0:S.number),1),V("i",null,Ke((v=(w=n.input)==null?void 0:w.cc)==null?void 0:v.raw),1)])):ut("",!0)])]),V("div",zT,[HT,(K(!0),ee(Re,null,vt(b(t).outputs,(A,N)=>{var T,R;return At((K(),ee("button",{class:vs(["px-2 shadow-sm rounded-xl bg-light-200 dark_bg-dark-500 cursor-pointer border-2 border-transparent select-none",{active:(R=(T=b(t).forwards)==null?void 0:T[n.iid])==null?void 0:R[N]}]),onClick:O=>b($x)(n.iid,N),key:N},[V("div",KT,Ke(A.name),1)],10,GT)),[[$o,n.input.name!=A.name]])}),128))])])}}},ZT=Ya(YT,[["__scopeId","data-v-b0381278"]]);const au=n=>(Ca("data-v-27bfda27"),n=n(),Aa(),n),XT={class:"z-40 flex flex-col gap-2"},QT={key:0,class:"p-2 border border-red-500 text-red-500"},JT=au(()=>V("a",{class:"font-normal underline",href:"https://caniuse.com/?search=midi",target:"_blank"},"compatible browser ",-1)),eE=au(()=>V("span",null,"or ",-1)),tE=au(()=>V("a",{class:"font-normal underline",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},"Web MIDI Browser on iOS",-1)),nE={key:1,class:"flex flex-wrap gap-4 justify-center"},sE={__name:"panel",props:{toChannel:{type:Boolean,default:!0}},setup(n){return iu(" ",e=>{e.preventDefault(),D.playing=!D.playing}),(e,t)=>{var r;const s=ZT,i=$T;return K(),ee("div",XT,[(r=b(D))!=null&&r.enabled?(K(),ee("div",nE,[(K(!0),ee(Re,null,vt(b(D).inputs,(o,a)=>(K(),et(s,{input:o,iid:a,key:a},null,8,["input","iid"]))),128))])):(K(),ee("div",QT,[vr("MIDI is not available. Use a "),JT,eE,tE])),xe(i,{class:"max-h-40vh mt-6"})])}}},iE=Ya(sE,[["__scopeId","data-v-27bfda27"]]),rE={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},oE=V("path",{fill:"currentColor",d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781l1.44 1.439L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z"},null,-1),aE=[oE];function cE(n,e){return K(),ee("svg",rE,[...aE])}const lE={name:"la-times",render:cE},uE={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},hE=V("path",{d:"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2zm8.182 10c0-3.82-2.635-7.039-6.182-7.934V6h-4V4.066C6.453 4.96 3.818 8.18 3.818 12c0 4.51 3.673 8.182 8.182 8.182c4.51 0 8.182-3.673 8.182-8.182zM7 10.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm10 0a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm-8.636 3.637a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zm7.272 0a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zM12 15.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728z",fill:"currentColor"},null,-1),dE=[hE];function fE(n,e){return K(),ee("svg",uE,[...dE])}const pE={name:"mdi-midi-input",render:fE},mE={class:"p-0"},gE={__name:"state",setup(n){const e=St("global-midi-panel",!1),t=Oe(null);px(t,()=>{e.value=!1});const{midi:s}=ii();return(i,r)=>{var l,u;const o=pE,a=lE,c=iE;return K(),ee("div",mE,[V("button",{class:"button text-2xl",onClick:r[0]||(r[0]=o0(h=>e.value=!b(e),["stop"])),"aria-label":"Toggle MIDI panel"},[xe(o,{class:"transition-all duration-200",style:Be({opacity:b(s).enabled?1:.2,color:b(ot)(b(s).enabled?(l=b(s).note)==null?void 0:l.pitch:0,(u=b(s).note)==null?void 0:u.octA)})},null,8,["style"])]),xe(Pa,{name:"fade"},{default:nn(()=>[b(e)?(K(),ee("div",{key:0,class:"panel",ref_key:"target",ref:t},[V("div",{class:"button cursor-pointer p-1 absolute top-4 right-4 z-100",onClick:r[1]||(r[1]=h=>e.value=!1)},[xe(a)]),xe(c)],512)):ut("",!0)]),_:1})])}}},_E={style:{"vertical-align":"middle"},viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},yE=v_('',9),vE=[yE];function bE(n,e){return K(),ee("svg",_E,[...vE])}const wE={name:"ion-ios-sunny",render:bE},xE={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},TE=V("path",{fill:"currentColor",d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z"},null,-1),EE=[TE];function SE(n,e){return K(),ee("svg",xE,[...EE])}const CE={name:"carbon-moon",render:SE},yo=Ex();Vt({initiated:!1,mute:St("mute",!1),volume:Kc(St("main-vol",1),0,1)});const AE={__name:"dark",setup(n){return(e,t)=>{const s=CE,i=wE;return K(),ee("button",{class:"button",onClick:t[0]||(t[0]=r=>yo.value=!b(yo)),"aria-label":"Toggle dark mode"},[At(xe(s,null,null,512),[[$o,b(yo)]]),At(xe(i,null,null,512),[[$o,!b(yo)]])])}}},NE={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ME=V("path",{fill:"currentColor",d:"M4 4v9h2V6h7V4H4zm15 0v2h7v7h2V4h-9zM4 19v9h9v-2H6v-7H4zm22 0v7h-7v2h9v-9h-2z"},null,-1),kE=[ME];function OE(n,e){return K(),ee("svg",NE,[...kE])}const IE={name:"la-expand",render:OE},RE={__name:"fullscreen",props:["el"],setup(n){const e=n,t=Oe();bs(()=>{Hi(()=>{e.el?t.value=e.el:t.value=document.getElementById("screen"),s.value=Dh(t.value)})});const s=Oe();function i(){s.value||(s.value=Dh(t.value)),s.value.toggle()}const r=fe(()=>{var o;return(o=s.value)==null?void 0:o.isSupported});return(o,a)=>{const c=IE;return At((K(),ee("button",{class:"button",onClick:a[0]||(a[0]=l=>i())},[xe(c)],512)),[[$o,b(r)]])}}};const DE=n=>(Ca("data-v-9f417c45"),n=n(),Aa(),n),PE={class:"flex gap-4 absolute flex-col right-2 bottom-2 top-20 text-xl items-center opacity-40 hover_opacity-100 transition justify-between items-center"},$E={class:"flex-0 flex flex-col gap-1"},FE=DE(()=>V("div",{class:"flex-auto"},null,-1)),VE={class:"flex-0 flex flex-col items-center gap-2"},LE={__name:"overlay",setup(n){const e=[-2,-1,0,1,2],t=["+0","@4n","@8n","@16n","@32n"],{synthReleaseAll:s}=zp();function i(){let o=e.findIndex(a=>a==Me.octave);Me.octave=e[++o%e.length]}function r(){let o=t.findIndex(a=>a==Me.quantize);Me.quantize=t[++o%t.length]}return(o,a)=>{const c=RE,l=AE,u=gE,h=AT,d=oT,f=sT,p=rf("tooltip");return K(),ee("div",PE,[V("div",$E,[At(xe(c,null,null,512),[[p,"Toggle fullscreen mode",void 0,{left:!0}]]),At(xe(l,null,null,512),[[p,"Toggle dark mode",void 0,{left:!0}]]),At(xe(u,null,null,512),[[p,"MIDI state",void 0,{left:!0}]])]),FE,V("div",VE,[At(xe(h,null,null,512),[[p,"Synth oscillator type",void 0,{left:!0}]]),At((K(),ee("button",{class:"button w-16 font-bold select-none",onClick:a[0]||(a[0]=m=>i()),"aria-label":"Octave offset"},[vr(Ke(b(Me).octave>0?"+":"")+Ke(b(Me).octave),1)])),[[p,"Octave offset",void 0,{left:!0}]]),At((K(),ee("button",{class:"button font-bold text-sm w-16 select-none",onClick:r,"aria-label":"Synth quantize"},[vr(Ke(b(Me).quantize),1)])),[[p,"Synth quantize",void 0,{left:!0}]]),At(xe(d,null,null,512),[[p,"Increment tempo",void 0,{left:!0}]]),At((K(),ee("button",{class:"button w-16",onClick:a[1]||(a[1]=m=>b(s)("+1n"))},[xe(f)])),[[p,"Turn off all synth voices",void 0,{left:!0}]])])])}}},BE=Ya(LE,[["__scopeId","data-v-9f417c45"]]),qE=.5*(Math.sqrt(3)-1),tr=(3-Math.sqrt(3))/6,Lh=n=>Math.floor(n)|0,Bh=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]);function Gp(n=Math.random){const e=UE(n),t=new Float64Array(e).map(i=>Bh[i%12*2]),s=new Float64Array(e).map(i=>Bh[i%12*2+1]);return function(r,o){let a=0,c=0,l=0;const u=(r+o)*qE,h=Lh(r+u),d=Lh(o+u),f=(h+d)*tr,p=h-f,m=d-f,_=r-p,g=o-m;let y,S;_>g?(y=1,S=0):(y=0,S=1);const w=_-y+tr,v=g-S+tr,A=_-1+2*tr,N=g-1+2*tr,T=h&255,R=d&255;let O=.5-_*_-g*g;if(O>=0){const F=T+e[R],z=t[F],ne=s[F];O*=O,a=O*O*(z*_+ne*g)}let P=.5-w*w-v*v;if(P>=0){const F=T+y+e[R+S],z=t[F],ne=s[F];P*=P,c=P*P*(z*w+ne*v)}let M=.5-A*A-N*N;if(M>=0){const F=T+1+e[R+1],z=t[F],ne=s[F];M*=M,l=M*M*(z*A+ne*N)}return 70*(a+c+l)}}function UE(n){const t=new Uint8Array(512);for(let s=0;s<512/2;s++)t[s]=s;for(let s=0;s<512/2-1;s++){const i=s+~~(n()*(256-s)),r=t[s];t[s]=t[i],t[i]=r}for(let s=256;s<512;s++)t[s]=t[s-256];return t}var ge=globalThis&&globalThis.__classPrivateFieldSet||function(n,e,t){if(!e.has(n))throw new TypeError("attempted to set private field on non-instance");return e.set(n,t),t},se=globalThis&&globalThis.__classPrivateFieldGet||function(n,e){if(!e.has(n))throw new TypeError("attempted to get private field on non-instance");return e.get(n)},is,Ms,Yt,fi,or,dn,fn,pn,mn,gn,_n,yn,vn,ks,pi,rs,Ao,os;const jE=function(n){var e=131,t=137,s=0;n+="x";var i=Math.floor(9007199254740991/t);for(let r=0;ri&&(s=Math.floor(s/t)),s=s*e+n.charCodeAt(r);return s},re="0123456789abcdef".split(""),WE=[-2147483648,8388608,32768,128],Kt=[24,16,8,0],vo=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],lt=[];class zE{constructor(e=!1,t=!1){is.set(this,void 0),Ms.set(this,void 0),Yt.set(this,void 0),fi.set(this,void 0),or.set(this,void 0),dn.set(this,void 0),fn.set(this,void 0),pn.set(this,void 0),mn.set(this,void 0),gn.set(this,void 0),_n.set(this,void 0),yn.set(this,void 0),vn.set(this,void 0),ks.set(this,void 0),pi.set(this,void 0),rs.set(this,void 0),Ao.set(this,0),os.set(this,void 0),this.init(e,t)}init(e,t){t?(lt[0]=lt[16]=lt[1]=lt[2]=lt[3]=lt[4]=lt[5]=lt[6]=lt[7]=lt[8]=lt[9]=lt[10]=lt[11]=lt[12]=lt[13]=lt[14]=lt[15]=0,ge(this,Ms,lt)):ge(this,Ms,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e?(ge(this,dn,3238371032),ge(this,fn,914150663),ge(this,pn,812702999),ge(this,mn,4144912697),ge(this,gn,4290775857),ge(this,_n,1750603025),ge(this,yn,1694076839),ge(this,vn,3204075428)):(ge(this,dn,1779033703),ge(this,fn,3144134277),ge(this,pn,1013904242),ge(this,mn,2773480762),ge(this,gn,1359893119),ge(this,_n,2600822924),ge(this,yn,528734635),ge(this,vn,1541459225)),ge(this,is,ge(this,os,ge(this,Yt,ge(this,pi,0)))),ge(this,fi,ge(this,ks,!1)),ge(this,or,!0),ge(this,rs,e)}update(e){if(se(this,fi))return this;let t;e instanceof ArrayBuffer?t=new Uint8Array(e):t=e;let s=0;const i=t.length,r=se(this,Ms);for(;s>2]|=t[s]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|a&63)<=57344?(r[o>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<=64?(ge(this,is,r[16]),ge(this,os,o-64),this.hash(),ge(this,ks,!0)):ge(this,os,o)}return se(this,Yt)>4294967295&&(ge(this,pi,se(this,pi)+(se(this,Yt)/4294967296<<0)),ge(this,Yt,se(this,Yt)%4294967296)),this}finalize(){if(se(this,fi))return;ge(this,fi,!0);const e=se(this,Ms),t=se(this,Ao);e[16]=se(this,is),e[t>>2]|=WE[t&3],ge(this,is,e[16]),t>=56&&(se(this,ks)||this.hash(),e[0]=se(this,is),e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=se(this,pi)<<3|se(this,Yt)>>>29,e[15]=se(this,Yt)<<3,this.hash()}hash(){let e=se(this,dn),t=se(this,fn),s=se(this,pn),i=se(this,mn),r=se(this,gn),o=se(this,_n),a=se(this,yn),c=se(this,vn);const l=se(this,Ms);let u,h,d,f,p,m,_,g,y,S;for(let w=16;w<64;++w)f=l[w-15],u=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,f=l[w-2],h=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,l[w]=l[w-16]+u+l[w-7]+h<<0;S=t&s;for(let w=0;w<64;w+=4)se(this,or)?(se(this,rs)?(_=300032,f=l[0]-1413257819,c=f-150054599<<0,i=f+24177077<<0):(_=704751109,f=l[0]-210244248,c=f-1521486534<<0,i=f+143694565<<0),ge(this,or,!1)):(u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),h=(r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7),_=e&t,d=_^e&s^S,m=r&o^~r&a,f=c+h+m+vo[w]+l[w],p=u+d,c=i+f<<0,i=f+p<<0),u=(i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10),h=(c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7),g=i&e,d=g^i&t^_,m=c&r^~c&o,f=a+h+m+vo[w+1]+l[w+1],p=u+d,a=s+f<<0,s=f+p<<0,u=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),h=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),y=s&i,d=y^s&e^g,m=a&c^~a&r,f=o+h+m+vo[w+2]+l[w+2],p=u+d,o=t+f<<0,t=f+p<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),h=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),S=t&s,d=S^t&i^y,m=o&a^~o&c,f=r+h+m+vo[w+3]+l[w+3],p=u+d,r=e+f<<0,e=f+p<<0;ge(this,dn,se(this,dn)+e<<0),ge(this,fn,se(this,fn)+t<<0),ge(this,pn,se(this,pn)+s<<0),ge(this,mn,se(this,mn)+i<<0),ge(this,gn,se(this,gn)+r<<0),ge(this,_n,se(this,_n)+o<<0),ge(this,yn,se(this,yn)+a<<0),ge(this,vn,se(this,vn)+c<<0)}hex(){this.finalize();const e=se(this,dn),t=se(this,fn),s=se(this,pn),i=se(this,mn),r=se(this,gn),o=se(this,_n),a=se(this,yn),c=se(this,vn);let l=re[e>>28&15]+re[e>>24&15]+re[e>>20&15]+re[e>>16&15]+re[e>>12&15]+re[e>>8&15]+re[e>>4&15]+re[e&15]+re[t>>28&15]+re[t>>24&15]+re[t>>20&15]+re[t>>16&15]+re[t>>12&15]+re[t>>8&15]+re[t>>4&15]+re[t&15]+re[s>>28&15]+re[s>>24&15]+re[s>>20&15]+re[s>>16&15]+re[s>>12&15]+re[s>>8&15]+re[s>>4&15]+re[s&15]+re[i>>28&15]+re[i>>24&15]+re[i>>20&15]+re[i>>16&15]+re[i>>12&15]+re[i>>8&15]+re[i>>4&15]+re[i&15]+re[r>>28&15]+re[r>>24&15]+re[r>>20&15]+re[r>>16&15]+re[r>>12&15]+re[r>>8&15]+re[r>>4&15]+re[r&15]+re[o>>28&15]+re[o>>24&15]+re[o>>20&15]+re[o>>16&15]+re[o>>12&15]+re[o>>8&15]+re[o>>4&15]+re[o&15]+re[a>>28&15]+re[a>>24&15]+re[a>>20&15]+re[a>>16&15]+re[a>>12&15]+re[a>>8&15]+re[a>>4&15]+re[a&15];return se(this,rs)||(l+=re[c>>28&15]+re[c>>24&15]+re[c>>20&15]+re[c>>16&15]+re[c>>12&15]+re[c>>8&15]+re[c>>4&15]+re[c&15]),l}toString(){return this.hex()}digest(){this.finalize();const e=se(this,dn),t=se(this,fn),s=se(this,pn),i=se(this,mn),r=se(this,gn),o=se(this,_n),a=se(this,yn),c=se(this,vn),l=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,s>>24&255,s>>16&255,s>>8&255,s&255,i>>24&255,i>>16&255,i>>8&255,i&255,r>>24&255,r>>16&255,r>>8&255,r&255,o>>24&255,o>>16&255,o>>8&255,o&255,a>>24&255,a>>16&255,a>>8&255,a&255];return se(this,rs)||l.push(c>>24&255,c>>16&255,c>>8&255,c&255),l}array(){return this.digest()}arrayBuffer(){this.finalize();const e=new ArrayBuffer(se(this,rs)?28:32),t=new DataView(e);return t.setUint32(0,se(this,dn)),t.setUint32(4,se(this,fn)),t.setUint32(8,se(this,pn)),t.setUint32(12,se(this,mn)),t.setUint32(16,se(this,gn)),t.setUint32(20,se(this,_n)),t.setUint32(24,se(this,yn)),se(this,rs)||t.setUint32(28,se(this,vn)),e}}is=new WeakMap,Ms=new WeakMap,Yt=new WeakMap,fi=new WeakMap,or=new WeakMap,dn=new WeakMap,fn=new WeakMap,pn=new WeakMap,mn=new WeakMap,gn=new WeakMap,_n=new WeakMap,yn=new WeakMap,vn=new WeakMap,ks=new WeakMap,pi=new WeakMap,rs=new WeakMap,Ao=new WeakMap,os=new WeakMap;function HE(n){const e=new zE;return e.update(n),parseInt(e.hex().substring(0,8),16)}const GE=function(n){var e="#";return n.forEach(function(t){t<16&&(e+=0),e+=t.toString(16)}),e},KE=function(n,e,t){n/=360;var s=t<.5?t*(1+e):t+e-t*e,i=2*t-s;return[n+1/3,n,n-1/3].map(function(r){return r<0&&r++,r>1&&r--,r<1/6?r=i+(s-i)*6*r:r<.5?r=s:r<2/3?r=i+(s-i)*6*(2/3-r):r=i,Math.round(r*255)})};class YE{constructor(e={}){const[t,s]=[e.lightness,e.saturation].map(function(i){return i=i!==void 0?i:[.35,.5,.65],Array.isArray(i)?i.concat():[i]});this.L=t,this.S=s,typeof e.hue=="number"&&(e.hue={min:e.hue,max:e.hue}),typeof e.hue=="object"&&!Array.isArray(e.hue)&&(e.hue=[e.hue]),typeof e.hue>"u"&&(e.hue=[]),this.hueRanges=e.hue.map(function(i){return{min:typeof i.min>"u"?0:i.min,max:typeof i.max>"u"?360:i.max}}),this.hash=HE,typeof e.hash=="function"&&(this.hash=e.hash),e.hash==="bkdr"&&(this.hash=jE)}hsl(e){var t,s,i,r=this.hash(e),o=727;if(this.hueRanges.length){const a=this.hueRanges[r%this.hueRanges.length];t=r/this.hueRanges.length%o*(a.max-a.min)/o+a.min}else t=r%359;return r=Math.ceil(r/360),s=this.S[r%this.S.length],r=Math.ceil(r/this.S.length),i=this.L[r%this.L.length],[t,s,i]}rgb(e){var t=this.hsl(e);return KE.apply(this,t)}hex(e){var t=this.rgb(e);return GE(t)}}const ZE="modulepreload",XE=function(n){return"/"+n},qh={},oi=function(e,t,s){if(!t||t.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(t.map(r=>{if(r=XE(r),r in qh)return;qh[r]=!0;const o=r.endsWith(".css"),a=o?'[rel="stylesheet"]':"";if(!!s)for(let u=i.length-1;u>=0;u--){const h=i[u];if(h.href===r&&(!o||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${a}`))return;const l=document.createElement("link");if(l.rel=o?"stylesheet":ZE,o||(l.as="script",l.crossOrigin=""),l.href=r,document.head.appendChild(l),o)return new Promise((u,h)=>{l.addEventListener("load",u),l.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>e()).catch(r=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=r,window.dispatchEvent(o),!o.defaultPrevented)throw r})},QE=()=>oi(()=>Promise.resolve().then(()=>UA),void 0),JE=()=>oi(()=>Promise.resolve().then(()=>YA),void 0),eS=()=>oi(()=>Promise.resolve().then(()=>tN),void 0),tS=()=>oi(()=>Promise.resolve().then(()=>hN),void 0),nS=()=>oi(()=>Promise.resolve().then(()=>wN),void 0),sS=()=>oi(()=>Promise.resolve().then(()=>NN),void 0),iS=()=>oi(()=>Promise.resolve().then(()=>PN),void 0),Yc=[{name:"stats",path:"/stats",component:QE,props:!0},{name:"spiral",path:"/spiral",component:JE,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"rose",path:"/rose",component:eS,props:!0},{name:"level",path:"/level",component:tS,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"index",path:"/",component:nS,props:!0,title:"Floating",subtitle:"by Chromatone"},{name:"donut",path:"/donut",component:sS,props:!0},{name:"cross",path:"/cross",component:iS,props:!0}],Uh=Oe(),rS=St("active-scene","Rose");function Ts(){const{width:n,height:e}=Cx(Uh);return{visual:Uh,width:n,height:e,activeScene:rS}}/*! - * vue-router v4.2.5 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */const mi=typeof window<"u";function oS(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const $e=Object.assign;function vc(n,e){const t={};for(const s in e){const i=e[s];t[s]=an(i)?i.map(n):n(i)}return t}const ur=()=>{},an=Array.isArray,aS=/\/$/,cS=n=>n.replace(aS,"");function bc(n,e,t="/"){let s,i={},r="",o="";const a=e.indexOf("#");let c=e.indexOf("?");return a=0&&(c=-1),c>-1&&(s=e.slice(0,c),r=e.slice(c+1,a>-1?a:e.length),i=n(r)),a>-1&&(s=s||e.slice(0,a),o=e.slice(a,e.length)),s=dS(s??e,t),{fullPath:s+(r&&"?")+r+o,path:s,query:i,hash:o}}function lS(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function jh(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function uS(n,e,t){const s=e.matched.length-1,i=t.matched.length-1;return s>-1&&s===i&&Vi(e.matched[s],t.matched[i])&&Kp(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function Vi(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function Kp(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const t in n)if(!hS(n[t],e[t]))return!1;return!0}function hS(n,e){return an(n)?Wh(n,e):an(e)?Wh(e,n):n===e}function Wh(n,e){return an(e)?n.length===e.length&&n.every((t,s)=>t===e[s]):n.length===1&&n[0]===e}function dS(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),s=n.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let r=t.length-1,o,a;for(o=0;o1&&r--;else break;return t.slice(0,r).join("/")+"/"+s.slice(o-(o===s.length?1:0)).join("/")}var qr;(function(n){n.pop="pop",n.push="push"})(qr||(qr={}));var hr;(function(n){n.back="back",n.forward="forward",n.unknown=""})(hr||(hr={}));function fS(n){if(!n)if(mi){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),cS(n)}const pS=/^[^#]+#/;function mS(n,e){return n.replace(pS,"#")+e}function gS(n,e){const t=document.documentElement.getBoundingClientRect(),s=n.getBoundingClientRect();return{behavior:e.behavior,left:s.left-t.left-(e.left||0),top:s.top-t.top-(e.top||0)}}const Za=()=>({left:window.pageXOffset,top:window.pageYOffset});function _S(n){let e;if("el"in n){const t=n.el,s=typeof t=="string"&&t.startsWith("#"),i=typeof t=="string"?s?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!i)return;e=gS(i,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function zh(n,e){return(history.state?history.state.position-e:-1)+n}const Zc=new Map;function yS(n,e){Zc.set(n,e)}function vS(n){const e=Zc.get(n);return Zc.delete(n),e}let bS=()=>location.protocol+"//"+location.host;function Yp(n,e){const{pathname:t,search:s,hash:i}=e,r=n.indexOf("#");if(r>-1){let a=i.includes(n.slice(r))?n.slice(r).length:1,c=i.slice(a);return c[0]!=="/"&&(c="/"+c),jh(c,"")}return jh(t,n)+s+i}function wS(n,e,t,s){let i=[],r=[],o=null;const a=({state:d})=>{const f=Yp(n,location),p=t.value,m=e.value;let _=0;if(d){if(t.value=f,e.value=d,o&&o===p){o=null;return}_=m?d.position-m.position:0}else s(f);i.forEach(g=>{g(t.value,p,{delta:_,type:qr.pop,direction:_?_>0?hr.forward:hr.back:hr.unknown})})};function c(){o=t.value}function l(d){i.push(d);const f=()=>{const p=i.indexOf(d);p>-1&&i.splice(p,1)};return r.push(f),f}function u(){const{history:d}=window;d.state&&d.replaceState($e({},d.state,{scroll:Za()}),"")}function h(){for(const d of r)d();r=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:h}}function Hh(n,e,t,s=!1,i=!1){return{back:n,current:e,forward:t,replaced:s,position:window.history.length,scroll:i?Za():null}}function xS(n){const{history:e,location:t}=window,s={value:Yp(n,t)},i={value:e.state};i.value||r(s.value,{back:null,current:s.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function r(c,l,u){const h=n.indexOf("#"),d=h>-1?(t.host&&document.querySelector("base")?n:n.slice(h))+c:bS()+n+c;try{e[u?"replaceState":"pushState"](l,"",d),i.value=l}catch(f){console.error(f),t[u?"replace":"assign"](d)}}function o(c,l){const u=$e({},e.state,Hh(i.value.back,c,i.value.forward,!0),l,{position:i.value.position});r(c,u,!0),s.value=c}function a(c,l){const u=$e({},i.value,e.state,{forward:c,scroll:Za()});r(u.current,u,!0);const h=$e({},Hh(s.value,c,null),{position:u.position+1},l);r(c,h,!1),s.value=c}return{location:s,state:i,push:a,replace:o}}function TS(n){n=fS(n);const e=xS(n),t=wS(n,e.state,e.location,e.replace);function s(r,o=!0){o||t.pauseListeners(),history.go(r)}const i=$e({location:"",base:n,go:s,createHref:mS.bind(null,n)},e,t);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function ES(n){return n=location.host?n||location.pathname+location.search:"",n.includes("#")||(n+="#"),TS(n)}function SS(n){return typeof n=="string"||n&&typeof n=="object"}function Zp(n){return typeof n=="string"||typeof n=="symbol"}const ns={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Xp=Symbol("");var Gh;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(Gh||(Gh={}));function Li(n,e){return $e(new Error,{type:n,[Xp]:!0},e)}function In(n,e){return n instanceof Error&&Xp in n&&(e==null||!!(n.type&e))}const Kh="[^/]+?",CS={sensitive:!1,strict:!1,start:!0,end:!0},AS=/[.+*?^${}()[\]/\\]/g;function NS(n,e){const t=$e({},CS,e),s=[];let i=t.start?"^":"";const r=[];for(const l of n){const u=l.length?[]:[90];t.strict&&!l.length&&(i+="/");for(let h=0;he.length?e.length===1&&e[0]===40+40?1:-1:0}function kS(n,e){let t=0;const s=n.score,i=e.score;for(;t0&&e[e.length-1]<0}const OS={type:0,value:""},IS=/[a-zA-Z0-9_]/;function RS(n){if(!n)return[[]];if(n==="/")return[[OS]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(f){throw new Error(`ERR (${t})/"${l}": ${f}`)}let t=0,s=t;const i=[];let r;function o(){r&&i.push(r),r=[]}let a=0,c,l="",u="";function h(){l&&(t===0?r.push({type:0,value:l}):t===1||t===2||t===3?(r.length>1&&(c==="*"||c==="+")&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):e("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{o(y)}:ur}function o(u){if(Zp(u)){const h=s.get(u);h&&(s.delete(u),t.splice(t.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=t.indexOf(u);h>-1&&(t.splice(h,1),u.record.name&&s.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return t}function c(u){let h=0;for(;h=0&&(u.record.path!==t[h].record.path||!Qp(u,t[h]));)h++;t.splice(h,0,u),u.record.name&&!Xh(u)&&s.set(u.record.name,u)}function l(u,h){let d,f={},p,m;if("name"in u&&u.name){if(d=s.get(u.name),!d)throw Li(1,{location:u});m=d.record.name,f=$e(Zh(h.params,d.keys.filter(y=>!y.optional).map(y=>y.name)),u.params&&Zh(u.params,d.keys.map(y=>y.name))),p=d.stringify(f)}else if("path"in u)p=u.path,d=t.find(y=>y.re.test(p)),d&&(f=d.parse(p),m=d.record.name);else{if(d=h.name?s.get(h.name):t.find(y=>y.re.test(h.path)),!d)throw Li(1,{location:u,currentLocation:h});m=d.record.name,f=$e({},h.params,u.params),p=d.stringify(f)}const _=[];let g=d;for(;g;)_.unshift(g.record),g=g.parent;return{name:m,path:p,params:f,matched:_,meta:VS(_)}}return n.forEach(u=>r(u)),{addRoute:r,resolve:l,removeRoute:o,getRoutes:a,getRecordMatcher:i}}function Zh(n,e){const t={};for(const s of e)s in n&&(t[s]=n[s]);return t}function $S(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:FS(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function FS(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const s in n.components)e[s]=typeof t=="object"?t[s]:t;return e}function Xh(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function VS(n){return n.reduce((e,t)=>$e(e,t.meta),{})}function Qh(n,e){const t={};for(const s in n)t[s]=s in e?e[s]:n[s];return t}function Qp(n,e){return e.children.some(t=>t===n||Qp(n,t))}const Jp=/#/g,LS=/&/g,BS=/\//g,qS=/=/g,US=/\?/g,em=/\+/g,jS=/%5B/g,WS=/%5D/g,tm=/%5E/g,zS=/%60/g,nm=/%7B/g,HS=/%7C/g,sm=/%7D/g,GS=/%20/g;function cu(n){return encodeURI(""+n).replace(HS,"|").replace(jS,"[").replace(WS,"]")}function KS(n){return cu(n).replace(nm,"{").replace(sm,"}").replace(tm,"^")}function Xc(n){return cu(n).replace(em,"%2B").replace(GS,"+").replace(Jp,"%23").replace(LS,"%26").replace(zS,"`").replace(nm,"{").replace(sm,"}").replace(tm,"^")}function YS(n){return Xc(n).replace(qS,"%3D")}function ZS(n){return cu(n).replace(Jp,"%23").replace(US,"%3F")}function XS(n){return n==null?"":ZS(n).replace(BS,"%2F")}function da(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function QS(n){const e={};if(n===""||n==="?")return e;const s=(n[0]==="?"?n.slice(1):n).split("&");for(let i=0;ir&&Xc(r)):[s&&Xc(s)]).forEach(r=>{r!==void 0&&(e+=(e.length?"&":"")+t,r!=null&&(e+="="+r))})}return e}function JS(n){const e={};for(const t in n){const s=n[t];s!==void 0&&(e[t]=an(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return e}const eC=Symbol(""),ed=Symbol(""),Xa=Symbol(""),lu=Symbol(""),Qc=Symbol("");function nr(){let n=[];function e(s){return n.push(s),()=>{const i=n.indexOf(s);i>-1&&n.splice(i,1)}}function t(){n=[]}return{add:e,list:()=>n.slice(),reset:t}}function us(n,e,t,s,i){const r=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((o,a)=>{const c=h=>{h===!1?a(Li(4,{from:t,to:e})):h instanceof Error?a(h):SS(h)?a(Li(2,{from:e,to:h})):(r&&s.enterCallbacks[i]===r&&typeof h=="function"&&r.push(h),o())},l=n.call(s&&s.instances[i],e,t,c);let u=Promise.resolve(l);n.length<3&&(u=u.then(c)),u.catch(h=>a(h))})}function wc(n,e,t,s){const i=[];for(const r of n)for(const o in r.components){let a=r.components[o];if(!(e!=="beforeRouteEnter"&&!r.instances[o]))if(tC(a)){const l=(a.__vccOpts||a)[e];l&&i.push(us(l,t,s,r,o))}else{let c=a();i.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${r.path}"`));const u=oS(l)?l.default:l;r.components[o]=u;const d=(u.__vccOpts||u)[e];return d&&us(d,t,s,r,o)()}))}}return i}function tC(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function td(n){const e=sn(Xa),t=sn(lu),s=fe(()=>e.resolve(b(n.to))),i=fe(()=>{const{matched:c}=s.value,{length:l}=c,u=c[l-1],h=t.matched;if(!u||!h.length)return-1;const d=h.findIndex(Vi.bind(null,u));if(d>-1)return d;const f=nd(c[l-2]);return l>1&&nd(u)===f&&h[h.length-1].path!==f?h.findIndex(Vi.bind(null,c[l-2])):d}),r=fe(()=>i.value>-1&&rC(t.params,s.value.params)),o=fe(()=>i.value>-1&&i.value===t.matched.length-1&&Kp(t.params,s.value.params));function a(c={}){return iC(c)?e[b(n.replace)?"replace":"push"](b(n.to)).catch(ur):Promise.resolve()}return{route:s,href:fe(()=>s.value.href),isActive:r,isExactActive:o,navigate:a}}const nC=Gn({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:td,setup(n,{slots:e}){const t=Vt(td(n)),{options:s}=sn(Xa),i=fe(()=>({[sd(n.activeClass,s.linkActiveClass,"router-link-active")]:t.isActive,[sd(n.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const r=e.default&&e.default(t);return n.custom?r:Da("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:i.value},r)}}}),sC=nC;function iC(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function rC(n,e){for(const t in e){const s=e[t],i=n[t];if(typeof s=="string"){if(s!==i)return!1}else if(!an(i)||i.length!==s.length||s.some((r,o)=>r!==i[o]))return!1}return!0}function nd(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const sd=(n,e,t)=>n??e??t,oC=Gn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const s=sn(Qc),i=fe(()=>n.route||s.value),r=sn(ed,0),o=fe(()=>{let l=b(r);const{matched:u}=i.value;let h;for(;(h=u[l])&&!h.components;)l++;return l}),a=fe(()=>i.value.matched[o.value]);wo(ed,fe(()=>o.value+1)),wo(eC,a),wo(Qc,i);const c=Oe();return yt(()=>[c.value,a.value,n.name],([l,u,h],[d,f,p])=>{u&&(u.instances[h]=l,f&&f!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),l&&u&&(!f||!Vi(u,f)||!d)&&(u.enterCallbacks[h]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=i.value,u=n.name,h=a.value,d=h&&h.components[u];if(!d)return id(t.default,{Component:d,route:l});const f=h.props[u],p=f?f===!0?l.params:typeof f=="function"?f(l):f:null,_=Da(d,$e({},p,e,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(h.instances[u]=null)},ref:c}));return id(t.default,{Component:_,route:l})||_}}});function id(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const aC=oC;function cC(n){const e=PS(n.routes,n),t=n.parseQuery||QS,s=n.stringifyQuery||Jh,i=n.history,r=nr(),o=nr(),a=nr(),c=qd(ns);let l=ns;mi&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=vc.bind(null,$=>""+$),h=vc.bind(null,XS),d=vc.bind(null,da);function f($,L){let Q,oe;return Zp($)?(Q=e.getRecordMatcher($),oe=L):oe=$,e.addRoute(oe,Q)}function p($){const L=e.getRecordMatcher($);L&&e.removeRoute(L)}function m(){return e.getRoutes().map($=>$.record)}function _($){return!!e.getRecordMatcher($)}function g($,L){if(L=$e({},L||c.value),typeof $=="string"){const k=bc(t,$,L.path),C=e.resolve({path:k.path},L),I=i.createHref(k.fullPath);return $e(k,C,{params:d(C.params),hash:da(k.hash),redirectedFrom:void 0,href:I})}let Q;if("path"in $)Q=$e({},$,{path:bc(t,$.path,L.path).path});else{const k=$e({},$.params);for(const C in k)k[C]==null&&delete k[C];Q=$e({},$,{params:h(k)}),L.params=h(L.params)}const oe=e.resolve(Q,L),Se=$.hash||"";oe.params=u(d(oe.params));const x=lS(s,$e({},$,{hash:KS(Se),path:oe.path})),E=i.createHref(x);return $e({fullPath:x,hash:Se,query:s===Jh?JS($.query):$.query||{}},oe,{redirectedFrom:void 0,href:E})}function y($){return typeof $=="string"?bc(t,$,c.value.path):$e({},$)}function S($,L){if(l!==$)return Li(8,{from:L,to:$})}function w($){return N($)}function v($){return w($e(y($),{replace:!0}))}function A($){const L=$.matched[$.matched.length-1];if(L&&L.redirect){const{redirect:Q}=L;let oe=typeof Q=="function"?Q($):Q;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=y(oe):{path:oe},oe.params={}),$e({query:$.query,hash:$.hash,params:"path"in oe?{}:$.params},oe)}}function N($,L){const Q=l=g($),oe=c.value,Se=$.state,x=$.force,E=$.replace===!0,k=A(Q);if(k)return N($e(y(k),{state:typeof k=="object"?$e({},Se,k.state):Se,force:x,replace:E}),L||Q);const C=Q;C.redirectedFrom=L;let I;return!x&&uS(s,oe,Q)&&(I=Li(16,{to:C,from:oe}),ue(oe,oe,!0,!1)),(I?Promise.resolve(I):O(C,oe)).catch(B=>In(B)?In(B,2)?B:me(B):te(B,C,oe)).then(B=>{if(B){if(In(B,2))return N($e({replace:E},y(B.to),{state:typeof B.to=="object"?$e({},Se,B.to.state):Se,force:x}),L||C)}else B=M(C,oe,!0,E,Se);return P(C,oe,B),B})}function T($,L){const Q=S($,L);return Q?Promise.reject(Q):Promise.resolve()}function R($){const L=it.values().next().value;return L&&typeof L.runWithContext=="function"?L.runWithContext($):$()}function O($,L){let Q;const[oe,Se,x]=lC($,L);Q=wc(oe.reverse(),"beforeRouteLeave",$,L);for(const k of oe)k.leaveGuards.forEach(C=>{Q.push(us(C,$,L))});const E=T.bind(null,$,L);return Q.push(E),we(Q).then(()=>{Q=[];for(const k of r.list())Q.push(us(k,$,L));return Q.push(E),we(Q)}).then(()=>{Q=wc(Se,"beforeRouteUpdate",$,L);for(const k of Se)k.updateGuards.forEach(C=>{Q.push(us(C,$,L))});return Q.push(E),we(Q)}).then(()=>{Q=[];for(const k of x)if(k.beforeEnter)if(an(k.beforeEnter))for(const C of k.beforeEnter)Q.push(us(C,$,L));else Q.push(us(k.beforeEnter,$,L));return Q.push(E),we(Q)}).then(()=>($.matched.forEach(k=>k.enterCallbacks={}),Q=wc(x,"beforeRouteEnter",$,L),Q.push(E),we(Q))).then(()=>{Q=[];for(const k of o.list())Q.push(us(k,$,L));return Q.push(E),we(Q)}).catch(k=>In(k,8)?k:Promise.reject(k))}function P($,L,Q){a.list().forEach(oe=>R(()=>oe($,L,Q)))}function M($,L,Q,oe,Se){const x=S($,L);if(x)return x;const E=L===ns,k=mi?history.state:{};Q&&(oe||E?i.replace($.fullPath,$e({scroll:E&&k&&k.scroll},Se)):i.push($.fullPath,Se)),c.value=$,ue($,L,Q,E),me()}let F;function z(){F||(F=i.listen(($,L,Q)=>{if(!be.listening)return;const oe=g($),Se=A(oe);if(Se){N($e(Se,{replace:!0}),oe).catch(ur);return}l=oe;const x=c.value;mi&&yS(zh(x.fullPath,Q.delta),Za()),O(oe,x).catch(E=>In(E,12)?E:In(E,2)?(N(E.to,oe).then(k=>{In(k,20)&&!Q.delta&&Q.type===qr.pop&&i.go(-1,!1)}).catch(ur),Promise.reject()):(Q.delta&&i.go(-Q.delta,!1),te(E,oe,x))).then(E=>{E=E||M(oe,x,!1),E&&(Q.delta&&!In(E,8)?i.go(-Q.delta,!1):Q.type===qr.pop&&In(E,20)&&i.go(-1,!1)),P(oe,x,E)}).catch(ur)}))}let ne=nr(),X=nr(),Z;function te($,L,Q){me($);const oe=X.list();return oe.length?oe.forEach(Se=>Se($,L,Q)):console.error($),Promise.reject($)}function ce(){return Z&&c.value!==ns?Promise.resolve():new Promise(($,L)=>{ne.add([$,L])})}function me($){return Z||(Z=!$,z(),ne.list().forEach(([L,Q])=>$?Q($):L()),ne.reset()),$}function ue($,L,Q,oe){const{scrollBehavior:Se}=n;if(!mi||!Se)return Promise.resolve();const x=!Q&&vS(zh($.fullPath,0))||(oe||!Q)&&history.state&&history.state.scroll||null;return Hi().then(()=>Se($,L,x)).then(E=>E&&_S(E)).catch(E=>te(E,$,L))}const ye=$=>i.go($);let st;const it=new Set,be={currentRoute:c,listening:!0,addRoute:f,removeRoute:p,hasRoute:_,getRoutes:m,resolve:g,options:n,push:w,replace:v,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:r.add,beforeResolve:o.add,afterEach:a.add,onError:X.add,isReady:ce,install($){const L=this;$.component("RouterLink",sC),$.component("RouterView",aC),$.config.globalProperties.$router=L,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>b(c)}),mi&&!st&&c.value===ns&&(st=!0,w(i.location).catch(Se=>{}));const Q={};for(const Se in ns)Object.defineProperty(Q,Se,{get:()=>c.value[Se],enumerable:!0});$.provide(Xa,L),$.provide(lu,Vd(Q)),$.provide(Qc,c);const oe=$.unmount;it.add($),$.unmount=function(){it.delete($),it.size<1&&(l=ns,F&&F(),F=null,c.value=ns,st=!1,Z=!1),oe()}}};function we($){return $.reduce((L,Q)=>L.then(()=>R(Q)),Promise.resolve())}return be}function lC(n,e){const t=[],s=[],i=[],r=Math.max(e.matched.length,n.matched.length);for(let o=0;oVi(l,a))?s.push(a):t.push(a));const c=n.matched[o];c&&(e.matched.find(l=>Vi(l,c))||i.push(c))}return[t,s,i]}function uC(){return sn(Xa)}function hC(){return sn(lu)}const dC={class:"flex flex-col h-100vh w-full"},fC={key:0,class:"absolute bottom-20 text-center flex flex-col items-center w-full"},pC={class:"text-sm"},mC={class:"h-full w-full"},gC=["viewBox"],_C=V("defs",null,[V("filter",{id:"noiseFilter"},[V("feTurbulence",{type:"fractalNoise",basefrequency:"6.29",numoctaves:"6",stitchtiles:"stitch"})])],-1),yC=["width","height"],vC={class:"absolute left-0 top-10 flex flex-col gap-2 m-2 opacity-20 hover_opacity-100 transition"},bC={__name:"app",setup(n){const{midi:e}=ii(),t=hC(),s=uC(),i=Oe(0),r=Gp(),o=Oe();ou(()=>{i.value++,o.value=r(1,i.value/2e3)});const a=new YE({saturation:[.05,.28,.62],lightness:[.75,.87,.9]}),c=fe(()=>a.hex(Math.random()*1e5+"a")),l=fe(()=>a.hex(Math.random()*1e5+"b"));fe(()=>`linear-gradient(${o.value*360}deg, ${c.value}, ${l.value})`);const{visual:u,width:h,height:d}=Ts(),f=Oe(!1);yt(()=>e.total.hits,m=>{m==0&&s.push(p())}),iu([" ","Enter"],()=>{ri(),s.push(p())});function p(){let m,_,g,y;for(let S=0;S<20&&(m=Math.random(),_=Object.values(Yc),g=m*_.length,y=_[Math.floor(g)].path,!!t.path.includes(y));S++);return f.value=!0,y}return bs(()=>{Ax()}),(m,_)=>{const g=BE,y=Qx,S=Ks("router-view"),w=G0,v=U0,A=$0,N=O0,T=C0,R=w0,O=g0,P=Ks("router-link"),M=rf("tooltip");return K(),ee("div",dC,[xe(g),b(f)?ut("",!0):(K(),ee("div",fC,[V("div",pC,"Hold any note more than "+Ke(b(e).maxDuration/1e3)+" seconds or press Enter/Spacebar to randomly change current scene.",1)])),xe(y),V("div",mC,[(K(),ee("svg",{class:"h-full w-full",id:"visual",ref_key:"visual",ref:u,version:"1.1",baseProfile:"full",viewBox:`0 0 ${b(h)} ${b(d)}`,xmlns:"http://www.w3.org/2000/svg"},[_C,V("rect",{filter:"url(#noiseFilter)",fill:"hsl(20,70%,60%)",opacity:"0.1",width:b(h),height:b(d)},null,8,yC),xe(S,null,{default:nn(({Component:F})=>[xe(Pa,{name:"fade",mode:"out-in"},{default:nn(()=>[(K(),et(Bg,null,[(K(),et(Xg(F),{id:"content"}))],1024))]),_:2},1024)]),_:1})],8,gC)),V("div",vC,[(K(!0),ee(Re,null,vt(b(Yc),(F,z)=>At((K(),et(P,{class:vs(["button p-2 cursor-pointer text-3xl",{active:m.$route.path==F.path}]),key:F.path,onClick:_[0]||(_[0]=ne=>f.value=!0),to:F},{default:nn(()=>[F.name=="index"?(K(),et(w,{key:0})):ut("",!0),F.name=="level"?(K(),et(v,{key:1})):ut("",!0),F.name=="rose"?(K(),et(A,{key:2})):ut("",!0),F.name=="cross"?(K(),et(N,{key:3})):ut("",!0),F.name=="donut"?(K(),et(T,{key:4})):ut("",!0),F.name=="stats"?(K(),et(R,{key:5})):ut("",!0),F.name=="spiral"?(K(),et(O,{key:6})):ut("",!0)]),_:2},1032,["to","class"])),[[M,F.name.charAt(0).toUpperCase()+F.name.slice(1)+" scene",void 0,{right:!0}]])),128))])])])}}};function Qn(n){return n.split("-")[0]}function Si(n){return n.split("-")[1]}function no(n){return["top","bottom"].includes(Qn(n))?"x":"y"}function uu(n){return n==="y"?"height":"width"}function rd(n){let{reference:e,floating:t,placement:s}=n;const i=e.x+e.width/2-t.width/2,r=e.y+e.height/2-t.height/2;let o;switch(Qn(s)){case"top":o={x:i,y:e.y-t.height};break;case"bottom":o={x:i,y:e.y+e.height};break;case"right":o={x:e.x+e.width,y:r};break;case"left":o={x:e.x-t.width,y:r};break;default:o={x:e.x,y:e.y}}const a=no(s),c=uu(a);switch(Si(s)){case"start":o[a]=o[a]-(e[c]/2-t[c]/2);break;case"end":o[a]=o[a]+(e[c]/2-t[c]/2);break}return o}const wC=async(n,e,t)=>{const{placement:s="bottom",strategy:i="absolute",middleware:r=[],platform:o}=t;let a=await o.getElementRects({reference:n,floating:e,strategy:i}),{x:c,y:l}=rd({...a,placement:s}),u=s,h={};for(let d=0;d({name:"arrow",options:n,async fn(e){const{element:t,padding:s=0}=n??{},{x:i,y:r,placement:o,rects:a,platform:c}=e;if(t==null)return{};const l=im(s),u={x:i,y:r},h=Qn(o),d=no(h),f=uu(d),p=await c.getDimensions({element:t}),m=d==="y"?"top":"left",_=d==="y"?"bottom":"right",g=a.reference[f]+a.reference[d]-u[d]-a.floating[f],y=u[d]-a.reference[d],S=await c.getOffsetParent({element:t}),w=S?d==="y"?S.clientHeight||0:S.clientWidth||0:0,v=g/2-y/2,A=l[m],N=w-p[f]-l[_],T=w/2-p[f]/2+v,R=el(A,T,N);return{data:{[d]:R,centerOffset:T-R}}}}),SC={left:"right",right:"left",bottom:"top",top:"bottom"};function fa(n){return n.replace(/left|right|bottom|top/g,e=>SC[e])}function rm(n,e){const t=Si(n)==="start",s=no(n),i=uu(s);let r=s==="x"?t?"right":"left":t?"bottom":"top";return e.reference[i]>e.floating[i]&&(r=fa(r)),{main:r,cross:fa(r)}}const CC={start:"end",end:"start"};function tl(n){return n.replace(/start|end/g,e=>CC[e])}const AC=["top","right","bottom","left"],NC=AC.reduce((n,e)=>n.concat(e,e+"-start",e+"-end"),[]);function MC(n,e,t){return(n?[...t.filter(i=>Si(i)===n),...t.filter(i=>Si(i)!==n)]:t.filter(i=>Qn(i)===i)).filter(i=>n?Si(i)===n||(e?tl(i)!==i:!1):!0)}const kC=function(n){return n===void 0&&(n={}),{name:"autoPlacement",options:n,async fn(e){var t,s,i,r,o,a;const{x:c,y:l,rects:u,middlewareData:h,placement:d}=e,{alignment:f=null,allowedPlacements:p=NC,autoAlignment:m=!0,..._}=n;if((t=h.autoPlacement)!=null&&t.skip)return{};const g=MC(f,m,p),y=await Qa(e,_),S=(s=(i=h.autoPlacement)==null?void 0:i.index)!=null?s:0,w=g[S],{main:v,cross:A}=rm(w,u);if(d!==w)return{x:c,y:l,reset:{placement:g[0]}};const N=[y[Qn(w)],y[v],y[A]],T=[...(r=(o=h.autoPlacement)==null?void 0:o.overflows)!=null?r:[],{placement:w,overflows:N}],R=g[S+1];if(R)return{data:{index:S+1,overflows:T},reset:{placement:R}};const O=T.slice().sort((M,F)=>M.overflows[0]-F.overflows[0]),P=(a=O.find(M=>{let{overflows:F}=M;return F.every(z=>z<=0)}))==null?void 0:a.placement;return{data:{skip:!0},reset:{placement:P??O[0].placement}}}}};function OC(n){const e=fa(n);return[tl(n),e,tl(e)]}const IC=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(e){var t,s;const{placement:i,middlewareData:r,rects:o,initialPlacement:a}=e;if((t=r.flip)!=null&&t.skip)return{};const{mainAxis:c=!0,crossAxis:l=!0,fallbackPlacements:u,fallbackStrategy:h="bestFit",flipAlignment:d=!0,...f}=n,p=Qn(i),_=u||(p===a||!d?[fa(a)]:OC(a)),g=[a,..._],y=await Qa(e,f),S=[];let w=((s=r.flip)==null?void 0:s.overflows)||[];if(c&&S.push(y[p]),l){const{main:T,cross:R}=rm(i,o);S.push(y[T],y[R])}if(w=[...w,{placement:i,overflows:S}],!S.every(T=>T<=0)){var v,A;const T=((v=(A=r.flip)==null?void 0:A.index)!=null?v:0)+1,R=g[T];if(R)return{data:{index:T,overflows:w},reset:{placement:R}};let O="bottom";switch(h){case"bestFit":{var N;const P=(N=w.slice().sort((M,F)=>M.overflows.filter(z=>z>0).reduce((z,ne)=>z+ne,0)-F.overflows.filter(z=>z>0).reduce((z,ne)=>z+ne,0))[0])==null?void 0:N.placement;P&&(O=P);break}case"initialPlacement":O=a;break}return{data:{skip:!0},reset:{placement:O}}}return{}}}};function RC(n){let{placement:e,rects:t,value:s}=n;const i=Qn(e),r=["left","top"].includes(i)?-1:1,o=typeof s=="function"?s({...t,placement:e}):s,{mainAxis:a,crossAxis:c}=typeof o=="number"?{mainAxis:o,crossAxis:0}:{mainAxis:0,crossAxis:0,...o};return no(i)==="x"?{x:c,y:a*r}:{x:a*r,y:c}}const DC=function(n){return n===void 0&&(n=0),{name:"offset",options:n,fn(e){const{x:t,y:s,placement:i,rects:r}=e,o=RC({placement:i,rects:r,value:n});return{x:t+o.x,y:s+o.y,data:o}}}};function PC(n){return n==="x"?"y":"x"}const $C=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(e){const{x:t,y:s,placement:i}=e,{mainAxis:r=!0,crossAxis:o=!1,limiter:a={fn:_=>{let{x:g,y}=_;return{x:g,y}}},...c}=n,l={x:t,y:s},u=await Qa(e,c),h=no(Qn(i)),d=PC(h);let f=l[h],p=l[d];if(r){const _=h==="y"?"top":"left",g=h==="y"?"bottom":"right",y=f+u[_],S=f-u[g];f=el(y,f,S)}if(o){const _=d==="y"?"top":"left",g=d==="y"?"bottom":"right",y=p+u[_],S=p-u[g];p=el(y,p,S)}const m=a.fn({...e,[h]:f,[d]:p});return{...m,data:{x:m.x-t,y:m.y-s}}}}},FC=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(e){var t;const{placement:s,rects:i,middlewareData:r}=e,{apply:o,...a}=n;if((t=r.size)!=null&&t.skip)return{};const c=await Qa(e,a),l=Qn(s),u=Si(s)==="end";let h,d;l==="top"||l==="bottom"?(h=l,d=u?"left":"right"):(d=l,h=u?"top":"bottom");const f=Os(c.left,0),p=Os(c.right,0),m=Os(c.top,0),_=Os(c.bottom,0),g={height:i.floating.height-(["left","right"].includes(s)?2*(m!==0||_!==0?m+_:Os(c.top,c.bottom)):c[h]),width:i.floating.width-(["top","bottom"].includes(s)?2*(f!==0||p!==0?f+p:Os(c.left,c.right)):c[d])};return o==null||o({...g,...i}),{data:{skip:!0},reset:{rects:!0}}}}};function hu(n){return(n==null?void 0:n.toString())==="[object Window]"}function Es(n){if(n==null)return window;if(!hu(n)){const e=n.ownerDocument;return e&&e.defaultView||window}return n}function Ja(n){return Es(n).getComputedStyle(n)}function zn(n){return hu(n)?"":n?(n.nodeName||"").toLowerCase():""}function Hn(n){return n instanceof Es(n).HTMLElement}function pa(n){return n instanceof Es(n).Element}function VC(n){return n instanceof Es(n).Node}function om(n){const e=Es(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function ec(n){const{overflow:e,overflowX:t,overflowY:s}=Ja(n);return/auto|scroll|overlay|hidden/.test(e+s+t)}function LC(n){return["table","td","th"].includes(zn(n))}function am(n){const e=navigator.userAgent.toLowerCase().includes("firefox"),t=Ja(n);return t.transform!=="none"||t.perspective!=="none"||t.contain==="paint"||["transform","perspective"].includes(t.willChange)||e&&t.willChange==="filter"||e&&(t.filter?t.filter!=="none":!1)}const od=Math.min,dr=Math.max,ma=Math.round;function Bi(n,e){e===void 0&&(e=!1);const t=n.getBoundingClientRect();let s=1,i=1;return e&&Hn(n)&&(s=n.offsetWidth>0&&ma(t.width)/n.offsetWidth||1,i=n.offsetHeight>0&&ma(t.height)/n.offsetHeight||1),{width:t.width/s,height:t.height/i,top:t.top/i,right:t.right/s,bottom:t.bottom/i,left:t.left/s,x:t.left/s,y:t.top/i}}function Ss(n){return((VC(n)?n.ownerDocument:n.document)||window.document).documentElement}function tc(n){return hu(n)?{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}:{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function cm(n){return Bi(Ss(n)).left+tc(n).scrollLeft}function BC(n){const e=Bi(n);return ma(e.width)!==n.offsetWidth||ma(e.height)!==n.offsetHeight}function qC(n,e,t){const s=Hn(e),i=Ss(e),r=Bi(n,s&&BC(e));let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(s||!s&&t!=="fixed")if((zn(e)!=="body"||ec(i))&&(o=tc(e)),Hn(e)){const c=Bi(e,!0);a.x=c.x+e.clientLeft,a.y=c.y+e.clientTop}else i&&(a.x=cm(i));return{x:r.left+o.scrollLeft-a.x,y:r.top+o.scrollTop-a.y,width:r.width,height:r.height}}function nc(n){return zn(n)==="html"?n:n.assignedSlot||n.parentNode||(om(n)?n.host:null)||Ss(n)}function ad(n){return!Hn(n)||getComputedStyle(n).position==="fixed"?null:n.offsetParent}function UC(n){let e=nc(n);for(;Hn(e)&&!["html","body"].includes(zn(e));){if(am(e))return e;e=e.parentNode}return null}function nl(n){const e=Es(n);let t=ad(n);for(;t&&LC(t)&&getComputedStyle(t).position==="static";)t=ad(t);return t&&(zn(t)==="html"||zn(t)==="body"&&getComputedStyle(t).position==="static"&&!am(t))?e:t||UC(n)||e}function cd(n){return{width:n.offsetWidth,height:n.offsetHeight}}function jC(n){let{rect:e,offsetParent:t,strategy:s}=n;const i=Hn(t),r=Ss(t);if(t===r)return e;let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if((i||!i&&s!=="fixed")&&((zn(t)!=="body"||ec(r))&&(o=tc(t)),Hn(t))){const c=Bi(t,!0);a.x=c.x+t.clientLeft,a.y=c.y+t.clientTop}return{...e,x:e.x-o.scrollLeft+a.x,y:e.y-o.scrollTop+a.y}}function WC(n){const e=Es(n),t=Ss(n),s=e.visualViewport;let i=t.clientWidth,r=t.clientHeight,o=0,a=0;return s&&(i=s.width,r=s.height,Math.abs(e.innerWidth/s.scale-s.width)<.01&&(o=s.offsetLeft,a=s.offsetTop)),{width:i,height:r,x:o,y:a}}function zC(n){var e;const t=Ss(n),s=tc(n),i=(e=n.ownerDocument)==null?void 0:e.body,r=dr(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=dr(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);let a=-s.scrollLeft+cm(n);const c=-s.scrollTop;return Ja(i||t).direction==="rtl"&&(a+=dr(t.clientWidth,i?i.clientWidth:0)-r),{width:r,height:o,x:a,y:c}}function lm(n){return["html","body","#document"].includes(zn(n))?n.ownerDocument.body:Hn(n)&&ec(n)?n:lm(nc(n))}function ga(n,e){var t;e===void 0&&(e=[]);const s=lm(n),i=s===((t=n.ownerDocument)==null?void 0:t.body),r=Es(s),o=i?[r].concat(r.visualViewport||[],ec(s)?s:[]):s,a=e.concat(o);return i?a:a.concat(ga(nc(o)))}function HC(n,e){const t=e.getRootNode==null?void 0:e.getRootNode();if(n.contains(e))return!0;if(t&&om(t)){let s=e;do{if(s&&n===s)return!0;s=s.parentNode||s.host}while(s)}return!1}function GC(n){const e=Bi(n),t=e.top+n.clientTop,s=e.left+n.clientLeft;return{top:t,left:s,x:s,y:t,right:s+n.clientWidth,bottom:t+n.clientHeight,width:n.clientWidth,height:n.clientHeight}}function ld(n,e){return e==="viewport"?Jc(WC(n)):pa(e)?GC(e):Jc(zC(Ss(n)))}function KC(n){const e=ga(nc(n)),s=["absolute","fixed"].includes(Ja(n).position)&&Hn(n)?nl(n):n;return pa(s)?e.filter(i=>pa(i)&&HC(i,s)&&zn(i)!=="body"):[]}function YC(n){let{element:e,boundary:t,rootBoundary:s}=n;const r=[...t==="clippingParents"?KC(e):[].concat(t),s],o=r[0],a=r.reduce((c,l)=>{const u=ld(e,l);return c.top=dr(u.top,c.top),c.right=od(u.right,c.right),c.bottom=od(u.bottom,c.bottom),c.left=dr(u.left,c.left),c},ld(e,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}const ZC={getElementRects:n=>{let{reference:e,floating:t,strategy:s}=n;return{reference:qC(e,nl(t),s),floating:{...cd(t),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:n=>jC(n),getOffsetParent:n=>{let{element:e}=n;return nl(e)},isElement:n=>pa(n),getDocumentElement:n=>{let{element:e}=n;return Ss(e)},getClippingClientRect:n=>YC(n),getDimensions:n=>{let{element:e}=n;return cd(e)},getClientRects:n=>{let{element:e}=n;return e.getClientRects()}},XC=(n,e,t)=>wC(n,e,{platform:ZC,...t});var QC=Object.defineProperty,JC=Object.defineProperties,eA=Object.getOwnPropertyDescriptors,ud=Object.getOwnPropertySymbols,tA=Object.prototype.hasOwnProperty,nA=Object.prototype.propertyIsEnumerable,hd=(n,e,t)=>e in n?QC(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,$n=(n,e)=>{for(var t in e||(e={}))tA.call(e,t)&&hd(n,t,e[t]);if(ud)for(var t of ud(e))nA.call(e,t)&&hd(n,t,e[t]);return n},so=(n,e)=>JC(n,eA(e));function um(n,e){for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(typeof e[t]=="object"&&n[t]?um(n[t],e[t]):n[t]=e[t])}const zs={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:n=>[...n,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function qi(n,e){let t=zs.themes[n]||{},s;do s=t[e],typeof s>"u"?t.$extend?t=zs.themes[t.$extend]||{}:(t=null,s=zs[e]):t=null;while(t);return s}function sA(n){const e=[n];let t=zs.themes[n]||{};do t.$extend&&!t.$resetCss?(e.push(t.$extend),t=zs.themes[t.$extend]||{}):t=null;while(t);return e.map(s=>`v-popper--theme-${s}`)}let Ui=!1;if(typeof window<"u"){Ui=!1;try{const n=Object.defineProperty({},"passive",{get(){Ui=!0}});window.addEventListener("test",null,n)}catch{}}let hm=!1;typeof window<"u"&&typeof navigator<"u"&&(hm=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const dm=["auto","top","bottom","left","right"].reduce((n,e)=>n.concat([e,`${e}-start`,`${e}-end`]),[]),dd={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},fd={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function iA(n,e){const t=n.indexOf(e);t!==-1&&n.splice(t,1)}function xc(){return new Promise(n=>requestAnimationFrame(()=>{requestAnimationFrame(n)}))}const xn=[];let hi=null,sl=function(){};typeof window<"u"&&(sl=window.Element);function Pe(n){return function(e){return qi(e.theme,n)}}var fm=()=>Gn({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Pe("disabled")},placement:{type:String,default:Pe("placement"),validator:n=>dm.includes(n)},delay:{type:[String,Number,Object],default:Pe("delay")},distance:{type:[Number,String],default:Pe("distance")},skidding:{type:[Number,String],default:Pe("skidding")},triggers:{type:Array,default:Pe("triggers")},showTriggers:{type:[Array,Function],default:Pe("showTriggers")},hideTriggers:{type:[Array,Function],default:Pe("hideTriggers")},popperTriggers:{type:Array,default:Pe("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:Pe("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:Pe("popperHideTriggers")},container:{type:[String,Object,sl,Boolean],default:Pe("container")},boundary:{type:[String,sl],default:Pe("boundary")},strategy:{type:String,validator:n=>["absolute","fixed"].includes(n),default:Pe("strategy")},autoHide:{type:Boolean,default:Pe("autoHide")},handleResize:{type:Boolean,default:Pe("handleResize")},instantMove:{type:Boolean,default:Pe("instantMove")},eagerMount:{type:Boolean,default:Pe("eagerMount")},popperClass:{type:[String,Array,Object],default:Pe("popperClass")},computeTransformOrigin:{type:Boolean,default:Pe("computeTransformOrigin")},autoMinSize:{type:Boolean,default:Pe("autoMinSize")},autoMaxSize:{type:Boolean,default:Pe("autoMaxSize")},preventOverflow:{type:Boolean,default:Pe("preventOverflow")},overflowPadding:{type:[Number,String],default:Pe("overflowPadding")},arrowPadding:{type:[Number,String],default:Pe("arrowPadding")},arrowOverflow:{type:Boolean,default:Pe("arrowOverflow")},flip:{type:Boolean,default:Pe("flip")},shift:{type:Boolean,default:Pe("shift")},shiftCrossAxis:{type:Boolean,default:Pe("shiftCrossAxis")}},emits:["show","hide","update:shown","apply-show","apply-hide","close-group","close-directive","auto-hide","resize","dispose"],data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null}}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:so($n({},this.classes),{popperClass:this.popperClass}),result:this.result}}},watch:$n({shown:"$_autoShowHide",disabled(n){n?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())}},["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((n,e)=>(n[e]="$_computePosition",n),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(n=>n.toString(36).substring(2,10)).join("_")}`},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:n=null,skipDelay:e=!1,force:t=!1}={}){(t||!this.disabled)&&(this.$_scheduleShow(n,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0)},hide({event:n=null,skipDelay:e=!1}={}){this.$_scheduleHide(n,e),this.$emit("hide"),this.$emit("update:shown",!1)},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(n=>n.nodeType===n.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var n;if(this.$_isDisposed)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(DC({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");t?e.middleware.push(kC({alignment:(n=this.placement.split("-")[1])!=null?n:""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push($C({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(IC({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(EC({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:i,rects:r,middlewareData:o})=>{let a;const{centerOffset:c}=o.arrow;return i.startsWith("top")||i.startsWith("bottom")?a=Math.abs(c)>r.reference.width/2:a=Math.abs(c)>r.reference.height/2,{data:{overflow:a}}}}),this.autoMinSize&&e.middleware.push({name:"autoMinSize",fn:({rects:i,placement:r,middlewareData:o})=>{var a;if((a=o.autoMinSize)!=null&&a.skip)return{};let c,l;return r.startsWith("top")||r.startsWith("bottom")?c=i.reference.width:l=i.reference.height,this.$_innerNode.style.minWidth=c!=null?`${c}px`:null,this.$_innerNode.style.minHeight=l!=null?`${l}px`:null,{data:{skip:!0},reset:{rects:!0}}}}),this.autoMaxSize&&e.middleware.push(FC({boundary:this.boundary,padding:this.overflowPadding,apply:({width:i,height:r})=>{this.$_innerNode.style.maxWidth=i!=null?`${i}px`:null,this.$_innerNode.style.maxHeight=r!=null?`${r}px`:null}}));const s=await XC(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:s.x,y:s.y,placement:s.placement,strategy:s.strategy,arrow:$n($n({},s.middlewareData.arrow),s.middlewareData.arrowOverflow)})},$_scheduleShow(n=null,e=!1){if(this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),hi&&this.instantMove&&hi.instantMove){hi.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(n=null,e=!1){this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(hi=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(n){const e=this.delay;return parseInt(e&&e[n]||e||0)},async $_applyShow(n=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=n,!this.isShown&&(this.$_ensureTeleport(),await xc(),await this.$_computePosition(),await this.$_applyShowEffect())},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(".v-popper__wrapper"),s=t.parentNode.getBoundingClientRect(),i=e.x+e.width/2-(s.left+t.offsetLeft),r=e.y+e.height/2-(s.top+t.offsetTop);this.result.transformOrigin=`${i}px ${r}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const n=this.showGroup;if(n){let e;for(let t=0;t{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await xc(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let n=this.container;if(typeof n=="string"?n=window.document.querySelector(n):n===!1&&(n=this.$_targetNodes[0].parentNode),!n)throw new Error("No container for popover: "+this.container);n.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const n=(i,r,o)=>{this.$_events.push({targetNodes:i,eventType:r,handler:o}),i.forEach(a=>a.addEventListener(r,o,Ui?{passive:!0}:void 0))},e=(i,r,o,a,c)=>{let l=o;a!=null&&(l=typeof a=="function"?a(l):a),l.forEach(u=>{const h=r[u];h&&n(i,h,c)})},t=i=>{this.isShown&&!this.$_hideInProgress||(i.usedByTooltip=!0,!this.$_preventShow&&this.show({event:i}))};e(this.$_targetNodes,dd,this.triggers,this.showTriggers,t),e([this.$_popperNode],dd,this.popperTriggers,this.popperShowTriggers,t);const s=i=>{i.usedByTooltip||this.hide({event:i})};e(this.$_targetNodes,fd,this.triggers,this.hideTriggers,s),e([this.$_popperNode],fd,this.popperTriggers,this.popperHideTriggers,s),n([...ga(this.$_referenceNode),...ga(this.$_popperNode)],"scroll",()=>{this.$_computePosition()})},$_removeEventListeners(){this.$_events.forEach(({targetNodes:n,eventType:e,handler:t})=>{n.forEach(s=>s.removeEventListener(e,t))}),this.$_events=[]},$_handleGlobalClose(n,e=!1){this.$_showFrameLocked||(this.hide({event:n}),n.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(n,e){for(const t of this.$_targetNodes){const s=t.getAttribute(n);s&&(t.removeAttribute(n),t.setAttribute(e,s))}},$_applyAttrsToTarget(n){for(const e of this.$_targetNodes)for(const t in n){const s=n[t];s==null?e.removeAttribute(t):e.setAttribute(t,s)}}},render(){return this.$slots.default(this.slotData)}});typeof document<"u"&&typeof window<"u"&&(hm?(document.addEventListener("touchstart",pd,Ui?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",oA,Ui?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",pd,!0),window.addEventListener("click",rA,!0)),window.addEventListener("resize",aA));function pd(n){for(let e=0;e{(n.closeAllPopover||n.closePopover&&r||s.autoHide&&!r)&&s.$_handleGlobalClose(n,e)})}}function aA(n){for(let e=0;e0)return parseInt(n.substring(e+5,n.indexOf(".",e)),10);var t=n.indexOf("Trident/");if(t>0){var s=n.indexOf("rv:");return parseInt(n.substring(s+3,n.indexOf(".",s)),10)}var i=n.indexOf("Edge/");return i>0?parseInt(n.substring(i+5,n.indexOf(".",i)),10):-1}let No;function il(){il.init||(il.init=!0,No=cA()!==-1)}var sc={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){il(),Hi(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const n=document.createElement("object");this._resizeObject=n,n.setAttribute("aria-hidden","true"),n.setAttribute("tabindex",-1),n.onload=this.addResizeHandlers,n.type="text/html",No&&this.$el.appendChild(n),n.data="about:blank",No||this.$el.appendChild(n)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!No&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const lA=kg();Ca("data-v-b329ee4c");const uA={class:"resize-observer",tabindex:"-1"};Aa();const hA=lA((n,e,t,s,i,r)=>(K(),et("div",uA)));sc.render=hA;sc.__scopeId="data-v-b329ee4c";sc.__file="src/components/ResizeObserver.vue";var mm={computed:{themeClass(){return sA(this.theme)}}},du=(n,e)=>{const t=n.__vccOpts||n;for(const[s,i]of e)t[s]=i;return t};const dA=Gn({name:"VPopperContent",components:{ResizeObserver:sc},mixins:[mm],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(n){return n!=null&&!isNaN(n)?`${n}px`:null}}}),fA=["id","aria-hidden","tabindex","data-popper-placement"],pA={ref:"inner",class:"v-popper__inner"},mA=V("div",{class:"v-popper__arrow-outer"},null,-1),gA=V("div",{class:"v-popper__arrow-inner"},null,-1),_A=[mA,gA];function yA(n,e,t,s,i,r){const o=Ks("ResizeObserver");return K(),ee("div",{id:n.popperId,ref:"popover",class:vs(["v-popper__popper",[n.themeClass,n.classes.popperClass,{"v-popper__popper--shown":n.shown,"v-popper__popper--hidden":!n.shown,"v-popper__popper--show-from":n.classes.showFrom,"v-popper__popper--show-to":n.classes.showTo,"v-popper__popper--hide-from":n.classes.hideFrom,"v-popper__popper--hide-to":n.classes.hideTo,"v-popper__popper--skip-transition":n.skipTransition,"v-popper__popper--arrow-overflow":n.result.arrow.overflow}]]),style:Be({position:n.result.strategy,transform:`translate3d(${Math.round(n.result.x)}px,${Math.round(n.result.y)}px,0)`}),"aria-hidden":n.shown?"false":"true",tabindex:n.autoHide?0:void 0,"data-popper-placement":n.result.placement,onKeyup:e[1]||(e[1]=c0(a=>n.autoHide&&n.$emit("hide"),["esc"]))},[V("div",{class:"v-popper__wrapper",style:Be({transformOrigin:n.result.transformOrigin})},[V("div",pA,[n.mounted?(K(),ee(Re,{key:0},[V("div",null,[Ro(n.$slots,"default")]),n.handleResize?(K(),et(o,{key:0,onNotify:e[0]||(e[0]=a=>n.$emit("resize",a))})):ut("",!0)],64)):ut("",!0)],512),V("div",{ref:"arrow",class:"v-popper__arrow-container",style:Be({left:n.toPx(n.result.arrow.x),top:n.toPx(n.result.arrow.y)})},_A,4)],4)],46,fA)}var gm=du(dA,[["render",yA]]),_m={methods:{show(...n){return this.$refs.popper.show(...n)},hide(...n){return this.$refs.popper.hide(...n)},dispose(...n){return this.$refs.popper.dispose(...n)},onResize(...n){return this.$refs.popper.onResize(...n)}}};const vA=Gn({name:"VPopperWrapper",components:{Popper:fm(),PopperContent:gm},mixins:[_m,mm],inheritAttrs:!1,props:{theme:{type:String,default:null}},computed:{finalTheme(){var n;return(n=this.theme)!=null?n:this.$options.vPopperTheme},popperAttrs(){const n=$n({},this.$attrs);return delete n.class,delete n.style,n}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(n=>n!==this.$refs.popperContent.$el)}}});function bA(n,e,t,s,i,r){const o=Ks("PopperContent"),a=Ks("Popper");return K(),et(a,Ia({ref:"popper"},n.popperAttrs,{theme:n.finalTheme,"target-nodes":n.getTargetNodes,"reference-node":()=>n.$refs.reference,"popper-node":()=>n.$refs.popperContent.$el}),{default:nn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,show:f,hide:p,handleResize:m,onResize:_,classes:g,result:y})=>[V("div",{ref:"reference",class:vs(["v-popper",[n.$attrs.class,n.themeClass,{"v-popper--shown":l}]]),style:Be(n.$attrs.style)},[Ro(n.$slots,"default",{shown:l,show:f,hide:p}),xe(o,{ref:"popperContent","popper-id":c,theme:n.finalTheme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":m,classes:g,result:y,onHide:p,onResize:_},{default:nn(()=>[Ro(n.$slots,"popper",{shown:l,hide:p})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])],6)]),_:3},16,["theme","target-nodes","reference-node","popper-node"])}var fu=du(vA,[["render",bA]]);const md=Gn(so($n({},fu),{name:"VDropdown",vPopperTheme:"dropdown"})),gd=Gn(so($n({},fu),{name:"VMenu",vPopperTheme:"menu"})),_d=Gn(so($n({},fu),{name:"VTooltip",vPopperTheme:"tooltip"})),wA=Gn({name:"VTooltipDirective",components:{Popper:fm(),PopperContent:gm},mixins:[_m],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:n=>qi(n.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:n=>qi(n.theme,"loadingContent")}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(n){if(typeof this.content=="function"&&this.$_isShown&&(n||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,t=this.content(this);t.then?t.then(s=>this.onResult(e,s)):this.onResult(e,t)}},onResult(n,e){n===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}}),xA=["innerHTML"],TA=["textContent"];function EA(n,e,t,s,i,r){const o=Ks("PopperContent"),a=Ks("Popper");return K(),et(a,Ia({ref:"popper"},n.$attrs,{theme:n.theme,"popper-node":()=>n.$refs.popperContent.$el,onApplyShow:n.onShow,onApplyHide:n.onHide}),{default:nn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,hide:f,handleResize:p,onResize:m,classes:_,result:g})=>[xe(o,{ref:"popperContent",class:vs({"v-popper--tooltip-loading":n.loading}),"popper-id":c,theme:n.theme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":p,classes:_,result:g,onHide:f,onResize:m},{default:nn(()=>[n.html?(K(),ee("div",{key:0,innerHTML:n.finalContent},null,8,xA)):(K(),ee("div",{key:1,textContent:Ke(n.finalContent)},null,8,TA))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","popper-node","onApplyShow","onApplyHide"])}var SA=du(wA,[["render",EA]]);const ym="v-popper--has-tooltip";function CA(n,e){let t=n.placement;if(!t&&e)for(const s of dm)e[s]&&(t=s);return t||(t=qi(n.theme||"tooltip","placement")),t}function vm(n,e,t){let s;const i=typeof e;return i==="string"?s={content:e}:e&&i==="object"?s=e:s={content:!1},s.placement=CA(s,t),s.targetNodes=()=>[n],s.referenceNode=()=>n,s}let Tc,Ur,AA=0;function NA(){if(Tc)return;Ur=Oe([]),Tc=Nf({name:"VTooltipDirectiveApp",setup(){return{directives:Ur}},render(){return this.directives.map(e=>Da(SA,so($n({},e.options),{shown:e.shown.value||e.options.shown,key:e.id})))},devtools:{hide:!0}});const n=document.createElement("div");document.body.appendChild(n),Tc.mount(n)}function MA(n,e,t){NA();const s=Oe(vm(n,e,t)),i=Oe(!1),r={id:AA++,options:s,shown:i};return Ur.value.push(r),n.classList&&n.classList.add(ym),n.$_popper={options:s,item:r,show(){i.value=!0},hide(){i.value=!1}}}function bm(n){if(n.$_popper){const e=Ur.value.indexOf(n.$_popper.item);e!==-1&&Ur.value.splice(e,1),delete n.$_popper,delete n.$_popperOldShown,delete n.$_popperMountTarget}n.classList&&n.classList.remove(ym)}function yd(n,{value:e,oldValue:t,modifiers:s}){const i=vm(n,e,s);if(!i.content||qi(i.theme||"tooltip","disabled"))bm(n);else{let r;n.$_popper?(r=n.$_popper,r.options.value=i):r=MA(n,e,s),typeof e.shown<"u"&&e.shown!==n.$_popperOldShown&&(n.$_popperOldShown=e.shown,e.shown?r.show():r.hide())}}var kA={beforeMount:yd,updated:yd,beforeUnmount(n){bm(n)}};function vd(n){n.addEventListener("click",wm),n.addEventListener("touchstart",xm,Ui?{passive:!0}:!1)}function bd(n){n.removeEventListener("click",wm),n.removeEventListener("touchstart",xm),n.removeEventListener("touchend",Tm),n.removeEventListener("touchcancel",Em)}function wm(n){const e=n.currentTarget;n.closePopover=!e.$_vclosepopover_touch,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function xm(n){if(n.changedTouches.length===1){const e=n.currentTarget;e.$_vclosepopover_touch=!0;const t=n.changedTouches[0];e.$_vclosepopover_touchPoint=t,e.addEventListener("touchend",Tm),e.addEventListener("touchcancel",Em)}}function Tm(n){const e=n.currentTarget;if(e.$_vclosepopover_touch=!1,n.changedTouches.length===1){const t=n.changedTouches[0],s=e.$_vclosepopover_touchPoint;n.closePopover=Math.abs(t.screenY-s.screenY)<20&&Math.abs(t.screenX-s.screenX)<20,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Em(n){const e=n.currentTarget;e.$_vclosepopover_touch=!1}var OA={beforeMount(n,{value:e,modifiers:t}){n.$_closePopoverModifiers=t,(typeof e>"u"||e)&&vd(n)},updated(n,{value:e,oldValue:t,modifiers:s}){n.$_closePopoverModifiers=s,e!==t&&(typeof e>"u"||e?vd(n):bd(n))},beforeUnmount(n){bd(n)}};function IA(n,e={}){n.$_vTooltipInstalled||(n.$_vTooltipInstalled=!0,um(zs,e),n.directive("tooltip",kA),n.directive("close-popper",OA),n.component("v-tooltip",_d),n.component("VTooltip",_d),n.component("v-dropdown",md),n.component("VDropdown",md),n.component("v-menu",gd),n.component("VMenu",gd))}const RA={version:"2.0.0-y.0",install:IA,options:zs},DA=cC({history:ES(),routes:[...Yc],scrollBehavior(n,e,t){return t||{top:0,behavior:"smooth"}}}),pu=Nf(bC);pu.use(DA);pu.use(RA);pu.mount("#touchme-app");const PA={class:"stats"},$A={class:"grid"},FA=["x","y","width","height","transform-origin","fill"],VA=["transform"],LA=["height","width","fill","transform-origin"],BA=["x","y"],qA={__name:"stats",setup(n){const{width:e,height:t}=Ts();return(s,i)=>(K(),ee("g",PA,[V("g",$A,[(K(),ee(Re,null,vt(10,(r,o)=>V("g",{class:"note",key:r},[(K(),ee(Re,null,vt(12,(a,c)=>{var l,u,h,d,f,p,m,_,g;return V("rect",{style:Be([{transition:"all 300ms ease-out"},`transform: scale(1,${a-4+r*12==((u=(l=b(D))==null?void 0:l.note)==null?void 0:u.number)&&((d=(h=b(D))==null?void 0:h.note)!=null&&d.attack)?((f=b(D))==null?void 0:f.duration)/300+1:1})`]),key:c,x:c*b(e)/12,y:b(t)-b(t)/9*o,width:b(e)/12,height:b(t)/9,"transform-origin":`${b(e)/12} ${b(t)-b(t)/9*(o-.5)}`,fill:b(ot)(c+12*a,3,1,a-4+r*12==((m=(p=b(D))==null?void 0:p.note)==null?void 0:m.number)&&((g=(_=b(D))==null?void 0:_.note)!=null&&g.attack)?1:.05)},null,12,FA)}),64))])),64))]),(K(!0),ee(Re,null,vt(b(D).total.durations,(r,o)=>(K(),ee("g",{class:"stat",key:o,transform:`translate(${o*b(e)/12})`},[V("rect",{x:0,y:0,height:b(t),width:b(e)/12,fill:b(ot)(o,2),"transform-origin":`0 ${b(t)}`,style:Be([{transition:"all 200ms ease-out"},`transform: scale(1,${r/b(D).total.duration||0})`])},null,12,LA),V("text",{x:b(e)/24,y:b(t)-20,"text-anchor":"middle",fill:"currentColor"},Ke(b(NT)[o]),9,BA)],8,VA))),128))]))}},UA=Object.freeze(Object.defineProperty({__proto__:null,default:qA},Symbol.toStringTag,{value:"Module"})),jA={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},WA=["cx","cy","fill","transform-origin"],zA={class:"ticks"},HA=["transform-origin"],GA=["x1","x2","stroke-width","stroke","transform-origin","transform"],KA=["x1","y1","x2","transform-origin"],Sm={__name:"spiral",setup(n){const{width:e,height:t}=Ts(),{midi:s}=ii();return fe(()=>(s.time/1e3).toFixed()),(i,r)=>{var o,a,c,l;return K(),ee("g",jA,[V("circle",{class:"center",style:Be([{transition:"all 400ms ease-out"},{transform:`scale(${((o=b(s).note)==null?void 0:o.attack)*b(s).duration/20+1})`}]),cx:b(e)/2,cy:b(t)/2,fill:((a=b(s).note)==null?void 0:a.attack)>0?b(ot)((((c=b(s).note)==null?void 0:c.number)-9)%12):"currentColor",r:5,"transform-origin":`${b(e)/2} ${b(t)/2}`},null,12,WA),V("g",zA,[(K(),ee(Re,null,vt(120,u=>{var h,d,f,p;return V("g",{key:u,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`rotate(${u-60}deg)`})},[V("line",{style:{transition:"all 400ms ease-out"},x1:b(e)/2,x2:b(e)/2,y1:10,y2:100,"stroke-width":((h=b(s).note)==null?void 0:h.number)==u&&((d=b(s).note)!=null&&d.attack)?50*(1+b(s).duration/1e3):2,stroke:((f=b(s).note)==null?void 0:f.number)==u&&((p=b(s).note)!=null&&p.attack)?b(ot)((u+3)%12):"currentColor","stroke-linecap":"round","transform-origin":`${b(e)/2} ${b(t)/2}`,transform:`rotate(${u*b(s).time/2e4}) scale(${1-u/120*b(s).time/5e5})`},null,8,GA)],12,HA)}),64))]),V("line",{class:"arrow",style:Be([{transition:"all 400ms ease-out"},{transform:`rotate(${((l=b(s).note)==null?void 0:l.number)*(1+b(s).time/2e4)-60}deg)`}]),x1:b(e)/2,y1:b(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:b(e)/2,y2:20,"transform-origin":`${b(e)/2} ${b(t)/2}`},null,12,KA)])}}};typeof ys=="function"&&ys(Sm);const YA=Object.freeze(Object.defineProperty({__proto__:null,default:Sm},Symbol.toStringTag,{value:"Module"})),ZA=["x1","x2","y1","y2","stroke-width","stroke","transform-origin","transform"],XA=["cx","cy","fill","transform-origin"],QA=["x1","x2","y1","y2","transform-origin","transform"],JA=["cx","cy","transform-origin","fill"],eN={__name:"rose",setup(n){const{width:e,height:t}=Ts(),s=fe(()=>new Array(12).fill(1).map((r,o)=>D.total.notes[o]?MT(o,12,D.total.notes[o]/D.total.hits*e.value*1.2+50,e.value,t.value):{})),i=fe(()=>{const r=s.value.filter(a=>a.x&&a.y);return r.map((a,c)=>({x1:a.x,y1:a.y,x2:r[c==r.length-1?0:c+1].x,y2:r[c==r.length-1?0:c+1].y}))});return(r,o)=>{var a,c,l,u,h,d;return K(),ee("g",null,[(K(),ee(Re,null,vt(12,(f,p)=>{var m,_,g,y;return V("line",{style:{transition:"all 500ms ease-out"},key:f,x1:b(e)/2,x2:b(e)/2,y1:b(t)/2,y2:-b(t)/2,"stroke-linecap":"round","stroke-width":((_=(m=b(D))==null?void 0:m.note)==null?void 0:_.pitch)==p&&((y=(g=b(D))==null?void 0:g.note)!=null&&y.attack)?b(D).duration/10:2,stroke:b(ot)(p,4),"transform-origin":`${b(e)/2} ${b(t)/2}`,transform:`rotate(${30*p})`},null,8,ZA)}),64)),(K(!0),ee(Re,null,vt(b(s),(f,p)=>(K(),ee("circle",{class:"mix-blend-multiply dark_mix-blend-difference",style:Be([{transition:"all 400ms ease-out"},`transform: scale(${50*b(D).total.durations[p]/b(D).total.duration})`]),key:p,cx:f.x||b(e)/2,r:10,cy:f.y||b(t)/2,fill:b(ot)(p),"stroke-width":"4","transform-origin":`${f.x} ${f.y}`},null,12,XA))),128)),(K(!0),ee(Re,null,vt(b(i),f=>(K(),ee("line",Ia({class:"mix-blend-exclusion",style:{transition:"all 300ms ease-out"},key:f},f,{stroke:"currentColor","stroke-width":"4","stroke-linecap":"round"}),null,16))),128)),V("line",{class:"mix-blend-difference",style:{transition:"all 300ms ease-out"},x1:b(e)/2,x2:b(e)/2,y1:b(t)/2-b(D).duration/5-100,y2:b(t)/2,"transform-origin":`${b(e)/2} ${b(t)/2}`,transform:`rotate(${30*((c=(a=b(D))==null?void 0:a.note)==null?void 0:c.pitch)||0})`,stroke:"white","stroke-width":"4","stroke-linecap":"round"},null,8,QA),V("circle",{style:Be([{transition:"all 200ms ease-out"},`transform: scale(${b(D).duration/1e3})`]),cx:b(e)/2,cy:b(t)/2,r:30,"transform-origin":`${b(e)/2} ${b(t)/2}`,fill:b(ot)((u=(l=b(D))==null?void 0:l.note)==null?void 0:u.pitch,3,(d=(h=b(D))==null?void 0:h.note)==null?void 0:d.attack)},null,12,JA)])}}},tN=Object.freeze(Object.defineProperty({__proto__:null,default:eN},Symbol.toStringTag,{value:"Module"})),nN={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},sN={class:"ticks"},iN=["transform-origin"],rN=["x1","x2","stroke-width","stroke"],oN=["x1","y1","x2","transform-origin"],aN=["cx","cy","fill","transform-origin"],cN=["fill"],lN=["x","y","transform-origin","transform"],uN=["width","x","y","transform-origin","transform"],Cm={__name:"level",setup(n){const{width:e,height:t}=Ts(),{midi:s}=ii();return fe(()=>(s.time/1e3).toFixed()),(i,r)=>{var o,a,c,l,u,h,d,f,p;return K(),ee("g",nN,[V("g",sN,[(K(),ee(Re,null,vt(120,m=>{var _,g,y,S;return V("g",{key:m,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`rotate(${m-60}deg)`})},[V("line",{x1:b(e)/2,x2:b(e)/2,y1:10,y2:70,"stroke-width":((_=b(s).note)==null?void 0:_.number)==m&&((g=b(s).note)!=null&&g.attack)?2+50*b(s).duration/1e3:2,stroke:((y=b(s).note)==null?void 0:y.number)==m&&((S=b(s).note)!=null&&S.attack)?b(ot)((m+3)%12):"currentColor","stroke-linecap":"round"},null,8,rN)],12,iN)}),64))]),V("line",{class:"arrow transition",x1:b(e)/2,y1:b(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:b(e)/2,y2:20,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`rotate(${((o=b(s).note)==null?void 0:o.number)-60}deg)`})},null,12,oN),V("circle",{class:"center transition",cx:b(e)/2,cy:b(t)/2,fill:((a=b(s).note)==null?void 0:a.attack)>0?b(ot)((((c=b(s).note)==null?void 0:c.number)-9)%12):"currentColor",r:5,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`scale(${((l=b(s).note)==null?void 0:l.attack)*10+1})`})},null,12,aN),V("g",{fill:((u=b(s).note)==null?void 0:u.attack)>0?b(ot)((((h=b(s).note)==null?void 0:h.number)-9)%12):"currentColor"},[V("text",{class:"transition font-bold","text-anchor":"middle","alignment-baseline":"central",x:b(e)/2,y:b(t)/2*1.5,"font-size":"4em","transform-origin":`${b(e)/2} ${b(t)/2*1.5}`,transform:`scale(${((f=(d=b(s))==null?void 0:d.note)==null?void 0:f.attack)||0})`},Ke(((p=b(s).note)==null?void 0:p.identifier)||""),9,lN),V("rect",{width:b(e)/2,x:b(e)/2-b(e)/4,y:b(t)/2*1.6,height:300,"transform-origin":`${b(e)/2} ${b(t)/2*1.5}`,transform:`scale(${b(s).duration/2e3} 1)`},null,8,uN)],8,cN)])}}};typeof ys=="function"&&ys(Cm);const hN=Object.freeze(Object.defineProperty({__proto__:null,default:Cm},Symbol.toStringTag,{value:"Module"})),dN=["viewBox"],fN=V("defs",null,[V("filter",{id:"blur",x:"-300%",y:"-300%",width:"600%",height:"600%"},[V("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"50"})])],-1),pN=["width","height"],mN=["stroke-width","stroke","x1","x2","y1","y2"],gN=V("circle",{"stroke-width":"2",stroke:"white",fill:"hsl(30,90%,80%)",r:"30"},null,-1),_N=V("circle",{r:"3",cx:"20"},null,-1),yN=V("circle",{r:"3",cx:"10"},null,-1),vN=[gN,_N,yN],bN=["cx","cy","r","fill","opacity"],Am={__name:"index",setup(n){const{width:e,height:t}=Ts(),{midi:s}=ii(),i=Gp();function r(){const a=Vt({x:100,y:100,angle:0}),c=Oe(0),l=Math.random();return ou(()=>{c.value++,a.x=(i(l*100,c.value/2e3)+1)/2,a.y=(i(l*200,c.value/2e3)+1)/2,a.angle=(i(l*300,c.value/2e3)+1)/2}),a}const o=Vt([]);return o.push(r()),o.push(r()),(a,c)=>{var l,u,h,d,f,p,m,_,g,y;return K(),ee("svg",{class:"h-full",id:"visual",version:"1.1",baseProfile:"full",viewBox:`0 0 ${b(e)} ${b(t)}`,xmlns:"http://www.w3.org/2000/svg"},[fN,V("rect",{opacity:"0.1",width:b(e),height:b(t)},null,8,pN),V("line",{style:{transition:"stroke-width 0.2s ease-out"},"stroke-width":((u=(l=b(s))==null?void 0:l.note)==null?void 0:u.number)*((d=(h=b(s))==null?void 0:h.note)==null?void 0:d.velocity)/200*b(s).duration/100,stroke:b(ot)(((p=(f=b(s))==null?void 0:f.note)==null?void 0:p.number)-21),"stroke-linecap":"round",x1:b(o)[0].x*b(e),x2:b(o)[1].x*b(e),y1:b(o)[0].y*b(t),y2:b(o)[1].y*b(t)},null,8,mN),(K(!0),ee(Re,null,vt(b(o),S=>(K(),ee("g",{style:Be([{transition:"transform 0.1s ease-out"},`transform: translate(${S.x*b(e)}px,${S.y*b(t)}px) rotate(${S.angle*360}deg) scale(${b(s).duration/1e3+1})`]),key:S},vN,4))),128)),V("circle",{cx:(b(o)[0].x+b(o)[1].x)*b(e)/2,cy:(b(o)[0].y+b(o)[1].y)*b(t)/2,r:b(s).duration/20+25,fill:b(ot)(((_=(m=b(s))==null?void 0:m.note)==null?void 0:_.number)-9),opacity:.75*((y=(g=b(s))==null?void 0:g.note)==null?void 0:y.attack)||0},null,8,bN)],8,dN)}}};typeof ys=="function"&&ys(Am);const wN=Object.freeze(Object.defineProperty({__proto__:null,default:Am},Symbol.toStringTag,{value:"Module"})),xN=["d","fill","stroke","stroke-width","fill-opacity","transform-origin"],TN={__name:"ring",props:{fill:{type:String,default:"gray"},stroke:{type:String,default:"none"},sWidth:{type:Number,default:0},cx:{type:Number,default:500},cy:{type:Number,default:500},radius:{type:Number,default:450},from:{type:Number,default:0},to:{type:Number,default:360},thickness:{type:Number,default:100},op:{type:Number,default:1},round:{type:Boolean,default:!1}},setup(n){const e=n,t=Vt({from:fe(()=>e.from<=e.to?e.from:e.to),to:fe(()=>e.from>e.to?e.from:e.to),start:fe(()=>s(t.to)),end:fe(()=>s(t.from)),largeArcFlag:fe(()=>t.to-t.from<=180?"0":"1"),cutout:fe(()=>e.radius-e.thickness),start2:fe(()=>s(t.to,t.cutout)),end2:fe(()=>s(t.from,t.cutout))});function s(a=0,c=e.radius){return o(e.cx,e.cy,c,a)}const i=fe(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"L",t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"L",t.start.x,t.start.y,"Z"].join(" ")),r=fe(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.start.x,t.start.y,"Z"].join(" "));function o(a,c,l,u){var h=(u-90)*Math.PI/180;return{x:a+l*Math.cos(h),y:c+l*Math.sin(h)}}return(a,c)=>(K(),ee("path",{style:{transition:"all 200ms ease-out"},d:n.round?b(r):b(i),fill:n.fill,stroke:n.stroke,"stroke-width":n.sWidth,"fill-rule":"evenodd","stroke-linejoin":"round","fill-opacity":n.op,"transform-origin":`${n.cx} ${n.cy}`},[Ro(a.$slots,"default")],8,xN))}},EN={class:"donut"},SN=["cx","cy","transform","transform-origin","fill"],CN=["x","y"],AN={__name:"donut",setup(n){const{width:e,height:t}=Ts(),s=fe(()=>(t.value2*Math.PI*s.value);const i=fe(()=>D.total.durations.reduce((a,c)=>a+c)||1),r=fe(()=>D.total.durations.map(a=>a/i.value)),o=fe(()=>{let a=0;const c=[0];return r.value.forEach(l=>{a+=Number(l),c.push(a)}),c});return(a,c)=>{var u,h,d,f,p,m,_,g;const l=TN;return K(),ee("g",EN,[(K(!0),ee(Re,null,vt(b(r),(y,S)=>(K(),ee("g",null,[xe(l,{style:{transition:"all 500ms ease-out"},cx:b(e)/2,cy:b(t)/2,radius:b(s),fill:b(ot)(S),from:b(o)[S]*360,to:(b(o)[S]+b(r)[S])*360,thickness:b(e)/3},null,8,["cx","cy","radius","fill","from","to","thickness"])]))),256)),V("circle",{style:{transition:"all 200ms ease-out"},cx:b(e)/2,cy:b(t)/2,r:30,opacity:"0.9",transform:`scale(${((h=(u=b(D))==null?void 0:u.note)==null?void 0:h.attack)*b(D).duration/500+1||1})`,"transform-origin":`${b(e)/2} ${b(t)/2}`,fill:b(ot)((f=(d=b(D))==null?void 0:d.note)==null?void 0:f.pitch,3,(m=(p=b(D))==null?void 0:p.note)==null?void 0:m.attack)},null,8,SN),V("text",{x:b(e)/2,y:b(t)/2+8,"text-anchor":"middle","font-size":"14"},Ke((g=(_=b(D))==null?void 0:_.note)==null?void 0:g.identifier),9,CN)])}}},NN=Object.freeze(Object.defineProperty({__proto__:null,default:AN},Symbol.toStringTag,{value:"Module"})),MN={class:"cross"},kN=["x","height","transform-origin","fill"],ON=["x2","stroke","stroke-width","transform-origin"],IN=["cx","cy","transform-origin","fill","opacity"],RN=["transform-origin","width","height"],DN={__name:"cross",setup(n){const{width:e,height:t}=Ts();return(s,i)=>{var r,o,a,c,l,u;return K(),ee("g",MN,[V("rect",{style:Be([{transition:"all 300ms ease-in-out"},`transform: scale(${b(D).duration/60}, 1)`]),x:b(e)/2-50,y:0,height:b(t),width:100,"transform-origin":`${b(e)/2} 0`,fill:b(ot)(((o=(r=b(D))==null?void 0:r.note)==null?void 0:o.pitch)-24+7)},null,12,kN),V("line",{class:"mix-blend-multiply dark_mix-blend-difference",style:Be([{transition:"all 300ms ease-in-out"},`transform: translateY(${(127-((c=(a=b(D))==null?void 0:a.note)==null?void 0:c.number))/127*b(t)||0}px)`]),x1:0,x2:b(e),y1:0,y2:0,stroke:b(ot)((u=(l=b(D))==null?void 0:l.note)==null?void 0:u.pitch),"stroke-width":b(D).duration,"transform-origin":`${b(e)/2} 0`},null,12,ON),(K(),ee(Re,null,vt(127,h=>{var d,f,p,m;return V("circle",{style:Be([{transition:"all 300ms ease-in-out"},`transform: scale(${((f=(d=b(D))==null?void 0:d.note)==null?void 0:f.number)==h?b(D).duration/50:1})`]),key:h,cx:b(e)/2,cy:(127-h)/127*b(t)||0,"transform-origin":`${b(e)/2} ${(127-h)/127*b(t)||0}`,r:60,fill:b(ot)((h+3)%12),opacity:((m=(p=b(D))==null?void 0:p.note)==null?void 0:m.number)==h?.9:0},null,12,IN)}),64)),V("rect",{class:"mix-blend-exclusion",style:Be([{transition:"all 100ms ease-in-out"},`transform: scale(1,${b(D).total.duration/b(D).time})`]),fill:"white",opacity:"0.1",x:0,y:0,"transform-origin":`0 ${b(t)}`,width:b(e),height:b(t)},null,12,RN)])}}},PN=Object.freeze(Object.defineProperty({__proto__:null,default:DN},Symbol.toStringTag,{value:"Module"})); -//# sourceMappingURL=index-6fda5aab.js.map diff --git a/assets/index-6fda5aab.js.map b/assets/index-6fda5aab.js.map deleted file mode 100644 index cecf501..0000000 --- a/assets/index-6fda5aab.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":"ssBAAA,SAASA,GAAQC,EAAKC,EAAkB,CACtC,MAAMC,EAAsB,OAAO,OAAO,IAAI,EACxCC,EAAOH,EAAI,MAAM,GAAG,EAC1B,QAAS,EAAI,EAAG,EAAIG,EAAK,OAAQ,IAC/BD,EAAIC,EAAK,CAAC,CAAC,EAAI,GAEjB,OAAOF,EAAoBG,GAAQ,CAAC,CAACF,EAAIE,EAAI,YAAa,GAAKA,GAAQ,CAAC,CAACF,EAAIE,CAAG,CAClF,CAEA,MAAMC,GAA4E,GAC5EC,GAA4E,GAC5EC,GAAO,IAAM,CACnB,EACMC,GAAK,IAAM,GACXC,GAAO,YACPC,GAAQC,GAAQF,GAAK,KAAKE,CAAG,EAC7BC,GAAmBD,GAAQA,EAAI,WAAW,WAAW,EACrDE,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,CAACf,EAAKO,IAAQO,GAAe,KAAKd,EAAKO,CAAG,EACnDS,GAAU,MAAM,QAChBC,GAASjB,GAAQkB,GAAalB,CAAG,IAAM,eACvCmB,GAASnB,GAAQkB,GAAalB,CAAG,IAAM,eACvCoB,GAAUpB,GAAQkB,GAAalB,CAAG,IAAM,gBACxCqB,GAAYrB,GAAQkB,GAAalB,CAAG,IAAM,kBAC1CsB,GAActB,GAAQ,OAAOA,GAAQ,WACrCuB,GAAYvB,GAAQ,OAAOA,GAAQ,SACnCwB,GAAYxB,GAAQ,OAAOA,GAAQ,SACnCyB,GAAYzB,GAAQA,IAAQ,MAAQ,OAAOA,GAAQ,SACnD0B,GAAa1B,IACTyB,GAASzB,CAAG,GAAKsB,GAAWtB,CAAG,IAAMsB,GAAWtB,EAAI,IAAI,GAAKsB,GAAWtB,EAAI,KAAK,EAErF2B,GAAiB,OAAO,UAAU,SAClCT,GAAgBU,GAAUD,GAAe,KAAKC,CAAK,EACnDC,GAAaD,GACVV,GAAaU,CAAK,EAAE,MAAM,EAAG,EAAE,EAElCE,GAAiB9B,GAAQkB,GAAalB,CAAG,IAAM,kBAC/C+B,GAAgBxB,GAAQgB,GAAShB,CAAG,GAAKA,IAAQ,OAASA,EAAI,CAAC,IAAM,KAAO,GAAK,SAASA,EAAK,EAAE,IAAMA,EACvGyB,GAAiCrC,GAErC,qIACF,EAIMsC,GAAuBC,GAAO,CAClC,MAAMC,EAAwB,OAAO,OAAO,IAAI,EAChD,OAAQvC,GACMuC,EAAMvC,CAAG,IACNuC,EAAMvC,CAAG,EAAIsC,EAAGtC,CAAG,EAEtC,EACMwC,GAAa,SACbC,GAAWJ,GAAqBrC,GAC7BA,EAAI,QAAQwC,GAAY,CAACE,EAAGC,IAAMA,EAAIA,EAAE,YAAa,EAAG,EAAE,CAClE,EACKC,GAAc,aACdC,GAAYR,GACfrC,GAAQA,EAAI,QAAQ4C,GAAa,KAAK,EAAE,YAAa,CACxD,EACME,GAAaT,GAAqBrC,GAC/BA,EAAI,OAAO,CAAC,EAAE,YAAW,EAAKA,EAAI,MAAM,CAAC,CACjD,EACK+C,GAAeV,GAAqBrC,GAC9BA,EAAM,KAAK8C,GAAW9C,CAAG,CAAC,GAAK,EAE1C,EACKgD,GAAa,CAAChB,EAAOiB,IAAa,CAAC,OAAO,GAAGjB,EAAOiB,CAAQ,EAC5DC,GAAiB,CAACC,EAAKC,IAAQ,CACnC,QAASnC,EAAI,EAAGA,EAAIkC,EAAI,OAAQlC,IAC9BkC,EAAIlC,CAAC,EAAEmC,CAAG,CAEd,EACMC,GAAM,CAACC,EAAK3C,EAAKqB,IAAU,CAC/B,OAAO,eAAesB,EAAK3C,EAAK,CAC9B,aAAc,GACd,WAAY,GACZ,MAAAqB,CACJ,CAAG,CACH,EACMuB,GAAiBnD,GAAQ,CAC7B,MAAMoD,EAAI,WAAWpD,CAAG,EACxB,OAAO,MAAMoD,CAAC,EAAIpD,EAAMoD,CAC1B,EACMC,GAAYrD,GAAQ,CACxB,MAAMoD,EAAI7B,GAASvB,CAAG,EAAI,OAAOA,CAAG,EAAI,IACxC,OAAO,MAAMoD,CAAC,EAAIpD,EAAMoD,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,IA0E/M,SAASE,GAAe5B,EAAO,CAC7B,GAAIZ,GAAQY,CAAK,EAAG,CAClB,MAAM6B,EAAM,GACZ,QAAS5C,EAAI,EAAGA,EAAIe,EAAM,OAAQf,IAAK,CACrC,MAAM6C,EAAO9B,EAAMf,CAAC,EACd8C,EAAapC,GAASmC,CAAI,EAAIE,GAAiBF,CAAI,EAAIF,GAAeE,CAAI,EAChF,GAAIC,EACF,UAAWpD,KAAOoD,EAChBF,EAAIlD,CAAG,EAAIoD,EAAWpD,CAAG,CAG9B,CACD,OAAOkD,CACR,SAAUlC,GAASK,CAAK,GAAKH,GAASG,CAAK,EAC1C,OAAOA,CAEX,CACA,MAAMiC,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,CAeA,SAASE,GAAevC,EAAO,CAC7B,IAAI6B,EAAM,GACV,GAAIlC,GAASK,CAAK,EAChB6B,EAAM7B,UACGZ,GAAQY,CAAK,EACtB,QAASf,EAAI,EAAGA,EAAIe,EAAM,OAAQf,IAAK,CACrC,MAAM8C,EAAaQ,GAAevC,EAAMf,CAAC,CAAC,EACtC8C,IACFF,GAAOE,EAAa,IAEvB,SACQlC,GAASG,CAAK,EACvB,UAAWwC,KAAQxC,EACbA,EAAMwC,CAAI,IACZX,GAAOW,EAAO,KAIpB,OAAOX,EAAI,MACb,CAqBA,MAAMY,GAAsB,8EACtBC,GAAuC3E,GAAQ0E,EAAmB,EAIxE,SAASE,GAAmB3C,EAAO,CACjC,MAAO,CAAC,CAACA,GAASA,IAAU,EAC9B,CAsEA,SAAS4C,GAAmBC,EAAGC,EAAG,CAChC,GAAID,EAAE,SAAWC,EAAE,OACjB,MAAO,GACT,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,EACR,MAAO,GACT,IAAIG,EAAazD,GAAOqD,CAAC,EACrBK,EAAa1D,GAAOsD,CAAC,EACzB,GAAIG,GAAcC,EAChB,OAAOD,GAAcC,EAAaL,EAAE,QAAS,IAAKC,EAAE,QAAS,EAAG,GAIlE,GAFAG,EAAarD,GAASiD,CAAC,EACvBK,EAAatD,GAASkD,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,EAAapD,GAASgD,CAAC,EACvBK,EAAarD,GAASiD,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,UAAWzE,KAAOkE,EAAG,CACnB,MAAMQ,EAAUR,EAAE,eAAelE,CAAG,EAC9B2E,EAAUR,EAAE,eAAenE,CAAG,EACpC,GAAI0E,GAAW,CAACC,GAAW,CAACD,GAAWC,GAAW,CAACN,GAAWH,EAAElE,CAAG,EAAGmE,EAAEnE,CAAG,CAAC,EAC1E,MAAO,EAEV,CACF,CACD,OAAO,OAAOkE,CAAC,IAAM,OAAOC,CAAC,CAC/B,CACA,SAASS,GAAaxE,EAAKX,EAAK,CAC9B,OAAOW,EAAI,UAAW+C,GAASkB,GAAWlB,EAAM1D,CAAG,CAAC,CACtD,CAEA,MAAMoF,GAAmBpF,GAChBuB,GAASvB,CAAG,EAAIA,EAAMA,GAAO,KAAO,GAAKgB,GAAQhB,CAAG,GAAKyB,GAASzB,CAAG,IAAMA,EAAI,WAAa2B,IAAkB,CAACL,GAAWtB,EAAI,QAAQ,GAAK,KAAK,UAAUA,EAAKqF,GAAU,CAAC,EAAI,OAAOrF,CAAG,EAE3LqF,GAAW,CAACC,EAAMtF,IAClBA,GAAOA,EAAI,UACNqF,GAASC,EAAMtF,EAAI,KAAK,EACtBiB,GAAMjB,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,QAAS,GAAE,OAAO,CAACuF,EAAS,CAAChF,EAAKiF,CAAI,KAClED,EAAQ,GAAGhF,CAAG,KAAK,EAAIiF,EAChBD,GACN,EAAE,CACX,EACapE,GAAMnB,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,QAAQ,CAC5C,EACayB,GAASzB,CAAG,GAAK,CAACgB,GAAQhB,CAAG,GAAK,CAAC8B,GAAc9B,CAAG,EACtD,OAAOA,CAAG,EAEZA,EC9YT,IAAIyF,GACJ,MAAMC,EAAY,CAChB,YAAYC,EAAW,GAAO,CAC5B,KAAK,SAAWA,EAIhB,KAAK,QAAU,GAIf,KAAK,QAAU,GAIf,KAAK,SAAW,GAChB,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,IAAIvD,EAAI,CACN,GAAI,KAAK,QAAS,CAChB,MAAM0D,EAAqBH,GAC3B,GAAI,CACF,OAAAA,GAAoB,KACbvD,EAAE,CACjB,QAAgB,CACRuD,GAAoBG,CACrB,CAGF,CACF,CAKD,IAAK,CACHH,GAAoB,IACrB,CAKD,KAAM,CACJA,GAAoB,KAAK,MAC1B,CACD,KAAKI,EAAY,CACf,GAAI,KAAK,QAAS,CAChB,IAAIhF,EAAGiF,EACP,IAAKjF,EAAI,EAAGiF,EAAI,KAAK,QAAQ,OAAQjF,EAAIiF,EAAGjF,IAC1C,KAAK,QAAQA,CAAC,EAAE,KAAI,EAEtB,IAAKA,EAAI,EAAGiF,EAAI,KAAK,SAAS,OAAQjF,EAAIiF,EAAGjF,IAC3C,KAAK,SAASA,CAAC,IAEjB,GAAI,KAAK,OACP,IAAKA,EAAI,EAAGiF,EAAI,KAAK,OAAO,OAAQjF,EAAIiF,EAAGjF,IACzC,KAAK,OAAOA,CAAC,EAAE,KAAK,EAAI,EAG5B,GAAI,CAAC,KAAK,UAAY,KAAK,QAAU,CAACgF,EAAY,CAChD,MAAME,EAAO,KAAK,OAAO,OAAO,IAAG,EAC/BA,GAAQA,IAAS,OACnB,KAAK,OAAO,OAAO,KAAK,KAAK,EAAIA,EACjCA,EAAK,MAAQ,KAAK,MAErB,CACD,KAAK,OAAS,OACd,KAAK,QAAU,EAChB,CACF,CACH,CAIA,SAASC,GAAkBC,EAAQC,EAAQT,GAAmB,CACxDS,GAASA,EAAM,QACjBA,EAAM,QAAQ,KAAKD,CAAM,CAE7B,CACA,SAASE,IAAkB,CACzB,OAAOV,EACT,CACA,SAASW,GAAelE,EAAI,CACtBuD,IACFA,GAAkB,SAAS,KAAKvD,CAAE,CAMtC,CAEA,MAAMmE,GAAaC,GAAY,CAC7B,MAAMC,EAAM,IAAI,IAAID,CAAO,EAC3B,OAAAC,EAAI,EAAI,EACRA,EAAI,EAAI,EACDA,CACT,EACMC,GAAcD,IAASA,EAAI,EAAIE,IAAc,EAC7CC,GAAcH,IAASA,EAAI,EAAIE,IAAc,EAC7CE,GAAiB,CAAC,CAAE,KAAAC,KAAW,CACnC,GAAIA,EAAK,OACP,QAAS/F,EAAI,EAAGA,EAAI+F,EAAK,OAAQ/F,IAC/B+F,EAAK/F,CAAC,EAAE,GAAK4F,EAGnB,EACMI,GAAsBZ,GAAW,CACrC,KAAM,CAAE,KAAAW,CAAM,EAAGX,EACjB,GAAIW,EAAK,OAAQ,CACf,IAAIE,EAAM,EACV,QAASjG,EAAI,EAAGA,EAAI+F,EAAK,OAAQ/F,IAAK,CACpC,MAAM0F,EAAMK,EAAK/F,CAAC,EACd2F,GAAWD,CAAG,GAAK,CAACG,GAAWH,CAAG,EACpCA,EAAI,OAAON,CAAM,EAEjBW,EAAKE,GAAK,EAAIP,EAEhBA,EAAI,GAAK,CAACE,GACVF,EAAI,GAAK,CAACE,EACX,CACDG,EAAK,OAASE,CACf,CACH,EAEMC,GAA4B,IAAI,QACtC,IAAIC,GAAmB,EACnBP,GAAa,EACjB,MAAMQ,GAAgB,GACtB,IAAIC,GACJ,MAAMC,GAAc,OAA+D,EAAE,EAC/EC,GAAsB,OAAuE,EAAE,EACrG,MAAMC,EAAe,CACnB,YAAYnF,EAAIoF,EAAY,KAAMpB,EAAO,CACvC,KAAK,GAAKhE,EACV,KAAK,UAAYoF,EACjB,KAAK,OAAS,GACd,KAAK,KAAO,GACZ,KAAK,OAAS,OACdtB,GAAkB,KAAME,CAAK,CAC9B,CACD,KAAM,CACJ,GAAI,CAAC,KAAK,OACR,OAAO,KAAK,KAEd,IAAIqB,EAASL,GACTM,EAAkBC,GACtB,KAAOF,GAAQ,CACb,GAAIA,IAAW,KACb,OAEFA,EAASA,EAAO,MACjB,CACD,GAAI,CACF,YAAK,OAASL,GACdA,GAAe,KACfO,GAAc,GACdhB,GAAa,GAAK,EAAEO,GAChBA,IAAoBC,GACtBN,GAAe,IAAI,EAEnBe,GAAc,IAAI,EAEb,KAAK,IAClB,QAAc,CACJV,IAAoBC,IACtBJ,GAAmB,IAAI,EAEzBJ,GAAa,GAAK,EAAEO,GACpBE,GAAe,KAAK,OACpBO,GAAcD,EACd,KAAK,OAAS,OACV,KAAK,WACP,KAAK,KAAI,CAEZ,CACF,CACD,MAAO,CACDN,KAAiB,KACnB,KAAK,UAAY,GACR,KAAK,SACdQ,GAAc,IAAI,EACd,KAAK,QACP,KAAK,OAAM,EAEb,KAAK,OAAS,GAEjB,CACH,CACA,SAASA,GAAcC,EAAS,CAC9B,KAAM,CAAE,KAAAf,CAAM,EAAGe,EACjB,GAAIf,EAAK,OAAQ,CACf,QAAS/F,EAAI,EAAGA,EAAI+F,EAAK,OAAQ/F,IAC/B+F,EAAK/F,CAAC,EAAE,OAAO8G,CAAO,EAExBf,EAAK,OAAS,CACf,CACH,CAqBA,IAAIa,GAAc,GAClB,MAAMG,GAAa,GACnB,SAASC,IAAgB,CACvBD,GAAW,KAAKH,EAAW,EAC3BA,GAAc,EAChB,CAKA,SAASK,IAAgB,CACvB,MAAM/B,EAAO6B,GAAW,MACxBH,GAAc1B,IAAS,OAAS,GAAOA,CACzC,CACA,SAASgC,GAAMC,EAAQC,EAAM1H,EAAK,CAChC,GAAIkH,IAAeP,GAAc,CAC/B,IAAIgB,EAAUnB,GAAU,IAAIiB,CAAM,EAC7BE,GACHnB,GAAU,IAAIiB,EAAQE,EAA0B,IAAI,GAAK,EAE3D,IAAI3B,EAAM2B,EAAQ,IAAI3H,CAAG,EACpBgG,GACH2B,EAAQ,IAAI3H,EAAKgG,EAAMF,GAAW,GAGpC8B,GAAa5B,CAAc,CAC5B,CACH,CACA,SAAS4B,GAAa5B,EAAK6B,EAAwB,CACjD,IAAIC,EAAe,GACfrB,IAAoBC,GACjBP,GAAWH,CAAG,IACjBA,EAAI,GAAKE,GACT4B,EAAe,CAAC7B,GAAWD,CAAG,GAGhC8B,EAAe,CAAC9B,EAAI,IAAIW,EAAY,EAElCmB,IACF9B,EAAI,IAAIW,EAAY,EACpBA,GAAa,KAAK,KAAKX,CAAG,EAY9B,CACA,SAAS+B,GAAQN,EAAQC,EAAM1H,EAAKgI,EAAU1F,EAAU2F,EAAW,CACjE,MAAMN,EAAUnB,GAAU,IAAIiB,CAAM,EACpC,GAAI,CAACE,EACH,OAEF,IAAItB,EAAO,GACX,GAAIqB,IAAS,QACXrB,EAAO,CAAC,GAAGsB,EAAQ,OAAQ,WAClB3H,IAAQ,UAAYS,GAAQgH,CAAM,EAAG,CAC9C,MAAMS,EAAY,OAAOF,CAAQ,EACjCL,EAAQ,QAAQ,CAAC3B,EAAKmC,IAAS,EACzBA,IAAS,UAAY,CAAClH,GAASkH,CAAI,GAAKA,GAAQD,IAClD7B,EAAK,KAAKL,CAAG,CAErB,CAAK,CACL,KAII,QAHIhG,IAAQ,QACVqG,EAAK,KAAKsB,EAAQ,IAAI3H,CAAG,CAAC,EAEpB0H,EAAI,CACV,IAAK,MACEjH,GAAQgH,CAAM,EAKRjG,GAAaxB,CAAG,GACzBqG,EAAK,KAAKsB,EAAQ,IAAI,QAAQ,CAAC,GAL/BtB,EAAK,KAAKsB,EAAQ,IAAIf,EAAW,CAAC,EAC9BlG,GAAM+G,CAAM,GACdpB,EAAK,KAAKsB,EAAQ,IAAId,EAAmB,CAAC,GAK9C,MACF,IAAK,SACEpG,GAAQgH,CAAM,IACjBpB,EAAK,KAAKsB,EAAQ,IAAIf,EAAW,CAAC,EAC9BlG,GAAM+G,CAAM,GACdpB,EAAK,KAAKsB,EAAQ,IAAId,EAAmB,CAAC,GAG9C,MACF,IAAK,MACCnG,GAAM+G,CAAM,GACdpB,EAAK,KAAKsB,EAAQ,IAAIf,EAAW,CAAC,EAEpC,KACH,CAGH,GAAIP,EAAK,SAAW,EACdA,EAAK,CAAC,GAIN+B,GAAe/B,EAAK,CAAC,CAAC,MAGrB,CACL,MAAMN,EAAU,GAChB,UAAWC,KAAOK,EACZL,GACFD,EAAQ,KAAK,GAAGC,CAAG,EAMrBoC,GAAetC,GAAUC,CAAO,CAAC,CAEpC,CACH,CACA,SAASqC,GAAepC,EAAK6B,EAAwB,CACnD,MAAM9B,EAAUtF,GAAQuF,CAAG,EAAIA,EAAM,CAAC,GAAGA,CAAG,EAC5C,UAAWoB,KAAWrB,EAChBqB,EAAQ,UACViB,GAAcjB,CAA+B,EAGjD,UAAWA,KAAWrB,EACfqB,EAAQ,UACXiB,GAAcjB,CAA+B,CAGnD,CACA,SAASiB,GAAcjB,EAASS,EAAwB,EAClDT,IAAYT,IAAgBS,EAAQ,gBAIlCA,EAAQ,UACVA,EAAQ,UAAS,EAEjBA,EAAQ,IAAG,EAGjB,CACA,SAASkB,GAAmBC,EAAQvI,EAAK,CACvC,IAAIwI,EACJ,OAAQA,EAAKhC,GAAU,IAAI+B,CAAM,IAAM,KAAO,OAASC,EAAG,IAAIxI,CAAG,CACnE,CAEA,MAAMyI,GAAqCrJ,GAAQ,6BAA6B,EAC1EsJ,GAAiB,IAAI,IACT,OAAO,oBAAoB,MAAM,EAAE,OAAQ1I,GAAQA,IAAQ,aAAeA,IAAQ,QAAQ,EAAE,IAAKA,GAAQ,OAAOA,CAAG,CAAC,EAAE,OAAOiB,EAAQ,CACvJ,EACM0H,GAAwCC,GAA2B,EACzE,SAASA,IAA8B,CACrC,MAAMC,EAAmB,GACzB,OAAC,WAAY,UAAW,aAAa,EAAE,QAAS7I,GAAQ,CACtD6I,EAAiB7I,CAAG,EAAI,YAAY8I,EAAM,CACxC,MAAM1I,EAAM2I,GAAM,IAAI,EACtB,QAASzI,EAAI,EAAGiF,EAAI,KAAK,OAAQjF,EAAIiF,EAAGjF,IACtCkH,GAAMpH,EAAK,MAAOE,EAAI,EAAE,EAE1B,MAAM4C,EAAM9C,EAAIJ,CAAG,EAAE,GAAG8I,CAAI,EAC5B,OAAI5F,IAAQ,IAAMA,IAAQ,GACjB9C,EAAIJ,CAAG,EAAE,GAAG8I,EAAK,IAAIC,EAAK,CAAC,EAE3B7F,CAEf,CACA,CAAG,EACD,CAAC,OAAQ,MAAO,QAAS,UAAW,QAAQ,EAAE,QAASlD,GAAQ,CAC7D6I,EAAiB7I,CAAG,EAAI,YAAY8I,EAAM,CACxCxB,KACA,MAAMpE,EAAM6F,GAAM,IAAI,EAAE/I,CAAG,EAAE,MAAM,KAAM8I,CAAI,EAC7C,OAAAvB,KACOrE,CACb,CACA,CAAG,EACM2F,CACT,CACA,SAAStI,GAAeP,EAAK,CAC3B,MAAM2C,EAAMoG,GAAM,IAAI,EACtB,OAAAvB,GAAM7E,EAAK,MAAO3C,CAAG,EACd2C,EAAI,eAAe3C,CAAG,CAC/B,CACA,MAAMgJ,EAAoB,CACxB,YAAYC,EAAc,GAAOC,EAAW,GAAO,CACjD,KAAK,YAAcD,EACnB,KAAK,SAAWC,CACjB,CACD,IAAIzB,EAAQzH,EAAKmJ,EAAU,CACzB,MAAMC,EAAc,KAAK,YAAaC,EAAU,KAAK,SACrD,GAAIrJ,IAAQ,iBACV,MAAO,CAACoJ,EACH,GAAIpJ,IAAQ,iBACjB,OAAOoJ,EACF,GAAIpJ,IAAQ,gBACjB,OAAOqJ,EACF,GAAIrJ,IAAQ,WAAamJ,KAAcC,EAAcC,EAAUC,GAAqBC,GAAcF,EAAUG,GAAqBC,IAAa,IAAIhC,CAAM,EAC7J,OAAOA,EAET,MAAMiC,EAAgBjJ,GAAQgH,CAAM,EACpC,GAAI,CAAC2B,EAAa,CAChB,GAAIM,GAAiBlJ,GAAOmI,GAAuB3I,CAAG,EACpD,OAAO,QAAQ,IAAI2I,GAAuB3I,EAAKmJ,CAAQ,EAEzD,GAAInJ,IAAQ,iBACV,OAAOO,EAEV,CACD,MAAM2C,EAAM,QAAQ,IAAIuE,EAAQzH,EAAKmJ,CAAQ,EAO7C,OANIlI,GAASjB,CAAG,EAAI0I,GAAe,IAAI1I,CAAG,EAAIyI,GAAmBzI,CAAG,KAG/DoJ,GACH5B,GAAMC,EAAQ,MAAOzH,CAAG,EAEtBqJ,GACKnG,EAELyG,GAAMzG,CAAG,EACJwG,GAAiBlI,GAAaxB,CAAG,EAAIkD,EAAMA,EAAI,MAEpDhC,GAASgC,CAAG,EACPkG,EAAcQ,GAAS1G,CAAG,EAAI2G,GAAS3G,CAAG,EAE5CA,CACR,CACH,CACA,MAAM4G,WAA+Bd,EAAoB,CACvD,YAAYK,EAAU,GAAO,CAC3B,MAAM,GAAOA,CAAO,CACrB,CACD,IAAI5B,EAAQzH,EAAKqB,EAAO8H,EAAU,CAChC,IAAI7G,EAAWmF,EAAOzH,CAAG,EACzB,GAAI+J,GAAWzH,CAAQ,GAAKqH,GAAMrH,CAAQ,GAAK,CAACqH,GAAMtI,CAAK,EACzD,MAAO,GAET,GAAI,CAAC,KAAK,WACJ,CAAC2I,GAAU3I,CAAK,GAAK,CAAC0I,GAAW1I,CAAK,IACxCiB,EAAWyG,GAAMzG,CAAQ,EACzBjB,EAAQ0H,GAAM1H,CAAK,GAEjB,CAACZ,GAAQgH,CAAM,GAAKkC,GAAMrH,CAAQ,GAAK,CAACqH,GAAMtI,CAAK,GACrD,OAAAiB,EAAS,MAAQjB,EACV,GAGX,MAAM4I,EAASxJ,GAAQgH,CAAM,GAAKjG,GAAaxB,CAAG,EAAI,OAAOA,CAAG,EAAIyH,EAAO,OAASjH,GAAOiH,EAAQzH,CAAG,EAChGkK,EAAS,QAAQ,IAAIzC,EAAQzH,EAAKqB,EAAO8H,CAAQ,EACvD,OAAI1B,IAAWsB,GAAMI,CAAQ,IACtBc,EAEM5H,GAAWhB,EAAOiB,CAAQ,GACnCyF,GAAQN,EAAQ,MAAOzH,EAAKqB,CAAe,EAF3C0G,GAAQN,EAAQ,MAAOzH,EAAKqB,CAAK,GAK9B6I,CACR,CACD,eAAezC,EAAQzH,EAAK,CAC1B,MAAMiK,EAASzJ,GAAOiH,EAAQzH,CAAG,EAChByH,EAAOzH,CAAG,EAC3B,MAAMkK,EAAS,QAAQ,eAAezC,EAAQzH,CAAG,EACjD,OAAIkK,GAAUD,GACZlC,GAAQN,EAAQ,SAAUzH,EAAK,MAAgB,EAE1CkK,CACR,CACD,IAAIzC,EAAQzH,EAAK,CACf,MAAMkK,EAAS,QAAQ,IAAIzC,EAAQzH,CAAG,EACtC,OAAI,CAACiB,GAASjB,CAAG,GAAK,CAAC0I,GAAe,IAAI1I,CAAG,IAC3CwH,GAAMC,EAAQ,MAAOzH,CAAG,EAEnBkK,CACR,CACD,QAAQzC,EAAQ,CACd,OAAAD,GACEC,EACA,UACAhH,GAAQgH,CAAM,EAAI,SAAWb,EACnC,EACW,QAAQ,QAAQa,CAAM,CAC9B,CACH,CACA,MAAM0C,WAAgCnB,EAAoB,CACxD,YAAYK,EAAU,GAAO,CAC3B,MAAM,GAAMA,CAAO,CACpB,CACD,IAAI5B,EAAQzH,EAAK,CAOf,MAAO,EACR,CACD,eAAeyH,EAAQzH,EAAK,CAO1B,MAAO,EACR,CACH,CACA,MAAMoK,GAAkC,IAAIN,GACtCO,GAAmC,IAAIF,GACvCG,GAA0C,IAAIR,GAClD,EACF,EAGMS,GAAalJ,GAAUA,EACvBmJ,GAAYC,GAAM,QAAQ,eAAeA,CAAC,EAChD,SAASC,GAAIjD,EAAQzH,EAAK+J,EAAa,GAAOC,EAAY,GAAO,CAC/DvC,EAASA,EAAO,QAChB,MAAMkD,EAAY5B,GAAMtB,CAAM,EACxBmD,EAAS7B,GAAM/I,CAAG,EACnB+J,IACC1H,GAAWrC,EAAK4K,CAAM,GACxBpD,GAAMmD,EAAW,MAAO3K,CAAG,EAE7BwH,GAAMmD,EAAW,MAAOC,CAAM,GAEhC,KAAM,CAAE,IAAKC,CAAM,EAAGL,GAASG,CAAS,EAClCG,EAAOd,EAAYO,GAAYR,EAAagB,GAAaC,GAC/D,GAAIH,EAAK,KAAKF,EAAW3K,CAAG,EAC1B,OAAO8K,EAAKrD,EAAO,IAAIzH,CAAG,CAAC,EACtB,GAAI6K,EAAK,KAAKF,EAAWC,CAAM,EACpC,OAAOE,EAAKrD,EAAO,IAAImD,CAAM,CAAC,EACrBnD,IAAWkD,GACpBlD,EAAO,IAAIzH,CAAG,CAElB,CACA,SAASiL,GAAIjL,EAAK+J,EAAa,GAAO,CACpC,MAAMtC,EAAS,KAAK,QACdkD,EAAY5B,GAAMtB,CAAM,EACxBmD,EAAS7B,GAAM/I,CAAG,EACxB,OAAK+J,IACC1H,GAAWrC,EAAK4K,CAAM,GACxBpD,GAAMmD,EAAW,MAAO3K,CAAG,EAE7BwH,GAAMmD,EAAW,MAAOC,CAAM,GAEzB5K,IAAQ4K,EAASnD,EAAO,IAAIzH,CAAG,EAAIyH,EAAO,IAAIzH,CAAG,GAAKyH,EAAO,IAAImD,CAAM,CAChF,CACA,SAASM,GAAKzD,EAAQsC,EAAa,GAAO,CACxC,OAAAtC,EAASA,EAAO,QAChB,CAACsC,GAAcvC,GAAMuB,GAAMtB,CAAM,EAAG,UAAWb,EAAW,EACnD,QAAQ,IAAIa,EAAQ,OAAQA,CAAM,CAC3C,CACA,SAAS0D,GAAI9J,EAAO,CAClBA,EAAQ0H,GAAM1H,CAAK,EACnB,MAAMoG,EAASsB,GAAM,IAAI,EAGzB,OAFcyB,GAAS/C,CAAM,EACR,IAAI,KAAKA,EAAQpG,CAAK,IAEzCoG,EAAO,IAAIpG,CAAK,EAChB0G,GAAQN,EAAQ,MAAOpG,EAAOA,CAAK,GAE9B,IACT,CACA,SAAS+J,GAAIpL,EAAKqB,EAAO,CACvBA,EAAQ0H,GAAM1H,CAAK,EACnB,MAAMoG,EAASsB,GAAM,IAAI,EACnB,CAAE,IAAK8B,EAAM,IAAKQ,GAASb,GAAS/C,CAAM,EAChD,IAAIwC,EAASY,EAAK,KAAKpD,EAAQzH,CAAG,EAC7BiK,IACHjK,EAAM+I,GAAM/I,CAAG,EACfiK,EAASY,EAAK,KAAKpD,EAAQzH,CAAG,GAIhC,MAAMsC,EAAW+I,EAAK,KAAK5D,EAAQzH,CAAG,EACtC,OAAAyH,EAAO,IAAIzH,EAAKqB,CAAK,EAChB4I,EAEM5H,GAAWhB,EAAOiB,CAAQ,GACnCyF,GAAQN,EAAQ,MAAOzH,EAAKqB,CAAe,EAF3C0G,GAAQN,EAAQ,MAAOzH,EAAKqB,CAAK,EAI5B,IACT,CACA,SAASiK,GAAYtL,EAAK,CACxB,MAAMyH,EAASsB,GAAM,IAAI,EACnB,CAAE,IAAK8B,EAAM,IAAKQ,GAASb,GAAS/C,CAAM,EAChD,IAAIwC,EAASY,EAAK,KAAKpD,EAAQzH,CAAG,EAC7BiK,IACHjK,EAAM+I,GAAM/I,CAAG,EACfiK,EAASY,EAAK,KAAKpD,EAAQzH,CAAG,GAIfqL,GAAOA,EAAK,KAAK5D,EAAQzH,CAAG,EAC7C,MAAMkK,EAASzC,EAAO,OAAOzH,CAAG,EAChC,OAAIiK,GACFlC,GAAQN,EAAQ,SAAUzH,EAAK,MAAgB,EAE1CkK,CACT,CACA,SAASqB,IAAQ,CACf,MAAM9D,EAASsB,GAAM,IAAI,EACnByC,EAAW/D,EAAO,OAAS,EAE3ByC,EAASzC,EAAO,QACtB,OAAI+D,GACFzD,GAAQN,EAAQ,QAAS,OAAQ,MAAiB,EAE7CyC,CACT,CACA,SAASuB,GAAc1B,EAAYC,EAAW,CAC5C,OAAO,SAAiB0B,EAAUC,EAAS,CACzC,MAAMC,EAAW,KACXnE,EAASmE,EAAS,QAClBjB,EAAY5B,GAAMtB,CAAM,EACxBqD,EAAOd,EAAYO,GAAYR,EAAagB,GAAaC,GAC/D,OAACjB,GAAcvC,GAAMmD,EAAW,UAAW/D,EAAW,EAC/Ca,EAAO,QAAQ,CAACpG,EAAOrB,IACrB0L,EAAS,KAAKC,EAASb,EAAKzJ,CAAK,EAAGyJ,EAAK9K,CAAG,EAAG4L,CAAQ,CAC/D,CACL,CACA,CACA,SAASC,GAAqBC,EAAQ/B,EAAYC,EAAW,CAC3D,OAAO,YAAYlB,EAAM,CACvB,MAAMrB,EAAS,KAAK,QACdkD,EAAY5B,GAAMtB,CAAM,EACxBsE,EAAcrL,GAAMiK,CAAS,EAC7BqB,EAASF,IAAW,WAAaA,IAAW,OAAO,UAAYC,EAC/DE,EAAYH,IAAW,QAAUC,EACjCG,EAAgBzE,EAAOqE,CAAM,EAAE,GAAGhD,CAAI,EACtCgC,EAAOd,EAAYO,GAAYR,EAAagB,GAAaC,GAC/D,OAACjB,GAAcvC,GACbmD,EACA,UACAsB,EAAYpF,GAAsBD,EACxC,EACW,CAEL,MAAO,CACL,KAAM,CAAE,MAAAvF,EAAO,KAAA8K,CAAM,EAAGD,EAAc,KAAI,EAC1C,OAAOC,EAAO,CAAE,MAAA9K,EAAO,KAAA8K,GAAS,CAC9B,MAAOH,EAAS,CAAClB,EAAKzJ,EAAM,CAAC,CAAC,EAAGyJ,EAAKzJ,EAAM,CAAC,CAAC,CAAC,EAAIyJ,EAAKzJ,CAAK,EAC7D,KAAA8K,CACV,CACO,EAED,CAAC,OAAO,QAAQ,GAAI,CAClB,OAAO,IACR,CACP,CACA,CACA,CACA,SAASC,GAAqB1E,EAAM,CAClC,OAAO,YAAYoB,EAAM,CAQvB,OAAOpB,IAAS,SAAW,GAAQ,IACvC,CACA,CACA,SAAS2E,IAAyB,CAChC,MAAMC,EAA2B,CAC/B,IAAItM,EAAK,CACP,OAAO0K,GAAI,KAAM1K,CAAG,CACrB,EACD,IAAI,MAAO,CACT,OAAOkL,GAAK,IAAI,CACjB,EACD,IAAAD,GACA,IAAAE,GACA,IAAAC,GACA,OAAQE,GACR,MAAAC,GACA,QAASE,GAAc,GAAO,EAAK,CACvC,EACQc,EAA2B,CAC/B,IAAIvM,EAAK,CACP,OAAO0K,GAAI,KAAM1K,EAAK,GAAO,EAAI,CAClC,EACD,IAAI,MAAO,CACT,OAAOkL,GAAK,IAAI,CACjB,EACD,IAAAD,GACA,IAAAE,GACA,IAAAC,GACA,OAAQE,GACR,MAAAC,GACA,QAASE,GAAc,GAAO,EAAI,CACtC,EACQe,EAA4B,CAChC,IAAIxM,EAAK,CACP,OAAO0K,GAAI,KAAM1K,EAAK,EAAI,CAC3B,EACD,IAAI,MAAO,CACT,OAAOkL,GAAK,KAAM,EAAI,CACvB,EACD,IAAIlL,EAAK,CACP,OAAOiL,GAAI,KAAK,KAAMjL,EAAK,EAAI,CAChC,EACD,IAAKoM,GAAqB,KAAK,EAC/B,IAAKA,GAAqB,KAAK,EAC/B,OAAQA,GAAqB,QAAQ,EACrC,MAAOA,GAAqB,OAAO,EACnC,QAASX,GAAc,GAAM,EAAK,CACtC,EACQgB,EAAmC,CACvC,IAAIzM,EAAK,CACP,OAAO0K,GAAI,KAAM1K,EAAK,GAAM,EAAI,CACjC,EACD,IAAI,MAAO,CACT,OAAOkL,GAAK,KAAM,EAAI,CACvB,EACD,IAAIlL,EAAK,CACP,OAAOiL,GAAI,KAAK,KAAMjL,EAAK,EAAI,CAChC,EACD,IAAKoM,GAAqB,KAAK,EAC/B,IAAKA,GAAqB,KAAK,EAC/B,OAAQA,GAAqB,QAAQ,EACrC,MAAOA,GAAqB,OAAO,EACnC,QAASX,GAAc,GAAM,EAAI,CACrC,EAEE,MADwB,CAAC,OAAQ,SAAU,UAAW,OAAO,QAAQ,EACrD,QAASK,GAAW,CAClCQ,EAAyBR,CAAM,EAAID,GACjCC,EACA,GACA,EACN,EACIU,EAA0BV,CAAM,EAAID,GAClCC,EACA,GACA,EACN,EACIS,EAAyBT,CAAM,EAAID,GACjCC,EACA,GACA,EACN,EACIW,EAAiCX,CAAM,EAAID,GACzCC,EACA,GACA,EACN,CACA,CAAG,EACM,CACLQ,EACAE,EACAD,EACAE,CACJ,CACA,CACA,KAAM,CACJC,GACAC,GACAC,GACAC,EACF,EAAoBR,GAAsB,EAC1C,SAASS,GAA4B/C,EAAYV,EAAS,CACxD,MAAMR,EAAmBQ,EAAUU,EAAa8C,GAAkCD,GAA0B7C,EAAa4C,GAA2BD,GACpJ,MAAO,CAACjF,EAAQzH,EAAKmJ,IACfnJ,IAAQ,iBACH,CAAC+J,EACC/J,IAAQ,iBACV+J,EACE/J,IAAQ,UACVyH,EAEF,QAAQ,IACbjH,GAAOqI,EAAkB7I,CAAG,GAAKA,KAAOyH,EAASoB,EAAmBpB,EACpEzH,EACAmJ,CACN,CAEA,CACA,MAAM4D,GAA4B,CAChC,IAAqBD,GAA4B,GAAO,EAAK,CAC/D,EACME,GAA4B,CAChC,IAAqBF,GAA4B,GAAO,EAAI,CAC9D,EACMG,GAA6B,CACjC,IAAqBH,GAA4B,GAAM,EAAK,CAC9D,EAcMrD,GAA8B,IAAI,QAClCD,GAAqC,IAAI,QACzCD,GAA8B,IAAI,QAClCD,GAAqC,IAAI,QAC/C,SAAS4D,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/L,EAAO,CAC5B,OAAOA,EAAM,UAAe,CAAC,OAAO,aAAaA,CAAK,EAAI,EAAkB6L,GAAc5L,GAAUD,CAAK,CAAC,CAC5G,CACA,SAASwI,GAASpC,EAAQ,CACxB,OAAIsC,GAAWtC,CAAM,EACZA,EAEF4F,GACL5F,EACA,GACA2C,GACA2C,GACAtD,EACJ,CACA,CACA,SAAS6D,GAAgB7F,EAAQ,CAC/B,OAAO4F,GACL5F,EACA,GACA6C,GACA0C,GACAxD,EACJ,CACA,CACA,SAASI,GAASnC,EAAQ,CACxB,OAAO4F,GACL5F,EACA,GACA4C,GACA4C,GACA1D,EACJ,CACA,CAUA,SAAS8D,GAAqB5F,EAAQ2B,EAAamE,EAAcC,EAAoBC,EAAU,CAO7F,GANI,CAACvM,GAASuG,CAAM,GAMhBA,EAAO,SAAc,EAAE2B,GAAe3B,EAAO,gBAC/C,OAAOA,EAET,MAAMiG,EAAgBD,EAAS,IAAIhG,CAAM,EACzC,GAAIiG,EACF,OAAOA,EAET,MAAMC,EAAaP,GAAc3F,CAAM,EACvC,GAAIkG,IAAe,EACjB,OAAOlG,EAET,MAAMmG,EAAQ,IAAI,MAChBnG,EACAkG,IAAe,EAAqBH,EAAqBD,CAC7D,EACE,OAAAE,EAAS,IAAIhG,EAAQmG,CAAK,EACnBA,CACT,CACA,SAASC,GAAWxM,EAAO,CACzB,OAAI0I,GAAW1I,CAAK,EACXwM,GAAWxM,EAAM,OAAU,EAE7B,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAAS0I,GAAW1I,EAAO,CACzB,MAAO,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAAS2I,GAAU3I,EAAO,CACxB,MAAO,CAAC,EAAEA,GAASA,EAAM,cAC3B,CACA,SAASyM,GAAQzM,EAAO,CACtB,OAAOwM,GAAWxM,CAAK,GAAK0I,GAAW1I,CAAK,CAC9C,CACA,SAAS0H,GAAM6C,EAAU,CACvB,MAAMmC,EAAMnC,GAAYA,EAAS,QACjC,OAAOmC,EAAMhF,GAAMgF,CAAG,EAAInC,CAC5B,CACA,SAASoC,GAAQ3M,EAAO,CACtB,OAAAqB,GAAIrB,EAAO,WAAY,EAAI,EACpBA,CACT,CACA,MAAM2J,GAAc3J,GAAUH,GAASG,CAAK,EAAIwI,GAASxI,CAAK,EAAIA,EAC5D0J,GAAc1J,GAAUH,GAASG,CAAK,EAAIuI,GAASvI,CAAK,EAAIA,EAElE,SAAS4M,GAAcC,EAAM,CACvBhH,IAAeP,KACjBuH,EAAOnF,GAAMmF,CAAI,EAQftG,GAAasG,EAAK,MAAQA,EAAK,IAAMpI,GAAW,EAAC,EAGvD,CACA,SAASqI,GAAgBD,EAAME,EAAQ,CACrCF,EAAOnF,GAAMmF,CAAI,EACjB,MAAMlI,EAAMkI,EAAK,IACblI,GASAoC,GAAepC,CAAG,CAGxB,CACA,SAAS2D,GAAM0E,EAAG,CAChB,MAAO,CAAC,EAAEA,GAAKA,EAAE,YAAc,GACjC,CACA,SAASC,GAAIjN,EAAO,CAClB,OAAOkN,GAAUlN,EAAO,EAAK,CAC/B,CACA,SAASmN,GAAWnN,EAAO,CACzB,OAAOkN,GAAUlN,EAAO,EAAI,CAC9B,CACA,SAASkN,GAAUE,EAAUpF,EAAS,CACpC,OAAIM,GAAM8E,CAAQ,EACTA,EAEF,IAAIC,GAAQD,EAAUpF,CAAO,CACtC,CACA,MAAMqF,EAAQ,CACZ,YAAYrN,EAAOsN,EAAe,CAChC,KAAK,cAAgBA,EACrB,KAAK,IAAM,OACX,KAAK,UAAY,GACjB,KAAK,UAAYA,EAAgBtN,EAAQ0H,GAAM1H,CAAK,EACpD,KAAK,OAASsN,EAAgBtN,EAAQ2J,GAAW3J,CAAK,CACvD,CACD,IAAI,OAAQ,CACV,OAAA4M,GAAc,IAAI,EACX,KAAK,MACb,CACD,IAAI,MAAMG,EAAQ,CAChB,MAAMQ,EAAiB,KAAK,eAAiB5E,GAAUoE,CAAM,GAAKrE,GAAWqE,CAAM,EACnFA,EAASQ,EAAiBR,EAASrF,GAAMqF,CAAM,EAC3C/L,GAAW+L,EAAQ,KAAK,SAAS,IACnC,KAAK,UAAYA,EACjB,KAAK,OAASQ,EAAiBR,EAASpD,GAAWoD,CAAM,EACzDD,GAAgB,IAAY,EAE/B,CACH,CAIA,SAASU,EAAMX,EAAM,CACnB,OAAOvE,GAAMuE,CAAI,EAAIA,EAAK,MAAQA,CACpC,CAIA,MAAMY,GAAwB,CAC5B,IAAK,CAACrH,EAAQzH,EAAKmJ,IAAa0F,EAAM,QAAQ,IAAIpH,EAAQzH,EAAKmJ,CAAQ,CAAC,EACxE,IAAK,CAAC1B,EAAQzH,EAAKqB,EAAO8H,IAAa,CACrC,MAAM7G,EAAWmF,EAAOzH,CAAG,EAC3B,OAAI2J,GAAMrH,CAAQ,GAAK,CAACqH,GAAMtI,CAAK,GACjCiB,EAAS,MAAQjB,EACV,IAEA,QAAQ,IAAIoG,EAAQzH,EAAKqB,EAAO8H,CAAQ,CAElD,CACH,EACA,SAAS4F,GAAUC,EAAgB,CACjC,OAAOnB,GAAWmB,CAAc,EAAIA,EAAiB,IAAI,MAAMA,EAAgBF,EAAqB,CACtG,CACA,MAAMG,EAAc,CAClB,YAAYC,EAAS,CACnB,KAAK,IAAM,OACX,KAAK,UAAY,GACjB,KAAM,CAAE,IAAAxE,EAAK,IAAAU,CAAG,EAAK8D,EACnB,IAAMjB,GAAc,IAAI,EACxB,IAAME,GAAgB,IAAI,CAChC,EACI,KAAK,KAAOzD,EACZ,KAAK,KAAOU,CACb,CACD,IAAI,OAAQ,CACV,OAAO,KAAK,MACb,CACD,IAAI,MAAMgD,EAAQ,CAChB,KAAK,KAAKA,CAAM,CACjB,CACH,CACA,SAASe,GAAUD,EAAS,CAC1B,OAAO,IAAID,GAAcC,CAAO,CAClC,CAWA,MAAME,EAAc,CAClB,YAAYC,EAAStK,EAAMuK,EAAe,CACxC,KAAK,QAAUD,EACf,KAAK,KAAOtK,EACZ,KAAK,cAAgBuK,EACrB,KAAK,UAAY,EAClB,CACD,IAAI,OAAQ,CACV,MAAM7P,EAAM,KAAK,QAAQ,KAAK,IAAI,EAClC,OAAOA,IAAQ,OAAS,KAAK,cAAgBA,CAC9C,CACD,IAAI,MAAM2O,EAAQ,CAChB,KAAK,QAAQ,KAAK,IAAI,EAAIA,CAC3B,CACD,IAAI,KAAM,CACR,OAAO9F,GAAmBS,GAAM,KAAK,OAAO,EAAG,KAAK,IAAI,CACzD,CACH,CACA,MAAMwG,EAAc,CAClB,YAAYC,EAAS,CACnB,KAAK,QAAUA,EACf,KAAK,UAAY,GACjB,KAAK,eAAiB,EACvB,CACD,IAAI,OAAQ,CACV,OAAO,KAAK,SACb,CACH,CACA,SAASC,GAAMC,EAAQ1P,EAAK2P,EAAc,CACxC,OAAIhG,GAAM+F,CAAM,EACPA,EACE3O,GAAW2O,CAAM,EACnB,IAAIH,GAAcG,CAAM,EACtBxO,GAASwO,CAAM,GAAK,UAAU,OAAS,EACzCE,GAAcF,EAAQ1P,EAAK2P,CAAY,EAEvCrB,GAAIoB,CAAM,CAErB,CACA,SAASE,GAAcF,EAAQ1P,EAAK2P,EAAc,CAChD,MAAMlQ,EAAMiQ,EAAO1P,CAAG,EACtB,OAAO2J,GAAMlK,CAAG,EAAIA,EAAM,IAAI2P,GAAcM,EAAQ1P,EAAK2P,CAAY,CACvE,CAEA,MAAME,EAAgB,CACpB,YAAYC,EAAQC,EAAShG,EAAYiG,EAAO,CAC9C,KAAK,QAAUD,EACf,KAAK,IAAM,OACX,KAAK,UAAY,GACjB,KAAK,eAAoB,GACzB,KAAK,OAAS,GACd,KAAK,OAAS,IAAIjJ,GAAegJ,EAAQ,IAAM,CACxC,KAAK,SACR,KAAK,OAAS,GACd3B,GAAgB,IAAI,EAE5B,CAAK,EACD,KAAK,OAAO,SAAW,KACvB,KAAK,OAAO,OAAS,KAAK,WAAa,CAAC6B,EACxC,KAAK,eAAoBjG,CAC1B,CACD,IAAI,OAAQ,CACV,MAAMkG,EAAOlH,GAAM,IAAI,EACvB,OAAAkF,GAAcgC,CAAI,GACdA,EAAK,QAAU,CAACA,EAAK,cACvBA,EAAK,OAAS,GACdA,EAAK,OAASA,EAAK,OAAO,IAAG,GAExBA,EAAK,MACb,CACD,IAAI,MAAMjI,EAAU,CAClB,KAAK,QAAQA,CAAQ,CACtB,CACH,CACA,SAASkI,GAASC,EAAiBC,EAAcJ,EAAQ,GAAO,CAC9D,IAAIF,EACAO,EACJ,MAAMC,EAAavP,GAAWoP,CAAe,EAC7C,OAAIG,GACFR,EAASK,EACTE,EAEIzQ,KAEJkQ,EAASK,EAAgB,IACzBE,EAASF,EAAgB,KAEd,IAAIN,GAAgBC,EAAQO,EAAQC,GAAc,CAACD,EAAQL,CAAK,CAM/E,CC/+BA,SAASO,GAAsB5O,EAAI6O,EAAU9I,EAAMoB,EAAM,CACvD,IAAI5F,EACJ,GAAI,CACFA,EAAM4F,EAAOnH,EAAG,GAAGmH,CAAI,EAAInH,EAAE,CAC9B,OAAQ8O,EAAK,CACZC,GAAYD,EAAKD,EAAU9I,CAAI,CAChC,CACD,OAAOxE,CACT,CACA,SAASyN,GAA2BhP,EAAI6O,EAAU9I,EAAMoB,EAAM,CAC5D,GAAI/H,GAAWY,CAAE,EAAG,CAClB,MAAMuB,EAAMqN,GAAsB5O,EAAI6O,EAAU9I,EAAMoB,CAAI,EAC1D,OAAI5F,GAAO/B,GAAU+B,CAAG,GACtBA,EAAI,MAAOuN,GAAQ,CACjBC,GAAYD,EAAKD,EAAU9I,CAAI,CACvC,CAAO,EAEIxE,CACR,CACD,MAAM0N,EAAS,GACf,QAAStQ,EAAI,EAAGA,EAAIqB,EAAG,OAAQrB,IAC7BsQ,EAAO,KAAKD,GAA2BhP,EAAGrB,CAAC,EAAGkQ,EAAU9I,EAAMoB,CAAI,CAAC,EAErE,OAAO8H,CACT,CACA,SAASF,GAAYD,EAAKD,EAAU9I,EAAMmJ,EAAa,GAAM,CAC3D,MAAMC,EAAeN,EAAWA,EAAS,MAAQ,KACjD,GAAIA,EAAU,CACZ,IAAIO,EAAMP,EAAS,OACnB,MAAMQ,EAAkBR,EAAS,MAC3BS,EAAiFvJ,EACvF,KAAOqJ,GAAK,CACV,MAAMG,EAAqBH,EAAI,GAC/B,GAAIG,GACF,QAAS5Q,EAAI,EAAGA,EAAI4Q,EAAmB,OAAQ5Q,IAC7C,GAAI4Q,EAAmB5Q,CAAC,EAAEmQ,EAAKO,EAAiBC,CAAS,IAAM,GAC7D,OAINF,EAAMA,EAAI,MACX,CACD,MAAMI,EAAkBX,EAAS,WAAW,OAAO,aACnD,GAAIW,EAAiB,CACnBZ,GACEY,EACA,KACA,GACA,CAACV,EAAKO,EAAiBC,CAAS,CACxC,EACM,MACD,CACF,CACDG,GAASX,EAAK/I,EAAMoJ,EAAcD,CAAU,CAC9C,CACA,SAASO,GAASX,EAAK/I,EAAMoJ,EAAcD,EAAa,GAAM,CAgB1D,QAAQ,MAAMJ,CAAG,CAErB,CAEA,IAAIY,GAAa,GACbC,GAAiB,GACrB,MAAMC,GAAQ,GACd,IAAIC,GAAa,EACjB,MAAMC,GAAsB,GAC5B,IAAIC,GAAqB,KACrBC,GAAiB,EACrB,MAAMC,GAAkC,QAAQ,UAChD,IAAIC,GAAsB,KAE1B,SAASC,GAASnQ,EAAI,CACpB,MAAMoQ,EAAIF,IAAuBD,GACjC,OAAOjQ,EAAKoQ,EAAE,KAAK,KAAOpQ,EAAG,KAAK,IAAI,EAAIA,CAAE,EAAIoQ,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,IACtDH,EAAQE,EAAS,EAEjBD,EAAMC,CAET,CACD,OAAOF,CACT,CACA,SAASM,GAASC,EAAK,EACjB,CAAClB,GAAM,QAAU,CAACA,GAAM,SAC1BkB,EACApB,IAAcoB,EAAI,aAAejB,GAAa,EAAIA,EACtD,KACQiB,EAAI,IAAM,KACZlB,GAAM,KAAKkB,CAAG,EAEdlB,GAAM,OAAOS,GAAmBS,EAAI,EAAE,EAAG,EAAGA,CAAG,EAEjDC,KAEJ,CACA,SAASA,IAAa,CAChB,CAACrB,IAAc,CAACC,KAClBA,GAAiB,GACjBO,GAAsBD,GAAgB,KAAKe,EAAS,EAExD,CACA,SAASC,GAAcH,EAAK,CAC1B,MAAMnS,EAAIiR,GAAM,QAAQkB,CAAG,EACvBnS,EAAIkR,IACND,GAAM,OAAOjR,EAAG,CAAC,CAErB,CACA,SAASuS,GAAiBC,EAAI,CACvBrS,GAAQqS,CAAE,EAQbrB,GAAoB,KAAK,GAAGqB,CAAE,GAP1B,CAACpB,IAAsB,CAACA,GAAmB,SAC7CoB,EACAA,EAAG,aAAenB,GAAiB,EAAIA,EAC7C,IACMF,GAAoB,KAAKqB,CAAE,EAK/BJ,IACF,CACA,SAASK,GAAiBC,EAAM1S,EAAI+Q,GAAaG,GAAa,EAAI,EAAG,CAInE,KAAOlR,EAAIiR,GAAM,OAAQjR,IAAK,CAC5B,MAAMwS,EAAKvB,GAAMjR,CAAC,EACdwS,GAAMA,EAAG,MAIXvB,GAAM,OAAOjR,EAAG,CAAC,EACjBA,IACAwS,IAEH,CACH,CACA,SAASG,GAAkBD,EAAM,CAC/B,GAAIvB,GAAoB,OAAQ,CAC9B,MAAMyB,EAAU,CAAC,GAAG,IAAI,IAAIzB,EAAmB,CAAC,EAEhD,GADAA,GAAoB,OAAS,EACzBC,GAAoB,CACtBA,GAAmB,KAAK,GAAGwB,CAAO,EAClC,MACD,CAMD,IALAxB,GAAqBwB,EAIrBxB,GAAmB,KAAK,CAACxN,EAAGC,IAAMoO,GAAMrO,CAAC,EAAIqO,GAAMpO,CAAC,CAAC,EAChDwN,GAAiB,EAAGA,GAAiBD,GAAmB,OAAQC,KAInED,GAAmBC,EAAc,IAEnCD,GAAqB,KACrBC,GAAiB,CAClB,CACH,CACA,MAAMY,GAASE,GAAQA,EAAI,IAAM,KAAO,IAAWA,EAAI,GACjDU,GAAa,CAACjP,EAAGC,IAAM,CAC3B,MAAMiP,EAAOb,GAAMrO,CAAC,EAAIqO,GAAMpO,CAAC,EAC/B,GAAIiP,IAAS,EAAG,CACd,GAAIlP,EAAE,KAAO,CAACC,EAAE,IACd,MAAO,GACT,GAAIA,EAAE,KAAO,CAACD,EAAE,IACd,MAAO,EACV,CACD,OAAOkP,CACT,EACA,SAAST,GAAUK,EAAM,CACvB1B,GAAiB,GACjBD,GAAa,GAIbE,GAAM,KAAK4B,EAAU,EACrB,MAAME,EAAgGzT,GACtG,GAAI,CACF,IAAK4R,GAAa,EAAGA,GAAaD,GAAM,OAAQC,KAAc,CAC5D,MAAMiB,EAAMlB,GAAMC,EAAU,EACxBiB,GAAOA,EAAI,SAAW,IAIxBlC,GAAsBkC,EAAK,KAAM,EAAE,CAEtC,CACL,QAAY,CACRjB,GAAa,EACbD,GAAM,OAAS,EACf0B,GAAsB,EACtB5B,GAAa,GACbQ,GAAsB,MAClBN,GAAM,QAAUE,GAAoB,SACtCkB,GAAc,CAEjB,CACH,CAuOA,SAASW,GAAK9C,EAAU+C,KAAUC,EAAS,CACzC,GAAIhD,EAAS,YACX,OACF,MAAMiD,EAAQjD,EAAS,MAAM,OAAS9Q,GA0BtC,IAAIoJ,EAAO0K,EACX,MAAMvT,EAAkBsT,EAAM,WAAW,SAAS,EAC5CG,EAAWzT,GAAmBsT,EAAM,MAAM,CAAC,EACjD,GAAIG,GAAYA,KAAYD,EAAO,CACjC,MAAME,EAAe,GAAGD,IAAa,aAAe,QAAUA,CAAQ,YAChE,CAAE,OAAAE,EAAQ,KAAAC,CAAI,EAAKJ,EAAME,CAAY,GAAKjU,GAC5CmU,IACF/K,EAAO0K,EAAQ,IAAKtP,GAAMlD,GAASkD,CAAC,EAAIA,EAAE,KAAM,EAAGA,CAAC,GAElD0P,IACF9K,EAAO0K,EAAQ,IAAI5Q,EAAa,EAEnC,CAeD,IAAIkR,EACAC,EAAUN,EAAMK,EAAc1R,GAAamR,CAAK,CAAC,GACrDE,EAAMK,EAAc1R,GAAaN,GAASyR,CAAK,CAAC,CAAC,EAC7C,CAACQ,GAAW9T,IACd8T,EAAUN,EAAMK,EAAc1R,GAAaF,GAAUqR,CAAK,CAAC,CAAC,GAE1DQ,GACFpD,GACEoD,EACAvD,EACA,EACA1H,CACN,EAEE,MAAMkL,EAAcP,EAAMK,EAAc,MAAM,EAC9C,GAAIE,EAAa,CACf,GAAI,CAACxD,EAAS,QACZA,EAAS,QAAU,WACVA,EAAS,QAAQsD,CAAW,EACrC,OAEFtD,EAAS,QAAQsD,CAAW,EAAI,GAChCnD,GACEqD,EACAxD,EACA,EACA1H,CACN,CACG,CACH,CACA,SAASmL,GAAsBC,EAAMC,EAAYC,EAAU,GAAO,CAChE,MAAMxS,EAAQuS,EAAW,WACnBE,EAASzS,EAAM,IAAIsS,CAAI,EAC7B,GAAIG,IAAW,OACb,OAAOA,EAET,MAAMtG,EAAMmG,EAAK,MACjB,IAAI9Q,EAAa,GACbkR,EAAa,GACjB,GAA2B,CAACvT,GAAWmT,CAAI,EAAG,CAC5C,MAAMK,EAAeC,GAAS,CAC5B,MAAMC,EAAuBR,GAAsBO,EAAML,EAAY,EAAI,EACrEM,IACFH,EAAa,GACbpU,GAAOkD,EAAYqR,CAAoB,EAE/C,EACQ,CAACL,GAAWD,EAAW,OAAO,QAChCA,EAAW,OAAO,QAAQI,CAAW,EAEnCL,EAAK,SACPK,EAAYL,EAAK,OAAO,EAEtBA,EAAK,QACPA,EAAK,OAAO,QAAQK,CAAW,CAElC,CACD,MAAI,CAACxG,GAAO,CAACuG,GACPpT,GAASgT,CAAI,GACftS,EAAM,IAAIsS,EAAM,IAAI,EAEf,OAELzT,GAAQsN,CAAG,EACbA,EAAI,QAAS/N,GAAQoD,EAAWpD,CAAG,EAAI,IAAI,EAE3CE,GAAOkD,EAAY2K,CAAG,EAEpB7M,GAASgT,CAAI,GACftS,EAAM,IAAIsS,EAAM9Q,CAAU,EAErBA,EACT,CACA,SAASsR,GAAeC,EAAS3U,EAAK,CACpC,MAAI,CAAC2U,GAAW,CAAC5U,GAAKC,CAAG,EAChB,IAETA,EAAMA,EAAI,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAC/BQ,GAAOmU,EAAS3U,EAAI,CAAC,EAAE,YAAa,EAAGA,EAAI,MAAM,CAAC,CAAC,GAAKQ,GAAOmU,EAASzS,GAAUlC,CAAG,CAAC,GAAKQ,GAAOmU,EAAS3U,CAAG,EACvH,CAEA,IAAI4U,GAA2B,KAC3BC,GAAiB,KACrB,SAASC,GAA4BtE,EAAU,CAC7C,MAAMuE,EAAOH,GACb,OAAAA,GAA2BpE,EAC3BqE,GAAiBrE,GAAYA,EAAS,KAAK,WAAa,KACjDuE,CACT,CACA,SAASC,GAAY/C,EAAI,CACvB4C,GAAiB5C,CACnB,CACA,SAASgD,IAAa,CACpBJ,GAAiB,IACnB,CACA,MAAMK,GAAeC,GAAQC,GAC7B,SAASA,GAAQzT,EAAI0T,EAAMT,GAA0BU,EAAiB,CAGpE,GAFI,CAACD,GAED1T,EAAG,GACL,OAAOA,EAET,MAAM4T,EAAsB,IAAIzM,IAAS,CACnCyM,EAAoB,IACtBC,GAAiB,EAAE,EAErB,MAAMC,EAAeX,GAA4BO,CAAG,EACpD,IAAInS,EACJ,GAAI,CACFA,EAAMvB,EAAG,GAAGmH,CAAI,CACtB,QAAc,CACRgM,GAA4BW,CAAY,EACpCF,EAAoB,IACtBC,GAAiB,CAAC,CAErB,CAID,OAAOtS,CACX,EACE,OAAAqS,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GAClBA,CACT,CAMA,SAASG,GAAoBlF,EAAU,CACrC,KAAM,CACJ,KAAMmF,EACN,MAAAC,EACA,MAAAhI,EACA,UAAAiI,EACA,MAAApC,EACA,aAAc,CAACqC,CAAY,EAC3B,MAAAC,EACA,MAAAC,EACA,KAAA1C,EACA,OAAA2C,EACA,YAAAC,EACA,KAAAC,EACA,WAAAC,EACA,IAAAf,EACA,aAAAgB,CACD,EAAG7F,EACJ,IAAItG,EACAoM,EACJ,MAAMvB,EAAOD,GAA4BtE,CAAQ,EAIjD,GAAI,CACF,GAAIoF,EAAM,UAAY,EAAG,CACvB,MAAMW,EAAaV,GAAajI,EAChC1D,EAASsM,GACPP,EAAO,KACLM,EACAA,EACAL,EACAzC,EACA2C,EACAD,EACAd,CACD,CACT,EACMiB,EAAmBN,CACzB,KAAW,CACL,MAAMS,EAAUd,EAIhBzL,EAASsM,GACPC,EAAQ,OAAS,EAAIA,EACnBhD,EAQI,CAAE,MAAAuC,EAAO,MAAAD,EAAO,KAAAzC,CAAM,CACpC,EAAYmD,EACFhD,EACA,IAED,CACT,EACM6C,EAAmBX,EAAU,MAAQK,EAAQU,GAAyBV,CAAK,CAC5E,CACF,OAAQvF,EAAK,CACZkG,GAAW,OAAS,EACpBjG,GAAYD,EAAKD,EAAU,CAAC,EAC5BtG,EAAS0M,GAAYC,EAAO,CAC7B,CACD,IAAIC,EAAO5M,EAKX,GAAIoM,GAAoBD,IAAiB,GAAO,CAC9C,MAAMU,EAAO,OAAO,KAAKT,CAAgB,EACnC,CAAE,UAAAU,CAAW,EAAGF,EAClBC,EAAK,QACHC,EAAa,IACXlB,GAAgBiB,EAAK,KAAK9W,EAAe,IAC3CqW,EAAmBW,GACjBX,EACAR,CACZ,GAEQgB,EAAOI,GAAWJ,EAAMR,CAAgB,EA2B7C,CACD,OAAIV,EAAM,OAMRkB,EAAOI,GAAWJ,CAAI,EACtBA,EAAK,KAAOA,EAAK,KAAOA,EAAK,KAAK,OAAOlB,EAAM,IAAI,EAAIA,EAAM,MAE3DA,EAAM,aAMRkB,EAAK,WAAalB,EAAM,YAKxB1L,EAAS4M,EAEXhC,GAA4BC,CAAI,EACzB7K,CACT,CAwCA,MAAMwM,GAA4BV,GAAU,CAC1C,IAAI9S,EACJ,UAAWlD,KAAOgW,GACZhW,IAAQ,SAAWA,IAAQ,SAAWD,GAAKC,CAAG,MAC/CkD,IAAQA,EAAM,CAAE,IAAGlD,CAAG,EAAIgW,EAAMhW,CAAG,GAGxC,OAAOkD,CACT,EACM+T,GAAuB,CAACjB,EAAOvC,IAAU,CAC7C,MAAMvQ,EAAM,GACZ,UAAWlD,KAAOgW,GACZ,CAAC/V,GAAgBD,CAAG,GAAK,EAAEA,EAAI,MAAM,CAAC,IAAKyT,MAC7CvQ,EAAIlD,CAAG,EAAIgW,EAAMhW,CAAG,GAGxB,OAAOkD,CACT,EAIA,SAASiU,GAAsBC,EAAWC,EAAWC,EAAW,CAC9D,KAAM,CAAE,MAAOC,EAAW,SAAUC,EAAc,UAAAC,CAAW,EAAGL,EAC1D,CAAE,MAAOM,EAAW,SAAUC,EAAc,UAAAC,CAAW,EAAGP,EAC1DQ,EAAQJ,EAAU,aAIxB,GAAIJ,EAAU,MAAQA,EAAU,WAC9B,MAAO,GAET,GAAIC,GAAaM,GAAa,EAAG,CAC/B,GAAIA,EAAY,KACd,MAAO,GAET,GAAIA,EAAY,GACd,OAAKL,EAGEO,GAAgBP,EAAWG,EAAWG,CAAK,EAFzC,CAAC,CAACH,EAGN,GAAIE,EAAY,EAAG,CACxB,MAAMG,EAAeV,EAAU,aAC/B,QAAS/W,EAAI,EAAGA,EAAIyX,EAAa,OAAQzX,IAAK,CAC5C,MAAMN,EAAM+X,EAAazX,CAAC,EAC1B,GAAIoX,EAAU1X,CAAG,IAAMuX,EAAUvX,CAAG,GAAK,CAAC0U,GAAemD,EAAO7X,CAAG,EACjE,MAAO,EAEV,CACF,CACL,KACI,QAAIwX,GAAgBG,KACd,CAACA,GAAgB,CAACA,EAAa,SAC1B,GAGPJ,IAAcG,EACT,GAEJH,EAGAG,EAGEI,GAAgBP,EAAWG,EAAWG,CAAK,EAFzC,GAHA,CAAC,CAACH,EAOb,MAAO,EACT,CACA,SAASI,GAAgBP,EAAWG,EAAWM,EAAc,CAC3D,MAAMC,EAAW,OAAO,KAAKP,CAAS,EACtC,GAAIO,EAAS,SAAW,OAAO,KAAKV,CAAS,EAAE,OAC7C,MAAO,GAET,QAAS,EAAI,EAAG,EAAIU,EAAS,OAAQ,IAAK,CACxC,MAAMjY,EAAMiY,EAAS,CAAC,EACtB,GAAIP,EAAU1X,CAAG,IAAMuX,EAAUvX,CAAG,GAAK,CAAC0U,GAAesD,EAAchY,CAAG,EACxE,MAAO,EAEV,CACD,MAAO,EACT,CACA,SAASkY,GAAgB,CAAE,MAAAtC,EAAO,OAAA5O,CAAM,EAAI3G,EAAI,CAC9C,KAAO2G,GAAUA,EAAO,UAAY4O,IACjCA,EAAQ5O,EAAO,OAAO,GAAK3G,EAC5B2G,EAASA,EAAO,MAEpB,CAEA,MAAMmR,GAAczQ,GAASA,EAAK,aAiiBlC,SAAS0Q,GAAwBzW,EAAI0W,EAAU,CACzCA,GAAYA,EAAS,cACnB5X,GAAQkB,CAAE,EACZ0W,EAAS,QAAQ,KAAK,GAAG1W,CAAE,EAE3B0W,EAAS,QAAQ,KAAK1W,CAAE,EAG1BkR,GAAiBlR,CAAE,CAEvB,CAeA,SAAS2W,GAAY5S,EAAQiP,EAAS,CACpC,OAAO4D,GAAQ7S,EAAQ,KAAMiP,CAAO,CACtC,CAeA,MAAM6D,GAAwB,GAC9B,SAASC,GAAM/I,EAAQoD,EAAI6B,EAAS,CAMlC,OAAO4D,GAAQ7I,EAAQoD,EAAI6B,CAAO,CACpC,CACA,SAAS4D,GAAQ7I,EAAQoD,EAAI,CAAE,UAAA4F,EAAW,KAAAC,EAAM,MAAAC,EAAO,QAAAC,EAAS,UAAAC,CAAW,EAAGpZ,GAAW,CACvF,IAAI8I,EAoBJ,MAAMgI,EAAW5K,GAAe,MAAS4C,EAAKuQ,KAAoB,KAAO,OAASvQ,EAAG,OAASuQ,GAAkB,KAChH,IAAIjJ,EACAkJ,EAAe,GACfC,EAAgB,GA4CpB,GA3CItP,GAAM+F,CAAM,GACdI,EAAS,IAAMJ,EAAO,MACtBsJ,EAAeE,GAAYxJ,CAAM,GACxB7B,GAAW6B,CAAM,GAC1BI,EAAS,IAAMJ,EACfiJ,EAAO,IACElY,GAAQiP,CAAM,GACvBuJ,EAAgB,GAChBD,EAAetJ,EAAO,KAAMyJ,GAAMtL,GAAWsL,CAAC,GAAKD,GAAYC,CAAC,CAAC,EACjErJ,EAAS,IAAMJ,EAAO,IAAKyJ,GAAM,CAC/B,GAAIxP,GAAMwP,CAAC,EACT,OAAOA,EAAE,MACJ,GAAItL,GAAWsL,CAAC,EACrB,OAAOC,GAASD,CAAC,EACZ,GAAIpY,GAAWoY,CAAC,EACrB,OAAO5I,GAAsB4I,EAAG3I,EAAU,CAAC,CAInD,CAAK,GACQzP,GAAW2O,CAAM,EACtBoD,EACFhD,EAAS,IAAMS,GAAsBb,EAAQc,EAAU,CAAC,EAExDV,EAAS,IAAM,CACb,GAAI,EAAAU,GAAYA,EAAS,aAGzB,OAAI6I,GACFA,IAEK1I,GACLjB,EACAc,EACA,EACA,CAAC8I,CAAS,CACpB,CACA,EAGIxJ,EAASlQ,GAGPkT,GAAM6F,EAAM,CACd,MAAMY,EAAazJ,EACnBA,EAAS,IAAMsJ,GAASG,EAAU,CAAE,CACrC,CACD,IAAIF,EACAC,EAAa3X,GAAO,CACtB0X,EAAU3T,EAAO,OAAS,IAAM,CAC9B6K,GAAsB5O,EAAI6O,EAAU,CAAC,CAC3C,CACA,EACMgJ,EACJ,GAAIC,GAWF,GAVAH,EAAY1Z,GACPkT,EAEM4F,GACT/H,GAA2BmC,EAAItC,EAAU,EAAG,CAC1CV,EAAQ,EACRmJ,EAAgB,CAAE,EAAG,OACrBK,CACR,CAAO,EANDxJ,IAQE8I,IAAU,OAAQ,CACpB,MAAMvD,EAAMqE,KACZF,EAAanE,EAAI,mBAAqBA,EAAI,iBAAmB,CAAE,EACrE,KACM,QAAOzV,GAGX,IAAI0C,EAAW2W,EAAgB,IAAI,MAAMvJ,EAAO,MAAM,EAAE,KAAK8I,EAAqB,EAAIA,GACtF,MAAM/F,EAAM,IAAM,CAChB,GAAK/M,EAAO,OAGZ,GAAIoN,EAAI,CACN,MAAM9K,EAAWtC,EAAO,OACpBiT,GAAQK,IAAiBC,EAAgBjR,EAAS,KAAK,CAAC,EAAG1H,IAAM+B,GAAW,EAAGC,EAAShC,CAAC,CAAC,CAAC,EAAI+B,GAAW2F,EAAU1F,CAAQ,MAC1H+W,GACFA,IAEF1I,GAA2BmC,EAAItC,EAAU,EAAG,CAC1CxI,EAEA1F,IAAakW,GAAwB,OAASS,GAAiB3W,EAAS,CAAC,IAAMkW,GAAwB,GAAKlW,EAC5GgX,CACV,CAAS,EACDhX,EAAW0F,EAEnB,MACMtC,EAAO,IAAG,CAEhB,EACE+M,EAAI,aAAe,CAAC,CAACK,EACrB,IAAI/L,EACA6R,IAAU,OACZ7R,EAAY0L,EACHmG,IAAU,OACnB7R,EAAY,IAAM4S,GAAsBlH,EAAKjC,GAAYA,EAAS,QAAQ,GAE1EiC,EAAI,IAAM,GACNjC,IACFiC,EAAI,GAAKjC,EAAS,KACpBzJ,EAAY,IAAMyL,GAASC,CAAG,GAEhC,MAAM/M,EAAS,IAAIoB,GAAegJ,EAAQ/I,CAAS,EAK/C+L,EACE4F,EACFjG,IAEAnQ,EAAWoD,EAAO,MAEXkT,IAAU,OACnBe,GACEjU,EAAO,IAAI,KAAKA,CAAM,EACtB8K,GAAYA,EAAS,QAC3B,EAEI9K,EAAO,IAAG,EAEZ,MAAMkU,EAAU,IAAM,CACpBlU,EAAO,KAAI,EACP8K,GAAYA,EAAS,OACvBrQ,GAAOqQ,EAAS,MAAM,QAAS9K,CAAM,CAE3C,EACE,OAAI8T,GACFA,EAAW,KAAKI,CAAO,EAClBA,CACT,CACA,SAASC,GAAcnK,EAAQrO,EAAOsT,EAAS,CAC7C,MAAMmF,EAAa,KAAK,MAClBhK,EAAS9O,GAAS0O,CAAM,EAAIA,EAAO,SAAS,GAAG,EAAIqK,GAAiBD,EAAYpK,CAAM,EAAI,IAAMoK,EAAWpK,CAAM,EAAIA,EAAO,KAAKoK,EAAYA,CAAU,EAC7J,IAAIhH,EACA/R,GAAWM,CAAK,EAClByR,EAAKzR,GAELyR,EAAKzR,EAAM,QACXsT,EAAUtT,GAEZ,MAAM0P,EAAMgI,GACZiB,GAAmB,IAAI,EACvB,MAAM9W,EAAMqV,GAAQzI,EAAQgD,EAAG,KAAKgH,CAAU,EAAGnF,CAAO,EACxD,OAAI5D,EACFiJ,GAAmBjJ,CAAG,EAEtBkJ,KAEK/W,CACT,CACA,SAAS6W,GAAiB1E,EAAK6E,EAAM,CACnC,MAAMC,EAAWD,EAAK,MAAM,GAAG,EAC/B,MAAO,IAAM,CACX,IAAInJ,EAAMsE,EACV,QAAS,EAAI,EAAG,EAAI8E,EAAS,QAAUpJ,EAAK,IAC1CA,EAAMA,EAAIoJ,EAAS,CAAC,CAAC,EAEvB,OAAOpJ,CACX,CACA,CACA,SAASqI,GAAS/X,EAAO2R,EAAM,CAK7B,GAJI,CAAC9R,GAASG,CAAK,GAAKA,EAAM,WAG9B2R,EAAOA,GAAwB,IAAI,IAC/BA,EAAK,IAAI3R,CAAK,GAChB,OAAOA,EAGT,GADA2R,EAAK,IAAI3R,CAAK,EACVsI,GAAMtI,CAAK,EACb+X,GAAS/X,EAAM,MAAO2R,CAAI,UACjBvS,GAAQY,CAAK,EACtB,QAASf,EAAI,EAAGA,EAAIe,EAAM,OAAQf,IAChC8Y,GAAS/X,EAAMf,CAAC,EAAG0S,CAAI,UAEhBpS,GAAMS,CAAK,GAAKX,GAAMW,CAAK,EACpCA,EAAM,QAASoJ,GAAM,CACnB2O,GAAS3O,EAAGuI,CAAI,CACtB,CAAK,UACQzR,GAAcF,CAAK,EAC5B,UAAWrB,KAAOqB,EAChB+X,GAAS/X,EAAMrB,CAAG,EAAGgT,CAAI,EAG7B,OAAO3R,CACT,CAOA,SAAS+Y,GAAexE,EAAOyE,EAAY,CACzC,MAAMC,EAAmB1F,GACzB,GAAI0F,IAAqB,KAEvB,OAAO1E,EAET,MAAMpF,EAAW+J,GAAeD,CAAgB,GAAKA,EAAiB,MAChEE,EAAW5E,EAAM,OAASA,EAAM,KAAO,IAC7C,QAAStV,EAAI,EAAGA,EAAI+Z,EAAW,OAAQ/Z,IAAK,CAC1C,GAAI,CAACma,EAAKpZ,EAAOoB,EAAKiY,EAAYhb,EAAS,EAAI2a,EAAW/Z,CAAC,EACvDma,IACE1Z,GAAW0Z,CAAG,IAChBA,EAAM,CACJ,QAASA,EACT,QAASA,CACnB,GAEUA,EAAI,MACNrB,GAAS/X,CAAK,EAEhBmZ,EAAS,KAAK,CACZ,IAAAC,EACA,SAAAjK,EACA,MAAAnP,EACA,SAAU,OACV,IAAAoB,EACA,UAAAiY,CACR,CAAO,EAEJ,CACD,OAAO9E,CACT,CACA,SAAS+E,GAAoB/E,EAAOwB,EAAW5G,EAAU3M,EAAM,CAC7D,MAAM2W,EAAW5E,EAAM,KACjBgF,EAAcxD,GAAaA,EAAU,KAC3C,QAAS9W,EAAI,EAAGA,EAAIka,EAAS,OAAQla,IAAK,CACxC,MAAMua,EAAUL,EAASla,CAAC,EACtBsa,IACFC,EAAQ,SAAWD,EAAYta,CAAC,EAAE,OAEpC,IAAIwa,EAAOD,EAAQ,IAAIhX,CAAI,EACvBiX,IACFxT,KACAqJ,GAA2BmK,EAAMtK,EAAU,EAAG,CAC5CoF,EAAM,GACNiF,EACAjF,EACAwB,CACR,CAAO,EACD7P,KAEH,CACH,CAEA,MAAMwT,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,GAAqB,CACzB,KAAM,iBACN,MAAOD,GACP,MAAM7H,EAAO,CAAE,MAAAsC,GAAS,CACtB,MAAMvF,EAAWgL,KACXN,EAAQD,KACd,IAAIQ,EACJ,MAAO,IAAM,CACX,MAAMC,EAAW3F,EAAM,SAAW4F,GAAyB5F,EAAM,QAAO,EAAI,EAAI,EAChF,GAAI,CAAC2F,GAAY,CAACA,EAAS,OACzB,OAEF,IAAIE,EAAQF,EAAS,CAAC,EACtB,GAAIA,EAAS,OAAS,GAEpB,UAAW1Z,KAAK0Z,EACd,GAAI1Z,EAAE,OAAS6U,GAAS,CAOtB+E,EAAQ5Z,EAGN,KACH,EAGL,MAAM6Z,EAAW9S,GAAM0K,CAAK,EACtB,CAAE,KAAAqI,CAAM,EAAGD,EAIjB,GAAIX,EAAM,UACR,OAAOa,GAAiBH,CAAK,EAE/B,MAAMI,EAAaC,GAAkBL,CAAK,EAC1C,GAAI,CAACI,EACH,OAAOD,GAAiBH,CAAK,EAE/B,MAAMM,EAAaC,GACjBH,EACAH,EACAX,EACA1K,CACR,EACM4L,GAAmBJ,EAAYE,CAAU,EACzC,MAAMG,EAAW7L,EAAS,QACpB8L,EAAgBD,GAAYJ,GAAkBI,CAAQ,EAC5D,IAAIE,EAAuB,GAC3B,KAAM,CAAE,iBAAAC,CAAgB,EAAKR,EAAW,KACxC,GAAIQ,EAAkB,CACpB,MAAMxc,EAAMwc,IACRf,IAAsB,OACxBA,EAAoBzb,EACXA,IAAQyb,IACjBA,EAAoBzb,EACpBuc,EAAuB,GAE1B,CACD,GAAID,GAAiBA,EAAc,OAASzF,KAAY,CAAC4F,GAAgBT,EAAYM,CAAa,GAAKC,GAAuB,CAC5H,MAAMG,EAAeP,GACnBG,EACAT,EACAX,EACA1K,CACV,EAEQ,GADA4L,GAAmBE,EAAeI,CAAY,EAC1CZ,IAAS,SACX,OAAAZ,EAAM,UAAY,GAClBwB,EAAa,WAAa,IAAM,CAC9BxB,EAAM,UAAY,GACd1K,EAAS,OAAO,SAAW,IAC7BA,EAAS,OAAM,CAE7B,EACiBuL,GAAiBH,CAAK,EACpBE,IAAS,UAAYE,EAAW,OAASnF,KAClD6F,EAAa,WAAa,CAACrc,EAAIsc,EAAaC,IAAiB,CAC3D,MAAMC,EAAqBC,GACzB5B,EACAoB,CACd,EACYO,EAAmB,OAAOP,EAAc,GAAG,CAAC,EAAIA,EAChDjc,EAAG0a,EAAU,EAAI,IAAM,CACrB4B,IACAtc,EAAG0a,EAAU,EAAI,OACjB,OAAOmB,EAAW,YAChC,EACYA,EAAW,aAAeU,CACtC,EAEO,CACD,OAAOhB,CACb,CACG,CACH,EACMmB,GAAiBxB,GACvB,SAASuB,GAAuB5B,EAAOtF,EAAO,CAC5C,KAAM,CAAE,cAAAoH,CAAe,EAAG9B,EAC1B,IAAI2B,EAAqBG,EAAc,IAAIpH,EAAM,IAAI,EACrD,OAAKiH,IACHA,EAAqC,OAAO,OAAO,IAAI,EACvDG,EAAc,IAAIpH,EAAM,KAAMiH,CAAkB,GAE3CA,CACT,CACA,SAASV,GAAuBvG,EAAOnC,EAAOyH,EAAO1K,EAAU,CAC7D,KAAM,CACJ,OAAAyM,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,EAAGrK,EACEzT,EAAM,OAAO4V,EAAM,GAAG,EACtBiH,EAAqBC,GAAuB5B,EAAOtF,CAAK,EACxDmI,EAAW,CAACjD,EAAMhS,IAAS,CAC/BgS,GAAQnK,GACNmK,EACAtK,EACA,EACA1H,CACN,CACA,EACQkV,EAAgB,CAAClD,EAAMhS,IAAS,CACpC,MAAMqD,EAAOrD,EAAK,CAAC,EACnBiV,EAASjD,EAAMhS,CAAI,EACfrI,GAAQqa,CAAI,EACVA,EAAK,MAAOmD,GAAUA,EAAM,QAAU,CAAC,GACzC9R,IACO2O,EAAK,QAAU,GACxB3O,GAEN,EACQ+R,EAAQ,CACZ,KAAApC,EACA,UAAAoB,EACA,YAAY7c,EAAI,CACd,IAAIya,EAAOqC,EACX,GAAI,CAACjC,EAAM,UACT,GAAI+B,EACFnC,EAAO6C,GAAkBR,MAEzB,QAGA9c,EAAG0a,EAAU,GACf1a,EAAG0a,EAAU,EACX,EAEV,EAEM,MAAMoD,EAAetB,EAAmB7c,CAAG,EACvCme,GAAgB1B,GAAgB7G,EAAOuI,CAAY,GAAKA,EAAa,GAAGpD,EAAU,GACpFoD,EAAa,GAAGpD,EAAU,IAE5BgD,EAASjD,EAAM,CAACza,CAAE,CAAC,CACpB,EACD,MAAMA,EAAI,CACR,IAAIya,EAAOsC,EACPgB,EAAYf,EACZgB,EAAaf,EACjB,GAAI,CAACpC,EAAM,UACT,GAAI+B,EACFnC,EAAO8C,GAAYR,EACnBgB,EAAYP,GAAiBR,EAC7BgB,EAAaP,GAAqBR,MAElC,QAGJ,IAAIgB,EAAS,GACb,MAAMnS,EAAO9L,EAAG2a,EAAU,EAAKuD,GAAc,CACvCD,IAEJA,EAAS,GACLC,EACFR,EAASM,EAAY,CAAChe,CAAE,CAAC,EAEzB0d,EAASK,EAAW,CAAC/d,CAAE,CAAC,EAEtB6d,EAAM,cACRA,EAAM,aAAY,EAEpB7d,EAAG2a,EAAU,EAAI,OACzB,EACUF,EACFkD,EAAclD,EAAM,CAACza,EAAI8L,CAAI,CAAC,EAE9BA,GAEH,EACD,MAAM9L,EAAIF,EAAQ,CAChB,MAAMgI,EAAO,OAAOyN,EAAM,GAAG,EAO7B,GANIvV,EAAG2a,EAAU,GACf3a,EAAG2a,EAAU,EACX,EAEV,EAEUE,EAAM,aACR,OAAO/a,EAAM,EAEf4d,EAASR,EAAe,CAACld,CAAE,CAAC,EAC5B,IAAIie,EAAS,GACb,MAAMnS,EAAO9L,EAAG0a,EAAU,EAAKwD,GAAc,CACvCD,IAEJA,EAAS,GACTne,IACIoe,EACFR,EAASL,EAAkB,CAACrd,CAAE,CAAC,EAE/B0d,EAASN,EAAc,CAACpd,CAAE,CAAC,EAE7BA,EAAG0a,EAAU,EAAI,OACb8B,EAAmB1U,CAAI,IAAMyN,GAC/B,OAAOiH,EAAmB1U,CAAI,EAExC,EACM0U,EAAmB1U,CAAI,EAAIyN,EACvB4H,EACFQ,EAAcR,EAAS,CAACnd,EAAI8L,CAAI,CAAC,EAEjCA,GAEH,EACD,MAAMqS,EAAQ,CACZ,OAAOrC,GAAuBqC,EAAQ/K,EAAOyH,EAAO1K,CAAQ,CAC7D,CACL,EACE,OAAO0N,CACT,CACA,SAASnC,GAAiBnG,EAAO,CAC/B,GAAI6I,GAAY7I,CAAK,EACnB,OAAAA,EAAQsB,GAAWtB,CAAK,EACxBA,EAAM,SAAW,KACVA,CAEX,CACA,SAASqG,GAAkBrG,EAAO,CAChC,OAAO6I,GAAY7I,CAAK,EAAIA,EAAM,SAAWA,EAAM,SAAS,CAAC,EAAI,OAASA,CAC5E,CACA,SAASwG,GAAmBxG,EAAOsI,EAAO,CACpCtI,EAAM,UAAY,GAAKA,EAAM,UAC/BwG,GAAmBxG,EAAM,UAAU,QAASsI,CAAK,EACxCtI,EAAM,UAAY,KAC3BA,EAAM,UAAU,WAAasI,EAAM,MAAMtI,EAAM,SAAS,EACxDA,EAAM,WAAW,WAAasI,EAAM,MAAMtI,EAAM,UAAU,GAE1DA,EAAM,WAAasI,CAEvB,CACA,SAASvC,GAAyBD,EAAUgD,EAAc,GAAOC,EAAW,CAC1E,IAAIjb,EAAM,GACNkb,EAAqB,EACzB,QAASte,EAAI,EAAGA,EAAIob,EAAS,OAAQpb,IAAK,CACxC,IAAIsb,EAAQF,EAASpb,CAAC,EACtB,MAAMN,EAAM2e,GAAa,KAAO/C,EAAM,IAAM,OAAO+C,CAAS,EAAI,OAAO/C,EAAM,KAAO,KAAOA,EAAM,IAAMtb,CAAC,EACpGsb,EAAM,OAASiD,IACbjD,EAAM,UAAY,KACpBgD,IACFlb,EAAMA,EAAI,OACRiY,GAAyBC,EAAM,SAAU8C,EAAa1e,CAAG,CACjE,IACe0e,GAAe9C,EAAM,OAAS/E,KACvCnT,EAAI,KAAK1D,GAAO,KAAOkX,GAAW0E,EAAO,CAAE,IAAA5b,CAAG,CAAE,EAAI4b,CAAK,CAE5D,CACD,GAAIgD,EAAqB,EACvB,QAASte,EAAI,EAAGA,EAAIoD,EAAI,OAAQpD,IAC9BoD,EAAIpD,CAAC,EAAE,UAAY,GAGvB,OAAOoD,CACT,CAEA,2BAEA,SAASob,GAAgBnK,EAASoK,EAAc,CAC9C,OAAOhe,GAAW4T,CAAO,GAGN,IAAMzU,GAAO,CAAE,KAAMyU,EAAQ,MAAQoK,EAAc,CAAE,MAAOpK,CAAO,CAAE,GAAI,EACxFA,CACN,CAEA,MAAMqK,GAAkB1e,GAAM,CAAC,CAACA,EAAE,KAAK,cA2IjCme,GAAe7I,GAAUA,EAAM,KAAK,cACpCqJ,GAAgB,CACpB,KAAM,YAIN,cAAe,GACf,MAAO,CACL,QAAS,CAAC,OAAQ,OAAQ,KAAK,EAC/B,QAAS,CAAC,OAAQ,OAAQ,KAAK,EAC/B,IAAK,CAAC,OAAQ,MAAM,CACrB,EACD,MAAMxL,EAAO,CAAE,MAAAsC,GAAS,CACtB,MAAMvF,EAAWgL,KACX0D,EAAgB1O,EAAS,IAC/B,GAAI,CAAC0O,EAAc,SACjB,MAAO,IAAM,CACX,MAAMxD,EAAW3F,EAAM,SAAWA,EAAM,QAAO,EAC/C,OAAO2F,GAAYA,EAAS,SAAW,EAAIA,EAAS,CAAC,EAAIA,CACjE,EAEI,MAAM9Z,EAAwB,IAAI,IAC5BmV,EAAuB,IAAI,IACjC,IAAIoI,EAAU,KAId,MAAMC,EAAiB5O,EAAS,SAC1B,CACJ,SAAU,CACR,EAAG6O,EACH,EAAGC,EACH,GAAIC,EACJ,EAAG,CAAE,cAAAC,CAAe,CACrB,CACF,EAAGN,EACEO,EAAmBD,EAAc,KAAK,EAC5CN,EAAc,SAAW,CAACtJ,EAAO8J,EAAWC,EAAQC,EAAOtI,IAAc,CACvE,MAAMuI,EAAYjK,EAAM,UACxB0J,EAAK1J,EAAO8J,EAAWC,EAAQ,EAAGP,CAAc,EAChDC,EACEQ,EAAU,MACVjK,EACA8J,EACAC,EACAE,EACAT,EACAQ,EACAhK,EAAM,aACN0B,CACR,EACMqC,GAAsB,IAAM,CAC1BkG,EAAU,cAAgB,GACtBA,EAAU,GACZtd,GAAesd,EAAU,CAAC,EAE5B,MAAMC,EAAYlK,EAAM,OAASA,EAAM,MAAM,eACzCkK,GACFC,GAAgBD,EAAWD,EAAU,OAAQjK,CAAK,CAErD,EAAEwJ,CAAc,CAIvB,EACIF,EAAc,WAActJ,GAAU,CACpC,MAAMiK,EAAYjK,EAAM,UACxB0J,EAAK1J,EAAO6J,EAAkB,KAAM,EAAGL,CAAc,EACrDzF,GAAsB,IAAM,CACtBkG,EAAU,IACZtd,GAAesd,EAAU,EAAE,EAE7B,MAAMC,EAAYlK,EAAM,OAASA,EAAM,MAAM,iBACzCkK,GACFC,GAAgBD,EAAWD,EAAU,OAAQjK,CAAK,EAEpDiK,EAAU,cAAgB,EAC3B,EAAET,CAAc,CAIvB,EACI,SAASY,EAAQpK,EAAO,CACtBqK,GAAerK,CAAK,EACpB2J,EAAS3J,EAAOpF,EAAU4O,EAAgB,EAAI,CAC/C,CACD,SAASc,EAAWC,EAAQ,CAC1Bve,EAAM,QAAQ,CAACgU,EAAO5V,IAAQ,CAC5B,MAAM6D,EAAOuc,GAAiBxK,EAAM,IAAI,EACpC/R,IAAS,CAACsc,GAAU,CAACA,EAAOtc,CAAI,IAClCwc,EAAgBrgB,CAAG,CAE7B,CAAO,CACF,CACD,SAASqgB,EAAgBrgB,EAAK,CAC5B,MAAMqU,EAASzS,EAAM,IAAI5B,CAAG,EACxB,CAACmf,GAAW,CAAC1C,GAAgBpI,EAAQ8K,CAAO,EAC9Ca,EAAQ3L,CAAM,EACL8K,GACTc,GAAed,CAAO,EAExBvd,EAAM,OAAO5B,CAAG,EAChB+W,EAAK,OAAO/W,CAAG,CAChB,CACDyY,GACE,IAAM,CAAChF,EAAM,QAASA,EAAM,OAAO,EACnC,CAAC,CAAC6M,EAASC,CAAO,IAAM,CACtBD,GAAWJ,EAAYrc,GAAS2c,GAAQF,EAASzc,CAAI,CAAC,EACtD0c,GAAWL,EAAYrc,GAAS,CAAC2c,GAAQD,EAAS1c,CAAI,CAAC,CACxD,EAED,CAAE,MAAO,OAAQ,KAAM,EAAM,CACnC,EACI,IAAI4c,EAAkB,KACtB,MAAMC,EAAe,IAAM,CACrBD,GAAmB,MACrB7e,EAAM,IAAI6e,EAAiBE,GAAcnQ,EAAS,OAAO,CAAC,CAElE,EACI,OAAA2K,GAAUuF,CAAY,EACtBE,GAAUF,CAAY,EACtBtF,GAAgB,IAAM,CACpBxZ,EAAM,QAASyS,GAAW,CACxB,KAAM,CAAE,QAAAwM,EAAS,SAAAxI,CAAU,EAAG7H,EACxBoF,EAAQ+K,GAAcE,CAAO,EACnC,GAAIxM,EAAO,OAASuB,EAAM,MAAQvB,EAAO,MAAQuB,EAAM,IAAK,CAC1DqK,GAAerK,CAAK,EACpB,MAAMkL,EAAKlL,EAAM,UAAU,GAC3BkL,GAAMnH,GAAsBmH,EAAIzI,CAAQ,EACxC,MACD,CACD2H,EAAQ3L,CAAM,CACtB,CAAO,CACP,CAAK,EACM,IAAM,CAEX,GADAoM,EAAkB,KACd,CAAC1K,EAAM,QACT,OAAO,KAET,MAAM2F,EAAW3F,EAAM,UACjBgL,EAAWrF,EAAS,CAAC,EAC3B,GAAIA,EAAS,OAAS,EAIpB,OAAAyD,EAAU,KACHzD,EACF,GAAI,CAACsF,GAAQD,CAAQ,GAAK,EAAEA,EAAS,UAAY,IAAM,EAAEA,EAAS,UAAY,KACnF,OAAA5B,EAAU,KACH4B,EAET,IAAInL,EAAQ+K,GAAcI,CAAQ,EAClC,MAAM7M,EAAO0B,EAAM,KACb/R,EAAOuc,GACXpB,GAAepJ,CAAK,EAAIA,EAAM,KAAK,iBAAmB,GAAK1B,CACnE,EACY,CAAE,QAAAoM,EAAS,QAAAC,EAAS,IAAAU,CAAG,EAAKxN,EAClC,GAAI6M,IAAY,CAACzc,GAAQ,CAAC2c,GAAQF,EAASzc,CAAI,IAAM0c,GAAW1c,GAAQ2c,GAAQD,EAAS1c,CAAI,EAC3F,OAAAsb,EAAUvJ,EACHmL,EAET,MAAM/gB,EAAM4V,EAAM,KAAO,KAAO1B,EAAO0B,EAAM,IACvCsL,EAActf,EAAM,IAAI5B,CAAG,EACjC,OAAI4V,EAAM,KACRA,EAAQsB,GAAWtB,CAAK,EACpBmL,EAAS,UAAY,MACvBA,EAAS,UAAYnL,IAGzB6K,EAAkBzgB,EACdkhB,GACFtL,EAAM,GAAKsL,EAAY,GACvBtL,EAAM,UAAYsL,EAAY,UAC1BtL,EAAM,YACRwG,GAAmBxG,EAAOA,EAAM,UAAU,EAE5CA,EAAM,WAAa,IACnBmB,EAAK,OAAO/W,CAAG,EACf+W,EAAK,IAAI/W,CAAG,IAEZ+W,EAAK,IAAI/W,CAAG,EACRihB,GAAOlK,EAAK,KAAO,SAASkK,EAAK,EAAE,GACrCZ,EAAgBtJ,EAAK,OAAM,EAAG,KAAM,EAAC,KAAK,GAG9CnB,EAAM,WAAa,IACnBuJ,EAAUvJ,EACHuC,GAAW4I,EAAS,IAAI,EAAIA,EAAWnL,CACpD,CACG,CACH,EACMuL,GAAYlC,GAClB,SAASuB,GAAQY,EAASvd,EAAM,CAC9B,OAAIpD,GAAQ2gB,CAAO,EACVA,EAAQ,KAAMrP,GAAMyO,GAAQzO,EAAGlO,CAAI,CAAC,EAClC7C,GAASogB,CAAO,EAClBA,EAAQ,MAAM,GAAG,EAAE,SAASvd,CAAI,EAC9B/C,GAASsgB,CAAO,EAClBA,EAAQ,KAAKvd,CAAI,EAEnB,EACT,CACA,SAASwd,GAAYvG,EAAMrT,EAAQ,CACjC6Z,GAAsBxG,EAAM,IAAKrT,CAAM,CACzC,CACA,SAAS8Z,GAAczG,EAAMrT,EAAQ,CACnC6Z,GAAsBxG,EAAM,KAAMrT,CAAM,CAC1C,CACA,SAAS6Z,GAAsBxG,EAAMpT,EAAMD,EAASsR,GAAiB,CACnE,MAAMyI,EAAc1G,EAAK,QAAUA,EAAK,MAAQ,IAAM,CACpD,IAAIqE,EAAU1X,EACd,KAAO0X,GAAS,CACd,GAAIA,EAAQ,cACV,OAEFA,EAAUA,EAAQ,MACnB,CACD,OAAOrE,EAAI,CACf,GAEE,GADA2G,GAAW/Z,EAAM8Z,EAAa/Z,CAAM,EAChCA,EAAQ,CACV,IAAI0X,EAAU1X,EAAO,OACrB,KAAO0X,GAAWA,EAAQ,QACpBV,GAAYU,EAAQ,OAAO,KAAK,GAClCuC,GAAsBF,EAAa9Z,EAAMD,EAAQ0X,CAAO,EAE1DA,EAAUA,EAAQ,MAErB,CACH,CACA,SAASuC,GAAsB5G,EAAMpT,EAAMD,EAAQka,EAAe,CAChE,MAAMC,EAAWH,GACf/Z,EACAoT,EACA6G,EACA,EAEJ,EACEE,GAAY,IAAM,CAChB1hB,GAAOwhB,EAAcja,CAAI,EAAGka,CAAQ,CACrC,EAAEna,CAAM,CACX,CACA,SAASwY,GAAerK,EAAO,CAC7BA,EAAM,WAAa,KACnBA,EAAM,WAAa,IACrB,CACA,SAAS+K,GAAc/K,EAAO,CAC5B,OAAOA,EAAM,UAAY,IAAMA,EAAM,UAAYA,CACnD,CAEA,SAAS6L,GAAW/Z,EAAMoT,EAAMrT,EAASsR,GAAiB+I,EAAU,GAAO,CACzE,GAAIra,EAAQ,CACV,MAAMyW,EAAQzW,EAAOC,CAAI,IAAMD,EAAOC,CAAI,EAAI,IACxC8Z,EAAc1G,EAAK,QAAUA,EAAK,MAAQ,IAAIhS,IAAS,CAC3D,GAAIrB,EAAO,YACT,OAEFH,KACA0S,GAAmBvS,CAAM,EACzB,MAAMvE,EAAMyN,GAA2BmK,EAAMrT,EAAQC,EAAMoB,CAAI,EAC/D,OAAAmR,KACA1S,KACOrE,CACb,GACI,OAAI4e,EACF5D,EAAM,QAAQsD,CAAW,EAEzBtD,EAAM,KAAKsD,CAAW,EAEjBA,CAMR,CACH,CACA,MAAMO,GAAcC,GAAc,CAAClH,EAAMrT,EAASsR,MAE/C,CAACU,IAAyBuI,IAAc,OAASP,GAAWO,EAAW,IAAIlZ,IAASgS,EAAK,GAAGhS,CAAI,EAAGrB,CAAM,EAEtGwa,GAAgBF,GAAW,IAAI,EAC/B5G,GAAY4G,GAAW,GAAG,EAC1BG,GAAiBH,GAAW,IAAI,EAChCnB,GAAYmB,GAAW,GAAG,EAC1B3G,GAAkB2G,GAAW,KAAK,EAClCF,GAAcE,GAAW,IAAI,EAC7BI,GAAmBJ,GAAW,IAAI,EAClCK,GAAoBL,GACxB,KACF,EACMM,GAAkBN,GACtB,KACF,EACA,SAASO,GAAgBxH,EAAMrT,EAASsR,GAAiB,CACvD0I,GAAW,KAAM3G,EAAMrT,CAAM,CAC/B,CAEA,MAAM8a,GAAa,aACbC,GAAa,aACnB,SAASC,GAAiB5e,EAAM6e,EAAoB,CAClD,OAAOC,GAAaJ,GAAY1e,EAAM,GAAM6e,CAAkB,GAAK7e,CACrE,CACA,MAAM+e,GAAyB,OAAO,IAAI,OAAO,EACjD,SAASC,GAAwBpL,EAAW,CAC1C,OAAIzW,GAASyW,CAAS,EACbkL,GAAaJ,GAAY9K,EAAW,EAAK,GAAKA,EAE9CA,GAAamL,EAExB,CACA,SAASE,GAAiBjf,EAAM,CAC9B,OAAO8e,GAAaH,GAAY3e,CAAI,CACtC,CACA,SAAS8e,GAAajb,EAAM7D,EAAMkf,EAAc,GAAML,EAAqB,GAAO,CAChF,MAAMlS,EAAWoE,IAA4BmE,GAC7C,GAAIvI,EAAU,CACZ,MAAMmF,EAAYnF,EAAS,KAC3B,GAAI9I,IAAS6a,GAAY,CACvB,MAAMS,EAAW5C,GACfzK,EACA,EAER,EACM,GAAIqN,IAAaA,IAAanf,GAAQmf,IAAalhB,GAAS+B,CAAI,GAAKmf,IAAa7gB,GAAWL,GAAS+B,CAAI,CAAC,GACzG,OAAO8R,CAEV,CACD,MAAMzS,EAGJ+f,GAAQzS,EAAS9I,CAAI,GAAKiO,EAAUjO,CAAI,EAAG7D,CAAI,GAC/Cof,GAAQzS,EAAS,WAAW9I,CAAI,EAAG7D,CAAI,EAEzC,MAAI,CAACX,GAAOwf,EACH/M,EAOFzS,CAKR,CACH,CACA,SAAS+f,GAAQC,EAAUrf,EAAM,CAC/B,OAAOqf,IAAaA,EAASrf,CAAI,GAAKqf,EAASphB,GAAS+B,CAAI,CAAC,GAAKqf,EAAS/gB,GAAWL,GAAS+B,CAAI,CAAC,CAAC,EACvG,CAEA,SAASsf,GAAWzT,EAAQ0T,EAAYxhB,EAAOyhB,EAAO,CACpD,IAAI3f,EACJ,MAAM2Q,EAASzS,GAASA,EAAMyhB,CAAK,EACnC,GAAI5iB,GAAQiP,CAAM,GAAK1O,GAAS0O,CAAM,EAAG,CACvChM,EAAM,IAAI,MAAMgM,EAAO,MAAM,EAC7B,QAASpP,EAAI,EAAGiF,EAAImK,EAAO,OAAQpP,EAAIiF,EAAGjF,IACxCoD,EAAIpD,CAAC,EAAI8iB,EAAW1T,EAAOpP,CAAC,EAAGA,EAAG,OAAQ+T,GAAUA,EAAO/T,CAAC,CAAC,CAEnE,SAAa,OAAOoP,GAAW,SAAU,CAIrChM,EAAM,IAAI,MAAMgM,CAAM,EACtB,QAASpP,EAAI,EAAGA,EAAIoP,EAAQpP,IAC1BoD,EAAIpD,CAAC,EAAI8iB,EAAW9iB,EAAI,EAAGA,EAAG,OAAQ+T,GAAUA,EAAO/T,CAAC,CAAC,CAE/D,SAAaY,GAASwO,CAAM,EACxB,GAAIA,EAAO,OAAO,QAAQ,EACxBhM,EAAM,MAAM,KACVgM,EACA,CAACvM,EAAM7C,IAAM8iB,EAAWjgB,EAAM7C,EAAG,OAAQ+T,GAAUA,EAAO/T,CAAC,CAAC,CACpE,MACW,CACL,MAAMyW,EAAO,OAAO,KAAKrH,CAAM,EAC/BhM,EAAM,IAAI,MAAMqT,EAAK,MAAM,EAC3B,QAASzW,EAAI,EAAGiF,EAAIwR,EAAK,OAAQzW,EAAIiF,EAAGjF,IAAK,CAC3C,MAAMN,EAAM+W,EAAKzW,CAAC,EAClBoD,EAAIpD,CAAC,EAAI8iB,EAAW1T,EAAO1P,CAAG,EAAGA,EAAKM,EAAG+T,GAAUA,EAAO/T,CAAC,CAAC,CAC7D,CACF,MAEDoD,EAAM,GAER,OAAI9B,IACFA,EAAMyhB,CAAK,EAAI3f,GAEVA,CACT,CAqBA,SAAS4f,GAAWvN,EAAOlS,EAAM4P,EAAQ,CAAE,EAAE8P,EAAUC,EAAW,CAChE,GAAI5O,GAAyB,MAAQA,GAAyB,QAAUoK,GAAepK,GAAyB,MAAM,GAAKA,GAAyB,OAAO,KACzJ,OAAI/Q,IAAS,YACX4P,EAAM,KAAO5P,GACR+S,GAAY,OAAQnD,EAAO8P,GAAYA,EAAU,GAE1D,IAAIE,EAAO1N,EAAMlS,CAAI,EAOjB4f,GAAQA,EAAK,KACfA,EAAK,GAAK,IAEZC,IACA,MAAMC,EAAmBF,GAAQG,GAAiBH,EAAKhQ,CAAK,CAAC,EACvDoQ,EAAWC,GACfjF,GACA,CACE,IAAKpL,EAAM,KAEXkQ,GAAoBA,EAAiB,KAAO,IAAI9f,CAAI,EACrD,EACD8f,IAAqBJ,EAAWA,EAAU,EAAG,IAC7CI,GAAoB5N,EAAM,IAAM,EAAI,GAAK,EAC7C,EACE,MAAI,CAACyN,GAAaK,EAAS,UACzBA,EAAS,aAAe,CAACA,EAAS,QAAU,IAAI,GAE9CJ,GAAQA,EAAK,KACfA,EAAK,GAAK,IAELI,CACT,CACA,SAASD,GAAiBG,EAAQ,CAChC,OAAOA,EAAO,KAAMnI,GACboF,GAAQpF,CAAK,EAEd,EAAAA,EAAM,OAAS/E,IAEf+E,EAAM,OAASiD,IAAY,CAAC+E,GAAiBhI,EAAM,QAAQ,GAHtD,EAMV,EAAImI,EAAS,IAChB,CAcA,MAAMC,GAAqB1jB,GACpBA,EAED2jB,GAAoB3jB,CAAC,EAChBia,GAAeja,CAAC,GAAKA,EAAE,MACzB0jB,GAAkB1jB,EAAE,MAAM,EAHxB,KAKL4jB,GAGYhkB,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,GAAM0jB,GAAkB1jB,EAAE,MAAM,EAC1C,MAAQA,GAAM0jB,GAAkB1jB,EAAE,IAAI,EACtC,MAAQA,GAAMA,EAAE,KAChB,SAAWA,GAA4B6jB,GAAqB7jB,CAAC,EAC7D,aAAeA,GAAMA,EAAE,IAAMA,EAAE,EAAI,IAAMkS,GAASlS,EAAE,MAAM,GAC1D,UAAYA,GAAMA,EAAE,IAAMA,EAAE,EAAIwR,GAAS,KAAKxR,EAAE,KAAK,GACrD,OAASA,GAA4BuZ,GAAc,KAAKvZ,CAAC,CAC7D,CAAG,EAGG8jB,GAAkB,CAAClJ,EAAOlb,IAAQkb,IAAUxb,IAAa,CAACwb,EAAM,iBAAmB1a,GAAO0a,EAAOlb,CAAG,EACpGqkB,GAA8B,CAClC,IAAI,CAAE,EAAG7T,CAAQ,EAAIxQ,EAAK,CACxB,KAAM,CAAE,IAAAqV,EAAK,WAAAe,EAAY,KAAAD,EAAM,MAAA1C,EAAO,YAAA6Q,EAAa,KAAA5c,EAAM,WAAAyM,CAAY,EAAG3D,EAIxE,IAAI+T,EACJ,GAAIvkB,EAAI,CAAC,IAAM,IAAK,CAClB,MAAM6C,EAAIyhB,EAAYtkB,CAAG,EACzB,GAAI6C,IAAM,OACR,OAAQA,EAAC,CACP,IAAK,GACH,OAAOuT,EAAWpW,CAAG,EACvB,IAAK,GACH,OAAOmW,EAAKnW,CAAG,EACjB,IAAK,GACH,OAAOqV,EAAIrV,CAAG,EAChB,IAAK,GACH,OAAOyT,EAAMzT,CAAG,CACnB,KACI,IAAIokB,GAAgBhO,EAAYpW,CAAG,EACxC,OAAAskB,EAAYtkB,CAAG,EAAI,EACZoW,EAAWpW,CAAG,EAChB,GAAImW,IAASzW,IAAac,GAAO2V,EAAMnW,CAAG,EAC/C,OAAAskB,EAAYtkB,CAAG,EAAI,EACZmW,EAAKnW,CAAG,EACV,IAGJukB,EAAkB/T,EAAS,aAAa,CAAC,IAAMhQ,GAAO+jB,EAAiBvkB,CAAG,EAE3E,OAAAskB,EAAYtkB,CAAG,EAAI,EACZyT,EAAMzT,CAAG,EACX,GAAIqV,IAAQ3V,IAAac,GAAO6U,EAAKrV,CAAG,EAC7C,OAAAskB,EAAYtkB,CAAG,EAAI,EACZqV,EAAIrV,CAAG,EACmBwkB,KACjCF,EAAYtkB,CAAG,EAAI,GAEtB,CACD,MAAMykB,EAAeP,GAAoBlkB,CAAG,EAC5C,IAAI0kB,EAAWC,EACf,GAAIF,EACF,OAAIzkB,IAAQ,UACVwH,GAAMgJ,EAAU,MAAOxQ,CAAG,EAKrBykB,EAAajU,CAAQ,EACvB,IAEJkU,EAAYhd,EAAK,gBAAkBgd,EAAYA,EAAU1kB,CAAG,GAE7D,OAAO0kB,EACF,GAAIrP,IAAQ3V,IAAac,GAAO6U,EAAKrV,CAAG,EAC7C,OAAAskB,EAAYtkB,CAAG,EAAI,EACZqV,EAAIrV,CAAG,EACT,GAEL2kB,EAAmBxQ,EAAW,OAAO,iBAAkB3T,GAAOmkB,EAAkB3kB,CAAG,EAGjF,OAAO2kB,EAAiB3kB,CAAG,CAiBhC,EACD,IAAI,CAAE,EAAGwQ,CAAQ,EAAIxQ,EAAKqB,EAAO,CAC/B,KAAM,CAAE,KAAA8U,EAAM,WAAAC,EAAY,IAAAf,CAAG,EAAK7E,EAClC,OAAI4T,GAAgBhO,EAAYpW,CAAG,GACjCoW,EAAWpW,CAAG,EAAIqB,EACX,IAIE8U,IAASzW,IAAac,GAAO2V,EAAMnW,CAAG,GAC/CmW,EAAKnW,CAAG,EAAIqB,EACL,IACEb,GAAOgQ,EAAS,MAAOxQ,CAAG,GAIjCA,EAAI,CAAC,IAAM,KAAOA,EAAI,MAAM,CAAC,IAAKwQ,EAI7B,IASL6E,EAAIrV,CAAG,EAAIqB,EAGR,GACR,EACD,IAAI,CACF,EAAG,CAAE,KAAA8U,EAAM,WAAAC,EAAY,YAAAkO,EAAa,IAAAjP,EAAK,WAAAlB,EAAY,aAAA2B,CAAc,CACpE,EAAE9V,EAAK,CACN,IAAIukB,EACJ,MAAO,CAAC,CAACD,EAAYtkB,CAAG,GAAKmW,IAASzW,IAAac,GAAO2V,EAAMnW,CAAG,GAAKokB,GAAgBhO,EAAYpW,CAAG,IAAMukB,EAAkBzO,EAAa,CAAC,IAAMtV,GAAO+jB,EAAiBvkB,CAAG,GAAKQ,GAAO6U,EAAKrV,CAAG,GAAKQ,GAAO0jB,GAAqBlkB,CAAG,GAAKQ,GAAO2T,EAAW,OAAO,iBAAkBnU,CAAG,CAC1R,EACD,eAAeyH,EAAQzH,EAAK4kB,EAAY,CACtC,OAAIA,EAAW,KAAO,KACpBnd,EAAO,EAAE,YAAYzH,CAAG,EAAI,EACnBQ,GAAOokB,EAAY,OAAO,GACnC,KAAK,IAAInd,EAAQzH,EAAK4kB,EAAW,MAAO,IAAI,EAEvC,QAAQ,eAAend,EAAQzH,EAAK4kB,CAAU,CACtD,CACH,EAkLA,SAASC,GAAsBpR,EAAO,CACpC,OAAOhT,GAAQgT,CAAK,EAAIA,EAAM,OAC5B,CAACrQ,EAAY2O,KAAO3O,EAAW2O,CAAC,EAAI,KAAM3O,GAC1C,CAAE,CACH,EAAGqQ,CACN,CAuEA,IAAI+Q,GAAoB,GACxB,SAASM,GAAatU,EAAU,CAC9B,MAAMmE,EAAUwP,GAAqB3T,CAAQ,EACvCsJ,EAAatJ,EAAS,MACtB6E,EAAM7E,EAAS,IACrBgU,GAAoB,GAChB7P,EAAQ,cACVoJ,GAASpJ,EAAQ,aAAcnE,EAAU,IAAI,EAE/C,KAAM,CAEJ,KAAMuU,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,OAAA9P,EACA,cAAA+P,EACA,gBAAAC,EACA,cAAAC,EACA,eAAAC,EAEA,OAAAC,EACA,aAAA/P,EAEA,WAAAgQ,EACA,WAAAhM,EACA,QAAAiM,CACD,EAAG3R,EAaJ,GAHIyQ,GACFmB,GAAkBnB,EAAe/P,EAVqE,IAUxC,EAE5D4P,EACF,UAAWjlB,KAAOilB,EAAS,CACzB,MAAMuB,GAAgBvB,EAAQjlB,CAAG,EAC7Be,GAAWylB,EAAa,IASxBnR,EAAIrV,CAAG,EAAIwmB,GAAc,KAAK1M,CAAU,EAU7C,CAEH,GAAIiL,EAAa,CAMf,MAAM5O,EAAO4O,EAAY,KAAKjL,EAAYA,CAAU,EAM/C5Y,GAASiV,CAAI,IAGhB3F,EAAS,KAAO3G,GAASsM,CAAI,EAehC,CAED,GADAqO,GAAoB,GAChBQ,EACF,UAAWhlB,KAAOglB,EAAiB,CACjC,MAAMyB,GAAMzB,EAAgBhlB,CAAG,EACzB0K,GAAM3J,GAAW0lB,EAAG,EAAIA,GAAI,KAAK3M,EAAYA,CAAU,EAAI/Y,GAAW0lB,GAAI,GAAG,EAAIA,GAAI,IAAI,KAAK3M,EAAYA,CAAU,EAAIla,GAIxHwL,GAAM,CAACrK,GAAW0lB,EAAG,GAAK1lB,GAAW0lB,GAAI,GAAG,EAAIA,GAAI,IAAI,KAAK3M,CAAU,EAIzEla,GACEoC,GAAIkO,GAAS,CACjB,IAAAxF,GACA,IAAAU,EACR,CAAO,EACD,OAAO,eAAeiK,EAAKrV,EAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAMgC,GAAE,MACb,IAAMyI,IAAMzI,GAAE,MAAQyI,EAC9B,CAAO,CAIF,CAEH,GAAIya,EACF,UAAWllB,KAAOklB,EAChBwB,GAAcxB,EAAallB,CAAG,EAAGqV,EAAKyE,EAAY9Z,CAAG,EAGzD,GAAImlB,EAAgB,CAClB,MAAMwB,EAAW5lB,GAAWokB,CAAc,EAAIA,EAAe,KAAKrL,CAAU,EAAIqL,EAChF,QAAQ,QAAQwB,CAAQ,EAAE,QAAS3mB,IAAQ,CACzC4mB,GAAQ5mB,GAAK2mB,EAAS3mB,EAAG,CAAC,CAChC,CAAK,CACF,CACGqlB,GACFtH,GAASsH,EAAS7U,EAAU,GAAG,EAEjC,SAASqW,EAAsBC,EAAUhM,GAAM,CACzCra,GAAQqa,EAAI,EACdA,GAAK,QAASiM,IAAUD,EAASC,GAAM,KAAKjN,CAAU,CAAC,CAAC,EAC/CgB,IACTgM,EAAShM,GAAK,KAAKhB,CAAU,CAAC,CAEjC,CAaD,GAZA+M,EAAsB5E,GAAeqD,CAAW,EAChDuB,EAAsB1L,GAAWoK,CAAO,EACxCsB,EAAsB3E,GAAgBsD,CAAY,EAClDqB,EAAsBjG,GAAW6E,CAAO,EACxCoB,EAAsBxF,GAAaqE,CAAS,EAC5CmB,EAAsBtF,GAAeoE,CAAW,EAChDkB,EAAsBvE,GAAiB4D,CAAa,EACpDW,EAAsBxE,GAAiB2D,CAAa,EACpDa,EAAsBzE,GAAmB6D,CAAe,EACxDY,EAAsBzL,GAAiByK,CAAa,EACpDgB,EAAsBhF,GAAakE,CAAS,EAC5Cc,EAAsB1E,GAAkBgE,CAAc,EAClD1lB,GAAQ2lB,CAAM,EAChB,GAAIA,EAAO,OAAQ,CACjB,MAAMY,EAAUxW,EAAS,UAAYA,EAAS,QAAU,IACxD4V,EAAO,QAASpmB,IAAQ,CACtB,OAAO,eAAegnB,EAAShnB,GAAK,CAClC,IAAK,IAAM8Z,EAAW9Z,EAAG,EACzB,IAAMP,IAAQqa,EAAW9Z,EAAG,EAAIP,EAC1C,CAAS,CACT,CAAO,CACP,MAAgB+Q,EAAS,UACnBA,EAAS,QAAU,IAGnByF,GAAUzF,EAAS,SAAW5Q,KAChC4Q,EAAS,OAASyF,GAEhBI,GAAgB,OAClB7F,EAAS,aAAe6F,GAEtBgQ,IACF7V,EAAS,WAAa6V,GACpBhM,IACF7J,EAAS,WAAa6J,EAC1B,CACA,SAASkM,GAAkBnB,EAAe/P,EAAK4R,EAA2BrnB,GAAM,CAC1Ea,GAAQ2kB,CAAa,IACvBA,EAAgB8B,GAAgB9B,CAAa,GAE/C,UAAWplB,KAAOolB,EAAe,CAC/B,MAAMqB,EAAMrB,EAAcplB,CAAG,EAC7B,IAAI4hB,EACA1gB,GAASulB,CAAG,EACV,YAAaA,EACf7E,EAAWuF,GACTV,EAAI,MAAQzmB,EACZymB,EAAI,QACJ,EAEV,EAEQ7E,EAAWuF,GAAOV,EAAI,MAAQzmB,CAAG,EAGnC4hB,EAAWuF,GAAOV,CAAG,EAEnB9c,GAAMiY,CAAQ,EAChB,OAAO,eAAevM,EAAKrV,EAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAM4hB,EAAS,MACpB,IAAMnX,GAAMmX,EAAS,MAAQnX,CACrC,CAAO,EAED4K,EAAIrV,CAAG,EAAI4hB,CAKd,CACH,CACA,SAAS7D,GAASjD,EAAMtK,EAAU9I,EAAM,CACtCiJ,GACElQ,GAAQqa,CAAI,EAAIA,EAAK,IAAKsM,GAAMA,EAAE,KAAK5W,EAAS,KAAK,CAAC,EAAIsK,EAAK,KAAKtK,EAAS,KAAK,EAClFA,EACA9I,CACJ,CACA,CACA,SAASgf,GAAc3Y,EAAKsH,EAAKyE,EAAY9Z,EAAK,CAChD,MAAM8P,EAAS9P,EAAI,SAAS,GAAG,EAAI+Z,GAAiBD,EAAY9Z,CAAG,EAAI,IAAM8Z,EAAW9Z,CAAG,EAC3F,GAAIgB,GAAS+M,CAAG,EAAG,CACjB,MAAMgG,EAAUsB,EAAItH,CAAG,EACnBhN,GAAWgT,CAAO,GACpB0E,GAAM3I,EAAQiE,CAAO,CAI3B,SAAahT,GAAWgN,CAAG,EACvB0K,GAAM3I,EAAQ/B,EAAI,KAAK+L,CAAU,CAAC,UACzB5Y,GAAS6M,CAAG,EACrB,GAAItN,GAAQsN,CAAG,EACbA,EAAI,QAAS,GAAM2Y,GAAc,EAAGrR,EAAKyE,EAAY9Z,CAAG,CAAC,MACpD,CACL,MAAM+T,EAAUhT,GAAWgN,EAAI,OAAO,EAAIA,EAAI,QAAQ,KAAK+L,CAAU,EAAIzE,EAAItH,EAAI,OAAO,EACpFhN,GAAWgT,CAAO,GACpB0E,GAAM3I,EAAQiE,EAAShG,CAAG,CAI7B,CAIL,CACA,SAASoW,GAAqB3T,EAAU,CACtC,MAAM6W,EAAO7W,EAAS,KAChB,CAAE,OAAA8W,EAAQ,QAASC,CAAc,EAAKF,EACtC,CACJ,OAAQG,EACR,aAAc5lB,EACd,OAAQ,CAAE,sBAAA6lB,CAAuB,CACrC,EAAMjX,EAAS,WACP6D,EAASzS,EAAM,IAAIylB,CAAI,EAC7B,IAAIK,EACJ,OAAIrT,EACFqT,EAAWrT,EACF,CAACmT,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,GAEhDvmB,GAASmmB,CAAI,GACfzlB,EAAM,IAAIylB,EAAMK,CAAQ,EAEnBA,CACT,CACA,SAASE,GAAaC,EAAIC,EAAMC,EAAQ3T,EAAU,GAAO,CACvD,KAAM,CAAE,OAAAkT,EAAQ,QAASC,CAAc,EAAKO,EACxCP,GACFK,GAAaC,EAAIN,EAAgBQ,EAAQ,EAAI,EAE3CT,GACFA,EAAO,QACJK,GAAMC,GAAaC,EAAIF,EAAGI,EAAQ,EAAI,CAC7C,EAEE,UAAW/nB,KAAO8nB,EAChB,GAAI,EAAA1T,GAAWpU,IAAQ,UAIhB,CACL,MAAMgoB,EAAQC,GAA0BjoB,CAAG,GAAK+nB,GAAUA,EAAO/nB,CAAG,EACpE6nB,EAAG7nB,CAAG,EAAIgoB,EAAQA,EAAMH,EAAG7nB,CAAG,EAAG8nB,EAAK9nB,CAAG,CAAC,EAAI8nB,EAAK9nB,CAAG,CACvD,CAEH,OAAO6nB,CACT,CACA,MAAMI,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,GAAYL,EAAIC,EAAM,CAC7B,OAAKA,EAGAD,EAGE,UAAwB,CAC7B,OAAQ3nB,GACNa,GAAW8mB,CAAE,EAAIA,EAAG,KAAK,KAAM,IAAI,EAAIA,EACvC9mB,GAAW+mB,CAAI,EAAIA,EAAK,KAAK,KAAM,IAAI,EAAIA,CACjD,CACA,EAPWA,EAHAD,CAWX,CACA,SAASU,GAAYV,EAAIC,EAAM,CAC7B,OAAOM,GAAmBlB,GAAgBW,CAAE,EAAGX,GAAgBY,CAAI,CAAC,CACtE,CACA,SAASZ,GAAgBnZ,EAAK,CAC5B,GAAItN,GAAQsN,CAAG,EAAG,CAChB,MAAM7K,EAAM,GACZ,QAAS5C,EAAI,EAAGA,EAAIyN,EAAI,OAAQzN,IAC9B4C,EAAI6K,EAAIzN,CAAC,CAAC,EAAIyN,EAAIzN,CAAC,EAErB,OAAO4C,CACR,CACD,OAAO6K,CACT,CACA,SAASsa,GAAaR,EAAIC,EAAM,CAC9B,OAAOD,EAAK,CAAC,GAAG,IAAI,IAAI,CAAE,EAAC,OAAOA,EAAIC,CAAI,CAAC,CAAC,EAAIA,CAClD,CACA,SAASM,GAAmBP,EAAIC,EAAM,CACpC,OAAOD,EAAK3nB,GAAuB,OAAO,OAAO,IAAI,EAAG2nB,EAAIC,CAAI,EAAIA,CACtE,CACA,SAASK,GAAyBN,EAAIC,EAAM,CAC1C,OAAID,EACEpnB,GAAQonB,CAAE,GAAKpnB,GAAQqnB,CAAI,EACtB,CAAC,GAAmB,IAAI,IAAI,CAAC,GAAGD,EAAI,GAAGC,CAAI,CAAC,CAAC,EAE/C5nB,GACW,OAAO,OAAO,IAAI,EAClC2kB,GAAsBgD,CAAE,EACxBhD,GAAsBiD,GAAsB,EAAE,CACpD,EAEWA,CAEX,CACA,SAASQ,GAAkBT,EAAIC,EAAM,CACnC,GAAI,CAACD,EACH,OAAOC,EACT,GAAI,CAACA,EACH,OAAOD,EACT,MAAMW,EAAStoB,GAAuB,OAAO,OAAO,IAAI,EAAG2nB,CAAE,EAC7D,UAAW7nB,KAAO8nB,EAChBU,EAAOxoB,CAAG,EAAIqoB,GAAaR,EAAG7nB,CAAG,EAAG8nB,EAAK9nB,CAAG,CAAC,EAE/C,OAAOwoB,CACT,CAEA,SAASC,IAAmB,CAC1B,MAAO,CACL,IAAK,KACL,OAAQ,CACN,YAAa5oB,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,IAAI6oB,GAAQ,EACZ,SAASC,GAAa1S,EAAQ2S,EAAS,CACrC,OAAO,SAAmBC,EAAeC,EAAY,KAAM,CACpD/nB,GAAW8nB,CAAa,IAC3BA,EAAgB3oB,GAAO,GAAI2oB,CAAa,GAEtCC,GAAa,MAAQ,CAAC5nB,GAAS4nB,CAAS,IAE1CA,EAAY,MAEd,MAAMC,EAAUN,KAaVO,EAAmC,IAAI,QAC7C,IAAIC,EAAY,GAChB,MAAMC,EAAMH,EAAQ,IAAM,CACxB,KAAML,KACN,WAAYG,EACZ,OAAQC,EACR,WAAY,KACZ,SAAUC,EACV,UAAW,KACjB,QAAMI,GACA,IAAI,QAAS,CACX,OAAOJ,EAAQ,MAChB,EACD,IAAI,OAAOte,EAAG,CAMb,EACD,IAAI2e,KAAWzU,EAAS,CACtB,OAAIqU,EAAiB,IAAII,CAAM,IAEpBA,GAAUroB,GAAWqoB,EAAO,OAAO,GAC5CJ,EAAiB,IAAII,CAAM,EAC3BA,EAAO,QAAQF,EAAK,GAAGvU,CAAO,GACrB5T,GAAWqoB,CAAM,IAC1BJ,EAAiB,IAAII,CAAM,EAC3BA,EAAOF,EAAK,GAAGvU,CAAO,IAMjBuU,CACR,EACD,MAAMG,EAAO,CAET,OAAKN,EAAQ,OAAO,SAASM,CAAK,GAChCN,EAAQ,OAAO,KAAKM,CAAK,EAStBH,CACR,EACD,UAAUrlB,EAAM4T,EAAW,CAIzB,OAAKA,GAMLsR,EAAQ,WAAWllB,CAAI,EAAI4T,EACpByR,GANEH,EAAQ,WAAWllB,CAAI,CAOjC,EACD,UAAUA,EAAMylB,EAAW,CAIzB,OAAKA,GAMLP,EAAQ,WAAWllB,CAAI,EAAIylB,EACpBJ,GANEH,EAAQ,WAAWllB,CAAI,CAOjC,EACD,MAAM0lB,EAAeC,EAAW5J,EAAO,CACrC,GAAI,CAACqJ,EAAW,CAOd,MAAMrT,EAAQgB,GAAYiS,EAAeC,CAAS,EAClD,OAAAlT,EAAM,WAAamT,EAMfS,GAAaZ,EACfA,EAAQhT,EAAO2T,CAAa,EAE5BtT,EAAOL,EAAO2T,EAAe3J,CAAK,EAEpCqJ,EAAY,GACZC,EAAI,WAAaK,EACjBA,EAAc,YAAcL,EAKrB3O,GAAe3E,EAAM,SAAS,GAAKA,EAAM,UAAU,KAM3D,CACF,EACD,SAAU,CACJqT,IACFhT,EAAO,KAAMiT,EAAI,UAAU,EAK3B,OAAOA,EAAI,WAAW,YAIzB,EACD,QAAQlpB,EAAKqB,EAAO,CAMlB,OAAA0nB,EAAQ,SAAS/oB,CAAG,EAAIqB,EACjB6nB,CACR,EACD,eAAevnB,EAAI,CACjB8nB,GAAaP,EACb,GAAI,CACF,OAAOvnB,EAAE,CACnB,QAAkB,CACR8nB,GAAa,IACd,CACF,CACP,EACI,OAAOP,CACX,CACA,CACA,IAAIO,GAAa,KAEjB,SAAS7C,GAAQ5mB,EAAKqB,EAAO,CAC3B,GAAK0X,GAIE,CACL,IAAI4N,EAAW5N,GAAgB,SAC/B,MAAM2Q,EAAiB3Q,GAAgB,QAAUA,GAAgB,OAAO,SACpE2Q,IAAmB/C,IACrBA,EAAW5N,GAAgB,SAAW,OAAO,OAAO2Q,CAAc,GAEpE/C,EAAS3mB,CAAG,EAAIqB,CACjB,CACH,CACA,SAAS8lB,GAAOnnB,EAAK2P,EAAcga,EAAwB,GAAO,CAChE,MAAMnZ,EAAWuI,IAAmBnE,GACpC,GAAIpE,GAAYiZ,GAAY,CAC1B,MAAM9C,EAAWnW,EAAWA,EAAS,QAAU,KAAOA,EAAS,MAAM,YAAcA,EAAS,MAAM,WAAW,SAAWA,EAAS,OAAO,SAAWiZ,GAAW,SAAS,SACvK,GAAI9C,GAAY3mB,KAAO2mB,EACrB,OAAOA,EAAS3mB,CAAG,EACd,GAAI,UAAU,OAAS,EAC5B,OAAO2pB,GAAyB5oB,GAAW4O,CAAY,EAAIA,EAAa,KAAKa,GAAYA,EAAS,KAAK,EAAIb,CAM9G,CACH,CAKA,SAASia,GAAUpZ,EAAUqL,EAAUgO,EAAY7Z,EAAQ,GAAO,CAChE,MAAMyD,EAAQ,GACRuC,EAAQ,GACdtT,GAAIsT,EAAO8T,GAAmB,CAAC,EAC/BtZ,EAAS,cAAgC,OAAO,OAAO,IAAI,EAC3DuZ,GAAavZ,EAAUqL,EAAUpI,EAAOuC,CAAK,EAC7C,UAAWhW,KAAOwQ,EAAS,aAAa,CAAC,EACjCxQ,KAAOyT,IACXA,EAAMzT,CAAG,EAAI,QAMb6pB,EACFrZ,EAAS,MAAQR,EAAQyD,EAAQnG,GAAgBmG,CAAK,EAEjDjD,EAAS,KAAK,MAGjBA,EAAS,MAAQiD,EAFjBjD,EAAS,MAAQwF,EAKrBxF,EAAS,MAAQwF,CACnB,CAQA,SAASgU,GAAYxZ,EAAUqL,EAAUoO,EAAc3S,EAAW,CAChE,KAAM,CACJ,MAAA7D,EACA,MAAAuC,EACA,MAAO,CAAE,UAAA4B,CAAW,CACrB,EAAGpH,EACE0Z,EAAkBnhB,GAAM0K,CAAK,EAC7B,CAACkB,CAAO,EAAInE,EAAS,aAC3B,IAAI2Z,EAAkB,GACtB,IAI+E7S,GAAaM,EAAY,IAAM,EAAEA,EAAY,KAE1H,GAAIA,EAAY,EAAG,CACjB,MAAMwS,EAAgB5Z,EAAS,MAAM,aACrC,QAASlQ,EAAI,EAAGA,EAAI8pB,EAAc,OAAQ9pB,IAAK,CAC7C,IAAIN,EAAMoqB,EAAc9pB,CAAC,EACzB,GAAIoU,GAAelE,EAAS,aAAcxQ,CAAG,EAC3C,SAEF,MAAMqB,EAAQwa,EAAS7b,CAAG,EAC1B,GAAI2U,EACF,GAAInU,GAAOwV,EAAOhW,CAAG,EACfqB,IAAU2U,EAAMhW,CAAG,IACrBgW,EAAMhW,CAAG,EAAIqB,EACb8oB,EAAkB,QAEf,CACL,MAAME,EAAevoB,GAAS9B,CAAG,EACjCyT,EAAM4W,CAAY,EAAIC,GACpB3V,EACAuV,EACAG,EACAhpB,EACAmP,EACA,EAEd,CACW,MAEGnP,IAAU2U,EAAMhW,CAAG,IACrBgW,EAAMhW,CAAG,EAAIqB,EACb8oB,EAAkB,GAGvB,CACF,MACI,CACDJ,GAAavZ,EAAUqL,EAAUpI,EAAOuC,CAAK,IAC/CmU,EAAkB,IAEpB,IAAII,EACJ,UAAWvqB,KAAOkqB,GACZ,CAACrO,GACL,CAACrb,GAAOqb,EAAU7b,CAAG,KAEnBuqB,EAAWroB,GAAUlC,CAAG,KAAOA,GAAO,CAACQ,GAAOqb,EAAU0O,CAAQ,MAC5D5V,EACEsV,IACHA,EAAajqB,CAAG,IAAM,QACvBiqB,EAAaM,CAAQ,IAAM,UACzB9W,EAAMzT,CAAG,EAAIsqB,GACX3V,EACAuV,EACAlqB,EACA,OACAwQ,EACA,EAEd,GAGU,OAAOiD,EAAMzT,CAAG,GAItB,GAAIgW,IAAUkU,EACZ,UAAWlqB,KAAOgW,GACZ,CAAC6F,GAAY,CAACrb,GAAOqb,EAAU7b,CAAG,KACpC,OAAOgW,EAAMhW,CAAG,EAChBmqB,EAAkB,GAIzB,CACGA,GACFpiB,GAAQyI,EAAU,MAAO,QAAQ,CAKrC,CACA,SAASuZ,GAAavZ,EAAUqL,EAAUpI,EAAOuC,EAAO,CACtD,KAAM,CAACrB,EAAS6V,CAAY,EAAIha,EAAS,aACzC,IAAI2Z,EAAkB,GAClBM,EACJ,GAAI5O,EACF,QAAS7b,KAAO6b,EAAU,CACxB,GAAIpa,GAAezB,CAAG,EACpB,SAEF,MAAMqB,EAAQwa,EAAS7b,CAAG,EAC1B,IAAI0qB,EACA/V,GAAWnU,GAAOmU,EAAS+V,EAAW5oB,GAAS9B,CAAG,CAAC,EACjD,CAACwqB,GAAgB,CAACA,EAAa,SAASE,CAAQ,EAClDjX,EAAMiX,CAAQ,EAAIrpB,GAEjBopB,IAAkBA,EAAgB,KAAKC,CAAQ,EAAIrpB,EAE5CqT,GAAelE,EAAS,aAAcxQ,CAAG,IAC/C,EAAEA,KAAOgW,IAAU3U,IAAU2U,EAAMhW,CAAG,KACxCgW,EAAMhW,CAAG,EAAIqB,EACb8oB,EAAkB,GAGvB,CAEH,GAAIK,EAAc,CAChB,MAAMN,EAAkBnhB,GAAM0K,CAAK,EAC7BkX,EAAaF,GAAiB/qB,GACpC,QAASY,EAAI,EAAGA,EAAIkqB,EAAa,OAAQlqB,IAAK,CAC5C,MAAMN,EAAMwqB,EAAalqB,CAAC,EAC1BmT,EAAMzT,CAAG,EAAIsqB,GACX3V,EACAuV,EACAlqB,EACA2qB,EAAW3qB,CAAG,EACdwQ,EACA,CAAChQ,GAAOmqB,EAAY3qB,CAAG,CAC/B,CACK,CACF,CACD,OAAOmqB,CACT,CACA,SAASG,GAAiB3V,EAASlB,EAAOzT,EAAKqB,EAAOmP,EAAUoa,EAAU,CACxE,MAAMnE,EAAM9R,EAAQ3U,CAAG,EACvB,GAAIymB,GAAO,KAAM,CACf,MAAMoE,EAAarqB,GAAOimB,EAAK,SAAS,EACxC,GAAIoE,GAAcxpB,IAAU,OAAQ,CAClC,MAAMsO,EAAe8W,EAAI,QACzB,GAAIA,EAAI,OAAS,UAAY,CAACA,EAAI,aAAe1lB,GAAW4O,CAAY,EAAG,CACzE,KAAM,CAAE,cAAAmb,CAAe,EAAGta,EACtBxQ,KAAO8qB,EACTzpB,EAAQypB,EAAc9qB,CAAG,GAEzBga,GAAmBxJ,CAAQ,EAC3BnP,EAAQypB,EAAc9qB,CAAG,EAAI2P,EAAa,KACxC,KACA8D,CACZ,EACUwG,KAEV,MACQ5Y,EAAQsO,CAEX,CACG8W,EAAI,KACFmE,GAAY,CAACC,EACfxpB,EAAQ,GACColB,EAAI,CAAC,IAA2BplB,IAAU,IAAMA,IAAUa,GAAUlC,CAAG,KAChFqB,EAAQ,IAGb,CACD,OAAOA,CACT,CACA,SAAS0pB,GAAsB7W,EAAMC,EAAYC,EAAU,GAAO,CAChE,MAAMxS,EAAQuS,EAAW,WACnBE,EAASzS,EAAM,IAAIsS,CAAI,EAC7B,GAAIG,EACF,OAAOA,EAET,MAAMtG,EAAMmG,EAAK,MACX9Q,EAAa,GACbonB,EAAe,GACrB,IAAIlW,EAAa,GACjB,GAA2B,CAACvT,GAAWmT,CAAI,EAAG,CAC5C,MAAM8W,EAAexW,GAAS,CAC5BF,EAAa,GACb,KAAM,CAACb,EAAOsD,CAAI,EAAIgU,GAAsBvW,EAAML,EAAY,EAAI,EAClEjU,GAAOkD,EAAYqQ,CAAK,EACpBsD,GACFyT,EAAa,KAAK,GAAGzT,CAAI,CACjC,EACQ,CAAC3C,GAAWD,EAAW,OAAO,QAChCA,EAAW,OAAO,QAAQ6W,CAAW,EAEnC9W,EAAK,SACP8W,EAAY9W,EAAK,OAAO,EAEtBA,EAAK,QACPA,EAAK,OAAO,QAAQ8W,CAAW,CAElC,CACD,GAAI,CAACjd,GAAO,CAACuG,EACX,OAAIpT,GAASgT,CAAI,GACftS,EAAM,IAAIsS,EAAMvU,EAAS,EAEpBA,GAET,GAAIc,GAAQsN,CAAG,EACb,QAASzN,EAAI,EAAGA,EAAIyN,EAAI,OAAQzN,IAAK,CAInC,MAAM2qB,EAAgBnpB,GAASiM,EAAIzN,CAAC,CAAC,EACjC4qB,GAAiBD,CAAa,IAChC7nB,EAAW6nB,CAAa,EAAIvrB,GAE/B,SACQqO,EAIT,UAAW/N,KAAO+N,EAAK,CACrB,MAAMkd,EAAgBnpB,GAAS9B,CAAG,EAClC,GAAIkrB,GAAiBD,CAAa,EAAG,CACnC,MAAMxE,EAAM1Y,EAAI/N,CAAG,EACbmrB,EAAO/nB,EAAW6nB,CAAa,EAAIxqB,GAAQgmB,CAAG,GAAK1lB,GAAW0lB,CAAG,EAAI,CAAE,KAAMA,CAAG,EAAKvmB,GAAO,GAAIumB,CAAG,EACzG,GAAI0E,EAAM,CACR,MAAMC,EAAeC,GAAa,QAASF,EAAK,IAAI,EAC9CG,EAAcD,GAAa,OAAQF,EAAK,IAAI,EAClDA,EAAK,CAAC,EAAqBC,EAAe,GAC1CD,EAAK,CAAC,EAAyBG,EAAc,GAAKF,EAAeE,GAC7DF,EAAe,IAAM5qB,GAAO2qB,EAAM,SAAS,IAC7CX,EAAa,KAAKS,CAAa,CAElC,CACF,CACF,CAEH,MAAM/nB,EAAM,CAACE,EAAYonB,CAAY,EACrC,OAAItpB,GAASgT,CAAI,GACftS,EAAM,IAAIsS,EAAMhR,CAAG,EAEdA,CACT,CACA,SAASgoB,GAAiBlrB,EAAK,CAC7B,OAAIA,EAAI,CAAC,IAAM,GAMjB,CACA,SAASurB,GAAQC,EAAM,CACrB,MAAMC,EAAQD,GAAQA,EAAK,SAAQ,EAAG,MAAM,4BAA4B,EACxE,OAAOC,EAAQA,EAAM,CAAC,EAAID,IAAS,KAAO,OAAS,EACrD,CACA,SAASE,GAAWxnB,EAAGC,EAAG,CACxB,OAAOonB,GAAQrnB,CAAC,IAAMqnB,GAAQpnB,CAAC,CACjC,CACA,SAASknB,GAAa3jB,EAAMikB,EAAe,CACzC,OAAIlrB,GAAQkrB,CAAa,EAChBA,EAAc,UAAW,GAAMD,GAAW,EAAGhkB,CAAI,CAAC,EAChD3G,GAAW4qB,CAAa,GAC1BD,GAAWC,EAAejkB,CAAI,EAAI,EAEpC,EACT,CAqGA,MAAMkkB,GAAiB5rB,GAAQA,EAAI,CAAC,IAAM,KAAOA,IAAQ,UACnD6rB,GAAsBxqB,GAAUZ,GAAQY,CAAK,EAAIA,EAAM,IAAImV,EAAc,EAAI,CAACA,GAAenV,CAAK,CAAC,EACnGyqB,GAAgB,CAAC9rB,EAAK+rB,EAAS1W,IAAQ,CAC3C,GAAI0W,EAAQ,GACV,OAAOA,EAET,MAAM3oB,EAAagS,GAAQ,IAAItM,IAMtB+iB,GAAmBE,EAAQ,GAAGjjB,CAAI,CAAC,EACzCuM,CAAG,EACN,OAAAjS,EAAW,GAAK,GACTA,CACT,EACM4oB,GAAuB,CAACC,EAAUlW,EAAOvF,IAAa,CAC1D,MAAM6E,EAAM4W,EAAS,KACrB,UAAWjsB,KAAOisB,EAAU,CAC1B,GAAIL,GAAc5rB,CAAG,EACnB,SACF,MAAMqB,EAAQ4qB,EAASjsB,CAAG,EAC1B,GAAIe,GAAWM,CAAK,EAClB0U,EAAM/V,CAAG,EAAI8rB,GAAc9rB,EAAKqB,EAAOgU,CAAG,UACjChU,GAAS,KAAM,CAMxB,MAAM+B,EAAayoB,GAAmBxqB,CAAK,EAC3C0U,EAAM/V,CAAG,EAAI,IAAMoD,CACpB,CACF,CACH,EACM8oB,GAAsB,CAAC1b,EAAUkL,IAAa,CAMlD,MAAMtY,EAAayoB,GAAmBnQ,CAAQ,EAC9ClL,EAAS,MAAM,QAAU,IAAMpN,CACjC,EACM+oB,GAAY,CAAC3b,EAAUkL,IAAa,CACxC,GAAIlL,EAAS,MAAM,UAAY,GAAI,CACjC,MAAM9I,EAAOgU,EAAS,EAClBhU,GACF8I,EAAS,MAAQzH,GAAM2S,CAAQ,EAC/BhZ,GAAIgZ,EAAU,IAAKhU,CAAI,GAEvBskB,GACEtQ,EACAlL,EAAS,MAAQ,EAAE,CAE3B,MACIA,EAAS,MAAQ,GACbkL,GACFwQ,GAAoB1b,EAAUkL,CAAQ,EAG1ChZ,GAAI8N,EAAS,MAAOsZ,GAAmB,CAAC,CAC1C,EACMsC,GAAc,CAAC5b,EAAUkL,EAAUpE,IAAc,CACrD,KAAM,CAAE,MAAA1B,EAAO,MAAAG,CAAO,EAAGvF,EACzB,IAAI6b,EAAoB,GACpBC,EAA2B5sB,GAC/B,GAAIkW,EAAM,UAAY,GAAI,CACxB,MAAMlO,EAAOgU,EAAS,EAClBhU,EAIS4P,GAAa5P,IAAS,EAC/B2kB,EAAoB,IAEpBnsB,GAAO6V,EAAO2F,CAAQ,EAClB,CAACpE,GAAa5P,IAAS,GACzB,OAAOqO,EAAM,IAIjBsW,EAAoB,CAAC3Q,EAAS,QAC9BsQ,GAAqBtQ,EAAU3F,CAAK,GAEtCuW,EAA2B5Q,CAC5B,MAAUA,IACTwQ,GAAoB1b,EAAUkL,CAAQ,EACtC4Q,EAA2B,CAAE,QAAS,IAExC,GAAID,EACF,UAAWrsB,KAAO+V,EACZ,CAAC6V,GAAc5rB,CAAG,GAAKssB,EAAyBtsB,CAAG,GAAK,MAC1D,OAAO+V,EAAM/V,CAAG,CAIxB,EAEA,SAASusB,GAAOC,EAAQC,EAAWrN,EAAgBxJ,EAAO8W,EAAY,GAAO,CAC3E,GAAIjsB,GAAQ+rB,CAAM,EAAG,CACnBA,EAAO,QACL,CAACne,EAAG/N,IAAMisB,GACRle,EACAoe,IAAchsB,GAAQgsB,CAAS,EAAIA,EAAUnsB,CAAC,EAAImsB,GAClDrN,EACAxJ,EACA8W,CACD,CACP,EACI,MACD,CACD,GAAI1N,GAAepJ,CAAK,GAAK,CAAC8W,EAC5B,OAEF,MAAMC,EAAW/W,EAAM,UAAY,EAAI2E,GAAe3E,EAAM,SAAS,GAAKA,EAAM,UAAU,MAAQA,EAAM,GAClGvU,EAAQqrB,EAAY,KAAOC,EAC3B,CAAE,EAAGC,EAAO,EAAGte,CAAG,EAAKke,EAOvBK,EAASJ,GAAaA,EAAU,EAChCK,EAAOF,EAAM,OAASltB,GAAYktB,EAAM,KAAO,GAAKA,EAAM,KAC1DxW,EAAawW,EAAM,WAWzB,GAVIC,GAAU,MAAQA,IAAWve,IAC3BtN,GAAS6rB,CAAM,GACjBC,EAAKD,CAAM,EAAI,KACXrsB,GAAO4V,EAAYyW,CAAM,IAC3BzW,EAAWyW,CAAM,EAAI,OAEdljB,GAAMkjB,CAAM,IACrBA,EAAO,MAAQ,OAGf9rB,GAAWuN,CAAG,EAChBiC,GAAsBjC,EAAKse,EAAO,GAAI,CAACvrB,EAAOyrB,CAAI,CAAC,MAC9C,CACL,MAAMC,EAAY/rB,GAASsN,CAAG,EACxB0e,EAASrjB,GAAM2E,CAAG,EACxB,GAAIye,GAAaC,EAAQ,CACvB,MAAMC,EAAQ,IAAM,CAClB,GAAIT,EAAO,EAAG,CACZ,MAAMU,EAAWH,EAAYvsB,GAAO4V,EAAY9H,CAAG,EAAI8H,EAAW9H,CAAG,EAAIwe,EAAKxe,CAAG,EAAIA,EAAI,MACrFoe,EACFjsB,GAAQysB,CAAQ,GAAK/sB,GAAO+sB,EAAUP,CAAQ,EAEzClsB,GAAQysB,CAAQ,EAWTA,EAAS,SAASP,CAAQ,GACpCO,EAAS,KAAKP,CAAQ,EAXlBI,GACFD,EAAKxe,CAAG,EAAI,CAACqe,CAAQ,EACjBnsB,GAAO4V,EAAY9H,CAAG,IACxB8H,EAAW9H,CAAG,EAAIwe,EAAKxe,CAAG,KAG5BA,EAAI,MAAQ,CAACqe,CAAQ,EACjBH,EAAO,IACTM,EAAKN,EAAO,CAAC,EAAIle,EAAI,OAM9B,MAAUye,GACTD,EAAKxe,CAAG,EAAIjN,EACRb,GAAO4V,EAAY9H,CAAG,IACxB8H,EAAW9H,CAAG,EAAIjN,IAEX2rB,IACT1e,EAAI,MAAQjN,EACRmrB,EAAO,IACTM,EAAKN,EAAO,CAAC,EAAInrB,GAI7B,EACUA,GACF4rB,EAAM,GAAK,GACXtT,GAAsBsT,EAAO7N,CAAc,GAE3C6N,GAIH,CACF,CACH,CAwfA,MAAMtT,GAAwBvB,GAC9B,SAAS+U,GAAexY,EAAS,CAC/B,OAAOyY,GAAmBzY,CAAO,CACnC,CAIA,SAASyY,GAAmBzY,EAAS0Y,EAAoB,CAIvD,MAAM5lB,EAASzE,KACfyE,EAAO,QAAU,GAIjB,KAAM,CACJ,OAAQ6lB,EACR,OAAQC,EACR,UAAWC,EACX,cAAeC,EACf,WAAYC,EACZ,cAAeC,EACf,QAASC,EACT,eAAgBC,EAChB,WAAYC,EACZ,YAAaC,EACb,WAAYC,EAAiBpuB,GAC7B,oBAAqBquB,CACtB,EAAGtZ,EACE0K,EAAQ,CAAC6O,EAAIC,EAAIzO,EAAWC,EAAS,KAAMyO,EAAkB,KAAMhP,EAAiB,KAAMQ,EAAQ,GAAOyO,EAAe,KAAM/W,EAAiF,CAAC,CAAC6W,EAAG,kBAAoB,CAC5O,GAAID,IAAOC,EACT,OAEED,GAAM,CAACzR,GAAgByR,EAAIC,CAAE,IAC/BxO,EAAS2O,EAAgBJ,CAAE,EAC3BlO,GAAQkO,EAAIE,EAAiBhP,EAAgB,EAAI,EACjD8O,EAAK,MAEHC,EAAG,YAAc,KACnB7W,EAAY,GACZ6W,EAAG,gBAAkB,MAEvB,KAAM,CAAE,KAAAzmB,EAAM,IAAA4G,GAAK,UAAA0I,EAAS,EAAKmX,EACjC,OAAQzmB,EAAI,CACV,KAAK6mB,GACHC,EAAYN,EAAIC,EAAIzO,EAAWC,CAAM,EACrC,MACF,KAAK9I,GACH4X,EAAmBP,EAAIC,EAAIzO,EAAWC,CAAM,EAC5C,MACF,KAAK+O,GACCR,GAAM,MACRS,EAAgBR,EAAIzO,EAAWC,EAAQC,CAAK,EAI9C,MACF,KAAKf,GACH+P,EACEV,EACAC,EACAzO,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACV,EACQ,MACF,QACMN,GAAY,EACd6X,EACEX,EACAC,EACAzO,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACZ,EACmBN,GAAY,EACrB8X,EACEZ,EACAC,EACAzO,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACZ,GACmBN,GAAY,IAaZA,GAAY,MACrBtP,EAAK,QACHwmB,EACAC,EACAzO,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,EACAyX,CACZ,CAIK,CACGzgB,IAAO,MAAQ8f,GACjB7B,GAAOje,GAAK4f,GAAMA,EAAG,IAAK9O,EAAgB+O,GAAMD,EAAI,CAACC,CAAE,CAE7D,EACQK,EAAc,CAACN,EAAIC,EAAIzO,EAAWC,IAAW,CACjD,GAAIuO,GAAM,KACRZ,EACEa,EAAG,GAAKT,EAAeS,EAAG,QAAQ,EAClCzO,EACAC,CACR,MACW,CACL,MAAMtf,EAAK8tB,EAAG,GAAKD,EAAG,GAClBC,EAAG,WAAaD,EAAG,UACrBN,EAAYvtB,EAAI8tB,EAAG,QAAQ,CAE9B,CACL,EACQM,EAAqB,CAACP,EAAIC,EAAIzO,EAAWC,IAAW,CACpDuO,GAAM,KACRZ,EACEa,EAAG,GAAKR,EAAkBQ,EAAG,UAAY,EAAE,EAC3CzO,EACAC,CACR,EAEMwO,EAAG,GAAKD,EAAG,EAEjB,EACQS,EAAkB,CAACR,EAAIzO,EAAWC,EAAQC,IAAU,CACxD,CAACuO,EAAG,GAAIA,EAAG,MAAM,EAAIF,EACnBE,EAAG,SACHzO,EACAC,EACAC,EACAuO,EAAG,GACHA,EAAG,MACT,CACA,EAgBQa,EAAiB,CAAC,CAAE,GAAA3uB,EAAI,OAAAsf,CAAQ,EAAED,EAAWuP,IAAgB,CACjE,IAAIC,EACJ,KAAO7uB,GAAMA,IAAOsf,GAClBuP,EAAOnB,EAAgB1tB,CAAE,EACzBitB,EAAWjtB,EAAIqf,EAAWuP,CAAW,EACrC5uB,EAAK6uB,EAEP5B,EAAW3N,EAAQD,EAAWuP,CAAW,CAC7C,EACQE,EAAmB,CAAC,CAAE,GAAA9uB,EAAI,OAAAsf,CAAM,IAAO,CAC3C,IAAIuP,EACJ,KAAO7uB,GAAMA,IAAOsf,GAClBuP,EAAOnB,EAAgB1tB,CAAE,EACzBktB,EAAWltB,CAAE,EACbA,EAAK6uB,EAEP3B,EAAW5N,CAAM,CACrB,EACQkP,EAAiB,CAACX,EAAIC,EAAIzO,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,IAAc,CACrHsI,EAAQA,GAASuO,EAAG,OAAS,MACzBD,GAAM,KACRkB,EACEjB,EACAzO,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACR,EAEM+X,EACEnB,EACAC,EACAC,EACAhP,EACAQ,EACAyO,EACA/W,CACR,CAEA,EACQ8X,EAAe,CAACxZ,EAAO8J,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,IAAc,CAClH,IAAIjX,EACAyf,EACJ,KAAM,CAAE,KAAApY,GAAM,MAAA+L,GAAO,UAAAuD,GAAW,WAAAsY,GAAY,KAAAC,EAAM,EAAG3Z,EAyBrD,GAxBAvV,EAAKuV,EAAM,GAAK6X,EACd7X,EAAM,KACNgK,EACAnM,IAASA,GAAM,GACfA,EACN,EACQuD,GAAY,EACd6W,EAAmBxtB,EAAIuV,EAAM,QAAQ,EAC5BoB,GAAY,IACrBwY,EACE5Z,EAAM,SACNvV,EACA,KACA+tB,EACAhP,EACAQ,GAASlY,KAAS,gBAClB2mB,EACA/W,CACR,EAEQiY,IACF5U,GAAoB/E,EAAO,KAAMwY,EAAiB,SAAS,EAE7DqB,EAAWpvB,EAAIuV,EAAOA,EAAM,QAASyY,EAAcD,CAAe,EAC9D3a,GAAO,CACT,UAAWzT,MAAOyT,GACZzT,KAAQ,SAAW,CAACyB,GAAezB,EAAG,GACxCwtB,EACEntB,EACAL,GACA,KACAyT,GAAMzT,EAAG,EACT4f,EACAhK,EAAM,SACNwY,EACAhP,EACAsQ,EACZ,EAGU,UAAWjc,IACb+Z,EAAcntB,EAAI,QAAS,KAAMoT,GAAM,KAAK,GAE1CqM,EAAYrM,GAAM,qBACpBsM,GAAgBD,EAAWsO,EAAiBxY,CAAK,CAEpD,CAWG2Z,IACF5U,GAAoB/E,EAAO,KAAMwY,EAAiB,aAAa,EAEjE,MAAMuB,GAA0BC,GAAexQ,EAAgBkQ,EAAU,EACrEK,IACFL,GAAW,YAAYjvB,CAAE,EAE3BitB,EAAWjtB,EAAIqf,EAAWC,CAAM,IAC3BG,EAAYrM,IAASA,GAAM,iBAAmBkc,IAA2BJ,KAC5E5V,GAAsB,IAAM,CAC1BmG,GAAaC,GAAgBD,EAAWsO,EAAiBxY,CAAK,EAC9D+Z,IAA2BL,GAAW,MAAMjvB,CAAE,EAC9CkvB,IAAQ5U,GAAoB/E,EAAO,KAAMwY,EAAiB,SAAS,CACpE,EAAEhP,CAAc,CAEvB,EACQqQ,EAAa,CAACpvB,EAAIuV,EAAOia,EAASxB,EAAcD,IAAoB,CAIxE,GAHIyB,GACF7B,EAAe3tB,EAAIwvB,CAAO,EAExBxB,EACF,QAAS/tB,EAAI,EAAGA,EAAI+tB,EAAa,OAAQ/tB,IACvC0tB,EAAe3tB,EAAIguB,EAAa/tB,CAAC,CAAC,EAGtC,GAAI8tB,EAAiB,CACnB,IAAIvN,EAAUuN,EAAgB,QAI9B,GAAIxY,IAAUiL,EAAS,CACrB,MAAMiP,EAAc1B,EAAgB,MACpCqB,EACEpvB,EACAyvB,EACAA,EAAY,QACZA,EAAY,aACZ1B,EAAgB,MAC1B,CACO,CACF,CACL,EACQoB,EAAgB,CAAC9T,EAAUgE,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,EAAWpF,EAAQ,IAAM,CACjI,QAAS5R,EAAI4R,EAAO5R,EAAIob,EAAS,OAAQpb,IAAK,CAC5C,MAAMsb,GAAQF,EAASpb,CAAC,EAAIgX,EAAYyY,GAAerU,EAASpb,CAAC,CAAC,EAAIkW,GAAekF,EAASpb,CAAC,CAAC,EAChG+e,EACE,KACAzD,GACA8D,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACR,CACK,CACL,EACQ+X,EAAe,CAACnB,EAAIC,EAAIC,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,IAAc,CAChG,MAAMjX,EAAK8tB,EAAG,GAAKD,EAAG,GACtB,GAAI,CAAE,UAAAtW,EAAW,gBAAAoY,EAAiB,KAAAT,EAAI,EAAKpB,EAC3CvW,GAAasW,EAAG,UAAY,GAC5B,MAAM+B,GAAW/B,EAAG,OAASxuB,GACvBwwB,GAAW/B,EAAG,OAASzuB,GAC7B,IAAIogB,GACJsO,GAAmB+B,GAAc/B,EAAiB,EAAK,GACnDtO,GAAYoQ,GAAS,sBACvBnQ,GAAgBD,GAAWsO,EAAiBD,EAAID,CAAE,EAEhDqB,IACF5U,GAAoBwT,EAAID,EAAIE,EAAiB,cAAc,EAE7DA,GAAmB+B,GAAc/B,EAAiB,EAAI,EAMtD,MAAMgC,GAAiBxQ,GAASuO,EAAG,OAAS,gBA2B5C,GA1BI6B,EACFK,EACEnC,EAAG,gBACH8B,EACA3vB,EACA+tB,EACAhP,EACAgR,GACA/B,CACR,EAIgB/W,GACVgZ,GACEpC,EACAC,EACA9tB,EACA,KACA+tB,EACAhP,EACAgR,GACA/B,EACA,EACR,EAEQzW,EAAY,EAAG,CACjB,GAAIA,EAAY,GACd2Y,EACElwB,EACA8tB,EACA8B,GACAC,GACA9B,EACAhP,EACAQ,CACV,UAEYhI,EAAY,GACVqY,GAAS,QAAUC,GAAS,OAC9B1C,EAAcntB,EAAI,QAAS,KAAM6vB,GAAS,MAAOtQ,CAAK,EAGtDhI,EAAY,GACd4V,EAAcntB,EAAI,QAAS4vB,GAAS,MAAOC,GAAS,MAAOtQ,CAAK,EAE9DhI,EAAY,EAAG,CACjB,MAAMwS,GAAgB+D,EAAG,aACzB,QAAS7tB,GAAI,EAAGA,GAAI8pB,GAAc,OAAQ9pB,KAAK,CAC7C,MAAMN,GAAMoqB,GAAc9pB,EAAC,EACrByU,GAAOkb,GAASjwB,EAAG,EACnBkvB,GAAOgB,GAASlwB,EAAG,GACrBkvB,KAASna,IAAQ/U,KAAQ,UAC3BwtB,EACEntB,EACAL,GACA+U,GACAma,GACAtP,EACAsO,EAAG,SACHE,EACAhP,EACAsQ,EAChB,CAEW,CACF,CAEC9X,EAAY,GACVsW,EAAG,WAAaC,EAAG,UACrBN,EAAmBxtB,EAAI8tB,EAAG,QAAQ,CAGvC,KAAU,CAAC7W,GAAa0Y,GAAmB,MAC1CO,EACElwB,EACA8tB,EACA8B,GACAC,GACA9B,EACAhP,EACAQ,CACR,IAESE,GAAYoQ,GAAS,iBAAmBX,KAC3C5V,GAAsB,IAAM,CAC1BmG,IAAaC,GAAgBD,GAAWsO,EAAiBD,EAAID,CAAE,EAC/DqB,IAAQ5U,GAAoBwT,EAAID,EAAIE,EAAiB,SAAS,CAC/D,EAAEhP,CAAc,CAEvB,EACQiR,EAAqB,CAACG,EAAaC,EAAaC,EAAmBtC,EAAiBhP,EAAgBQ,EAAOyO,IAAiB,CAChI,QAAS/tB,EAAI,EAAGA,EAAImwB,EAAY,OAAQnwB,IAAK,CAC3C,MAAMqwB,EAAWH,EAAYlwB,CAAC,EACxBswB,EAAWH,EAAYnwB,CAAC,EACxBof,GAGJiR,EAAS,KAERA,EAAS,OAAS9R,IAEnB,CAACpC,GAAgBkU,EAAUC,CAAQ,GACnCD,EAAS,UAAa,IAAW7C,EAAe6C,EAAS,EAAE,EAGzDD,EAGJrR,EACEsR,EACAC,EACAlR,GACA,KACA0O,EACAhP,EACAQ,EACAyO,EACA,EACR,CACK,CACL,EACQkC,EAAa,CAAClwB,EAAIuV,EAAOqa,EAAUC,EAAU9B,EAAiBhP,EAAgBQ,IAAU,CAC5F,GAAIqQ,IAAaC,EAAU,CACzB,GAAID,IAAavwB,GACf,UAAWM,KAAOiwB,EACZ,CAACxuB,GAAezB,CAAG,GAAK,EAAEA,KAAOkwB,IACnC1C,EACEntB,EACAL,EACAiwB,EAASjwB,CAAG,EACZ,KACA4f,EACAhK,EAAM,SACNwY,EACAhP,EACAsQ,EACd,EAIM,UAAW1vB,KAAOkwB,EAAU,CAC1B,GAAIzuB,GAAezB,CAAG,EACpB,SACF,MAAMkvB,EAAOgB,EAASlwB,CAAG,EACnB+U,EAAOkb,EAASjwB,CAAG,EACrBkvB,IAASna,GAAQ/U,IAAQ,SAC3BwtB,EACEntB,EACAL,EACA+U,EACAma,EACAtP,EACAhK,EAAM,SACNwY,EACAhP,EACAsQ,EACZ,CAEO,CACG,UAAWQ,GACb1C,EAAcntB,EAAI,QAAS4vB,EAAS,MAAOC,EAAS,KAAK,CAE5D,CACL,EACQtB,EAAkB,CAACV,EAAIC,EAAIzO,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,IAAc,CACtH,MAAMuZ,EAAsB1C,EAAG,GAAKD,EAAKA,EAAG,GAAKR,EAAe,EAAE,EAC5DoD,GAAoB3C,EAAG,OAASD,EAAKA,EAAG,OAASR,EAAe,EAAE,EACxE,GAAI,CAAE,UAAA9V,GAAW,gBAAAoY,GAAiB,aAAce,EAAoB,EAAK5C,EAOrE4C,KACF1C,EAAeA,EAAeA,EAAa,OAAO0C,EAAoB,EAAIA,IAExE7C,GAAM,MACRZ,EAAWuD,EAAqBnR,EAAWC,CAAM,EACjD2N,EAAWwD,GAAmBpR,EAAWC,CAAM,EAC/C6P,EACErB,EAAG,SACHzO,EACAoR,GACA1C,EACAhP,EACAQ,EACAyO,EACA/W,CACR,GAEUM,GAAY,GAAKA,GAAY,IAAMoY,IAEvC9B,EAAG,iBACDmC,EACEnC,EAAG,gBACH8B,GACAtQ,EACA0O,EACAhP,EACAQ,EACAyO,CACV,GAQUF,EAAG,KAAO,MAAQC,GAAmBD,IAAOC,EAAgB,UAE5D4C,GACE9C,EACAC,EACA,EAEZ,GAGQmC,GACEpC,EACAC,EACAzO,EACAoR,GACA1C,EACAhP,EACAQ,EACAyO,EACA/W,CACV,CAGA,EACQwX,EAAmB,CAACZ,EAAIC,EAAIzO,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,IAAc,CACvH6W,EAAG,aAAeE,EACdH,GAAM,KACJC,EAAG,UAAY,IACjBC,EAAgB,IAAI,SAClBD,EACAzO,EACAC,EACAC,EACAtI,CACV,EAEQ2Z,EACE9C,EACAzO,EACAC,EACAyO,EACAhP,EACAQ,EACAtI,CACV,EAGM4Z,GAAgBhD,EAAIC,EAAI7W,CAAS,CAEvC,EACQ2Z,EAAiB,CAACE,EAAczR,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOtI,IAAc,CAC7G,MAAM9G,EAAY2gB,EAAa,UAAYC,GACzCD,EACA/C,EACAhP,CACN,EAoBI,GAZIX,GAAY0S,CAAY,IAC1B3gB,EAAS,IAAI,SAAWue,GAMxBsC,GAAe7gB,CAAQ,EAKrBA,EAAS,SAAU,CAErB,GADA4O,GAAkBA,EAAe,YAAY5O,EAAU8gB,CAAiB,EACpE,CAACH,EAAa,GAAI,CACpB,MAAMI,EAAc/gB,EAAS,QAAUoG,GAAYC,EAAO,EAC1D4X,EAAmB,KAAM8C,EAAa7R,EAAWC,CAAM,CACxD,CACD,MACD,CACD2R,EACE9gB,EACA2gB,EACAzR,EACAC,EACAP,EACAQ,EACAtI,CACN,CAKA,EACQ4Z,GAAkB,CAAChD,EAAIC,EAAI7W,IAAc,CAC7C,MAAM9G,EAAW2d,EAAG,UAAYD,EAAG,UACnC,GAAI/W,GAAsB+W,EAAIC,EAAI7W,CAAS,EACzC,GAAI9G,EAAS,UAAY,CAACA,EAAS,cAAe,CAIhDghB,EAAyBhhB,EAAU2d,EAAI7W,CAAS,EAIhD,MACR,MACQ9G,EAAS,KAAO2d,EAChBvb,GAAcpC,EAAS,MAAM,EAC7BA,EAAS,OAAM,OAGjB2d,EAAG,GAAKD,EAAG,GACX1d,EAAS,MAAQ2d,CAEvB,EACQmD,EAAoB,CAAC9gB,EAAU2gB,EAAczR,EAAWC,EAAQP,EAAgBQ,EAAOtI,IAAc,CACzG,MAAMma,EAAoB,IAAM,CAC9B,GAAKjhB,EAAS,UA0FP,CACL,GAAI,CAAE,KAAA0e,GAAM,GAAAwC,GAAI,EAAAC,GAAG,OAAA3qB,GAAQ,MAAA4O,EAAO,EAAGpF,EACjCohB,GAAa1C,GACbpP,GAIJqQ,GAAc3f,EAAU,EAAK,EACzB0e,IACFA,GAAK,GAAKtZ,GAAM,GAChB4b,EAAyBhhB,EAAU0e,GAAM5X,CAAS,GAElD4X,GAAOtZ,GAEL8b,IACFnvB,GAAemvB,EAAE,GAEf5R,GAAYoP,GAAK,OAASA,GAAK,MAAM,sBACvCnP,GAAgBD,GAAW9Y,GAAQkoB,GAAMtZ,EAAK,EAEhDua,GAAc3f,EAAU,EAAI,EAI5B,MAAMqhB,GAAWnc,GAAoBlF,CAAQ,EAIvCshB,GAAWthB,EAAS,QAC1BA,EAAS,QAAUqhB,GAInBxS,EACEyS,GACAD,GAEA/D,EAAegE,GAAS,EAAE,EAE1BxD,EAAgBwD,EAAQ,EACxBthB,EACA4O,EACAQ,CACV,EAIQsP,GAAK,GAAK2C,GAAS,GACfD,KAAe,MACjB1Z,GAAgB1H,EAAUqhB,GAAS,EAAE,EAEnCF,IACFhY,GAAsBgY,GAAGvS,CAAc,GAErCU,GAAYoP,GAAK,OAASA,GAAK,MAAM,iBACvCvV,GACE,IAAMoG,GAAgBD,GAAW9Y,GAAQkoB,GAAMtZ,EAAK,EACpDwJ,CACZ,CAQO,KA5JwB,CACvB,IAAIU,GACJ,KAAM,CAAE,GAAAzf,GAAI,MAAAoT,EAAO,EAAG0d,EAChB,CAAE,GAAAY,GAAI,EAAApK,GAAG,OAAA3gB,EAAM,EAAKwJ,EACpBwhB,GAAsBhT,GAAemS,CAAY,EASvD,GARAhB,GAAc3f,EAAU,EAAK,EACzBuhB,IACFxvB,GAAewvB,EAAE,EAEf,CAACC,KAAwBlS,GAAYrM,IAASA,GAAM,qBACtDsM,GAAgBD,GAAW9Y,GAAQmqB,CAAY,EAEjDhB,GAAc3f,EAAU,EAAI,EACxBnQ,IAAM4xB,GAAa,CACrB,MAAMC,GAAiB,IAAM,CAI3B1hB,EAAS,QAAUkF,GAAoBlF,CAAQ,EAO/CyhB,GACE5xB,GACAmQ,EAAS,QACTA,EACA4O,EACA,IACd,CAIA,EACc4S,GACFb,EAAa,KAAK,cAAa,EAAG,KAKhC,IAAM,CAAC3gB,EAAS,aAAe0hB,GAAgB,CAC7D,EAEYA,IAEZ,KAAe,CAIL,MAAMrR,GAAUrQ,EAAS,QAAUkF,GAAoBlF,CAAQ,EAO/D6O,EACE,KACAwB,GACAnB,EACAC,EACAnP,EACA4O,EACAQ,CACZ,EAIUuR,EAAa,GAAKtQ,GAAQ,EAC3B,CAID,GAHI8G,IACFhO,GAAsBgO,GAAGvI,CAAc,EAErC,CAAC4S,KAAwBlS,GAAYrM,IAASA,GAAM,gBAAiB,CACvE,MAAM0e,GAAqBhB,EAC3BxX,GACE,IAAMoG,GAAgBD,GAAW9Y,GAAQmrB,EAAkB,EAC3D/S,CACZ,CACS,EACG+R,EAAa,UAAY,KAAOnqB,IAAUgY,GAAehY,GAAO,KAAK,GAAKA,GAAO,MAAM,UAAY,MACrGwJ,EAAS,GAAKmJ,GAAsBnJ,EAAS,EAAG4O,CAAc,EAEhE5O,EAAS,UAAY,GAIrB2gB,EAAezR,EAAYC,EAAS,IAC5C,CAmEA,EACUja,EAAS8K,EAAS,OAAS,IAAI1J,GACnC2qB,EACA,IAAMjf,GAAS4f,CAAM,EACrB5hB,EAAS,KAEf,EACU4hB,EAAS5hB,EAAS,OAAS,IAAM9K,EAAO,IAAG,EACjD0sB,EAAO,GAAK5hB,EAAS,IACrB2f,GAAc3f,EAAU,EAAI,EAM5B4hB,GACJ,EACQZ,EAA2B,CAAChhB,EAAU6G,EAAWC,IAAc,CACnED,EAAU,UAAY7G,EACtB,MAAM+G,EAAY/G,EAAS,MAAM,MACjCA,EAAS,MAAQ6G,EACjB7G,EAAS,KAAO,KAChBwZ,GAAYxZ,EAAU6G,EAAU,MAAOE,EAAWD,CAAS,EAC3D8U,GAAY5b,EAAU6G,EAAU,SAAUC,CAAS,EACnDhQ,KACAyL,KACAxL,IACJ,EACQ+oB,GAAgB,CAACpC,EAAIC,EAAIzO,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,EAAY,KAAU,CAC5H,MAAM+a,EAAKnE,GAAMA,EAAG,SACdoE,GAAgBpE,EAAKA,EAAG,UAAY,EACpCqE,GAAKpE,EAAG,SACR,CAAE,UAAAvW,GAAW,UAAAZ,EAAW,EAAGmX,EACjC,GAAIvW,GAAY,GACd,GAAIA,GAAY,IAAK,CACnB4a,GACEH,EACAE,GACA7S,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACV,EACQ,MACR,SAAiBM,GAAY,IAAK,CAC1B6a,GACEJ,EACAE,GACA7S,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACV,EACQ,MACD,EAECN,GAAY,GACVsb,GAAgB,IAClB5C,GAAgB2C,EAAIjE,EAAiBhP,CAAc,EAEjDmT,KAAOF,GACTxE,EAAmBnO,EAAW6S,EAAE,GAG9BD,GAAgB,GACdtb,GAAY,GACdwb,GACEH,EACAE,GACA7S,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACZ,EAEUoY,GAAgB2C,EAAIjE,EAAiBhP,EAAgB,EAAI,GAGvDkT,GAAgB,GAClBzE,EAAmBnO,EAAW,EAAE,EAE9B1I,GAAY,IACdwY,EACE+C,GACA7S,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACZ,EAIA,EACQmb,GAAuB,CAACJ,EAAIE,EAAI7S,EAAWC,EAAQyO,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,IAAc,CAC3H+a,EAAKA,GAAM1yB,GACX4yB,EAAKA,GAAM5yB,GACX,MAAM+yB,EAAYL,EAAG,OACfnqB,GAAYqqB,EAAG,OACfI,GAAe,KAAK,IAAID,EAAWxqB,EAAS,EAClD,IAAI5H,GACJ,IAAKA,GAAI,EAAGA,GAAIqyB,GAAcryB,KAAK,CACjC,MAAMsyB,GAAYL,EAAGjyB,EAAC,EAAIgX,EAAYyY,GAAewC,EAAGjyB,EAAC,CAAC,EAAIkW,GAAe+b,EAAGjyB,EAAC,CAAC,EAClF+e,EACEgT,EAAG/xB,EAAC,EACJsyB,GACAlT,EACA,KACA0O,EACAhP,EACAQ,EACAyO,EACA/W,CACR,CACK,CACGob,EAAYxqB,GACdwnB,GACE2C,EACAjE,EACAhP,EACA,GACA,GACAuT,EACR,EAEMnD,EACE+C,EACA7S,EACAC,EACAyO,EACAhP,EACAQ,EACAyO,EACA/W,EACAqb,EACR,CAEA,EACQH,GAAqB,CAACH,EAAIE,EAAI7S,EAAWmT,EAAczE,EAAiBhP,EAAgBQ,EAAOyO,EAAc/W,IAAc,CAC/H,IAAIhX,EAAI,EACR,MAAMwyB,GAAKP,EAAG,OACd,IAAIQ,GAAKV,EAAG,OAAS,EACjBW,GAAKF,GAAK,EACd,KAAOxyB,GAAKyyB,IAAMzyB,GAAK0yB,IAAI,CACzB,MAAM9E,GAAKmE,EAAG/xB,CAAC,EACT6tB,GAAKoE,EAAGjyB,CAAC,EAAIgX,EAAYyY,GAAewC,EAAGjyB,CAAC,CAAC,EAAIkW,GAAe+b,EAAGjyB,CAAC,CAAC,EAC3E,GAAImc,GAAgByR,GAAIC,EAAE,EACxB9O,EACE6O,GACAC,GACAzO,EACA,KACA0O,EACAhP,EACAQ,EACAyO,EACA/W,CACV,MAEQ,OAEFhX,GACD,CACD,KAAOA,GAAKyyB,IAAMzyB,GAAK0yB,IAAI,CACzB,MAAM9E,GAAKmE,EAAGU,EAAE,EACV5E,GAAKoE,EAAGS,EAAE,EAAI1b,EAAYyY,GAAewC,EAAGS,EAAE,CAAC,EAAIxc,GAAe+b,EAAGS,EAAE,CAAC,EAC9E,GAAIvW,GAAgByR,GAAIC,EAAE,EACxB9O,EACE6O,GACAC,GACAzO,EACA,KACA0O,EACAhP,EACAQ,EACAyO,EACA/W,CACV,MAEQ,OAEFyb,KACAC,IACD,CACD,GAAI1yB,EAAIyyB,IACN,GAAIzyB,GAAK0yB,GAAI,CACX,MAAMC,GAAUD,GAAK,EACfrT,GAASsT,GAAUH,GAAKP,EAAGU,EAAO,EAAE,GAAKJ,EAC/C,KAAOvyB,GAAK0yB,IACV3T,EACE,KACAkT,EAAGjyB,CAAC,EAAIgX,EAAYyY,GAAewC,EAAGjyB,CAAC,CAAC,EAAIkW,GAAe+b,EAAGjyB,CAAC,CAAC,EAChEof,EACAC,GACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACZ,EACUhX,GAEH,UACQA,EAAI0yB,GACb,KAAO1yB,GAAKyyB,IACV/S,GAAQqS,EAAG/xB,CAAC,EAAG8tB,EAAiBhP,EAAgB,EAAI,EACpD9e,QAEG,CACL,MAAM4yB,GAAK5yB,EACL6yB,GAAK7yB,EACL8yB,GAAmC,IAAI,IAC7C,IAAK9yB,EAAI6yB,GAAI7yB,GAAK0yB,GAAI1yB,IAAK,CACzB,MAAMsyB,GAAYL,EAAGjyB,CAAC,EAAIgX,EAAYyY,GAAewC,EAAGjyB,CAAC,CAAC,EAAIkW,GAAe+b,EAAGjyB,CAAC,CAAC,EAC9EsyB,GAAU,KAAO,MAQnBQ,GAAiB,IAAIR,GAAU,IAAKtyB,CAAC,CAExC,CACD,IAAI+yB,GACAC,GAAU,EACd,MAAMC,GAAcP,GAAKG,GAAK,EAC9B,IAAIK,GAAQ,GACRC,GAAmB,EACvB,MAAMC,GAAwB,IAAI,MAAMH,EAAW,EACnD,IAAKjzB,EAAI,EAAGA,EAAIizB,GAAajzB,IAC3BozB,GAAsBpzB,CAAC,EAAI,EAC7B,IAAKA,EAAI4yB,GAAI5yB,GAAKyyB,GAAIzyB,IAAK,CACzB,MAAMqzB,GAAYtB,EAAG/xB,CAAC,EACtB,GAAIgzB,IAAWC,GAAa,CAC1BvT,GAAQ2T,GAAWvF,EAAiBhP,EAAgB,EAAI,EACxD,QACD,CACD,IAAIwU,GACJ,GAAID,GAAU,KAAO,KACnBC,GAAWR,GAAiB,IAAIO,GAAU,GAAG,MAE7C,KAAKN,GAAIF,GAAIE,IAAKL,GAAIK,KACpB,GAAIK,GAAsBL,GAAIF,EAAE,IAAM,GAAK1W,GAAgBkX,GAAWpB,EAAGc,EAAC,CAAC,EAAG,CAC5EO,GAAWP,GACX,KACD,CAGDO,KAAa,OACf5T,GAAQ2T,GAAWvF,EAAiBhP,EAAgB,EAAI,GAExDsU,GAAsBE,GAAWT,EAAE,EAAI7yB,EAAI,EACvCszB,IAAYH,GACdA,GAAmBG,GAEnBJ,GAAQ,GAEVnU,EACEsU,GACApB,EAAGqB,EAAQ,EACXlU,EACA,KACA0O,EACAhP,EACAQ,EACAyO,EACA/W,CACZ,EACUgc,KAEH,CACD,MAAMO,GAA6BL,GAAQM,GAAYJ,EAAqB,EAAI/zB,GAEhF,IADA0zB,GAAIQ,GAA2B,OAAS,EACnCvzB,EAAIizB,GAAc,EAAGjzB,GAAK,EAAGA,IAAK,CACrC,MAAMyzB,GAAYZ,GAAK7yB,EACjBsyB,GAAYL,EAAGwB,EAAS,EACxBpU,GAASoU,GAAY,EAAIjB,GAAKP,EAAGwB,GAAY,CAAC,EAAE,GAAKlB,EACvDa,GAAsBpzB,CAAC,IAAM,EAC/B+e,EACE,KACAuT,GACAlT,EACAC,GACAyO,EACAhP,EACAQ,EACAyO,EACA/W,CACZ,EACmBkc,KACLH,GAAI,GAAK/yB,IAAMuzB,GAA2BR,EAAC,EAC7C/T,GAAKsT,GAAWlT,EAAWC,GAAQ,CAAC,EAEpC0T,KAGL,CACF,CACL,EACQ/T,GAAO,CAAC1J,EAAO8J,EAAWC,EAAQqU,EAAU5U,EAAiB,OAAS,CAC1E,KAAM,CAAE,GAAA/e,EAAI,KAAAqH,EAAM,WAAA4nB,EAAY,SAAA5T,EAAU,UAAA1E,CAAW,EAAGpB,EACtD,GAAIoB,EAAY,EAAG,CACjBsI,GAAK1J,EAAM,UAAU,QAAS8J,EAAWC,EAAQqU,CAAQ,EACzD,MACD,CACD,GAAIhd,EAAY,IAAK,CACnBpB,EAAM,SAAS,KAAK8J,EAAWC,EAAQqU,CAAQ,EAC/C,MACD,CACD,GAAIhd,EAAY,GAAI,CAClBtP,EAAK,KAAKkO,EAAO8J,EAAWC,EAAQoP,CAAS,EAC7C,MACD,CACD,GAAIrnB,IAASmX,GAAU,CACrByO,EAAWjtB,EAAIqf,EAAWC,CAAM,EAChC,QAASrf,GAAI,EAAGA,GAAIob,EAAS,OAAQpb,KACnCgf,GAAK5D,EAASpb,EAAC,EAAGof,EAAWC,EAAQqU,CAAQ,EAE/C1G,EAAW1X,EAAM,OAAQ8J,EAAWC,CAAM,EAC1C,MACD,CACD,GAAIjY,IAASgnB,GAAQ,CACnBM,EAAepZ,EAAO8J,EAAWC,CAAM,EACvC,MACD,CAED,GADwBqU,IAAa,GAAKhd,EAAY,GAAKsY,EAEzD,GAAI0E,IAAa,EACf1E,EAAW,YAAYjvB,CAAE,EACzBitB,EAAWjtB,EAAIqf,EAAWC,CAAM,EAChChG,GAAsB,IAAM2V,EAAW,MAAMjvB,CAAE,EAAG+e,CAAc,MAC3D,CACL,KAAM,CAAE,MAAA6U,GAAO,WAAAC,GAAY,WAAAC,EAAU,EAAK7E,EACpC8E,GAAU,IAAM9G,EAAWjtB,EAAIqf,EAAWC,CAAM,EAChD0U,GAAe,IAAM,CACzBJ,GAAM5zB,EAAI,IAAM,CACd+zB,KACAD,IAAcA,GAAU,CACpC,CAAW,CACX,EACYD,GACFA,GAAW7zB,EAAI+zB,GAASC,EAAY,EAEpCA,IAEH,MAED/G,EAAWjtB,EAAIqf,EAAWC,CAAM,CAEtC,EACQK,GAAU,CAACpK,EAAOwY,EAAiBhP,EAAgBkV,EAAW,GAAOhd,EAAY,KAAU,CAC/F,KAAM,CACJ,KAAA5P,EACA,MAAA+L,EACA,IAAAnF,EACA,SAAAoN,EACA,gBAAAsU,EACA,UAAAhZ,GACA,UAAAY,GACA,KAAA2X,EACD,EAAG3Z,EAIJ,GAHItH,GAAO,MACTie,GAAOje,EAAK,KAAM8Q,EAAgBxJ,EAAO,EAAI,EAE3CoB,GAAY,IAAK,CACnBoX,EAAgB,IAAI,WAAWxY,CAAK,EACpC,MACD,CACD,MAAM2e,GAAmBvd,GAAY,GAAKuY,GACpCiF,GAAwB,CAACxV,GAAepJ,CAAK,EACnD,IAAIkK,GAIJ,GAHI0U,KAA0B1U,GAAYrM,GAASA,EAAM,uBACvDsM,GAAgBD,GAAWsO,EAAiBxY,CAAK,EAE/CoB,GAAY,EACdyd,GAAiB7e,EAAM,UAAWwJ,EAAgBkV,CAAQ,MACrD,CACL,GAAItd,GAAY,IAAK,CACnBpB,EAAM,SAAS,QAAQwJ,EAAgBkV,CAAQ,EAC/C,MACD,CACGC,IACF5Z,GAAoB/E,EAAO,KAAMwY,EAAiB,eAAe,EAE/DpX,GAAY,GACdpB,EAAM,KAAK,OACTA,EACAwY,EACAhP,EACA9H,EACAyX,EACAuF,CACV,EACiBtE,IACVtoB,IAASmX,IAAYjH,GAAY,GAAKA,GAAY,IACjD8X,GACEM,EACA5B,EACAhP,EACA,GACA,EACV,GACiB1X,IAASmX,IAAYjH,GAAa,KAAc,CAACN,GAAaN,GAAY,KACnF0Y,GAAgBhU,EAAU0S,EAAiBhP,CAAc,EAEvDkV,GACFn0B,GAAOyV,CAAK,CAEf,EACG4e,KAA0B1U,GAAYrM,GAASA,EAAM,mBAAqB8gB,KAC5E5a,GAAsB,IAAM,CAC1BmG,IAAaC,GAAgBD,GAAWsO,EAAiBxY,CAAK,EAC9D2e,IAAoB5Z,GAAoB/E,EAAO,KAAMwY,EAAiB,WAAW,CAClF,EAAEhP,CAAc,CAEvB,EACQjf,GAAUyV,GAAU,CACxB,KAAM,CAAE,KAAAlO,EAAM,GAAArH,EAAI,OAAAsf,EAAQ,WAAA2P,CAAU,EAAK1Z,EACzC,GAAIlO,IAASmX,GAAU,CAUnB6V,GAAer0B,EAAIsf,CAAM,EAE3B,MACD,CACD,GAAIjY,IAASgnB,GAAQ,CACnBS,EAAiBvZ,CAAK,EACtB,MACD,CACD,MAAM+e,EAAgB,IAAM,CAC1BpH,EAAWltB,CAAE,EACTivB,GAAc,CAACA,EAAW,WAAaA,EAAW,YACpDA,EAAW,WAAU,CAE7B,EACI,GAAI1Z,EAAM,UAAY,GAAK0Z,GAAc,CAACA,EAAW,UAAW,CAC9D,KAAM,CAAE,MAAA2E,EAAO,WAAAC,CAAY,EAAG5E,EACxB+E,EAAe,IAAMJ,EAAM5zB,EAAIs0B,CAAa,EAC9CT,EACFA,EAAWte,EAAM,GAAI+e,EAAeN,CAAY,EAEhDA,GAER,MACMM,GAEN,EACQD,GAAiB,CAAC3jB,EAAKoB,IAAQ,CACnC,IAAI+c,EACJ,KAAOne,IAAQoB,GACb+c,EAAOnB,EAAgBhd,CAAG,EAC1Bwc,EAAWxc,CAAG,EACdA,EAAMme,EAER3B,EAAWpb,CAAG,CAClB,EACQsiB,GAAmB,CAACjkB,EAAU4O,EAAgBkV,IAAa,CAI/D,KAAM,CAAE,IAAAM,EAAK,MAAAjvB,EAAO,OAAAysB,EAAQ,QAAAvR,EAAS,GAAAgU,CAAI,EAAGrkB,EACxCokB,GACFryB,GAAeqyB,CAAG,EAEpBjvB,EAAM,KAAI,EACNysB,IACFA,EAAO,OAAS,GAChBpS,GAAQa,EAASrQ,EAAU4O,EAAgBkV,CAAQ,GAEjDO,GACFlb,GAAsBkb,EAAIzV,CAAc,EAE1CzF,GAAsB,IAAM,CAC1BnJ,EAAS,YAAc,EACxB,EAAE4O,CAAc,EACbA,GAAkBA,EAAe,eAAiB,CAACA,EAAe,aAAe5O,EAAS,UAAY,CAACA,EAAS,eAAiBA,EAAS,aAAe4O,EAAe,YAC1KA,EAAe,OACXA,EAAe,OAAS,GAC1BA,EAAe,QAAO,EAM9B,EACQsQ,GAAkB,CAAChU,EAAU0S,EAAiBhP,EAAgBkV,EAAW,GAAOhd,EAAY,GAAOpF,EAAQ,IAAM,CACrH,QAAS5R,EAAI4R,EAAO5R,EAAIob,EAAS,OAAQpb,IACvC0f,GAAQtE,EAASpb,CAAC,EAAG8tB,EAAiBhP,EAAgBkV,EAAUhd,CAAS,CAE/E,EACQgX,EAAmB1Y,GACnBA,EAAM,UAAY,EACb0Y,EAAgB1Y,EAAM,UAAU,OAAO,EAE5CA,EAAM,UAAY,IACbA,EAAM,SAAS,OAEjBmY,EAAgBnY,EAAM,QAAUA,EAAM,EAAE,EAE3CK,EAAS,CAACL,EAAO8J,EAAWE,IAAU,CACtChK,GAAS,KACP8J,EAAU,QACZM,GAAQN,EAAU,OAAQ,KAAM,KAAM,EAAI,EAG5CL,EAAMK,EAAU,QAAU,KAAM9J,EAAO8J,EAAW,KAAM,KAAM,KAAME,CAAK,EAE3E7M,KACAE,KACAyM,EAAU,OAAS9J,CACvB,EACQmZ,EAAY,CAChB,EAAG1P,EACH,GAAIW,GACJ,EAAGV,GACH,EAAGnf,GACH,GAAI8wB,EACJ,GAAIzB,EACJ,GAAIc,GACJ,IAAKD,EACL,EAAG/B,EACH,EAAG3Z,CACP,EACE,IAAIiU,GACAqJ,GACJ,OAAI5E,IACF,CAACzE,GAASqJ,EAAW,EAAI5E,EACvB0B,CACN,GAES,CACL,OAAA9Y,EACA,QAAA2S,GACA,UAAWD,GAAa1S,EAAQ2S,EAAO,CAC3C,CACA,CACA,SAASuH,GAAc,CAAE,OAAAzqB,EAAQ,OAAA0sB,CAAM,EAAI0C,EAAS,CAClDpvB,EAAO,aAAe0sB,EAAO,aAAe0C,CAC9C,CACA,SAASlF,GAAexQ,EAAgBkQ,EAAY,CAClD,OAAQ,CAAClQ,GAAkBA,GAAkB,CAACA,EAAe,gBAAkBkQ,GAAc,CAACA,EAAW,SAC3G,CACA,SAAS0B,GAAuB9C,EAAIC,EAAI9kB,EAAU,GAAO,CACvD,MAAM0rB,EAAM7G,EAAG,SACT8G,EAAM7G,EAAG,SACf,GAAI1tB,GAAQs0B,CAAG,GAAKt0B,GAAQu0B,CAAG,EAC7B,QAAS10B,EAAI,EAAGA,EAAIy0B,EAAI,OAAQz0B,IAAK,CACnC,MAAM+xB,EAAK0C,EAAIz0B,CAAC,EAChB,IAAIiyB,EAAKyC,EAAI10B,CAAC,EACViyB,EAAG,UAAY,GAAK,CAACA,EAAG,mBACtBA,EAAG,WAAa,GAAKA,EAAG,YAAc,MACxCA,EAAKyC,EAAI10B,CAAC,EAAIyvB,GAAeiF,EAAI10B,CAAC,CAAC,EACnCiyB,EAAG,GAAKF,EAAG,IAERhpB,GACH2nB,GAAuBqB,EAAIE,CAAE,GAE7BA,EAAG,OAAShE,KACdgE,EAAG,GAAKF,EAAG,GAKd,CAEL,CACA,SAASyB,GAAY1zB,EAAK,CACxB,MAAM2R,EAAI3R,EAAI,QACR8J,EAAS,CAAC,CAAC,EACjB,IAAI5J,EAAG+yB,EAAG1B,EAAGlnB,EAAGzI,EAChB,MAAMizB,EAAM70B,EAAI,OAChB,IAAKE,EAAI,EAAGA,EAAI20B,EAAK30B,IAAK,CACxB,MAAM40B,EAAO90B,EAAIE,CAAC,EAClB,GAAI40B,IAAS,EAAG,CAEd,GADA7B,EAAInpB,EAAOA,EAAO,OAAS,CAAC,EACxB9J,EAAIizB,CAAC,EAAI6B,EAAM,CACjBnjB,EAAEzR,CAAC,EAAI+yB,EACPnpB,EAAO,KAAK5J,CAAC,EACb,QACD,CAGD,IAFAqxB,EAAI,EACJlnB,EAAIP,EAAO,OAAS,EACbynB,EAAIlnB,GACTzI,EAAI2vB,EAAIlnB,GAAK,EACTrK,EAAI8J,EAAOlI,CAAC,CAAC,EAAIkzB,EACnBvD,EAAI3vB,EAAI,EAERyI,EAAIzI,EAGJkzB,EAAO90B,EAAI8J,EAAOynB,CAAC,CAAC,IAClBA,EAAI,IACN5f,EAAEzR,CAAC,EAAI4J,EAAOynB,EAAI,CAAC,GAErBznB,EAAOynB,CAAC,EAAIrxB,EAEf,CACF,CAGD,IAFAqxB,EAAIznB,EAAO,OACXO,EAAIP,EAAOynB,EAAI,CAAC,EACTA,KAAM,GACXznB,EAAOynB,CAAC,EAAIlnB,EACZA,EAAIsH,EAAEtH,CAAC,EAET,OAAOP,CACT,CAEA,MAAMirB,GAAcztB,GAASA,EAAK,aAwQ5BmX,GAAW,OAAO,IAAI,OAAO,EAC7B0P,GAAO,OAAO,IAAI,OAAO,EACzB1X,GAAU,OAAO,IAAI,OAAO,EAC5B6X,GAAS,OAAO,IAAI,OAAO,EAC3B/X,GAAa,GACnB,IAAIye,GAAe,KACnB,SAAS1R,EAAU2R,EAAkB,GAAO,CAC1C1e,GAAW,KAAKye,GAAeC,EAAkB,KAAO,CAAE,EAC5D,CACA,SAASC,IAAa,CACpB3e,GAAW,IAAG,EACdye,GAAeze,GAAWA,GAAW,OAAS,CAAC,GAAK,IACtD,CACA,IAAI4e,GAAqB,EACzB,SAAS/f,GAAiBnU,EAAO,CAC/Bk0B,IAAsBl0B,CACxB,CACA,SAASm0B,GAAW5f,EAAO,CACzB,OAAAA,EAAM,gBAAkB2f,GAAqB,EAAIH,IAAgBz1B,GAAY,KAC7E21B,KACIC,GAAqB,GAAKH,IAC5BA,GAAa,KAAKxf,CAAK,EAElBA,CACT,CACA,SAAS6f,GAAmB/tB,EAAM+L,EAAOiI,EAAU9D,EAAWG,EAAcf,EAAW,CACrF,OAAOwe,GACLE,EACEhuB,EACA+L,EACAiI,EACA9D,EACAG,EACAf,EACA,EAED,CACL,CACA,CACA,SAAS8M,GAAYpc,EAAM+L,EAAOiI,EAAU9D,EAAWG,EAAc,CACnE,OAAOyd,GACL5e,GACElP,EACA+L,EACAiI,EACA9D,EACAG,EACA,EAED,CACL,CACA,CACA,SAASiJ,GAAQ3f,EAAO,CACtB,OAAOA,EAAQA,EAAM,cAAgB,GAAO,EAC9C,CACA,SAASob,GAAgByR,EAAIC,EAAI,CAM/B,OAAOD,EAAG,OAASC,EAAG,MAAQD,EAAG,MAAQC,EAAG,GAC9C,CAUA,MAAMrE,GAAoB,cACpB6L,GAAe,CAAC,CAAE,IAAA31B,CAAK,IAAKA,GAAoB,KAChD41B,GAAe,CAAC,CACpB,IAAAtnB,EACA,QAAAunB,EACA,QAAAC,CACF,KACM,OAAOxnB,GAAQ,WACjBA,EAAM,GAAKA,GAENA,GAAO,KAAOtN,GAASsN,CAAG,GAAK3E,GAAM2E,CAAG,GAAKvN,GAAWuN,CAAG,EAAI,CAAE,EAAGsG,GAA0B,EAAGtG,EAAK,EAAGunB,EAAS,EAAG,CAAC,CAACC,CAAO,EAAKxnB,EAAM,MAElJ,SAASonB,EAAgBhuB,EAAM+L,EAAQ,KAAMiI,EAAW,KAAM9D,EAAY,EAAGG,EAAe,KAAMf,EAAYtP,IAASmX,GAAW,EAAI,EAAGkX,EAAc,GAAOC,EAAgC,GAAO,CACnM,MAAMpgB,EAAQ,CACZ,YAAa,GACb,SAAU,GACV,KAAAlO,EACA,MAAA+L,EACA,IAAKA,GAASkiB,GAAaliB,CAAK,EAChC,IAAKA,GAASmiB,GAAaniB,CAAK,EAChC,QAASoB,GACT,aAAc,KACd,SAAA6G,EACA,UAAW,KACX,SAAU,KACV,UAAW,KACX,WAAY,KACZ,KAAM,KACN,WAAY,KACZ,GAAI,KACJ,OAAQ,KACR,OAAQ,KACR,aAAc,KACd,YAAa,EACb,UAAA1E,EACA,UAAAY,EACA,aAAAG,EACA,gBAAiB,KACjB,WAAY,KACZ,IAAKnD,EACT,EACE,OAAIohB,GACFC,GAAkBrgB,EAAO8F,CAAQ,EAC7B1E,EAAY,KACdtP,EAAK,UAAUkO,CAAK,GAEb8F,IACT9F,EAAM,WAAa5U,GAAS0a,CAAQ,EAAI,EAAI,IAK1C6Z,GAAqB,GACzB,CAACQ,GACDX,KAICxf,EAAM,UAAY,GAAKoB,EAAY,IAEpCpB,EAAM,YAAc,IAClBwf,GAAa,KAAKxf,CAAK,EAElBA,CACT,CACA,MAAMgB,GAAyFsf,GAC/F,SAASA,GAAaxuB,EAAM+L,EAAQ,KAAMiI,EAAW,KAAM9D,EAAY,EAAGG,EAAe,KAAMge,EAAc,GAAO,CAOlH,IANI,CAACruB,GAAQA,IAASkb,MAIpBlb,EAAOmP,IAELmK,GAAQtZ,CAAI,EAAG,CACjB,MAAMyuB,EAASjf,GACbxP,EACA+L,EACA,EAEN,EACI,OAAIiI,GACFua,GAAkBE,EAAQza,CAAQ,EAEhC6Z,GAAqB,GAAK,CAACQ,GAAeX,KACxCe,EAAO,UAAY,EACrBf,GAAaA,GAAa,QAAQ1tB,CAAI,CAAC,EAAIyuB,EAE3Cf,GAAa,KAAKe,CAAM,GAG5BA,EAAO,WAAa,GACbA,CACR,CAID,GAHIC,GAAiB1uB,CAAI,IACvBA,EAAOA,EAAK,WAEV+L,EAAO,CACTA,EAAQ4iB,GAAmB5iB,CAAK,EAChC,GAAI,CAAE,MAAO6iB,EAAO,MAAAC,CAAK,EAAK9iB,EAC1B6iB,GAAS,CAACt1B,GAASs1B,CAAK,IAC1B7iB,EAAM,MAAQ7P,GAAe0yB,CAAK,GAEhCp1B,GAASq1B,CAAK,IACZzoB,GAAQyoB,CAAK,GAAK,CAAC91B,GAAQ81B,CAAK,IAClCA,EAAQr2B,GAAO,GAAIq2B,CAAK,GAE1B9iB,EAAM,MAAQxQ,GAAeszB,CAAK,EAErC,CACD,MAAMvf,EAAYhW,GAAS0G,CAAI,EAAI,EAAIyQ,GAAWzQ,CAAI,EAAI,IAAMytB,GAAWztB,CAAI,EAAI,GAAKxG,GAASwG,CAAI,EAAI,EAAI3G,GAAW2G,CAAI,EAAI,EAAI,EAUpI,OAAOguB,EACLhuB,EACA+L,EACAiI,EACA9D,EACAG,EACAf,EACA+e,EACA,EACJ,CACA,CACA,SAASM,GAAmB5iB,EAAO,CACjC,OAAKA,EAEE3F,GAAQ2F,CAAK,GAAKqW,MAAqBrW,EAAQvT,GAAO,CAAE,EAAEuT,CAAK,EAAIA,EADjE,IAEX,CACA,SAASyD,GAAWtB,EAAO4gB,EAAYC,EAAW,GAAO,CACvD,KAAM,CAAE,MAAAhjB,EAAO,IAAAnF,EAAK,UAAAsJ,EAAW,SAAA8D,CAAQ,EAAK9F,EACtC8gB,EAAcF,EAAaG,GAAWljB,GAAS,GAAI+iB,CAAU,EAAI/iB,EA2CvE,MA1Ce,CACb,YAAa,GACb,SAAU,GACV,KAAMmC,EAAM,KACZ,MAAO8gB,EACP,IAAKA,GAAef,GAAae,CAAW,EAC5C,IAAKF,GAAcA,EAAW,IAI5BC,GAAYnoB,EAAM7N,GAAQ6N,CAAG,EAAIA,EAAI,OAAOsnB,GAAaY,CAAU,CAAC,EAAI,CAACloB,EAAKsnB,GAAaY,CAAU,CAAC,EAAIZ,GAAaY,CAAU,EAC/HloB,EACJ,QAASsH,EAAM,QACf,aAAcA,EAAM,aACpB,SAA8H8F,EAC9H,OAAQ9F,EAAM,OACd,aAAcA,EAAM,aACpB,YAAaA,EAAM,YACnB,UAAWA,EAAM,UAKjB,UAAW4gB,GAAc5gB,EAAM,OAASiJ,GAAWjH,IAAc,GAAK,GAAKA,EAAY,GAAKA,EAC5F,aAAchC,EAAM,aACpB,gBAAiBA,EAAM,gBACvB,WAAYA,EAAM,WAClB,KAAMA,EAAM,KACZ,WAAYA,EAAM,WAKlB,UAAWA,EAAM,UACjB,SAAUA,EAAM,SAChB,UAAWA,EAAM,WAAasB,GAAWtB,EAAM,SAAS,EACxD,WAAYA,EAAM,YAAcsB,GAAWtB,EAAM,UAAU,EAC3D,GAAIA,EAAM,GACV,OAAQA,EAAM,OACd,IAAKA,EAAM,IACX,GAAIA,EAAM,EACd,CAEA,CAQA,SAASghB,GAAgBC,EAAO,IAAKC,EAAO,EAAG,CAC7C,OAAOlgB,GAAY2X,GAAM,KAAMsI,EAAMC,CAAI,CAC3C,CACA,SAASC,GAAkBC,EAASC,EAAe,CACjD,MAAMrhB,EAAQgB,GAAY8X,GAAQ,KAAMsI,CAAO,EAC/C,OAAAphB,EAAM,YAAcqhB,EACbrhB,CACT,CACA,SAASshB,GAAmBL,EAAO,GAAIM,EAAU,GAAO,CACtD,OAAOA,GAAWzT,IAAaI,GAAYjN,GAAS,KAAMggB,CAAI,GAAKjgB,GAAYC,GAAS,KAAMggB,CAAI,CACpG,CACA,SAASrgB,GAAeoF,EAAO,CAC7B,OAAIA,GAAS,MAAQ,OAAOA,GAAU,UAC7BhF,GAAYC,EAAO,EACjBpW,GAAQmb,CAAK,EACfhF,GACLiI,GACA,KAEAjD,EAAM,MAAO,CACnB,EACa,OAAOA,GAAU,SACnBmU,GAAenU,CAAK,EAEpBhF,GAAY2X,GAAM,KAAM,OAAO3S,CAAK,CAAC,CAEhD,CACA,SAASmU,GAAenU,EAAO,CAC7B,OAAOA,EAAM,KAAO,MAAQA,EAAM,YAAc,IAAMA,EAAM,KAAOA,EAAQ1E,GAAW0E,CAAK,CAC7F,CACA,SAASqa,GAAkBrgB,EAAO8F,EAAU,CAC1C,IAAIhU,EAAO,EACX,KAAM,CAAE,UAAAsP,CAAW,EAAGpB,EACtB,GAAI8F,GAAY,KACdA,EAAW,aACFjb,GAAQib,CAAQ,EACzBhU,EAAO,WACE,OAAOgU,GAAa,SAC7B,GAAI1E,EAAa,GAAS,CACxB,MAAMyM,EAAO/H,EAAS,QAClB+H,IACFA,EAAK,KAAOA,EAAK,GAAK,IACtBwS,GAAkBrgB,EAAO6N,EAAI,CAAE,EAC/BA,EAAK,KAAOA,EAAK,GAAK,KAExB,MACN,KAAW,CACL/b,EAAO,GACP,MAAM0vB,EAAW1b,EAAS,EACtB,CAAC0b,GAAY,EAAEtN,MAAqBpO,GACtCA,EAAS,KAAO9G,GACPwiB,IAAa,GAAKxiB,KACvBA,GAAyB,MAAM,IAAM,EACvC8G,EAAS,EAAI,GAEbA,EAAS,EAAI,EACb9F,EAAM,WAAa,MAGxB,MACQ7U,GAAW2a,CAAQ,GAC5BA,EAAW,CAAE,QAASA,EAAU,KAAM9G,EAAwB,EAC9DlN,EAAO,KAEPgU,EAAW,OAAOA,CAAQ,EACtB1E,EAAY,IACdtP,EAAO,GACPgU,EAAW,CAACkb,GAAgBlb,CAAQ,CAAC,GAErChU,EAAO,GAGXkO,EAAM,SAAW8F,EACjB9F,EAAM,WAAalO,CACrB,CACA,SAASivB,MAAc7tB,EAAM,CAC3B,MAAMpF,EAAM,GACZ,QAASpD,EAAI,EAAGA,EAAIwI,EAAK,OAAQxI,IAAK,CACpC,MAAM+2B,EAAUvuB,EAAKxI,CAAC,EACtB,UAAWN,KAAOq3B,EAChB,GAAIr3B,IAAQ,QACN0D,EAAI,QAAU2zB,EAAQ,QACxB3zB,EAAI,MAAQE,GAAe,CAACF,EAAI,MAAO2zB,EAAQ,KAAK,CAAC,WAE9Cr3B,IAAQ,QACjB0D,EAAI,MAAQT,GAAe,CAACS,EAAI,MAAO2zB,EAAQ,KAAK,CAAC,UAC5Ct3B,GAAKC,CAAG,EAAG,CACpB,MAAMktB,EAAWxpB,EAAI1D,CAAG,EAClBs3B,EAAWD,EAAQr3B,CAAG,EACxBs3B,GAAYpK,IAAaoK,GAAY,EAAE72B,GAAQysB,CAAQ,GAAKA,EAAS,SAASoK,CAAQ,KACxF5zB,EAAI1D,CAAG,EAAIktB,EAAW,GAAG,OAAOA,EAAUoK,CAAQ,EAAIA,EAEhE,MAAiBt3B,IAAQ,KACjB0D,EAAI1D,CAAG,EAAIq3B,EAAQr3B,CAAG,EAG3B,CACD,OAAO0D,CACT,CACA,SAASqc,GAAgBjF,EAAMtK,EAAUoF,EAAOwB,EAAY,KAAM,CAChEzG,GAA2BmK,EAAMtK,EAAU,EAAG,CAC5CoF,EACAwB,CACJ,CAAG,CACH,CAEA,MAAMmgB,GAAkB9O,GAAgB,EACxC,IAAI+O,GAAM,EACV,SAASpG,GAAwBxb,EAAO5O,EAAQqR,EAAU,CACxD,MAAM3Q,EAAOkO,EAAM,KACbzB,GAAcnN,EAASA,EAAO,WAAa4O,EAAM,aAAe2hB,GAChE/mB,EAAW,CACf,IAAKgnB,KACL,MAAA5hB,EACA,KAAAlO,EACA,OAAAV,EACA,WAAAmN,EACA,KAAM,KAEN,KAAM,KACN,QAAS,KAET,OAAQ,KACR,OAAQ,KAER,MAAO,IAAIhP,GACT,EAED,EACD,OAAQ,KACR,MAAO,KACP,QAAS,KACT,YAAa,KACb,UAAW,KACX,SAAU6B,EAASA,EAAO,SAAW,OAAO,OAAOmN,EAAW,QAAQ,EACtE,YAAa,KACb,YAAa,CAAE,EAEf,WAAY,KACZ,WAAY,KAEZ,aAAc4W,GAAsBrjB,EAAMyM,CAAU,EACpD,aAAcF,GAAsBvM,EAAMyM,CAAU,EAEpD,KAAM,KAEN,QAAS,KAET,cAAezU,GAEf,aAAcgI,EAAK,aAEnB,IAAKhI,GACL,KAAMA,GACN,MAAOA,GACP,MAAOA,GACP,MAAOA,GACP,KAAMA,GACN,WAAYA,GACZ,aAAc,KACd,WAAY,KACZ,WAAY,KAEZ,SAAA2Y,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,OAAA7H,EAAS,IAAM,CAAE,EAAGA,CAAQ,EAE9BA,EAAS,KAAOxJ,EAASA,EAAO,KAAOwJ,EACvCA,EAAS,KAAO8C,GAAK,KAAK,KAAM9C,CAAQ,EACpCoF,EAAM,IACRA,EAAM,GAAGpF,CAAQ,EAEZA,CACT,CACA,IAAIuI,GAAkB,KACtB,MAAMyC,GAAqB,IAAMzC,IAAmBnE,GACpD,IAAI6iB,GACAC,GACAC,GAAa,4BAETD,GAA+B10B,KAAgB20B,EAAU,KAC7DD,GAA+B10B,GAAa,EAAG20B,EAAU,EAAI,IAE/DD,GAA6B,KAAMp3B,GAAMyY,GAAkBzY,CAAC,EAC5Dm3B,GAA8BjnB,GAAa,CACrCknB,GAA6B,OAAS,EACxCA,GAA6B,QAASve,GAAMA,EAAE3I,CAAQ,CAAC,EAEvDknB,GAA6B,CAAC,EAAElnB,CAAQ,CAE9C,EAEA,MAAMwJ,GAAsBxJ,GAAa,CACvCinB,GAA2BjnB,CAAQ,EACnCA,EAAS,MAAM,IACjB,EACMyJ,GAAuB,IAAM,CACjClB,IAAmBA,GAAgB,MAAM,MACzC0e,GAA2B,IAAI,CACjC,EAUA,SAASxT,GAAoBzT,EAAU,CACrC,OAAOA,EAAS,MAAM,UAAY,CACpC,CACA,IAAIiJ,GAAwB,GAC5B,SAAS4X,GAAe7gB,EAAUR,EAAQ,GAAO,CAC/CyJ,GAAwBzJ,EACxB,KAAM,CAAE,MAAAyD,EAAO,SAAAiI,GAAalL,EAAS,MAC/BqZ,EAAa5F,GAAoBzT,CAAQ,EAC/CoZ,GAAUpZ,EAAUiD,EAAOoW,EAAY7Z,CAAK,EAC5Cmc,GAAU3b,EAAUkL,CAAQ,EAC5B,MAAMkc,EAAc/N,EAAagO,GAAuBrnB,EAAUR,CAAK,EAAI,OAC3E,OAAAyJ,GAAwB,GACjBme,CACT,CACA,SAASC,GAAuBrnB,EAAUR,EAAO,CAE/C,MAAM2F,EAAYnF,EAAS,KAuB3BA,EAAS,YAA8B,OAAO,OAAO,IAAI,EACzDA,EAAS,MAAQxC,GAAQ,IAAI,MAAMwC,EAAS,IAAK6T,EAA2B,CAAC,EAI7E,KAAM,CAAE,MAAAyT,CAAO,EAAGniB,EAClB,GAAImiB,EAAO,CACT,MAAMC,EAAevnB,EAAS,aAAesnB,EAAM,OAAS,EAAIE,GAAmBxnB,CAAQ,EAAI,KAC/FwJ,GAAmBxJ,CAAQ,EAC3BlJ,KACA,MAAMswB,EAAcrnB,GAClBunB,EACAtnB,EACA,EACA,CAA+EA,EAAS,MAAOunB,CAAY,CACjH,EAGI,GAFAxwB,KACA0S,KACI9Y,GAAUy2B,CAAW,EAAG,CAE1B,GADAA,EAAY,KAAK3d,GAAsBA,EAAoB,EACvDjK,EACF,OAAO4nB,EAAY,KAAMK,GAAmB,CAC1CC,GAAkB1nB,EAAUynB,EAAgBjoB,CAAK,CAC3D,CAAS,EAAE,MAAOmoB,GAAM,CACdznB,GAAYynB,EAAG3nB,EAAU,CAAC,CACpC,CAAS,EAEDA,EAAS,SAAWonB,CAQ5B,MACMM,GAAkB1nB,EAAUonB,EAAa5nB,CAAK,CAEpD,MACIooB,GAAqB5nB,EAAUR,CAAK,CAExC,CACA,SAASkoB,GAAkB1nB,EAAUonB,EAAa5nB,EAAO,CACnDjP,GAAW62B,CAAW,EACpBpnB,EAAS,KAAK,kBAChBA,EAAS,UAAYonB,EAErBpnB,EAAS,OAASonB,EAEX12B,GAAS02B,CAAW,IAS7BpnB,EAAS,WAAazB,GAAU6oB,CAAW,GAS7CQ,GAAqB5nB,EAAUR,CAAK,CACtC,CACA,IAAIqoB,GAWJ,SAASD,GAAqB5nB,EAAUR,EAAOsoB,EAAa,CAC1D,MAAM3iB,EAAYnF,EAAS,KAC3B,GAAI,CAACA,EAAS,OAAQ,CACpB,GAAI,CAACR,GAASqoB,IAAW,CAAC1iB,EAAU,OAAQ,CAC1C,MAAM4iB,EAAW5iB,EAAU,UAAYwO,GAAqB3T,CAAQ,EAAE,SACtE,GAAI+nB,EAAU,CAIZ,KAAM,CAAE,gBAAAC,EAAiB,gBAAAC,CAAe,EAAKjoB,EAAS,WAAW,OAC3D,CAAE,WAAAkoB,EAAY,gBAAiBC,CAAwB,EAAKhjB,EAC5DijB,EAAuB14B,GAC3BA,GACE,CACE,gBAAAs4B,EACA,WAAAE,CACD,EACDD,CACD,EACDE,CACV,EACQhjB,EAAU,OAAS0iB,GAAQE,EAAUK,CAAoB,CAI1D,CACF,CACDpoB,EAAS,OAASmF,EAAU,QAAU/V,EAIvC,CACgC,CAC/Boa,GAAmBxJ,CAAQ,EAC3BlJ,KACA,GAAI,CACFwd,GAAatU,CAAQ,CAC3B,QAAc,CACRjJ,KACA0S,IACD,CACF,CAWH,CACA,SAAS4e,GAAcroB,EAAU,CAC/B,OAAOA,EAAS,aAAeA,EAAS,WAAa,IAAI,MACvDA,EAAS,MAeL,CACF,IAAI/I,EAAQzH,EAAK,CACf,OAAAwH,GAAMgJ,EAAU,MAAO,QAAQ,EACxB/I,EAAOzH,CAAG,CAClB,CACF,CACL,EACA,CASA,SAASg4B,GAAmBxnB,EAAU,CACpC,MAAM4V,EAAUY,GAAY,CAqB1BxW,EAAS,QAAUwW,GAAW,EAClC,EAeI,MAAO,CACL,IAAI,OAAQ,CACV,OAAO6R,GAAcroB,CAAQ,CAC9B,EACD,MAAOA,EAAS,MAChB,KAAMA,EAAS,KACf,OAAA4V,CACN,CAEA,CACA,SAAS7L,GAAe/J,EAAU,CAChC,GAAIA,EAAS,QACX,OAAOA,EAAS,cAAgBA,EAAS,YAAc,IAAI,MAAMzB,GAAUf,GAAQwC,EAAS,OAAO,CAAC,EAAG,CACrG,IAAI/I,EAAQzH,EAAK,CACf,GAAIA,KAAOyH,EACT,OAAOA,EAAOzH,CAAG,EACZ,GAAIA,KAAOkkB,GAChB,OAAOA,GAAoBlkB,CAAG,EAAEwQ,CAAQ,CAE3C,EACD,IAAI/I,EAAQzH,EAAK,CACf,OAAOA,KAAOyH,GAAUzH,KAAOkkB,EAChC,CACF,GAEL,CAGA,SAAS9D,GAAiBzK,EAAWmjB,EAAkB,GAAM,CAC3D,OAAO/3B,GAAW4U,CAAS,EAAIA,EAAU,aAAeA,EAAU,KAAOA,EAAU,MAAQmjB,GAAmBnjB,EAAU,MAC1H,CAuBA,SAASygB,GAAiB/0B,EAAO,CAC/B,OAAON,GAAWM,CAAK,GAAK,cAAeA,CAC7C,CAEA,MAAM6O,GAAW,CAACC,EAAiBC,IAC1B2oB,GAAW5oB,EAAiBC,EAAcqJ,EAAqB,EAGxE,SAAS2N,GAAE1f,EAAMsxB,EAAiBtd,EAAU,CAC1C,MAAMnW,EAAI,UAAU,OACpB,OAAIA,IAAM,EACJrE,GAAS83B,CAAe,GAAK,CAACv4B,GAAQu4B,CAAe,EACnDhY,GAAQgY,CAAe,EAClBpiB,GAAYlP,EAAM,KAAM,CAACsxB,CAAe,CAAC,EAE3CpiB,GAAYlP,EAAMsxB,CAAe,EAEjCpiB,GAAYlP,EAAM,KAAMsxB,CAAe,GAG5CzzB,EAAI,EACNmW,EAAW,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,EACzCnW,IAAM,GAAKyb,GAAQtF,CAAQ,IACpCA,EAAW,CAACA,CAAQ,GAEf9E,GAAYlP,EAAMsxB,EAAiBtd,CAAQ,EAEtD,CAEA,MAAMud,GAAgB,OAAO,IAAI,OAAO,EAClCvf,GAAgB,IAENyN,GAAO8R,EAAa,EAuN9B9P,GAAU,QCnmPV+P,GAAQ,6BACRC,GAAM,OAAO,SAAa,IAAc,SAAW,KACnDC,GAAoBD,IAAuBA,GAAI,cAAc,UAAU,EACvEE,GAAU,CACd,OAAQ,CAACzd,EAAO5U,EAAQ2Y,IAAW,CACjC3Y,EAAO,aAAa4U,EAAO+D,GAAU,IAAI,CAC1C,EACD,OAAS/D,GAAU,CACjB,MAAM5U,EAAS4U,EAAM,WACjB5U,GACFA,EAAO,YAAY4U,CAAK,CAE3B,EACD,cAAe,CAAC0d,EAAK1Z,EAAO2Z,EAAI9lB,IAAU,CACxC,MAAMpT,EAAKuf,EAAQuZ,GAAI,gBAAgBD,GAAOI,CAAG,EAAIH,GAAI,cAAcG,EAAKC,EAAK,CAAE,GAAAA,CAAI,EAAG,MAAM,EAChG,OAAID,IAAQ,UAAY7lB,GAASA,EAAM,UAAY,MACjDpT,EAAG,aAAa,WAAYoT,EAAM,QAAQ,EAErCpT,CACR,EACD,WAAaw2B,GAASsC,GAAI,eAAetC,CAAI,EAC7C,cAAgBA,GAASsC,GAAI,cAActC,CAAI,EAC/C,QAAS,CAAC2C,EAAM3C,IAAS,CACvB2C,EAAK,UAAY3C,CAClB,EACD,eAAgB,CAACx2B,EAAIw2B,IAAS,CAC5Bx2B,EAAG,YAAcw2B,CAClB,EACD,WAAa2C,GAASA,EAAK,WAC3B,YAAcA,GAASA,EAAK,YAC5B,cAAgBC,GAAaN,GAAI,cAAcM,CAAQ,EACvD,WAAWp5B,EAAI4R,EAAI,CACjB5R,EAAG,aAAa4R,EAAI,EAAE,CACvB,EAKD,oBAAoB+kB,EAAShwB,EAAQ2Y,EAAQC,EAAO1N,EAAOC,EAAK,CAC9D,MAAMunB,EAAS/Z,EAASA,EAAO,gBAAkB3Y,EAAO,UACxD,GAAIkL,IAAUA,IAAUC,GAAOD,EAAM,aACnC,KACElL,EAAO,aAAakL,EAAM,UAAU,EAAI,EAAGyN,CAAM,EAC7C,EAAAzN,IAAUC,GAAO,EAAED,EAAQA,EAAM,eAArC,KAGG,CACLknB,GAAkB,UAAYxZ,EAAQ,QAAQoX,CAAO,SAAWA,EAChE,MAAMuB,EAAWa,GAAkB,QACnC,GAAIxZ,EAAO,CACT,MAAM+Z,EAAUpB,EAAS,WACzB,KAAOoB,EAAQ,YACbpB,EAAS,YAAYoB,EAAQ,UAAU,EAEzCpB,EAAS,YAAYoB,CAAO,CAC7B,CACD3yB,EAAO,aAAauxB,EAAU5Y,CAAM,CACrC,CACD,MAAO,CAEL+Z,EAASA,EAAO,YAAc1yB,EAAO,WAErC2Y,EAASA,EAAO,gBAAkB3Y,EAAO,SAC/C,CACG,CACH,EAEM4yB,GAAa,aACbC,GAAY,YACZC,GAAS,OAAO,MAAM,EACtBC,GAAa,CAACtmB,EAAO,CAAE,MAAAsC,KAAYqR,GAAErK,GAAgBid,GAAuBvmB,CAAK,EAAGsC,CAAK,EAC/FgkB,GAAW,YAAc,aACzB,MAAME,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,GAA4BH,GAAW,MAAwB75B,GACnE,CAAE,EACFob,GACA2e,EACF,EACMlc,GAAW,CAACjD,EAAMhS,EAAO,KAAO,CAChCrI,GAAQqa,CAAI,EACdA,EAAK,QAASqf,GAAOA,EAAG,GAAGrxB,CAAI,CAAC,EACvBgS,GACTA,EAAK,GAAGhS,CAAI,CAEhB,EACMsxB,GAAuBtf,GACpBA,EAAOra,GAAQqa,CAAI,EAAIA,EAAK,KAAMqf,GAAOA,EAAG,OAAS,CAAC,EAAIrf,EAAK,OAAS,EAAI,GAErF,SAASkf,GAAuBne,EAAU,CACxC,MAAMwe,EAAY,GAClB,UAAWr6B,KAAO6b,EACV7b,KAAOi6B,KACXI,EAAUr6B,CAAG,EAAI6b,EAAS7b,CAAG,GAGjC,GAAI6b,EAAS,MAAQ,GACnB,OAAOwe,EAET,KAAM,CACJ,KAAAx2B,EAAO,IACP,KAAA6D,EACA,SAAA4yB,EACA,eAAAC,EAAiB,GAAG12B,CAAI,cACxB,iBAAA22B,EAAmB,GAAG32B,CAAI,gBAC1B,aAAA42B,EAAe,GAAG52B,CAAI,YACtB,gBAAA62B,EAAkBH,EAClB,kBAAAI,EAAoBH,EACpB,cAAAI,EAAgBH,EAChB,eAAAI,EAAiB,GAAGh3B,CAAI,cACxB,iBAAAi3B,EAAmB,GAAGj3B,CAAI,gBAC1B,aAAAk3B,EAAe,GAAGl3B,CAAI,WACvB,EAAGgY,EACEmf,EAAYC,GAAkBX,CAAQ,EACtCY,EAAgBF,GAAaA,EAAU,CAAC,EACxCG,EAAgBH,GAAaA,EAAU,CAAC,EACxC,CACJ,cAAA7d,EACA,QAAAC,EACA,iBAAAE,EACA,QAAAE,EACA,iBAAAE,EACA,eAAAC,EAAiBR,EACjB,SAAAS,EAAWR,EACX,kBAAAU,EAAoBR,CACrB,EAAG+c,EACEe,EAAc,CAAC/6B,EAAIg7B,EAAUlvB,IAAS,CAC1CmvB,GAAsBj7B,EAAIg7B,EAAWT,EAAgBH,CAAY,EACjEa,GAAsBj7B,EAAIg7B,EAAWV,EAAoBH,CAAgB,EACzEruB,GAAQA,EAAI,CAChB,EACQovB,EAAc,CAACl7B,EAAI8L,IAAS,CAChC9L,EAAG,WAAa,GAChBi7B,GAAsBj7B,EAAIw6B,CAAc,EACxCS,GAAsBj7B,EAAI06B,CAAY,EACtCO,GAAsBj7B,EAAIy6B,CAAgB,EAC1C3uB,GAAQA,EAAI,CAChB,EACQqvB,EAAiBH,GACd,CAACh7B,EAAI8L,IAAS,CACnB,MAAM2O,GAAOugB,EAAWzd,EAAWR,EAC7B6F,EAAU,IAAMmY,EAAY/6B,EAAIg7B,EAAUlvB,CAAI,EACpD4R,GAASjD,GAAM,CAACza,EAAI4iB,CAAO,CAAC,EAC5BwY,GAAU,IAAM,CACdH,GAAsBj7B,EAAIg7B,EAAWX,EAAkBH,CAAc,EACrEmB,GAAmBr7B,EAAIg7B,EAAWT,EAAgBH,CAAY,EACzDL,GAAoBtf,EAAI,GAC3B6gB,GAAmBt7B,EAAIqH,EAAMwzB,EAAejY,CAAO,CAE7D,CAAO,CACP,EAEE,OAAO/iB,GAAOm6B,EAAW,CACvB,cAAch6B,EAAI,CAChB0d,GAASZ,EAAe,CAAC9c,CAAE,CAAC,EAC5Bq7B,GAAmBr7B,EAAIk6B,CAAc,EACrCmB,GAAmBr7B,EAAIm6B,CAAgB,CACxC,EACD,eAAen6B,EAAI,CACjB0d,GAASJ,EAAgB,CAACtd,CAAE,CAAC,EAC7Bq7B,GAAmBr7B,EAAIq6B,CAAe,EACtCgB,GAAmBr7B,EAAIs6B,CAAiB,CACzC,EACD,QAASa,EAAc,EAAK,EAC5B,SAAUA,EAAc,EAAI,EAC5B,QAAQn7B,EAAI8L,EAAM,CAChB9L,EAAG,WAAa,GAChB,MAAM4iB,EAAU,IAAMsY,EAAYl7B,EAAI8L,CAAI,EAC1CuvB,GAAmBr7B,EAAIw6B,CAAc,EACrCe,KACAF,GAAmBr7B,EAAIy6B,CAAgB,EACvCW,GAAU,IAAM,CACTp7B,EAAG,aAGRi7B,GAAsBj7B,EAAIw6B,CAAc,EACxCa,GAAmBr7B,EAAI06B,CAAY,EAC9BX,GAAoB5c,CAAO,GAC9Bme,GAAmBt7B,EAAIqH,EAAMyzB,EAAelY,CAAO,EAE7D,CAAO,EACDlF,GAASP,EAAS,CAACnd,EAAI4iB,CAAO,CAAC,CAChC,EACD,iBAAiB5iB,EAAI,CACnB+6B,EAAY/6B,EAAI,EAAK,EACrB0d,GAAST,EAAkB,CAACjd,CAAE,CAAC,CAChC,EACD,kBAAkBA,EAAI,CACpB+6B,EAAY/6B,EAAI,EAAI,EACpB0d,GAASD,EAAmB,CAACzd,CAAE,CAAC,CACjC,EACD,iBAAiBA,EAAI,CACnBk7B,EAAYl7B,CAAE,EACd0d,GAASL,EAAkB,CAACrd,CAAE,CAAC,CAChC,CACL,CAAG,CACH,CACA,SAAS46B,GAAkBX,EAAU,CACnC,GAAIA,GAAY,KACd,OAAO,KACF,GAAIp5B,GAASo5B,CAAQ,EAC1B,MAAO,CAACuB,GAASvB,EAAS,KAAK,EAAGuB,GAASvB,EAAS,KAAK,CAAC,EACrD,CACL,MAAMz3B,EAAIg5B,GAASvB,CAAQ,EAC3B,MAAO,CAACz3B,EAAGA,CAAC,CACb,CACH,CACA,SAASg5B,GAASp8B,EAAK,CAKrB,OAJYqD,GAASrD,CAAG,CAK1B,CACA,SAASi8B,GAAmBr7B,EAAIy7B,EAAK,CACnCA,EAAI,MAAM,KAAK,EAAE,QAAS95B,GAAMA,GAAK3B,EAAG,UAAU,IAAI2B,CAAC,CAAC,GACvD3B,EAAGy5B,EAAM,IAAMz5B,EAAGy5B,EAAM,EAAoB,IAAI,MAAQ,IAAIgC,CAAG,CAClE,CACA,SAASR,GAAsBj7B,EAAIy7B,EAAK,CACtCA,EAAI,MAAM,KAAK,EAAE,QAAS95B,GAAMA,GAAK3B,EAAG,UAAU,OAAO2B,CAAC,CAAC,EAC3D,MAAM+5B,EAAO17B,EAAGy5B,EAAM,EAClBiC,IACFA,EAAK,OAAOD,CAAG,EACVC,EAAK,OACR17B,EAAGy5B,EAAM,EAAI,QAGnB,CACA,SAAS2B,GAAU3oB,EAAI,CACrB,sBAAsB,IAAM,CAC1B,sBAAsBA,CAAE,CAC5B,CAAG,CACH,CACA,IAAIkpB,GAAQ,EACZ,SAASL,GAAmBt7B,EAAI47B,EAAcC,EAAiBjZ,EAAS,CACtE,MAAMhR,EAAK5R,EAAG,OAAS,EAAE27B,GACnBG,EAAoB,IAAM,CAC1BlqB,IAAO5R,EAAG,QACZ4iB,GAEN,EACE,GAAIiZ,EACF,OAAO,WAAWC,EAAmBD,CAAe,EAEtD,KAAM,CAAE,KAAAx0B,EAAM,QAAA00B,EAAS,UAAAC,CAAW,EAAGC,GAAkBj8B,EAAI47B,CAAY,EACvE,GAAI,CAACv0B,EACH,OAAOub,EAAO,EAEhB,MAAMsZ,EAAW70B,EAAO,MACxB,IAAI80B,EAAQ,EACZ,MAAMrqB,EAAM,IAAM,CAChB9R,EAAG,oBAAoBk8B,EAAUE,CAAK,EACtCN,GACJ,EACQM,EAAStE,GAAM,CACfA,EAAE,SAAW93B,GAAM,EAAEm8B,GAASH,GAChClqB,GAEN,EACE,WAAW,IAAM,CACXqqB,EAAQH,GACVlqB,GAEN,EAAKiqB,EAAU,CAAC,EACd/7B,EAAG,iBAAiBk8B,EAAUE,CAAK,CACrC,CACA,SAASH,GAAkBj8B,EAAI47B,EAAc,CAC3C,MAAMS,EAAS,OAAO,iBAAiBr8B,CAAE,EACnCs8B,EAAsB38B,IAAS08B,EAAO18B,CAAG,GAAK,IAAI,MAAM,IAAI,EAC5D48B,EAAmBD,EAAmB,GAAG/C,EAAU,OAAO,EAC1DiD,EAAsBF,EAAmB,GAAG/C,EAAU,UAAU,EAChEkD,EAAoBC,GAAWH,EAAkBC,CAAmB,EACpEG,EAAkBL,EAAmB,GAAG9C,EAAS,OAAO,EACxDoD,EAAqBN,EAAmB,GAAG9C,EAAS,UAAU,EAC9DqD,EAAmBH,GAAWC,EAAiBC,CAAkB,EACvE,IAAIv1B,EAAO,KACP00B,EAAU,EACVC,EAAY,EACZJ,IAAiBrC,GACfkD,EAAoB,IACtBp1B,EAAOkyB,GACPwC,EAAUU,EACVT,EAAYQ,EAAoB,QAEzBZ,IAAiBpC,GACtBqD,EAAmB,IACrBx1B,EAAOmyB,GACPuC,EAAUc,EACVb,EAAYY,EAAmB,SAGjCb,EAAU,KAAK,IAAIU,EAAmBI,CAAgB,EACtDx1B,EAAO00B,EAAU,EAAIU,EAAoBI,EAAmBtD,GAAaC,GAAY,KACrFwC,EAAY30B,EAAOA,IAASkyB,GAAaiD,EAAoB,OAASI,EAAmB,OAAS,GAEpG,MAAME,EAAez1B,IAASkyB,IAAc,yBAAyB,KACnE+C,EAAmB,GAAG/C,EAAU,UAAU,EAAE,SAAU,CAC1D,EACE,MAAO,CACL,KAAAlyB,EACA,QAAA00B,EACA,UAAAC,EACA,aAAAc,CACJ,CACA,CACA,SAASJ,GAAWK,EAAQpC,EAAW,CACrC,KAAOoC,EAAO,OAASpC,EAAU,QAC/BoC,EAASA,EAAO,OAAOA,CAAM,EAE/B,OAAO,KAAK,IAAI,GAAGpC,EAAU,IAAI,CAACqC,EAAG/8B,IAAMg9B,GAAKD,CAAC,EAAIC,GAAKF,EAAO98B,CAAC,CAAC,CAAC,CAAC,CACvE,CACA,SAASg9B,GAAKnkB,EAAG,CACf,OAAIA,IAAM,OACD,EACF,OAAOA,EAAE,MAAM,EAAG,EAAE,EAAE,QAAQ,IAAK,GAAG,CAAC,EAAI,GACpD,CACA,SAASyiB,IAAc,CACrB,OAAO,SAAS,KAAK,YACvB,CAEA,SAAS2B,GAAWl9B,EAAIgB,EAAOue,EAAO,CACpC,MAAM4d,EAAoBn9B,EAAGy5B,EAAM,EAC/B0D,IACFn8B,GAASA,EAAQ,CAACA,EAAO,GAAGm8B,CAAiB,EAAI,CAAC,GAAGA,CAAiB,GAAG,KAAK,GAAG,GAE/En8B,GAAS,KACXhB,EAAG,gBAAgB,OAAO,EACjBuf,EACTvf,EAAG,aAAa,QAASgB,CAAK,EAE9BhB,EAAG,UAAYgB,CAEnB,CAEA,MAAMo8B,GAAc,OAAO,MAAM,EAC3BC,GAAQ,CACZ,YAAYr9B,EAAI,CAAE,MAAAgB,CAAK,EAAI,CAAE,WAAAiuB,CAAU,EAAI,CACzCjvB,EAAGo9B,EAAW,EAAIp9B,EAAG,MAAM,UAAY,OAAS,GAAKA,EAAG,MAAM,QAC1DivB,GAAcjuB,EAChBiuB,EAAW,YAAYjvB,CAAE,EAEzBs9B,GAAWt9B,EAAIgB,CAAK,CAEvB,EACD,QAAQhB,EAAI,CAAE,MAAAgB,CAAK,EAAI,CAAE,WAAAiuB,CAAU,EAAI,CACjCA,GAAcjuB,GAChBiuB,EAAW,MAAMjvB,CAAE,CAEtB,EACD,QAAQA,EAAI,CAAE,MAAAgB,EAAO,SAAAiB,CAAU,EAAE,CAAE,WAAAgtB,GAAc,CAC3C,CAACjuB,GAAU,CAACiB,IAEZgtB,EACEjuB,GACFiuB,EAAW,YAAYjvB,CAAE,EACzBs9B,GAAWt9B,EAAI,EAAI,EACnBivB,EAAW,MAAMjvB,CAAE,GAEnBivB,EAAW,MAAMjvB,EAAI,IAAM,CACzBs9B,GAAWt9B,EAAI,EAAK,CAC9B,CAAS,EAGHs9B,GAAWt9B,EAAIgB,CAAK,EAEvB,EACD,cAAchB,EAAI,CAAE,MAAAgB,GAAS,CAC3Bs8B,GAAWt9B,EAAIgB,CAAK,CACrB,CACH,EACA,SAASs8B,GAAWt9B,EAAIgB,EAAO,CAC7BhB,EAAG,MAAM,QAAUgB,EAAQhB,EAAGo9B,EAAW,EAAI,MAC/C,CASA,SAASG,GAAWv9B,EAAI0U,EAAMma,EAAM,CAClC,MAAMqH,EAAQl2B,EAAG,MACXw9B,EAAc78B,GAASkuB,CAAI,EACjC,GAAIA,GAAQ,CAAC2O,EAAa,CACxB,GAAI9oB,GAAQ,CAAC/T,GAAS+T,CAAI,EACxB,UAAW/U,KAAO+U,EACZma,EAAKlvB,CAAG,GAAK,MACf89B,GAASvH,EAAOv2B,EAAK,EAAE,EAI7B,UAAWA,KAAOkvB,EAChB4O,GAASvH,EAAOv2B,EAAKkvB,EAAKlvB,CAAG,CAAC,CAEpC,KAAS,CACL,MAAM+9B,EAAiBxH,EAAM,QACzBsH,EACE9oB,IAASma,IACXqH,EAAM,QAAUrH,GAETna,GACT1U,EAAG,gBAAgB,OAAO,EAExBo9B,MAAep9B,IACjBk2B,EAAM,QAAUwH,EAEnB,CACH,CAEA,MAAMC,GAAc,iBACpB,SAASF,GAASvH,EAAO1yB,EAAMpE,EAAK,CAClC,GAAIgB,GAAQhB,CAAG,EACbA,EAAI,QAASgL,GAAMqzB,GAASvH,EAAO1yB,EAAM4G,CAAC,CAAC,UAEvChL,GAAO,OACTA,EAAM,IAQJoE,EAAK,WAAW,IAAI,EACtB0yB,EAAM,YAAY1yB,EAAMpE,CAAG,MACtB,CACL,MAAMw+B,EAAWC,GAAW3H,EAAO1yB,CAAI,EACnCm6B,GAAY,KAAKv+B,CAAG,EACtB82B,EAAM,YACJr0B,GAAU+7B,CAAQ,EAClBx+B,EAAI,QAAQu+B,GAAa,EAAE,EAC3B,WACV,EAEQzH,EAAM0H,CAAQ,EAAIx+B,CAErB,CAEL,CACA,MAAM0+B,GAAW,CAAC,SAAU,MAAO,IAAI,EACjCC,GAAc,GACpB,SAASF,GAAW3H,EAAO8H,EAAS,CAClC,MAAMhqB,EAAS+pB,GAAYC,CAAO,EAClC,GAAIhqB,EACF,OAAOA,EAET,IAAIxQ,EAAO/B,GAASu8B,CAAO,EAC3B,GAAIx6B,IAAS,UAAYA,KAAQ0yB,EAC/B,OAAO6H,GAAYC,CAAO,EAAIx6B,EAEhCA,EAAO1B,GAAW0B,CAAI,EACtB,QAAS,EAAI,EAAG,EAAIs6B,GAAS,OAAQ,IAAK,CACxC,MAAMF,EAAWE,GAAS,CAAC,EAAIt6B,EAC/B,GAAIo6B,KAAY1H,EACd,OAAO6H,GAAYC,CAAO,EAAIJ,CAEjC,CACD,OAAOI,CACT,CAEA,MAAMC,GAAU,+BAChB,SAASC,GAAUl+B,EAAIL,EAAKqB,EAAOue,EAAOpP,EAAU,CAClD,GAAIoP,GAAS5f,EAAI,WAAW,QAAQ,EAC9BqB,GAAS,KACXhB,EAAG,kBAAkBi+B,GAASt+B,EAAI,MAAM,EAAGA,EAAI,MAAM,CAAC,EAEtDK,EAAG,eAAei+B,GAASt+B,EAAKqB,CAAK,MAElC,CACL,MAAMm9B,EAAYz6B,GAAqB/D,CAAG,EACtCqB,GAAS,MAAQm9B,GAAa,CAACx6B,GAAmB3C,CAAK,EACzDhB,EAAG,gBAAgBL,CAAG,EAEtBK,EAAG,aAAaL,EAAKw+B,EAAY,GAAKn9B,CAAK,CAE9C,CACH,CAEA,SAASo9B,GAAap+B,EAAIL,EAAKqB,EAAOmW,EAAc4W,EAAiBhP,EAAgBsQ,EAAiB,CACpG,GAAI1vB,IAAQ,aAAeA,IAAQ,cAAe,CAC5CwX,GACFkY,EAAgBlY,EAAc4W,EAAiBhP,CAAc,EAE/D/e,EAAGL,CAAG,EAAIqB,GAAgB,GAC1B,MACD,CACD,MAAMi4B,EAAMj5B,EAAG,QACf,GAAIL,IAAQ,SAAWs5B,IAAQ,YAC/B,CAACA,EAAI,SAAS,GAAG,EAAG,CAClBj5B,EAAG,OAASgB,EACZ,MAAMiB,EAAWg3B,IAAQ,SAAWj5B,EAAG,aAAa,OAAO,EAAIA,EAAG,MAC5D2H,EAAW3G,GAAgB,GAC7BiB,IAAa0F,IACf3H,EAAG,MAAQ2H,GAET3G,GAAS,MACXhB,EAAG,gBAAgBL,CAAG,EAExB,MACD,CACD,IAAI0+B,EAAa,GACjB,GAAIr9B,IAAU,IAAMA,GAAS,KAAM,CACjC,MAAMqG,EAAO,OAAOrH,EAAGL,CAAG,EACtB0H,IAAS,UACXrG,EAAQ2C,GAAmB3C,CAAK,EACvBA,GAAS,MAAQqG,IAAS,UACnCrG,EAAQ,GACRq9B,EAAa,IACJh3B,IAAS,WAClBrG,EAAQ,EACRq9B,EAAa,GAEhB,CACD,GAAI,CACFr+B,EAAGL,CAAG,EAAIqB,CACX,MAAW,CAOX,CACDq9B,GAAcr+B,EAAG,gBAAgBL,CAAG,CACtC,CAEA,SAAS2+B,GAAiBt+B,EAAIkT,EAAOQ,EAASY,EAAS,CACrDtU,EAAG,iBAAiBkT,EAAOQ,EAASY,CAAO,CAC7C,CACA,SAASiqB,GAAoBv+B,EAAIkT,EAAOQ,EAASY,EAAS,CACxDtU,EAAG,oBAAoBkT,EAAOQ,EAASY,CAAO,CAChD,CACA,MAAMkqB,GAAS,OAAO,MAAM,EAC5B,SAASC,GAAWz+B,EAAIg+B,EAASU,EAAWC,EAAWxuB,EAAW,KAAM,CACtE,MAAMyuB,EAAW5+B,EAAGw+B,EAAM,IAAMx+B,EAAGw+B,EAAM,EAAI,IACvCK,EAAkBD,EAASZ,CAAO,EACxC,GAAIW,GAAaE,EACfA,EAAgB,MAAQF,MACnB,CACL,KAAM,CAACn7B,EAAM8Q,CAAO,EAAIwqB,GAAUd,CAAO,EACzC,GAAIW,EAAW,CACb,MAAMI,EAAUH,EAASZ,CAAO,EAAIgB,GAAcL,EAAWxuB,CAAQ,EACrEmuB,GAAiBt+B,EAAIwD,EAAMu7B,EAASzqB,CAAO,CAC5C,MAAUuqB,IACTN,GAAoBv+B,EAAIwD,EAAMq7B,EAAiBvqB,CAAO,EACtDsqB,EAASZ,CAAO,EAAI,OAEvB,CACH,CACA,MAAMiB,GAAoB,4BAC1B,SAASH,GAAUt7B,EAAM,CACvB,IAAI8Q,EACJ,GAAI2qB,GAAkB,KAAKz7B,CAAI,EAAG,CAChC8Q,EAAU,GACV,IAAIgT,EACJ,KAAOA,EAAI9jB,EAAK,MAAMy7B,EAAiB,GACrCz7B,EAAOA,EAAK,MAAM,EAAGA,EAAK,OAAS8jB,EAAE,CAAC,EAAE,MAAM,EAC9ChT,EAAQgT,EAAE,CAAC,EAAE,YAAa,GAAI,EAEjC,CAED,MAAO,CADO9jB,EAAK,CAAC,IAAM,IAAMA,EAAK,MAAM,CAAC,EAAI3B,GAAU2B,EAAK,MAAM,CAAC,CAAC,EACxD8Q,CAAO,CACxB,CACA,IAAI4qB,GAAY,EAChB,MAAMxtB,GAAoB,QAAQ,UAC5BytB,GAAS,IAAMD,KAAcxtB,GAAE,KAAK,IAAMwtB,GAAY,CAAC,EAAGA,GAAY,KAAK,IAAK,GACtF,SAASF,GAAcI,EAAcjvB,EAAU,CAC7C,MAAM4uB,EAAWjH,GAAM,CACrB,GAAI,CAACA,EAAE,KACLA,EAAE,KAAO,KAAK,cACLA,EAAE,MAAQiH,EAAQ,SAC3B,OAEFzuB,GACE+uB,GAA8BvH,EAAGiH,EAAQ,KAAK,EAC9C5uB,EACA,EACA,CAAC2nB,CAAC,CACR,CACA,EACE,OAAAiH,EAAQ,MAAQK,EAChBL,EAAQ,SAAWI,KACZJ,CACT,CACA,SAASM,GAA8BvH,EAAG92B,EAAO,CAC/C,GAAIZ,GAAQY,CAAK,EAAG,CAClB,MAAMs+B,EAAexH,EAAE,yBACvB,OAAAA,EAAE,yBAA2B,IAAM,CACjCwH,EAAa,KAAKxH,CAAC,EACnBA,EAAE,SAAW,EACnB,EACW92B,EAAM,IAAKM,GAAQqxB,GAAO,CAACA,EAAG,UAAYrxB,GAAMA,EAAGqxB,CAAE,CAAC,CACjE,KACI,QAAO3xB,CAEX,CAEA,MAAMu+B,GAAa,WACbC,GAAY,CAACx/B,EAAIL,EAAK++B,EAAWC,EAAWpf,EAAQ,GAAOpI,EAAc4W,EAAiBhP,EAAgBsQ,IAAoB,CAC9H1vB,IAAQ,QACVu9B,GAAWl9B,EAAI2+B,EAAWpf,CAAK,EACtB5f,IAAQ,QACjB49B,GAAWv9B,EAAI0+B,EAAWC,CAAS,EAC1Bj/B,GAAKC,CAAG,EACZC,GAAgBD,CAAG,GACtB8+B,GAAWz+B,EAAIL,EAAK++B,EAAWC,EAAW5Q,CAAe,GAElDpuB,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAQA,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAS8/B,GAAgBz/B,EAAIL,EAAKg/B,EAAWpf,CAAK,GAC/I6e,GACEp+B,EACAL,EACAg/B,EACAxnB,EACA4W,EACAhP,EACAsQ,CACN,GAEQ1vB,IAAQ,aACVK,EAAG,WAAa2+B,EACPh/B,IAAQ,gBACjBK,EAAG,YAAc2+B,GAEnBT,GAAUl+B,EAAIL,EAAKg/B,EAAWpf,CAAK,EAEvC,EACA,SAASkgB,GAAgBz/B,EAAIL,EAAKqB,EAAOue,EAAO,CAC9C,OAAIA,EACE,GAAA5f,IAAQ,aAAeA,IAAQ,eAG/BA,KAAOK,GAAMu/B,GAAW,KAAK5/B,CAAG,GAAKe,GAAWM,CAAK,GAKvDrB,IAAQ,cAAgBA,IAAQ,aAAeA,IAAQ,aAGvDA,IAAQ,QAGRA,IAAQ,QAAUK,EAAG,UAAY,SAGjCL,IAAQ,QAAUK,EAAG,UAAY,YAGjCu/B,GAAW,KAAK5/B,CAAG,GAAKgB,GAASK,CAAK,EACjC,GAEFrB,KAAOK,CAChB,CAgTA,MAAM0/B,GAA8B,IAAI,QAClCC,GAAiC,IAAI,QACrCC,GAAY,OAAO,SAAS,EAC5BjlB,GAAa,OAAO,UAAU,EAC9BklB,GAAsB,CAC1B,KAAM,kBACN,MAAuBhgC,GAAO,CAAE,EAAEg6B,GAA2B,CAC3D,IAAK,OACL,UAAW,MACf,CAAG,EACD,MAAMzmB,EAAO,CAAE,MAAAsC,GAAS,CACtB,MAAMvF,EAAWgL,KACXN,EAAQD,KACd,IAAIzD,EACAkE,EACJ,OAAAkF,GAAU,IAAM,CACd,GAAI,CAACpJ,EAAa,OAChB,OAEF,MAAM2oB,EAAY1sB,EAAM,WAAa,GAAGA,EAAM,MAAQ,GAAG,QACzD,GAAI,CAAC2sB,GACH5oB,EAAa,CAAC,EAAE,GAChBhH,EAAS,MAAM,GACf2vB,CACR,EACQ,OAEF3oB,EAAa,QAAQ6oB,EAAc,EACnC7oB,EAAa,QAAQ8oB,EAAc,EACnC,MAAMC,EAAgB/oB,EAAa,OAAOgpB,EAAgB,EAC1D5E,KACA2E,EAAc,QAAS,GAAM,CAC3B,MAAMlgC,EAAK,EAAE,GACPk2B,EAAQl2B,EAAG,MACjBq7B,GAAmBr7B,EAAI8/B,CAAS,EAChC5J,EAAM,UAAYA,EAAM,gBAAkBA,EAAM,mBAAqB,GACrE,MAAMzjB,EAAKzS,EAAG4/B,EAAS,EAAK9H,GAAM,CAC5BA,GAAKA,EAAE,SAAW93B,IAGlB,CAAC83B,GAAK,aAAa,KAAKA,EAAE,YAAY,KACxC93B,EAAG,oBAAoB,gBAAiByS,CAAE,EAC1CzS,EAAG4/B,EAAS,EAAI,KAChB3E,GAAsBj7B,EAAI8/B,CAAS,EAE/C,EACQ9/B,EAAG,iBAAiB,gBAAiByS,CAAE,CAC/C,CAAO,CACP,CAAK,EACM,IAAM,CACX,MAAM+I,EAAW9S,GAAM0K,CAAK,EACtBgtB,EAAqBzG,GAAuBne,CAAQ,EAC1D,IAAIyd,EAAMzd,EAAS,KAAOgD,GAC1BrH,EAAekE,EACfA,EAAW3F,EAAM,QAAU4F,GAAyB5F,EAAM,QAAO,CAAE,EAAI,GACvE,QAASzV,EAAI,EAAGA,EAAIob,EAAS,OAAQpb,IAAK,CACxC,MAAMsb,EAAQF,EAASpb,CAAC,EACpBsb,EAAM,KAAO,MACfQ,GACER,EACAO,GAAuBP,EAAO6kB,EAAoBvlB,EAAO1K,CAAQ,CAC7E,CAIO,CACD,GAAIgH,EACF,QAASlX,EAAI,EAAGA,EAAIkX,EAAa,OAAQlX,IAAK,CAC5C,MAAMsb,EAAQpE,EAAalX,CAAC,EAC5B8b,GACER,EACAO,GAAuBP,EAAO6kB,EAAoBvlB,EAAO1K,CAAQ,CAC7E,EACUuvB,GAAY,IAAInkB,EAAOA,EAAM,GAAG,sBAAqB,CAAE,CACxD,CAEH,OAAOhF,GAAY0iB,EAAK,KAAM5d,CAAQ,CAC5C,CACG,CACH,EACMglB,GAAcjtB,GAAU,OAAOA,EAAM,KAChBysB,GAAoB,MAC/C,MAAMS,GAAkBT,GACxB,SAASG,GAAer+B,EAAG,CACzB,MAAM3B,EAAK2B,EAAE,GACT3B,EAAG4/B,EAAS,GACd5/B,EAAG4/B,EAAS,IAEV5/B,EAAG2a,EAAU,GACf3a,EAAG2a,EAAU,GAEjB,CACA,SAASslB,GAAet+B,EAAG,CACzBg+B,GAAe,IAAIh+B,EAAGA,EAAE,GAAG,sBAAqB,CAAE,CACpD,CACA,SAASw+B,GAAiBx+B,EAAG,CAC3B,MAAM4+B,EAASb,GAAY,IAAI/9B,CAAC,EAC1B6+B,EAASb,GAAe,IAAIh+B,CAAC,EAC7B8+B,EAAKF,EAAO,KAAOC,EAAO,KAC1BE,EAAKH,EAAO,IAAMC,EAAO,IAC/B,GAAIC,GAAMC,EAAI,CACZ,MAAM5nB,EAAInX,EAAE,GAAG,MACf,OAAAmX,EAAE,UAAYA,EAAE,gBAAkB,aAAa2nB,CAAE,MAAMC,CAAE,MACzD5nB,EAAE,mBAAqB,KAChBnX,CACR,CACH,CACA,SAASo+B,GAAgB//B,EAAIyW,EAAMqpB,EAAW,CAC5C,MAAMa,EAAQ3gC,EAAG,YACX07B,EAAO17B,EAAGy5B,EAAM,EAClBiC,GACFA,EAAK,QAASD,GAAQ,CACpBA,EAAI,MAAM,KAAK,EAAE,QAAS,GAAM,GAAKkF,EAAM,UAAU,OAAO,CAAC,CAAC,CACpE,CAAK,EAEHb,EAAU,MAAM,KAAK,EAAE,QAASn+B,GAAMA,GAAKg/B,EAAM,UAAU,IAAIh/B,CAAC,CAAC,EACjEg/B,EAAM,MAAM,QAAU,OACtB,MAAMthB,EAAY5I,EAAK,WAAa,EAAIA,EAAOA,EAAK,WACpD4I,EAAU,YAAYshB,CAAK,EAC3B,KAAM,CAAE,aAAA7D,CAAY,EAAKb,GAAkB0E,CAAK,EAChD,OAAAthB,EAAU,YAAYshB,CAAK,EACpB7D,CACT,CAEA,MAAM8D,GAAoBrrB,GAAU,CAClC,MAAMjU,EAAKiU,EAAM,MAAM,qBAAqB,GAAK,GACjD,OAAOnV,GAAQkB,CAAE,EAAKN,GAAUkB,GAAeZ,EAAIN,CAAK,EAAIM,CAC9D,EAWMu/B,GAAY,OAAO,SAAS,EAqD5BC,GAAiB,CAErB,KAAM,GACN,QAAQ9gC,EAAI0B,EAAG6T,EAAO,CACpBvV,EAAG6gC,EAAS,EAAID,GAAiBrrB,CAAK,EACtC+oB,GAAiBt+B,EAAI,SAAU,IAAM,CACnC,MAAM+gC,EAAa/gC,EAAG,YAChBghC,EAAeC,GAASjhC,CAAE,EAC1BkhC,EAAUlhC,EAAG,QACbmhC,EAASnhC,EAAG6gC,EAAS,EAC3B,GAAIzgC,GAAQ2gC,CAAU,EAAG,CACvB,MAAM/d,EAAQze,GAAaw8B,EAAYC,CAAY,EAC7CI,EAAQpe,IAAU,GACxB,GAAIke,GAAW,CAACE,EACdD,EAAOJ,EAAW,OAAOC,CAAY,CAAC,UAC7B,CAACE,GAAWE,EAAO,CAC5B,MAAMC,EAAW,CAAC,GAAGN,CAAU,EAC/BM,EAAS,OAAOre,EAAO,CAAC,EACxBme,EAAOE,CAAQ,CAChB,CACT,SAAiB9gC,GAAMwgC,CAAU,EAAG,CAC5B,MAAMjL,EAAS,IAAI,IAAIiL,CAAU,EAC7BG,EACFpL,EAAO,IAAIkL,CAAY,EAEvBlL,EAAO,OAAOkL,CAAY,EAE5BG,EAAOrL,CAAM,CACrB,MACQqL,EAAOG,GAAiBthC,EAAIkhC,CAAO,CAAC,CAE5C,CAAK,CACF,EAED,QAASK,GACT,aAAavhC,EAAIwa,EAASjF,EAAO,CAC/BvV,EAAG6gC,EAAS,EAAID,GAAiBrrB,CAAK,EACtCgsB,GAAWvhC,EAAIwa,EAASjF,CAAK,CAC9B,CACH,EACA,SAASgsB,GAAWvhC,EAAI,CAAE,MAAAgB,EAAO,SAAAiB,CAAQ,EAAIsT,EAAO,CAClDvV,EAAG,YAAcgB,EACbZ,GAAQY,CAAK,EACfhB,EAAG,QAAUuE,GAAavD,EAAOuU,EAAM,MAAM,KAAK,EAAI,GAC7ChV,GAAMS,CAAK,EACpBhB,EAAG,QAAUgB,EAAM,IAAIuU,EAAM,MAAM,KAAK,EAC/BvU,IAAUiB,IACnBjC,EAAG,QAAUgE,GAAWhD,EAAOsgC,GAAiBthC,EAAI,EAAI,CAAC,EAE7D,CAwEA,SAASihC,GAASjhC,EAAI,CACpB,MAAO,WAAYA,EAAKA,EAAG,OAASA,EAAG,KACzC,CACA,SAASshC,GAAiBthC,EAAIkhC,EAAS,CACrC,MAAMvhC,EAAMuhC,EAAU,aAAe,cACrC,OAAOvhC,KAAOK,EAAKA,EAAGL,CAAG,EAAIuhC,CAC/B,CA2EA,MAAMM,GAAkB,CAAC,OAAQ,QAAS,MAAO,MAAM,EACjDC,GAAiB,CACrB,KAAO3J,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,EAAGzd,IAAcmnB,GAAgB,KAAMla,GAAMwQ,EAAE,GAAGxQ,CAAC,KAAK,GAAK,CAACjN,EAAU,SAASiN,CAAC,CAAC,CAC7F,EACMoa,GAAgB,CAACpgC,EAAI+Y,IAClB,CAACnH,KAAUzK,IAAS,CACzB,QAAS,EAAI,EAAG,EAAI4R,EAAU,OAAQ,IAAK,CACzC,MAAMsnB,EAAQF,GAAepnB,EAAU,CAAC,CAAC,EACzC,GAAIsnB,GAASA,EAAMzuB,EAAOmH,CAAS,EACjC,MACH,CACD,OAAO/Y,EAAG4R,EAAO,GAAGzK,CAAI,CAC5B,EAEMm5B,GAAW,CACf,IAAK,SACL,MAAO,IACP,GAAI,WACJ,KAAM,aACN,MAAO,cACP,KAAM,aACN,OAAQ,WACV,EACMC,GAAW,CAACvgC,EAAI+Y,IACZnH,GAAU,CAChB,GAAI,EAAE,QAASA,GACb,OAEF,MAAM4uB,EAAWjgC,GAAUqR,EAAM,GAAG,EACpC,GAAImH,EAAU,KAAM0nB,GAAMA,IAAMD,GAAYF,GAASG,CAAC,IAAMD,CAAQ,EAClE,OAAOxgC,EAAG4R,CAAK,CAErB,EAGM8uB,GAAkCniC,GAAO,CAAE,UAAA2/B,EAAW,EAAExG,EAAO,EACrE,IAAIiJ,GAEJ,SAASC,IAAiB,CACxB,OAAOD,KAAaA,GAAWnV,GAAekV,EAAe,EAC/D,CAYA,MAAMG,GAAY,IAAI15B,IAAS,CAC7B,MAAMogB,EAAMqZ,GAAc,EAAG,UAAU,GAAGz5B,CAAI,EAKxC,CAAE,MAAA25B,CAAO,EAAGvZ,EAClB,OAAAA,EAAI,MAASwZ,GAAwB,CACnC,MAAMhjB,EAAYijB,GAAmBD,CAAmB,EACxD,GAAI,CAAChjB,EACH,OACF,MAAMjI,EAAYyR,EAAI,WAClB,CAACnoB,GAAW0W,CAAS,GAAK,CAACA,EAAU,QAAU,CAACA,EAAU,WAC5DA,EAAU,SAAWiI,EAAU,WAEjCA,EAAU,UAAY,GACtB,MAAM9R,EAAQ60B,EAAM/iB,EAAW,GAAOA,aAAqB,UAAU,EACrE,OAAIA,aAAqB,UACvBA,EAAU,gBAAgB,SAAS,EACnCA,EAAU,aAAa,aAAc,EAAE,GAElC9R,CACX,EACSsb,CACT,EAmDA,SAASyZ,GAAmBjjB,EAAW,CACrC,OAAI1e,GAAS0e,CAAS,EACR,SAAS,cAAcA,CAAS,EAavCA,CACT,khUCn/CekjB,GAAA,mBCAFzZ,GAAU,UCAV0Z,GAAsD,CAACxhC,EAAOyhC,EAASC,KACzE,CAAE,QAAAD,EAAS,WAAAC,EAAY,KAAM,yBAA0B,MAAA1hC,CAAK,GCD1D2hC,GAAiD,CAAC3hC,EAAOyhC,EAASC,KACpE,CAAE,QAAAD,EAAS,WAAAC,EAAY,KAAM,oBAAqB,MAAA1hC,CAAK,GCDrD4hC,GAAgC,CAAC5hC,EAAO6hC,KAC1C,CAAE,UAAAA,EAAW,KAAM,WAAY,MAAA7hC,CAAK,GCDlC8hC,GAAqC,CAACvyB,EAAQsyB,EAAW5I,KAC3D,CAAE,SAAAA,EAAU,UAAA4I,EAAW,KAAM,gBAAiB,OAAAtyB,CAAM,GCDlDwyB,GAAuB,CAACC,EAAMC,EAAkB,CAAE,UAAAJ,EAAW,OAAAz7B,EAAQ,aAAA87B,KACvE97B,GAAU67B,EAAmB77B,GAAU,KAAK,KAAKy7B,EAAYG,GAAQE,CAAY,ECD/EC,GAA2CC,GAC7CA,EAAgB,OAAS,yBCDvBC,GAAsCD,GACxCA,EAAgB,OAAS,oBCCvBE,GAAmCF,GACrCD,GAAwCC,CAAe,GAAKC,GAAmCD,CAAe,ECH5GG,GAA6BH,GAC/BA,EAAgB,OAAS,WCDvBI,GAAkCJ,GACpCA,EAAgB,OAAS,gBCGvBK,GAAyC,CAACC,EAAkB1gB,EAAOggB,EAAM1zB,IAAiB,CACnG,MAAM8zB,EAAkBM,EAAiB1gB,CAAK,EAC9C,OAAOogB,IAAoB,OACrB9zB,EACAg0B,GAAgCF,CAAe,GAAKG,GAA0BH,CAAe,EACzFA,EAAgB,MAChBI,GAA+BJ,CAAe,EAC1CA,EAAgB,OAAOA,EAAgB,OAAO,OAAS,CAAC,EACxDL,GAAqBC,EAAMS,GAAuCC,EAAkB1gB,EAAQ,EAAGogB,EAAgB,UAAW9zB,CAAY,EAAG8zB,CAAe,CAC1K,ECTaO,GAA8C,CAACD,EAAkB1gB,EAAO4gB,EAAwBC,EAAqBv0B,IACvHs0B,IAA2B,OAC5B,CAACC,EAAoB,WAAYv0B,CAAY,EAC7Cg0B,GAAgCM,CAAsB,EAClD,CAACA,EAAuB,QAASA,EAAuB,KAAK,EAC7DL,GAA0BK,CAAsB,EAC5C,CAACA,EAAuB,UAAWA,EAAuB,KAAK,EAC/DJ,GAA+BI,CAAsB,EACjD,CACEA,EAAuB,UAAYA,EAAuB,SAC1DA,EAAuB,OAAOA,EAAuB,OAAO,OAAS,CAAC,CACzE,EACC,CACEA,EAAuB,UACvBH,GAAuCC,EAAkB1gB,EAAQ,EAAG4gB,EAAuB,UAAWt0B,CAAY,CAC1I,ECnBaw0B,GAAkCV,GACpCA,EAAgB,OAAS,gBCDvBW,GAA0CX,GAC5CA,EAAgB,OAAS,wBCGvBY,GAAgBZ,GACrBU,GAA+BV,CAAe,GAAKW,GAAuCX,CAAe,EAClGA,EAAgB,WAEvBD,GAAwCC,CAAe,GAAKC,GAAmCD,CAAe,EACvGA,EAAgB,QAEpBA,EAAgB,UCXda,GAAgC,CAACjB,EAAMH,EAAWI,EAAkB,CAAE,QAAAR,EAAS,MAAAzhC,KACpFiiC,IAAqBjiC,EACdA,EAEN,EAAIiiC,GAAoB,EAAIjiC,GAAWiiC,EAAmB,GAAKjiC,EAAQ,EACjEiiC,GAAoBjiC,EAAQiiC,MAAuBD,EAAOH,IAAcJ,EAAUI,IAEtF,ECPEqB,GAA2B,CAAClB,EAAMH,EAAWI,EAAkB,CAAE,QAAAR,EAAS,MAAAzhC,KAC5EiiC,GAAqBD,EAAOH,IAAcJ,EAAUI,IAAe7hC,EAAQiiC,GCDzEkB,GAAmB,CAAC5zB,EAAQ6zB,IAAmB,CACxD,MAAMC,EAAa,KAAK,MAAMD,CAAc,EACtCE,EAAa,KAAK,KAAKF,CAAc,EAC3C,OAAIC,IAAeC,EACR/zB,EAAO8zB,CAAU,GAEpB,GAAKD,EAAiBC,IAAe9zB,EAAO8zB,CAAU,GAAK,GAAKC,EAAaF,IAAmB7zB,EAAO+zB,CAAU,CAC7H,ECNaC,GAA2B,CAACvB,EAAM,CAAE,SAAA/I,EAAU,UAAA4I,EAAW,OAAAtyB,CAAM,IAAO,CAC/E,MAAM6zB,GAAmBpB,EAAOH,GAAa5I,GAAa1pB,EAAO,OAAS,GAC1E,OAAO4zB,GAAiB5zB,EAAQ6zB,CAAc,CAClD,ECJaI,GAA8BpB,GAChCA,EAAgB,OAAS,YCkB7B,MAAMqB,EAAoB,CAC7B,YAAYn1B,EAAc,CACtB,KAAK,kBAAoB,GACzB,KAAK,YAAc,EACnB,KAAK,cAAgBA,CACxB,CACD,CAAC,OAAO,QAAQ,GAAI,CAChB,OAAO,KAAK,kBAAkB,OAAO,QAAQ,EAAC,CACjD,CACD,IAAI8zB,EAAiB,CACjB,MAAMsB,EAAYV,GAAaZ,CAAe,EAC9C,GAAIU,GAA+BV,CAAe,GAAKW,GAAuCX,CAAe,EAAG,CAC5G,MAAMpgB,EAAQ,KAAK,kBAAkB,UAAW4gB,GACxCG,GAAuCX,CAAe,GAAKI,GAA+BI,CAAsB,EACzGA,EAAuB,UAAYA,EAAuB,UAAYc,EAE1EV,GAAaJ,CAAsB,GAAKc,CAClD,EACKC,EAAyB,KAAK,kBAAkB3hB,CAAK,EAI3D,GAHIA,IAAU,KACV,KAAK,kBAAoB,KAAK,kBAAkB,MAAM,EAAGA,CAAK,GAE9D8gB,GAA+BV,CAAe,EAAG,CACjD,MAAMwB,EAAsB,KAAK,kBAAkB,KAAK,kBAAkB,OAAS,CAAC,EACpF,GAAID,IAA2B,QAAarB,GAAgCqB,CAAsB,EAAG,CACjG,GAAIH,GAA2BI,CAAmB,EAC9C,MAAM,IAAI,MAAM,iCAAiC,EAErD,MAAM/B,EAAYW,GAA+BoB,CAAmB,EAC9DA,EAAoB,UAAYA,EAAoB,SACpDZ,GAAaY,CAAmB,EAChCC,EAAarB,GAA+BoB,CAAmB,EAC/DA,EAAoB,OAAOA,EAAoB,OAAO,OAAS,CAAC,EAChEA,EAAoB,MACpB5jC,EAAQmiC,GAAwCwB,CAAsB,EACtEV,GAA8BS,EAAW7B,EAAWgC,EAAYF,CAAsB,EACtFT,GAAyBQ,EAAW7B,EAAWgC,EAAYF,CAAsB,EACjFG,EAA2B3B,GAAwCwB,CAAsB,EACzFnC,GAAoDxhC,EAAO0jC,EAAW,KAAK,WAAW,EACtF/B,GAA+C3hC,EAAO0jC,EAAW,KAAK,WAAW,EACvF,KAAK,kBAAkB,KAAKI,CAAwB,CACvD,CACGF,IAAwB,QAAaJ,GAA2BI,CAAmB,GACnF,KAAK,kBAAkB,KAAKhC,GAA8B,KAAK,SAAS8B,CAAS,EAAGA,CAAS,CAAC,EAE9FE,IAAwB,QACxBpB,GAA+BoB,CAAmB,GAClDA,EAAoB,UAAYA,EAAoB,SAAWF,IAC/D,KAAK,kBAAkB,KAAK,kBAAkB,OAAS,CAAC,EAAI5B,GAAmC,IAAI,aAAa,CAAC,EAAG,CAAC,CAAC,EAAG8B,EAAoB,UAAWF,EAAYE,EAAoB,SAAS,EAExM,CACJ,KACI,CACD,MAAM5hB,EAAQ,KAAK,kBAAkB,UAAW4gB,GAA2BI,GAAaJ,CAAsB,EAAIc,CAAS,EACrHK,EAA0B/hB,IAAU,GAAK,KAAK,kBAAkB,KAAK,kBAAkB,OAAS,CAAC,EAAI,KAAK,kBAAkBA,EAAQ,CAAC,EAC3I,GAAI+hB,IAA4B,QAC5BvB,GAA+BuB,CAAuB,GACtDf,GAAae,CAAuB,EAAIA,EAAwB,SAAWL,EAC3E,MAAO,GAEX,MAAMM,EAA4B7B,GAAwCC,CAAe,EACnFZ,GAAoDY,EAAgB,MAAOA,EAAgB,QAAS,KAAK,WAAW,EACpHC,GAAmCD,CAAe,EAC9CT,GAA+CS,EAAgB,MAAOsB,EAAW,KAAK,WAAW,EACjGtB,EACV,GAAIpgB,IAAU,GACV,KAAK,kBAAkB,KAAKgiB,CAAyB,MAEpD,CACD,GAAIxB,GAA+BJ,CAAe,GAC9CsB,EAAYtB,EAAgB,SAAWY,GAAa,KAAK,kBAAkBhhB,CAAK,CAAC,EACjF,MAAO,GAEX,KAAK,kBAAkB,OAAOA,EAAO,EAAGgiB,CAAyB,CACpE,CACJ,CACD,MAAO,EACV,CACD,MAAMhC,EAAM,CACR,MAAMhgB,EAAQ,KAAK,kBAAkB,UAAW4gB,GAA2BI,GAAaJ,CAAsB,EAAIZ,CAAI,EACtH,GAAIhgB,EAAQ,EAAG,CACX,MAAMiiB,EAA4B,KAAK,kBAAkB,MAAMjiB,EAAQ,CAAC,EAClEkiB,EAAgCD,EAA0B,CAAC,EAC7DT,GAA2BU,CAA6B,GACxDD,EAA0B,QAAQrC,GAA8Ba,GAAuC,KAAK,kBAAmBzgB,EAAQ,EAAGkiB,EAA8B,UAAW,KAAK,aAAa,EAAGA,EAA8B,SAAS,CAAC,EAEpP,KAAK,kBAAoBD,CAC5B,CACJ,CACD,SAASjC,EAAM,CACX,GAAI,KAAK,kBAAkB,SAAW,EAClC,OAAO,KAAK,cAEhB,MAAMmC,EAAmB,KAAK,kBAAkB,UAAW/B,GAAoBY,GAAaZ,CAAe,EAAIJ,CAAI,EAC7Ga,EAAsB,KAAK,kBAAkBsB,CAAgB,EAC7DC,GAAuBD,IAAqB,GAAK,KAAK,kBAAkB,OAASA,GAAoB,EACrGvB,EAAyB,KAAK,kBAAkBwB,CAAmB,EACzE,GAAIxB,IAA2B,QAC3BY,GAA2BZ,CAAsB,IAChDC,IAAwB,QACrB,CAACP,GAAgCO,CAAmB,GACpDA,EAAoB,WAAab,GACrC,OAAOD,GAAqBC,EAAMS,GAAuC,KAAK,kBAAmB2B,EAAsB,EAAGxB,EAAuB,UAAW,KAAK,aAAa,EAAGA,CAAsB,EAE3M,GAAIA,IAA2B,QAC3BL,GAA0BK,CAAsB,IAC/CC,IAAwB,QAAa,CAACP,GAAgCO,CAAmB,GAC1F,OAAOD,EAAuB,MAElC,GAAIA,IAA2B,QAC3BJ,GAA+BI,CAAsB,IACpDC,IAAwB,QACrB,CAACP,GAAgCO,CAAmB,GACpDD,EAAuB,UAAYA,EAAuB,SAAWZ,GACzE,OAAIA,EAAOY,EAAuB,UAAYA,EAAuB,SAC1DW,GAAyBvB,EAAMY,CAAsB,EAEzDA,EAAuB,OAAOA,EAAuB,OAAO,OAAS,CAAC,EAEjF,GAAIA,IAA2B,QAC3BN,GAAgCM,CAAsB,IACrDC,IAAwB,QAAa,CAACP,GAAgCO,CAAmB,GAC1F,OAAOD,EAAuB,MAElC,GAAIC,IAAwB,QAAaV,GAAwCU,CAAmB,EAAG,CACnG,KAAM,CAAChB,EAAW7hC,CAAK,EAAI2iC,GAA4C,KAAK,kBAAmByB,EAAqBxB,EAAwBC,EAAqB,KAAK,aAAa,EACnL,OAAOI,GAA8BjB,EAAMH,EAAW7hC,EAAO6iC,CAAmB,CACnF,CACD,GAAIA,IAAwB,QAAaR,GAAmCQ,CAAmB,EAAG,CAC9F,KAAM,CAAChB,EAAW7hC,CAAK,EAAI2iC,GAA4C,KAAK,kBAAmByB,EAAqBxB,EAAwBC,EAAqB,KAAK,aAAa,EACnL,OAAOK,GAAyBlB,EAAMH,EAAW7hC,EAAO6iC,CAAmB,CAC9E,CACD,OAAO,KAAK,aACf,CACL,CCzJO,MAAMwB,GAAsCC,IACxC,CAAE,WAAAA,EAAY,KAAM,kBCDlBC,GAA8CD,IAChD,CAAE,WAAAA,EAAY,KAAM,0BCDlBE,GAA8C,CAACxkC,EAAOyhC,KACxD,CAAE,QAAAA,EAAS,KAAM,yBAA0B,MAAAzhC,CAAK,GCD9CykC,GAAyC,CAACzkC,EAAOyhC,KACnD,CAAE,QAAAA,EAAS,KAAM,oBAAqB,MAAAzhC,CAAK,GCDzC0kC,GAAiC,CAACt+B,EAAQy7B,EAAWK,KACvD,CAAE,UAAAL,EAAW,OAAAz7B,EAAQ,aAAA87B,EAAc,KAAM,WAAW,GCDlDyC,GAAmB,IAAM,IAAI,aAAa,GAAI,YAAY,ECA1DC,GAA6CC,GAC/C,CAACC,EAAcz2B,EAAQ,CAAC02B,EAAQC,EAAOC,CAAa,EAAGC,IAAqB,CAC/EL,EAAmBC,EAAaE,CAAK,EAAG,CAAC32B,EAAQ02B,EAAQE,CAAa,EAAIE,GAA0BA,EAAsB,CAAC,IAAM92B,GAAU82B,EAAsB,CAAC,IAAMJ,EAAQG,CAAgB,CACxM,ECHaE,GAAiCC,GACnC,CAACC,EAAWC,EAAmBC,IAAoB,CACtD,MAAMV,EAAe,GACrB,QAAS7lC,EAAI,EAAGA,EAAIumC,EAAgB,eAAgBvmC,GAAK,EACrD6lC,EAAa,KAAK,IAAI,GAAK,EAE/BO,EAA0B,IAAIC,EAAW,CACrC,aAAAR,EACA,QAAS,IAAI,IACb,cAAe,IAAI,QACnB,SAAUS,CACtB,CAAS,CACT,ECZaE,GAAkCC,GACpC,CAACC,EAAYC,IAAuB,CACvCF,EAA2B,IAAIC,EAAY,CAAE,aAAc,IAAI,IAAO,cAAe,IAAI,QAAW,SAAUC,CAAoB,EAC1I,ECHaC,GAA0B,IAAI,QAC9BC,GAA+B,IAAI,QACnCC,GAAmB,IAAI,QACvBC,GAAgC,IAAI,QACpCC,GAAoB,IAAI,QACxBC,GAAgB,IAAI,QACpBC,GAAkB,IAAI,QACtBC,GAAiB,IAAI,QAErBC,GAA0C,IAAI,QAC9CC,GAAyB,IAAI,QCVpC5zB,GAAU,CACZ,WAAY,CACR,OAAOA,EACV,CACL,EACa6zB,GAAmBC,GAAkB,CAC9C,GAAI,CACA,MAAMj6B,EAAQ,IAAI,MAAMi6B,EAAe9zB,EAAO,EAC9C,IAAInG,CACP,MACK,CACF,MAAO,EACV,CACD,MAAO,EACX,ECFMk6B,GAAyB,uPAClBC,GAAwB,CAACr4B,EAAQs4B,IAAQ,CAClD,MAAMC,EAAmB,GACzB,IAAIC,EAAgCx4B,EAAO,QAAQ,SAAU,EAAE,EAC3DxF,EAASg+B,EAA8B,MAAMJ,EAAsB,EACvE,KAAO59B,IAAW,MAAM,CACpB,MAAMi+B,EAAgBj+B,EAAO,CAAC,EAAE,MAAM,EAAG,EAAE,EACrCk+B,EAAiCl+B,EAAO,CAAC,EAC1C,QAAQ,cAAe,EAAE,EACzB,QAAQi+B,EAAe,IAAI,IAAIA,EAAeH,CAAG,EAAE,SAAQ,CAAE,EAClEC,EAAiB,KAAKG,CAA8B,EACpDF,EAAgCA,EAA8B,MAAMh+B,EAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAU,EAAE,EAC1GA,EAASg+B,EAA8B,MAAMJ,EAAsB,CACtE,CACD,MAAO,CAACG,EAAiB,KAAK,GAAG,EAAGC,CAA6B,CACrE,ECxBMG,GAA8BC,GAAyB,CACzD,GAAIA,IAAyB,QAAa,CAAC,MAAM,QAAQA,CAAoB,EACzE,MAAM,IAAI,UAAU,qFAAqF,CAEjH,EACMC,GAAuBC,GAAkB,CAC3C,GAAI,CAACZ,GAAgBY,CAAa,EAC9B,MAAM,IAAI,UAAU,4DAA4D,EAEpF,GAAIA,EAAc,YAAc,MAAQ,OAAOA,EAAc,WAAc,SACvE,MAAM,IAAI,UAAU,4DAA4D,CAExF,EACaC,GAA8B,CAACC,EAAiBC,EAAyBC,EAAgBC,EAAkCC,EAAaC,EAAkBC,EAAsCC,EAA6BC,EAAmCC,EAAiBC,EAAkBC,EAA6CC,IAAW,CACpW,IAAIjmB,EAAQ,EACZ,MAAO,CAAC0F,EAASwgB,EAAW50B,EAAU,CAAE,YAAa,UAAa,CAC9D,MAAM60B,EAA4BJ,EAAiB,IAAIrgB,CAAO,EAC9D,GAAIygB,IAA8B,QAAaA,EAA0B,IAAID,CAAS,EAClF,OAAO,QAAQ,UAEnB,MAAME,EAA2BN,EAAgB,IAAIpgB,CAAO,EAC5D,GAAI0gB,IAA6B,OAAW,CACxC,MAAMC,EAA0BD,EAAyB,IAAIF,CAAS,EACtE,GAAIG,IAA4B,OAC5B,OAAOA,CAEd,CACD,MAAMC,EAAgBZ,EAAiBhgB,CAAO,EAExC6gB,EAAUD,EAAc,eAAiB,OACzCb,EAAYS,CAAS,EAClB,KAAK,CAAC,CAAC75B,EAAQm6B,CAAW,IAAM,CACjC,KAAM,CAAC5B,EAAkBC,CAA6B,EAAIH,GAAsBr4B,EAAQm6B,CAAW,EAgB7FC,EAAgB,GAAG7B,CAAgB,4GAA4GC,CAA6B;AAAA,sBAGlL,OAAOU,EAAekB,CAAa,CACnD,CAAa,EACI,KAAK,IAAM,CACZ,MAAMC,EAAkCT,EAAO,MAAM,IAAG,EACxD,GAAIS,IAAoC,OAEpC,MAAM,IAAI,YAEdlB,EAAiCc,EAAc,YAAaA,EAAc,WAAY,IAAMI,EAAgC,KAA4B,CACxK,EAAmB,OAAW,CAAClmC,EAAM2kC,IAAkB,CACnC,GAAI3kC,EAAK,KAAM,IAAK,GAChB,MAAM8kC,EAAuB,EAEjC,MAAMqB,EAAoCtC,GAAwC,IAAIiC,CAAa,EACnG,GAAIK,IAAsC,OAAW,CACjD,GAAIA,EAAkC,IAAInmC,CAAI,EAC1C,MAAM8kC,EAAuB,EAEjCJ,GAAoBC,CAAa,EACjCH,GAA2BG,EAAc,oBAAoB,EAC7DwB,EAAkC,IAAInmC,EAAM2kC,CAAa,CAC5D,MAEGD,GAAoBC,CAAa,EACjCH,GAA2BG,EAAc,oBAAoB,EAC7Dd,GAAwC,IAAIiC,EAAe,IAAI,IAAI,CAAC,CAAC9lC,EAAM2kC,CAAa,CAAC,CAAC,CAAC,CAElG,EAAEmB,EAAc,WAAY,OAAW,MAAS,CAAC,CAClE,CAAa,EACC,QAAQ,IAAI,CACVb,EAAYS,CAAS,EACrB,QAAQ,QAAQb,EAAgBW,EAA6CA,CAA2C,CAAC,CACzI,CAAa,EAAE,KAAK,CAAC,CAAC,CAAC35B,EAAQm6B,CAAW,EAAGI,CAAuB,IAAM,CAC1D,MAAMC,EAAe7mB,EAAQ,EAC7BA,EAAQ6mB,EACR,KAAM,CAACjC,EAAkBC,CAA6B,EAAIH,GAAsBr4B,EAAQm6B,CAAW,EA8E7FC,EAAgB,GAAG7B,CAAgB,iDAAiDC,CAA6B;AAAA,KAnDlF+B,EAC/B,wBACA,uLAkDW,+CALQA,EAA0B,GAAK,oDAKwB,kBAJrDA,EACrB,GACA,qEAE8G,gGAAgGC,CAAY,+DAC1NC,GAAO,IAAI,KAAK,CAACL,CAAa,EAAG,CAAE,KAAM,uCAAuC,CAAE,EAClF9B,EAAM,IAAI,gBAAgBmC,EAAI,EACpC,OAAOR,EAAc,aAChB,UAAU3B,EAAKrzB,CAAO,EACtB,KAAK,IAAM,CACZ,GAAIs0B,EAA4BU,CAAa,EACzC,OAAOA,EAGX,MAAMS,EAA4BpB,EAAqCW,CAAa,EACpF,OAAOS,EAA0B,aAAa,UAAUpC,EAAKrzB,CAAO,EAAE,KAAK,IAAMy1B,CAAyB,CAC9H,CAAiB,EACI,KAAMC,GAA6C,CACpD,GAAInB,IAAsC,KACtC,MAAM,IAAI,YAEd,GAAI,CAEA,IAAIA,EAAkCmB,EAA0C,QAAQH,CAAY,EAAE,CACzG,MACK,CACF,MAAM,IAAI,WACb,CACrB,CAAiB,EACI,QAAQ,IAAM,IAAI,gBAAgBlC,CAAG,CAAC,CAC3D,CAAa,EACL,OAAIyB,IAA6B,OAC7BN,EAAgB,IAAIpgB,EAAS,IAAI,IAAI,CAAC,CAACwgB,EAAWK,CAAO,CAAC,CAAC,CAAC,EAG5DH,EAAyB,IAAIF,EAAWK,CAAO,EAEnDA,EACK,KAAK,IAAM,CACZ,MAAMU,EAAmClB,EAAiB,IAAIrgB,CAAO,EACjEuhB,IAAqC,OACrClB,EAAiB,IAAIrgB,EAAS,IAAI,IAAI,CAACwgB,CAAS,CAAC,CAAC,EAGlDe,EAAiC,IAAIf,CAAS,CAE9D,CAAS,EACI,QAAQ,IAAM,CACf,MAAMgB,EAAkCpB,EAAgB,IAAIpgB,CAAO,EAC/DwhB,IAAoC,QACpCA,EAAgC,OAAOhB,CAAS,CAEhE,CAAS,EACMK,CACf,CACA,EC3NaY,GAAiB,CAACjrC,EAAKS,IAAQ,CACxC,MAAMqB,EAAQ9B,EAAI,IAAIS,CAAG,EACzB,GAAIqB,IAAU,OACV,MAAM,IAAI,MAAM,gDAAgD,EAEpE,OAAOA,CACX,ECNaopC,GAAqB,CAACr/B,EAAKs/B,IAAc,CAClD,MAAMC,EAAmB,MAAM,KAAKv/B,CAAG,EAAE,OAAOs/B,CAAS,EACzD,GAAIC,EAAiB,OAAS,EAC1B,MAAM,MAAM,kCAAkC,EAElD,GAAIA,EAAiB,SAAW,EAC5B,MAAM,MAAM,uBAAuB,EAEvC,KAAM,CAACC,CAAe,EAAID,EAC1B,OAAAv/B,EAAI,OAAOw/B,CAAe,EACnBA,CACX,ECTaC,GAA0C,CAACC,EAAep7B,EAAQ02B,EAAQC,IAAU,CAC7F,MAAM0E,EAA0BP,GAAeM,EAAep7B,CAAM,EAC9Ds7B,EAAqBP,GAAmBM,EAA0BE,GAA2BA,EAAuB,CAAC,IAAM7E,GAAU6E,EAAuB,CAAC,IAAM5E,CAAK,EAC9K,OAAI0E,EAAwB,OAAS,GACjCD,EAAc,OAAOp7B,CAAM,EAExBs7B,CACX,ECPaE,GAAgCvE,GAClC6D,GAAehD,GAAiBb,CAAS,ECDvCwE,GAA4BxE,GAAc,CACnD,GAAIO,GAAwB,IAAIP,CAAS,EACrC,MAAM,IAAI,MAAM,kCAAkC,EAEtDO,GAAwB,IAAIP,CAAS,EACrCuE,GAA6BvE,CAAS,EAAE,QAASL,GAAkBA,EAAc,EAAI,CAAC,CAC1F,ECRa8E,GAAsBzE,GACxB,SAAUA,ECCR0E,GAA6B1E,GAAc,CACpD,GAAI,CAACO,GAAwB,IAAIP,CAAS,EACtC,MAAM,IAAI,MAAM,8BAA8B,EAElDO,GAAwB,OAAOP,CAAS,EACxCuE,GAA6BvE,CAAS,EAAE,QAASL,GAAkBA,EAAc,EAAK,CAAC,CAC3F,ECLagF,GAAyC,CAAC3E,EAAWR,IAAiB,CAC3E,CAACiF,GAAmBzE,CAAS,GAAKR,EAAa,MAAOoF,GAAgBA,EAAY,OAAS,CAAC,GAC5FF,GAA0B1E,CAAS,CAE3C,ECJa6E,GAAiC,CAACC,EAAqCC,EAAsCC,EAAyCC,EAAwCC,EAA8CC,EAAyBC,EAAsBb,EAA8Bc,EAAoB9F,EAAoB+F,EAAmBC,EAAgBC,IAAuB,CACpa,MAAMC,EAAqB,IAAI,QAC/B,MAAO,CAAC18B,EAAQ28B,EAAajG,EAAQC,EAAOiG,IAAc,CACtD,KAAM,CAAE,aAAAnG,EAAc,cAAA2E,CAAe,EAAGgB,EAAwBO,CAAW,EACrE,CAAE,QAAAE,CAAO,EAAKT,EAAwBp8B,CAAM,EAC5C88B,EAAiBtB,EAA6Bx7B,CAAM,EACpD42B,EAAiBmG,GAAa,CAChC,MAAMC,EAA6BV,EAAmBK,CAAW,EAC3DM,EAAwBX,EAAmBt8B,CAAM,EACvD,GAAI+8B,EAAU,CACV,MAAMG,EAAoB/B,GAAwCC,EAAep7B,EAAQ02B,EAAQC,CAAK,EACtGoF,EAAoCtF,EAAcz2B,EAAQk9B,EAAmB,EAAK,EAC9E,CAACN,GAAa,CAACJ,EAAex8B,CAAM,GACpCi8B,EAAwCgB,EAAuBD,EAA4BtG,EAAQC,CAAK,EAExG8F,EAAmBE,CAAW,GAC9BlB,GAAyBkB,CAAW,CAE3C,KACI,CACD,MAAMO,EAAoBhB,EAAuCzF,EAAcz2B,EAAQ02B,EAAQC,CAAK,EACpGqF,EAAqCZ,EAAezE,EAAOuG,EAAmB,EAAK,EAC/E,CAACN,GAAa,CAACJ,EAAex8B,CAAM,GACpCm8B,EAA6Cc,EAAuBD,EAA4BtG,EAAQC,CAAK,EAEjH,MAAMwG,EAAWd,EAAqBM,CAAW,EACjD,GAAIQ,IAAa,EACTZ,EAAkBI,CAAW,GAC7Bf,GAAuCe,EAAalG,CAAY,MAGnE,CACD,MAAM2G,EAAoBV,EAAmB,IAAIC,CAAW,EACxDS,IAAsB,QACtB,aAAaA,CAAiB,EAElCV,EAAmB,IAAIC,EAAa,WAAW,IAAM,CAC7CJ,EAAkBI,CAAW,GAC7Bf,GAAuCe,EAAalG,CAAY,CAE5F,EAAuB0G,EAAW,GAAI,CAAC,CACtB,CACJ,CACb,EACQ,OAAI3G,EAAmBqG,EAAS,CAACF,EAAajG,EAAQC,CAAK,EAAI0G,GAAqBA,EAAiB,CAAC,IAAMV,GAAeU,EAAiB,CAAC,IAAM3G,GAAU2G,EAAiB,CAAC,IAAM1G,EAAO,EAAI,GAC5LmG,EAAe,IAAIlG,CAAa,EAC5B2F,EAAkBv8B,CAAM,EACxB+7B,EAAoCtF,EAAcz2B,EAAQ,CAAC02B,EAAQC,EAAOC,CAAa,EAAG,EAAI,EAG9FoF,EAAqCZ,EAAezE,EAAO,CAAC32B,EAAQ02B,EAAQE,CAAa,EAAG,EAAI,EAE7F,IAEJ,EACf,CACA,EC3Da0G,GAA8C9G,GAChD,CAAC4E,EAAezE,EAAO,CAAC32B,EAAQ02B,EAAQE,CAAa,EAAGC,IAAqB,CAChF,MAAMwE,EAA0BD,EAAc,IAAIp7B,CAAM,EACpDq7B,IAA4B,OAC5BD,EAAc,IAAIp7B,EAAQ,IAAI,IAAI,CAAC,CAAC02B,EAAQC,EAAOC,CAAa,CAAC,CAAC,CAAC,EAGnEJ,EAAmB6E,EAAyB,CAAC3E,EAAQC,EAAOC,CAAa,EAAI2E,GAA2BA,EAAuB,CAAC,IAAM7E,GAAU6E,EAAuB,CAAC,IAAM5E,EAAOE,CAAgB,CAEjN,ECTa0G,GAA6BC,GAC/B,CAACvD,EAAewD,IAAmC,CACtD,MAAMC,EAAiBF,EAAqBvD,EAAe,CACvD,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,KAAM,CAClB,CAAS,EACDwD,EAA+B,QAAQC,CAAc,EAAE,QAAQzD,EAAc,WAAW,EACxF,MAAM0D,EAAa,IAAM,CACrBF,EAA+B,oBAAoB,QAASE,CAAU,EACtEF,EAA+B,WAAWC,CAAc,EACxDA,EAAe,WAAU,CACrC,EACQD,EAA+B,iBAAiB,QAASE,CAAU,CAC3E,ECfaC,GAAuCC,GACzC,CAAC5D,EAAe6D,IAAqB,CACxCD,EAA+B5D,CAAa,EAAE,IAAI6D,CAAgB,CAC1E,ECHMC,GAAkB,CACpB,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,QAAS,KACT,YAAa,IACb,YAAa,KACb,sBAAuB,EAC3B,EACaC,GAAgC,CAACC,EAAuBC,EAA4BC,EAAsBC,EAA0B/E,EAAkBE,IACxJ,cAA2B0E,CAAsB,CACpD,YAAY5kB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDq5B,EAAqBF,EAAyBnE,EAAeoE,CAAa,EAC1EE,EAAyBhF,EAA4BU,CAAa,EAAIiE,EAA0B,EAAK,KAC3G,MAAM7kB,EAAS,GAAOilB,EAAoBC,CAAoB,EAC9D,KAAK,oBAAsBD,CAC9B,CACD,IAAI,SAAU,CACV,OAAO,KAAK,oBAAoB,OACnC,CACD,IAAI,QAAQ3sC,EAAO,CACf,KAAK,oBAAoB,QAAUA,CACtC,CACD,IAAI,mBAAoB,CACpB,OAAO,KAAK,oBAAoB,iBACnC,CACD,IAAI,aAAc,CACd,OAAO,KAAK,oBAAoB,WACnC,CACD,IAAI,YAAYA,EAAO,CAEnB,MAAM6sC,EAAc,KAAK,oBAAoB,YAE7C,GADA,KAAK,oBAAoB,YAAc7sC,EACnC,EAAEA,EAAQ,KAAK,oBAAoB,aACnC,WAAK,oBAAoB,YAAc6sC,EACjCL,EAAoB,CAEjC,CACD,IAAI,aAAc,CACd,OAAO,KAAK,oBAAoB,WACnC,CACD,IAAI,YAAYxsC,EAAO,CAEnB,MAAM8sC,EAAc,KAAK,oBAAoB,YAE7C,GADA,KAAK,oBAAoB,YAAc9sC,EACnC,EAAE,KAAK,oBAAoB,YAAcA,GACzC,WAAK,oBAAoB,YAAc8sC,EACjCN,EAAoB,CAEjC,CACD,IAAI,uBAAwB,CACxB,OAAO,KAAK,oBAAoB,qBACnC,CACD,IAAI,sBAAsBxsC,EAAO,CAC7B,KAAK,oBAAoB,sBAAwBA,CACpD,CACD,qBAAqB+sC,EAAO,CACxB,KAAK,oBAAoB,qBAAqBA,CAAK,CACtD,CACD,sBAAsBA,EAAO,CACzB,KAAK,oBAAoB,sBAAsBA,CAAK,CACvD,CACD,sBAAsBA,EAAO,CACzB,KAAK,oBAAoB,sBAAsBA,CAAK,CACvD,CACD,uBAAuBA,EAAO,CAC1B,KAAK,oBAAoB,uBAAuBA,CAAK,CACxD,CACT,ECtEaC,GAAmB,CAACxH,EAAiB8C,IACvC9C,EAAgB,UAAY8C,ECA1B2E,GAAoC,CAACR,EAA0B9B,EAAoBuC,IACrF,IAAM,CACT,MAAMC,EAA8B,IAAI,QAClCC,EAAqB,MAAO7gC,EAAO8gC,IAA8B,CACnE,IAAIV,EAAqBhC,EAAmBp+B,CAAK,EAGjD,GAAI,CADuCygC,GAAiBL,EAAoBU,CAAyB,EAChE,CACrC,MAAM/5B,EAAU,CACZ,aAAcq5B,EAAmB,aACjC,iBAAkBA,EAAmB,iBACrC,sBAAuBA,EAAmB,sBAC1C,QAASA,EAAmB,QAC5B,YAAaA,EAAmB,YAChC,YAAaA,EAAmB,YAChC,sBAAuBA,EAAmB,qBAC9D,EACgBA,EAAqBF,EAAyBY,EAA2B/5B,CAAO,CACnF,CACD,OAAA65B,EAA4B,IAAIE,EAA2BV,CAAkB,EAC7E,MAAMO,EAAwB3gC,EAAO8gC,EAA2BV,CAAkB,EAC3EA,CACnB,EACQ,MAAO,CACH,OAAOpgC,EAAO8gC,EAA2B,CACrC,MAAMC,EAA6BH,EAA4B,IAAIE,CAAyB,EAC5F,OAAIC,IAA+B,OACxB,QAAQ,QAAQA,CAA0B,EAE9CF,EAAmB7gC,EAAO8gC,CAAyB,CAC7D,CACb,CACA,ECjCaE,GAAuDC,GAAsB,CACtF,GAAI,CACAA,EAAkB,cAAc,IAAI,aAAa,CAAC,EAAG,EAAG,EAAE,CAC7D,MACK,CACF,MAAO,EACV,CACD,MAAO,EACX,ECRahB,GAAuB,IAAM,IAAI,aAAa,GAAI,gBAAgB,ECClEiB,GAAuCC,GAAgB,CAChEA,EAAY,gBAAmBC,GACnBC,GAAY,CAChB,GAAI,CACA,OAAOD,EAAe,KAAKD,EAAaE,CAAO,CAClD,OACMx+B,EAAK,CACR,MAAIA,EAAI,OAAS,GACPo9B,GAAoB,EAExBp9B,CACT,CACb,GACOs+B,EAAY,cAAc,CACjC,ECbMtB,GAAkB,CACpB,iBAAkB,CACtB,EACayB,GAA+B,CAACC,EAAkBzG,EAAiBC,EAAyByG,EAA8BC,EAAsCC,EAAyCC,EAAmCC,IAAiD,CACtS,IAAId,EAA4B,KAChC,OAAO,MAAMe,EAAY,CACrB,YAAY96B,EAAS,CACjB,GAAI06B,IAAyC,KACzC,MAAM,IAAI,MAAM,qDAAqD,EAEzE,KAAM,CAAE,OAAAK,EAAQ,iBAAAC,EAAkB,WAAAC,CAAU,EAAK,CAAE,GAAGnC,GAAiB,GAAG94B,GACtE+5B,IAA8B,OAC9BA,EAA4B,IAAIW,EAAqC,EAAG,EAAG,KAAK,GAMpF,MAAMN,EAAcK,IAAiC,MACjD1G,EAAgB4G,EAAyCA,CAAuC,EAC9F,IAAIF,EAA6B,CAAE,OAAAM,EAAQ,iBAAAC,EAAkB,WAAAC,CAAU,CAAE,EACzElB,EAA0B,aAAaiB,EAAkBD,EAAQE,CAAU,EAEjF,GAAIb,EAAY,mBAAqB,EACjC,MAAMpG,EAAuB,EAIjC,OAAI,OAAOoG,EAAY,iBAAoB,YACvCQ,EAAkCR,CAAW,EAC7CD,GAAoCC,CAAW,GAGzCrG,EAAgBkG,GAAqD,IAAMA,GAAoDG,CAAW,CAAC,GACjJS,EAA6CT,CAAW,EAE5DI,EAAiB,IAAIJ,CAAW,EAKzBA,CACV,CACD,OAAQ,OAAO,WAAW,EAAEv+B,EAAU,CAClC,OAASA,IAAa,MAAQ,OAAOA,GAAa,UAAY,OAAO,eAAeA,CAAQ,IAAMi/B,GAAY,WAC1GN,EAAiB,IAAI3+B,CAAQ,CACpC,CACT,CACA,EClDaq/B,GAA6B,sBAC7BC,GAA6B,CAACD,GCA9B5D,GAAqBtF,GAAcO,GAAwB,IAAIP,CAAS,ECG/E8G,GAAkB,CACpB,OAAQ,KACR,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WAEvB,KAAM,GACN,QAAS,EACT,UAAW,EACX,aAAc,CAClB,EACasC,GAAyC,CAACC,EAAsBC,EAAqCC,EAAkBC,EAAyBC,EAAmCrH,EAAkBE,EAA6BoH,IACpO,cAAoCL,CAAqB,CAC5D,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChD27B,EAA8BF,EAAkCzG,EAAeoE,CAAa,EAC5FzB,EAAYrD,EAA4BU,CAAa,EACrD4G,EAAkCjE,EAAY2D,EAAqC,EAAG,KAC5F,MAAMlnB,EAAS,GAAOunB,EAA6BC,CAA6B,EAChF,KAAK,+BAAiCA,EACtC,KAAK,mBAAqB,GAC1B,KAAK,aAAexC,EAAc,SAAW,KAC7C,KAAK,6BAA+BuC,EACpC,KAAK,SAAW,KAEhB,KAAK,cAAgBJ,EAAiB,KAAM5D,EAAWgE,EAA4B,aAAcR,GAA4BD,EAA0B,CAC1J,CACD,IAAI,QAAS,CACT,OAAI,KAAK,mBACE,KAEJ,KAAK,6BAA6B,MAC5C,CACD,IAAI,OAAOxuC,EAAO,CAGd,GAFA,KAAK,6BAA6B,OAASA,EAEvCA,IAAU,KAAM,CAChB,GAAI,KAAK,aACL,MAAM8uC,EAAuB,EAEjC,KAAK,aAAe,EACvB,CACJ,CACD,IAAI,MAAO,CACP,OAAO,KAAK,6BAA6B,IAC5C,CACD,IAAI,KAAK9uC,EAAO,CACZ,KAAK,6BAA6B,KAAOA,CAC5C,CACD,IAAI,SAAU,CACV,OAAO,KAAK,6BAA6B,OAC5C,CACD,IAAI,QAAQA,EAAO,CACf,KAAK,6BAA6B,QAAUA,CAC/C,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,6BAA6B,SAC5C,CACD,IAAI,UAAUA,EAAO,CACjB,KAAK,6BAA6B,UAAYA,CACjD,CACD,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQA,EAAO,CACf,MAAMmvC,EAAkB,OAAOnvC,GAAU,WAAagvC,EAAkB,KAAMhvC,CAAK,EAAI,KACvF,KAAK,6BAA6B,QAAUmvC,EAC5C,MAAMC,EAAgB,KAAK,6BAA6B,QACxD,KAAK,SAAWA,IAAkB,MAAQA,IAAkBD,EAAkBnvC,EAAQovC,CACzF,CACD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,MAAMC,EAAO,EAAGC,EAAS,EAAGrW,EAAU,CAKlC,GAJA,KAAK,6BAA6B,MAAMoW,EAAMC,EAAQrW,CAAQ,EAC1D,KAAK,iCAAmC,OACxC,KAAK,+BAA+B,MAAQA,IAAa,OAAY,CAACoW,EAAMC,CAAM,EAAI,CAACD,EAAMC,EAAQrW,CAAQ,GAE7G,KAAK,QAAQ,QAAU,SAAU,CACjC6Q,GAAyB,IAAI,EAC7B,MAAMyF,EAA8B,IAAM,CACtC,KAAK,6BAA6B,oBAAoB,QAASA,CAA2B,EACtF3E,GAAkB,IAAI,GACtBZ,GAA0B,IAAI,CAEtD,EACgB,KAAK,6BAA6B,iBAAiB,QAASuF,CAA2B,CAC1F,CACJ,CACD,KAAKF,EAAO,EAAG,CACX,KAAK,6BAA6B,KAAKA,CAAI,EACvC,KAAK,iCAAmC,OACxC,KAAK,+BAA+B,KAAOA,EAElD,CACT,ECnGaG,GAA6C,CAACC,EAAmBV,EAAmCpE,EAAoB+E,EAAkBxC,IAC5I,IAAM,CACT,MAAMyC,EAAuC,IAAI,QACjD,IAAI9+B,EAAQ,KACR++B,EAAO,KACX,MAAMC,EAA8B,MAAOtjC,EAAO8gC,IAA8B,CAC5E,IAAI4B,EAA8BtE,EAAmBp+B,CAAK,EAK1D,MAAMujC,EAA8C9C,GAAiBiC,EAA6B5B,CAAyB,EAC3H,GAAI,CAACyC,EAA6C,CAC9C,MAAMx8B,EAAU,CACZ,OAAQ27B,EAA4B,OACpC,aAAcA,EAA4B,aAC1C,iBAAkBA,EAA4B,iBAC9C,sBAAuBA,EAA4B,sBAEnD,KAAMA,EAA4B,KAClC,QAASA,EAA4B,QACrC,UAAWA,EAA4B,UACvC,aAAcA,EAA4B,aAAa,KAC3E,EACgBA,EAA8BF,EAAkC1B,EAA2B/5B,CAAO,EAC9FzC,IAAU,MACVo+B,EAA4B,MAAM,GAAGp+B,CAAK,EAE1C++B,IAAS,MACTX,EAA4B,KAAKW,CAAI,CAE5C,CACD,OAAAD,EAAqC,IAAItC,EAA2B4B,CAA2B,EAC1Fa,EAMD,MAAML,EAAkBpC,EAA2B9gC,EAAM,aAAc0iC,EAA4B,YAAY,EAJ/G,MAAMS,EAAiBrC,EAA2B9gC,EAAM,aAAc0iC,EAA4B,YAAY,EAMlH,MAAM/B,EAAwB3gC,EAAO8gC,EAA2B4B,CAA2B,EACpFA,CACnB,EACQ,MAAO,CACH,IAAI,MAAMjvC,EAAO,CACb6Q,EAAQ7Q,CACX,EACD,IAAI,KAAKA,EAAO,CACZ4vC,EAAO5vC,CACV,EACD,OAAOuM,EAAO8gC,EAA2B,CACrC,MAAM0C,EAAsCJ,EAAqC,IAAItC,CAAyB,EAC9G,OAAI0C,IAAwC,OACjC,QAAQ,QAAQA,CAAmC,EAEvDF,EAA4BtjC,EAAO8gC,CAAyB,CACtE,CACb,CACA,EC5Da2C,GAA2B1K,GAC7B,iBAAkBA,ECDhB2K,GAAsB3K,GACxB,cAAeA,GAAa,SAAUA,ECDpC4K,GAAwB5K,GAC1B,WAAYA,ECDV6K,GAAc7K,GAChB,EAAE,cAAeA,IAAc,SAAUA,ECDvC8K,GAAoB9K,GACtB,WAAYA,GAAa,cAAeA,ECDtC+K,GAAsB/K,GACxB,QAASA,ECCPmF,GAA2BnF,GAC7B6D,GAAerD,GAA8BR,CAAS,ECDpDgL,GAA4B3K,GAC9BwD,GAAenD,GAA+BL,CAAU,ECQtD4K,GAA4C,CAACjL,EAAWkL,IAAU,CAC3E,KAAM,CAAE,aAAA1L,CAAY,EAAK2F,GAAwBnF,CAAS,EAC1DR,EAAa,QAASoF,GAAgBA,EAAY,QAAQ,CAAC,CAAC77B,CAAM,IAAM,CAC/DmiC,EAAM,SAASlL,CAAS,GACzBiL,GAA0CliC,EAAQ,CAAC,GAAGmiC,EAAOlL,CAAS,CAAC,CAE9E,EAAC,EACF,MAAMmL,EAAcT,GAAwB1K,CAAS,EAC/C,CAEEA,EAAU,YACb,EACCyE,GAAmBzE,CAAS,EACxB,MAAM,KAAKA,EAAU,WAAW,OAAM,CAAE,EACxC2K,GAAmB3K,CAAS,EACxB,CAACA,EAAU,EAAGA,EAAU,OAAQA,EAAU,UAAWA,EAAU,IAAI,EACnE4K,GAAqB5K,CAAS,EAC1B,CAACA,EAAU,MAAM,EACjB6K,GAAW7K,CAAS,EAChB,CAACA,EAAU,IAAI,EACf8K,GAAiB9K,CAAS,EACtB,CAACA,EAAU,OAAQA,EAAU,SAAS,EACtC+K,GAAmB/K,CAAS,EACxB,CAACA,EAAU,GAAG,EACd,GAC9B,UAAWK,KAAc8K,EAAa,CAClC,MAAMC,EAAwBJ,GAAyB3K,CAAU,EAC7D+K,IAA0B,QAC1BA,EAAsB,aAAa,QAAQ,CAAC,CAACriC,CAAM,IAAMkiC,GAA0CliC,EAAQmiC,CAAK,CAAC,CAExH,CACG5F,GAAkBtF,CAAS,GAC3B0E,GAA0B1E,CAAS,CAE3C,EC5CaqL,GAAwBjpB,GAAY,CAC7C6oB,GAA0C7oB,EAAQ,YAAa,EAAE,CACrE,ECHakpB,GAAsBC,GACvBA,IAAgB,QACpB,OAAOA,GAAgB,UACtB,OAAOA,GAAgB,WAAaA,IAAgB,YAAcA,IAAgB,eAAiBA,IAAgB,YCD/GC,GAAgC,CAACC,EAA6BjC,EAAyBxH,EAAyB0J,EAAoBC,EAAwCC,EAA4CC,EAAuCC,EAA4CC,IAC7S,cAA2BN,CAA4B,CAC1D,YAAYz9B,EAAU,GAAI,CACtB,GAAI+9B,IAAkC,KAClC,MAAM,IAAI,MAAM,8CAA8C,EAElE,IAAIC,EACJ,GAAI,CACAA,EAAqB,IAAID,EAA8B/9B,CAAO,CACjE,OACMlE,EAAK,CAER,MAAIA,EAAI,OAAS,IAAMA,EAAI,UAAY,6BAC7Bk4B,EAAuB,EAE3Bl4B,CACT,CAED,GAAIkiC,IAAuB,KACvB,MAAMN,EAAkB,EAG5B,GAAI,CAACJ,GAAmBt9B,EAAQ,WAAW,EACvC,MAAM,IAAI,UAAU,uBAAuBA,EAAQ,WAAW,kEAAkE,EAGpI,GAAIA,EAAQ,aAAe,QAAag+B,EAAmB,aAAeh+B,EAAQ,WAC9E,MAAMg0B,EAAuB,EAEjC,MAAMgK,EAAoB,CAAC,EAC3B,KAAM,CAAE,YAAAT,CAAa,EAAGv9B,EAClB,CAAE,WAAAi7B,CAAY,EAAG+C,EAkCvB,GAhCA,KAAK,aACD,OAAOA,EAAmB,aAAgB,SACpCA,EAAmB,YACnBT,IAAgB,WACZ,IAAMtC,EACNsC,IAAgB,eAAiBA,IAAgB,OAC7C,IAAMtC,EACNsC,IAAgB,WACZ,KAAOtC,EAKJ,KAAK,IAAI,EAAG,KAAK,IAAI,IAAK,KAAK,MAAOsC,EAActC,EAAc,GAAG,CAAC,CAAC,EAAI,IAAOA,EAC3G,KAAK,oBAAsB+C,EAEvBD,EAA8B,OAAS,sBACvC,KAAK,gBAAkBC,EAAmB,aAC1C,KAAK,sBAAwBA,EAAmB,mBAChD,KAAK,gBAAgB,KAAK,MAAQ,MAClC,KAAK,sBAAsB,QAAQ,KAAK,eAAe,EAAE,QAAQA,EAAmB,WAAW,EAC/F,KAAK,sBAAsB,UAG3B,KAAK,gBAAkB,KACvB,KAAK,sBAAwB,MAEjC,KAAK,OAAS,KAKVA,EAAmB,QAAU,UAAW,CACxC,KAAK,OAAS,YACd,MAAMC,EAAc,IAAM,CAClB,KAAK,SAAW,cAChB,KAAK,OAAS,MAElBD,EAAmB,oBAAoB,cAAeC,CAAW,CACrF,EACgBD,EAAmB,iBAAiB,cAAeC,CAAW,CACjE,CACJ,CACD,IAAI,aAAc,CACd,OAAO,KAAK,YACf,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,SAAW,KAAO,KAAK,OAAS,KAAK,oBAAoB,KACxE,CACD,OAAQ,CAEJ,OAAI,KAAK,QAAU,SACR,KAAK,oBAAoB,MAAO,EAAC,KAAK,IAAM,CAC/C,MAAMzC,EAAuB,CACjD,CAAiB,GAGD,KAAK,SAAW,cAChB,KAAK,OAAS,MAEX,KAAK,oBAAoB,MAAO,EAAC,KAAK,IAAM,CAC3C,KAAK,kBAAoB,MAAQ,KAAK,wBAA0B,OAChE,KAAK,sBAAsB,OAC3B,KAAK,gBAAgB,aACrB,KAAK,sBAAsB,cAE/B6B,GAAqB,IAAI,CACzC,CAAa,EACJ,CACD,yBAAyBa,EAAc,CACnC,OAAO,IAAIP,EAAuC,KAAM,CAAE,aAAAO,CAAc,EAC3E,CACD,8BAA+B,CAC3B,OAAO,IAAIN,EAA2C,IAAI,CAC7D,CACD,wBAAwBO,EAAa,CACjC,OAAO,IAAIN,EAAsC,KAAM,CAAE,YAAAM,CAAa,EACzE,CACD,6BAA6BC,EAAkB,CAC3C,OAAO,IAAIN,EAA2C,KAAM,CAAE,iBAAAM,CAAkB,EACnF,CACD,QAAS,CACL,OAAI,KAAK,SAAW,YACT,IAAI,QAAQ,CAAC9vB,EAAS+vB,IAAW,CACpC,MAAMC,EAAiB,IAAM,CACzB,KAAK,oBAAoB,oBAAoB,cAAeA,CAAc,EACtE,KAAK,oBAAoB,QAAU,UACnChwB,IAGA,KAAK,OAAQ,EAAC,KAAKA,EAAS+vB,CAAM,CAE9D,EACoB,KAAK,oBAAoB,iBAAiB,cAAeC,CAAc,CAC3F,CAAiB,EAEE,KAAK,oBAAoB,OAAQ,EAAC,MAAOxiC,GAAQ,CAGpD,MAAIA,IAAQ,QAAaA,EAAI,OAAS,GAC5B0/B,EAAuB,EAE3B1/B,CACtB,CAAa,CACJ,CACD,SAAU,CACN,OAAO,KAAK,oBAAoB,QAAS,EAAC,MAAOA,GAAQ,CAErD,MAAIA,IAAQ,OACF0/B,EAAuB,EAE3B1/B,CACtB,CAAa,CACJ,CACT,ECrJayiC,GAAwC,CAAClD,EAAsBmD,EAAoCtF,EAAsBsC,EAAyBiD,EAAkCrK,EAAkBE,EAA6BsF,IACrO,cAAmCyB,CAAqB,CAC3D,YAAYjnB,EAASsqB,EAAc,CAC/B,MAAM1J,EAAgBZ,EAAiBhgB,CAAO,EACxCujB,EAAYrD,EAA4BU,CAAa,EACrD2J,EAA6BF,EAAiCzJ,EAAe0J,EAAc/G,CAAS,EACpGiH,EAAiCjH,EAAY6G,EAAmC5E,CAAuB,EAAI,KACjH,MAAMxlB,EAAS,GAAOuqB,EAA4BC,CAA4B,EAC9E,KAAK,mCAAqCjH,EAC1C,KAAK,4BAA8BgH,CACtC,CACD,IAAI,cAAe,CACf,OAAO,KAAK,4BAA4B,YAC3C,CACD,IAAI,aAAajyC,EAAO,CAGpB,GAAI,KAAK,mCACL,MAAM8uC,EAAuB,EAGjC,GAAI9uC,EAAQ,KAAK,4BAA4B,gBACzC,MAAMwsC,EAAoB,EAE9B,KAAK,4BAA4B,aAAexsC,CACnD,CACD,IAAI,kBAAmB,CACnB,OAAO,KAAK,4BAA4B,gBAC3C,CACD,IAAI,iBAAiBA,EAAO,CAExB,GAAI,KAAK,mCACL,MAAM8uC,EAAuB,EAEjC,KAAK,4BAA4B,iBAAmB9uC,CACvD,CACD,IAAI,iBAAkB,CAClB,OAAO,KAAK,4BAA4B,eAC3C,CACT,ECvCa8xC,GAAsC5E,GAA4B,CAC3E,MAAMiF,EAAsC,IAAI,QAC1CC,EAA6B,MAAO7lC,EAAO8gC,IAA8B,CAC3E,MAAM4E,EAA6B5E,EAA0B,YAC7D,OAAA8E,EAAoC,IAAI9E,EAA2B4E,CAA0B,EAC7F,MAAM/E,EAAwB3gC,EAAO8gC,EAA2B4E,CAA0B,EACnFA,CACf,EACI,MAAO,CACH,OAAO1lC,EAAO8gC,EAA2B,CACrC,MAAMgF,EAAqCF,EAAoC,IAAI9E,CAAyB,EAC5G,OAAIgF,IAAuC,OAChC,QAAQ,QAAQA,CAAkC,EAEtDD,EAA2B7lC,EAAO8gC,CAAyB,CACrE,CACT,CACA,EChBaiF,GAA6B,CAACzD,EAAkB0D,EAA+BC,EAAgCC,EAAiCnL,EAAyBoL,EAAgB9K,EAA6B+K,IACxN,CAACjrB,EAAS4gB,IAAkB,CAC/B,MAAMsK,EAAiBtK,EAAc,SAE/BuK,EAAwB,IAAM,CAChC,MAAMC,EAAS,IAAI,aAAa,CAAC,EAC3BC,EAAoBR,EAA8BjK,EAAe,CACnE,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgB,CAChC,CAAa,EACK2C,EAAYrD,EAA4BU,CAAa,EAC3D,IAAI0K,EAA+B,GAC/BC,EAAkB,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,CAAC,EACpCC,EAAe,CAAC,EAAG,EAAG,CAAC,EAC3B,MAAMC,EAA4B,IAAM,CACpC,GAAIH,EACA,OAEJA,EAA+B,GAC/B,MAAMI,GAAsBX,EAAgCnK,EAAe,IAAK,EAAG,CAAC,EAEpF8K,GAAoB,eAAiB,CAAC,CAAE,YAAAC,KAAkB,CACtD,MAAMC,EAAc,CAChBZ,EAAeW,EAAaP,EAAQ,CAAC,EACrCJ,EAAeW,EAAaP,EAAQ,CAAC,EACrCJ,EAAeW,EAAaP,EAAQ,CAAC,EACrCJ,EAAeW,EAAaP,EAAQ,CAAC,EACrCJ,EAAeW,EAAaP,EAAQ,CAAC,EACrCJ,EAAeW,EAAaP,EAAQ,CAAC,CAC7D,EACwBQ,EAAY,KAAK,CAACtzC,GAAOgiB,KAAUhiB,KAAUizC,EAAgBjxB,EAAK,CAAC,IACnE4wB,EAAe,eAAe,GAAGU,CAAW,EAC5CL,EAAkBK,GAEtB,MAAMC,GAAU,CACZb,EAAeW,EAAaP,EAAQ,CAAC,EACrCJ,EAAeW,EAAaP,EAAQ,CAAC,EACrCJ,EAAeW,EAAaP,EAAQ,CAAC,CAC7D,EACwBS,GAAQ,KAAK,CAACvzC,GAAOgiB,KAAUhiB,KAAUkzC,EAAalxB,EAAK,CAAC,IAC5D4wB,EAAe,YAAY,GAAGW,EAAO,EACrCL,EAAeK,GAEvC,EACgBR,EAAkB,QAAQK,EAAmB,CAC7D,EACkBI,EAAwBxxB,IAAWhiB,GAAU,CAC3CA,IAAUizC,EAAgBjxB,EAAK,IAC/BixB,EAAgBjxB,EAAK,EAAIhiB,EACzB4yC,EAAe,eAAe,GAAGK,CAAe,EAEpE,EACkBQ,EAAqBzxB,IAAWhiB,GAAU,CACxCA,IAAUkzC,EAAalxB,EAAK,IAC5BkxB,EAAalxB,EAAK,EAAIhiB,EACtB4yC,EAAe,YAAY,GAAGM,CAAY,EAE9D,EACkBQ,EAAuB,CAAC1O,GAAO5G,EAAcuV,IAAa,CAC5D,MAAMC,GAAqBpB,EAA+BlK,EAAe,CACrE,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,OAAQlK,CAC5B,CAAiB,EACDwV,GAAmB,QAAQb,EAAmB,EAAG/N,EAAK,EAEtD4O,GAAmB,MAAK,EACxB,OAAO,eAAeA,GAAmB,OAAQ,eAAgB,CAC7D,KAAM,CACF,OAAOxV,CACV,CACrB,CAAiB,EAKD,MAAMuH,GAAakJ,EAAiB,CAAE,QAAAnnB,CAAS,EAAEujB,EAAW2I,GAAmB,OAAQnF,GAA4BD,EAA0B,EAC7I,OAAAmE,EAAmBhN,GAAY,QAAUt8B,IAAQ,IAAMA,GAAI,KAAKs8B,EAAU,EAAI57B,IAAS/J,IAAU,CAC7F,GAAI,CACA+J,GAAI,KAAK47B,GAAY3lC,EAAK,CAC7B,OACMoP,GAAK,CACR,GAAIA,GAAI,OAAS,EACb,MAAMA,EAEb,CACD+jC,IACIlI,GAEA0I,EAAS3zC,EAAK,CAEtC,CAAiB,EACD2lC,GAAW,qBAAwBkO,IAC3B5I,EACO,IAAM,CACT,MAAM3D,EAAuB,CACzD,EAE2B,IAAI7/B,KAAS,CAChB,MAAMzH,GAAQ6zC,GAAoB,MAAMlO,GAAYl+B,EAAI,EACxD,OAAA0rC,IACOnzC,EAC/B,GACmB2lC,GAAW,mBAAmB,EACjCA,GAAW,uBAA0BmO,IAC7B7I,EACO,IAAM,CACT,MAAM3D,EAAuB,CACzD,EAE2B,IAAI7/B,KAAS,CAChB,MAAMzH,GAAQ8zC,GAAsB,MAAMnO,GAAYl+B,EAAI,EAC1D,OAAA0rC,IACOnzC,EAC/B,GACmB2lC,GAAW,qBAAqB,EACnCA,GAAW,8BAAiCoO,IACpC9I,EACO,IAAM,CACT,MAAM3D,EAAuB,CACzD,EAE2B,IAAI7/B,KAAS,CAChB,MAAMzH,GAAQ+zC,GAA6B,MAAMpO,GAAYl+B,EAAI,EACjE,OAAA0rC,IACOnzC,EAC/B,GACmB2lC,GAAW,4BAA4B,EAC1CA,GAAW,yBAA4BqO,IAC/B/I,EACO,IAAM,CACT,MAAM3D,EAAuB,CACzD,EAE2B,IAAI7/B,KAAS,CAChB,MAAMzH,GAAQg0C,GAAwB,MAAMrO,GAAYl+B,EAAI,EAC5D,OAAA0rC,IACOnzC,EAC/B,GACmB2lC,GAAW,uBAAuB,EACrCA,GAAW,iBAAoBsO,IACvBhJ,EACO,IAAM,CACT,MAAM3D,EAAuB,CACzD,EAE2B,IAAI7/B,KAAS,CAChB,MAAMzH,GAAQi0C,GAAgB,MAAMtO,GAAYl+B,EAAI,EACpD,OAAA0rC,IACOnzC,EAC/B,GACmB2lC,GAAW,eAAe,EAC7BA,GAAW,gBAAmBuO,IACtBjJ,EACO,IAAM,CACT,MAAM3D,EAAuB,CACzD,EAE2B,IAAI7/B,KAAS,CAChB,MAAMzH,GAAQk0C,GAAe,MAAMvO,GAAYl+B,EAAI,EACnD,OAAA0rC,IACOnzC,EAC/B,GACmB2lC,GAAW,cAAc,EAC5BA,GAAW,qBAAwBwO,IAC3BlJ,EACO,IAAM,CACT,MAAM3D,EAAuB,CACzD,EAE2B,IAAI7/B,KAAS,CAChB,MAAMzH,GAAQm0C,GAAoB,MAAMxO,GAAYl+B,EAAI,EACxD,OAAA0rC,IACOnzC,EAC/B,GACmB2lC,GAAW,mBAAmB,EAC1BA,EACvB,EACY,MAAO,CACH,SAAU+N,EAAqB,EAAG,EAAGF,EAAqB,CAAC,CAAC,EAC5D,SAAUE,EAAqB,EAAG,EAAGF,EAAqB,CAAC,CAAC,EAC5D,SAAUE,EAAqB,EAAG,GAAIF,EAAqB,CAAC,CAAC,EAC7D,UAAWE,EAAqB,EAAG,EAAGD,EAAkB,CAAC,CAAC,EAC1D,UAAWC,EAAqB,EAAG,EAAGD,EAAkB,CAAC,CAAC,EAC1D,UAAWC,EAAqB,EAAG,EAAGD,EAAkB,CAAC,CAAC,EAC1D,IAAKC,EAAqB,EAAG,EAAGF,EAAqB,CAAC,CAAC,EACvD,IAAKE,EAAqB,EAAG,EAAGF,EAAqB,CAAC,CAAC,EACvD,IAAKE,EAAqB,EAAG,EAAGF,EAAqB,CAAC,CAAC,CACvE,CACA,EACc,CAAE,SAAAY,EAAU,SAAAC,EAAU,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,UAAAC,EAAW,IAAAC,EAAK,IAAAC,EAAK,IAAAC,CAAK,EAAGhC,EAAe,WAAa,OAAYC,EAAuB,EAAGD,EAC3J,MAAO,CACH,IAAI,UAAW,CACX,OAAOwB,CACV,EACD,IAAI,UAAW,CACX,OAAOC,CACV,EACD,IAAI,UAAW,CACX,OAAOC,CACV,EACD,IAAI,WAAY,CACZ,OAAOC,CACV,EACD,IAAI,WAAY,CACZ,OAAOC,CACV,EACD,IAAI,WAAY,CACZ,OAAOC,CACV,EACD,IAAI,KAAM,CACN,OAAOC,CACV,EACD,IAAI,KAAM,CACN,OAAOC,CACV,EACD,IAAI,KAAM,CACN,OAAOC,CACV,CACb,CACA,EChOaC,GAAeC,GACjB,YAAaA,ECAXC,GAA+BrJ,GACjCmJ,GAAYnJ,EAAiB,CAAC,CAAC,ECF7B7G,GAAqB,CAAC96B,EAAKirC,EAAS3L,EAAWnE,IAAqB,CAC7E,UAAW+P,KAAQlrC,EACf,GAAIs/B,EAAU4L,CAAI,EAAG,CACjB,GAAI/P,EACA,MAAO,GAEX,MAAM,MAAM,gDAAgD,CAC/D,CAEL,OAAAn7B,EAAI,IAAIirC,CAAO,EACR,EACX,ECVaE,GAAuC,CAACpQ,EAAcz2B,EAAQ,CAAC02B,EAAQE,CAAa,EAAGC,IAAqB,CACrHL,GAAmBC,EAAc,CAACz2B,EAAQ02B,EAAQE,CAAa,EAAIE,GAA0BA,EAAsB,CAAC,IAAM92B,GAAU82B,EAAsB,CAAC,IAAMJ,EAAQG,CAAgB,CAC7L,ECFaiQ,GAAwC,CAAC1L,EAAe,CAACp7B,EAAQ02B,EAAQE,CAAa,EAAGC,IAAqB,CACvH,MAAMwE,EAA0BD,EAAc,IAAIp7B,CAAM,EACpDq7B,IAA4B,OAC5BD,EAAc,IAAIp7B,EAAQ,IAAI,IAAI,CAAC,CAAC02B,EAAQE,CAAa,CAAC,CAAC,CAAC,EAG5DJ,GAAmB6E,EAAyB,CAAC3E,EAAQE,CAAa,EAAI2E,GAA2BA,EAAuB,CAAC,IAAM7E,EAAQG,CAAgB,CAE/J,ECTakQ,GAA0BC,GAC5B,WAAYA,ECAV/K,GAA0C,CAACgB,EAAuBD,EAA4BtG,EAAQC,IAAU,CACzH,GAAIoQ,GAAuB/J,CAA0B,EAAG,CACpD,MAAMiK,EAAiCjK,EAA2B,OAAOrG,CAAK,EAC9E,OAAAsG,EAAsB,QAAQgK,EAAgCvQ,EAAQ,CAAC,EAChE,CAACuQ,EAAgCvQ,EAAQ,CAAC,CACpD,CACD,OAAAuG,EAAsB,QAAQD,EAA4BtG,EAAQC,CAAK,EAChE,CAACqG,EAA4BtG,EAAQC,CAAK,CACrD,ECTauQ,GAA8B,CAACC,EAAwBnnC,EAAQ02B,IAAW,CACnF,UAAWI,KAAyBqQ,EAChC,GAAIrQ,EAAsB,CAAC,IAAM92B,GAAU82B,EAAsB,CAAC,IAAMJ,EACpE,OAAAyQ,EAAuB,OAAOrQ,CAAqB,EAC5CA,EAGf,OAAO,IACX,ECPasQ,GAA0C,CAAC3Q,EAAcz2B,EAAQ02B,IACnEqE,GAAmBtE,EAAeK,GAA0BA,EAAsB,CAAC,IAAM92B,GAAU82B,EAAsB,CAAC,IAAMJ,CAAM,ECDpI2Q,GAAiC,CAACpQ,EAAWL,IAAkB,CAExE,GAAI,CADmB4E,GAA6BvE,CAAS,EACzC,OAAOL,CAAa,EACpC,MAAM,IAAI,MAAM,sCAAsC,CAE9D,ECJa0Q,GAA2C,CAAClM,EAAep7B,EAAQ02B,IAAW,CACvF,MAAM2E,EAA0BP,GAAeM,EAAep7B,CAAM,EAC9Ds7B,EAAqBP,GAAmBM,EAA0BE,GAA2BA,EAAuB,CAAC,IAAM7E,CAAM,EACvI,OAAI2E,EAAwB,OAAS,GACjCD,EAAc,OAAOp7B,CAAM,EAExBs7B,CACX,ECRaa,GAA+C,CAACc,EAAuBD,EAA4BtG,EAAQC,IAAU,CAC1HoQ,GAAuB/J,CAA0B,EACjDC,EAAsB,WAAWD,EAA2B,OAAOrG,CAAK,EAAGD,EAAQ,CAAC,EAGpFuG,EAAsB,WAAWD,EAA4BtG,EAAQC,CAAK,CAElF,ECNa2F,GAAsBrF,GACxB6D,GAAepD,GAAkBT,CAAS,ECDxCsQ,GAAuBjQ,GACzBwD,GAAelD,GAAmBN,CAAU,ECF1CkF,GAAkBvF,GACpBc,GAAe,IAAId,CAAS,ECD1BwF,GAAsBxF,GACxB,CAACO,GAAwB,IAAIP,CAAS,ECFpCuQ,GAAuC,CAACvE,EAAoBzJ,IAC9D,IAAI,QAASjmB,GAAY,CAK5B,GAAIimB,IAAsC,KACtCjmB,EAAQ,EAAI,MAEX,CACD,MAAMk0B,EAAWxE,EAAmB,sBAAsB,IAAK,EAAG,CAAC,EAC7DyE,EAAQzE,EAAmB,aAE3B0E,EAAO1E,EAAmB,aAAa,EAAG,EAAG,KAAK,EAClD2E,EAAcD,EAAK,eAAe,CAAC,EACzCC,EAAY,CAAC,EAAI,EACjBA,EAAY,CAAC,EAAI,EACjB,MAAM5nC,EAASijC,EAAmB,qBAClCjjC,EAAO,OAAS2nC,EAChB3nC,EAAO,KAAO,GACdA,EAAO,QAAQynC,CAAQ,EAAE,QAAQxE,EAAmB,WAAW,EAC/DjjC,EAAO,QAAQ0nC,CAAK,EACpB1nC,EAAO,WAAW0nC,CAAK,EAEvBD,EAAS,eAAkB5jC,GAAU,CACjC,MAAMgkC,EAAUhkC,EAAM,YAAY,eAAe,CAAC,EAC9C,MAAM,UAAU,KAAK,KAAKgkC,EAAUC,GAAWA,IAAW,CAAC,EAC3Dv0B,EAAQ,EAAI,EAGZA,EAAQ,EAAK,EAEjBvT,EAAO,KAAI,EACXynC,EAAS,eAAiB,KAC1BznC,EAAO,WAAWynC,CAAQ,EAC1BA,EAAS,WAAWxE,EAAmB,WAAW,CAClE,EACYjjC,EAAO,MAAK,CACf,CACT,CAAK,ECvCQ+nC,GAAyB,CAACC,EAAQC,IAAY,CACvD,MAAMC,EAAS,IAAI,IACnB,UAAWC,KAASH,EAChB,UAAW/Q,KAAakR,EAAO,CAC3B,MAAMC,EAAQF,EAAO,IAAIjR,CAAS,EAClCiR,EAAO,IAAIjR,EAAWmR,IAAU,OAAY,EAAIA,EAAQ,CAAC,CAC5D,CAELF,EAAO,QAAQ,CAACE,EAAOnR,IAAcgR,EAAQhR,EAAWmR,CAAK,CAAC,CAClE,ECTaC,GAAqBC,GACvB,YAAaA,ECAXC,GAAiCpR,GAAoB,CAC9D,MAAM0E,EAAc,IAAI,IACxB1E,EAAgB,SAAYqR,GAEjB,CAAC7L,EAAajG,EAAS,EAAGC,EAAQ,IAAM,CAC3C,MAAM8R,EAAcJ,GAAkB1L,CAAW,EAAI6L,EAAQ7L,EAAajG,EAAQC,CAAK,EAAI6R,EAAQ7L,EAAajG,CAAM,EAEhHgS,EAA2B7M,EAAY,IAAIc,CAAW,EAC5D,OAAI+L,IAA6B,OAC7B7M,EAAY,IAAIc,EAAa,CAAC,CAAE,MAAAhG,EAAO,OAAAD,CAAQ,EAAC,EAG5CgS,EAAyB,MAAOC,GAAeA,EAAW,QAAUhS,GAASgS,EAAW,SAAWjS,CAAM,GACzGgS,EAAyB,KAAK,CAAE,MAAA/R,EAAO,OAAAD,CAAQ,GAGhD+R,CACnB,GACOtR,EAAgB,QAAQ,KAAKA,CAAe,CAAC,EAChDA,EAAgB,YAAewG,GACpB,CAACiL,EAAqBlS,EAAQC,IAAU,CAE3C,GADAgH,EAAW,MAAMxG,CAAe,EAC5ByR,IAAwB,OACxB/M,EAAY,MAAK,UAEZ,OAAO+M,GAAwB,SACpC,SAAW,CAACjM,EAAa+L,CAAwB,IAAK7M,EAAa,CAC/D,MAAMgN,EAAsBH,EAAyB,OAAQC,GAAeA,EAAW,SAAWC,CAAmB,EACjHC,EAAoB,SAAW,EAC/BhN,EAAY,OAAOc,CAAW,EAG9Bd,EAAY,IAAIc,EAAakM,CAAmB,CAEvD,SAEIhN,EAAY,IAAI+M,CAAmB,EACxC,GAAIlS,IAAW,OACXmF,EAAY,OAAO+M,CAAmB,MAErC,CACD,MAAMF,EAA2B7M,EAAY,IAAI+M,CAAmB,EACpE,GAAIF,IAA6B,OAAW,CACxC,MAAMG,EAAsBH,EAAyB,OAAQC,GAAeA,EAAW,SAAWjS,IAAWiS,EAAW,QAAUhS,GAASA,IAAU,OAAU,EAC3JkS,EAAoB,SAAW,EAC/BhN,EAAY,OAAO+M,CAAmB,EAGtC/M,EAAY,IAAI+M,EAAqBC,CAAmB,CAE/D,CACJ,CAEL,SAAW,CAAClM,EAAa+L,CAAwB,IAAK7M,EAClD6M,EAAyB,QAASC,GAAe,CACzCN,GAAkB1L,CAAW,EAC7BxF,EAAgB,QAAQwF,EAAagM,EAAW,OAAQA,EAAW,KAAK,EAGxExR,EAAgB,QAAQwF,EAAagM,EAAW,MAAM,CAE9E,CAAiB,CAEjB,GACOxR,EAAgB,UAAU,CACjC,ECxCM2R,GAA0C,CAAC9oC,EAAQ28B,EAAajG,EAAQkG,IAAc,CACxF,KAAM,CAAE,aAAAnG,EAAc,cAAA2E,CAAe,EAAG6G,GAAyBtF,CAAW,EACtE,CAAE,QAAAE,CAAO,EAAKT,GAAwBp8B,CAAM,EAC5C88B,EAAiBtB,GAA6Bx7B,CAAM,EACpD42B,EAAiBmG,GAAa,CAChC,MAAM5F,EAAkBmF,GAAmBt8B,CAAM,EAC3C+oC,EAAmBxB,GAAoB5K,CAAW,EACxD,GAAII,EAAU,CACV,MAAMG,EAAoBoK,GAAyClM,EAAep7B,EAAQ02B,CAAM,EAChGmQ,GAAqCpQ,EAAcz2B,EAAQk9B,EAAmB,EAAK,EAC/E,CAACN,GAAa,CAACJ,GAAex8B,CAAM,GACpCm3B,EAAgB,QAAQ4R,EAAkBrS,CAAM,CAEvD,KACI,CACD,MAAMwG,EAAoBkK,GAAwC3Q,EAAcz2B,EAAQ02B,CAAM,EAC9FoQ,GAAsC1L,EAAe8B,EAAmB,EAAK,EACzE,CAACN,GAAa,CAACJ,GAAex8B,CAAM,GACpCm3B,EAAgB,WAAW4R,EAAkBrS,CAAM,CAE1D,CACT,EACI,OAAIF,GAAmBqG,EAAS,CAACF,EAAajG,CAAM,EAAI2G,GAAqBA,EAAiB,CAAC,IAAMV,GAAeU,EAAiB,CAAC,IAAM3G,EAAQ,EAAI,GACpJoG,EAAe,IAAIlG,CAAa,EAC5B2F,GAAkBv8B,CAAM,EACxB6mC,GAAqCpQ,EAAcz2B,EAAQ,CAAC02B,EAAQE,CAAa,EAAG,EAAI,EAGxFkQ,GAAsC1L,EAAe,CAACp7B,EAAQ02B,EAAQE,CAAa,EAAG,EAAI,EAEvF,IAEJ,EACX,EACMoS,GAAmC,CAAChpC,EAAQ28B,EAAajG,EAAQC,IAAU,CAC7E,KAAM,CAAE,aAAAF,EAAc,cAAA2E,CAAe,EAAGgB,GAAwBO,CAAW,EACrE7F,EAAwBoQ,GAA4BzQ,EAAaE,CAAK,EAAG32B,EAAQ02B,CAAM,EAC7F,OAAII,IAA0B,KAEnB,CADwBqE,GAAwCC,EAAep7B,EAAQ02B,EAAQC,CAAK,EAC5E,CAAC,EAAG,EAAK,EAErC,CAACG,EAAsB,CAAC,EAAG,EAAI,CAC1C,EACMmS,GAAoC,CAACjpC,EAAQ28B,EAAajG,IAAW,CACvE,KAAM,CAAE,aAAAD,EAAc,cAAA2E,CAAe,EAAG6G,GAAyBtF,CAAW,EACtE7F,EAAwBoQ,GAA4BzQ,EAAcz2B,EAAQ02B,CAAM,EACtF,OAAII,IAA0B,KAEnB,CADwBwQ,GAAyClM,EAAep7B,EAAQ02B,CAAM,EACtE,CAAC,EAAG,EAAK,EAErC,CAACI,EAAsB,CAAC,EAAG,EAAI,CAC1C,EACMoS,GAA0B,CAAClpC,EAAQ48B,EAAWD,EAAajG,EAAQC,IAAU,CAC/E,KAAM,CAACwS,EAAUpM,CAAQ,EAAIiM,GAAiChpC,EAAQ28B,EAAajG,EAAQC,CAAK,EAOhG,GANIwS,IAAa,OACb9B,GAA+BrnC,EAAQmpC,CAAQ,EAC3CpM,GAAY,CAACH,GAAa,CAACJ,GAAex8B,CAAM,GAChDm8B,GAA6CG,GAAmBt8B,CAAM,EAAGs8B,GAAmBK,CAAW,EAAGjG,EAAQC,CAAK,GAG3H4F,GAAkBI,CAAW,EAAG,CAChC,KAAM,CAAE,aAAAlG,CAAY,EAAK2F,GAAwBO,CAAW,EAC5Df,GAAuCe,EAAalG,CAAY,CACnE,CACL,EACM2S,GAA2B,CAACppC,EAAQ48B,EAAWD,EAAajG,IAAW,CACzE,KAAM,CAACyS,EAAUpM,CAAQ,EAAIkM,GAAkCjpC,EAAQ28B,EAAajG,CAAM,EACtFyS,IAAa,OACb9B,GAA+BrnC,EAAQmpC,CAAQ,EAC3CpM,GAAY,CAACH,GAAa,CAACJ,GAAex8B,CAAM,GAChDs8B,GAAmBt8B,CAAM,EAAE,WAAWunC,GAAoB5K,CAAW,EAAGjG,CAAM,EAG1F,EACM2S,GAAsB,CAACrpC,EAAQ48B,IAAc,CAC/C,MAAM0M,EAA+BlN,GAAwBp8B,CAAM,EAC7DupC,EAAe,GACrB,UAAWlM,KAAoBiM,EAA6B,QACpD5C,GAA4BrJ,CAAgB,EAC5C6L,GAAwBlpC,EAAQ48B,EAAW,GAAGS,CAAgB,EAG9D+L,GAAyBppC,EAAQ48B,EAAW,GAAGS,CAAgB,EAEnEkM,EAAa,KAAKlM,EAAiB,CAAC,CAAC,EAEzC,OAAAiM,EAA6B,QAAQ,QAC9BC,CACX,EACMC,GAA2B,CAACxpC,EAAQ48B,EAAWlG,IAAW,CAC5D,MAAM4S,EAA+BlN,GAAwBp8B,CAAM,EAC7DupC,EAAe,GACrB,UAAWlM,KAAoBiM,EAA6B,QACpDjM,EAAiB,CAAC,IAAM3G,IACpBgQ,GAA4BrJ,CAAgB,EAC5C6L,GAAwBlpC,EAAQ48B,EAAW,GAAGS,CAAgB,EAG9D+L,GAAyBppC,EAAQ48B,EAAW,GAAGS,CAAgB,EAEnEkM,EAAa,KAAKlM,EAAiB,CAAC,CAAC,EACrCiM,EAA6B,QAAQ,OAAOjM,CAAgB,GAGpE,OAAOkM,CACX,EACME,GAAgC,CAACzpC,EAAQ48B,EAAWD,EAAajG,EAAQC,IAAU,CACrF,MAAM2S,EAA+BlN,GAAwBp8B,CAAM,EACnE,OAAO,MAAM,KAAKspC,EAA6B,OAAO,EACjD,OAAQjM,GAAqBA,EAAiB,CAAC,IAAMV,IACrDjG,IAAW,QAAa2G,EAAiB,CAAC,IAAM3G,KAChDC,IAAU,QAAa0G,EAAiB,CAAC,IAAM1G,EAAM,EACrD,IAAK0G,IACFqJ,GAA4BrJ,CAAgB,EAC5C6L,GAAwBlpC,EAAQ48B,EAAW,GAAGS,CAAgB,EAG9D+L,GAAyBppC,EAAQ48B,EAAW,GAAGS,CAAgB,EAEnEiM,EAA6B,QAAQ,OAAOjM,CAAgB,EACrDA,EAAiB,CAAC,EAC5B,CACL,EACaqM,GAA6B,CAACC,EAAyBC,EAA0B5Q,EAAiB6Q,EAA6B1L,EAAsB2L,EAA0B7Q,EAAyB8Q,EAAuBC,EAAcC,EAAwB5Q,EAAkB6Q,EAAsB7B,EAAmB8B,EAAoB5Q,EAA6BC,IACnX,cAAwByQ,CAAuB,CAClD,YAAY5wB,EAAS0jB,EAAU5F,EAAiBD,EAAmB,CAC/D,MAAMC,CAAe,EACrB,KAAK,SAAW9d,EAChB,KAAK,iBAAmB8d,EACxB,MAAM8C,EAAgBZ,EAAiBhgB,CAAO,EAE1C6wB,EAAqBjQ,CAAa,GAE9BjB,EAAgBwO,GAAsC,IAC3CA,GAAqCvN,EAAeT,CAAiC,CAC/F,IAHL,IAIA+O,GAA8BpR,CAAe,EAEjDO,GAAiB,IAAI,KAAMP,CAAe,EAC1CW,GAAgB,IAAI,KAAM,IAAI,GAAK,EAC/Bze,EAAQ,QAAU,UAAY0jB,GAC9BtB,GAAyB,IAAI,EAEjCkO,EAAwB,KAAMzS,EAAmBC,CAAe,CACnE,CACD,IAAI,cAAe,CACf,OAAO,KAAK,iBAAiB,YAChC,CACD,IAAI,aAAaxlC,EAAO,CACpB,KAAK,iBAAiB,aAAeA,CACxC,CACD,IAAI,kBAAmB,CACnB,OAAO,KAAK,iBAAiB,gBAChC,CACD,IAAI,iBAAiBA,EAAO,CACxB,KAAK,iBAAiB,iBAAmBA,CAC5C,CACD,IAAI,uBAAwB,CACxB,OAAO,KAAK,iBAAiB,qBAChC,CACD,IAAI,sBAAsBA,EAAO,CAC7B,KAAK,iBAAiB,sBAAwBA,CACjD,CACD,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,gBAAiB,CACjB,OAAO,KAAK,iBAAiB,cAChC,CACD,IAAI,iBAAkB,CAClB,OAAO,KAAK,iBAAiB,eAChC,CAED,QAAQgrC,EAAajG,EAAS,EAAGC,EAAQ,EAAG,CAExC,GAAID,EAAS,GAAKA,GAAU,KAAK,iBAAiB,gBAC9C,MAAMyH,EAAoB,EAE9B,MAAMlE,EAAgBZ,EAAiB,KAAK,QAAQ,EAC9CuD,EAAYrD,EAA4BU,CAAa,EAC3D,GAAIoO,EAAkB1L,CAAW,GAAKwN,EAAmBxN,CAAW,EAChE,MAAMmN,EAAwB,EAElC,GAAItD,GAAY7J,CAAW,EAAG,CAC1B,MAAMK,EAA6BV,GAAmBK,CAAW,EACjE,GAAI,CACA,MAAMgM,EAAa1M,GAAwC,KAAK,iBAAkBe,EAA4BtG,EAAQC,CAAK,EACrHyT,EAAY3N,GAAmB,IAAI,GACrCG,GAAawN,IACb,KAAK,iBAAiB,WAAW,GAAGzB,CAAU,EAE9C,KAAK,QAAQ,QAAU,UAAY,CAACyB,GAAa3N,GAAmBE,CAAW,GAC/ElB,GAAyBkB,CAAW,CAE3C,OACM57B,EAAK,CAER,MAAIA,EAAI,OAAS,GACP+oC,EAAwB,EAE5B/oC,CACT,CAGD,GAFmC6oC,EAAyB,KAAMjN,EAAajG,EAAQC,EAAOiG,CAAS,EAEvE,CAC5B,MAAMoL,EAASgC,EAAa,CAAC,IAAI,EAAGrN,CAAW,EAC/CoL,GAAuBC,EAAQ6B,EAA4BjN,CAAS,CAAC,CACxE,CACD,OAAOD,CACV,CACD,MAAMoM,EAAmBxB,GAAoB5K,CAAW,EAMxD,GAAIoM,EAAiB,OAAS,gBAAkBA,EAAiB,WAAa,KAC1E,MAAM9P,EAAuB,EAEjC,GAAI,CACA,KAAK,iBAAiB,QAAQ8P,EAAkBrS,CAAM,GAClDkG,GAAaH,GAAmB,IAAI,IACpC,KAAK,iBAAiB,WAAWsM,EAAkBrS,CAAM,CAEhE,OACM31B,EAAK,CAER,MAAIA,EAAI,OAAS,GACP+oC,EAAwB,EAE5B/oC,CACT,CAGD,GAFoC+nC,GAAwC,KAAMnM,EAAajG,EAAQkG,CAAS,EAE/E,CAC7B,MAAMoL,EAASgC,EAAa,CAAC,IAAI,EAAGrN,CAAW,EAC/CoL,GAAuBC,EAAQ6B,EAA4BjN,CAAS,CAAC,CACxE,CACJ,CACD,WAAWgM,EAAqBlS,EAAQC,EAAO,CAC3C,IAAI4S,EACJ,MAAMtP,EAAgBZ,EAAiB,KAAK,QAAQ,EAC9CuD,EAAYrD,EAA4BU,CAAa,EAC3D,GAAI2O,IAAwB,OACxBW,EAAeF,GAAoB,KAAMzM,CAAS,UAE7C,OAAOgM,GAAwB,SAAU,CAC9C,GAAIA,EAAsB,GAAKA,GAAuB,KAAK,gBACvD,MAAMzK,EAAoB,EAE9BoL,EAAeC,GAAyB,KAAM5M,EAAWgM,CAAmB,CAC/E,KACI,CAID,GAHIlS,IAAW,SAAcA,EAAS,GAAKA,GAAU,KAAK,kBAGtD8P,GAAYoC,CAAmB,GAAKjS,IAAU,SAAcA,EAAQ,GAAKA,GAASiS,EAAoB,gBACtG,MAAMzK,EAAoB,EAG9B,GADAoL,EAAeE,GAA8B,KAAM7M,EAAWgM,EAAqBlS,EAAQC,CAAK,EAC5F4S,EAAa,SAAW,EACxB,MAAMO,EAAwB,CAErC,CAED,UAAWnN,KAAe4M,EAAc,CACpC,MAAMvB,EAASgC,EAAa,CAAC,IAAI,EAAGrN,CAAW,EAC/CoL,GAAuBC,EAAQ+B,CAAqB,CACvD,CACJ,CACT,ECvSaM,GAA0B,CAACC,EAA0BC,EAA0BC,EAAiBC,EAA0BzU,EAAoCE,EAA4CC,EAA6CC,EAAwCC,EAAgC9C,EAA+BE,EAAoCuP,EAA+B0H,IACna,CAACzT,EAAW0T,EAAmC5B,EAAkB6B,EAAW,KAAMC,EAAW,OAAS,CACzG,MAAMC,EAAsB,IAAI1V,GAAoB2T,EAAiB,YAAY,EAC3ExR,EAAqBoT,EAAoCF,EAAyBK,CAAmB,EAAI,KACzGxT,EAAa,CACf,IAAI,cAAe,CACf,OAAOyR,EAAiB,YAC3B,EACD,IAAI,UAAW,CACX,OAAO6B,IAAa,KAAO7B,EAAiB,SAAW6B,CAC1D,EACD,IAAI,UAAW,CACX,OAAOC,IAAa,KAAO9B,EAAiB,SAAW8B,CAC1D,EACD,IAAI,OAAQ,CACR,OAAO9B,EAAiB,KAC3B,EACD,IAAI,MAAMp3C,EAAO,CACbo3C,EAAiB,MAAQp3C,EAEzB2lC,EAAW,eAAe3lC,EAAOslC,EAAU,QAAQ,WAAW,CACjE,EACD,oBAAoBhB,EAAY,CAE5B,GAAI,OAAO8S,EAAiB,qBAAwB,WAC5CxR,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAI9U,EAAmCC,CAAU,CAAC,EACtE8S,EAAiB,oBAAoB9S,CAAU,MAE9C,CACD,MAAM8U,EAAoB,MAAM,KAAKD,CAAmB,EAAE,IAAG,EACzDvT,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAI9U,EAAmCC,CAAU,CAAC,EACtE,MAAM+U,EAAmB,MAAM,KAAKF,CAAmB,EAAE,IAAG,EAC5D/B,EAAiB,sBAAsB9S,CAAU,EAC7C8U,IAAsBC,GAAoBA,IAAqB,SAC3DA,EAAiB,OAAS,yBAC1BjC,EAAiB,6BAA6BiC,EAAiB,MAAOA,EAAiB,OAAO,EAEzFA,EAAiB,OAAS,oBAC/BjC,EAAiB,wBAAwBiC,EAAiB,MAAOA,EAAiB,OAAO,EAEpFA,EAAiB,OAAS,WAC/BjC,EAAiB,eAAeiC,EAAiB,MAAOA,EAAiB,SAAS,EAE7EA,EAAiB,OAAS,iBAC/BjC,EAAiB,oBAAoBiC,EAAiB,OAAQA,EAAiB,UAAWA,EAAiB,QAAQ,EAG9H,CACD,OAAO1T,CACV,EACD,sBAAsBrB,EAAY,CAC9B,OAAIsB,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAI5U,EAA2CD,CAAU,CAAC,EAC9E8S,EAAiB,sBAAsB9S,CAAU,EAC1CqB,CACV,EACD,6BAA6B3lC,EAAOyhC,EAAS,CAEzC,GAAIzhC,IAAU,EACV,MAAM,IAAI,WAGd,GAAI,CAAC,OAAO,SAASyhC,CAAO,GAAKA,EAAU,EACvC,MAAM,IAAI,WAEd,OAAImE,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAI3U,EAA4CxkC,EAAOyhC,CAAO,CAAC,EACnF2V,EAAiB,6BAA6Bp3C,EAAOyhC,CAAO,EACrDkE,CACV,EACD,wBAAwB3lC,EAAOyhC,EAAS,CACpC,OAAImE,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAI1U,EAAuCzkC,EAAOyhC,CAAO,CAAC,EAC9E2V,EAAiB,wBAAwBp3C,EAAOyhC,CAAO,EAChDkE,CACV,EACD,gBAAgBv/B,EAAQy7B,EAAWK,EAAc,CAC7C,OAAI0D,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAIzU,EAA+Bt+B,EAAQy7B,EAAWK,CAAY,CAAC,EACvFkV,EAAiB,gBAAgBhxC,EAAQy7B,EAAWK,CAAY,EACzDyD,CACV,EACD,eAAe3lC,EAAO6hC,EAAW,CAC7B,OAAI+D,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAIvX,EAA8B5hC,EAAO6hC,CAAS,CAAC,EACvEuV,EAAiB,eAAep3C,EAAO6hC,CAAS,EACzC8D,CACV,EACD,oBAAoBp2B,EAAQsyB,EAAW5I,EAAU,CAE7C,MAAMqgB,EAAkB/pC,aAAkB,aAAeA,EAAS,IAAI,aAAaA,CAAM,EAMzF,GAAI8hC,IAAkC,MAAQA,EAA8B,OAAS,qBAAsB,CACvG,MAAM5P,EAAUI,EAAY5I,EACtBsV,EAAajJ,EAAU,QAAQ,WAC/BiU,EAAc,KAAK,KAAK1X,EAAY0M,CAAU,EAC9CiL,EAAa,KAAK,MAAM/X,EAAU8M,CAAU,EAC5CkL,EAA6BD,EAAaD,EAC1CG,EAAqB,IAAI,aAAaD,CAA0B,EACtE,QAASx6C,EAAI,EAAGA,EAAIw6C,EAA4Bx6C,GAAK,EAAG,CACpD,MAAMmkC,GAAmBkW,EAAgB,OAAS,GAAKrgB,IAAcsgB,EAAct6C,GAAKsvC,EAAa1M,GAC/FwB,GAAa,KAAK,MAAMD,CAAc,EACtCE,GAAa,KAAK,KAAKF,CAAc,EAC3CsW,EAAmBz6C,CAAC,EAChBokC,KAAeC,GACTgW,EAAgBjW,EAAU,GACzB,GAAKD,EAAiBC,KAAeiW,EAAgBjW,EAAU,GAC7D,GAAKC,GAAaF,IAAmBkW,EAAgBhW,EAAU,CAC/E,CACGsC,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAIrX,EAAmC4X,EAAoB7X,EAAW5I,CAAQ,CAAC,EACnGme,EAAiB,oBAAoBsC,EAAoB7X,EAAW5I,CAAQ,EAC5E,MAAM0gB,GAAmBH,EAAajL,EAClCoL,GAAmBlY,GACnBsX,EAA4BpT,EAAY+T,EAAmBA,EAAmB,OAAS,CAAC,EAAGC,EAAgB,EAE/GZ,EAA4BpT,EAAY2T,EAAgBA,EAAgB,OAAS,CAAC,EAAG7X,CAAO,CAC/F,MAEOmE,IAAuB,MACvBuT,EAAoB,MAAM7T,EAAU,QAAQ,WAAW,EAE3D6T,EAAoB,IAAIrX,EAAmCwX,EAAiBzX,EAAW5I,CAAQ,CAAC,EAChGme,EAAiB,oBAAoBkC,EAAiBzX,EAAW5I,CAAQ,EAE7E,OAAO0M,CACV,CACb,EACQ,OAAAkT,EAAgB,IAAIlT,EAAYyR,CAAgB,EAChDwB,EAAyB,IAAIjT,EAAYL,CAAS,EAClDqT,EAAyBhT,EAAYC,CAAkB,EAChDD,CACf,EC3JamT,GAA4BK,IAC9B,CACH,OAAOxT,EAAY,CACf,UAAWvD,KAAmB+W,EAC1B,GAAI/W,EAAgB,OAAS,yBAA0B,CACnD,KAAM,CAAE,QAAAX,EAAS,MAAAzhC,CAAO,EAAGoiC,EAC3BuD,EAAW,6BAA6B3lC,EAAOyhC,CAAO,CACzD,SACQW,EAAgB,OAAS,oBAAqB,CACnD,KAAM,CAAE,QAAAX,EAAS,MAAAzhC,CAAO,EAAGoiC,EAC3BuD,EAAW,wBAAwB3lC,EAAOyhC,CAAO,CACpD,SACQW,EAAgB,OAAS,YAAa,CAC3C,KAAM,CAAE,UAAAP,EAAW,OAAAz7B,EAAQ,aAAA87B,CAAY,EAAKE,EAC5CuD,EAAW,gBAAgBv/B,EAAQy7B,EAAWK,CAAY,CAC7D,SACQE,EAAgB,OAAS,WAAY,CAC1C,KAAM,CAAE,UAAAP,EAAW,MAAA7hC,CAAO,EAAGoiC,EAC7BuD,EAAW,eAAe3lC,EAAO6hC,CAAS,CAC7C,SACQO,EAAgB,OAAS,gBAAiB,CAC/C,KAAM,CAAE,SAAAnJ,EAAU,UAAA4I,EAAW,OAAAtyB,CAAM,EAAK6yB,EACxCuD,EAAW,oBAAoBp2B,EAAQsyB,EAAW5I,CAAQ,CAC7D,KAEG,OAAM,IAAI,MAAM,oCAAoC,CAG/D,CACT,GC7BO,MAAM2gB,EAAY,CACrB,YAAYC,EAAY,CACpB,KAAK,KAAO,IAAI,IAAIA,CAAU,CACjC,CACD,IAAI,MAAO,CACP,OAAO,KAAK,KAAK,IACpB,CACD,SAAU,CACN,OAAO,KAAK,KAAK,SACpB,CACD,QAAQxvC,EAAUC,EAAU,KAAM,CAC9B,OAAO,KAAK,KAAK,QAAQ,CAACtK,EAAOrB,IAAQ0L,EAAS,KAAKC,EAAStK,EAAOrB,EAAK,IAAI,CAAC,CACpF,CACD,IAAI6D,EAAM,CACN,OAAO,KAAK,KAAK,IAAIA,CAAI,CAC5B,CACD,IAAIA,EAAM,CACN,OAAO,KAAK,KAAK,IAAIA,CAAI,CAC5B,CACD,MAAO,CACH,OAAO,KAAK,KAAK,MACpB,CACD,QAAS,CACL,OAAO,KAAK,KAAK,QACpB,CACL,CCvBA,MAAM4pC,GAAkB,CACpB,aAAc,EAEd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgB,EAChB,gBAAiB,EACjB,cAAe,CAAE,EACjB,iBAAkB,CAAE,CACxB,EACa0N,GAAoC,CAACC,EAA+BpL,EAAsBE,EAAkBmL,EAAgCC,EAA8BxP,EAAyByP,EAA8BxS,EAAkBE,EAA6BC,EAAmCsS,EAAiCC,EAAiCC,EAAwCrL,IAC/Z,cAA+BL,CAAqB,CACvD,YAAYjnB,EAASllB,EAAM8Q,EAAS,CAChC,IAAInM,EACJ,MAAMmhC,EAAgBZ,EAAiBhgB,CAAO,EACxCujB,EAAYrD,EAA4BU,CAAa,EACrDoE,EAAgByN,EAAgC,CAAE,GAAG/N,GAAiB,GAAG94B,CAAO,CAAE,EAExF+mC,EAAuC3N,CAAa,EACpD,MAAM/D,EAAoCtC,GAAwC,IAAIiC,CAAa,EAC7FgS,EAAuB3R,GAAsC,KAAuD,OAASA,EAAkC,IAAInmC,CAAI,EAEvKwmC,EAA2CiC,GAAa3C,EAAc,QAAU,SAChFA,GACCnhC,EAAK+yC,EAA6B5R,CAAa,KAAO,MAAQnhC,IAAO,OAASA,EAAKmhC,EACpFiS,EAAyBN,EAA6BjR,EAA0CiC,EAAY,KAAOvjB,EAAQ,YAAamgB,EAAmCrlC,EAAM83C,EAAsB5N,CAAa,EACpN8N,EAA6BvP,EAAY+O,EAA+Bx3C,EAAMkqC,EAAe4N,CAAoB,EAAI,KAK3H,MAAM5yB,EAAS,GAAM6yB,EAAwBC,CAAwB,EACrE,MAAMX,EAAa,GACnBU,EAAuB,WAAW,QAAQ,CAACnD,EAAkBqD,IAAO,CAChE,MAAM9U,GAAakJ,EAAiB,KAAM5D,EAAWmM,CAAgB,EACrEyC,EAAW,KAAK,CAACY,EAAI9U,EAAU,CAAC,CAChD,CAAa,EACD,KAAK,wBAA0B4U,EAC/B,KAAK,kBAAoB,KACzB,KAAK,YAAc,IAAIX,GAAYC,CAAU,EAKzC5O,GACA8O,EAA8BzR,EAAe,IAAI,EAErD,KAAM,CAAE,aAAAxD,CAAY,EAAK2F,EAAwB,IAAI,EACrD2P,EAAgCG,EAAwBzV,CAAY,CACvE,CACD,IAAI,kBAAmB,CACnB,OAAO,KAAK,iBACf,CACD,IAAI,iBAAiB9kC,EAAO,CACxB,MAAMmvC,EAAkB,OAAOnvC,GAAU,WAAagvC,EAAkB,KAAMhvC,CAAK,EAAI,KACvF,KAAK,wBAAwB,iBAAmBmvC,EAChD,MAAMuL,EAAyB,KAAK,wBAAwB,iBAC5D,KAAK,kBACDA,IAA2B,MAAQA,IAA2BvL,EACxDnvC,EACA06C,CACb,CACD,IAAI,YAAa,CACb,OAAI,KAAK,cAAgB,KAEd,KAAK,wBAAwB,WAEjC,KAAK,WACf,CACD,IAAI,MAAO,CACP,OAAO,KAAK,wBAAwB,IACvC,CACT,EC1EO,SAASC,GAAgBjN,EAEhC/nC,EAAQhH,EAAKi8C,EAAeC,EAAc,CACtC,GAAI,OAAOnN,EAAY,iBAAoB,WAEnC/nC,EAAOhH,CAAG,EAAE,aAAe,IAC3BgH,EAAOhH,CAAG,EAAI,IAAI,aAAa,GAAG,GAEtC+uC,EAAY,gBAAgB/nC,EAAOhH,CAAG,EAAGi8C,EAAeC,CAAY,MAGnE,CACD,MAAM5E,EAAcvI,EAAY,eAAekN,CAAa,EAE5D,GAAIj1C,EAAOhH,CAAG,EAAE,aAAe,EAC3BgH,EAAOhH,CAAG,EAAIs3C,EAAY,MAAM4E,EAAcA,EAAe,GAAG,MAE/D,CACD,MAAMC,EAAc,IAAI,aAAa7E,EAAY,OAAQ4E,EAAe,aAAa,kBAAmB,GAAG,EAC3Gl1C,EAAOhH,CAAG,EAAE,IAAIm8C,CAAW,CAC9B,CACJ,CACL,CCtBO,MAAMC,GAAgB,CAACrN,EAAa/nC,EAAQhH,EAAKi8C,EAAeC,IAAiB,CAChF,OAAOnN,EAAY,eAAkB,WAEjC/nC,EAAOhH,CAAG,EAAE,aAAe,GAC3B+uC,EAAY,cAAc/nC,EAAOhH,CAAG,EAAGi8C,EAAeC,CAAY,EAMlEl1C,EAAOhH,CAAG,EAAE,aAAe,GAC3B+uC,EAAY,eAAekN,CAAa,EAAE,IAAIj1C,EAAOhH,CAAG,EAAGk8C,CAAY,CAGnF,ECdaG,GAAqB,CAACC,EAAGC,IAAM,CACxC,MAAMC,EAAS,GACf,QAASl8C,EAAI,EAAGA,EAAIg8C,EAAGh8C,GAAK,EAAG,CAC3B,MAAM8tC,EAAQ,GACRsB,EAAS,OAAO6M,GAAM,SAAWA,EAAIA,EAAEj8C,CAAC,EAC9C,QAAS+yB,EAAI,EAAGA,EAAIqc,EAAQrc,GAAK,EAC7B+a,EAAM,KAAK,IAAI,aAAa,GAAG,CAAC,EAEpCoO,EAAO,KAAKpO,CAAK,CACpB,CACD,OAAOoO,CACX,ECRaC,GAA2B,CAAC/N,EAA2B9gC,IAAU,CAC1E,MAAM8uC,EAAqBlS,GAAe7C,GAAwB+G,CAAyB,EACrFkN,EAAyB5P,GAAmBp+B,CAAK,EACvD,OAAO48B,GAAekS,EAAoBd,CAAsB,CACpE,ECDMe,GAAgB,MAAO/uC,EAAOgvC,EAAgBlO,EAA2B/5B,EAASkoC,EAAoBlB,EAAsB9S,IAAqC,CAGnK,MAAM6G,EAASkN,IAAmB,KAAO,KAAK,KAAKhvC,EAAM,QAAQ,OAAS,GAAG,EAAI,IAAMgvC,EAAe,OAChGE,EAAwBnoC,EAAQ,aAAeA,EAAQ,eACvDooC,EAAyBF,EAAmB,OAAO,CAACG,EAAK37C,IAAU27C,EAAM37C,EAAO,CAAC,EACjF47C,EAAkBF,IAA2B,EAC7C,KACArO,EAA0B,aAAaqO,EAAwBrN,EAAQhB,EAA0B,UAAU,EACjH,GAAIiN,IAAyB,OACzB,MAAM,IAAI,MAAM,oCAAoC,EAExD,MAAMuB,EAAuBpR,GAAwBl+B,CAAK,EACpDuvC,EAAwB,MAAMV,GAAyB/N,EAA2B9gC,CAAK,EACvFwvC,EAASf,GAAmB1nC,EAAQ,eAAgBA,EAAQ,YAAY,EACxE43B,EAAU8P,GAAmB1nC,EAAQ,gBAAiBkoC,CAAkB,EACxE3B,EAAa,MAAM,KAAKttC,EAAM,WAAW,KAAI,CAAE,EAAE,OAAO,CAACyvC,EAAQx5C,KAAU,CAAE,GAAGw5C,EAAQ,CAACx5C,CAAI,EAAG,IAAI,aAAa,GAAG,CAAC,GAAK,EAAE,EAClI,QAASvD,EAAI,EAAGA,EAAIovC,EAAQpvC,GAAK,IAAK,CAClC,GAAIqU,EAAQ,eAAiB,GAAKioC,IAAmB,KACjD,QAASvpB,EAAI,EAAGA,EAAI1e,EAAQ,eAAgB0e,GAAK,EAC7C,QAAS+O,EAAI,EAAGA,EAAIztB,EAAQ,aAAcytB,GAAK,EAC3C4Z,GAAgBY,EAAgBQ,EAAO/pB,CAAC,EAAG+O,EAAGA,EAAG9hC,CAAC,EAI1Dq7C,EAAqB,uBAAyB,QAAaiB,IAAmB,MAC9EjB,EAAqB,qBAAqB,QAAQ,CAAC,CAAE,KAAA93C,CAAI,EAAIwf,IAAU,CACnE24B,GAAgBY,EAAgB1B,EAAYr3C,EAAMi5C,EAAwBz5B,EAAO/iB,CAAC,CAClG,CAAa,EAEL,QAAS+yB,EAAI,EAAGA,EAAI1e,EAAQ,eAAgB0e,GAAK,EAC7C,QAAS+O,EAAI,EAAGA,EAAIya,EAAmBxpB,CAAC,EAAG+O,GAAK,EAExCmK,EAAQlZ,CAAC,EAAE+O,CAAC,EAAE,aAAe,IAC7BmK,EAAQlZ,CAAC,EAAE+O,CAAC,EAAI,IAAI,aAAa,GAAG,GAIhD,GAAI,CACA,MAAMkb,EAAyBF,EAAO,IAAI,CAAC/W,EAAOhjB,IAC1C65B,EAAqB,aAAa75B,CAAK,EAAE,OAAS,EAC3C,GAEJgjB,CACV,EACKkX,EAAmB1U,EAAiCvoC,EAAIouC,EAA0B,WAAYA,EAA0B,WAAY,IAAMyO,EAAsB,QAAQG,EAAwB/Q,EAAS2O,CAAU,CAAC,EAC1N,GAAI+B,IAAoB,KACpB,QAAS5pB,EAAI,EAAGmqB,EAAkC,EAAGnqB,EAAI1e,EAAQ,gBAAiB0e,GAAK,EAAG,CACtF,QAAS+O,EAAI,EAAGA,EAAIya,EAAmBxpB,CAAC,EAAG+O,GAAK,EAC5Cga,GAAca,EAAiB1Q,EAAQlZ,CAAC,EAAG+O,EAAGob,EAAkCpb,EAAG9hC,CAAC,EAExFk9C,GAAmCX,EAAmBxpB,CAAC,CAC1D,CAEL,GAAI,CAACkqB,EACD,KAEP,OACME,EAAO,CACV7vC,EAAM,cAAc,IAAI,WAAW,iBAAkB,CACjD,MAAO6vC,EAAM,MACb,SAAUA,EAAM,SAChB,OAAQA,EAAM,OACd,QAASA,EAAM,OAClB,EAAC,EACF,KACH,CACJ,CACD,OAAOR,CACX,EACaS,GAAwC,CAAC5M,EAAmB6M,EAAwBvN,EAAmCwD,EAA+BgK,EAAiC/J,EAAgC3G,EAAsB2Q,EAAkCC,EAA2BjV,EAAkCmD,EAAoB9C,EAAmCmG,EAAsC0B,EAAkBxC,EAAyBwP,IACtd,CAACl6C,EAAM8Q,EAASgnC,IAAyB,CAC5C,MAAMqC,EAA2B,IAAI,QACrC,IAAIC,EAAyB,KAC7B,MAAMC,EAAkB,MAAOtwC,EAAO8gC,IAA8B,CAChE,IAAIkN,EAAyB5P,EAAmBp+B,CAAK,EACjDuwC,EAAoB,KACxB,MAAMC,EAAyC/P,GAAiBuN,EAAwBlN,CAAyB,EAC3GmO,EAAqB,MAAM,QAAQloC,EAAQ,kBAAkB,EAC7DA,EAAQ,mBACR,MAAM,KAAKA,EAAQ,kBAAkB,EAE3C,GAAIu0B,IAAsC,KAAM,CAC5C,MAAM6T,EAAyBF,EAAmB,OAAO,CAACG,EAAK37C,IAAU27C,EAAM37C,EAAO,CAAC,EACjFg9C,EAA4BT,EAAgClP,EAA2B,CACzF,aAAc,KAAK,IAAI,EAAGqO,CAAsB,EAChD,iBAAkB,WAClB,sBAAuB,WACvB,gBAAiB,KAAK,IAAI,EAAGA,CAAsB,CACvE,CAAiB,EACKuB,EAA2B,GACjC,QAASh+C,EAAI,EAAGA,EAAIsN,EAAM,gBAAiBtN,GAAK,EAC5Cg+C,EAAyB,KAAK1K,EAA8BlF,EAA2B,CACnF,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgBmO,EAAmBv8C,CAAC,CACvC,EAAC,EAEN,MAAMi+C,GAAiBrR,EAAqBwB,EAA2B,CACnE,aAAc/5B,EAAQ,aACtB,iBAAkBA,EAAQ,iBAC1B,sBAAuBA,EAAQ,sBAC/B,KAAM,CAC1B,CAAiB,EACD4pC,GAAe,QAAUZ,EAAuB,KAAK,KAAMW,CAAwB,EACnFC,GAAe,WAAaT,EAA0B,KAAK,KAAMQ,CAAwB,EACzFH,EAAoB,CAACE,EAA2BC,EAA0BC,EAAc,CAC3F,MACSH,IACNxC,EAAyB,IAAI1S,EAAkCwF,EAA2B7qC,CAAI,GAGlG,GADAm6C,EAAyB,IAAItP,EAA2ByP,IAAsB,KAAOvC,EAAyBuC,EAAkB,CAAC,CAAC,EAC9HA,IAAsB,KAAM,CAC5B,GAAIF,IAA2B,KAAM,CACjC,GAAItC,IAAyB,OACzB,MAAM,IAAI,MAAM,oCAAoC,EAExD,GAAItM,IAAyC,KACzC,MAAM,IAAI,MAAM,qDAAqD,EAGzE,MAAMyN,EAAwBlvC,EAAM,aAAeA,EAAM,eACnD4wC,GAAqB7C,EAAqB,uBAAyB,OAAY,EAAIA,EAAqB,qBAAqB,OAC7HhM,GAAmBmN,EAAwB0B,GAoDjDP,EAAyBtB,GAAc/uC,EAAO+hC,KAAqB,EAAI,KAAO,MAnDzD,SAAY,CAC7B,MAAM8O,GAA6B,IAAIpP,EAAqCM,GAG5E,KAAK,KAAK/hC,EAAM,QAAQ,OAAS,GAAG,EAAI,IAAK8gC,EAA0B,UAAU,EAC3EgQ,GAAY,GACZC,GAA4B,GAClC,QAASr+C,GAAI,EAAGA,GAAIqU,EAAQ,eAAgBrU,IAAK,EAC7Co+C,GAAU,KAAKxR,EAAqBuR,GAA4B,CAC5D,aAAc9pC,EAAQ,aACtB,iBAAkBA,EAAQ,iBAC1B,sBAAuBA,EAAQ,sBAC/B,KAAM,CACT,EAAC,EACFgqC,GAA0B,KAAKf,EAAgCa,GAA4B,CACvF,aAAc9pC,EAAQ,aACtB,iBAAkB,WAClB,sBAAuB,WACvB,gBAAiBA,EAAQ,YAC5B,EAAC,EAEN,MAAMiqC,GAAsB,MAAM,QAAQ,IAAI,MAAM,KAAKhxC,EAAM,WAAW,OAAQ,GAAE,IAAI,MAAOo5B,IAAe,CAC1G,MAAMiO,EAAqBpB,EAA+B4K,GAA4B,CAClF,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,OAAQzX,GAAW,KACnD,CAA6B,EACD,aAAM+J,EAAiB0N,GAA4BzX,GAAYiO,EAAmB,MAAM,EACjFA,CACV,EAAC,EACI4J,GAAyBjL,EAA8B6K,GAA4B,CACrF,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgB,KAAK,IAAI,EAAG3B,EAAwB0B,EAAkB,CAClG,CAAyB,EACD,QAASl+C,GAAI,EAAGA,GAAIqU,EAAQ,eAAgBrU,IAAK,EAAG,CAChDo+C,GAAUp+C,EAAC,EAAE,QAAQq+C,GAA0Br+C,EAAC,CAAC,EACjD,QAAS+yB,EAAI,EAAGA,EAAI1e,EAAQ,aAAc0e,GAAK,EAC3CsrB,GAA0Br+C,EAAC,EAAE,QAAQu+C,GAAwBxrB,EAAG/yB,GAAIqU,EAAQ,aAAe0e,CAAC,CAEnG,CACD,SAAW,CAAChQ,GAAO4xB,CAAkB,IAAK2J,GAAoB,QAAO,EACjE3J,EAAmB,QAAQ4J,GAAwB,EAAG/B,EAAwBz5B,EAAK,EACnF4xB,EAAmB,MAAM,CAAC,EAE9B,OAAA4J,GAAuB,QAAQJ,GAA2B,WAAW,EACrE,MAAM,QAAQ,IAAIC,GAAU,IAAKI,IAAavQ,EAAwB3gC,EAAO6wC,GAA4BK,EAAQ,CAAC,CAAC,EAC5Gf,EAAgCU,EAA0B,CACzF,GACsH,EAAE/P,EAA2B/5B,EAASkoC,EAAoBlB,EAAsB9S,CAAgC,CACrN,CACD,MAAMoU,EAAkB,MAAMgB,EACxBc,EAAwB3O,EAAkC1B,EAA2B,CACvF,OAAQ,KACR,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,KAAM,GACN,QAAS,EACT,UAAW,EACX,aAAc,CAClC,CAAiB,EACK,CAAC2P,EAA2BC,GAA0BC,CAAc,EAAIJ,EAC1ElB,IAAoB,OACpB8B,EAAsB,OAAS9B,EAC/B8B,EAAsB,MAAM,CAAC,GAEjCA,EAAsB,QAAQV,CAAyB,EACvD,QAAS/9C,EAAI,EAAGk9C,GAAkC,EAAGl9C,EAAIsN,EAAM,gBAAiBtN,GAAK,EAAG,CACpF,MAAM0+C,GAA0BV,GAAyBh+C,CAAC,EAC1D,QAAS+yB,GAAI,EAAGA,GAAIwpB,EAAmBv8C,CAAC,EAAG+yB,IAAK,EAC5CgrB,EAA0B,QAAQW,GAAyBxB,GAAkCnqB,GAAGA,EAAC,EAErGmqB,IAAmCX,EAAmBv8C,CAAC,CAC1D,CACD,OAAOi+C,CACV,CACD,GAAKH,EAQD,SAAW,CAACtC,EAAI9U,CAAU,IAAKp5B,EAAM,WAAW,UAC5C,MAAMkjC,EAAkBpC,EAA2B1H,EAEnD4U,EAAuB,WAAW,IAAIE,CAAE,CAAC,MAV7C,UAAW,CAACA,EAAI9U,CAAU,IAAKp5B,EAAM,WAAW,UAC5C,MAAMmjC,EAAiBrC,EAA2B1H,EAElD4U,EAAuB,WAAW,IAAIE,CAAE,CAAC,EAUjD,aAAMvN,EAAwB3gC,EAAO8gC,EAA2BkN,CAAsB,EAC/EA,CACnB,EACQ,MAAO,CACH,OAAOhuC,EAAO8gC,EAA2B,CACrCmP,EAAiCnP,EAA2B9gC,CAAK,EACjE,MAAMqxC,EAA2CjB,EAAyB,IAAItP,CAAyB,EACvG,OAAIuQ,IAA6C,OACtC,QAAQ,QAAQA,CAAwC,EAE5Df,EAAgBtwC,EAAO8gC,CAAyB,CAC1D,CACb,CACA,EC7OawQ,GAAoC,CAACC,EAAuBC,EAAyBC,EAAwBC,EAAkCC,EAA6BC,EAA8BC,EAAgCC,EAA+BC,EAA0BC,EAAiBC,EAAsBC,EAAmCC,EAAqBC,EAA0BC,EAAoCC,EAA2BC,EAAuBC,EAAyBC,EAA6BC,IAC1iB,cAA+BL,CAAmC,CACrE,YAAYM,EAAgB5Q,EAAkB,CAC1C,MAAM4Q,EAAgB5Q,CAAgB,EACtC,KAAK,eAAiB4Q,EACtB,KAAK,cACDpB,IAA0B,OACpB,OACA,CACE,UAAW,CAAC5V,EAAW50B,IACZwqC,EAAsB,KAAM5V,EAAW50B,CAAO,CAEjF,CACS,CACD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,gBAAiB,CACb,OAAO,IAAIyqC,EAAwB,IAAI,CAC1C,CACD,oBAAqB,CACjB,OAAO,IAAIG,EAA4B,IAAI,CAC9C,CACD,aAAa5P,EAAkBD,EAAQE,EAAY,CAC/C,OAAO,IAAIyP,EAAuB,CAAE,OAAA3P,EAAQ,iBAAAC,EAAkB,WAAAC,CAAY,EAC7E,CACD,oBAAqB,CACjB,OAAO,IAAI0P,EAAiC,IAAI,CACnD,CACD,oBAAoBkB,EAAiB,EAAG,CACpC,OAAO,IAAIhB,EAA6B,KAAM,CAAE,eAAAgB,CAAgB,EACnE,CACD,sBAAsBC,EAAkB,EAAG,CACvC,OAAO,IAAIhB,EAA+B,KAAM,CAAE,gBAAAgB,CAAiB,EACtE,CACD,sBAAuB,CACnB,OAAO,IAAIf,EAA8B,IAAI,CAChD,CACD,iBAAkB,CACd,OAAO,IAAIC,EAAyB,IAAI,CAC3C,CACD,YAAYe,EAAe,EAAG,CAC1B,OAAO,IAAIb,EAAqB,KAAM,CAAE,aAAAa,CAAc,EACzD,CACD,0BAA2B,CACvB,OAAO,IAAIZ,EAAkC,IAAI,CACpD,CACD,YAAa,CACT,OAAO,IAAIC,EAAoB,IAAI,CACtC,CACD,gBAAgBY,EAAaC,EAAU,CACnC,OAAO,IAAIZ,EAAyB,KAAM,CAAE,SAAAY,EAAU,YAAAD,CAAa,EACtE,CACD,kBAAmB,CACf,OAAO,IAAIT,EAA0B,IAAI,CAC5C,CACD,cAAe,CACX,OAAO,IAAIC,EAAsB,IAAI,CACxC,CACD,mBAAmBU,EAAMC,EAAMC,EAAc,CAAE,qBAAsB,IAAS,CAC1E,OAAO,IAAIX,EAAwB,KAAM,CAAE,GAAGW,EAAa,KAAAD,EAAM,KAAAD,CAAI,CAAE,CAC1E,CACD,oBAAqB,CACjB,OAAO,IAAIR,EAA4B,IAAI,CAC9C,CACD,kBAAmB,CACf,OAAO,IAAIC,EAA0B,IAAI,CAC5C,CACD,gBAAgBU,EAAWC,EAAiBC,EAAe,CACvD,OAAOtB,EAAgB,KAAK,eAAgBoB,CAAS,EAAE,KAAMjS,IACrD,OAAOkS,GAAoB,YAC3BA,EAAgBlS,CAAW,EAExBA,GACPt+B,GAAQ,CACR,MAAI,OAAOywC,GAAkB,YACzBA,EAAczwC,CAAG,EAEfA,CACtB,CAAa,CACJ,CACT,EChFMg9B,GAAkB,CACpB,EAAG,EACH,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,OAAQ,EACR,UAAW,IACX,KAAM,EACN,KAAM,SACV,EACa0T,GAAoC,CAACnR,EAAsBE,EAAkBkR,EAAgC5H,EAA0B6H,EAA8BtY,EAAkBE,EAA6BqY,IACtN,cAA+BtR,CAAqB,CACvD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChD4sC,EAAyBF,EAA6B1X,EAAeoE,CAAa,EAClFzB,EAAYrD,EAA4BU,CAAa,EACrD6X,EAA4BlV,EAAY8U,EAAgC,EAAG,KACjF,MAAMr4B,EAAS,GAAOw4B,EAAwBC,CAAwB,EAEtE,KAAK,GAAKtR,EAAiB,KAAM5D,EAAWiV,EAAuB,EAAGzR,GAA4BD,EAA0B,EAE5H,KAAK,QAAUK,EAAiB,KAAM5D,EAAWiV,EAAuB,OAAQ,KAAO,KAAK,KAAKzR,EAA0B,EAAG,MAAQ,KAAK,KAAKA,EAA0B,CAAC,EAE3K,KAAK,WAAaI,EAAiB,KAAM5D,EAAWiV,EAAuB,UAAWx4B,EAAQ,WAAa,EAAG,CAAC,EAE/G,KAAK,MAAQmnB,EAAiB,KAAM5D,EAAWiV,EAAuB,KAAM,GAAK,KAAK,MAAMzR,EAA0B,EAAGD,EAA0B,EACnJ,KAAK,wBAA0B0R,EAE/BD,EAAqB,KAAM,CAAC,CAC/B,CACD,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,GAAI,CACJ,OAAO,KAAK,EACf,CACD,IAAI,MAAO,CACP,OAAO,KAAK,wBAAwB,IACvC,CACD,IAAI,KAAKjgD,EAAO,CACZ,KAAK,wBAAwB,KAAOA,CACvC,CACD,qBAAqBogD,EAAaC,EAAaC,EAAe,CAE1D,GAAI,CACA,KAAK,wBAAwB,qBAAqBF,EAAaC,EAAaC,CAAa,CAC5F,OACMlxC,EAAK,CACR,MAAIA,EAAI,OAAS,GACP+oC,EAAwB,EAE5B/oC,CACT,CAED,GAAIgxC,EAAY,SAAWC,EAAY,QAAUA,EAAY,SAAWC,EAAc,OAClF,MAAMnI,EAAwB,CAErC,CACT,ECjEaoI,GAAwC,CAAC9Q,EAAmBuQ,EAA8BrV,EAAoB+E,EAAkBxC,IAClI,IAAM,CACT,MAAMsT,EAAkC,IAAI,QACtCC,EAAyB,MAAOl0C,EAAO8gC,IAA8B,CACvE,IAAI6S,EAAyBvV,EAAmBp+B,CAAK,EAKrD,MAAMm0C,EAAyC1T,GAAiBkT,EAAwB7S,CAAyB,EACjH,GAAI,CAACqT,EAAwC,CACzC,MAAMptC,EAAU,CACZ,EAAG4sC,EAAuB,EAAE,MAC5B,aAAcA,EAAuB,aACrC,iBAAkBA,EAAuB,iBACzC,sBAAuBA,EAAuB,sBAC9C,OAAQA,EAAuB,OAAO,MACtC,UAAWA,EAAuB,UAAU,MAC5C,KAAMA,EAAuB,KAAK,MAClC,KAAMA,EAAuB,IACjD,EACgBA,EAAyBF,EAA6B3S,EAA2B/5B,CAAO,CAC3F,CACD,OAAAktC,EAAgC,IAAInT,EAA2B6S,CAAsB,EAChFQ,GAOD,MAAMjR,EAAkBpC,EAA2B9gC,EAAM,EAAG2zC,EAAuB,CAAC,EACpF,MAAMzQ,EAAkBpC,EAA2B9gC,EAAM,OAAQ2zC,EAAuB,MAAM,EAC9F,MAAMzQ,EAAkBpC,EAA2B9gC,EAAM,UAAW2zC,EAAuB,SAAS,EACpG,MAAMzQ,EAAkBpC,EAA2B9gC,EAAM,KAAM2zC,EAAuB,IAAI,IAT1F,MAAMxQ,EAAiBrC,EAA2B9gC,EAAM,EAAG2zC,EAAuB,CAAC,EACnF,MAAMxQ,EAAiBrC,EAA2B9gC,EAAM,OAAQ2zC,EAAuB,MAAM,EAC7F,MAAMxQ,EAAiBrC,EAA2B9gC,EAAM,UAAW2zC,EAAuB,SAAS,EACnG,MAAMxQ,EAAiBrC,EAA2B9gC,EAAM,KAAM2zC,EAAuB,IAAI,GAQ7F,MAAMhT,EAAwB3gC,EAAO8gC,EAA2B6S,CAAsB,EAC/EA,CACnB,EACQ,MAAO,CACH,OAAO3zC,EAAO8gC,EAA2B,CACrC,MAAMsT,EAAiCH,EAAgC,IAAInT,CAAyB,EACpG,OAAIsT,IAAmC,OAC5B,QAAQ,QAAQA,CAA8B,EAElDF,EAAuBl0C,EAAO8gC,CAAyB,CACjE,CACb,CACA,ECjDauT,GAAwB,CAACC,EAAcC,IACzC,CAACC,EAAQC,IAAS,CACrB,MAAMC,EAAmBH,EAAY,IAAIC,CAAM,EAC/C,GAAIE,IAAqB,OACrB,OAAOA,EAEX,MAAMC,EAAcL,EAAa,IAAIE,CAAM,EAC3C,GAAIG,IAAgB,OAChB,OAAOA,EAEX,GAAI,CACA,MAAMC,EAAwBH,IAC9B,OAAIG,aAAiC,SACjCN,EAAa,IAAIE,EAAQI,CAAqB,EACvCA,EACF,MAAM,IAAM,EAAK,EACjB,KAAMC,IACPP,EAAa,OAAOE,CAAM,EAC1BD,EAAY,IAAIC,EAAQK,CAAe,EAChCA,EACV,IAELN,EAAY,IAAIC,EAAQI,CAAqB,EACtCA,EACV,MACK,CACF,OAAAL,EAAY,IAAIC,EAAQ,EAAK,EACtB,EACV,CACT,EC7BM3U,GAAkB,CACpB,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgB,CACpB,EACaiV,GAAqC,CAAC1S,EAAsB2S,EAAiC/O,EAA+B7K,EAAkBE,IAChJ,cAAgC+G,CAAqB,CACxD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDiuC,EAA0BhP,EAA8BjK,EAAeoE,CAAa,EACpF8U,EAA8B5Z,EAA4BU,CAAa,EAAIgZ,EAA+B,EAAK,KACrH,MAAM55B,EAAS,GAAO65B,EAAyBC,CAAyB,CAC3E,CACT,ECdaC,GAAyC,CAAClP,EAA+B5H,EAAoBuC,IAC/F,IAAM,CACT,MAAMyP,EAA2B,IAAI,QAC/BE,EAAkB,MAAOtwC,EAAO8gC,IAA8B,CAChE,IAAI7H,EAAkBmF,EAAmBp+B,CAAK,EAG9C,GAAI,CADoCygC,GAAiBxH,EAAiB6H,CAAyB,EAC7D,CAClC,MAAM/5B,EAAU,CACZ,aAAckyB,EAAgB,aAC9B,iBAAkBA,EAAgB,iBAClC,sBAAuBA,EAAgB,sBACvC,eAAgBA,EAAgB,cACpD,EACgBA,EAAkB+M,EAA8BlF,EAA2B/5B,CAAO,CACrF,CACD,OAAAqpC,EAAyB,IAAItP,EAA2B7H,CAAe,EACvE,MAAM0H,EAAwB3gC,EAAO8gC,EAA2B7H,CAAe,EACxEA,CACnB,EACQ,MAAO,CACH,OAAOj5B,EAAO8gC,EAA2B,CACrC,MAAMqU,EAA0B/E,EAAyB,IAAItP,CAAyB,EACtF,OAAIqU,IAA4B,OACrB,QAAQ,QAAQA,CAAuB,EAE3C7E,EAAgBtwC,EAAO8gC,CAAyB,CAC1D,CACb,CACA,EC9BMjB,GAAkB,CACpB,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,gBAAiB,CACrB,EACauV,GAAuC,CAAChT,EAAsBiT,EAAmCrF,EAAiC7U,EAAkBE,EAA6Bia,IACnL,cAAkClT,CAAqB,CAC1D,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgBmV,EAA+B,CAAE,GAAGzV,GAAiB,GAAG94B,CAAO,CAAE,EACjFwuC,EAA4BvF,EAAgCjU,EAAeoE,CAAa,EACxFqV,EAAgCna,EAA4BU,CAAa,EAAIsZ,EAAiC,EAAK,KACzH,MAAMl6B,EAAS,GAAOo6B,EAA2BC,CAA2B,CAC/E,CACT,ECdaC,GAA2C,CAACzF,EAAiC5R,EAAoBuC,IACnG,IAAM,CACT,MAAMyP,EAA2B,IAAI,QAC/BE,EAAkB,MAAOtwC,EAAO8gC,IAA8B,CAChE,IAAI7H,EAAkBmF,EAAmBp+B,CAAK,EAG9C,GAAI,CADoCygC,GAAiBxH,EAAiB6H,CAAyB,EAC7D,CAClC,MAAM/5B,EAAU,CACZ,aAAckyB,EAAgB,aAC9B,iBAAkBA,EAAgB,iBAClC,sBAAuBA,EAAgB,sBACvC,gBAAiBA,EAAgB,eACrD,EACgBA,EAAkB+W,EAAgClP,EAA2B/5B,CAAO,CACvF,CACD,OAAAqpC,EAAyB,IAAItP,EAA2B7H,CAAe,EACvE,MAAM0H,EAAwB3gC,EAAO8gC,EAA2B7H,CAAe,EACxEA,CACnB,EACQ,MAAO,CACH,OAAOj5B,EAAO8gC,EAA2B,CACrC,MAAMqU,EAA0B/E,EAAyB,IAAItP,CAAyB,EACtF,OAAIqU,IAA4B,OACrB,QAAQ,QAAQA,CAAuB,EAE3C7E,EAAgBtwC,EAAO8gC,CAAyB,CAC1D,CACb,CACA,EC9Ba4U,GAA2BC,GAC7B,CAAC7U,EAA2B1H,EAAYyR,IACpC8K,EAAyBvc,EAAY0H,EAA2B+J,CAAgB,ECDlF+K,GAAgC3V,GAClC,CAAC4V,EAAkBpX,EAAajG,EAAS,EAAGC,EAAQ,IAAM,CAC7D,MAAMqd,EAAkBD,EAAiBrd,CAAM,EAC/C,GAAIsd,IAAoB,OACpB,MAAM7V,EAAoB,EAE9B,OAAIkK,GAAkB1L,CAAW,EACtBqX,EAAgB,QAAQrX,EAAa,EAAGhG,CAAK,EAEjDqd,EAAgB,QAAQrX,EAAa,CAAC,CACrD,ECXasX,GAAqDvT,GACvD,CAACzG,EAAe9C,IAAoB,CACvC,MAAMyJ,EAA8BF,EAAkCzG,EAAe,CACjF,OAAQ,KACR,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,KAAM,GACN,QAAS,EACT,UAAW,EACX,aAAc,CAC1B,CAAS,EACKkF,EAAoBlF,EAAc,aAAa,EAAG,EAAG,KAAK,EAChE,OAAA2G,EAA4B,OAASzB,EACrCyB,EAA4B,KAAO,GACnCA,EAA4B,QAAQzJ,CAAe,EACnDyJ,EAA4B,MAAK,EAC1B,IAAM,CACTA,EAA4B,KAAI,EAChCA,EAA4B,WAAWzJ,CAAe,CAClE,CACA,ECjBM4G,GAAkB,CACpB,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,OAAQ,CACZ,EACamW,GAAsC,CAAC5T,EAAsBE,EAAkB2T,EAAyChQ,EAAgC9K,EAAkBE,EAA6BoH,IACzM,cAAiCL,CAAqB,CACzD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDmvC,EAA2BjQ,EAA+BlK,EAAeoE,CAAa,EACtFzB,EAAYrD,EAA4BU,CAAa,EACrDoa,EAA+BzX,EAAYuX,EAAyC,EAAG,KAC7F,MAAM96B,EAAS,GAAO+6B,EAA0BC,CAA0B,EAC1E,KAAK,4BAA8BA,EACnC,KAAK,0BAA4BD,EAKjC,KAAK,QAAU5T,EAAiB,KAAM5D,EAAWwX,EAAyB,OAAQhU,GAA4BD,EAA0B,EACxI,KAAK,SAAW,IACnB,CACD,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQxuC,EAAO,CACf,MAAMmvC,EAAkB,OAAOnvC,GAAU,WAAagvC,EAAkB,KAAMhvC,CAAK,EAAI,KACvF,KAAK,0BAA0B,QAAUmvC,EACzC,MAAMC,EAAgB,KAAK,0BAA0B,QACrD,KAAK,SAAWA,IAAkB,MAAQA,IAAkBD,EAAkBnvC,EAAQovC,CACzF,CACD,MAAMC,EAAO,EAAG,CAKZ,GAJA,KAAK,0BAA0B,MAAMA,CAAI,EACrC,KAAK,8BAAgC,OACrC,KAAK,4BAA4B,MAAQA,GAEzC,KAAK,QAAQ,QAAU,SAAU,CACjCvF,GAAyB,IAAI,EAC7B,MAAMyF,EAA8B,IAAM,CACtC,KAAK,0BAA0B,oBAAoB,QAASA,CAA2B,EACnF3E,GAAkB,IAAI,GACtBZ,GAA0B,IAAI,CAEtD,EACgB,KAAK,0BAA0B,iBAAiB,QAASuF,CAA2B,CACvF,CACJ,CACD,KAAKF,EAAO,EAAG,CACX,KAAK,0BAA0B,KAAKA,CAAI,EACpC,KAAK,8BAAgC,OACrC,KAAK,4BAA4B,KAAOA,EAE/C,CACT,EC7DamT,GAA0C,CAAC/S,EAAmB+C,EAAgC7H,EAAoB+E,EAAkBxC,IACtI,IAAM,CACT,MAAMyV,EAAoC,IAAI,QAC9C,IAAI9xC,EAAQ,KACR++B,EAAO,KACX,MAAMgT,EAA2B,MAAOr2C,EAAO8gC,IAA8B,CACzE,IAAIoV,EAA2B9X,EAAmBp+B,CAAK,EAKvD,MAAMs2C,EAA2C7V,GAAiByV,EAA0BpV,CAAyB,EACrH,GAAI,CAACwV,EAA0C,CAC3C,MAAMvvC,EAAU,CACZ,aAAcmvC,EAAyB,aACvC,iBAAkBA,EAAyB,iBAC3C,sBAAuBA,EAAyB,sBAChD,OAAQA,EAAyB,OAAO,KAC5D,EACgBA,EAA2BjQ,EAA+BnF,EAA2B/5B,CAAO,EACxFzC,IAAU,MACV4xC,EAAyB,MAAM5xC,CAAK,EAEpC++B,IAAS,MACT6S,EAAyB,KAAK7S,CAAI,CAEzC,CACD,OAAA+S,EAAkC,IAAItV,EAA2BoV,CAAwB,EACpFI,EAID,MAAMpT,EAAkBpC,EAA2B9gC,EAAM,OAAQk2C,EAAyB,MAAM,EAHhG,MAAM/S,EAAiBrC,EAA2B9gC,EAAM,OAAQk2C,EAAyB,MAAM,EAKnG,MAAMvV,EAAwB3gC,EAAO8gC,EAA2BoV,CAAwB,EACjFA,CACnB,EACQ,MAAO,CACH,IAAI,MAAMziD,EAAO,CACb6Q,EAAQ7Q,CACX,EACD,IAAI,KAAKA,EAAO,CACZ4vC,EAAO5vC,CACV,EACD,OAAOuM,EAAO8gC,EAA2B,CACrC,MAAMyV,EAAmCH,EAAkC,IAAItV,CAAyB,EACxG,OAAIyV,IAAqC,OAC9B,QAAQ,QAAQA,CAAgC,EAEpDF,EAAyBr2C,EAAO8gC,CAAyB,CACnE,CACb,CACA,ECrDa0V,GAAqCC,GACtChjD,IACJgjD,EAAY,CAAC,EAAIhjD,EACVgjD,EAAY,CAAC,GCHtB5W,GAAkB,CACpB,OAAQ,KACR,aAAc,EACd,iBAAkB,cAClB,sBAAuB,WACvB,qBAAsB,EAC1B,EACa6W,GAAiC,CAACtU,EAAsBuU,EAA6BC,EAA2Bzb,EAAkBE,EAA6BqY,IACjK,cAA4BtR,CAAqB,CACpD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChD8vC,EAAsBD,EAA0B7a,EAAeoE,CAAa,EAE5E2W,EADYzb,EAA4BU,CAAa,EAChB4a,EAA6B,EAAG,KAC3E,MAAMx7B,EAAS,GAAO07B,EAAqBC,CAAqB,EAChE,KAAK,mBAAqB,GAC1B,KAAK,qBAAuBD,EACxB1W,EAAc,SAAW,MACzBuT,EAAqB,KAAMvT,EAAc,OAAO,QAAQ,CAE/D,CACD,IAAI,QAAS,CACT,OAAI,KAAK,mBACE,KAEJ,KAAK,qBAAqB,MACpC,CACD,IAAI,OAAO1sC,EAAO,CAGd,GAFA,KAAK,qBAAqB,OAASA,EAE/BA,IAAU,MAAQ,KAAK,qBAAqB,SAAW,KAAM,CAC7D,MAAMsoC,EAAgB,KAAK,qBAAqB,QAChD,KAAK,qBAAqB,OAASA,EAAc,aAAa,EAAG,EAAG,KAAK,EACzE,KAAK,mBAAqB,GAC1B2X,EAAqB,KAAM,CAAC,CAC/B,MAEG,KAAK,mBAAqB,GAC1BA,EAAqB,KAAM,KAAK,qBAAqB,SAAW,KAAO,EAAI,KAAK,qBAAqB,OAAO,QAAQ,CAE3H,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,qBAAqB,SACpC,CACD,IAAI,UAAUjgD,EAAO,CACjB,KAAK,qBAAqB,UAAYA,CACzC,CACT,EC9CasjD,GAAqC,CAACH,EAA2BxY,EAAoBuC,IACvF,IAAM,CACT,MAAMqW,EAA+B,IAAI,QACnCC,EAAsB,MAAOj3C,EAAO8gC,IAA8B,CACpE,IAAI+V,EAAsBzY,EAAmBp+B,CAAK,EAGlD,GAAI,CADwCygC,GAAiBoW,EAAqB/V,CAAyB,EACjE,CACtC,MAAM/5B,EAAU,CACZ,OAAQ8vC,EAAoB,OAC5B,aAAcA,EAAoB,aAClC,iBAAkBA,EAAoB,iBACtC,sBAAuBA,EAAoB,sBAC3C,qBAAsB,CAACA,EAAoB,SAC/D,EACgBA,EAAsBD,EAA0B9V,EAA2B/5B,CAAO,CACrF,CACD,OAAAiwC,EAA6B,IAAIlW,EAA2B+V,CAAmB,EAC3EhO,GAAuBgO,CAAmB,EAC1C,MAAMlW,EAAwB3gC,EAAO8gC,EAA2B+V,EAAoB,OAAO,CAAC,CAAC,EAG7F,MAAMlW,EAAwB3gC,EAAO8gC,EAA2B+V,CAAmB,EAEhFA,CACnB,EACQ,MAAO,CACH,OAAO72C,EAAO8gC,EAA2B,CACrC,MAAMoW,EAA8BF,EAA6B,IAAIlW,CAAyB,EAC9F,OAAIoW,IAAgC,OACzB,QAAQ,QAAQA,CAA2B,EAE/CD,EAAoBj3C,EAAO8gC,CAAyB,CAC9D,CACb,CACA,ECrCaqW,GAAwC,CAACpc,EAAyB0G,IACpE,CAACM,EAAkBD,EAAQE,IAAe,CAC7C,GAAIP,IAAyC,KACzC,MAAM,IAAI,MAAM,qDAAqD,EAEzE,GAAI,CACA,OAAO,IAAIA,EAAqCM,EAAkBD,EAAQE,CAAU,CACvF,OACMn/B,EAAK,CAER,MAAIA,EAAI,OAAS,cACPk4B,EAAuB,EAE3Bl4B,CACT,CACT,ECfau0C,GAAuB,IAAM,IAAI,aAAa,GAAI,gBAAgB,ECAlEC,GAAqBC,GAAgB,CAC9C,KAAM,CAAE,MAAAC,EAAO,MAAAC,GAAU,IAAI,eAC7B,OAAO,IAAI,QAASniC,GAAY,CAC5B,MAAMoiC,EAAkB,IAAM,CAC1BD,EAAM,UAAY,KAClBD,EAAM,MAAK,EACXC,EAAM,MAAK,EACXniC,GACZ,EACQmiC,EAAM,UAAY,IAAMC,IACxB,GAAI,CACAF,EAAM,YAAYD,EAAa,CAACA,CAAW,CAAC,CAC/C,QACO,CACJG,GACH,CACT,CAAK,CACL,ECfaC,GAAwB,CAACnW,EAAkBzG,EAAiBsc,EAAsBO,EAAqBC,EAAsBzc,EAAkB0c,EAAiB7W,EAAqD8W,EAAoBnW,EAAmCC,IAC9Q,CAACmW,EAAY3E,IAAc,CAC9B,MAAMrX,EAAgB8b,EAAgBE,CAAU,EAAIA,EAAa5c,EAAiB4c,CAAU,EAE5F,GAAIH,EAAqB,IAAIxE,CAAS,EAAG,CACrC,MAAMvwC,EAAMu0C,IACZ,OAAO,QAAQ,OAAOv0C,CAAG,CAC5B,CAED,GAAI,CACA+0C,EAAqB,IAAIxE,CAAS,CACrC,MACK,CAEL,CAED,OAAItY,EAAgBgd,EAAoB,IAAMA,EAAmB/b,CAAa,CAAC,EACpEA,EAAc,gBAAgBqX,CAAS,EAAE,KAAMjS,IAElDkW,GAAkBjE,CAAS,EAAE,MAAM,IAAM,CAEzD,CAAiB,EAEItY,EAAgBkG,EAAqD,IAAMA,EAAoDG,CAAW,CAAC,GAC5IS,EAA6CT,CAAW,EAE5DI,EAAiB,IAAIJ,CAAW,EACzBA,EACV,EAGE,IAAI,QAAQ,CAAC9rB,EAAS+vB,IAAW,CACpC,MAAM4S,EAAW,SAAY,CAEzB,GAAI,CACA,MAAMX,GAAkBjE,CAAS,CACpC,MACK,CAEL,CACjB,EACkB6E,EAAQp1C,GAAQ,CAClBuiC,EAAOviC,CAAG,EACVm1C,GAChB,EAEY,GAAI,CAEAjc,EAAc,gBAAgBqX,EAAYjS,GAAgB,CAGlD,OAAOA,EAAY,iBAAoB,aACvCQ,EAAkCR,CAAW,EAC7CD,GAAoCC,CAAW,GAEnDI,EAAiB,IAAIJ,CAAW,EAChC6W,EAAU,EAAC,KAAK,IAAM3iC,EAAQ8rB,CAAW,CAAC,CAC7C,EAAGt+B,GAAQ,CAGJo1C,EADAp1C,IAAQ,KACH80C,EAAmB,EAGnB90C,CAHqB,CAKlD,CAAiB,CACJ,OACMA,EAAK,CACRo1C,EAAKp1C,CAAG,CACX,CACb,CAAS,CACT,ECxEaq1C,GAA8B,CAACna,EAAyCoa,EAAeja,EAAyBE,EAAoBiL,EAAqBlO,EAAkBkD,EAAmBhD,IAChM,CAACtC,EAAWmR,IAAU,CACzB,MAAMkO,EAAeD,EAAc,IAAIpf,CAAS,EAChD,GAAIqf,IAAiB,OACjB,MAAM,IAAI,MAAM,mCAAmC,EAEvD,MAAMrc,EAAgBZ,EAAiBpC,EAAU,OAAO,EAClD2F,EAAYrD,EAA4BU,CAAa,EAC3D,GAAIqc,IAAiBlO,GAEjB,GADAiO,EAAc,OAAOpf,CAAS,EAC1B,CAAC2F,GAAaL,EAAkBtF,CAAS,EAAG,CAC5C,MAAMgG,EAAwBX,EAAmBrF,CAAS,EACpD,CAAE,QAAA4F,CAAO,EAAKT,EAAwBnF,CAAS,EACrD,UAAWP,KAAUmG,EACjB,GAAI6J,GAA4BhQ,CAAM,EAAG,CACrC,MAAMsG,EAA6BV,EAAmB5F,EAAO,CAAC,CAAC,EAC/DuF,EAAwCgB,EAAuBD,EAA4BtG,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,CAClH,KACI,CACD,MAAM6f,EAA8BhP,EAAoB7Q,EAAO,CAAC,CAAC,EACjEuG,EAAsB,QAAQsZ,EAA6B7f,EAAO,CAAC,CAAC,CACvE,CAER,OAGD2f,EAAc,IAAIpf,EAAWqf,EAAelO,CAAK,CAE7D,EC7BMrK,GAAkB,CACpB,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,UAAW,EACX,aAAc,CAClB,EACayY,GAA6B,CAAClW,EAAsBE,EAAkBiW,EAAyBC,EAAuBrd,EAAkBE,EAA6BqY,IACvK,cAAwBtR,CAAqB,CAChD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChD0xC,EAAkBD,EAAsBzc,EAAeoE,CAAa,EACpEzB,EAAYrD,EAA4BU,CAAa,EACrD2c,EAAqBha,EAAY6Z,EAAwBpY,EAAc,YAAY,EAAI,KAC7F,MAAMhlB,EAAS,GAAOs9B,EAAiBC,CAAiB,EACxD,KAAK,WAAapW,EAAiB,KAAM5D,EAAW+Z,EAAgB,SAAS,EAC7E/E,EAAqB,KAAMvT,EAAc,YAAY,CACxD,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACT,ECrBawY,GAAiC,CAACzV,EAAmBsV,EAAuBpa,EAAoB+E,EAAkBxC,IACnHmS,GAAiB,CACrB,MAAM8F,EAA2B,IAAI,QAC/BC,EAAkB,MAAO74C,EAAO8gC,IAA8B,CAChE,IAAI2X,EAAkBra,EAAmBp+B,CAAK,EAE9C,MAAM84C,EAAkCrY,GAAiBgY,EAAiB3X,CAAyB,EACnG,GAAI,CAACgY,EAAiC,CAClC,MAAM/xC,EAAU,CACZ,aAAc0xC,EAAgB,aAC9B,iBAAkBA,EAAgB,iBAClC,sBAAuBA,EAAgB,sBACvC,UAAWA,EAAgB,UAAU,MACrC,aAAA3F,CACpB,EACgB2F,EAAkBD,EAAsB1X,EAA2B/5B,CAAO,CAC7E,CACD,OAAA6xC,EAAyB,IAAI9X,EAA2B2X,CAAe,EAClEK,EAID,MAAM5V,EAAkBpC,EAA2B9gC,EAAM,UAAWy4C,EAAgB,SAAS,EAH7F,MAAMtV,EAAiBrC,EAA2B9gC,EAAM,UAAWy4C,EAAgB,SAAS,EAKhG,MAAM9X,EAAwB3gC,EAAO8gC,EAA2B2X,CAAe,EACxEA,CACnB,EACQ,MAAO,CACH,OAAOz4C,EAAO8gC,EAA2B,CACrC,MAAMiY,EAA0BH,EAAyB,IAAI9X,CAAyB,EACtF,OAAIiY,IAA4B,OACrB,QAAQ,QAAQA,CAAuB,EAE3CF,EAAgB74C,EAAO8gC,CAAyB,CAC1D,CACb,CACA,ECrCakY,GAAgDnc,GAClD,CAACtE,EAAcz2B,EAAQ02B,EAAQC,IAC3BoE,EAAmBtE,EAAaE,CAAK,EAAIG,GAA0BA,EAAsB,CAAC,IAAM92B,GAAU82B,EAAsB,CAAC,IAAMJ,CAAM,ECF/IygB,GAA0CtZ,GAC5C,CAAC5D,EAAe6D,IAAqB,CACxCD,EAA+B5D,CAAa,EAAE,OAAO6D,CAAgB,CAC7E,ECHasZ,GAAengB,GACjB,cAAeA,ECCbogB,GAAqB,CAAC9M,EAA0BnO,EAAyBtB,IAC3E,SAASkP,EAAasN,EAAOC,EAAU,CAC1C,MAAMtgB,EAAYuP,GAAY+Q,CAAQ,EAAIA,EAAWzc,EAAeyP,EAA0BgN,CAAQ,EACtG,GAAIH,GAAYngB,CAAS,EACrB,MAAO,GAEX,GAAIqgB,EAAM,CAAC,IAAMrgB,EACb,MAAO,CAACqgB,CAAK,EAEjB,GAAIA,EAAM,SAASrgB,CAAS,EACxB,MAAO,GAEX,KAAM,CAAE,QAAA4F,CAAO,EAAKT,EAAwBnF,CAAS,EACrD,OAAO,MAAM,KAAK4F,CAAO,EACpB,IAAKQ,GAAqB2M,EAAa,CAAC,GAAGsN,EAAOrgB,CAAS,EAAGoG,EAAiB,CAAC,CAAC,CAAC,EAClF,OAAO,CAACma,EAAcC,IAAiBD,EAAa,OAAOC,CAAY,EAAG,EAAE,CACzF,ECjBMC,GAA4B,CAACvZ,EAAsB4V,EAAkBrd,IAAW,CAClF,MAAMsd,EAAkBD,EAAiBrd,CAAM,EAC/C,GAAIsd,IAAoB,OACpB,MAAM7V,EAAoB,EAE9B,OAAO6V,CACX,EACa2D,GAAmCxZ,GACrC,CAAC4V,EAAkBnL,EAAsB,OAAWlS,EAAS,OAAWC,EAAQ,IAC/EiS,IAAwB,OACjBmL,EAAiB,QAASC,GAAoBA,EAAgB,WAAU,CAAE,EAEjF,OAAOpL,GAAwB,SACxB8O,GAA0BvZ,EAAsB4V,EAAkBnL,CAAmB,EAAE,WAAU,EAExGP,GAAkBO,CAAmB,EACjClS,IAAW,OACJqd,EAAiB,QAASC,GAAoBA,EAAgB,WAAWpL,CAAmB,CAAC,EAEpGjS,IAAU,OACH+gB,GAA0BvZ,EAAsB4V,EAAkBrd,CAAM,EAAE,WAAWkS,EAAqB,CAAC,EAE/G8O,GAA0BvZ,EAAsB4V,EAAkBrd,CAAM,EAAE,WAAWkS,EAAqB,EAAGjS,CAAK,EAEzHD,IAAW,OACJqd,EAAiB,QAASC,GAAoBA,EAAgB,WAAWpL,CAAmB,CAAC,EAEjG8O,GAA0BvZ,EAAsB4V,EAAkBrd,CAAM,EAAE,WAAWkS,EAAqB,CAAC,EC5BpH7K,GAAkB,CACpB,OAAQ,KACR,aAAc,EACd,iBAAkB,cAClB,sBAAuB,WACvB,KAAM,GACN,MAAO,GACP,QAAS,IACT,UAAW,GACf,EACa6Z,GAA0C,CAACtX,EAAsBE,EAAkBqX,EAAsCC,EAAoC7e,EAAyBI,EAAkBE,EAA6BqY,IACvO,cAAqCtR,CAAqB,CAC7D,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChD8yC,EAA+BD,EAAmC7d,EAAeoE,CAAa,EAC9FzB,EAAYrD,EAA4BU,CAAa,EACrD+d,EAAkCpb,EAAYib,EAAsC,EAAG,KAC7F,MAAMx+B,EAAS,GAAO0+B,EAA8BC,CAA8B,EAClF,KAAK,QAAUxX,EAAiB,KAAM5D,EAAWmb,EAA6B,MAAM,EACpF,KAAK,MAAQvX,EAAiB,KAAM5D,EAAWmb,EAA6B,IAAI,EAChF,KAAK,8BAAgCA,EACrC,KAAK,OAASvX,EAAiB,KAAM5D,EAAWmb,EAA6B,KAAK,EAClF,KAAK,SAAWvX,EAAiB,KAAM5D,EAAWmb,EAA6B,OAAO,EACtF,KAAK,WAAavX,EAAiB,KAAM5D,EAAWmb,EAA6B,SAAS,EAC1FnG,EAAqB,KAAM,IAAK,CACnC,CACD,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CAED,IAAI,cAAe,CACf,OAAO,KAAK,8BAA8B,YAC7C,CACD,IAAI,aAAajgD,EAAO,CACpB,MAAMsmD,EAAuB,KAAK,8BAA8B,aAEhE,GADA,KAAK,8BAA8B,aAAetmD,EAC9CA,EAAQ,EACR,WAAK,8BAA8B,aAAesmD,EAC5Chf,EAAuB,CAEpC,CAKD,IAAI,kBAAmB,CACnB,OAAO,KAAK,8BAA8B,gBAC7C,CACD,IAAI,iBAAiBtnC,EAAO,CACxB,MAAMsmD,EAAuB,KAAK,8BAA8B,iBAEhE,GADA,KAAK,8BAA8B,iBAAmBtmD,EAClDA,IAAU,MACV,WAAK,8BAA8B,iBAAmBsmD,EAChDhf,EAAuB,CAEpC,CACD,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,MACf,CACD,IAAI,WAAY,CAEZ,OAAI,OAAO,KAAK,8BAA8B,UAAU,OAAU,SACvD,KAAK,8BAA8B,UAAU,MAEjD,KAAK,8BAA8B,SAC7C,CACD,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACT,EC3Eaif,GAA8C,CAAC9W,EAAmB0W,EAAoCxb,EAAoB+E,EAAkBxC,IAC9I,IAAM,CACT,MAAMsZ,EAAwC,IAAI,QAC5CC,EAA+B,MAAOl6C,EAAO8gC,IAA8B,CAC7E,IAAI+Y,EAA+Bzb,EAAmBp+B,CAAK,EAK3D,MAAMm6C,EAA+C1Z,GAAiBoZ,EAA8B/Y,CAAyB,EAC7H,GAAI,CAACqZ,EAA8C,CAC/C,MAAMpzC,EAAU,CACZ,OAAQ8yC,EAA6B,OAAO,MAC5C,aAAcA,EAA6B,aAC3C,iBAAkBA,EAA6B,iBAC/C,sBAAuBA,EAA6B,sBACpD,KAAMA,EAA6B,KAAK,MACxC,MAAOA,EAA6B,MAAM,MAC1C,QAASA,EAA6B,QAAQ,MAC9C,UAAWA,EAA6B,UAAU,KACtE,EACgBA,EAA+BD,EAAmC9Y,EAA2B/5B,CAAO,CACvG,CACD,OAAAkzC,EAAsC,IAAInZ,EAA2B+Y,CAA4B,EAC5FM,GAQD,MAAMjX,EAAkBpC,EAA2B9gC,EAAM,OAAQ65C,EAA6B,MAAM,EACpG,MAAM3W,EAAkBpC,EAA2B9gC,EAAM,KAAM65C,EAA6B,IAAI,EAChG,MAAM3W,EAAkBpC,EAA2B9gC,EAAM,MAAO65C,EAA6B,KAAK,EAClG,MAAM3W,EAAkBpC,EAA2B9gC,EAAM,QAAS65C,EAA6B,OAAO,EACtG,MAAM3W,EAAkBpC,EAA2B9gC,EAAM,UAAW65C,EAA6B,SAAS,IAX1G,MAAM1W,EAAiBrC,EAA2B9gC,EAAM,OAAQ65C,EAA6B,MAAM,EACnG,MAAM1W,EAAiBrC,EAA2B9gC,EAAM,KAAM65C,EAA6B,IAAI,EAC/F,MAAM1W,EAAiBrC,EAA2B9gC,EAAM,MAAO65C,EAA6B,KAAK,EACjG,MAAM1W,EAAiBrC,EAA2B9gC,EAAM,QAAS65C,EAA6B,OAAO,EACrG,MAAM1W,EAAiBrC,EAA2B9gC,EAAM,UAAW65C,EAA6B,SAAS,GAS7G,MAAMlZ,EAAwB3gC,EAAO8gC,EAA2B+Y,CAA4B,EACrFA,CACnB,EACQ,MAAO,CACH,OAAO75C,EAAO8gC,EAA2B,CACrC,MAAMsZ,EAAuCH,EAAsC,IAAInZ,CAAyB,EAChH,OAAIsZ,IAAyC,OAClC,QAAQ,QAAQA,CAAoC,EAExDF,EAA6Bl6C,EAAO8gC,CAAyB,CACvE,CACb,CACA,ECnDa6W,GAAsB,IAAM,IAAI,aAAa,GAAI,eAAe,ECAhE0C,GAAwB3e,GACzB55B,GAAW,IAAI,QAAQ,CAACuT,EAAS+vB,IAAW,CAChD,GAAI1J,IAAW,KAAM,CAEjB0J,EAAO,IAAI,WAAa,EACxB,MACH,CACD,MAAMkV,EAAO5e,EAAO,SAAS,KAC7B,GAAI4e,IAAS,KAETlV,EAAO,IAAI,WAAa,MAEvB,CACD,MAAMmV,EAAS7e,EAAO,SAAS,cAAc,QAAQ,EAE/Ca,EAAO,IAAI,KAAK,CAACz6B,CAAM,EAAG,CAAE,KAAM,wBAAwB,CAAE,EAC5Ds4B,EAAM,IAAI,gBAAgBmC,CAAI,EAC9Bie,EAAyB9e,EAAO,QAChC+e,EAAuC,IAAM,CAC/C/e,EAAO,QAAU8e,EACjB,IAAI,gBAAgBpgB,CAAG,CACvC,EACYsB,EAAO,QAAU,CAACgf,EAASC,EAAKC,EAAQC,EAAOhL,IAAU,CAErD,GAAI8K,IAAQvgB,GAAQugB,IAAQjf,EAAO,SAAS,MAAQkf,IAAW,GAAKC,IAAU,EAC1E,OAAAJ,IACArV,EAAOyK,CAAK,EACL,GAEX,GAAI2K,IAA2B,KAC3B,OAAOA,EAAuBE,EAASC,EAAKC,EAAQC,EAAOhL,CAAK,CAEpF,EACY0K,EAAO,QAAU,IAAM,CACnBE,IAEArV,EAAO,IAAI,WAAa,CACxC,EACYmV,EAAO,OAAS,IAAM,CAClBE,IACAplC,GAChB,EACYklC,EAAO,IAAMngB,EACbmgB,EAAO,KAAO,SACdD,EAAK,YAAYC,CAAM,CAC1B,CACT,CAAK,EC9CQO,GAAgCrY,GAClC,KAAkB,CACrB,YAAYsY,EAAoB,CAC5B,KAAK,mBAAqBA,EAC1B,KAAK,WAAa,IAAI,OACzB,CACD,iBAAiBjhD,EAAMmxC,EAAUlkC,EAAS,CACtC,GAAIkkC,IAAa,KAAM,CACnB,IAAI+P,EAAuB,KAAK,WAAW,IAAI/P,CAAQ,EACnD+P,IAAyB,SACzBA,EAAuBvY,EAAkB,KAAMwI,CAAQ,EACnD,OAAOA,GAAa,YACpB,KAAK,WAAW,IAAIA,EAAU+P,CAAoB,GAG1D,KAAK,mBAAmB,iBAAiBlhD,EAAMkhD,EAAsBj0C,CAAO,CAC/E,CACJ,CACD,cAAcpB,EAAO,CACjB,OAAO,KAAK,mBAAmB,cAAcA,CAAK,CACrD,CACD,oBAAoB7L,EAAMmxC,EAAUlkC,EAAS,CACzC,MAAMi0C,EAAuB/P,IAAa,KAAO,OAAY,KAAK,WAAW,IAAIA,CAAQ,EACzF,KAAK,mBAAmB,oBAAoBnxC,EAAMkhD,IAAyB,OAAY,KAAOA,EAAsBj0C,CAAO,CAC9H,CACT,ECzBak0C,GAA0Cvf,GAC5C,CAACwf,EAAalZ,EAAYjuC,IAAO,CACpC,OAAO,iBAAiB2nC,EAAQ,CAC5B,aAAc,CACV,aAAc,GACd,KAAM,CACF,OAAO,KAAK,MAAMwf,EAAclZ,CAAU,CAC7C,CACJ,EACD,YAAa,CACT,aAAc,GACd,KAAM,CACF,OAAOkZ,CACV,CACJ,CACb,CAAS,EACD,GAAI,CACA,OAAOnnD,EAAE,CACZ,QACO,CACA2nC,IAAW,OACX,OAAOA,EAAO,aACd,OAAOA,EAAO,YAErB,CACT,ECzBayf,GAAqB/iB,GACvB,MAAOgC,GAAQ,CAClB,GAAI,CACA,MAAMghB,EAAW,MAAM,MAAMhhB,CAAG,EAChC,GAAIghB,EAAS,GACT,MAAO,CAAC,MAAMA,EAAS,KAAM,EAAEA,EAAS,GAAG,CAElD,MACK,CAEL,CACD,MAAMhjB,EAAgB,CAC9B,ECXMyH,GAAkB,CACpB,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,KAAM,CACV,EACawb,GAA4B,CAACjZ,EAAsBE,EAAkBgZ,EAAwBhc,EAAsBnE,EAAkBE,IACvI,cAAuB+G,CAAqB,CAC/C,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDy4B,EAAiBF,EAAqBvD,EAAeoE,CAAa,EAClEzB,EAAYrD,EAA4BU,CAAa,EACrDwf,EAAoB7c,EAAY4c,EAAwB,EAAG,KACjE,MAAMngC,EAAS,GAAOqkB,EAAgB+b,CAAgB,EAEtD,KAAK,MAAQjZ,EAAiB,KAAM5D,EAAWc,EAAe,KAAM0C,GAA4BD,EAA0B,CAC7H,CACD,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACT,ECrBauZ,GAAgC,CAACtY,EAAmB5D,EAAsBlB,EAAoB+E,EAAkBxC,IAClH,IAAM,CACT,MAAM8a,EAA0B,IAAI,QAC9BC,EAAiB,MAAO17C,EAAO8gC,IAA8B,CAC/D,IAAItB,EAAiBpB,EAAmBp+B,CAAK,EAE7C,MAAM27C,EAAiClb,GAAiBjB,EAAgBsB,CAAyB,EACjG,GAAI,CAAC6a,EAAgC,CACjC,MAAM50C,EAAU,CACZ,aAAcy4B,EAAe,aAC7B,iBAAkBA,EAAe,iBACjC,sBAAuBA,EAAe,sBACtC,KAAMA,EAAe,KAAK,KAC9C,EACgBA,EAAiBF,EAAqBwB,EAA2B/5B,CAAO,CAC3E,CACD,OAAA00C,EAAwB,IAAI3a,EAA2BtB,CAAc,EAChEmc,EAID,MAAMzY,EAAkBpC,EAA2B9gC,EAAM,KAAMw/B,EAAe,IAAI,EAHlF,MAAM2D,EAAiBrC,EAA2B9gC,EAAM,KAAMw/B,EAAe,IAAI,EAKrF,MAAMmB,EAAwB3gC,EAAO8gC,EAA2BtB,CAAc,EACvEA,CACnB,EACQ,MAAO,CACH,OAAOx/B,EAAO8gC,EAA2B,CACrC,MAAM8a,EAAyBH,EAAwB,IAAI3a,CAAyB,EACpF,OAAI8a,IAA2B,OACpB,QAAQ,QAAQA,CAAsB,EAE1CF,EAAe17C,EAAO8gC,CAAyB,CACzD,CACb,CACA,ECpCa+a,GAAwC,CAACC,EAAmClf,IAC7EoR,GAA2BpR,EAAekf,EAAmC9N,CAAsB,ECDlG+N,GAA8B7d,GAC/BnF,GAAc,CAClB,MAAMuW,EAAuBpR,EAAwBnF,CAAS,EAC9D,GAAIuW,EAAqB,WAAa,KAClC,MAAM,IAAI,MAAM,iEAAiE,EAErF,OAAOA,EAAqB,QACpC,ECPa0M,GAA8BC,GAC/BljB,GAAc,CAAE,IAAIn+B,EAAI,OAAQA,EAAKqhD,EAAuB,IAAIljB,CAAS,KAAO,MAAQn+B,IAAO,OAASA,EAAK,GCD5GshD,GAA+BnY,GAChC3K,GAAe,CACnB,MAAM+K,EAAwBJ,EAAyB3K,CAAU,EACjE,GAAI+K,EAAsB,WAAa,KACnC,MAAM,IAAI,MAAM,kEAAkE,EAEtF,OAAOA,EAAsB,QACrC,ECPagY,GAAsCC,GACvCrgB,GACGqgB,EAA+B,IAAIrgB,CAAa,ECFlDwG,GAA0B,IAAM,IAAI,aAAa,GAAI,mBAAmB,ECCxE8Z,GAA0BC,GAC3BnhC,GAAY,CAChB,MAAM4gB,EAAgBugB,EAAa,IAAInhC,CAAO,EAC9C,GAAI4gB,IAAkB,OAClB,MAAMwG,GAAuB,EAEjC,OAAQxG,CAChB,ECRawgB,GAA6C,CAACH,EAAgC3a,IAC/E1F,GAAkB,CACtB,IAAIS,EAA4B4f,EAA+B,IAAIrgB,CAAa,EAChF,GAAIS,IAA8B,OAC9B,OAAOA,EAEX,GAAIiF,IAAyC,KACzC,MAAM,IAAI,MAAM,qDAAqD,EAGzE,OAAAjF,EAA4B,IAAIiF,EAAqC,EAAG,EAAG,KAAK,EAChF2a,EAA+B,IAAIrgB,EAAeS,CAAyB,EACpEA,CACf,ECbaggB,GAAwCC,GACzC1gB,GAAkB,CACtB,MAAM2gB,EAA8BD,EAAgC,IAAI1gB,CAAa,EACrF,GAAI2gB,IAAgC,OAChC,MAAM,IAAI,MAAM,8CAA8C,EAElE,OAAOA,CACf,ECPa9Q,GAA2B,IAAM,IAAI,aAAa,GAAI,oBAAoB,ECC1E+Q,GAA+CC,GAAwB,CAChFA,EAAoB,sBAAyBC,GAClC,CAAChJ,EAAaC,EAAaC,IAAkB,CAChD,GAAIF,EAAY,SAAWC,EAAY,QAAUA,EAAY,SAAWC,EAAc,OAClF,MAAMnI,GAAwB,EAElC,OAAOiR,EAAqB,KAAKD,EAAqB/I,EAAaC,EAAaC,CAAa,CACzG,GACO6I,EAAoB,oBAAoB,CAC/C,ECTM/c,GAAkB,CACpB,aAAc,EACd,iBAAkB,MAClB,sBAAuB,UAC3B,EACaid,GAAiC,CAAC1a,EAAsB2a,EAA2BC,EAA6B7hB,EAAkBE,EAA6BqY,IACjK,cAA4BtR,CAAqB,CACpD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCujB,EAAYrD,EAA4BU,CAAa,EACrDoE,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChD61C,EAAsBG,EAA0BhhB,EAAe2C,EAAY,KAAOvjB,EAAQ,YAAaglB,CAAa,EACpH8c,EAA0Bve,EAAYse,EAA4B7c,EAAc,SAAUA,EAAc,WAAW,EAAI,KAC7H,MAAMhlB,EAAS,GAAOyhC,EAAqBK,CAAqB,EAGhEN,GAA4CC,CAAmB,EAC/D,KAAK,qBAAuBA,EAE5BlJ,EAAqB,KAAM,CAAC,CAC/B,CACD,qBAAqBG,EAAaC,EAAaC,EAAe,CAC1D,OAAO,KAAK,qBAAqB,qBAAqBF,EAAaC,EAAaC,CAAa,CAChG,CACT,ECtBamJ,GAAe,CAAClK,EAAUmK,EAAgBpK,EAAaqK,EAAmBC,EAAWC,EAASC,EAASC,EAAaC,EAAchlB,EAAOD,IAAW,CAC7J,MAAMklB,EAAcjlB,EAAM,OAC1B,IAAI/lC,EAAI8qD,EACR,QAAS/3B,EAAI,EAAGA,EAAIi4B,EAAaj4B,GAAK,EAAG,CACrC,IAAIkpB,EAAIoE,EAAY,CAAC,EAAIta,EAAMhT,CAAC,EAChC,QAAS+O,EAAI,EAAGA,EAAI6oB,EAAW7oB,GAAK,EAAG,CACnC,MAAMka,EAAKh8C,EAAI8hC,EAAMipB,EAAe,EACpC9O,GAAKoE,EAAYve,CAAC,EAAI8oB,EAAQ5O,CAAC,EAC/BC,GAAKqE,EAASxe,CAAC,EAAI+oB,EAAQ7O,CAAC,CAC/B,CACD,QAASla,EAAI6oB,EAAW7oB,EAAI4oB,EAAmB5oB,GAAK,EAChDma,GAAKoE,EAAYve,CAAC,EAAI8oB,EAAS5qD,EAAI8hC,EAAMipB,EAAe,CAAE,EAE9D,QAASjpB,EAAI6oB,EAAW7oB,EAAI2oB,EAAgB3oB,GAAK,EAC7Cma,GAAKqE,EAASxe,CAAC,EAAI+oB,EAAS7qD,EAAI8hC,EAAMipB,EAAe,CAAE,EAE3DH,EAAQ5qD,CAAC,EAAI+lC,EAAMhT,CAAC,EACpB83B,EAAQ7qD,CAAC,EAAIi8C,EACbj8C,EAAKA,EAAI,EAAM+qD,EAAe,EAC9BjlB,EAAO/S,CAAC,EAAIkpB,CACf,CACD,OAAOj8C,CACX,ECvBMirD,GAAmB,CAAC3O,EAAgBlO,EAA2BkS,EAAUD,IAAgB,CAC3F,MAAM6K,EAAoB5K,aAAoB,aAAeA,EAAW,IAAI,aAAaA,CAAQ,EAC3F6K,EAAuB9K,aAAuB,aAAeA,EAAc,IAAI,aAAaA,CAAW,EACvGoK,EAAiBS,EAAkB,OACnCR,EAAoBS,EAAqB,OACzCR,EAAY,KAAK,IAAIF,EAAgBC,CAAiB,EAC5D,GAAIQ,EAAkB,CAAC,IAAM,EAAG,CAC5B,QAASlrD,EAAI,EAAGA,EAAIyqD,EAAgBzqD,GAAK,EACrCmrD,EAAqBnrD,CAAC,GAAKkrD,EAAkB,CAAC,EAElD,QAASlrD,EAAI,EAAGA,EAAI0qD,EAAmB1qD,GAAK,EACxCkrD,EAAkBlrD,CAAC,GAAKkrD,EAAkB,CAAC,CAElD,CACD,MAAMH,EAAe,GACfH,EAAU,IAAI,aAAaG,CAAY,EACvCF,EAAU,IAAI,aAAaE,CAAY,EACvCK,EAAiBhd,EAA0B,aAAakO,EAAe,iBAAkBA,EAAe,OAAQA,EAAe,UAAU,EACzIjN,EAAmBiN,EAAe,iBACxC,QAASt8C,EAAI,EAAGA,EAAIqvC,EAAkBrvC,GAAK,EAAG,CAC1C,MAAM+lC,EAAQuW,EAAe,eAAet8C,CAAC,EACvC8lC,EAASslB,EAAe,eAAeprD,CAAC,EAC9C4qD,EAAQ,KAAK,CAAC,EACdC,EAAQ,KAAK,CAAC,EACdL,GAAaU,EAAmBT,EAAgBU,EAAsBT,EAAmBC,EAAWC,EAASC,EAAS,EAAGE,EAAchlB,EAAOD,CAAM,CACvJ,CACD,OAAOslB,CACX,EACaC,GAAqC,CAACvb,EAAmCpE,EAAoBqD,EAAsCd,EAAyBwP,IAC9J,CAAC6C,EAAUD,IAAgB,CAC9B,MAAM3C,EAA2B,IAAI,QACrC,IAAI4N,EAAwB,KAC5B,MAAM1N,EAAkB,MAAOtwC,EAAO8gC,IAA8B,CAChE,IAAI4B,EAA8B,KAC9Bka,EAAsBxe,EAAmBp+B,CAAK,EAElD,MAAMi+C,EAAsCxd,GAAiBmc,EAAqB9b,CAAyB,EAmB3G,GAjBIA,EAA0B,kBAAoB,OAC9C4B,EAA8BF,EAAkC1B,EAA2B,CACvF,OAAQ,KACR,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,KAAM,GACN,QAAS,EACT,UAAW,EACX,aAAc,CAClC,CAAiB,EAEKmd,IAENrB,EAAsB9b,EAA0B,gBAAgBiS,EAAaC,CAAQ,GAEzF5C,EAAyB,IAAItP,EAA2B4B,IAAgC,KAAOka,EAAsBla,CAA2B,EAC5IA,IAAgC,KAAM,CACtC,GAAIsb,IAA0B,KAAM,CAChC,GAAIvc,IAAyC,KACzC,MAAM,IAAI,MAAM,qDAAqD,EAEzE,MAAMoP,EAA6B,IAAIpP,EAEvCzhC,EAAM,QAAQ,YAAY,aAE1BA,EAAM,QAAQ,OAAQ8gC,EAA0B,UAAU,EAC1Dkd,GAAyB,SAAY,CACjC,MAAMrd,EAAwB3gC,EAAO6wC,EAA4BA,EAA2B,WAAW,EACvG,MAAM7B,EAAiB,MAAMmB,EAAgCU,CAA0B,EACvF,OAAO8M,GAAiB3O,EAAgBlO,EAA2BkS,EAAUD,CAAW,CAChH,IACiB,CACD,MAAM+K,EAAiB,MAAME,EAC7B,OAAAtb,EAA4B,OAASob,EACrCpb,EAA4B,MAAM,CAAC,EAC5BA,CACV,CACD,aAAM/B,EAAwB3gC,EAAO8gC,EAA2B8b,CAAmB,EAC5EA,CACnB,EACQ,MAAO,CACH,OAAO58C,EAAO8gC,EAA2B,CACrC,MAAMqU,EAA0B/E,EAAyB,IAAItP,CAAyB,EACtF,OAAIqU,IAA4B,OACrB,QAAQ,QAAQA,CAAuB,EAE3C7E,EAAgBtwC,EAAO8gC,CAAyB,CAC1D,CACb,CACA,ECzFaod,GAAqC,CAAC/F,EAAela,EAA8CC,EAAyBE,EAAoBiL,EAAqBhL,IACtKK,GACG,CAAC3F,EAAWmR,IAAU,CACzB,MAAMkO,EAAeD,EAAc,IAAIpf,CAAS,EAChD,GAAIqf,IAAiB,OAAW,CAC5B,GAAI,CAAC1Z,GAAaL,EAAkBtF,CAAS,EAAG,CAC5C,MAAMgG,EAAwBX,EAAmBrF,CAAS,EACpD,CAAE,QAAA4F,CAAO,EAAKT,EAAwBnF,CAAS,EACrD,UAAWP,KAAUmG,EACjB,GAAI6J,GAA4BhQ,CAAM,EAAG,CACrC,MAAMsG,EAA6BV,EAAmB5F,EAAO,CAAC,CAAC,EAC/DyF,EAA6Cc,EAAuBD,EAA4BtG,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,CACvH,KACI,CACD,MAAM6f,EAA8BhP,EAAoB7Q,EAAO,CAAC,CAAC,EACjEuG,EAAsB,WAAWsZ,EAA6B7f,EAAO,CAAC,CAAC,CAC1E,CAER,CACD2f,EAAc,IAAIpf,EAAWmR,CAAK,CACrC,MAEGiO,EAAc,IAAIpf,EAAWqf,EAAelO,CAAK,CAEjE,ECzBaiU,GAA0B,CAAC7B,EAActQ,IAC1CoS,GAAa,CACjB,MAAMriB,EAAgBugB,EAAa,IAAI8B,CAAQ,EAC/C,OAAOpS,EAAqBjQ,CAAa,GAAKiQ,EAAqBoS,CAAQ,CACnF,ECJaC,GAAuB,CAACC,EAAgBnU,IACzCiU,GAAaE,EAAe,IAAIF,CAAQ,GAAKjU,EAAkBiU,CAAQ,ECDtEG,GAAwB,CAACjS,EAAiBL,IAC3CmS,GAAa9R,EAAgB,IAAI8R,CAAQ,GAAKnS,EAAmBmS,CAAQ,ECDxEI,GAAiC,CAAClC,EAAcjhB,IACjD+iB,GAAa,CACjB,MAAMriB,EAAgBugB,EAAa,IAAI8B,CAAQ,EAC/C,OAAO/iB,EAA4BU,CAAa,GAAKV,EAA4B+iB,CAAQ,CACjG,ECJaK,GAA8B3Z,GAC/BsZ,GACGtZ,IAAkC,MAAQsZ,aAAoBtZ,ECFhE4Z,GAA2BhjB,GAC5B0iB,GACG1iB,IAAW,MAAQ,OAAOA,EAAO,WAAc,YAAc0iB,aAAoB1iB,EAAO,UCF1FijB,GAA4BjjB,GAC7B0iB,GACG1iB,IAAW,MAAQ,OAAOA,EAAO,YAAe,YAAc0iB,aAAoB1iB,EAAO,WCF3FkjB,GAAwB,CAAC5S,EAAsB3Q,IAChD+iB,GACGpS,EAAqBoS,CAAQ,GAAK/iB,EAA4B+iB,CAAQ,ECFxES,GAAqCpd,GACtC2c,GACG3c,IAAyC,MAAQ2c,aAAoB3c,ECFvEqd,GAAyBpjB,GAAWA,IAAW,MAAQA,EAAO,gBCA9DqjB,GAA+C,CAAC3c,EAAsB4c,EAAyC7jB,EAAkBE,IACnI,cAA0C+G,CAAqB,CAClE,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxC8jC,EAAoCD,EAAwCjjB,EAAeh1B,CAAO,EAExG,GAAIs0B,EAA4BU,CAAa,EACzC,MAAM,UAAS,EAEnB,MAAM5gB,EAAS,GAAM8jC,EAAmC,IAAI,EAC5D,KAAK,mCAAqCA,CAC7C,CACD,IAAI,cAAe,CACf,OAAO,KAAK,mCAAmC,YAClD,CACT,ECfMpf,GAAkB,CACpB,aAAc,EACd,iBAAkB,WAClB,sBAAuB,UAC3B,EACaqf,GAAmD,CAAC9c,EAAsB+c,EAA6ChkB,EAAkBE,IAC3I,cAA8C+G,CAAqB,CACtE,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EAE9C,GAAIkgB,EAA4BU,CAAa,EACzC,MAAM,IAAI,UAEd,MAAMoE,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDq4C,EAAwCD,EAA4CpjB,EAAeoE,CAAa,EACtH,MAAMhlB,EAAS,GAAOikC,EAAuC,IAAI,EACjE,KAAK,uCAAyCA,CACjD,CACD,IAAI,QAAS,CACT,OAAO,KAAK,uCAAuC,MACtD,CACT,ECrBaC,GAA8C,CAACjd,EAAsBkd,EAAwCnkB,EAAkBE,IACjI,cAAyC+G,CAAqB,CACjE,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCokC,EAAmCD,EAAuCvjB,EAAeh1B,CAAO,EAEtG,GAAIs0B,EAA4BU,CAAa,EACzC,MAAM,IAAI,UAEd,MAAM5gB,EAAS,GAAMokC,EAAkC,IAAI,EAC3D,KAAK,kCAAoCA,CAC5C,CACD,IAAI,aAAc,CACd,OAAO,KAAK,kCAAkC,WACjD,CACT,ECfaC,GAAmD,CAACpd,EAAsBqd,EAA6CtkB,IACzH,cAA8CiH,CAAqB,CACtE,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCukC,EAAwCD,EAA4C1jB,EAAeh1B,CAAO,EAChH,MAAMoU,EAAS,GAAMukC,EAAuC,IAAI,CACnE,CACT,ECNaC,GAA2C,CAACC,EAAiCC,EAAqB9T,EAAwB1Q,EAA6BohB,EAAiCha,IAC1L,cAAsCsJ,CAAuB,CAChE,YAAY4G,EAAgB5Q,EAAkB,CAC1C,MAAM4Q,CAAc,EACpB,KAAK,eAAiBA,EACtBhZ,GAAc,IAAI,KAAMgZ,CAAc,EAClCtX,EAA4BsX,CAAc,GAC1C8J,EAAgC,IAAI9J,EAAgB,IAAI,GAAK,EAEjE,KAAK,aAAe,IAAIiN,EAAgC,KAAM7d,CAAgB,EAC9E,KAAK,UAAY8d,EAAoB,KAAMlN,CAAc,EACzD,KAAK,eAAiB,IACzB,CACD,IAAI,aAAc,CACd,OAAO,KAAK,eAAe,WAC9B,CACD,IAAI,aAAc,CACd,OAAO,KAAK,YACf,CACD,IAAI,UAAW,CACX,OAAO,KAAK,SACf,CACD,IAAI,eAAgB,CAChB,OAAO,KAAK,cACf,CACD,IAAI,cAAcl/C,EAAO,CACrB,MAAMmvC,EAAkB,OAAOnvC,GAAU,WAAagvC,EAAkB,KAAMhvC,CAAK,EAAI,KACvF,KAAK,eAAe,cAAgBmvC,EACpC,MAAMkd,EAAsB,KAAK,eAAe,cAChD,KAAK,eAAiBA,IAAwB,MAAQA,IAAwBld,EAAkBnvC,EAAQqsD,CAC3G,CACD,IAAI,YAAa,CACb,OAAO,KAAK,eAAe,UAC9B,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,eAAe,KAC9B,CACT,ECtCahI,GAAsB/b,GAAkB,CAEjD,MAAMgkB,EAAc,IAAI,YAAY,CAAC,WAAY,GAAI,WAAY,UAAW,GAAI,OAAQ,MAAO,OAAQ,QAAS,WAAY,EAAG,CAAC,CAAC,EACjI,GAAI,CAEA,MAAM/jB,EAAUD,EAAc,gBAAgBgkB,EAAY,OAAQ,IAAM,CAEhF,CAAS,EACD,OAAI/jB,IAAY,OACL,IAEXA,EAAQ,MAAM,IAAM,CAE5B,CAAS,EACM,GACV,MACK,CAEL,CACD,MAAO,EACX,ECpBagkB,GAA2B,CAAC1nB,EAAoB6R,IAClD,CAAClR,EAAiBgnB,EAAeC,IAAqB,CACzD,MAAMviB,EAAc,IAAI,IACxB,OAAA1E,EAAgB,SAAYqR,GAEjB,CAAC7L,EAAajG,EAAS,EAAGC,EAAQ,IAAM,CAC3C,MAAM0nB,EAAkBxiB,EAAY,OAAS,EAC7C,GAAIwM,EAAkB1L,CAAW,EAE7B,OAAA6L,EAAQ,KAAKrR,EAAiBwF,EAAajG,EAAQC,CAAK,EACxDH,EAAmBqF,EAAa,CAACc,EAAajG,EAAQC,CAAK,EAAIgS,GAAeA,EAAW,CAAC,IAAMhM,GAAegM,EAAW,CAAC,IAAMjS,GAAUiS,EAAW,CAAC,IAAMhS,EAAO,EAAI,EACpK0nB,GACAF,IAEGxhB,EAEX6L,EAAQ,KAAKrR,EAAiBwF,EAAajG,CAAM,EACjDF,EAAmBqF,EAAa,CAACc,EAAajG,CAAM,EAAIiS,GAAeA,EAAW,CAAC,IAAMhM,GAAegM,EAAW,CAAC,IAAMjS,EAAQ,EAAI,EAClI2nB,GACAF,GAGpB,GACWhnB,EAAgB,OAAO,EAC1BA,EAAgB,YAAewG,GACpB,CAACiL,EAAqBlS,EAAQC,IAAU,CAC3C,MAAM2nB,EAAeziB,EAAY,KAAO,EACxC,GAAI+M,IAAwB,OACxBjL,EAAW,MAAMxG,CAAe,EAChC0E,EAAY,MAAK,UAEZ,OAAO+M,GAAwB,SAAU,CAE9CjL,EAAW,KAAKxG,EAAiByR,CAAmB,EACpD,UAAWD,KAAc9M,EACjB8M,EAAW,CAAC,IAAMC,GAClB/M,EAAY,OAAO8M,CAAU,CAGxC,KACI,CACGN,EAAkBO,CAAmB,EAErCjL,EAAW,KAAKxG,EAAiByR,EAAqBlS,EAAQC,CAAK,EAInEgH,EAAW,KAAKxG,EAAiByR,EAAqBlS,CAAM,EAEhE,UAAWiS,KAAc9M,EACjB8M,EAAW,CAAC,IAAMC,IACjBlS,IAAW,QAAaiS,EAAW,CAAC,IAAMjS,KAC1CC,IAAU,QAAagS,EAAW,CAAC,IAAMhS,IAC1CkF,EAAY,OAAO8M,CAAU,CAGxC,CACD,MAAM4V,EAAiB1iB,EAAY,OAAS,EACxCyiB,GAAgBC,GAChBH,GAEpB,GACWjnB,EAAgB,UAAU,EACtBA,CACf,EChEaqnB,GAA8B,CAACrnB,EAAiBlyB,EAASw5C,IAAW,CAC7E,MAAM9sD,EAAQsT,EAAQw5C,CAAM,EACxB9sD,IAAU,QAAaA,IAAUwlC,EAAgBsnB,CAAM,IACvDtnB,EAAgBsnB,CAAM,EAAI9sD,EAElC,ECJa+sD,GAA+B,CAACvnB,EAAiBlyB,IAAY,CACtEu5C,GAA4BrnB,EAAiBlyB,EAAS,cAAc,EACpEu5C,GAA4BrnB,EAAiBlyB,EAAS,kBAAkB,EACxEu5C,GAA4BrnB,EAAiBlyB,EAAS,uBAAuB,CACjF,ECLa05C,GAAuDrgB,GACzD,OAAOA,EAAmB,wBAA2B,WCDnDsgB,GAAgDtgB,GAAuB,CAChFA,EAAmB,uBAA0BI,GAAU,CACnD,MAAMmgB,EAAqB,IAAI,WAAWngB,EAAM,MAAM,EACtDJ,EAAmB,sBAAsBugB,CAAkB,EAC3D,MAAM7e,EAAS,KAAK,IAAI6e,EAAmB,OAAQvgB,EAAmB,OAAO,EAC7E,QAAS,EAAI,EAAG,EAAI0B,EAAQ,GAAK,EAC7BtB,EAAM,CAAC,GAAKmgB,EAAmB,CAAC,EAAI,KAAO,SAE/C,OAAOngB,CACf,CACA,ECNaogB,GAAkC,CAAC9lB,EAAiBmF,IACtD,CAAClE,EAAeh1B,IAAY,CAC/B,MAAMq5B,EAAqBrE,EAAc,iBAIzC,GAFAykB,GAA6BpgB,EAAoBr5B,CAAO,EAEpD,EAAEA,EAAQ,YAAcA,EAAQ,aAChC,MAAMk5B,EAAoB,EAE9B,OAAAqgB,GAA4BlgB,EAAoBr5B,EAAS,SAAS,EAClEu5C,GAA4BlgB,EAAoBr5B,EAAS,aAAa,EACtEu5C,GAA4BlgB,EAAoBr5B,EAAS,aAAa,EACtEu5C,GAA4BlgB,EAAoBr5B,EAAS,uBAAuB,EAE3E+zB,EAAgB2lB,GAAqD,IAAMA,GAAoDrgB,CAAkB,CAAC,GACnJsgB,GAA6CtgB,CAAkB,EAE5DA,CACf,ECtBaygB,GAAsCnlB,GAC3CA,IAAW,KACJ,KAEPA,EAAO,eAAe,aAAa,EAC5BA,EAAO,YAEX,KCPEolB,GAAuC,CAAC7nB,EAAiBlyB,EAASqyB,IAAe,CAC1F,MAAM3lC,EAAQsT,EAAQqyB,CAAU,EAC5B3lC,IAAU,QAAaA,IAAUwlC,EAAgBG,CAAU,EAAE,QAC7DH,EAAgBG,CAAU,EAAE,MAAQ3lC,EAE5C,ECJastD,GAAwDre,GAAgC,CACjGA,EAA4B,OAAUp+B,GAAU,CAC5C,IAAI08C,EAAc,GAClB,MAAO,CAACle,EAAO,EAAGC,EAAS,EAAGrW,IAAa,CACvC,GAAIs0B,EACA,MAAMze,GAAuB,EAEjCj+B,EAAM,KAAKo+B,EAA6BI,EAAMC,EAAQrW,CAAQ,EAC9Ds0B,EAAc,EAC1B,CACA,GAAOte,EAA4B,KAAK,CACxC,ECZaue,GAA6D1hB,GAAmC,CACzGA,EAA+B,OAAUj7B,GAC9B,CAACw+B,EAAO,EAAGC,EAAS,EAAGrW,IAAa,CACvC,GAAK,OAAOA,GAAa,UAAYA,EAAW,GAAMqW,EAAS,GAAKD,EAAO,EACvE,MAAM,IAAI,WAAW,mCAAmC,EAG5Dx+B,EAAM,KAAKi7B,EAAgCuD,EAAMC,EAAQrW,CAAQ,CAC7E,GACO6S,EAA+B,KAAK,CAC3C,ECVa2hB,GAA4D3hB,GAAmC,CACxGA,EAA+B,MAAS8D,GAC7B,CAACP,EAAO,IAAM,CACjB,GAAIA,EAAO,EACP,MAAM,IAAI,WAAW,kCAAkC,EAE3DO,EAAK,KAAK9D,EAAgCuD,CAAI,CAC1D,GACOvD,EAA+B,IAAI,CAC1C,ECHa4hB,GAA2C,CAACC,EAAqBtmB,EAAiBumB,EAA6DC,EAA2DC,EAA2DC,EAAkEC,EAA+DC,EAAiEC,EAAqDC,EAAoDC,IACljB,CAAC9lB,EAAeh1B,IAAY,CAC/B,MAAM27B,EAA8B3G,EAAc,qBAClD,OAAAykB,GAA6B9d,EAA6B37B,CAAO,EACjE+5C,GAAqCpe,EAA6B37B,EAAS,cAAc,EACzFu5C,GAA4B5d,EAA6B37B,EAAS,QAAQ,EAE1Eu5C,GAA4B5d,EAA6B37B,EAAS,MAAM,EACxEu5C,GAA4B5d,EAA6B37B,EAAS,SAAS,EAC3Eu5C,GAA4B5d,EAA6B37B,EAAS,WAAW,EAExE+zB,EAAgBumB,EAA6D,IAAMA,EAA4DtlB,CAAa,CAAC,GAC9JglB,GAAqDre,CAA2B,EAG/E5H,EAAgBwmB,EAA2D,IAAMA,EAA0DvlB,CAAa,CAAC,GAC1J4lB,EAAoDjf,CAA2B,EAG9E5H,EAAgBymB,EAA2D,IAAMA,EAA0DxlB,CAAa,CAAC,GAC1J6lB,EAAmDlf,EAA6B3G,CAAa,EAG5FjB,EAAgB0mB,EAAkE,IAAMA,EAAiEzlB,CAAa,CAAC,GACxKklB,GAA0Dve,CAA2B,EAGpF5H,EAAgB2mB,EAA+D,IAAMA,EAA8D1lB,CAAa,CAAC,GAClK8lB,EAAuDnf,EAA6B3G,CAAa,EAGhGjB,EAAgB4mB,EAAiE,IAAMA,EAAgE3lB,CAAa,CAAC,GACtKmlB,GAAyDxe,CAA2B,EAGxF0e,EAAoBrlB,EAAe2G,CAA2B,EACvDA,CACf,EC3Caof,GAAuCpmB,GAC5CA,IAAW,KACJ,KAEPA,EAAO,eAAe,cAAc,EAC7BA,EAAO,aAEXA,EAAO,eAAe,oBAAoB,EAAIA,EAAO,mBAAqB,KCPxEqmB,GAA0C,CAACziB,EAAsB8G,IACnE,CAACrK,EAAe0J,EAAcuc,IAAsC,CACvE,MAAMtc,EAA6B3J,EAAc,YAEjD,GAAI2J,EAA2B,eAAiBD,EAC5C,GAAI,CACAC,EAA2B,aAAeD,CAC7C,MACK,CAEL,CAGDuc,GAAqCtc,EAA2B,mBAAqB,aACrFA,EAA2B,iBAAmB,YAG9CA,EAA2B,kBAAoB,GAC/C,OAAO,eAAeA,EAA4B,kBAAmB,CACjE,MAAOD,CACvB,CAAa,EAGL,MAAMyL,EAAW5R,EAAqBvD,EAAe,CACjD,aAAA0J,EACA,iBAAkBC,EAA2B,iBAC7C,sBAAuBA,EAA2B,sBAClD,KAAM,CAClB,CAAS,EACD,OAAAU,EAAmB8K,EAAU,eAAiBp0C,GAAQ,IAAMA,EAAI,KAAKo0C,CAAQ,EAAI1zC,GAAS/J,GAAU,CAChG+J,EAAI,KAAK0zC,EAAUz9C,CAAK,EACxB,GAAI,CACAiyC,EAA2B,aAAejyC,CAC7C,OACMoP,EAAK,CAER,GAAIpP,EAAQiyC,EAA2B,gBACnC,MAAM7iC,CAEb,CACb,CAAS,EACDujC,EAAmB8K,EAAU,mBAAqBp0C,GAAQ,IAAMA,EAAI,KAAKo0C,CAAQ,EAAI1zC,GAAS/J,GAAU,CACpG+J,EAAI,KAAK0zC,EAAUz9C,CAAK,EACxBiyC,EAA2B,iBAAmBjyC,CAC1D,CAAS,EACD2yC,EAAmB8K,EAAU,wBAA0Bp0C,GAAQ,IAAMA,EAAI,KAAKo0C,CAAQ,EAAI1zC,GAAS/J,GAAU,CACzG+J,EAAI,KAAK0zC,EAAUz9C,CAAK,EACxBiyC,EAA2B,sBAAwBjyC,CAC/D,CAAS,EACD,OAAO,eAAey9C,EAAU,kBAAmB,CAC/C,IAAK,IAAMxL,EAA2B,eAClD,CAAS,EAEDwL,EAAS,QAAQxL,CAA0B,EACpCwL,CACf,ECvDa+Q,GAA2CvmB,GAChDA,IAAW,KACJ,KAEJA,EAAO,eAAe,kBAAkB,EAAIA,EAAO,iBAAmB,KCJpEwmB,GAA4CC,GAA4B,CACjF,KAAM,CAAE,MAAA5K,CAAK,EAAK,IAAI,eACtB,GAAI,CAEAA,EAAM,YAAY4K,CAAuB,CAC5C,QACO,CACJ5K,EAAM,MAAK,CACd,CACL,ECRa6K,GAAsC,CAAC7f,EAAyB8f,EAAmC/iB,EAAsBvE,EAAyBunB,IACpJ,CAACvmB,EAAewmB,EAAajnB,EAAmCrlC,EAAM83C,EAAsBhnC,IAAY,CAC3G,GAAIu0B,IAAsC,KACtC,GAAI,CACA,MAAM0S,EAAyB,IAAI1S,EAAkCS,EAAe9lC,EAAM8Q,CAAO,EAC3Fy7C,EAAwB,IAAI,IAClC,IAAIC,EAAmB,KAqFvB,GApFA,OAAO,iBAAiBzU,EAAwB,CAK5C,aAAc,CACV,IAAK,IAAMjnC,EAAQ,aACnB,IAAK,IAAM,CACP,MAAMw7B,EAAuB,CAChC,CACJ,EACD,iBAAkB,CACd,IAAK,IAAM,WACX,IAAK,IAAM,CACP,MAAMA,EAAuB,CAChC,CACJ,EAED,iBAAkB,CACd,IAAK,IAAMkgB,EACX,IAAMhvD,GAAU,CACR,OAAOgvD,GAAqB,YAC5BzU,EAAuB,oBAAoB,iBAAkByU,CAAgB,EAEjFA,EAAmB,OAAOhvD,GAAU,WAAaA,EAAQ,KACrD,OAAOgvD,GAAqB,YAC5BzU,EAAuB,iBAAiB,iBAAkByU,CAAgB,CAEjF,CACJ,CACrB,CAAiB,EACDzU,EAAuB,kBAAqBjd,GACjC,IAAI71B,IAAS,CAChB,GAAIA,EAAK,CAAC,IAAM,iBAAkB,CAC9B,MAAMwnD,EAAyB,OAAOxnD,EAAK,CAAC,GAAM,WAC5CA,EAAK,CAAC,EACN,OAAOA,EAAK,CAAC,GAAM,UAAYA,EAAK,CAAC,IAAM,MAAQ,OAAOA,EAAK,CAAC,EAAE,aAAgB,WAC9EA,EAAK,CAAC,EAAE,YACR,KACV,GAAIwnD,IAA2B,KAAM,CACjC,MAAMC,EAAuBH,EAAsB,IAAItnD,EAAK,CAAC,CAAC,EAC1DynD,IAAyB,OACzBznD,EAAK,CAAC,EAAIynD,GAGVznD,EAAK,CAAC,EAAKyK,GAAU,CAEbA,EAAM,OAAS,SACf,OAAO,iBAAiBA,EAAO,CAC3B,KAAM,CAAE,MAAO,gBAAkB,CACjF,CAA6C,EACD+8C,EAAuB/8C,CAAK,GAG5B+8C,EAAuB,IAAI,WAAWxnD,EAAK,CAAC,EAAG,CAAE,GAAGyK,CAAO,EAAC,CAExG,EACoC68C,EAAsB,IAAIE,EAAwBxnD,EAAK,CAAC,CAAC,EAEhE,CACJ,CAED,OAAA61B,EAAiB,KAAKid,EAAwB,QAAS9yC,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAChE61B,EAAiB,KAAKid,EAAwB,GAAG9yC,CAAI,CACpF,GACmB8yC,EAAuB,gBAAgB,EAC1CA,EAAuB,qBAAwBhd,GACpC,IAAI91B,IAAS,CAChB,GAAIA,EAAK,CAAC,IAAM,iBAAkB,CAC9B,MAAMynD,EAAuBH,EAAsB,IAAItnD,EAAK,CAAC,CAAC,EAC1DynD,IAAyB,SACzBH,EAAsB,OAAOtnD,EAAK,CAAC,CAAC,EACpCA,EAAK,CAAC,EAAIynD,EAEjB,CAED,OAAA3xB,EAAoB,KAAKgd,EAAwB,QAAS9yC,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EACnE81B,EAAoB,KAAKgd,EAAwB9yC,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACzG,GACmB8yC,EAAuB,mBAAmB,EAKzCjnC,EAAQ,kBAAoB,EAAG,CAC/B,MAAMy4B,EAAiBF,EAAqBvD,EAAe,CACvD,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,KAAM,CAC9B,CAAqB,EACD,OAAAiS,EAAuB,QAAQxO,CAAc,EAAE,QAAQzD,EAAc,WAAW,EAIzEumB,EAAmBtU,EAHJ,IAAMxO,EAAe,aAClB,IAAMA,EAAe,QAAQzD,EAAc,WAAW,CAEE,CACpF,CACD,OAAOiS,CACV,OACMnrC,EAAK,CAER,MAAIA,EAAI,OAAS,GACPk4B,EAAuB,EAE3Bl4B,CACT,CAGL,GAAIkrC,IAAyB,OACzB,MAAMhT,EAAuB,EAEjC,OAAAmnB,GAAyCn7C,CAAO,EACzCs7C,EAAkCtmB,EAAewmB,EAAaxU,EAAsBhnC,CAAO,CAC1G,ECzHa67C,GAAoB,CAACL,EAAavgB,IACvCugB,IAAgB,KACT,IAEJ,KAAK,IAAI,IAAK,KAAK,IAAI,MAAO,KAAK,IAAI,EAAG,KAAK,MAAM,KAAK,KAAKA,EAAcvgB,CAAU,CAAC,CAAC,CAAC,CAAC,ECJzF6gB,GAAgCV,GAClC,IAAI,QAAQ,CAAC9sC,EAAS+vB,IAAW,CACpC,KAAM,CAAE,MAAAmS,EAAO,MAAAC,GAAU,IAAI,eAC7BD,EAAM,UAAY,CAAC,CAAE,KAAAhvC,KAAW,CAC5BgvC,EAAM,MAAK,EACXC,EAAM,MAAK,EACXniC,EAAQ9M,CAAI,CACxB,EACQgvC,EAAM,eAAiB,CAAC,CAAE,KAAAhvC,KAAW,CACjCgvC,EAAM,MAAK,EACXC,EAAM,MAAK,EACXpS,EAAO78B,CAAI,CACvB,EAEQivC,EAAM,YAAY2K,CAAuB,CACjD,CAAK,ECdQW,GAAqC,MAAO/U,EAAsBoU,IAA4B,CACvG,MAAMY,EAAgC,MAAMF,GAA6BV,CAAuB,EAChG,OAAO,IAAIpU,EAAqBgV,CAA6B,CACjE,ECFaC,GAA8B,CAACjnB,EAAeiS,EAAwBD,EAAsBoU,IAA4B,CACjI,IAAIrT,EAAqB/U,GAAuB,IAAIgC,CAAa,EAC7D+S,IAAuB,SACvBA,EAAqB,IAAI,QACzB/U,GAAuB,IAAIgC,EAAe+S,CAAkB,GAEhE,MAAMmU,EAA+BH,GAAmC/U,EAAsBoU,CAAuB,EACrH,OAAArT,EAAmB,IAAId,EAAwBiV,CAA4B,EACpEA,CACX,ECJaC,GAA2C,CAACnT,EAAwB9P,EAAsBsC,EAAyByD,EAA+BgK,EAAiC/J,EAAgC3G,EAAsB4G,EAAiCnL,EAAyBmV,EAA2BjV,EAAkCkoB,EAAiCb,IACnY,CAACvmB,EAAewmB,EAAaxU,EAAsBhnC,IAAY,CAClE,GAAIA,EAAQ,iBAAmB,GAAKA,EAAQ,kBAAoB,EAC5D,MAAMg0B,EAAuB,EAEjC,MAAMkU,EAAqB,MAAM,QAAQloC,EAAQ,kBAAkB,EAC7DA,EAAQ,mBACR,MAAM,KAAKA,EAAQ,kBAAkB,EAE3C,GAAIkoC,EAAmB,KAAMxJ,GAAiBA,EAAe,CAAC,EAC1D,MAAM1K,EAAuB,EAEjC,GAAIkU,EAAmB,SAAWloC,EAAQ,gBACtC,MAAMk5B,EAAoB,EAG9B,GAAIl5B,EAAQ,mBAAqB,WAC7B,MAAMg0B,EAAuB,EAEjC,MAAMmU,EAAwBnoC,EAAQ,aAAeA,EAAQ,eACvDooC,EAAyBF,EAAmB,OAAO,CAACG,EAAK37C,IAAU27C,EAAM37C,EAAO,CAAC,EACjFm9C,EAAqB7C,EAAqB,uBAAyB,OAAY,EAAIA,EAAqB,qBAAqB,OAEnI,GAAImB,EAAwB0B,EAAqB,GAAKzB,EAAyB,EAC3E,MAAMpU,EAAuB,EAEjC,MAAMqoB,EAAiB,IAAI,eACrBtS,EAAY,GACZC,EAA4B,GAClC,QAASr+C,EAAI,EAAGA,EAAIqU,EAAQ,eAAgBrU,GAAK,EAC7Co+C,EAAU,KAAKxR,EAAqBvD,EAAe,CAC/C,aAAch1B,EAAQ,aACtB,iBAAkBA,EAAQ,iBAC1B,sBAAuBA,EAAQ,sBAC/B,KAAM,CACT,EAAC,EACFgqC,EAA0B,KAAKf,EAAgCjU,EAAe,CAC1E,aAAch1B,EAAQ,aACtB,iBAAkB,WAClB,sBAAuB,WACvB,gBAAiBA,EAAQ,YAC5B,EAAC,EAEN,MAAMiqC,EAAsB,GAC5B,GAAIjD,EAAqB,uBAAyB,OAC9C,SAAW,CAAE,aAAAhsC,EAAc,SAAA2qC,EAAU,SAAAC,EAAU,KAAA12C,CAAM,IAAI83C,EAAqB,qBAAsB,CAChG,MAAM1G,EAAqBpB,EAA+BlK,EAAe,CACrE,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,OAAQh1B,EAAQ,cAAc9Q,CAAI,IAAM,OAClC8Q,EAAQ,cAAc9Q,CAAI,EAC1B8L,IAAiB,OACb,EACAA,CAC9B,CAAiB,EACD,OAAO,iBAAiBslC,EAAmB,OAAQ,CAC/C,aAAc,CACV,IAAK,IAAOtlC,IAAiB,OAAY,EAAIA,CAChD,EACD,SAAU,CACN,IAAK,IAAO2qC,IAAa,OAAYxK,GAA6BwK,CACrE,EACD,SAAU,CACN,IAAK,IAAOC,IAAa,OAAY1K,GAA6B0K,CACrE,CACrB,CAAiB,EACDqE,EAAoB,KAAK3J,CAAkB,CAC9C,CAEL,MAAM4J,EAAyBjL,EAA8BjK,EAAe,CACxE,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgB,KAAK,IAAI,EAAGmT,EAAwB0B,CAAkB,CAClF,CAAS,EACKyS,EAAaT,GAAkBL,EAAaxmB,EAAc,UAAU,EACpE8K,EAAsBX,EAAgCnK,EAAesnB,EAAYnU,EAAwB0B,EAE/G,KAAK,IAAI,EAAGzB,CAAsB,CAAC,EAC7BsB,EAA4BT,EAAgCjU,EAAe,CAC7E,aAAc,KAAK,IAAI,EAAGoT,CAAsB,EAChD,iBAAkB,WAClB,sBAAuB,WACvB,gBAAiB,KAAK,IAAI,EAAGA,CAAsB,CAC/D,CAAS,EACKuB,EAA2B,GACjC,QAASh+C,EAAI,EAAGA,EAAIqU,EAAQ,gBAAiBrU,GAAK,EAC9Cg+C,EAAyB,KAAK1K,EAA8BjK,EAAe,CACvE,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgBkT,EAAmBv8C,CAAC,CACvC,EAAC,EAEN,QAASA,EAAI,EAAGA,EAAIqU,EAAQ,eAAgBrU,GAAK,EAAG,CAChDo+C,EAAUp+C,CAAC,EAAE,QAAQq+C,EAA0Br+C,CAAC,CAAC,EACjD,QAAS+yB,EAAI,EAAGA,EAAI1e,EAAQ,aAAc0e,GAAK,EAC3CsrB,EAA0Br+C,CAAC,EAAE,QAAQu+C,EAAwBxrB,EAAG/yB,EAAIqU,EAAQ,aAAe0e,CAAC,CAEnG,CACD,MAAM69B,EAAe,IAAIjW,GAAYU,EAAqB,uBAAyB,OAC7E,CAAE,EACFA,EAAqB,qBAAqB,IAAI,CAAC,CAAE,KAAA93C,CAAI,EAAIwf,IAAU,CACjE,MAAM4xB,EAAqB2J,EAAoBv7B,CAAK,EACpD,OAAA4xB,EAAmB,QAAQ4J,EAAwB,EAAG/B,EAAwBz5B,CAAK,EACnF4xB,EAAmB,MAAM,CAAC,EACnB,CAACpxC,EAAMoxC,EAAmB,MAAM,CAC1C,EAAC,EACN4J,EAAuB,QAAQpK,CAAmB,EAClD,IAAI0c,GAAwBx8C,EAAQ,sBAChC07C,EAAmB,KAEvB,MAAM5M,EAAmB9uC,EAAQ,kBAAoB,EAAI,CAAC8/B,CAAmB,EAAI6J,EAC3E8S,GAA8B,CAChC,IAAI,YAAa,CACb,OAAOH,CACV,EACD,IAAI,cAAe,CACf,OAAOt8C,EAAQ,YAClB,EACD,IAAI,aAAa5S,EAAG,CAEhB,MAAMouC,EAAuB,CAChC,EACD,IAAI,kBAAmB,CACnB,OAAOx7B,EAAQ,gBAClB,EACD,IAAI,iBAAiB5S,EAAG,CAEpB,MAAMouC,EAAuB,CAChC,EACD,IAAI,uBAAwB,CACxB,OAAOghB,EACV,EACD,IAAI,sBAAsB9vD,EAAO,CAC7B,UAAWy9C,KAAYJ,EACnBI,EAAS,sBAAwBz9C,EAErC8vD,GAAwB9vD,CAC3B,EACD,IAAI,SAAU,CACV,OAAOozC,EAAoB,OAC9B,EACD,IAAI,QAAS,CACT,OAAOiK,CACV,EACD,IAAI,gBAAiB,CACjB,OAAO/pC,EAAQ,cAClB,EACD,IAAI,iBAAkB,CAClB,OAAOA,EAAQ,eAClB,EACD,IAAI,kBAAmB,CACnB,OAAO07C,CACV,EACD,IAAI,iBAAiBhvD,EAAO,CACpB,OAAOgvD,GAAqB,YAC5Be,GAA4B,oBAAoB,iBAAkBf,CAAgB,EAEtFA,EAAmB,OAAOhvD,GAAU,WAAaA,EAAQ,KACrD,OAAOgvD,GAAqB,YAC5Be,GAA4B,iBAAiB,iBAAkBf,CAAgB,CAEtF,EACD,IAAI,YAAa,CACb,OAAOa,CACV,EACD,IAAI,MAAO,CACP,OAAOF,EAAe,KACzB,EACD,oBAAoBloD,EAAM,CACtB,OAAO2rC,EAAoB,iBAAiB3rC,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACxE,EACD,QAAS60C,EAAuB,KAAK,KAAM8F,CAAgB,EAC3D,WAAY3F,EAA0B,KAAK,KAAM2F,CAAgB,EACjE,iBAAiB36C,EAAM,CACnB,OAAO2rC,EAAoB,cAAc3rC,EAAK,CAAC,CAAC,CACnD,EACD,uBAAuBA,EAAM,CACzB,OAAO2rC,EAAoB,oBAAoB3rC,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAC3E,CACb,EACcsnD,GAAwB,IAAI,IAClCY,EAAe,MAAM,kBAAqBryB,GAC/B,IAAI71B,IAAS,CAChB,GAAIA,EAAK,CAAC,IAAM,UAAW,CACvB,MAAMwnD,EAAyB,OAAOxnD,EAAK,CAAC,GAAM,WAC5CA,EAAK,CAAC,EACN,OAAOA,EAAK,CAAC,GAAM,UAAYA,EAAK,CAAC,IAAM,MAAQ,OAAOA,EAAK,CAAC,EAAE,aAAgB,WAC9EA,EAAK,CAAC,EAAE,YACR,KACV,GAAIwnD,IAA2B,KAAM,CACjC,MAAMC,EAAuBH,GAAsB,IAAItnD,EAAK,CAAC,CAAC,EAC1DynD,IAAyB,OACzBznD,EAAK,CAAC,EAAIynD,GAGVznD,EAAK,CAAC,EAAKyK,GAAU,CACjBs1B,EAAiCc,EAAc,YAAaA,EAAc,WAAY,IAAM2mB,EAAuB/8C,CAAK,CAAC,CACzJ,EAC4B68C,GAAsB,IAAIE,EAAwBxnD,EAAK,CAAC,CAAC,EAEhE,CACJ,CACD,OAAO61B,EAAiB,KAAKqyB,EAAe,MAAOloD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAC5F,GACWkoD,EAAe,MAAM,gBAAgB,EACxCA,EAAe,MAAM,qBAAwBpyB,GAClC,IAAI91B,IAAS,CAChB,GAAIA,EAAK,CAAC,IAAM,UAAW,CACvB,MAAMynD,EAAuBH,GAAsB,IAAItnD,EAAK,CAAC,CAAC,EAC1DynD,IAAyB,SACzBH,GAAsB,OAAOtnD,EAAK,CAAC,CAAC,EACpCA,EAAK,CAAC,EAAIynD,EAEjB,CACD,OAAO3xB,EAAoB,KAAKoyB,EAAe,MAAOloD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAC/F,GACWkoD,EAAe,MAAM,mBAAmB,EAC3C,IAAIK,GAAY,KAChB,OAAO,eAAeL,EAAe,MAAO,YAAa,CACrD,IAAK,IAAMK,GACX,IAAMhwD,GAAU,CACR,OAAOgwD,IAAc,YACrBL,EAAe,MAAM,oBAAoB,UAAWK,EAAS,EAEjEA,GAAY,OAAOhwD,GAAU,WAAaA,EAAQ,KAC9C,OAAOgwD,IAAc,aACrBL,EAAe,MAAM,iBAAiB,UAAWK,EAAS,EAC1DL,EAAe,MAAM,QAE5B,CACb,CAAS,EACDrV,EAAqB,UAAU,KAAOqV,EAAe,MACrD,IAAI7T,GAAwB,KACSyT,GAA4BjnB,EAAeynB,GAA6BzV,EAAsBhnC,CAAO,EAC7G,KAAM28C,GAAkBnU,GAAwBmU,CAAa,EAC1F,MAAMlU,GAASf,GAAmB1nC,EAAQ,eAAgBA,EAAQ,YAAY,EACxE43B,GAAU8P,GAAmB1nC,EAAQ,gBAAiBkoC,CAAkB,EACxE3B,GAAaS,EAAqB,uBAAyB,OAC3D,CAAE,EACFA,EAAqB,qBAAqB,OAAO,CAAC0B,EAAQ,CAAE,KAAAx5C,CAAI,KAAQ,CAAE,GAAGw5C,EAAQ,CAACx5C,CAAI,EAAG,IAAI,aAAa,GAAG,CAAG,GAAG,EAAE,EAC/H,IAAI4oC,GAAW,GACf,MAAM8kB,EAAyB,IAAM,CAC7B58C,EAAQ,gBAAkB,GAC1B8/B,EAAoB,WAAW4J,CAAyB,EAE5D,QAAS/9C,EAAI,EAAGk9C,EAAkC,EAAGl9C,EAAIqU,EAAQ,gBAAiBrU,GAAK,EAAG,CACtF,MAAM0+C,EAA0BV,EAAyBh+C,CAAC,EAC1D,QAAS+yB,EAAI,EAAGA,EAAIwpB,EAAmBv8C,CAAC,EAAG+yB,GAAK,EAC5CgrB,EAA0B,WAAWW,EAAyBxB,EAAkCnqB,EAAGA,CAAC,EAExGmqB,GAAmCX,EAAmBv8C,CAAC,CAC1D,CACb,EACckxD,EAAqB,IAAI,IAE/B/c,EAAoB,eAAiB,CAAC,CAAE,YAAAC,EAAa,aAAA+c,CAAY,IAAO,CACpE,GAAItU,KAA0B,KAAM,CAChC,MAAMhX,EAAe4qB,EAAgCK,EAA2B,EAChF,QAAS9wD,EAAI,EAAGA,EAAI2wD,EAAY3wD,GAAK,IAAK,CACtC,QAAS+yB,EAAI,EAAGA,EAAI1e,EAAQ,eAAgB0e,GAAK,EAC7C,QAAS+O,EAAI,EAAGA,EAAIztB,EAAQ,aAAcytB,GAAK,EAC3C4Z,GAAgBtH,EAAa0I,GAAO/pB,CAAC,EAAG+O,EAAGA,EAAG9hC,CAAC,EAGnDq7C,EAAqB,uBAAyB,QAC9CA,EAAqB,qBAAqB,QAAQ,CAAC,CAAE,KAAA93C,CAAI,EAAIwf,IAAU,CACnE24B,GAAgBtH,EAAawG,GAAYr3C,EAAMi5C,EAAwBz5B,EAAO/iB,CAAC,CAC3G,CAAyB,EAEL,QAAS+yB,EAAI,EAAGA,EAAI1e,EAAQ,eAAgB0e,GAAK,EAC7C,QAAS+O,EAAI,EAAGA,EAAIya,EAAmBxpB,CAAC,EAAG+O,GAAK,EAExCmK,GAAQlZ,CAAC,EAAE+O,CAAC,EAAE,aAAe,IAC7BmK,GAAQlZ,CAAC,EAAE+O,CAAC,EAAI,IAAI,aAAa,GAAG,GAIhD,GAAI,CACA,MAAMkb,EAAyBF,GAAO,IAAI,CAAC/W,EAAOhjB,KAAU,CAExD,GADoB8iB,EAAa9iB,EAAK,EACtB,KAAO,EACnB,OAAAmuC,EAAmB,IAAInuC,GAAO4tC,EAAa,GAAG,EACvC5qB,EAEX,MAAMyR,GAAQ0Z,EAAmB,IAAInuC,EAAK,EAC1C,OAAIy0B,KAAU,OACH,IAEPzR,EAAM,MAAOiR,IAAgBA,GAAY,MAAOE,IAAWA,KAAW,CAAC,CAAC,IACpEM,KAAU,EACV0Z,EAAmB,OAAOnuC,EAAK,EAG/BmuC,EAAmB,IAAInuC,GAAOy0B,GAAQ,CAAC,GAGxCzR,EACnC,CAAyB,EAEDoG,GADyB5D,EAAiCc,EAAc,YAAcrpC,EAAIqpC,EAAc,WAAYA,EAAc,WAAY,IAAMwT,GAAsB,QAAQG,EAAwB/Q,GAAS2O,EAAU,CAAC,EAE9N,QAAS,EAAI,EAAGsC,GAAkC,EAAG,EAAI7oC,EAAQ,gBAAiB,GAAK,EAAG,CACtF,QAASytB,GAAI,EAAGA,GAAIya,EAAmB,CAAC,EAAGza,IAAK,EAC5Cga,GAAcqV,EAAcllB,GAAQ,CAAC,EAAGnK,GAAGob,GAAkCpb,GAAG9hC,CAAC,EAErFk9C,IAAmCX,EAAmB,CAAC,CAC1D,CACJ,OACMY,EAAO,CACVhR,GAAW,GACX2kB,GAA4B,cAAc,IAAI,WAAW,iBAAkB,CACvE,MAAO3T,EAAM,MACb,SAAUA,EAAM,SAChB,OAAQA,EAAM,OACd,QAASA,EAAM,OAClB,EAAC,CACL,CACD,GAAI,CAAChR,GAAU,CACX,QAASpZ,EAAI,EAAGA,EAAI1e,EAAQ,eAAgB0e,GAAK,EAAG,CAChDqrB,EAAUrrB,CAAC,EAAE,WAAWsrB,EAA0BtrB,CAAC,CAAC,EACpD,QAAS+O,EAAI,EAAGA,EAAIztB,EAAQ,aAAcytB,GAAK,EAC3Cuc,EAA0Br+C,CAAC,EAAE,WAAWu+C,EAAwBzc,EAAG/O,EAAI1e,EAAQ,aAAeytB,CAAC,CAEtG,CACD,GAAIuZ,EAAqB,uBAAyB,OAAW,CACzD,MAAMjM,EAASiM,EAAqB,qBAAqB,OACzD,QAAStoB,EAAI,EAAGA,EAAIqc,EAAQrc,GAAK,EAAG,CAChC,MAAM4hB,EAAqB2J,EAAoBvrB,CAAC,EAChD4hB,EAAmB,WAAW4J,EAAwB,EAAG/B,EAAwBzpB,CAAC,EAClF4hB,EAAmB,KAAI,CAC1B,CACJ,CACD4J,EAAuB,WAAWpK,CAAmB,EACrDA,EAAoB,eAAiB,KACjCid,EACAH,IAGAI,IAEJ,KACH,CACJ,CACJ,CACb,EACQ,IAAID,EAAc,GAElB,MAAMtkB,GAAiBF,EAAqBvD,EAAe,CACvD,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,KAAM,CAClB,CAAS,EACKioB,GAAmB,IAAMnd,EAAoB,QAAQrH,EAAc,EAAE,QAAQzD,EAAc,WAAW,EACtGgoB,EAAsB,IAAM,CAC9Bld,EAAoB,WAAWrH,EAAc,EAC7CA,GAAe,WAAU,CACrC,EACcygB,EAAgB,IAAM,CACxB,GAAIphB,GAAU,CACVklB,IACIh9C,EAAQ,gBAAkB,GAC1B8/B,EAAoB,QAAQ4J,CAAyB,EAEzD,QAAS/9C,EAAI,EAAGk9C,EAAkC,EAAGl9C,EAAIqU,EAAQ,gBAAiBrU,GAAK,EAAG,CACtF,MAAM0+C,EAA0BV,EAAyBh+C,CAAC,EAC1D,QAAS+yB,EAAI,EAAGA,EAAIwpB,EAAmBv8C,CAAC,EAAG+yB,GAAK,EAC5CgrB,EAA0B,QAAQW,EAAyBxB,EAAkCnqB,EAAGA,CAAC,EAErGmqB,GAAmCX,EAAmBv8C,CAAC,CAC1D,CACJ,CACDoxD,EAAc,EAC1B,EACc5D,EAAmB,IAAM,CACvBrhB,KACAmlB,KACAL,KAEJG,EAAc,EAC1B,EACQ,OAAAE,KACO1B,EAAmBkB,GAA6BvD,EAAeC,CAAgB,CAC9F,ECrYazM,GAA+B,CAAC1X,EAAeh1B,IAAY,CACpE,MAAM4sC,EAAyB5X,EAAc,qBAC7C,OAAAykB,GAA6B7M,EAAwB5sC,CAAO,EAC5D+5C,GAAqCnN,EAAwB5sC,EAAS,GAAG,EACzE+5C,GAAqCnN,EAAwB5sC,EAAS,QAAQ,EAC9E+5C,GAAqCnN,EAAwB5sC,EAAS,WAAW,EACjF+5C,GAAqCnN,EAAwB5sC,EAAS,MAAM,EAC5Eu5C,GAA4B3M,EAAwB5sC,EAAS,MAAM,EAC5D4sC,CACX,ECXasQ,GAAuC,CAACnf,EAA+Bof,IACzE,CAACnoB,EAAeh1B,IAAY,CAC/B,MAAMiuC,EAA0BjZ,EAAc,oBAAoBh1B,EAAQ,cAAc,EAMxF,OAAI+9B,IAAkC,MAAQA,EAA8B,OAAS,sBACjFof,EAAsBnoB,EAAeiZ,CAAuB,EAEhEwL,GAA6BxL,EAAyBjuC,CAAO,EACtDiuC,CACf,ECbamP,GAA2BC,GAAwB,CAC5D,MAAM3e,EAAe2e,EAAoB,gBAEzC,OAAO,eAAeA,EAAqB,eAAgB,CACvD,IAAK,IAAM3e,EACX,IAAMhyC,GAAU,CACZ,GAAIA,IAAUgyC,EACV,MAAMlD,GAAuB,CAEpC,CACT,CAAK,EAED,OAAO,eAAe6hB,EAAqB,mBAAoB,CAC3D,IAAK,IAAM,WACX,IAAM3wD,GAAU,CACZ,GAAIA,IAAU,WACV,MAAM8uC,GAAuB,CAEpC,CACT,CAAK,EAED,OAAO,eAAe6hB,EAAqB,wBAAyB,CAChE,IAAK,IAAM,WACX,IAAM3wD,GAAU,CACZ,GAAIA,IAAU,WACV,MAAM8uC,GAAuB,CAEpC,CACT,CAAK,CACL,EC5BayN,GAAkC,CAACjU,EAAeh1B,IAAY,CACvE,MAAMwuC,EAA4BxZ,EAAc,sBAAsBh1B,EAAQ,eAAe,EAI7F,OAAAy5C,GAA6BjL,EAA2BxuC,CAAO,EAE/Do9C,GAAwB5O,CAAyB,EAC1CA,CACX,ECPa8O,GAAwC,CAACjD,EAAqBtmB,EAAiBwpB,EAAqC9C,EAAkEE,IACxL,CAAC3lB,EAAeh1B,IAAY,CAE/B,GAAIg1B,EAAc,uBAAyB,OACvC,OAAOuoB,EAAoCvoB,EAAeh1B,CAAO,EAErE,MAAMmvC,EAA2Bna,EAAc,uBAC/C,OAAAykB,GAA6BtK,EAA0BnvC,CAAO,EAC9D+5C,GAAqC5K,EAA0BnvC,EAAS,QAAQ,EAE3E+zB,EAAgB0mB,EAAkE,IAAMA,EAAiEzlB,CAAa,CAAC,GACxKklB,GAA0D/K,CAAwB,EAGjFpb,EAAgB4mB,EAAiE,IAAMA,EAAgE3lB,CAAa,CAAC,GACtKmlB,GAAyDhL,CAAwB,EAGrFkL,EAAoBrlB,EAAema,CAAwB,EACpDA,CACf,ECxBaqO,GAAuB,CAACC,EAAUC,KAC3CD,EAAS,QAAUC,EAAY,QAAQ,KAAKA,CAAW,EACvDD,EAAS,WAAaC,EAAY,WAAW,KAAKA,CAAW,EACtDD,GCFEE,GAA6C,CAACtD,EAAqB5e,EAAmClD,EAAsBgjB,IAC9H,CAACvmB,EAAe,CAAE,OAAAgH,EAAQ,GAAG4hB,CAAgB,IAAO,CACvD,MAAMxjB,EAAcpF,EAAc,aAAa,EAAG,EAAG,KAAK,EACpDoV,EAAwB3O,EAAkCzG,EAAe,CAC3E,OAAQ,KACR,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,KAAM,GACN,QAAS,EACT,UAAW,EACX,aAAc,CAC1B,CAAS,EACKmV,EAAW5R,EAAqBvD,EAAe,CAAE,GAAG4oB,EAAkB,KAAM5hB,CAAM,CAAE,EAEpF2G,EAAcvI,EAAY,eAAe,CAAC,EAEhDuI,EAAY,CAAC,EAAI,EACjBA,EAAY,CAAC,EAAI,EACjByH,EAAsB,OAAShQ,EAC/BgQ,EAAsB,KAAO,GAC7B,MAAMyT,EAAgC,CAClC,IAAI,YAAa,CAEhB,EACD,IAAI,cAAe,CACf,OAAO1T,EAAS,YACnB,EACD,IAAI,aAAaz9C,EAAO,CACpBy9C,EAAS,aAAez9C,CAC3B,EACD,IAAI,kBAAmB,CACnB,OAAOy9C,EAAS,gBACnB,EACD,IAAI,iBAAiBz9C,EAAO,CACxBy9C,EAAS,iBAAmBz9C,CAC/B,EACD,IAAI,uBAAwB,CACxB,OAAOy9C,EAAS,qBACnB,EACD,IAAI,sBAAsBz9C,EAAO,CAC7By9C,EAAS,sBAAwBz9C,CACpC,EACD,IAAI,SAAU,CACV,OAAOy9C,EAAS,OACnB,EACD,IAAI,QAAS,CACT,MAAO,EACV,EACD,IAAI,gBAAiB,CACjB,OAAOC,EAAsB,cAChC,EACD,IAAI,iBAAkB,CAClB,OAAOD,EAAS,eACnB,EACD,IAAI,QAAS,CACT,OAAOA,EAAS,IACnB,EACD,IAAI,SAAU,CACV,OAAOC,EAAsB,OAChC,EACD,IAAI,QAAQ19C,EAAO,CACf09C,EAAsB,QAAU19C,CACnC,EACD,oBAAoByH,EAAM,CACtB,OAAOi2C,EAAsB,iBAAiBj2C,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAC1E,EACD,iBAAiBA,EAAM,CACnB,OAAOi2C,EAAsB,cAAcj2C,EAAK,CAAC,CAAC,CACrD,EACD,uBAAuBA,EAAM,CACzB,OAAOi2C,EAAsB,oBAAoBj2C,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAC7E,EACD,MAAM4nC,EAAO,EAAG,CACZqO,EAAsB,MAAM,KAAKA,EAAuBrO,CAAI,CAC/D,EACD,KAAKA,EAAO,EAAG,CACXqO,EAAsB,KAAK,KAAKA,EAAuBrO,CAAI,CAC9D,CACb,EACcmd,EAAgB,IAAM9O,EAAsB,QAAQD,CAAQ,EAC5DgP,EAAmB,IAAM/O,EAAsB,WAAWD,CAAQ,EAExE,OAAAkQ,EAAoBrlB,EAAeoV,CAAqB,EACjDmR,EAAmBiC,GAAqBK,EAA+B1T,CAAQ,EAAG+O,EAAeC,CAAgB,CAChI,ECpFa2E,GAAmC,CAAC9pB,EAAyBqL,IAC/D,CAACrK,EAAeh1B,IAAY,CAC/B,MAAM8vC,EAAsB9a,EAAc,kBAkB1C,GAjBAykB,GAA6B3J,EAAqB9vC,CAAO,EAErDA,EAAQ,uBAAyB8vC,EAAoB,YACrDA,EAAoB,UAAY,CAAC9vC,EAAQ,sBAE7Cu5C,GAA4BzJ,EAAqB9vC,EAAS,QAAQ,EAE9DA,EAAQ,aAAe,IAG3Bq/B,EAAmByQ,EAAqB,eAAiB/5C,GAAQ,IAAMA,EAAI,KAAK+5C,CAAmB,EAAIr5C,GAAS/J,GAAU,CACtH,GAAIA,EAAQ,EACR,MAAMsnC,EAAuB,EAEjC,OAAOv9B,EAAI,KAAKq5C,EAAqBpjD,CAAK,CACtD,CAAS,EAEGsT,EAAQ,mBAAqB,OAC7B,MAAMg0B,EAAuB,EAEjC,OAAAqL,EAAmByQ,EAAqB,mBAAqB/5C,GAAQ,IAAMA,EAAI,KAAK+5C,CAAmB,EAAIr5C,GAAS/J,GAAU,CAC1H,GAAIA,IAAU,MACV,MAAMsnC,EAAuB,EAEjC,OAAOv9B,EAAI,KAAKq5C,EAAqBpjD,CAAK,CACtD,CAAS,EACMojD,CACf,EC9Ba2B,GAAwB,CAACzc,EAAeh1B,IAAY,CAC7D,MAAM0xC,EAAkB1c,EAAc,YAAYh1B,EAAQ,YAAY,EACtE,OAAAy5C,GAA6B/H,EAAiB1xC,CAAO,EACrD+5C,GAAqCrI,EAAiB1xC,EAAS,WAAW,EACnE0xC,CACX,ECLaqM,GAA6C/pB,GAC/C,CAACgB,EAAeh1B,IAAY,CAC/B,MAAM8yC,EAA+B9d,EAAc,2BAOnD,GANAykB,GAA6B3G,EAA8B9yC,CAAO,EAE9DA,EAAQ,aAAe,GAIvBA,EAAQ,mBAAqB,MAC7B,MAAMg0B,EAAuB,EAEjC,OAAA+lB,GAAqCjH,EAA8B9yC,EAAS,QAAQ,EACpF+5C,GAAqCjH,EAA8B9yC,EAAS,MAAM,EAClF+5C,GAAqCjH,EAA8B9yC,EAAS,OAAO,EACnF+5C,GAAqCjH,EAA8B9yC,EAAS,SAAS,EACrF+5C,GAAqCjH,EAA8B9yC,EAAS,WAAW,EAChF8yC,CACf,EClBava,GAAuB,CAACvD,EAAeh1B,IAAY,CAC5D,MAAMy4B,EAAiBzD,EAAc,aACrC,OAAAykB,GAA6BhhB,EAAgBz4B,CAAO,EACpD+5C,GAAqCthB,EAAgBz4B,EAAS,MAAM,EAC7Dy4B,CACX,ECNaulB,GAAoCC,GACtC,CAACjpB,EAAewmB,EAAax7C,IAAY,CAE5C,GAAIg1B,EAAc,kBAAoB,OAClC,OAAOipB,EAA+BjpB,EAAewmB,EAAax7C,CAAO,EAG7E,MAAM61C,EAAsB7gB,EAAc,gBAAgBh1B,EAAQ,YAAaA,EAAQ,QAAQ,EAC/F,OAAAy5C,GAA6B5D,EAAqB71C,CAAO,EAClD61C,CACf,ECRA,SAASqI,GAAO3uD,EAAGC,EAAG,CAClB,MAAM2uD,EAAc3uD,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAC5C,MAAO,EAAED,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,GAAK2uD,GAAc5uD,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,GAAK2uD,CAAW,CAChG,CACA,SAASC,GAAS7uD,EAAGC,EAAG,CACpB,MAAO,CAACD,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAGD,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,CAAC,CAChE,CACA,SAAS6uD,GAAmBC,EAAaC,EAAG,CACxC,IAAIhpD,EAAS,CAAC,EAAG,CAAC,EAClB,QAAS5J,EAAI2yD,EAAY,OAAS,EAAG3yD,GAAK,EAAGA,GAAK,EAC9C4J,EAAS6oD,GAAS7oD,EAAQgpD,CAAC,EAC3BhpD,EAAO,CAAC,GAAK+oD,EAAY3yD,CAAC,EAE9B,OAAO4J,CACX,CACO,MAAMipD,GAAwC,CAAC3Z,EAA0BrJ,EAAyB2D,EAAiCnL,IAC/H,CAACgB,EAAewmB,EAAa,CAAE,aAAA9c,EAAc,iBAAA+f,EAAkB,sBAAAjC,EAAuB,SAAAvQ,EAAU,YAAAD,KAAkB,CACrH,MAAMsQ,EAAaT,GAAkBL,EAAaxmB,EAAc,UAAU,EACpE6hB,EAAoB5K,aAAoB,aAAeA,EAAW,IAAI,aAAaA,CAAQ,EAC3F6K,EAAuB9K,aAAuB,aAAeA,EAAc,IAAI,aAAaA,CAAW,EACvGoK,EAAiBS,EAAkB,OACnCR,EAAoBS,EAAqB,OACzCR,EAAY,KAAK,IAAIF,EAAgBC,CAAiB,EAC5D,GAAID,IAAmB,GAAKA,EAAiB,GACzC,MAAMpiB,EAAuB,EAEjC,GAAI6iB,EAAkB,CAAC,IAAM,EACzB,MAAMrb,EAAuB,EAEjC,GAAI6a,IAAsB,GAAKA,EAAoB,GAC/C,MAAMriB,EAAuB,EAEjC,GAAI8iB,EAAqB,CAAC,IAAM,EAC5B,MAAMtb,EAAuB,EAEjC,GAAIqb,EAAkB,CAAC,IAAM,EAAG,CAC5B,QAASlrD,EAAI,EAAGA,EAAI0qD,EAAmB1qD,GAAK,EACxCmrD,EAAqBnrD,CAAC,GAAKkrD,EAAkB,CAAC,EAElD,QAASlrD,EAAI,EAAGA,EAAIyqD,EAAgBzqD,GAAK,EACrCkrD,EAAkBlrD,CAAC,GAAKkrD,EAAkB,CAAC,CAElD,CACD,MAAM/W,EAAsBX,EAAgCnK,EAAesnB,EAAY5d,EAAcA,CAAY,EACjHoB,EAAoB,aAAepB,EACnCoB,EAAoB,iBAAmB2e,EACvC3e,EAAoB,sBAAwB0c,EAC5C,MAAM9F,EAAe,GACfgI,EAAgB,GAChBC,EAAW,GACXC,EAAW,GACjB,QAASjzD,EAAI,EAAGA,EAAI+yC,EAAc/yC,GAAK,EAAG,CACtC+yD,EAAc,KAAK,CAAC,EACpB,MAAMnI,EAAU,IAAI,aAAaG,CAAY,EACvCF,EAAU,IAAI,aAAaE,CAAY,EAC7CH,EAAQ,KAAK,CAAC,EACdC,EAAQ,KAAK,CAAC,EACdmI,EAAS,KAAKpI,CAAO,EACrBqI,EAAS,KAAKpI,CAAO,CACxB,CAED1W,EAAoB,eAAkBlhC,GAAU,CAC5C,MAAMmhC,EAAcnhC,EAAM,YACpBk+C,EAAel+C,EAAM,aACrBo8B,EAAmB+E,EAAY,iBACrC,QAASp0C,EAAI,EAAGA,EAAIqvC,EAAkBrvC,GAAK,EAAG,CAC1C,MAAM+lC,EAAQqO,EAAY,eAAep0C,CAAC,EACpC8lC,EAASqrB,EAAa,eAAenxD,CAAC,EAC5C+yD,EAAc/yD,CAAC,EAAIwqD,GAAaU,EAAmBT,EAAgBU,EAAsBT,EAAmBC,EAAWqI,EAAShzD,CAAC,EAAGizD,EAASjzD,CAAC,EAAG+yD,EAAc/yD,CAAC,EAAG+qD,EAAchlB,EAAOD,CAAM,CACjM,CACb,EACQ,MAAMotB,EAAU7pB,EAAc,WAAa,EA6D3C,OAAOwoB,GA5D0B,CAC7B,IAAI,YAAa,CACb,OAAOlB,CACV,EACD,IAAI,cAAe,CACf,OAAOxc,EAAoB,YAC9B,EACD,IAAI,aAAapzC,EAAO,CACpBozC,EAAoB,aAAepzC,CACtC,EACD,IAAI,kBAAmB,CACnB,OAAOozC,EAAoB,gBAC9B,EACD,IAAI,iBAAiBpzC,EAAO,CACxBozC,EAAoB,iBAAmBpzC,CAC1C,EACD,IAAI,uBAAwB,CACxB,OAAOozC,EAAoB,qBAC9B,EACD,IAAI,sBAAsBpzC,EAAO,CAC7BozC,EAAoB,sBAAwBpzC,CAC/C,EACD,IAAI,SAAU,CACV,OAAOozC,EAAoB,OAC9B,EACD,IAAI,QAAS,CACT,MAAO,CAACA,CAAmB,CAC9B,EACD,IAAI,gBAAiB,CACjB,OAAOA,EAAoB,cAC9B,EACD,IAAI,iBAAkB,CAClB,OAAOA,EAAoB,eAC9B,EACD,oBAAoB3rC,EAAM,CAEtB,OAAO2rC,EAAoB,iBAAiB3rC,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACxE,EACD,iBAAiBA,EAAM,CACnB,OAAO2rC,EAAoB,cAAc3rC,EAAK,CAAC,CAAC,CACnD,EACD,qBAAqB24C,EAAaC,EAAaC,EAAe,CAC1D,GAAIF,EAAY,SAAWC,EAAY,QAAUA,EAAY,SAAWC,EAAc,OAClF,MAAMnI,EAAwB,EAElC,MAAM9J,EAAS+R,EAAY,OAC3B,QAASnhD,EAAI,EAAGA,EAAIovC,EAAQpvC,GAAK,EAAG,CAChC,MAAMmzD,EAAQ,CAAC,KAAK,IAAMhS,EAAYnhD,CAAC,EAAIkzD,GACrC,EAAI,CAAC,KAAK,IAAIC,CAAK,EAAG,KAAK,IAAIA,CAAK,CAAC,EACrCC,GAAYV,GAAmBvH,EAAsB,CAAC,EACtDqH,EAAcE,GAAmBxH,EAAmB,CAAC,EACrDxC,EAAW6J,GAAOa,GAAWZ,CAAW,EAC9CpR,EAAYphD,CAAC,EAAI,KAAK,KAAK0oD,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAIA,EAAS,CAAC,CAAC,EAChFrH,EAAcrhD,CAAC,EAAI,KAAK,MAAM0oD,EAAS,CAAC,EAAGA,EAAS,CAAC,CAAC,CACzD,CACJ,EACD,uBAAuBlgD,EAAM,CACzB,OAAO2rC,EAAoB,oBAAoB3rC,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAC3E,CACb,EAC8D2rC,CAAmB,CACjF,ECxIamY,GAA0C,CAACja,EAAoBh+B,IACjEg+B,EAAmB,yBAAyBh+B,EAAQ,YAAY,ECA9Do4C,GAA8C,CAACpa,EAAoBh+B,IAAY,CACxF,MAAMq4C,EAAwCra,EAAmB,+BACjE,OAAAyb,GAA6BpB,EAAuCr4C,CAAO,EAEvEq4C,EAAsC,kBAAoB,GAC1D,OAAO,eAAeA,EAAuC,kBAAmB,CAAE,IAAK,IAAM,CAAC,CAAE,EAE7FA,CACX,ECTaE,GAAyC,CAACva,EAAoB,CAAE,YAAAG,KAAkB,CAC3F,MAAM6gB,EAAoB7gB,EAAY,iBAKtC6gB,EAAkB,KAAK,CAACzvD,EAAGC,IAAOD,EAAE,GAAKC,EAAE,GAAK,GAAKD,EAAE,GAAKC,EAAE,GAAK,EAAI,CAAE,EACzE,MAAMyvD,EAA4BD,EAAkB,MAAM,EAAG,CAAC,EACxDxG,EAAmCxa,EAAmB,wBAAwB,IAAI,YAAYihB,CAAyB,CAAC,EAK9H,cAAO,eAAezG,EAAkC,cAAe,CAAE,MAAOra,CAAW,CAAE,EACtFqa,CACX,ECfa0G,GAAqD,CAAC1jB,EAAyBlH,IACjF,CAAC0J,EAAoB,CAAE,iBAAAI,KAAuB,CAEjD,GAAI,OAAOJ,EAAmB,8BAAiC,WAC3D,OAAOA,EAAmB,6BAA6BI,CAAgB,EAE3E,MAAMD,EAAc,IAAI,YAAY,CAACC,CAAgB,CAAC,EAChDoa,EAAmCxa,EAAmB,wBAAwBG,CAAW,EAE/F,GAAIC,EAAiB,OAAS,QAC1B,MAAM5C,EAAuB,EAGjC,GAAIlH,EAA4B0J,CAAkB,EAC9C,MAAM,IAAI,UAEd,OAAOwa,CACf,ECjBa2G,GAA8CxqB,GACnDA,IAAW,KACJ,KAEPA,EAAO,eAAe,qBAAqB,EACpCA,EAAO,oBAEXA,EAAO,eAAe,2BAA2B,EAAIA,EAAO,0BAA4B,KCFtFyqB,GAAoC,CAAC/E,EAAqBtmB,EAAiB0mB,EAAkEC,EAA+DC,EAAiEG,IAC/Q,CAAC9lB,EAAeh1B,IAAY,CAC/B,MAAMq/C,EAAuBrqB,EAAc,mBAC3C,OAAAykB,GAA6B4F,EAAsBr/C,CAAO,EAC1D+5C,GAAqCsF,EAAsBr/C,EAAS,QAAQ,EAC5E+5C,GAAqCsF,EAAsBr/C,EAAS,WAAW,EAC3EA,EAAQ,eAAiB,OACzBq/C,EAAqB,gBAAgBr/C,EAAQ,YAAY,EAGzDu5C,GAA4B8F,EAAsBr/C,EAAS,MAAM,EAGhE+zB,EAAgB0mB,EAAkE,IAAMA,EAAiEzlB,CAAa,CAAC,GACxKklB,GAA0DmF,CAAoB,EAG7EtrB,EAAgB2mB,EAA+D,IAAMA,EAA8D1lB,CAAa,CAAC,GAClK8lB,EAAuDuE,EAAsBrqB,CAAa,EAGzFjB,EAAgB4mB,EAAiE,IAAMA,EAAgE3lB,CAAa,CAAC,GACtKmlB,GAAyDkF,CAAoB,EAGjFhF,EAAoBrlB,EAAeqqB,CAAoB,EAChDA,CACf,EC7BaC,GAAiCC,GACnC,CAACvqB,EAAeh1B,IAAY,CAC/B,MAAMw/C,EAAmBxqB,EAAc,eAEvC,OAAIwqB,EAAiB,eAAiB,OAC3BD,EAA4BvqB,EAAeh1B,CAAO,GAE7Dy5C,GAA6B+F,EAAkBx/C,CAAO,EACtD+5C,GAAqCyF,EAAkBx/C,EAAS,cAAc,EAC9E+5C,GAAqCyF,EAAkBx/C,EAAS,cAAc,EAC9E+5C,GAAqCyF,EAAkBx/C,EAAS,cAAc,EAC9E+5C,GAAqCyF,EAAkBx/C,EAAS,WAAW,EAC3E+5C,GAAqCyF,EAAkBx/C,EAAS,WAAW,EAC3E+5C,GAAqCyF,EAAkBx/C,EAAS,WAAW,EAC3Eu5C,GAA4BiG,EAAkBx/C,EAAS,gBAAgB,EACvEu5C,GAA4BiG,EAAkBx/C,EAAS,gBAAgB,EACvEu5C,GAA4BiG,EAAkBx/C,EAAS,eAAe,EACtEu5C,GAA4BiG,EAAkBx/C,EAAS,eAAe,EACtEu5C,GAA4BiG,EAAkBx/C,EAAS,aAAa,EACpEu5C,GAA4BiG,EAAkBx/C,EAAS,cAAc,EACrEu5C,GAA4BiG,EAAkBx/C,EAAS,aAAa,EACpEu5C,GAA4BiG,EAAkBx/C,EAAS,eAAe,EAC/Dw/C,EACf,ECxBaC,GAAqC,CAACzoB,EAAyCwE,EAAyByD,EAA+B1G,EAAsB4G,EAAiCugB,EAA4B1rB,EAAyBkD,EAA8CkI,EAAgBmc,IACnT,CAACvmB,EAAe,CAAE,eAAA2qB,EAAgB,eAAAC,EAAgB,cAAAC,EAAe,cAAAC,EAAe,YAAAC,EAAa,aAAAC,EAAc,aAAAC,EAAc,aAAAC,EAAc,aAAAC,EAAc,UAAAlf,EAAW,UAAAC,EAAW,UAAAC,EAAW,YAAAif,EAAa,cAAAC,EAAe,GAAGzC,KAAuB,CAC/O,MAAM0C,EAAatrB,EAAc,eAMjC,GAJI4oB,EAAiB,aAAe,GAIhCA,EAAiB,mBAAqB,MACtC,MAAM5pB,EAAuB,EAEjCylB,GAA6B6G,EAAY1C,CAAgB,EACzD,MAAM2C,EAAyB,CAC3B,aAAc,EACd,iBAAkB,WAClB,sBAAuB,UACnC,EACc9gB,EAAoBR,EAA8BjK,EAAe,CACnE,GAAGurB,EACH,sBAAuB,WACvB,eAAgB,CAC5B,CAAS,EACKC,EAAgBjoB,EAAqBvD,EAAe,CAAE,GAAG4oB,EAAkB,KAAM,CAAC,CAAE,EACpF6C,EAAuBloB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EACjGG,GAAuBnoB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EACjGI,EAAuBpoB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EACjGK,EAAoBroB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAC9FM,GAAoBtoB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAC9FO,GAAoBvoB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAC9FzgB,GAAsBX,EAAgCnK,EAAe,IAAK,EAAG,CAAC,EAC9E+rB,GAAiBrB,EAA2B1qB,EAAe,CAC7D,GAAGurB,EACH,MAAO,IAAI,aAAa,CAAC,EAAG,CAAC,CAAC,EAC9B,WAAY,MACxB,CAAS,EACD,IAAI5gB,GAAkB,CAACqgB,EAAcC,EAAcC,CAAY,EAC3DtgB,GAAe,CAACqB,EAAWC,EAAWC,CAAS,EACnD,MAAM3B,GAAS,IAAI,aAAa,CAAC,EAEjCM,GAAoB,eAAiB,CAAC,CAAE,YAAAC,KAAkB,CACtD,MAAMC,EAAc,CAChBZ,EAAeW,EAAaP,GAAQ,CAAC,EACrCJ,EAAeW,EAAaP,GAAQ,CAAC,EACrCJ,EAAeW,EAAaP,GAAQ,CAAC,CACrD,EACgBQ,EAAY,KAAK,CAACtzC,GAAOgiB,IAAUhiB,KAAUizC,GAAgBjxB,CAAK,CAAC,IACnE4xC,EAAW,eAAe,GAAGtgB,CAAW,EACxCL,GAAkBK,GAEtB,MAAMC,GAAU,CACZb,EAAeW,EAAaP,GAAQ,CAAC,EACrCJ,EAAeW,EAAaP,GAAQ,CAAC,EACrCJ,EAAeW,EAAaP,GAAQ,CAAC,CACrD,EACgBS,GAAQ,KAAK,CAACvzC,GAAOgiB,IAAUhiB,KAAUkzC,GAAalxB,CAAK,CAAC,IAC5D4xC,EAAW,YAAY,GAAGrgB,EAAO,EACjCL,GAAeK,GAE/B,EACQ,OAAO,eAAeygB,GAAqB,KAAM,eAAgB,CAAE,IAAK,IAAM,CAAC,CAAE,EACjF,OAAO,eAAeC,EAAqB,KAAM,eAAgB,CAAE,IAAK,IAAM,CAAC,CAAE,EACjF,OAAO,eAAeC,EAAkB,KAAM,eAAgB,CAAE,IAAK,IAAM,CAAC,CAAE,EAC9E,OAAO,eAAeC,GAAkB,KAAM,eAAgB,CAAE,IAAK,IAAM,CAAC,CAAE,EAC9E,OAAO,eAAeC,GAAkB,KAAM,eAAgB,CAAE,IAAK,IAAM,CAAC,CAAE,EAC9E,MAAME,GAAwB,CAC1B,IAAI,YAAa,CAEhB,EACD,IAAI,cAAe,CACf,OAAOV,EAAW,YACrB,EACD,IAAI,aAAa5zD,EAAO,CAEpB,GAAIA,EAAQ,EACR,MAAMsnC,EAAuB,EAEjCwsB,EAAc,aAAe9zD,EAC7B4zD,EAAW,aAAe5zD,CAC7B,EACD,IAAI,kBAAmB,CACnB,OAAO4zD,EAAW,gBACrB,EACD,IAAI,iBAAiB5zD,EAAO,CAExB,GAAIA,IAAU,MACV,MAAMsnC,EAAuB,EAEjCwsB,EAAc,iBAAmB9zD,EACjC4zD,EAAW,iBAAmB5zD,CACjC,EACD,IAAI,uBAAwB,CACxB,OAAO4zD,EAAW,qBACrB,EACD,IAAI,sBAAsB5zD,EAAO,CAC7B8zD,EAAc,sBAAwB9zD,EACtC4zD,EAAW,sBAAwB5zD,CACtC,EACD,IAAI,gBAAiB,CACjB,OAAO4zD,EAAW,cACrB,EACD,IAAI,eAAe5zD,EAAO,CACtB4zD,EAAW,eAAiB5zD,CAC/B,EACD,IAAI,gBAAiB,CACjB,OAAO4zD,EAAW,cACrB,EACD,IAAI,eAAe5zD,EAAO,CACtB4zD,EAAW,eAAiB5zD,CAC/B,EACD,IAAI,eAAgB,CAChB,OAAO4zD,EAAW,aACrB,EACD,IAAI,cAAc5zD,EAAO,CAErB,GAAIA,EAAQ,GAAKA,EAAQ,EACrB,MAAM8uC,EAAuB,EAEjC8kB,EAAW,cAAgB5zD,CAC9B,EACD,IAAI,SAAU,CACV,OAAO4zD,EAAW,OACrB,EACD,IAAI,eAAgB,CAChB,OAAOA,EAAW,aACrB,EACD,IAAI,cAAc5zD,EAAO,CACrB4zD,EAAW,cAAgB5zD,CAC9B,EACD,IAAI,QAAS,CACT,MAAO,CAAC8zD,CAAa,CACxB,EACD,IAAI,aAAc,CACd,OAAOF,EAAW,WACrB,EACD,IAAI,YAAY5zD,EAAO,CAEnB,GAAIA,EAAQ,EACR,MAAM,IAAI,WAEd4zD,EAAW,YAAc5zD,CAC5B,EACD,IAAI,gBAAiB,CACjB,OAAO4zD,EAAW,cACrB,EACD,IAAI,iBAAkB,CAClB,OAAOA,EAAW,eACrB,EACD,IAAI,cAAe,CACf,OAAOG,EAAqB,IAC/B,EACD,IAAI,cAAe,CACf,OAAOC,GAAqB,IAC/B,EACD,IAAI,cAAe,CACf,OAAOC,EAAqB,IAC/B,EACD,IAAI,cAAe,CACf,OAAOL,EAAW,YACrB,EACD,IAAI,aAAa5zD,EAAO,CACpB4zD,EAAW,aAAe5zD,CAC7B,EACD,IAAI,WAAY,CACZ,OAAOk0D,EAAkB,IAC5B,EACD,IAAI,WAAY,CACZ,OAAOC,GAAkB,IAC5B,EACD,IAAI,WAAY,CACZ,OAAOC,GAAkB,IAC5B,EACD,IAAI,aAAc,CACd,OAAOR,EAAW,WACrB,EACD,IAAI,YAAY5zD,EAAO,CAEnB,GAAIA,EAAQ,EACR,MAAM,IAAI,WAEd4zD,EAAW,YAAc5zD,CAC5B,EACD,IAAI,eAAgB,CAChB,OAAO4zD,EAAW,aACrB,EACD,IAAI,cAAc5zD,EAAO,CAErB,GAAIA,EAAQ,EACR,MAAM,IAAI,WAEd4zD,EAAW,cAAgB5zD,CAC9B,EACD,oBAAoByH,EAAM,CACtB,OAAOqsD,EAAc,iBAAiBrsD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAClE,EACD,iBAAiBA,EAAM,CACnB,OAAOqsD,EAAc,cAAcrsD,EAAK,CAAC,CAAC,CAC7C,EACD,uBAAuBA,EAAM,CACzB,OAAOqsD,EAAc,oBAAoBrsD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACrE,CACb,EACYwrD,IAAmBqB,GAAsB,iBACzCA,GAAsB,eAAiBrB,GAEvCC,IAAmBoB,GAAsB,iBACzCA,GAAsB,eAAiBpB,GAEvCC,IAAkBmB,GAAsB,gBACxCA,GAAsB,cAAgBnB,GAEtCC,IAAkBkB,GAAsB,gBACxCA,GAAsB,cAAgBlB,GAEtCC,IAAgBiB,GAAsB,cACtCA,GAAsB,YAAcjB,GAEpCC,IAAiBgB,GAAsB,aAAa,QACpDA,GAAsB,aAAa,MAAQhB,GAE3CC,IAAiBe,GAAsB,aAAa,QACpDA,GAAsB,aAAa,MAAQf,GAE3CC,IAAiBc,GAAsB,aAAa,QACpDA,GAAsB,aAAa,MAAQd,GAE3CC,IAAiBa,GAAsB,eACvCA,GAAsB,aAAeb,GAErClf,IAAc+f,GAAsB,UAAU,QAC9CA,GAAsB,UAAU,MAAQ/f,GAExCC,IAAc8f,GAAsB,UAAU,QAC9CA,GAAsB,UAAU,MAAQ9f,GAExCC,IAAc6f,GAAsB,UAAU,QAC9CA,GAAsB,UAAU,MAAQ7f,GAExCif,IAAgBY,GAAsB,cACtCA,GAAsB,YAAcZ,GAEpCC,IAAkBW,GAAsB,gBACxCA,GAAsB,cAAgBX,IAEtC1gB,GAAgB,CAAC,IAAM,GAAKA,GAAgB,CAAC,IAAM,GAAKA,GAAgB,CAAC,IAAM,IAC/E2gB,EAAW,eAAe,GAAG3gB,EAAe,GAE5CC,GAAa,CAAC,IAAM,GAAKA,GAAa,CAAC,IAAM,GAAKA,GAAa,CAAC,IAAM,IACtE0gB,EAAW,YAAY,GAAG1gB,EAAY,EAE1C,MAAMsZ,GAAgB,IAAM,CACxBsH,EAAc,QAAQF,CAAU,EAEhCtpB,EAAwCwpB,EAAeO,GAAgB,EAAG,CAAC,EAC3EA,GAAe,QAAQN,CAAoB,EAAE,QAAQhhB,EAAmB,EAAG,CAAC,EAC5EshB,GAAe,QAAQL,EAAoB,EAAE,QAAQjhB,EAAmB,EAAG,CAAC,EAC5EshB,GAAe,QAAQJ,CAAoB,EAAE,QAAQlhB,EAAmB,EAAG,CAAC,EAC5EshB,GAAe,QAAQH,CAAiB,EAAE,QAAQnhB,EAAmB,EAAG,CAAC,EACzEshB,GAAe,QAAQF,EAAiB,EAAE,QAAQphB,EAAmB,EAAG,CAAC,EACzEshB,GAAe,QAAQD,EAAiB,EAAE,QAAQrhB,EAAmB,EAAG,CAAC,EACzEA,EAAkB,QAAQK,EAAmB,EAAE,QAAQ9K,EAAc,WAAW,CAC5F,EACcmkB,EAAmB,IAAM,CAC3BqH,EAAc,WAAWF,CAAU,EAEnCppB,EAA6CspB,EAAeO,GAAgB,EAAG,CAAC,EAChFA,GAAe,WAAWN,CAAoB,EAC9CA,EAAqB,WAAWhhB,CAAiB,EACjDshB,GAAe,WAAWL,EAAoB,EAC9CA,GAAqB,WAAWjhB,CAAiB,EACjDshB,GAAe,WAAWJ,CAAoB,EAC9CA,EAAqB,WAAWlhB,CAAiB,EACjDshB,GAAe,WAAWH,CAAiB,EAC3CA,EAAkB,WAAWnhB,CAAiB,EAC9CshB,GAAe,WAAWF,EAAiB,EAC3CA,GAAkB,WAAWphB,CAAiB,EAC9CshB,GAAe,WAAWD,EAAiB,EAC3CA,GAAkB,WAAWrhB,CAAiB,EAC9CA,EAAkB,WAAWK,EAAmB,EAChDA,GAAoB,WAAW9K,EAAc,WAAW,CACpE,EACQ,OAAOumB,EAAmBiC,GAAqBwD,GAAuBV,CAAU,EAAGpH,GAAeC,CAAgB,CAC1H,EC3Ra8H,GAAmC/nB,GACrC,CAAClE,EAAe,CAAE,qBAAAksB,EAAsB,KAAA/U,EAAM,KAAAD,CAAI,IAAO,CAE5D,MAAMiV,EAAgBhV,aAAgB,aAAeA,EAAO,IAAI,aAAaA,CAAI,EAC3EiV,EAAgBlV,aAAgB,aAAeA,EAAO,IAAI,aAAaA,CAAI,EAC3EmV,EAAqBrsB,EAAc,mBAAmBosB,EAAeD,EAAe,CAAE,qBAAAD,CAAoB,CAAE,EAElH,GAAI,MAAM,KAAK/U,CAAI,EAAE,OAAS,EAC1B,MAAMjT,EAAoB,EAE9B,OAAOmoB,CACf,ECXaliB,GAAkC,CAACnK,EAAesnB,EAAYnU,EAAuBC,IACvFpT,EAAc,sBAAsBsnB,EAAYnU,EAAuBC,CAAsB,ECC3FkZ,GAAsC,CAACC,EAAmCvtB,IAC5E,CAACgB,EAAeh1B,IAAY,CAC/B,MAAMy+C,EAAmBz+C,EAAQ,iBAKjC,GAAIy+C,IAAqB,cACrB,MAAMzqB,EAAuB,EAGjC,GAAIgB,EAAc,qBAAuB,OACrC,OAAOusB,EAAkCvsB,EAAeh1B,CAAO,EAEnE,MAAMwhD,EAAyBxsB,EAAc,qBAC7C,OAAAykB,GAA6B+H,EAAwBxhD,CAAO,EAC5D+5C,GAAqCyH,EAAwBxhD,EAAS,KAAK,EAK3E,OAAO,eAAewhD,EAAwB,mBAAoB,CAC9D,IAAK,IAAM/C,EACX,IAAM/xD,GAAU,CACZ,GAAIA,IAAU+xD,EACV,MAAMzqB,EAAuB,CAEpC,CACb,CAAS,EACMwtB,CACf,EC/BaC,GAA2C,CAACxiB,EAA+BgK,EAAiC1Q,EAAsBmnB,EAA4B1rB,EAAyBunB,IAAuB,CAGvN,MAAMmG,EAAW,IAAI,aAAa,CAAC,EAAG,CAAC,CAAC,EAClCC,EAAU,KAAK,GAAK,EACpBpB,EAAyB,CAAE,aAAc,EAAG,iBAAkB,WAAY,sBAAuB,YACjGqB,EAAqC,CAAE,GAAGrB,EAAwB,WAAY,MAAM,EACpFsB,EAA4B,CAAC7sB,EAAewrB,EAAesB,EAAariB,IAAsB,CAChG,MAAMsiB,EAAsB,IAAI,aAAa,KAAU,EACjDC,EAAuB,IAAI,aAAa,KAAU,EACxD,QAASr2D,EAAI,EAAGA,EAAI,MAAYA,GAAK,EAAG,CACpC,MAAMg8C,EAAKh8C,EAAK,MAAmBg2D,EACnCI,EAAoBp2D,CAAC,EAAI,KAAK,IAAIg8C,CAAC,EACnCqa,EAAqBr2D,CAAC,EAAI,KAAK,IAAIg8C,CAAC,CACvC,CACD,MAAMsa,EAAe1pB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAEzF2B,EAAsBxC,EAA2B1qB,EAAe,CAAE,GAAG4sB,EAAoC,MAAOG,CAAqB,GAErII,EAAqBzC,EAA2B1qB,EAAe,CAAE,GAAG4sB,EAAoC,MAAOF,CAAU,GACzHU,EAAgB7pB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAE1F8B,EAAuB3C,EAA2B1qB,EAAe,CAAE,GAAG4sB,EAAoC,MAAOI,CAAsB,GAC7I,MAAO,CACH,cAAe,CACXxB,EAAc,QAAQyB,CAAY,EAClCzB,EAAc,QAAQ2B,EAAkB,SAAW,OAAYA,EAAoBA,EAAkB,OAAO,CAAC,CAAC,EAC9G3B,EAAc,QAAQ4B,CAAa,EACnCD,EAAkB,QAAQL,CAAW,EACrCA,EAAY,QAAQI,EAAmB,SAAW,OAAYA,EAAqBA,EAAmB,OAAO,CAAC,CAAC,EAC/GJ,EAAY,QAAQO,EAAoB,SAAW,OAAYA,EAAsBA,EAAoB,OAAO,CAAC,CAAC,EAClHH,EAAmB,QAAQD,EAAa,IAAI,EAC5CI,EAAoB,QAAQD,EAAc,IAAI,EAC9CH,EAAa,QAAQxiB,EAAmB,EAAG,CAAC,EAC5C2iB,EAAc,QAAQ3iB,EAAmB,EAAG,CAAC,CAChD,EACD,iBAAkB,CACd+gB,EAAc,WAAWyB,CAAY,EACrCzB,EAAc,WAAW2B,EAAkB,SAAW,OAAYA,EAAoBA,EAAkB,OAAO,CAAC,CAAC,EACjH3B,EAAc,WAAW4B,CAAa,EACtCD,EAAkB,WAAWL,CAAW,EACxCA,EAAY,WAAWI,EAAmB,SAAW,OAAYA,EAAqBA,EAAmB,OAAO,CAAC,CAAC,EAClHJ,EAAY,WAAWO,EAAoB,SAAW,OAAYA,EAAsBA,EAAoB,OAAO,CAAC,CAAC,EACrHH,EAAmB,WAAWD,EAAa,IAAI,EAC/CI,EAAoB,WAAWD,EAAc,IAAI,EACjDH,EAAa,WAAWxiB,EAAmB,EAAG,CAAC,EAC/C2iB,EAAc,WAAW3iB,EAAmB,EAAG,CAAC,CACnD,CACb,CACA,EACU6iB,EAA8B,CAACttB,EAAewrB,EAAesB,EAAariB,IAAsB,CAClG,MAAM8iB,EAAwC,IAAI,aAAa,KAAU,EACnEC,EAAyC,IAAI,aAAa,KAAU,EACpEC,EAAyC,IAAI,aAAa,KAAU,EACpEC,EAA0C,IAAI,aAAa,KAAU,EACrEC,EAAc,KAAK,MAAM,MAAa,CAAC,EAC7C,QAASh3D,EAAI,EAAGA,EAAI,MAAYA,GAAK,EACjC,GAAIA,EAAIg3D,EAAa,CACjB,MAAMhb,IAAMh8C,EAAIg3D,IAAgB,MAAiBA,GAAgBhB,EACjEY,EAAsC52D,CAAC,EAAI,KAAK,IAAIg8C,EAAC,EACrD6a,EAAuC72D,CAAC,EAAI,KAAK,IAAIg8C,EAAC,EACtD8a,EAAuC92D,CAAC,EAAI,EAC5C+2D,EAAwC/2D,CAAC,EAAI,CAChD,KACI,CACD,MAAMg8C,GAAKh8C,GAAK,MAAiBg3D,GAAgBhB,EACjDY,EAAsC52D,CAAC,EAAI,EAC3C62D,EAAuC72D,CAAC,EAAI,EAC5C82D,EAAuC92D,CAAC,EAAI,KAAK,IAAIg8C,EAAC,EACtD+a,EAAwC/2D,CAAC,EAAI,KAAK,IAAIg8C,EAAC,CAC1D,CAEL,MAAM0V,EAAsBpU,EAAgCjU,EAAe,CACvE,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,gBAAiB,CAC7B,CAAS,EACK4tB,EAAiCrqB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAE3GsC,EAAuCnD,EAA2B1qB,EAAe,CACnF,GAAG4sB,EACH,MAAOW,CACnB,CAAS,EACKO,EAAkCvqB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAE5GwC,EAAwCrD,EAA2B1qB,EAAe,CACpF,GAAG4sB,EACH,MAAOY,CACnB,CAAS,EAEKL,EAAqBzC,EAA2B1qB,EAAe,CAAE,GAAG4sB,EAAoC,MAAOF,CAAU,GACzHsB,EAAkCzqB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAE5G0C,EAAwCvD,EAA2B1qB,EAAe,CACpF,GAAG4sB,EACH,MAAOa,CACnB,CAAS,EACKS,GAAmC3qB,EAAqBvD,EAAe,CAAE,GAAGurB,EAAwB,KAAM,CAAC,CAAE,EAE7G4C,EAAyCzD,EAA2B1qB,EAAe,CACrF,GAAG4sB,EACH,MAAOc,CACnB,CAAS,EACD,MAAO,CACH,cAAe,CACXlC,EAAc,QAAQnD,CAAmB,EACzCmD,EAAc,QAAQ2B,EAAkB,SAAW,OAAYA,EAAoBA,EAAkB,OAAO,CAAC,CAAC,EAC9G9E,EAAoB,QAAQuF,EAAgC,CAAC,EAC7DvF,EAAoB,QAAQyF,EAAiC,CAAC,EAC9DzF,EAAoB,QAAQ2F,EAAiC,CAAC,EAC9D3F,EAAoB,QAAQ6F,GAAkC,CAAC,EAC/Df,EAAkB,QAAQL,CAAW,EACrCA,EAAY,QAAQe,EAAqC,SAAW,OAC9DA,EACAA,EAAqC,OAAO,CAAC,CAAC,EACpDf,EAAY,QAAQiB,EAAsC,SAAW,OAC/DA,EACAA,EAAsC,OAAO,CAAC,CAAC,EACrDjB,EAAY,QAAQmB,EAAsC,SAAW,OAC/DA,EACAA,EAAsC,OAAO,CAAC,CAAC,EACrDnB,EAAY,QAAQqB,EAAuC,SAAW,OAChEA,EACAA,EAAuC,OAAO,CAAC,CAAC,EACtDN,EAAqC,QAAQD,EAA+B,IAAI,EAChFG,EAAsC,QAAQD,EAAgC,IAAI,EAClFG,EAAsC,QAAQD,EAAgC,IAAI,EAClFG,EAAuC,QAAQD,GAAiC,IAAI,EACpFN,EAA+B,QAAQnjB,EAAmB,EAAG,CAAC,EAC9DujB,EAAgC,QAAQvjB,EAAmB,EAAG,CAAC,EAC/DqjB,EAAgC,QAAQrjB,EAAmB,EAAG,CAAC,EAC/DyjB,GAAiC,QAAQzjB,EAAmB,EAAG,CAAC,CACnE,EACD,iBAAkB,CACd+gB,EAAc,WAAWnD,CAAmB,EAC5CmD,EAAc,WAAW2B,EAAkB,SAAW,OAAYA,EAAoBA,EAAkB,OAAO,CAAC,CAAC,EACjH9E,EAAoB,WAAWuF,EAAgC,CAAC,EAChEvF,EAAoB,WAAWyF,EAAiC,CAAC,EACjEzF,EAAoB,WAAW2F,EAAiC,CAAC,EACjE3F,EAAoB,WAAW6F,GAAkC,CAAC,EAClEf,EAAkB,WAAWL,CAAW,EACxCA,EAAY,WAAWe,EAAqC,SAAW,OACjEA,EACAA,EAAqC,OAAO,CAAC,CAAC,EACpDf,EAAY,WAAWiB,EAAsC,SAAW,OAClEA,EACAA,EAAsC,OAAO,CAAC,CAAC,EACrDjB,EAAY,WAAWmB,EAAsC,SAAW,OAClEA,EACAA,EAAsC,OAAO,CAAC,CAAC,EACrDnB,EAAY,WAAWqB,EAAuC,SAAW,OACnEA,EACAA,EAAuC,OAAO,CAAC,CAAC,EACtDN,EAAqC,WAAWD,EAA+B,IAAI,EACnFG,EAAsC,WAAWD,EAAgC,IAAI,EACrFG,EAAsC,WAAWD,EAAgC,IAAI,EACrFG,EAAuC,WAAWD,GAAiC,IAAI,EACvFN,EAA+B,WAAWnjB,EAAmB,EAAG,CAAC,EACjEujB,EAAgC,WAAWvjB,EAAmB,EAAG,CAAC,EAClEqjB,EAAgC,WAAWrjB,EAAmB,EAAG,CAAC,EAClEyjB,GAAiC,WAAWzjB,EAAmB,EAAG,CAAC,CACtE,CACb,CACA,EACU2jB,EAAqB,CAACpuB,EAAe0J,EAAc8hB,EAAesB,EAAariB,IAAsB,CACvG,GAAIf,IAAiB,EACjB,OAAOmjB,EAA0B7sB,EAAewrB,EAAesB,EAAariB,CAAiB,EAEjG,GAAIf,IAAiB,EACjB,OAAO4jB,EAA4BttB,EAAewrB,EAAesB,EAAariB,CAAiB,EAEnG,MAAMzL,EAAuB,CACrC,EACI,MAAO,CAACgB,EAAe,CAAE,aAAA0J,EAAc,iBAAA+f,EAAkB,IAAA4E,EAAK,GAAGzF,KAAuB,CACpF,GAAIa,IAAqB,MACrB,MAAMzqB,EAAuB,EAEjC,MAAMyL,EAAoBR,EAA8BjK,EAAe,CACnE,GAAG4oB,EACH,aAAc,EACd,iBAAAa,EACA,eAAgB,CAC5B,CAAS,EACK+B,EAAgBjoB,EAAqBvD,EAAe,CAAE,GAAG4oB,EAAkB,aAAAlf,EAAc,iBAAA+f,EAAkB,KAAM,CAAC,CAAE,EACpHqD,EAAcvpB,EAAqBvD,EAAe,CACpD,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,KAAMquB,CAClB,CAAS,EACD,GAAI,CAAE,aAAAC,EAAc,gBAAAC,CAAe,EAAKH,EAAmBpuB,EAAe0J,EAAc8hB,EAAesB,EAAariB,CAAiB,EACrI,OAAO,eAAeqiB,EAAY,KAAM,eAAgB,CAAE,IAAK,IAAM,CAAC,CAAE,EACxE,OAAO,eAAeA,EAAY,KAAM,WAAY,CAAE,IAAK,IAAM,CAAC,CAAE,EACpE,OAAO,eAAeA,EAAY,KAAM,WAAY,CAAE,IAAK,IAAM,EAAE,CAAE,EACrE,MAAM0B,EAAqC,CACvC,IAAI,YAAa,CAEhB,EACD,IAAI,cAAe,CACf,OAAOhD,EAAc,YACxB,EACD,IAAI,aAAa9zD,EAAO,CAChB8zD,EAAc,eAAiB9zD,IAC3BqwD,GACAwG,IAEH,CAAE,aAAAD,EAAc,gBAAAC,CAAe,EAAKH,EAAmBpuB,EAAetoC,EAAO8zD,EAAesB,EAAariB,CAAiB,EACvHsd,GACAuG,KAGR9C,EAAc,aAAe9zD,CAChC,EACD,IAAI,kBAAmB,CACnB,OAAO8zD,EAAc,gBACxB,EACD,IAAI,iBAAiB9zD,EAAO,CACxB,GAAIA,IAAU,eAAiBA,IAAU,MACrC,MAAMsnC,EAAuB,EAEjCwsB,EAAc,iBAAmB9zD,CACpC,EACD,IAAI,uBAAwB,CACxB,OAAO8zD,EAAc,qBACxB,EACD,IAAI,sBAAsB9zD,EAAO,CAC7B8zD,EAAc,sBAAwB9zD,CACzC,EACD,IAAI,SAAU,CACV,OAAO8zD,EAAc,OACxB,EACD,IAAI,QAAS,CACT,MAAO,CAACA,CAAa,CACxB,EACD,IAAI,gBAAiB,CACjB,OAAOA,EAAc,cACxB,EACD,IAAI,iBAAkB,CAClB,OAAOA,EAAc,eACxB,EACD,IAAI,KAAM,CACN,OAAOsB,EAAY,IACtB,EACD,oBAAoB3tD,EAAM,CACtB,OAAOqsD,EAAc,iBAAiBrsD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAClE,EACD,iBAAiBA,EAAM,CACnB,OAAOqsD,EAAc,cAAcrsD,EAAK,CAAC,CAAC,CAC7C,EACD,uBAAuBA,EAAM,CACzB,OAAOqsD,EAAc,oBAAoBrsD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACrE,CACb,EACQ,IAAI4oD,EAAc,GAClB,MAAM7D,EAAgB,IAAM,CACxBoK,IACAvG,EAAc,EAC1B,EACc5D,EAAmB,IAAM,CAC3BoK,IACAxG,EAAc,EAC1B,EACQ,OAAOxB,EAAmBiC,GAAqBgG,EAAoC/jB,CAAiB,EAAGyZ,EAAeC,CAAgB,CAC9I,CACA,ECxQasK,GAAoC,CAACC,EAA4CloB,EAAyBmoB,EAAiCC,EAAWrI,EAAoBxd,EAA+BsB,IAC3M,CAACrK,EAAeh1B,IAAY,CAC/B,MAAM6jD,EAAuB7uB,EAAc,mBAO3C,GAAI+I,IAAkC,MAClCA,EAA8B,OAAS,sBACvC/I,EAAc,WAAY,EAAC,KAAK,iBAAmB,OACnD,OAAO2uB,EAAgC3uB,EAAeh1B,CAAO,EAEjEy5C,GAA6BoK,EAAsB7jD,CAAO,EAC1D,MAAM8jD,EAAQ9jD,EAAQ,QAAU,MAAQA,EAAQ,iBAAiB,aAAeA,EAAQ,MAAQ,IAAI,aAAaA,EAAQ,KAAK,EAE9H,GAAI8jD,IAAU,MAAQA,EAAM,OAAS,EACjC,MAAMtoB,EAAuB,EAGjC+d,GAA4BsK,EAAsB,CAAE,MAAAC,CAAO,EAAE,OAAO,EACpEvK,GAA4BsK,EAAsB7jD,EAAS,YAAY,EACvE,IAAI+jD,EAAwC,KACxChH,EAAc,GAClB,OAAA1d,EAAmBwkB,EAAsB,QAAU9tD,GAAQ,IAAMA,EAAI,KAAK8tD,CAAoB,EAAIptD,GAAS/J,IACvG+J,EAAI,KAAKotD,EAAsBn3D,CAAK,EAChCqwD,IACI6G,EAAUl3D,CAAK,GAAKq3D,IAA0C,KAC9DA,EAAwCL,EAA2C1uB,EAAe6uB,CAAoB,EAEjH,CAACD,EAAUl3D,CAAK,GAAKq3D,IAA0C,OACpEA,IACAA,EAAwC,OAGzCr3D,EACV,EAcM6uD,EAAmBsI,EAbJ,IAAM,CACxB9G,EAAc,GACV6G,EAAUC,EAAqB,KAAK,IACpCE,EAAwCL,EAA2C1uB,EAAe6uB,CAAoB,EAEtI,EACiC,IAAM,CAC3B9G,EAAc,GACVgH,IAA0C,OAC1CA,IACAA,EAAwC,KAExD,CACuF,CACvF,ECpDaC,GAAyC,CAACN,EAA4CloB,EAAyBjD,EAAsBqrB,EAAWrI,IAClJ,CAACvmB,EAAe,CAAE,MAAA8uB,EAAO,WAAAG,EAAY,GAAGrG,CAAgB,IAAO,CAClE,MAAMsG,EAAyBlvB,EAAc,mBACvCmvB,EAAyBnvB,EAAc,mBAC7CykB,GAA6ByK,EAAwBtG,CAAgB,EACrEnE,GAA6B0K,EAAwBvG,CAAgB,EACrE,MAAM4C,EAAgBjoB,EAAqBvD,EAAe,CAAE,GAAG4oB,EAAkB,KAAM,CAAC,CAAE,EACpFwG,EAAiB7rB,EAAqBvD,EAAe,CAAE,GAAG4oB,EAAkB,KAAM,EAAE,CAAE,EACtFhU,EAAiBrR,EAAqBvD,EAAe,CAAE,GAAG4oB,EAAkB,KAAM,CAAC,CAAE,EACrFyG,EAAiB9rB,EAAqBvD,EAAe,CAAE,GAAG4oB,EAAkB,KAAM,EAAE,CAAE,EAC5F,IAAImG,EAAwC,KACxChH,EAAc,GACduH,EAAkB,KACtB,MAAMC,EAA4B,CAC9B,IAAI,YAAa,CAEhB,EACD,IAAI,cAAe,CACf,OAAOL,EAAuB,YACjC,EACD,IAAI,aAAax3D,EAAO,CACpB8zD,EAAc,aAAe9zD,EAC7B03D,EAAe,aAAe13D,EAC9Bw3D,EAAuB,aAAex3D,EACtCk9C,EAAe,aAAel9C,EAC9By3D,EAAuB,aAAez3D,EACtC23D,EAAe,aAAe33D,CACjC,EACD,IAAI,kBAAmB,CACnB,OAAOw3D,EAAuB,gBACjC,EACD,IAAI,iBAAiBx3D,EAAO,CACxB8zD,EAAc,iBAAmB9zD,EACjC03D,EAAe,iBAAmB13D,EAClCw3D,EAAuB,iBAAmBx3D,EAC1Ck9C,EAAe,iBAAmBl9C,EAClCy3D,EAAuB,iBAAmBz3D,EAC1C23D,EAAe,iBAAmB33D,CACrC,EACD,IAAI,uBAAwB,CACxB,OAAOw3D,EAAuB,qBACjC,EACD,IAAI,sBAAsBx3D,EAAO,CAC7B8zD,EAAc,sBAAwB9zD,EACtC03D,EAAe,sBAAwB13D,EACvCw3D,EAAuB,sBAAwBx3D,EAC/Ck9C,EAAe,sBAAwBl9C,EACvCy3D,EAAuB,sBAAwBz3D,EAC/C23D,EAAe,sBAAwB33D,CAC1C,EACD,IAAI,SAAU,CACV,OAAOw3D,EAAuB,OACjC,EACD,IAAI,OAAQ,CACR,OAAOI,CACV,EACD,IAAI,MAAM53D,EAAO,CAEb,GAAIA,IAAU,MAAQA,EAAM,OAAS,EACjC,MAAM8uC,EAAuB,EAEjC,GAAI9uC,IAAU,KACVw3D,EAAuB,MAAQx3D,EAC/By3D,EAAuB,MAAQz3D,MAE9B,CACD,MAAM83D,EAAc93D,EAAM,OACpB+3D,EAAgB,IAAI,aAAaD,EAAc,EAAKA,EAAc,CAAE,EACpEE,EAAgB,IAAI,aAAaF,EAAc,EAAKA,EAAc,CAAE,EAC1EC,EAAc,CAAC,EAAI/3D,EAAM,CAAC,EAC1Bg4D,EAAc,CAAC,EAAI,CAACh4D,EAAM83D,EAAc,CAAC,EACzC,MAAMzpB,EAAS,KAAK,MAAMypB,EAAc,GAAK,CAAC,EACxC7B,GAAe6B,EAAc,GAAK,EAAI,EAC5C,QAAS74D,EAAI,EAAGA,EAAIovC,EAAQpvC,GAAK,EAAG,CAChC,MAAMmkC,EAAkBnkC,EAAIovC,EAAU4nB,EAChC5yB,EAAa,KAAK,MAAMD,CAAc,EACtCE,EAAa,KAAK,KAAKF,CAAc,EAC3C20B,EAAc94D,CAAC,EACXokC,IAAeC,EACTtjC,EAAMqjC,CAAU,GACf,GAAKD,EAAiBC,IAAerjC,EAAMqjC,CAAU,GACnD,GAAKC,EAAaF,IAAmBpjC,EAAMsjC,CAAU,EAClE00B,EAAc/4D,CAAC,EACXokC,IAAeC,EACT,CAACtjC,EAAM83D,EAAc,EAAIz0B,CAAU,EACnC,GAAG,GAAKD,EAAiBC,IAAerjC,EAAM83D,EAAc,EAAIz0B,CAAU,IACvE,GAAKC,EAAaF,IAAmBpjC,EAAM83D,EAAc,EAAIx0B,CAAU,CACvF,CACDy0B,EAAc1pB,CAAM,EAAIypB,EAAc,IAAM,EAAI93D,EAAMquC,EAAS,CAAC,GAAKruC,EAAMquC,EAAS,CAAC,EAAIruC,EAAMquC,EAAS,CAAC,GAAK,EAC9GmpB,EAAuB,MAAQO,EAC/BN,EAAuB,MAAQO,CAClC,CACDJ,EAAkB53D,EACdqwD,IACI6G,EAAUU,CAAe,GAAKP,IAA0C,KACxEA,EAAwCL,EAA2C1uB,EAAewrB,CAAa,EAE1GuD,IAA0C,OAC/CA,IACAA,EAAwC,MAGnD,EACD,IAAI,QAAS,CACT,MAAO,CAACvD,CAAa,CACxB,EACD,IAAI,gBAAiB,CACjB,OAAO0D,EAAuB,cACjC,EACD,IAAI,iBAAkB,CAClB,OAAOA,EAAuB,eACjC,EACD,IAAI,YAAa,CACb,OAAOA,EAAuB,UACjC,EACD,IAAI,WAAWx3D,EAAO,CAClBw3D,EAAuB,WAAax3D,EACpCy3D,EAAuB,WAAaz3D,CACvC,EACD,oBAAoByH,EAAM,CACtB,OAAOqsD,EAAc,iBAAiBrsD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAClE,EACD,iBAAiBA,EAAM,CACnB,OAAOqsD,EAAc,cAAcrsD,EAAK,CAAC,CAAC,CAC7C,EACD,uBAAuBA,EAAM,CACzB,OAAOqsD,EAAc,oBAAoBrsD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACrE,CACb,EACY2vD,IAAU,OAEVS,EAA0B,MAAQT,aAAiB,aAAeA,EAAQ,IAAI,aAAaA,CAAK,GAEhGG,IAAeM,EAA0B,aACzCA,EAA0B,WAAaN,GAE3C,MAAM/K,EAAgB,IAAM,CACxBsH,EAAc,QAAQ0D,CAAsB,EAAE,QAAQta,CAAc,EACpE4W,EAAc,QAAQ4D,CAAc,EAAE,QAAQD,CAAsB,EAAE,QAAQE,CAAc,EAAE,QAAQza,CAAc,EACpHmT,EAAc,GACV6G,EAAUU,CAAe,IACzBP,EAAwCL,EAA2C1uB,EAAewrB,CAAa,EAE/H,EACcrH,EAAmB,IAAM,CAC3BqH,EAAc,WAAW0D,CAAsB,EAC/CA,EAAuB,WAAWta,CAAc,EAChD4W,EAAc,WAAW4D,CAAc,EACvCA,EAAe,WAAWD,CAAsB,EAChDA,EAAuB,WAAWE,CAAc,EAChDA,EAAe,WAAWza,CAAc,EACxCmT,EAAc,GACVgH,IAA0C,OAC1CA,IACAA,EAAwC,KAExD,EACQ,OAAOxI,EAAmBiC,GAAqB+G,EAA2B3a,CAAc,EAAGsP,EAAeC,CAAgB,CAClI,EChKanlB,GAA0B,IAAM,IAAI,aAAa,GAAI,mBAAmB,ECE/E8E,GAAkB,CACpB,iBAAkB,CACtB,EACa6rB,GAAuC,CAAClnB,EAA6B1J,EAAiByH,EAAyBopB,EAAiCC,IAClJ,cAAkCpnB,CAA4B,CACjE,YAAYluC,EAAGC,EAAG,EAAG,CACjB,IAAIwQ,EACJ,GAAI,OAAOzQ,GAAM,UAAYC,IAAM,QAAa,IAAM,OAClDwQ,EAAU,CAAE,OAAQxQ,EAAG,iBAAkBD,EAAG,WAAY,WAEnD,OAAOA,GAAM,SAClByQ,EAAUzQ,MAGV,OAAM,IAAI,MAAM,qCAAqC,EAEzD,KAAM,CAAE,OAAAwrC,EAAQ,iBAAAC,EAAkB,WAAAC,CAAU,EAAK,CAAE,GAAGnC,GAAiB,GAAG94B,GACpE+5B,EAA4B6qB,EAAgC5pB,EAAkBD,EAAQE,CAAU,EAEjGlH,EAAgBgd,GAAoB,IAAMA,GAAmBhX,CAAyB,CAAC,GACxFA,EAA0B,iBAAiB,eAAgB,IAAM,CAC7D,IAAIpuC,EAAI,EACR,MAAMm5D,EAAyBlmD,GAAU,CACjC,KAAK,SAAW,YACZjT,EAAI,GACJouC,EAA0B,oBAAoB,cAAe+qB,CAAqB,EAClFlmD,EAAM,yBAAwB,EAC9B,KAAK,2BAA2BA,CAAK,GAGrCjT,GAAK,EAGrC,EACoB,OAAOm5D,CACV,IAAG,EAER,MAAM/qB,EAA2BiB,CAAgB,EACjD,KAAK,QAAUD,EACf,KAAK,2BAA6BhB,EAClC,KAAK,OAAS,IACjB,CACD,IAAI,QAAS,CAET,OAAI,KAAK,2BAA2B,SAAW,OACpC,KAAK,QAET,KAAK,2BAA2B,MAC1C,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,SAAW,KAAO,KAAK,2BAA2B,MAAQ,KAAK,MAC9E,CACD,gBAAiB,CAKb,OAAI,KAAK,SAAW,UACT,QAAQ,OAAOyB,EAAuB,CAAE,GAEnD,KAAK,OAAS,UACPqpB,EAAe,KAAK,YAAa,KAAK,0BAA0B,EAAE,QAAQ,IAAM,CACnF,KAAK,OAAS,KACdxnB,GAAqB,IAAI,CACzC,CAAa,EACJ,CACD,2BAA2Bz+B,EAAO,CAC1B,KAAK,SAAW,KAChB,KAAK,2BAA2B,cAAcA,CAAK,EAGnD,WAAW,IAAM,KAAK,2BAA2BA,CAAK,CAAC,CAE9D,CACT,ECzEMk6B,GAAkB,CACpB,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,OAAQ,EACR,UAAW,IACX,aAAc,OACd,KAAM,MACV,EACaisB,GAAkC,CAAC1pB,EAAsBE,EAAkBypB,EAA4BC,EAA8B7wB,EAAkBE,EAA6BoH,IACtL,cAA6BL,CAAqB,CACrD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDq/C,EAAuB2F,EAA2BhwB,EAAeoE,CAAa,EAC9EzB,EAAYrD,EAA4BU,CAAa,EACrDkwB,EAA0BvtB,EAAYstB,EAA8B,EAAG,KACvEpG,EAAUzqC,EAAQ,WAAa,EACrC,MAAMA,EAAS,GAAOirC,EAAsB6F,CAAsB,EAElE,KAAK,QAAU3pB,EAAiB,KAAM5D,EAAW0nB,EAAqB,OAAQ,OAAQ,OAAO,EAE7F,KAAK,WAAa9jB,EAAiB,KAAM5D,EAAW0nB,EAAqB,UAAWR,EAAS,CAACA,CAAO,EACrG,KAAK,sBAAwBQ,EAC7B,KAAK,SAAW,KAChB,KAAK,wBAA0B6F,EAC3B,KAAK,0BAA4B,MAAQ9rB,EAAc,eAAiB,SACxE,KAAK,wBAAwB,aACzBA,EAAc,aAEzB,CACD,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQ1sC,EAAO,CACf,MAAMmvC,EAAkB,OAAOnvC,GAAU,WAAagvC,EAAkB,KAAMhvC,CAAK,EAAI,KACvF,KAAK,sBAAsB,QAAUmvC,EACrC,MAAMC,EAAgB,KAAK,sBAAsB,QACjD,KAAK,SAAWA,IAAkB,MAAQA,IAAkBD,EAAkBnvC,EAAQovC,CACzF,CACD,IAAI,MAAO,CACP,OAAO,KAAK,sBAAsB,IACrC,CACD,IAAI,KAAKpvC,EAAO,CACZ,KAAK,sBAAsB,KAAOA,EAC9B,KAAK,0BAA4B,OACjC,KAAK,wBAAwB,aAAe,KAEnD,CACD,gBAAgBy4D,EAAc,CAC1B,KAAK,sBAAsB,gBAAgBA,CAAY,EACnD,KAAK,0BAA4B,OACjC,KAAK,wBAAwB,aAAeA,EAEnD,CACD,MAAMppB,EAAO,EAAG,CAKZ,GAJA,KAAK,sBAAsB,MAAMA,CAAI,EACjC,KAAK,0BAA4B,OACjC,KAAK,wBAAwB,MAAQA,GAErC,KAAK,QAAQ,QAAU,SAAU,CACjCvF,GAAyB,IAAI,EAC7B,MAAMyF,EAA8B,IAAM,CACtC,KAAK,sBAAsB,oBAAoB,QAASA,CAA2B,EAC/E3E,GAAkB,IAAI,GACtBZ,GAA0B,IAAI,CAEtD,EACgB,KAAK,sBAAsB,iBAAiB,QAASuF,CAA2B,CACnF,CACJ,CACD,KAAKF,EAAO,EAAG,CACX,KAAK,sBAAsB,KAAKA,CAAI,EAChC,KAAK,0BAA4B,OACjC,KAAK,wBAAwB,KAAOA,EAE3C,CACT,ECrFaqpB,GAAsC,CAACjpB,EAAmB6oB,EAA4B3tB,EAAoB+E,EAAkBxC,IAC9H,IAAM,CACT,MAAMyrB,EAAgC,IAAI,QAC1C,IAAIF,EAAe,KACf5nD,EAAQ,KACR++B,EAAO,KACX,MAAMgpB,EAAuB,MAAOrsD,EAAO8gC,IAA8B,CACrE,IAAIslB,EAAuBhoB,EAAmBp+B,CAAK,EAEnD,MAAMssD,EAAuC7rB,GAAiB2lB,EAAsBtlB,CAAyB,EAC7G,GAAI,CAACwrB,EAAsC,CACvC,MAAMvlD,EAAU,CACZ,aAAcq/C,EAAqB,aACnC,iBAAkBA,EAAqB,iBACvC,sBAAuBA,EAAqB,sBAC5C,OAAQA,EAAqB,OAAO,MACpC,UAAWA,EAAqB,UAAU,MAC1C,aAAc8F,IAAiB,KAAO,OAAYA,EAClD,KAAM9F,EAAqB,IAC/C,EACgBA,EAAuB2F,EAA2BjrB,EAA2B/5B,CAAO,EAChFzC,IAAU,MACV8hD,EAAqB,MAAM9hD,CAAK,EAEhC++B,IAAS,MACT+iB,EAAqB,KAAK/iB,CAAI,CAErC,CACD,OAAA+oB,EAA8B,IAAItrB,EAA2BslB,CAAoB,EAC5EkG,GAKD,MAAMppB,EAAkBpC,EAA2B9gC,EAAM,OAAQomD,EAAqB,MAAM,EAC5F,MAAMljB,EAAkBpC,EAA2B9gC,EAAM,UAAWomD,EAAqB,SAAS,IALlG,MAAMjjB,EAAiBrC,EAA2B9gC,EAAM,OAAQomD,EAAqB,MAAM,EAC3F,MAAMjjB,EAAiBrC,EAA2B9gC,EAAM,UAAWomD,EAAqB,SAAS,GAMrG,MAAMzlB,EAAwB3gC,EAAO8gC,EAA2BslB,CAAoB,EAC7EA,CACnB,EACQ,MAAO,CACH,IAAI,aAAa3yD,EAAO,CACpBy4D,EAAez4D,CAClB,EACD,IAAI,MAAMA,EAAO,CACb6Q,EAAQ7Q,CACX,EACD,IAAI,KAAKA,EAAO,CACZ4vC,EAAO5vC,CACV,EACD,OAAOuM,EAAO8gC,EAA2B,CACrC,MAAMyrB,EAA+BH,EAA8B,IAAItrB,CAAyB,EAChG,OAAIyrB,IAAiC,OAC1B,QAAQ,QAAQA,CAA4B,EAEhDF,EAAqBrsD,EAAO8gC,CAAyB,CAC/D,CACb,CACA,EC1DMjB,GAAkB,CACpB,aAAc,EACd,iBAAkB,cAClB,sBAAuB,WACvB,eAAgB,IAChB,eAAgB,IAChB,cAAe,EACf,cAAe,UACf,YAAa,IACb,aAAc,EACd,aAAc,EACd,aAAc,EACd,aAAc,aACd,UAAW,EACX,UAAW,EACX,UAAW,EACX,YAAa,EACb,cAAe,CACnB,EACa2sB,GAA8B,CAACpqB,EAAsBE,EAAkBmqB,EAAwBC,EAA0BvxB,EAAkBE,EAA6BqY,IAC1K,cAAyBtR,CAAqB,CACjD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDw/C,EAAmBkG,EAAuB1wB,EAAeoE,CAAa,EACtEzB,EAAYrD,EAA4BU,CAAa,EACrD4wB,EAAsBjuB,EAAYguB,EAA0B,EAAG,KACrE,MAAMvxC,EAAS,GAAOorC,EAAkBoG,CAAkB,EAC1D,KAAK,kBAAoBpG,EAEzB,KAAK,cAAgBjkB,EAAiB,KAAM5D,EAAW6nB,EAAiB,aAAcrkB,GAA4BD,EAA0B,EAC5I,KAAK,cAAgBK,EAAiB,KAAM5D,EAAW6nB,EAAiB,aAAcrkB,GAA4BD,EAA0B,EAC5I,KAAK,cAAgBK,EAAiB,KAAM5D,EAAW6nB,EAAiB,aAAcrkB,GAA4BD,EAA0B,EAC5I,KAAK,WAAaK,EAAiB,KAAM5D,EAAW6nB,EAAiB,UAAWrkB,GAA4BD,EAA0B,EACtI,KAAK,WAAaK,EAAiB,KAAM5D,EAAW6nB,EAAiB,UAAWrkB,GAA4BD,EAA0B,EACtI,KAAK,WAAaK,EAAiB,KAAM5D,EAAW6nB,EAAiB,UAAWrkB,GAA4BD,EAA0B,EAEtIyR,EAAqB,KAAM,CAAC,CAC/B,CACD,IAAI,gBAAiB,CACjB,OAAO,KAAK,kBAAkB,cACjC,CACD,IAAI,eAAejgD,EAAO,CACtB,KAAK,kBAAkB,eAAiBA,CAC3C,CACD,IAAI,gBAAiB,CACjB,OAAO,KAAK,kBAAkB,cACjC,CACD,IAAI,eAAeA,EAAO,CACtB,KAAK,kBAAkB,eAAiBA,CAC3C,CACD,IAAI,eAAgB,CAChB,OAAO,KAAK,kBAAkB,aACjC,CACD,IAAI,cAAcA,EAAO,CACrB,KAAK,kBAAkB,cAAgBA,CAC1C,CACD,IAAI,eAAgB,CAChB,OAAO,KAAK,kBAAkB,aACjC,CACD,IAAI,cAAcA,EAAO,CACrB,KAAK,kBAAkB,cAAgBA,CAC1C,CACD,IAAI,aAAc,CACd,OAAO,KAAK,kBAAkB,WACjC,CACD,IAAI,YAAYA,EAAO,CACnB,KAAK,kBAAkB,YAAcA,CACxC,CACD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,IAAI,cAAe,CACf,OAAO,KAAK,kBAAkB,YACjC,CACD,IAAI,aAAaA,EAAO,CACpB,KAAK,kBAAkB,aAAeA,CACzC,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,aAAc,CACd,OAAO,KAAK,kBAAkB,WACjC,CACD,IAAI,YAAYA,EAAO,CACnB,KAAK,kBAAkB,YAAcA,CACxC,CACD,IAAI,eAAgB,CAChB,OAAO,KAAK,kBAAkB,aACjC,CACD,IAAI,cAAcA,EAAO,CACrB,KAAK,kBAAkB,cAAgBA,CAC1C,CACT,ECxGam5D,GAAkC,CAAC1pB,EAAmB8C,EAA+BC,EAAgC3G,EAAsBmtB,EAAwBruB,EAAoBqD,EAAsC0B,EAAkBxC,EAAyBwP,IAC1Q,IAAM,CACT,MAAMC,EAA2B,IAAI,QACrC,IAAIyc,EAAwB,KAC5B,MAAMvc,EAAkB,MAAOtwC,EAAO8gC,IAA8B,CAChE,IAAItB,EAAiB,KACjB+mB,EAAmBnoB,EAAmBp+B,CAAK,EAC/C,MAAM8sD,EAAyB,CAC3B,aAAcvG,EAAiB,aAC/B,iBAAkBA,EAAiB,iBACnC,sBAAuBA,EAAiB,qBACxD,EACkBwG,EAAgC,CAClC,GAAGD,EACH,eAAgBvG,EAAiB,eACjC,eAAgBA,EAAiB,eACjC,cAAeA,EAAiB,cAChC,cAAeA,EAAiB,cAChC,YAAaA,EAAiB,YAC9B,aAAcA,EAAiB,aAC/B,YAAaA,EAAiB,YAC9B,cAAeA,EAAiB,aAChD,EAEkByG,EAAmCvsB,GAAiB8lB,EAAkBzlB,CAAyB,EAErG,GAAI,eAAgBylB,EAChB/mB,EAAiBF,EAAqBwB,EAA2B,CAAE,GAAGgsB,EAAwB,KAAM,CAAC,CAAE,UAElG,CAACE,EAAkC,CACxC,MAAMjmD,EAAU,CACZ,GAAGgmD,EACH,aAAcxG,EAAiB,aAAa,MAC5C,aAAcA,EAAiB,aAAa,MAC5C,aAAcA,EAAiB,aAAa,MAC5C,UAAWA,EAAiB,UAAU,MACtC,UAAWA,EAAiB,UAAU,MACtC,UAAWA,EAAiB,UAAU,KAC1D,EACgBA,EAAmBkG,EAAuB3rB,EAA2B/5B,CAAO,CAC/E,CAED,GADAqpC,EAAyB,IAAItP,EAA2BtB,IAAmB,KAAO+mB,EAAmB/mB,CAAc,EAC/GA,IAAmB,KAAM,CACzB,GAAIqtB,IAA0B,KAAM,CAChC,GAAIprB,IAAyC,KACzC,MAAM,IAAI,MAAM,qDAAqD,EAEzE,MAAMoP,EAA6B,IAAIpP,EAAqC,EAE5EzhC,EAAM,QAAQ,OAAQ8gC,EAA0B,UAAU,EACpDkU,EAA0BhP,EAA8B6K,EAA4B,CACtF,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,eAAgB,CACxC,CAAqB,EACDmE,EAAwB,QAAQnE,EAA2B,WAAW,EACtEgc,GAAyB,SAAY,CACjC,MAAMI,EAA4B,MAAM,QAAQ,IAAI,CAChDjtD,EAAM,aACNA,EAAM,aACNA,EAAM,aACNA,EAAM,UACNA,EAAM,UACNA,EAAM,SAClC,EAA0B,IAAI,MAAOo5B,EAAY3jB,KAAU,CAC/B,MAAMygC,EAA2BjQ,EAA+B4K,EAA4B,CACxF,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,OAAQp7B,KAAU,EAAI,EAAI,CAC1D,CAA6B,EACD,aAAM0tB,EAAiB0N,EAA4BzX,EAAY8c,EAAyB,MAAM,EACvFA,CACV,EAAC,EACF,QAASxjD,EAAI,EAAGA,EAAI,EAAGA,GAAK,EACxBu6D,EAA0Bv6D,CAAC,EAAE,QAAQsiD,EAAyB,EAAGtiD,CAAC,EAClEu6D,EAA0Bv6D,CAAC,EAAE,MAAM,CAAC,EAExC,OAAOy9C,EAAgCU,CAA0B,CACzF,IACiB,CACD,MAAM7B,EAAiB,MAAM6d,EACvBtF,EAAgBjoB,EAAqBwB,EAA2B,CAAE,GAAGgsB,EAAwB,KAAM,CAAC,CAAE,EAC5G,MAAMnsB,EAAwB3gC,EAAO8gC,EAA2BymB,CAAa,EAC7E,MAAM2F,EAAe,GACrB,QAASx6D,EAAI,EAAGA,EAAIs8C,EAAe,iBAAkBt8C,GAAK,EACtDw6D,EAAa,KAAKle,EAAe,eAAet8C,CAAC,CAAC,EAEtD,IAAIg0C,EAAkB,CAACwmB,EAAa,CAAC,EAAE,CAAC,EAAGA,EAAa,CAAC,EAAE,CAAC,EAAGA,EAAa,CAAC,EAAE,CAAC,CAAC,EAC7EvmB,EAAe,CAACumB,EAAa,CAAC,EAAE,CAAC,EAAGA,EAAa,CAAC,EAAE,CAAC,EAAGA,EAAa,CAAC,EAAE,CAAC,CAAC,EAC1EC,EAAe7tB,EAAqBwB,EAA2B,CAAE,GAAGgsB,EAAwB,KAAM,CAAC,CAAE,EACrGM,EAAoBX,EAAuB3rB,EAA2B,CACtE,GAAGisB,EACH,aAAcrmB,EAAgB,CAAC,EAC/B,aAAcA,EAAgB,CAAC,EAC/B,aAAcA,EAAgB,CAAC,EAC/B,UAAWC,EAAa,CAAC,EACzB,UAAWA,EAAa,CAAC,EACzB,UAAWA,EAAa,CAAC,CAC7C,CAAiB,EACD4gB,EAAc,QAAQ4F,CAAY,EAAE,QAAQC,EAAkB,OAAO,CAAC,CAAC,EACvEA,EAAkB,QAAQ5tB,CAAc,EACxC,QAAS9sC,EAAI,IAAKA,EAAIs8C,EAAe,OAAQt8C,GAAK,IAAK,CACnD,MAAMq0C,EAAc,CAACmmB,EAAa,CAAC,EAAEx6D,CAAC,EAAGw6D,EAAa,CAAC,EAAEx6D,CAAC,EAAGw6D,EAAa,CAAC,EAAEx6D,CAAC,CAAC,EACzEs0C,EAAU,CAACkmB,EAAa,CAAC,EAAEx6D,CAAC,EAAGw6D,EAAa,CAAC,EAAEx6D,CAAC,EAAGw6D,EAAa,CAAC,EAAEx6D,CAAC,CAAC,EAC3E,GAAIq0C,EAAY,KAAK,CAACtzC,EAAOgiB,KAAUhiB,IAAUizC,EAAgBjxB,EAAK,CAAC,GACnEuxB,EAAQ,KAAK,CAACvzC,EAAOgiB,KAAUhiB,IAAUkzC,EAAalxB,EAAK,CAAC,EAAG,CAC/DixB,EAAkBK,EAClBJ,EAAeK,EACf,MAAMkU,EAAcxoD,EAAIouC,EAA0B,WAClDqsB,EAAa,KAAK,eAAe,EAAGjS,CAAW,EAC/CiS,EAAe7tB,EAAqBwB,EAA2B,CAAE,GAAGgsB,EAAwB,KAAM,CAAC,CAAE,EACrGM,EAAoBX,EAAuB3rB,EAA2B,CAClE,GAAGisB,EACH,aAAcrmB,EAAgB,CAAC,EAC/B,aAAcA,EAAgB,CAAC,EAC/B,aAAcA,EAAgB,CAAC,EAC/B,UAAWC,EAAa,CAAC,EACzB,UAAWA,EAAa,CAAC,EACzB,UAAWA,EAAa,CAAC,CACrD,CAAyB,EACDwmB,EAAa,KAAK,eAAe,EAAGjS,CAAW,EAC/CqM,EAAc,QAAQ4F,CAAY,EAAE,QAAQC,EAAkB,OAAO,CAAC,CAAC,EACvEA,EAAkB,QAAQ5tB,CAAc,CAC3C,CACJ,CACD,OAAOA,CACV,CACD,OAAKwtB,GASD,MAAM9pB,EAAkBpC,EAA2B9gC,EAAM,aAAcumD,EAAiB,YAAY,EACpG,MAAMrjB,EAAkBpC,EAA2B9gC,EAAM,aAAcumD,EAAiB,YAAY,EACpG,MAAMrjB,EAAkBpC,EAA2B9gC,EAAM,aAAcumD,EAAiB,YAAY,EACpG,MAAMrjB,EAAkBpC,EAA2B9gC,EAAM,UAAWumD,EAAiB,SAAS,EAC9F,MAAMrjB,EAAkBpC,EAA2B9gC,EAAM,UAAWumD,EAAiB,SAAS,EAC9F,MAAMrjB,EAAkBpC,EAA2B9gC,EAAM,UAAWumD,EAAiB,SAAS,IAb9F,MAAMpjB,EAAiBrC,EAA2B9gC,EAAM,aAAcumD,EAAiB,YAAY,EACnG,MAAMpjB,EAAiBrC,EAA2B9gC,EAAM,aAAcumD,EAAiB,YAAY,EACnG,MAAMpjB,EAAiBrC,EAA2B9gC,EAAM,aAAcumD,EAAiB,YAAY,EACnG,MAAMpjB,EAAiBrC,EAA2B9gC,EAAM,UAAWumD,EAAiB,SAAS,EAC7F,MAAMpjB,EAAiBrC,EAA2B9gC,EAAM,UAAWumD,EAAiB,SAAS,EAC7F,MAAMpjB,EAAiBrC,EAA2B9gC,EAAM,UAAWumD,EAAiB,SAAS,GAU7F1d,GAAuB0d,CAAgB,EACvC,MAAM5lB,EAAwB3gC,EAAO8gC,EAA2BylB,EAAiB,OAAO,CAAC,CAAC,EAG1F,MAAM5lB,EAAwB3gC,EAAO8gC,EAA2BylB,CAAgB,EAE7EA,CACnB,EACQ,MAAO,CACH,OAAOvmD,EAAO8gC,EAA2B,CACrC,MAAMusB,EAA2Cjd,EAAyB,IAAItP,CAAyB,EACvG,OAAIusB,IAA6C,OACtC,QAAQ,QAAQA,CAAwC,EAE5D/c,EAAgBtwC,EAAO8gC,CAAyB,CAC1D,CACb,CACA,ECpKMjB,GAAkB,CACpB,qBAAsB,EAC1B,EACaytB,GAAgC,CAACC,EAA0BpyB,EAAkBqyB,EAAmBC,IAClG,MAAMC,EAAa,CACtB,YAAYvyC,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgBstB,EAA4B,CAAE,GAAG5tB,GAAiB,GAAG94B,CAAO,CAAE,EAC9EmlD,EAAeqB,EAAyBxxB,EAAeoE,CAAa,EAC1E,OAAAqtB,EAAkB,IAAItB,CAAY,EAE3BA,CACV,CACD,OAAQ,OAAO,WAAW,EAAEtpD,EAAU,CAClC,OAASA,IAAa,MAAQ,OAAOA,GAAa,UAAY,OAAO,eAAeA,CAAQ,IAAM8qD,GAAa,WAC3GF,EAAkB,IAAI5qD,CAAQ,CACrC,CACT,ECjBa+qD,GAAyB,CAACC,EAAuBjY,IACnD,CAAC7U,EAA2B1H,EAAYyR,KAChB+iB,EAAsBx0B,CAAU,EACxC,OAAOyR,CAAgB,EACnC8K,EAAyBvc,EAAY0H,EAA2B+J,CAAgB,GCJlFgjB,GAAgC,CAAC3vB,EAAyB4vB,EAAsBxvB,IAClF,MAAOvF,EAAW+H,EAA2B7H,IAAoB,CACpE,MAAMqW,EAAuBpR,EAAwBnF,CAAS,EAC9D,MAAM,QAAQ,IAAIuW,EAAqB,aAClC,IAAI,CAAC3R,EAAalF,IAAU,MAAM,KAAKkF,CAAW,EAAE,IAAI,MAAO,CAAC77B,EAAQ02B,CAAM,IAAM,CAErF,MAAM2c,EAA0B,MADN2Y,EAAqBhsD,CAAM,EACG,OAAOA,EAAQg/B,CAAyB,EAC1FrC,EAAc1F,EAAU,QAAQ,YAClC,CAACuF,EAAex8B,CAAM,IAAMi3B,IAAc0F,GAAe,CAACH,EAAevF,CAAS,IAClFoc,EAAwB,QAAQlc,EAAiBT,EAAQC,CAAK,CAE9E,CAAS,CAAC,EACG,OAAO,CAACs1B,EAAsBC,IAAsB,CAAC,GAAGD,EAAsB,GAAGC,CAAiB,EAAG,CAAE,EAAC,CACrH,ECbaC,GAAiC,CAACH,EAAsB/pB,EAA0BzF,IACpF,MAAOlF,EAAY0H,EAA2B+J,IAAqB,CACtE,MAAM1G,EAAwBJ,EAAyB3K,CAAU,EACjE,MAAM,QAAQ,IAAI,MAAM,KAAK+K,EAAsB,YAAY,EAAE,IAAI,MAAO,CAACriC,EAAQ02B,CAAM,IAAM,CAE7F,MAAM2c,EAA0B,MADN2Y,EAAqBhsD,CAAM,EACG,OAAOA,EAAQg/B,CAAyB,EAC3FxC,EAAex8B,CAAM,GACtBqzC,EAAwB,QAAQtK,EAAkBrS,CAAM,CAE/D,EAAC,CACV,ECTa01B,GAAwC,CAACpzB,EAAiBwE,EAAsB4G,EAAiCioB,IAClHrtB,GAEAhG,EAAgBgd,GAAoB,IAAMA,GAAmBhX,CAAyB,CAAC,EAEhF,QAAQ,QAAQhG,EAAgBqzB,EAA2CA,CAAyC,CAAC,EAAE,KAAMC,GAA8C,CAC9K,GAAI,CAACA,EAA2C,CAC5C,MAAMvnB,EAAsBX,EAAgCpF,EAA2B,IAAK,EAAG,CAAC,EAChGA,EAA0B,WAAa,IAAM,CACzC+F,EAAoB,eAAiB,KACrCA,EAAoB,WAAU,CACtD,EACoBA,EAAoB,eAAiB,IAAM/F,EAA0B,YACrE+F,EAAoB,QAAQ/F,EAA0B,WAAW,CACpE,CACD,OAAOA,EAA0B,gBACjD,CAAa,EAEE,IAAI,QAASzrB,GAAY,CAE5B,MAAM67B,EAAW5R,EAAqBwB,EAA2B,CAC7D,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,KAAM,CACtB,CAAa,EACDA,EAA0B,WAAcn7B,GAAU,CAC9CurC,EAAS,WAAU,EACnB77B,EAAQ1P,EAAM,cAAc,CAC5C,EACYurC,EAAS,QAAQpQ,EAA0B,WAAW,EACtDA,EAA0B,eAAc,CACpD,CAAS,ECjCIutB,GAAyCvS,GAC3C,CAAC9N,EAAwBzV,IAAiB,CAC7CujB,EAAkC,IAAI9N,EAAwBzV,CAAY,CAClF,ECHa+1B,GAA8BrS,GAChC,CAACljB,EAAWkG,IAAagd,EAAuB,IAAIljB,EAAWkG,CAAQ,ECArEsvB,GAAuB,CAAChtB,EAAkBzG,EAAiBgzB,EAAsBnuB,EAAgCwQ,EAAiCnP,EAAqDW,EAAmCC,IAC5O,CAACnD,EAAaqC,IAA8BgtB,EAAqBrvB,CAAW,EAC9E,OAAOA,EAAaqC,CAAyB,EAK7C,KAAK,IAAM,QAAQ,IAAI,MAAM,KAAKnB,EAA+BmB,CAAyB,CAAC,EAAE,IAAKlB,GAAqBkuB,EAAqBluB,CAAgB,EAAE,OAAOA,EAAkBkB,CAAyB,CAAC,CAAC,CAAC,EACnN,KAAK,IAAMqP,EAAgCrP,CAAyB,CAAC,EACrE,KAAMK,IAGH,OAAOA,EAAY,iBAAoB,YACvCQ,EAAkCR,CAAW,EAC7CD,GAAoCC,CAAW,GAGzCrG,EAAgBkG,EAAqD,IAAMA,EAAoDG,CAAW,CAAC,GACjJS,EAA6CT,CAAW,EAE5DI,EAAiB,IAAIJ,CAAW,EACzBA,EACV,ECvBCtB,GAAkB,CACpB,aAAc,EAKd,iBAAkB,WAClB,sBAAuB,WACvB,IAAK,CACT,EACa2uB,GAAoC,CAACpsB,EAAsBE,EAAkBmsB,EAA8BC,EAAgCvzB,EAAkBE,IAC/J,cAA+B+G,CAAqB,CACvD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChDwhD,EAAyBkG,EAA6B1yB,EAAeoE,CAAa,EAClFzB,EAAYrD,EAA4BU,CAAa,EACrD4yB,EAA4BjwB,EAAYgwB,EAAgC,EAAG,KACjF,MAAMvzC,EAAS,GAAOotC,EAAwBoG,CAAwB,EACtE,KAAK,KAAOrsB,EAAiB,KAAM5D,EAAW6pB,EAAuB,GAAG,CAC3E,CACD,IAAI,KAAM,CACN,OAAO,KAAK,IACf,CACT,ECtBaqG,GAAwC,CAAC1rB,EAAmBurB,EAA8BrwB,EAAoB+E,EAAkBxC,IAClI,IAAM,CACT,MAAMkuB,EAAkC,IAAI,QACtCC,EAAyB,MAAO9uD,EAAO8gC,IAA8B,CACvE,IAAIynB,EAAyBnqB,EAAmBp+B,CAAK,EAKrD,MAAM+uD,EAAyCtuB,GAAiB8nB,EAAwBznB,CAAyB,EACjH,GAAI,CAACiuB,EAAwC,CACzC,MAAMhoD,EAAU,CACZ,aAAcwhD,EAAuB,aACrC,iBAAkBA,EAAuB,iBACzC,sBAAuBA,EAAuB,sBAC9C,IAAKA,EAAuB,IAAI,KACpD,EACgBA,EAAyBkG,EAA6B3tB,EAA2B/5B,CAAO,CAC3F,CACD,OAAA8nD,EAAgC,IAAI/tB,EAA2BynB,CAAsB,EAChFwG,EAID,MAAM7rB,EAAkBpC,EAA2B9gC,EAAM,IAAKuoD,EAAuB,GAAG,EAHxF,MAAMplB,EAAiBrC,EAA2B9gC,EAAM,IAAKuoD,EAAuB,GAAG,EAKvF1f,GAAuB0f,CAAsB,EAC7C,MAAM5nB,EAAwB3gC,EAAO8gC,EAA2BynB,EAAuB,OAAO,CAAC,CAAC,EAGhG,MAAM5nB,EAAwB3gC,EAAO8gC,EAA2BynB,CAAsB,EAEnFA,CACnB,EACQ,MAAO,CACH,OAAOvoD,EAAO8gC,EAA2B,CACrC,MAAMkuB,EAAiCH,EAAgC,IAAI/tB,CAAyB,EACpG,OAAIkuB,IAAmC,OAC5B,QAAQ,QAAQA,CAA8B,EAElDF,EAAuB9uD,EAAO8gC,CAAyB,CACjE,CACb,CACA,EC5CamuB,GAA2CztB,GAC7C,IAAM,CACT,GAAIA,IAAiC,KACjC,MAAO,GAEX,GAAI,CACA,IAAIA,EAA6B,CAAE,OAAQ,EAAG,WAAY,KAAK,CAAE,CACpE,MACK,CACF,MAAO,EACV,CACD,MAAO,EACf,ECZa0tB,GAAoD,CAAC5zB,EAAmCmG,IAC1F,SAAY,CAEf,GAAInG,IAAsC,KACtC,MAAO,GAEX,GAAImG,IAAyC,KACzC,MAAO,GAEX,MAAMlF,EAAO,IAAI,KAAK,CAAC,sHAAsH,EAAG,CAC5I,KAAM,uCAClB,CAAS,EAEK4yB,EAAsB,IAAI1tB,EAAqC,EAAG,IAAK,KAAK,EAC5ErH,EAAM,IAAI,gBAAgBmC,CAAI,EACpC,IAAI6yB,EAA0B,GAC1BC,EAAiC,GACrC,GAAI,CACA,MAAMF,EAAoB,aAAa,UAAU/0B,CAAG,EACpD,MAAMwF,EAAmB,IAAItE,EAAkC6zB,EAAqB,IAAK,CAAE,gBAAiB,CAAC,CAAE,EACzGG,EAAaH,EAAoB,mBACvCvvB,EAAiB,KAAK,UAAY,IAAOwvB,EAA0B,GACnExvB,EAAiB,iBAAmB,IAAOyvB,EAAiC,GAC5EC,EAAW,QAAQ1vB,CAAgB,EACnC0vB,EAAW,MAAM,CAAC,EAClB,MAAMH,EAAoB,gBAC7B,MACK,CAEL,QACO,CACJ,IAAI,gBAAgB/0B,CAAG,CAC1B,CACD,OAAOg1B,GAA2B,CAACC,CAC3C,ECnCaE,GAAkD,CAACjwB,EAAsBmC,IAC3E,IAAM,CACT,GAAIA,IAAyC,KACzC,OAAO,QAAQ,QAAQ,EAAK,EAEhC,MAAMX,EAA4B,IAAIW,EAAqC,EAAG,EAAG,KAAK,EAEhFyP,EAAW5R,EAAqBwB,EAA2B,CAC7D,aAAc,EACd,iBAAkB,WAClB,sBAAuB,WACvB,KAAM,CAClB,CAAS,EAED,OAAO,IAAI,QAASzrB,GAAY,CAC5ByrB,EAA0B,WAAa,IAAM,CACzCoQ,EAAS,WAAU,EACnB77B,EAAQyrB,EAA0B,cAAgB,CAAC,CACnE,EACYA,EAA0B,eAAc,CACpD,CAAS,CACT,ECrBa2D,GAAqB,IAAM,IAAI,aAAa,GAAI,cAAc,ECArE5E,GAAkB,CACpB,aAAc,EACd,iBAAkB,MAClB,sBAAuB,WACvB,MAAO,KACP,WAAY,MAChB,EACa2vB,GAAkC,CAACptB,EAAsBG,EAAyBkkB,EAA4BgJ,EAA8Bt0B,EAAkBE,EAA6BqY,IAC7L,cAA6BtR,CAAqB,CACrD,YAAYjnB,EAASpU,EAAS,CAC1B,MAAMg1B,EAAgBZ,EAAiBhgB,CAAO,EACxCglB,EAAgB,CAAE,GAAGN,GAAiB,GAAG94B,CAAO,EAChD6jD,EAAuBnE,EAA2B1qB,EAAeoE,CAAa,EAE9EuvB,EADYr0B,EAA4BU,CAAa,EACf0zB,EAA8B,EAAG,KAE7E,MAAMt0C,EAAS,GAAMyvC,EAAsB8E,CAAsB,EACjE,KAAK,kBAAoB,GACzB,KAAK,sBAAwB9E,EAE7BlX,EAAqB,KAAM,CAAC,CAC/B,CACD,IAAI,OAAQ,CACR,OAAI,KAAK,kBACE,KAEJ,KAAK,sBAAsB,KACrC,CACD,IAAI,MAAMjgD,EAAO,CAEb,GAAIA,IAAU,KACV,KAAK,kBAAoB,GACzB,KAAK,sBAAsB,MAAQ,IAAI,aAAa,CAAC,EAAG,CAAC,CAAC,MAEzD,CAGD,GAAIA,EAAM,OAAS,EACf,MAAM8uC,EAAuB,EAEjC,KAAK,kBAAoB,GACzB,KAAK,sBAAsB,MAAQ9uC,CACtC,CACJ,CACD,IAAI,YAAa,CACb,OAAO,KAAK,sBAAsB,UACrC,CACD,IAAI,WAAWA,EAAO,CAClB,KAAK,sBAAsB,WAAaA,CAC3C,CACT,EChDak8D,GAAsC,CAAClJ,EAA4BroB,EAAoBuC,IACzF,IAAM,CACT,MAAMivB,EAAgC,IAAI,QACpCC,EAAuB,MAAO7vD,EAAO8gC,IAA8B,CACrE,IAAI8pB,EAAuBxsB,EAAmBp+B,CAAK,EAGnD,GAAI,CADyCygC,GAAiBmqB,EAAsB9pB,CAAyB,EAClE,CACvC,MAAM/5B,EAAU,CACZ,aAAc6jD,EAAqB,aACnC,iBAAkBA,EAAqB,iBACvC,sBAAuBA,EAAqB,sBAC5C,MAAOA,EAAqB,MAC5B,WAAYA,EAAqB,UACrD,EACgBA,EAAuBnE,EAA2B3lB,EAA2B/5B,CAAO,CACvF,CACD,OAAA6oD,EAA8B,IAAI9uB,EAA2B8pB,CAAoB,EAC7E/hB,GAAuB+hB,CAAoB,EAC3C,MAAMjqB,EAAwB3gC,EAAO8gC,EAA2B8pB,EAAqB,OAAO,CAAC,CAAC,EAG9F,MAAMjqB,EAAwB3gC,EAAO8gC,EAA2B8pB,CAAoB,EAEjFA,CACnB,EACQ,MAAO,CACH,OAAO5qD,EAAO8gC,EAA2B,CACrC,MAAMgvB,EAA+BF,EAA8B,IAAI9uB,CAAyB,EAChG,OAAIgvB,IAAiC,OAC1B,QAAQ,QAAQA,CAA4B,EAEhDD,EAAqB7vD,EAAO8gC,CAAyB,CAC/D,CACb,CACA,ECrCaivB,GAAe,IAAO,OAAO,OAAW,IAAc,KAAO,OCA7DC,GAA0C,CAACC,EAA6BhwB,IACzEkB,GAAgB,CACpBA,EAAY,gBAAkB,CAAC1C,EAAayxB,EAAuBC,EAAuB,IAAM,CAC5F,MAAM7hB,EAAe2hB,EAA4BE,CAAoB,EAC/D9hB,EAAgB4hB,EAA4BC,CAAqB,EACvE,GAAI7hB,GAAiBlN,EAAY,iBAC7B,MAAMlB,EAAoB,EAE9B,MAAMmwB,EAAoBjvB,EAAY,OAChCuI,EAAcvI,EAAY,eAAekN,CAAa,EACtDgiB,EAAoB5xB,EAAY,OACtC,QAAS/rC,EAAI47C,EAAe,EAAI,CAACA,EAAe,EAAG57C,EAAI47C,EAAe8hB,GAAqB19D,EAAI29D,EAAmB39D,GAAK,EACnH+rC,EAAY/rC,CAAC,EAAIg3C,EAAYh3C,EAAI47C,CAAY,CAE7D,EACQnN,EAAY,cAAgB,CAACr/B,EAAQouD,EAAuBC,EAAuB,IAAM,CACrF,MAAM7hB,EAAe2hB,EAA4BE,CAAoB,EAC/D9hB,EAAgB4hB,EAA4BC,CAAqB,EACvE,GAAI7hB,GAAiBlN,EAAY,iBAC7B,MAAMlB,EAAoB,EAE9B,MAAMmwB,EAAoBjvB,EAAY,OAChCuI,EAAcvI,EAAY,eAAekN,CAAa,EACtDiiB,EAAexuD,EAAO,OAC5B,QAASpP,EAAI47C,EAAe,EAAI,CAACA,EAAe,EAAG57C,EAAI47C,EAAe8hB,GAAqB19D,EAAI49D,EAAc59D,GAAK,EAC9Gg3C,EAAYh3C,EAAI47C,CAAY,EAAIxsC,EAAOpP,CAAC,CAExD,CACA,EC5Ba69D,GAAsDN,GACvD9uB,GAAgB,CACpBA,EAAY,iBAAoBiN,GACrB,CAAC3P,EAAayxB,EAAuBC,EAAuB,IAAM,CACrE,MAAM7hB,EAAe2hB,EAA4BE,CAAoB,EAC/D9hB,EAAgB4hB,EAA4BC,CAAqB,EACvE,GAAI5hB,EAAenN,EAAY,OAC3B,OAAOiN,EAAgB,KAAKjN,EAAa1C,EAAa4P,EAAeC,CAAY,CAErG,GACWnN,EAAY,eAAe,EAC9BA,EAAY,eAAkBqN,GACnB,CAAC1sC,EAAQouD,EAAuBC,EAAuB,IAAM,CAChE,MAAM7hB,EAAe2hB,EAA4BE,CAAoB,EAC/D9hB,EAAgB4hB,EAA4BC,CAAqB,EACvE,GAAI5hB,EAAenN,EAAY,OAC3B,OAAOqN,EAAc,KAAKrN,EAAar/B,EAAQusC,EAAeC,CAAY,CAE9F,GACWnN,EAAY,aAAa,CACpC,ECpBaqvB,GAA4DpqB,GAC9D,CAAC1D,EAA6B3G,IAAkB,CACnD,MAAM00B,EAAkB10B,EAAc,aAAa,EAAG,EAAG,KAAK,EAC1D2G,EAA4B,SAAW,OACvCA,EAA4B,OAAS+tB,GAEzCrqB,EAAmB1D,EAA6B,SAAW5lC,GAAQ,IAAM,CACrE,MAAMrJ,EAAQqJ,EAAI,KAAK4lC,CAA2B,EAClD,OAAOjvC,IAAUg9D,EAAkB,KAAOh9D,CACtD,EAAY+J,GAAS/J,GACF+J,EAAI,KAAKklC,EAA6BjvC,IAAU,KAAOg9D,EAAkBh9D,CAAK,CACxF,CACT,ECZai9D,GAA8B,CAACnuB,EAAyB+f,IAC1D,CAACvmB,EAAeyK,IAAsB,CAEzCA,EAAkB,aAAe,EACjCA,EAAkB,iBAAmB,WAErC,OAAO,eAAeA,EAAmB,eAAgB,CACrD,IAAK,IAAM,EACX,IAAK,IAAM,CACP,MAAMjE,EAAuB,CAChC,CACb,CAAS,EACD,OAAO,eAAeiE,EAAmB,mBAAoB,CACzD,IAAK,IAAM,WACX,IAAK,IAAM,CACP,MAAMjE,EAAuB,CAChC,CACb,CAAS,EAED,MAAM4O,EAAwBpV,EAAc,qBAQ5CumB,EAAmB9b,EAPG,IAAM,CACxB,MAAM1E,EAAS0E,EAAkB,eACjC,QAAS9zC,EAAI,EAAGA,EAAIovC,EAAQpvC,GAAK,EAC7By+C,EAAsB,QAAQ3K,EAAmB,EAAG9zC,CAAC,CAErE,EACiC,IAAMy+C,EAAsB,WAAW3K,CAAiB,CACZ,CAC7E,EC5BaL,GAAiB,CAAChF,EAAaoF,EAAQ8H,IAE5ClN,EAAY,kBAAoB,OACzBA,EAAY,eAAekN,CAAa,EAAE,CAAC,GAEtDlN,EAAY,gBAAgBoF,EAAQ8H,CAAa,EAC1C9H,EAAO,CAAC,GCNNokB,GAAaE,GAAU,CAChC,GAAIA,IAAU,KACV,MAAO,GAEX,MAAM/oB,EAAS+oB,EAAM,OACrB,OAAI/oB,EAAS,IAAM,EACR+oB,EAAM,KAAK,MAAM/oB,EAAS,CAAC,CAAC,IAAM,EAEtC+oB,EAAM/oB,EAAS,EAAI,CAAC,EAAI+oB,EAAM/oB,EAAS,CAAC,IAAM,CACzD,ECTasE,GAAqB,CAACzrC,EAAQg2D,EAAUC,EAAcC,IAAiB,CAChF,IAAIC,EAAYn2D,EAChB,KAAO,CAACm2D,EAAU,eAAeH,CAAQ,GACrCG,EAAY,OAAO,eAAeA,CAAS,EAE/C,KAAM,CAAE,IAAAh0D,EAAK,IAAAU,CAAK,EAAG,OAAO,yBAAyBszD,EAAWH,CAAQ,EACxE,OAAO,eAAeh2D,EAAQg2D,EAAU,CAAE,IAAKC,EAAa9zD,CAAG,EAAG,IAAK+zD,EAAarzD,CAAG,CAAG,EAC9F,ECPaowC,GAAmC7mC,IACrC,CACH,GAAGA,EACH,mBAAoBA,EAAQ,qBAAuB,OAC7CA,EAAQ,mBACRA,EAAQ,iBAAmB,GAAKA,EAAQ,kBAAoB,EAMtD,CAACA,EAAQ,YAAY,EACvB,MAAM,KAAK,CAAE,OAAQA,EAAQ,eAAe,EAAI,IAAM,CAAC,CACzE,GCbauuC,GAAkCvuC,IACpC,CAAE,GAAGA,EAAS,aAAcA,EAAQ,eAAe,GCDjD0mD,GAA+B1mD,GAAY,CACpD,KAAM,CAAE,KAAAmsC,EAAM,KAAAD,CAAM,EAAGlsC,EACvB,OAAImsC,IAAS,OACLD,IAAS,OACF,CAAE,GAAGlsC,EAAS,KAAM,CAAC,EAAG,CAAC,EAAG,KAAM,CAAC,EAAG,CAAC,CAAC,EAE5C,CAAE,GAAGA,EAAS,KAAM,MAAM,KAAKksC,EAAM,IAAM,CAAC,EAAG,KAAAA,GAEtDA,IAAS,OACF,CAAE,GAAGlsC,EAAS,KAAAmsC,EAAM,KAAM,MAAM,KAAKA,EAAM,IAAM,CAAC,GAEtD,CAAE,GAAGnsC,EAAS,KAAAmsC,EAAM,KAAAD,CAAI,CACnC,ECZazG,GAA8B,CAACpT,EAAY3lC,EAAO6hC,IAAc,CACzE,GAAI,CACA8D,EAAW,eAAe3lC,EAAO6hC,CAAS,CAC7C,OACMzyB,EAAK,CACR,GAAIA,EAAI,OAAS,EACb,MAAMA,EAEV2pC,GAA4BpT,EAAY3lC,EAAO6hC,EAAY,IAAI,CAClE,CACL,ECVa+rB,GAA+DtlB,GAAkB,CAC1F,MAAM2G,EAA8B3G,EAAc,qBAClD2G,EAA4B,MAAK,EACjC,GAAI,CACAA,EAA4B,MAAK,CACpC,MACK,CACF,MAAO,EACV,CACD,MAAO,EACX,ECVa4e,GAA6DvlB,GAAkB,CACxF,MAAM2G,EAA8B3G,EAAc,qBAC5CkF,EAAoBlF,EAAc,aAAa,EAAG,EAAG,KAAK,EAChE2G,EAA4B,OAASzB,EACrC,GAAI,CACAyB,EAA4B,MAAM,EAAG,CAAC,CACzC,MACK,CACF,MAAO,EACV,CACD,MAAO,EACX,ECXa6e,GAA6DxlB,GAAkB,CACxF,MAAM2G,EAA8B3G,EAAc,qBAClD2G,EAA4B,MAAK,EACjC,GAAI,CACAA,EAA4B,KAAI,CACnC,MACK,CACF,MAAO,EACV,CACD,MAAO,EACX,ECVa8e,GAAoEzlB,GAAkB,CAC/F,MAAM2G,EAA8B3G,EAAc,mBAClD,GAAI,CACA2G,EAA4B,MAAM,EAAE,CACvC,OACM7/B,EAAK,CACR,OAAOA,aAAe,UACzB,CACD,MAAO,EACX,ECTa4+C,GAAiE1lB,GAAkB,CAC5F,MAAMkF,EAAoBlF,EAAc,aAAa,EAAG,EAAG,KAAK,EAC1D2G,EAA8B3G,EAAc,qBAClD2G,EAA4B,OAASzB,EACrCyB,EAA4B,MAAK,EACjCA,EAA4B,KAAI,EAChC,GAAI,CACA,OAAAA,EAA4B,KAAI,EACzB,EACV,MACK,CACF,MAAO,EACV,CACL,ECbagf,GAAmE3lB,GAAkB,CAC9F,MAAM2G,EAA8B3G,EAAc,mBAClD,GAAI,CACA2G,EAA4B,KAAK,EAAE,CACtC,OACM7/B,EAAK,CACR,OAAOA,aAAe,UACzB,CACD,MAAO,EACX,ECTairC,GAA0CqU,GAA4B,CAC/E,KAAM,CAAE,MAAA5K,EAAO,MAAAC,GAAU,IAAI,eAC7B,GAAI,CAEAD,EAAM,YAAY4K,CAAuB,CAC5C,QACO,CACJ5K,EAAM,MAAK,EACXC,EAAM,MAAK,CACd,CACL,ECVauZ,GAAsDruB,GAAgC,CAC/FA,EAA4B,OAAUp+B,GAC3B,CAACw+B,EAAO,EAAGC,EAAS,EAAGrW,IAAa,CACvC,MAAM6Z,EAAS7D,EAA4B,OAErCsuB,EAAgBzqB,IAAW,KAAOxD,EAAS,KAAK,IAAIwD,EAAO,SAAUxD,CAAM,EAE7EwD,IAAW,MAAQyqB,EAAgBzqB,EAAO,SAAW,GAAM7D,EAA4B,QAAQ,WAC/Fp+B,EAAM,KAAKo+B,EAA6BI,EAAM,EAAG,CAAC,EAGlDx+B,EAAM,KAAKo+B,EAA6BI,EAAMkuB,EAAetkC,CAAQ,CAErF,GACOgW,EAA4B,KAAK,CACxC,ECdamf,GAAyD,CAACtiB,EAAgCxD,IAAkB,CACrH,MAAMyD,EAAiBzD,EAAc,aACrCwD,EAA+B,QAAQC,CAAc,EACrD,MAAMyxB,GAAuBxxB,GAClB,IAAM,CAETA,EAAW,KAAKF,EAAgCC,CAAc,EAC9DD,EAA+B,oBAAoB,QAAS0xB,CAAkB,CAC1F,GACO1xB,EAA+B,UAAU,EAC5CA,EAA+B,iBAAiB,QAAS0xB,CAAkB,EAC3E1M,GAAqBhlB,EAAgCC,CAAc,EACnED,EAA+B,MAAS8D,GAAS,CAC7C,IAAI6tB,EAAY,GAChB,MAAO,CAACpuB,EAAO,IAAM,CACjB,GAAIouB,EACA,GAAI,CACA7tB,EAAK,KAAK9D,EAAgCuD,CAAI,CACjD,MACK,CACFtD,EAAe,KAAK,eAAe,EAAGsD,CAAI,CAC7C,MAGDO,EAAK,KAAK9D,EAAgCuD,CAAI,EAC9CouB,EAAY,EAE5B,CACA,GAAO3xB,EAA+B,IAAI,CAC1C,EC9BakD,GAAoB,CAAC5oC,EAAQ6+B,IAC9B/yB,GAAU,CACd,MAAMqR,EAAa,CAAE,MAAOnd,GAK5B,OAJA,OAAO,iBAAiB8L,EAAO,CAC3B,cAAeqR,EACf,OAAQA,CACpB,CAAS,EACG,OAAO0hB,GAAkB,WAClBA,EAAc,KAAK7+B,EAAQ8L,CAAK,EAEpC+yB,EAAc,YAAY,KAAK7+B,EAAQ8L,CAAK,CAC3D,ECmMMk4B,GAAsCxF,GAA0CC,EAAkB,EAClGwF,GAAuCsB,GAA2C9G,EAAkB,EACpG0F,GAAyCgb,GAA6Cnc,EAAkB,EACxGof,GAAyB,IAAI,QAC7B9d,GAAuB6d,GAA2BC,EAAsB,EACxEnhB,GAAkBuZ,GAAsB,IAAI,IAAO,IAAI,OAAS,EAChE3Y,GAASq0B,GAAY,EACrB7vB,GAA2B0gB,GAAgC9lB,GAAiBmF,EAAoB,EAChG6tB,GAAuB/R,GAA2B7d,EAAuB,EACzEyC,GAA0BktB,GAA8B3vB,GAAyB4vB,GAAsBxvB,EAAc,EACrH0B,GAA6BU,GAAkCR,GAA0B9B,GAAoBuC,EAAuB,EACpIxF,GAAmBkhB,GAAuB1iB,EAAa,EACvD8H,GAAuCykB,GAA2CxqB,EAAM,EACxFL,GAA8BwjB,GAAkCpd,EAAoC,EACpG4K,GAA2B,IAAI,QAC/BN,GAAyB+O,GAA6BrY,EAAiB,EACvEqC,GAAgCgd,GAAoCpmB,EAAM,EAC1EsQ,GAAuByS,GAA2B3Z,EAA6B,EAC/EqF,GAAoBuU,GAAwBhjB,EAAM,EAClDuQ,GAAqB0S,GAAyBjjB,EAAM,EACpDJ,GAAoC2mB,GAAwCvmB,EAAM,EAClF0G,GAAuBoJ,GAA2B3S,GAA8BU,EAA4B,EAAGqE,GAA+BC,GAAqCC,GAAsCC,GAAyCC,GAAwCC,GAA8CC,GAAyBC,GAAsBb,GAA8Bc,GAAoB9F,GAAoB+F,GAAmBC,GAAgBC,EAAkB,EAAGzD,GAAiBojB,GAAmCrkB,GAAgBoE,GAA8CC,GAAyBE,GAAoBiL,GAAqBhL,EAAiB,EAAG4B,GAAsB2L,GAA0B7Q,GAAyBmd,GAA4Bna,GAAyClE,GAAgBqE,GAAyBE,GAAoBiL,GAAqBlO,GAAkBkD,GAAmBhD,EAA2B,EAAG8d,GAAmB9M,GAA0BnO,GAAyBtB,EAAc,EAAGmP,GAAwB5Q,GAAkB6Q,GAAsB7B,GAAmB8B,GAAoB5Q,GAA6BC,EAAiC,EAC5uCkW,GAA0B1R,GAA8BsC,GAAsBpC,GAA4BC,GAAsBC,GAA0B/E,GAAkBE,EAA2B,EAEvMkG,GAAmB,IAAI,QACvBC,GAA+Bqf,GAAmCnlB,EAAM,EACxEu0B,GAA8BzZ,GAAkC,IAAI,YAAY,CAAC,CAAC,EAClF7U,GAAoCquB,GAAwCC,GAA6BhwB,EAAoB,EAC7H2B,GAA+C2uB,GAAmDN,EAA2B,EAC7Hxe,GAAyBnQ,GAA6BC,GAAkBzG,GAAiBC,GAAyByG,GAA8BC,GAAsCwtB,GAAwCztB,EAA4B,EAAGG,GAAmCC,EAA4C,EAE5Uwf,GAAsB/hB,GAA0BC,EAAoB,EACpEqW,GAA2BsY,GAA+BH,GAAsB/pB,GAA0BzF,EAAc,EACxH4E,GAAoBwS,GAAwBC,EAAwB,EACpEnT,GAAoC2e,GAAyCC,GAAqBtmB,GAAiBumB,GAA6DC,GAA2DC,GAA2DC,GAAkEC,GAA+DC,GAAiEqP,GAAoDP,GAAyDpqB,EAAkB,EAAGyb,EAAsD,EAChqB1e,GAAmBwqB,GAAuBzR,GAA4BnY,EAAwB,EAAG4R,EAAwB,EACzHtT,GAAsCY,GAA2CC,GAAmBV,GAAmCpE,GAAoB+E,GAAkBxC,EAAuB,EACpM2B,GAAmB6J,GAAwBjT,GAA+BO,EAA6B,EAAG4S,GAA0B3S,GAAmB6S,GAA0BzU,GAAoCE,GAA4CC,GAA6CC,GAAwCC,GAAgC9C,GAA+BE,GAAoCuP,GAA+B0H,EAA2B,EACnfkF,GAAmCvP,GAAuCC,GAAsBC,GAAqCC,GAAkBC,GAAyBC,GAAmCrH,GAAkBE,GAA6BoH,EAAiB,EAEnRmd,GAAkCta,GAAsClD,GAAsBmD,GAAoCtF,GAAsBsC,GAAyBwf,GAAwCziB,GAAsB8G,EAAkB,EAAGjL,GAAkBE,GAA6BsF,EAAuB,EAC1U6S,GAAiCQ,GAAsC9Q,GAAmBuQ,GAA8BrV,GAAoB+E,GAAkBxC,EAAuB,EACrL+S,GAAuB4a,GAA2BrS,EAAsB,EACxEtK,GAA8B4B,GAAkCnR,GAAsBE,GAAkBkR,GAAgC5H,GAA0B6H,GAA8BtY,GAAkBE,GAA6BqY,EAAoB,EACnQ4O,GAAqBtC,GAAyB1nB,GAAoB6R,EAAiB,EACnF+Z,GAAwBwM,GAA4BnuB,GAAyB+f,EAAkB,EAC/Ftc,GAAgCie,GAAqCnf,GAA+Bof,EAAqB,EACzHnP,GAAkCG,GAAuClP,GAA+B5H,GAAoBuC,EAAuB,EACnJiR,GAA+BkD,GAAmC1S,GAAsB2S,GAAiC/O,GAA+B7K,GAAkBE,EAA2B,EACrMga,GAAoCI,GAAyCzF,GAAiC5R,GAAoBuC,EAAuB,EACzJkR,GAAiCuD,GAAqChT,GAAsBiT,GAAmCrF,GAAiC7U,GAAkBE,GAA6Bia,EAA8B,EAC7OgP,GAAsCI,GAA2CtD,GAAqB5e,GAAmClD,GAAsBgjB,EAAkB,EACjLrc,GAAiCoe,GAAsCjD,GAAqBtmB,GAAiBwpB,GAAqC9C,GAAkEE,EAA+D,EACnRyP,GAAmClb,GAAwC/S,GAAmB+C,GAAgC7H,GAAoB+E,GAAkBxC,EAAuB,EAC3LmR,GAAgCkE,GAAoC5T,GAAsBE,GAAkB6uB,GAAkClrB,GAAgC9K,GAAkBE,GAA6BoH,EAAiB,EAC9OmU,GAA4BiO,GAAiC9pB,GAAyBqL,EAAkB,EACxGuQ,GAA8BI,GAAmCH,GAA2BxY,GAAoBuC,EAAuB,EACvIoR,GAA2B2E,GAA+BtU,GAAsBuU,GAA6BC,GAA2Bzb,GAAkBE,GAA6BqY,EAAoB,EAC3M6E,GAA0BI,GAA+BzV,GAAmBsV,GAAuBpa,GAAoB+E,GAAkBxC,EAAuB,EAChKsR,GAAuBqG,GAA2BlW,GAAsBE,GAAkBiW,GAAyBC,GAAuBrd,GAAkBE,GAA6BqY,EAAoB,EAC7MkG,GAAqCkL,GAA0C/pB,EAAuB,EACtG4e,GAAuCK,GAA4C9W,GAAmB0W,GAAoCxb,GAAoB+E,GAAkBxC,EAAuB,EACvMuR,GAAoCwH,GAAwCtX,GAAsBE,GAAkBqX,GAAsCC,GAAoC7e,GAAyBI,GAAkBE,GAA6BqY,EAAoB,EAC1R4H,GAAyBE,GAA8BtY,GAAmB5D,GAAsBlB,GAAoB+E,GAAkBxC,EAAuB,EAC7JwR,GAAsBkJ,GAA0BjZ,GAAsBE,GAAkBgZ,GAAwBhc,GAAsBnE,GAAkBE,EAA2B,EACnL2pB,GAAiCO,GAAsC3Z,GAA0BrJ,GAAyB2D,GAAiCnL,EAAuB,EAClLoV,GAAkC+d,GAAsCpzB,GAAiBwE,GAAsB4G,GAAiCqpB,GAAgDjwB,GAAsBmC,EAAoC,CAAC,EAC3Pub,GAA8Be,GAAmCvb,GAAmCpE,GAAoBqD,GAAsCd,GAAyBwP,EAA+B,EACtN4M,GAA4BgI,GAAiCC,EAA8B,EAC3F5S,GAA2B0K,GAA+B1a,GAAsB2a,GAA2BC,GAA6B7hB,GAAkBE,GAA6BqY,EAAoB,EAC3MmM,GAAsB9Z,GAA2BzD,GAAkB0D,GAA+BC,GAAgCC,GAAiCnL,GAAyBoL,GAAgB9K,GAA6B+K,EAAkB,EAC3PqW,GAAkC,IAAI,QACtCpK,GAAqCsN,GAAyCC,GAAiCC,GAAqB9T,GAAwB1Q,GAA6BohB,GAAiCha,EAAiB,EAC3OspB,GAA6B5F,GAAkC/E,GAAqBtmB,GAAiB0mB,GAAkEC,GAA+DC,GAAiEG,EAAsD,EAC7VmK,GAA+BG,GAAoCjpB,GAAmB6oB,GAA4B3tB,GAAoB+E,GAAkBxC,EAAuB,EAC/K2R,GAA4BwZ,GAAgC1pB,GAAsBE,GAAkBypB,GAA4BC,GAA8B7wB,GAAkBE,GAA6BoH,EAAiB,EAC9NgoB,GAA6C1U,GAAkDvT,EAAiC,EAChIkoB,GAAkCK,GAAuCN,GAA4CloB,GAAyBjD,GAAsBqrB,GAAWrI,EAAkB,EACjMmE,GAA6B+D,GAAkCC,GAA4CloB,GAAyBmoB,GAAiCC,GAAWrI,GAAoBxd,GAA+BsB,EAAkB,EACrPkgB,GAA8BE,GAAmCzoB,GAAyCwE,GAAyByD,GAA+B1G,GAAsB4G,GAAiCugB,GAA4B1rB,GAAyBkD,GAA8CkI,GAAgBmc,EAAkB,EAC9VmK,GAAyBpG,GAA8BC,EAA2B,EAClFoG,GAA2BE,GAAgC1pB,GAAmB8C,GAA+BC,GAAgC3G,GAAsBmtB,GAAwBruB,GAAoBqD,GAAsC0B,GAAkBxC,GAAyBwP,EAA+B,EAC/ToC,GAAwBia,GAA4BpqB,GAAsBE,GAAkBmqB,GAAwBC,GAA0BvxB,GAAkBE,GAA6BqY,EAAoB,EACjN6Z,GAA2BvF,GAAgC/nB,EAAoB,EAC/EuS,GAA0B8a,GAA8BC,GAA0BpyB,GAAkB,IAAI,QAAWsyB,EAA2B,EAC9IlD,GAAqC/B,GAAyCxiB,GAA+BgK,GAAiC1Q,GAAsBmnB,GAA4B1rB,GAAyBunB,EAAkB,EAC3OmM,GAA+BpG,GAAoCkC,GAAoCxvB,EAAuB,EAC9H2zB,GAAiCE,GAAsC1rB,GAAmBurB,GAA8BrwB,GAAoB+E,GAAkBxC,EAAuB,EACrL8R,GAA8B+b,GAAkCpsB,GAAsBE,GAAkBmsB,GAA8BC,GAAgCvzB,GAAkBE,EAA2B,EACnNo0B,GAA+BE,GAAoClJ,GAA4BroB,GAAoBuC,EAAuB,EAC1I+R,GAA4B8c,GAAgCptB,GAAsBG,GAAyBkkB,GAA4BgJ,GAA8Bt0B,GAAkBE,GAA6BqY,EAAoB,EACxO0d,GAAkBtS,GAAsBpjB,EAAM,EAC9CT,GAAmCggB,GAAuCvf,EAAM,EAChF0gB,GAAiC,IAAI,QACrChhB,GAAuCmhB,GAA2CH,GAAgC3a,EAAoC,EAE/I8P,GAAwB6f,GAC/Bv2B,GAA4BC,GAAiBC,GAAyBsf,GAAqB3e,EAAM,EAAGT,GAAkCkgB,GAAkB/iB,EAAgB,EAAG+C,GAAkBC,GAAsCC,GAA6BC,GAAmC,IAAI,QAAW,IAAI,QAAW4zB,GAAkD5zB,GAAmCmG,EAAoC,EAE5b/F,EAAM,EACJ,OACAmc,GAAkB+G,GAAsB5S,GAAsB3Q,EAA2B,EAClF2W,GAAkB0F,GAAsBnW,GAAkBzG,GAAiBsc,GAAsBO,GAAqB,IAAI,QAAWxc,GAAkB0c,GAAiB7W,GAAqD8W,GAAoBnW,GAAmCC,EAA4C,EACvU4C,GAA8B8M,GAAkCC,GAAuBC,GAAyBC,GAAwBC,GAAkCC,GAA6BC,GAA8BC,GAAgCC,GAA+BC,GAA0BC,GAAiBC,GAAsBC,GAAmCC,GAAqBC,GAA0BC,GAAoCC,GAA2BC,GAAuBC,GAAyBC,GAA6BC,EAAyB,EAC5lBhO,GAAyCqa,GAA6C3c,GAAsB4c,GAAyC7jB,GAAkBE,EAA2B,EAClMsJ,GAA6Cua,GAAiD9c,GAAsB+c,GAA6ChkB,GAAkBE,EAA2B,EAC9MuJ,GAAwCya,GAA4Cjd,GAAsBkd,GAAwCnkB,GAAkBE,EAA2B,EAC/LokB,GAA8CwG,GAAmD1jB,GAAyBlH,EAA2B,EACrJwJ,GAA6C2a,GAAiDpd,GAAsBqd,GAA6CtkB,EAAgB,EACjLk2B,GAA0B9sB,GAA8BC,GAA6BjC,GAAyBxH,GAAyB0J,GAAoBC,GAAwCC,GAA4CC,GAAuCC,GAA4CC,EAA6B,EAE/VnF,GAAiC6c,GAAqCC,EAA+B,EACrGjP,GAAgC9N,GAAoCC,EAA8B,EAClGoQ,GAAyB6F,GAA6B3V,EAAoB,EAC1EgQ,GAAmCgJ,GAAuCtZ,EAA8B,EACxGuQ,GAA4BuJ,GAAgCxZ,EAAoB,EAChF6b,GAAoC,IAAI,QACxCqH,GAAkCtH,GAAsCC,GAAmClf,EAAc,EACzHylB,GAAoCa,GAAyCnT,GAAwB9P,GAAsBsC,GAAyByD,GAA+BgK,GAAiC/J,GAAgC3G,GAAsB4G,GAAiCnL,GAAyBmV,GAA2BjV,GAAkCkoB,GAAiCb,EAAkB,EACpb5U,GAA+B0U,GAAoC7f,GAAyB8f,GAAmC/iB,GAAsBvE,GAAyBunB,EAAkB,EAChM7U,GAAiCqC,GAAsC5M,GAAmB6M,GAAwBvN,GAAmCwD,GAA+BgK,GAAiC/J,GAAgC3G,GAAsB2Q,GAAkCC,GAA2BjV,GAAkCmD,GAAoB9C,GAAmCmG,GAAsC0B,GAAkBxC,GAAyBwP,EAA+B,EACjhBxC,GAA+BwO,GAAmCC,EAA8B,EAChGvO,GAAkCwgB,GAAsCvS,EAAiC,EAEzGwV,GAA8BF,GAC9B7jB,GAAkCC,GAA+BpL,GAAsBE,GAAkBmL,GAAgCC,GAA8BxP,GAAyByP,GAA8BxS,GAAkBE,GAA6BC,GAAmCsS,GAAiCC,GAAiCC,GAAwCrL,EAAiB,EAC3a,OAiBAkpB,GAAkCxU,GAAsCpc,GAAyB0G,EAAoC,EACrImqB,GAAiB2C,GAAqBhtB,GAAkBzG,GAAiBgzB,GAAsBnuB,GAAgCwQ,GAAiCnP,GAAqDW,GAAmCC,EAA4C,EAGpS2vB,GAAiC7F,GAAqClnB,GAA6B1J,GAAiByH,GAAyBopB,GAAiCC,EAAc,EAOrL4F,GAAoBrT,GAAwBxkB,GAAeqS,EAAoB,EAC/EylB,GAAiBpT,GAAqB7kB,GAAkB2Q,EAAiB,EACzEunB,GAAkBnT,GAAsB7kB,GAAmBuS,EAAkB,EAC7E0lB,GAA2BnT,GAA+B7kB,GAAe0B,EAA2B,ECxW1G,SAASu2B,GAAQ/8D,EAAK,CACzB,OAAO,OAAOA,EAAQ,GAC1B,CAIO,SAASg9D,GAAUh9D,EAAK,CAC3B,MAAO,CAAC+8D,GAAQ/8D,CAAG,CACvB,CAIO,SAAS1B,GAAW0B,EAAK,CAC5B,OAAO,OAAOA,GAAQ,UAC1B,CAIO,SAASi9D,GAASj9D,EAAK,CAC1B,OAAQ,OAAOA,GAAQ,QAC3B,CAIO,SAASvB,GAASuB,EAAK,CAC1B,OAAQ,OAAO,UAAU,SAAS,KAAKA,CAAG,IAAM,mBAAqBA,EAAI,cAAgB,MAC7F,CAIO,SAAS+7B,GAAU/7B,EAAK,CAC3B,OAAQ,OAAOA,GAAQ,SAC3B,CAIO,SAAShC,GAAQgC,EAAK,CACzB,OAAQ,MAAM,QAAQA,CAAG,CAC7B,CAIO,SAASzB,GAASyB,EAAK,CAC1B,OAAQ,OAAOA,GAAQ,QAC3B,CAKO,SAASk9D,GAAOl9D,EAAK,CACxB,OAAOzB,GAASyB,CAAG,GAAK,sCAAsC,KAAKA,CAAG,CAC1E,CChDO,SAASm9D,GAAOC,EAAWpiB,EAAO,CACrC,GAAI,CAACoiB,EACD,MAAM,IAAI,MAAMpiB,CAAK,CAE7B,CAIO,SAASqiB,GAAYz+D,EAAO0+D,EAAKC,EAAM,IAAU,CACpD,GAAI,EAAED,GAAO1+D,GAASA,GAAS2+D,GAC3B,MAAM,IAAI,WAAW,yBAAyBD,CAAG,KAAKC,CAAG,WAAW3+D,CAAK,EAAE,CAEnF,CAIO,SAAS4+D,GAAqBl3C,EAAS,CAEtC,CAACA,EAAQ,WAAaA,EAAQ,QAAU,WACxCm3C,GAAK,6FAA+F,CAE5G,CAIA,IAAIC,GAA4B,GAC5BC,GAA0B,GAIvB,SAASC,GAAuBC,EAAgB,CACnDH,GAA4BG,CAChC,CAIO,SAASC,GAAuBl9B,EAAM,CACrCm8B,GAAQn8B,CAAI,GAAK88B,IAA6B,CAACC,KAC/CA,GAA0B,GAC1BF,GAAK,qJAAqJ,EAElK,CAIA,IAAIM,GAAgB,QAUb,SAASC,MAAO33D,EAAM,CACzB03D,GAAc,IAAI,GAAG13D,CAAI,CAC7B,CAIO,SAASo3D,MAAQp3D,EAAM,CAC1B03D,GAAc,KAAK,GAAG13D,CAAI,CAC9B,CC/DO,SAAS43D,GAAmB/rD,EAAS,CACxC,OAAO,IAAIgsD,GAAgBhsD,CAAO,CACtC,CAIO,SAASisD,GAA0BC,EAAUnxB,EAAQE,EAAY,CACpE,OAAO,IAAIkxB,GAAuBD,EAAUnxB,EAAQE,CAAU,CAClE,CAKO,MAAMmxB,GAAY,OAAO,MAAS,SAAW,KAAO,KAK9CC,GAAkBD,KAC1BA,GAAU,eAAe,cAAc,GAAKA,GAAU,eAAe,oBAAoB,GACvF,SAASE,GAAuBl4C,EAASllB,EAAM8Q,EAAS,CAC3D,OAAAirD,GAAOH,GAAUyB,EAAmB,EAAG,+DAA+D,EAE/F,IAAIA,GAAoBn4C,EAASllB,EAAM8Q,CAAO,CACzD,CCwBO,SAASwsD,GAAWC,EAAY35D,EAAQzH,EAAKqhE,EAAM,CACtD,IAAIr/D,EAAI,UAAU,OAAQ,EAAIA,EAAI,EAAIyF,EAAS45D,IAAS,KAAOA,EAAO,OAAO,yBAAyB55D,EAAQzH,CAAG,EAAIqhE,EAAMhkC,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY,EAAI,QAAQ,SAAS+jC,EAAY35D,EAAQzH,EAAKqhE,CAAI,MACxH,SAAS/gE,EAAI8gE,EAAW,OAAS,EAAG9gE,GAAK,EAAGA,KAAS+8B,EAAI+jC,EAAW9gE,CAAC,KAAG,GAAK0B,EAAI,EAAIq7B,EAAE,CAAC,EAAIr7B,EAAI,EAAIq7B,EAAE51B,EAAQzH,EAAK,CAAC,EAAIq9B,EAAE51B,EAAQzH,CAAG,IAAM,GAChJ,OAAOgC,EAAI,GAAK,GAAK,OAAO,eAAeyF,EAAQzH,EAAK,CAAC,EAAG,CAChE,CAUO,SAASshE,GAAU31D,EAAS41D,EAAYC,EAAGC,EAAW,CACzD,SAASC,EAAMrgE,EAAO,CAAE,OAAOA,aAAiBmgE,EAAIngE,EAAQ,IAAImgE,EAAE,SAAUv+C,EAAS,CAAEA,EAAQ5hB,CAAK,CAAE,CAAE,CAAI,CAC5G,OAAO,IAAKmgE,IAAMA,EAAI,UAAU,SAAUv+C,EAAS+vB,EAAQ,CACvD,SAAS2uB,EAAUtgE,EAAO,CAAE,GAAI,CAAEugE,EAAKH,EAAU,KAAKpgE,CAAK,CAAC,CAAE,OAAU82B,EAAG,CAAE6a,EAAO7a,CAAC,EAAM,CAC3F,SAAS0pC,EAASxgE,EAAO,CAAE,GAAI,CAAEugE,EAAKH,EAAU,MAASpgE,CAAK,CAAC,CAAI,OAAQ82B,EAAG,CAAE6a,EAAO7a,CAAC,EAAM,CAC9F,SAASypC,EAAK13D,EAAQ,CAAEA,EAAO,KAAO+Y,EAAQ/Y,EAAO,KAAK,EAAIw3D,EAAMx3D,EAAO,KAAK,EAAE,KAAKy3D,EAAWE,CAAQ,CAAI,CAC9GD,GAAMH,EAAYA,EAAU,MAAM91D,EAAS41D,GAAc,CAAE,IAAG,KAAI,CAAE,CAC5E,CAAK,CACL,CCzEO,MAAMO,EAAO,CAChB,YAAYp2D,EAAUhE,EAAMq6D,EAAgBC,EAAmB,CAC3D,KAAK,UAAYt2D,EACjB,KAAK,MAAQhE,EACb,KAAK,uBAAyB,KAAK,IAAI,KAAOs6D,GAAqB,OAAQ,IAAI,EAC/E,KAAK,eAAiBD,EAEtB,KAAK,aAAY,CACpB,CAID,eAAgB,CACZ,MAAM53B,EAAO,IAAI,KAAK,CACD;AAAA;AAAA,yBAEJ,KAAK,gBAAkB,KAAM,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAchE,EAAW,CAAE,KAAM,iBAAiB,CAAE,EACxB83B,EAAU,IAAI,gBAAgB93B,CAAI,EAClC+3B,EAAS,IAAI,OAAOD,CAAO,EACjCC,EAAO,UAAY,KAAK,UAAU,KAAK,IAAI,EAC3C,KAAK,QAAUA,CAClB,CAID,gBAAiB,CACb,KAAK,SAAW,WAAW,IAAM,CAC7B,KAAK,eAAc,EACnB,KAAK,UAAS,CAC1B,EAAW,KAAK,gBAAkB,GAAI,CACjC,CAID,cAAe,CACX,GAAI,KAAK,QAAU,SACf,GAAI,CACA,KAAK,cAAa,CACrB,MACS,CAEN,KAAK,MAAQ,UACb,KAAK,aAAY,CACpB,MAEI,KAAK,QAAU,WACpB,KAAK,eAAc,CAE1B,CAID,eAAgB,CACR,KAAK,UACL,aAAa,KAAK,QAAQ,EAE1B,KAAK,UACL,KAAK,QAAQ,YACb,KAAK,QAAQ,UAAY,KAEhC,CAID,IAAI,gBAAiB,CACjB,OAAO,KAAK,eACf,CACD,IAAI,eAAeC,EAAU,CACzB,IAAI35D,EACJ,KAAK,gBAAkB,KAAK,IAAI25D,EAAU,KAAK,sBAAsB,EACjE,KAAK,QAAU,YACd35D,EAAK,KAAK,WAAa,MAAQA,IAAO,QAAkBA,EAAG,YAAY,KAAK,gBAAkB,GAAI,EAE1G,CAID,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,KAAKd,EAAM,CACX,KAAK,cAAa,EAClB,KAAK,MAAQA,EACb,KAAK,aAAY,CACpB,CAID,SAAU,CACN,KAAK,cAAa,CACrB,CACL,CCzGO,SAAS06D,GAAa3/D,EAAK,CAC9B,OAAO68D,GAAgB78D,CAAG,CAC9B,CAIO,SAASyzC,GAAYzzC,EAAK,CAC7B,OAAO48D,GAAe58D,CAAG,CAC7B,CAIO,SAAS4/D,GAAsB5/D,EAAK,CACvC,OAAO88D,GAAyB98D,CAAG,CACvC,CAIO,SAAS6/D,GAAe7/D,EAAK,CAChC,OAAO28D,GAAkB38D,CAAG,CAChC,CAIO,SAAS8/D,GAAc9/D,EAAK,CAC/B,OAAOA,aAAegtC,EAC1B,CCzBA,SAAS+yB,GAAOxiE,EAAKyC,EAAK,CACtB,OAAOzC,IAAQ,SAAWoiE,GAAa3/D,CAAG,GAAKyzC,GAAYzzC,CAAG,GAAK8/D,GAAc9/D,CAAG,CACxF,CACO,SAASggE,GAAUh7D,KAAWi7D,EAAS,CAC1C,GAAI,CAACA,EAAQ,OACT,OAAOj7D,EAEX,MAAMiI,EAASgzD,EAAQ,QACvB,GAAIxhE,GAASuG,CAAM,GAAKvG,GAASwO,CAAM,EACnC,UAAW1P,KAAO0P,EACV8yD,GAAOxiE,EAAK0P,EAAO1P,CAAG,CAAC,EACvByH,EAAOzH,CAAG,EAAI0P,EAAO1P,CAAG,EAEnBkB,GAASwO,EAAO1P,CAAG,CAAC,GACpByH,EAAOzH,CAAG,GACX,OAAO,OAAOyH,EAAQ,CAAE,CAACzH,CAAG,EAAG,CAAE,EAAE,EAEvCyiE,GAAUh7D,EAAOzH,CAAG,EAAG0P,EAAO1P,CAAG,CAAC,GAGlC,OAAO,OAAOyH,EAAQ,CAAE,CAACzH,CAAG,EAAG0P,EAAO1P,CAAG,CAAC,CAAE,EAKxD,OAAOyiE,GAAUh7D,EAAQ,GAAGi7D,CAAO,CACvC,CAIO,SAASC,GAAWC,EAAQC,EAAQ,CACvC,OAAOD,EAAO,SAAWC,EAAO,QAAUD,EAAO,MAAM,CAACvsB,EAAShzB,IAAUw/C,EAAOx/C,CAAK,IAAMgzB,CAAO,CACxG,CAIO,SAASysB,EAAqBC,EAAUC,EAAWjsD,EAAO,GAAIksD,EAAQ,CACzE,MAAMC,EAAO,GACPp6D,EAAO,MAAM,KAAKk6D,CAAS,EAcjC,GAZI9hE,GAAS4H,EAAK,CAAC,CAAC,GAAKm6D,GAAU,CAAC,QAAQ,IAAIn6D,EAAK,CAAC,EAAGm6D,CAAM,IAEpC,OAAO,KAAKn6D,EAAK,CAAC,CAAC,EAAE,KAAK9I,GAAO,QAAQ,IAAI+iE,EAAU/iE,CAAG,CAAC,IAG9EyiE,GAAUS,EAAM,CAAE,CAACD,CAAM,EAAGn6D,EAAK,CAAC,CAAC,CAAE,EAErCiO,EAAK,OAAOA,EAAK,QAAQksD,CAAM,EAAG,CAAC,EAEnCn6D,EAAK,MAAK,IAGdA,EAAK,SAAW,GAAK5H,GAAS4H,EAAK,CAAC,CAAC,EACrC25D,GAAUS,EAAMp6D,EAAK,CAAC,CAAC,MAGvB,SAASxI,EAAI,EAAGA,EAAIyW,EAAK,OAAQzW,IACzBm/D,GAAU32D,EAAKxI,CAAC,CAAC,IACjB4iE,EAAKnsD,EAAKzW,CAAC,CAAC,EAAIwI,EAAKxI,CAAC,GAIlC,OAAOmiE,GAAUM,EAAUG,CAAI,CACnC,CAIO,SAASC,GAAwB3yD,EAAU,CAC9C,OAAOA,EAAS,YAAY,aAChC,CAKO,SAAS4yD,GAAWC,EAAO9/C,EAAU,CACxC,OAAIi8C,GAAQ6D,CAAK,EACN9/C,EAGA8/C,CAEf,CAIO,SAASC,GAAe3gE,EAAK4gE,EAAM,CACtC,OAAAA,EAAK,QAAQp4C,GAAQ,CACb,QAAQ,IAAIxoB,EAAKwoB,CAAI,GACrB,OAAOxoB,EAAIwoB,CAAI,CAE3B,CAAK,EACMxoB,CACX,CCjGA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeO,MAAM6gE,EAAK,CACd,aAAc,CAOV,KAAK,MAAQ,GAOb,KAAK,aAAe,EACvB,CAID,OAAO,aAAc,CACjB,MAAO,EACV,CAaD,OAAO16D,EAAM,EAGL,KAAK,OAAUi4D,IAAa,KAAK,aAAeA,GAAU,mBAC1DN,GAAI,KAAM,GAAG33D,CAAI,CAExB,CAID,SAAU,CACN,YAAK,aAAe,GACb,IACV,CAMD,IAAI,UAAW,CACX,OAAO,KAAK,YACf,CAOD,UAAW,CACP,OAAO,KAAK,IACf,CACL,CAIA06D,GAAK,QAAUr6C,GCjFf,MAAMs6C,GAAU,KAIT,SAASC,GAAGx/D,EAAGC,EAAG,CACrB,OAAOD,EAAIC,EAAIs/D,EACnB,CAIO,SAASE,GAAIz/D,EAAGC,EAAG,CACtB,OAAOu/D,GAAGx/D,EAAGC,CAAC,GAAKy/D,GAAG1/D,EAAGC,CAAC,CAC9B,CAIO,SAAS0/D,GAAG3/D,EAAGC,EAAG,CACrB,OAAOD,EAAIu/D,GAAUt/D,CACzB,CAIO,SAASy/D,GAAG1/D,EAAGC,EAAG,CACrB,OAAO,KAAK,IAAID,EAAIC,CAAC,EAAIs/D,EAC7B,CAIO,SAASK,GAAMziE,EAAO0iE,EAAK9iD,EAAK,CACnC,OAAO,KAAK,IAAI,KAAK,IAAI5f,EAAO4f,CAAG,EAAG8iD,CAAG,CAC7C,CCxBO,MAAMC,WAAiBR,EAAK,CAC/B,aAAc,CACV,QACA,KAAK,KAAO,WAIZ,KAAK,UAAY,GACjB,MAAM7uD,EAAUmuD,EAAqBkB,GAAS,YAAa,EAAE,UAAW,CAAC,QAAQ,CAAC,EAClF,KAAK,OAASrvD,EAAQ,OACtB,KAAK,WAAaA,EAAQ,UAC7B,CACD,OAAO,aAAc,CACjB,MAAO,CACH,OAAQ,IACR,WAAY,EACxB,CACK,CAID,IAAI,QAAS,CACT,OAAO,KAAK,UAAU,MACzB,CAKD,IAAIpB,EAAO,CAIP,GAFAqsD,GAAO,QAAQ,IAAIrsD,EAAO,MAAM,EAAG,6CAA6C,EAChFA,EAAM,KAAOA,EAAM,KAAK,QAAO,EAC3B,KAAK,YAAc,KAAK,OAAQ,CAChC,MAAM0wD,EAAY,KAAK,UAAU,KAAK,OAAS,CAAC,EAChDrE,GAAO+D,GAAIpwD,EAAM,KAAM0wD,EAAU,IAAI,EAAG,mEAAmE,EAC3G,KAAK,UAAU,KAAK1wD,CAAK,CAC5B,KACI,CACD,MAAM8P,EAAQ,KAAK,QAAQ9P,EAAM,IAAI,EACrC,KAAK,UAAU,OAAO8P,EAAQ,EAAG,EAAG9P,CAAK,CAC5C,CAED,GAAI,KAAK,OAAS,KAAK,OAAQ,CAC3B,MAAMH,EAAO,KAAK,OAAS,KAAK,OAChC,KAAK,UAAU,OAAO,EAAGA,CAAI,CAChC,CACD,OAAO,IACV,CAMD,OAAOG,EAAO,CACV,MAAM8P,EAAQ,KAAK,UAAU,QAAQ9P,CAAK,EAC1C,OAAI8P,IAAU,IACV,KAAK,UAAU,OAAOA,EAAO,CAAC,EAE3B,IACV,CAKD,IAAIggB,EAAM6gC,EAAQ,OAAQ,CACtB,MAAM7gD,EAAQ,KAAK,QAAQggB,EAAM6gC,CAAK,EACtC,OAAI7gD,IAAU,GACH,KAAK,UAAUA,CAAK,EAGpB,IAEd,CAKD,MAAO,CACH,OAAO,KAAK,UAAU,CAAC,CAC1B,CAID,OAAQ,CACJ,OAAO,KAAK,UAAU,OACzB,CAKD,SAASggB,EAAM6gC,EAAQ,OAAQ,CAC3B,MAAM7gD,EAAQ,KAAK,QAAQggB,EAAM6gC,CAAK,EACtC,OAAI7gD,EAAQ,EAAI,KAAK,UAAU,OACpB,KAAK,UAAUA,EAAQ,CAAC,EAGxB,IAEd,CAKD,UAAUggB,EAAM,CACZ,MAAMpO,EAAM,KAAK,UAAU,OAE3B,GAAIA,EAAM,GAAK,KAAK,UAAUA,EAAM,CAAC,EAAE,KAAOoO,EAC1C,OAAO,KAAK,UAAUpO,EAAM,CAAC,EAEjC,MAAM5R,EAAQ,KAAK,QAAQggB,CAAI,EAC/B,OAAIhgB,EAAQ,GAAK,EACN,KAAK,UAAUA,EAAQ,CAAC,EAGxB,IAEd,CAKD,OAAO8gD,EAAO,CACV,GAAI,KAAK,UAAU,OAAS,EAAG,CAC3B,IAAI9gD,EAAQ,KAAK,QAAQ8gD,CAAK,EAC9B,GAAI9gD,GAAS,EACT,GAAIugD,GAAG,KAAK,UAAUvgD,CAAK,EAAE,KAAM8gD,CAAK,EAAG,CAEvC,QAAS7jE,EAAI+iB,EAAO/iB,GAAK,GACjBsjE,GAAG,KAAK,UAAUtjE,CAAC,EAAE,KAAM6jE,CAAK,EADZ7jE,IAEpB+iB,EAAQ/iB,EAMhB,KAAK,UAAY,KAAK,UAAU,MAAM,EAAG+iB,CAAK,CACjD,MAEG,KAAK,UAAY,KAAK,UAAU,MAAM,EAAGA,EAAQ,CAAC,OAItD,KAAK,UAAY,EAExB,MACQ,KAAK,UAAU,SAAW,GAE3BsgD,GAAI,KAAK,UAAU,CAAC,EAAE,KAAMQ,CAAK,IACjC,KAAK,UAAY,IAGzB,OAAO,IACV,CAKD,aAAa9gC,EAAM,CACf,MAAMhgB,EAAQ,KAAK,QAAQggB,CAAI,EAC/B,OAAIhgB,GAAS,IACT,KAAK,UAAY,KAAK,UAAU,MAAMA,EAAQ,CAAC,GAE5C,IACV,CAMD,cAAc9P,EAAO,CACjB,MAAM8P,EAAQ,KAAK,UAAU,QAAQ9P,CAAK,EAC1C,OAAI8P,EAAQ,EACD,KAAK,UAAUA,EAAQ,CAAC,EAGxB,IAEd,CAOD,QAAQggB,EAAM6gC,EAAQ,OAAQ,CAC1B,GAAI,KAAK,UAAU,SAAW,EAC1B,MAAO,GAEX,IAAIE,EAAY,EAChB,MAAMnvC,EAAM,KAAK,UAAU,OAC3B,IAAI9iB,EAAM8iB,EACV,GAAIA,EAAM,GAAK,KAAK,UAAUA,EAAM,CAAC,EAAEivC,CAAK,GAAK7gC,EAC7C,OAAOpO,EAAM,EAEjB,KAAOmvC,EAAYjyD,GAAK,CAEpB,IAAIkyD,EAAW,KAAK,MAAMD,GAAajyD,EAAMiyD,GAAa,CAAC,EAC3D,MAAM7wD,EAAQ,KAAK,UAAU8wD,CAAQ,EAC/BC,EAAY,KAAK,UAAUD,EAAW,CAAC,EAC7C,GAAIT,GAAGrwD,EAAM2wD,CAAK,EAAG7gC,CAAI,EAAG,CAExB,QAAS/iC,EAAI+jE,EAAU/jE,EAAI,KAAK,UAAU,OAAQA,IAAK,CACnD,MAAMikE,EAAY,KAAK,UAAUjkE,CAAC,EAClC,GAAIsjE,GAAGW,EAAUL,CAAK,EAAG7gC,CAAI,EACzBghC,EAAW/jE,MAGX,MAEP,CACD,OAAO+jE,CACV,KACI,IAAIR,GAAGtwD,EAAM2wD,CAAK,EAAG7gC,CAAI,GAAKqgC,GAAGY,EAAUJ,CAAK,EAAG7gC,CAAI,EACxD,OAAOghC,EAEFX,GAAGnwD,EAAM2wD,CAAK,EAAG7gC,CAAI,EAE1BlxB,EAAMkyD,EAIND,EAAYC,EAAW,EAE9B,CACD,MAAO,EACV,CAKD,SAAS34D,EAAU84D,EAAa,EAAGC,EAAa,KAAK,UAAU,OAAS,EAAG,CACvE,KAAK,UAAU,MAAMD,EAAYC,EAAa,CAAC,EAAE,QAAQ/4D,CAAQ,CACpE,CAKD,QAAQA,EAAU,CACd,YAAK,SAASA,CAAQ,EACf,IACV,CAMD,cAAc23B,EAAM33B,EAAU,CAE1B,MAAM+4D,EAAa,KAAK,QAAQphC,CAAI,EACpC,OAAIohC,IAAe,IACf,KAAK,SAAS/4D,EAAU,EAAG+4D,CAAU,EAElC,IACV,CAMD,aAAaphC,EAAM33B,EAAU,CAEzB,MAAM84D,EAAa,KAAK,QAAQnhC,CAAI,EACpC,YAAK,SAAS33B,EAAU84D,EAAa,CAAC,EAC/B,IACV,CASD,eAAethC,EAAWJ,EAASp3B,EAAU,CACzC,IAAI84D,EAAa,KAAK,QAAQthC,CAAS,EACnCuhC,EAAa,KAAK,QAAQ3hC,CAAO,EACrC,OAAI0hC,IAAe,IAAMC,IAAe,IAChC,KAAK,UAAUD,CAAU,EAAE,OAASthC,IACpCshC,GAAc,GAGd,KAAK,UAAUC,CAAU,EAAE,OAAS3hC,IACpC2hC,GAAc,GAElB,KAAK,SAAS/4D,EAAU84D,EAAYC,CAAU,GAEzCD,IAAe,IACpB,KAAK,SAAS94D,EAAU,EAAG+4D,CAAU,EAElC,IACV,CAOD,YAAYphC,EAAM33B,EAAU,CAExB,IAAI84D,EAAa,KAAK,QAAQnhC,CAAI,EAElC,KAAOmhC,GAAc,GAAK,KAAK,UAAUA,CAAU,EAAE,MAAQnhC,GACzDmhC,IAEJ,YAAK,SAAS94D,EAAU84D,EAAa,CAAC,EAC/B,IACV,CAMD,cAAcnhC,EAAM33B,EAAU,CAE1B,MAAM+4D,EAAa,KAAK,QAAQphC,CAAI,EACpC,GAAIohC,IAAe,IAAMb,GAAG,KAAK,UAAUa,CAAU,EAAE,KAAMphC,CAAI,EAAG,CAChE,IAAImhC,EAAaC,EACjB,QAASnkE,EAAImkE,EAAYnkE,GAAK,GACtBsjE,GAAG,KAAK,UAAUtjE,CAAC,EAAE,KAAM+iC,CAAI,EADN/iC,IAEzBkkE,EAAalkE,EAMrB,KAAK,SAASiT,GAAS,CACnB7H,EAAS6H,CAAK,CAC9B,EAAeixD,EAAYC,CAAU,CAC5B,CACD,OAAO,IACV,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAY,GACV,IACV,CACL,CCvVA,MAAMC,GAAmB,GAIlB,SAASC,GAAc7xD,EAAI,CAC9B4xD,GAAiB,KAAK5xD,CAAE,CAC5B,CAIO,SAAS8xD,GAAkBvvD,EAAK,CAEnCqvD,GAAiB,QAAQ5xD,GAAMA,EAAGuC,CAAG,CAAC,CAC1C,CAIA,MAAMwvD,GAAqB,GAIpB,SAASC,GAAehyD,EAAI,CAC/B+xD,GAAmB,KAAK/xD,CAAE,CAC9B,CACO,SAASiyD,GAAa1vD,EAAK,CAE9BwvD,GAAmB,QAAQ/xD,GAAMA,EAAGuC,CAAG,CAAC,CAC5C,CCxBO,MAAM2vD,WAAgBxB,EAAK,CAC9B,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,SACf,CAMD,GAAGjwD,EAAO7H,EAAU,CAGhB,OADe6H,EAAM,MAAM,KAAK,EACzB,QAAQ0xD,GAAa,CACpBzF,GAAQ,KAAK,OAAO,IACpB,KAAK,QAAU,IAEd,KAAK,QAAQ,eAAeyF,CAAS,IACtC,KAAK,QAAQA,CAAS,EAAI,IAE9B,KAAK,QAAQA,CAAS,EAAE,KAAKv5D,CAAQ,CACjD,CAAS,EACM,IACV,CAMD,KAAK6H,EAAO7H,EAAU,CAClB,MAAMw5D,EAAgB,IAAIp8D,IAAS,CAE/B4C,EAAS,GAAG5C,CAAI,EAEhB,KAAK,IAAIyK,EAAO2xD,CAAa,CACzC,EACQ,YAAK,GAAG3xD,EAAO2xD,CAAa,EACrB,IACV,CAOD,IAAI3xD,EAAO7H,EAAU,CAEjB,OADe6H,EAAM,MAAM,KAAK,EACzB,QAAQ0xD,GAAa,CAIxB,GAHIzF,GAAQ,KAAK,OAAO,IACpB,KAAK,QAAU,IAEf,KAAK,QAAQ,eAAeyF,CAAS,EACrC,GAAIzF,GAAQ9zD,CAAQ,EAChB,KAAK,QAAQu5D,CAAS,EAAI,OAEzB,CACD,MAAME,EAAY,KAAK,QAAQF,CAAS,EACxC,QAAS3kE,EAAI6kE,EAAU,OAAS,EAAG7kE,GAAK,EAAGA,IACnC6kE,EAAU7kE,CAAC,IAAMoL,GACjBy5D,EAAU,OAAO7kE,EAAG,CAAC,CAGhC,CAEjB,CAAS,EACM,IACV,CAOD,KAAKiT,KAAUzK,EAAM,CACjB,GAAI,KAAK,SACD,KAAK,QAAQ,eAAeyK,CAAK,EAAG,CACpC,MAAM4xD,EAAY,KAAK,QAAQ5xD,CAAK,EAAE,MAAM,CAAC,EAC7C,QAAS,EAAI,EAAG0hB,EAAMkwC,EAAU,OAAQ,EAAIlwC,EAAK,IAC7CkwC,EAAU,CAAC,EAAE,MAAM,KAAMr8D,CAAI,CAEpC,CAEL,OAAO,IACV,CAID,OAAO,MAAMs8D,EAAQ,CAEjB,CAAC,KAAM,OAAQ,MAAO,MAAM,EAAE,QAAQvhE,GAAQ,CAC1C,MAAM06D,EAAW,OAAO,yBAAyByG,GAAQ,UAAWnhE,CAAI,EACxE,OAAO,eAAeuhE,EAAO,UAAWvhE,EAAM06D,CAAQ,CAClE,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAU,OACR,IACV,CACL,CC9GO,MAAM8G,WAAoBL,EAAQ,CACrC,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,UAAY,EACpB,CAMD,QAAS,CACL,MAAO,EACV,CACL,CCAO,MAAMM,WAAgBD,EAAY,CACrC,aAAc,CACV,IAAI78D,EAAI+8D,EACR,QACA,KAAK,KAAO,UAIZ,KAAK,WAAa,IAAI,IAItB,KAAK,UAAY,IAAIvB,GAIrB,KAAK,YAAc,EAInB,KAAK,aAAe,GAIpB,KAAK,cAAgB,GAIrB,KAAK,UAAY,GAOjB,KAAK,gBAAkB,KACvB,MAAMrvD,EAAUmuD,EAAqBwC,GAAQ,YAAW,EAAI,UAAW,CACnE,SACZ,CAAS,EACG3wD,EAAQ,SACR,KAAK,SAAWA,EAAQ,QAExB,KAAK,eAAiBnM,EAAK,UAAU,CAAC,KAAO,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAgB,KAGjG,KAAK,SAAWk4D,GAAmB,CAC/B,YAAa/rD,EAAQ,WACrC,CAAa,EACD,KAAK,aAAeA,EAAQ,aAEhC,KAAK,QAAU,IAAImtD,GAAO,KAAK,KAAK,KAAK,KAAM,MAAM,EAAGntD,EAAQ,YAAaA,EAAQ,eAAgB,KAAK,SAAS,UAAU,EAC7H,KAAK,GAAG,OAAQ,KAAK,aAAa,KAAK,IAAI,CAAC,EAE5C,KAAK,SAAS,cAAgB,IAAM,CAChC,KAAK,KAAK,cAAe,KAAK,KAAK,CAC/C,EAEQ,KAAO,GAAA4wD,EAAK,UAAU,CAAC,KAAO,MAAQA,IAAO,SAAkBA,EAAG,eAAe,gBAAgB,EAAK,aAAe,WAAW,EAAI5wD,EAAQ,SAC/I,CACD,OAAO,aAAc,CACjB,MAAO,CACH,YAAa,SACb,YAAa,cACb,UAAW,GACX,eAAgB,GAC5B,CACK,CAID,YAAa,CACT,OAAK,KAAK,eAENiwD,GAAkB,IAAI,EACtB,KAAK,aAAe,IAEjB,IACV,CAID,gBAAiB,CACb,OAAO,KAAK,SAAS,gBACxB,CACD,kBAAmB,CACf,OAAO,KAAK,SAAS,kBACxB,CACD,oBAAqB,CACjB,OAAO,KAAK,SAAS,oBACxB,CACD,oBAAqB,CACjB,OAAO,KAAK,SAAS,oBACxB,CACD,aAAaj1B,EAAkBD,EAAQE,EAAY,CAC/C,OAAO,KAAK,SAAS,aAAaD,EAAkBD,EAAQE,CAAU,CACzE,CACD,oBAAoB4Q,EAAgB,CAChC,OAAO,KAAK,SAAS,oBAAoBA,CAAc,CAC1D,CACD,sBAAsBC,EAAiB,CACnC,OAAO,KAAK,SAAS,sBAAsBA,CAAe,CAC7D,CACD,sBAAuB,CACnB,OAAO,KAAK,SAAS,sBACxB,CACD,iBAAkB,CACd,OAAO,KAAK,SAAS,iBACxB,CACD,YAAYC,EAAc,CACtB,OAAO,KAAK,SAAS,YAAYA,CAAY,CAChD,CACD,0BAA2B,CACvB,OAAO,KAAK,SAAS,0BACxB,CACD,YAAa,CACT,OAAO,KAAK,SAAS,YACxB,CACD,gBAAgB8kB,EAAa5kB,EAAU,CAEnC,OAAO,KAAK,SAAS,gBAAgB4kB,EAAa5kB,CAAQ,CAC7D,CACD,cAAe,CACX,OAAO,KAAK,SAAS,cACxB,CACD,mBAAmBC,EAAMC,EAAMC,EAAa,CACxC,OAAO,KAAK,SAAS,mBAAmBF,EAAMC,EAAMC,CAAW,CAClE,CACD,oBAAqB,CACjB,OAAO,KAAK,SAAS,oBACxB,CACD,kBAAmB,CACf,OAAO,KAAK,SAAS,kBACxB,CACD,wBAAwB0kB,EAAQ,CAC5B,OAAA7F,GAAO0C,GAAe,KAAK,QAAQ,EAAG,sCAAsC,EAC5D,KAAK,SACN,wBAAwBmD,CAAM,CAChD,CACD,yBAAyBpvB,EAAS,CAC9B,OAAAupB,GAAO0C,GAAe,KAAK,QAAQ,EAAG,sCAAsC,EAC5D,KAAK,SACN,yBAAyBjsB,CAAO,CAClD,CACD,8BAA+B,CAC3B,OAAAupB,GAAO0C,GAAe,KAAK,QAAQ,EAAG,sCAAsC,EAC5D,KAAK,SACN,8BAClB,CACD,gBAAgBthB,EAAW,CACvB,OAAO,KAAK,SAAS,gBAAgBA,CAAS,CACjD,CAID,IAAI,aAAc,CACd,OAAO,KAAK,SAAS,WACxB,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,SAAS,KACxB,CAID,IAAI,YAAa,CACb,OAAO,KAAK,SAAS,UACxB,CAID,IAAI,UAAW,CACX,YAAK,WAAU,EACR,KAAK,SACf,CACD,IAAI,SAASz7C,EAAG,CACZq6D,GAAO,CAAC,KAAK,aAAc,kDAAkD,EAC7E,KAAK,UAAYr6D,CACpB,CAID,IAAI,WAAY,CACZ,YAAK,WAAU,EACR,KAAK,UACf,CACD,IAAI,UAAUmgE,EAAG,CACb9F,GAAO,CAAC,KAAK,aAAc,mDAAmD,EAC9E,KAAK,WAAa8F,CACrB,CAID,IAAI,MAAO,CACP,YAAK,WAAU,EACR,KAAK,KACf,CACD,IAAI,KAAKroC,EAAG,CACRuiC,GAAO,CAAC,KAAK,aAAc,0CAA0C,EACrE,KAAK,MAAQviC,CAChB,CAID,IAAI,aAAc,CACd,YAAK,WAAU,EACR,KAAK,YACf,CACD,IAAI,YAAYA,EAAG,CACfuiC,GAAO,CAAC,KAAK,aAAc,qDAAqD,EAChF,KAAK,aAAeviC,CACvB,CAKD,uBAAuBx5B,EAAM8Q,EAAS,CAClC,OAAOssD,GAAuB,KAAK,WAAYp9D,EAAM8Q,CAAO,CAC/D,CAKD,sBAAsBqzB,EAAK,CACvB,OAAOs5B,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD1B,GAAOH,GAAU,KAAK,WAAW,YAAY,EAAG,6EAA6E,EACxH,KAAK,kBACN,KAAK,gBAAkB,KAAK,WAAW,aAAa,UAAUz3B,CAAG,GAErE,MAAM,KAAK,eACvB,CAAS,CACJ,CAID,kBAAmB,CACf,OAAOs5B,GAAU,KAAM,OAAQ,OAAQ,WAAa,EAC/C,MAAM,KAAK,iBAAmB,KAAK,gBAAkB,QAAQ,SAC1E,CAAS,CACJ,CAWD,IAAI,gBAAiB,CACjB,OAAO,KAAK,QAAQ,cACvB,CACD,IAAI,eAAea,EAAU,CACzB,KAAK,QAAQ,eAAiBA,CACjC,CAKD,IAAI,aAAc,CACd,OAAO,KAAK,QAAQ,IACvB,CACD,IAAI,YAAYz6D,EAAM,CAClB,KAAK,QAAQ,KAAOA,CACvB,CAOD,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,UAAU27B,EAAM,CAChB,KAAK,WAAaA,EAElB,KAAK,eAAiBA,EAAQA,EAAO,EAAK,GAC7C,CAgBD,IAAI,aAAc,CACd,OAAO,KAAK,YACf,CAID,IAAI,YAAa,CACb,OAAO,KAAK,QACf,CAQD,KAAM,CACF,OAAO,KAAK,SAAS,YAAc,KAAK,UAC3C,CAQD,WAAY,CACR,OAAO,KAAK,SAAS,WACxB,CAKD,QAAS,CACL,OAAIi/B,GAAe,KAAK,QAAQ,EACrB,KAAK,SAAS,SAGd,QAAQ,SAEtB,CAKD,OAAQ,CACJ,OAAOhB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAC5CgB,GAAe,KAAK,QAAQ,GAAM,KAAK,QAAU,UAAa,CAAC,KAAK,gBACpE,KAAK,cAAgB,GACrB,MAAM,KAAK,SAAS,SAEpB,KAAK,cACLyC,GAAa,IAAI,CAEjC,CAAS,CACJ,CAID,YAAYtlE,EAAK,CACb,GAAI,KAAK,WAAW,IAAIA,CAAG,EACvB,OAAO,KAAK,WAAW,IAAIA,CAAG,EAE7B,CACD,MAAM00C,EAAS,KAAK,SAAS,aAAa,EAAG,IAAK,KAAK,SAAS,UAAU,EACpE/zC,EAAM+zC,EAAO,eAAe,CAAC,EACnC,QAAS7zC,EAAI,EAAGA,EAAIF,EAAI,OAAQE,IAC5BF,EAAIE,CAAC,EAAIb,EAEb,MAAMkmE,EAAW,KAAK,SAAS,mBAAkB,EACjD,OAAAA,EAAS,aAAe,EACxBA,EAAS,iBAAmB,WAC5BA,EAAS,OAASxxB,EAClBwxB,EAAS,KAAO,GAChBA,EAAS,MAAM,CAAC,EAChB,KAAK,WAAW,IAAIlmE,EAAKkmE,CAAQ,EAC1BA,CACV,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACb,KAAK,UAAU,UACf,OAAO,KAAK,KAAK,UAAU,EAAE,IAAKlmE,GAAQ,KAAK,WAAWA,CAAG,EAAE,WAAY,GAC3E,KAAK,MAAK,EACH,IACV,CAQD,cAAe,CACX,MAAMmmE,EAAM,KAAK,MACjB,IAAIC,EAAa,KAAK,UAAU,KAAI,EACpC,KAAO,KAAK,UAAU,QAAUA,GAAcA,EAAW,MAAQD,GAE7DC,EAAW,SAAQ,EAEnB,KAAK,UAAU,QAEfA,EAAa,KAAK,UAAU,MAEnC,CAQD,WAAWlkE,EAAIy6B,EAAS,CACpB,KAAK,cACL,MAAMwpC,EAAM,KAAK,MACjB,YAAK,UAAU,IAAI,CACf,SAAUjkE,EACV,GAAI,KAAK,YACT,KAAMikE,EAAMxpC,CACxB,CAAS,EACM,KAAK,WACf,CAKD,aAAanqB,EAAI,CACb,YAAK,UAAU,QAASsB,GAAU,CAC1BA,EAAM,KAAOtB,GACb,KAAK,UAAU,OAAOsB,CAAK,CAE3C,CAAS,EACM,IACV,CAID,cAActB,EAAI,CACd,OAAO,KAAK,aAAaA,CAAE,CAC9B,CAID,YAAYtQ,EAAIwgE,EAAU,CACtB,MAAMlwD,EAAK,EAAE,KAAK,YACZ6zD,EAAa,IAAM,CACrB,MAAMF,EAAM,KAAK,MACjB,KAAK,UAAU,IAAI,CACf,SAAU,IAAM,CAEZjkE,IAEAmkE,GACH,EACD,GAAA7zD,EACA,KAAM2zD,EAAMzD,CAC5B,CAAa,CACb,EAEQ,OAAA2D,IACO7zD,CACV,CACL,CC1dO,MAAM8zD,WAAqBV,EAAY,CAC1C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,UAAY,EACjB,KAAK,YAAc,EACnB,KAAK,UAAY,EACpB,CAID,gBAAiB,CACb,MAAO,EACV,CACD,kBAAmB,CACf,MAAO,EACV,CACD,oBAAqB,CACjB,MAAO,EACV,CACD,oBAAqB,CACjB,MAAO,EACV,CACD,aAAaW,EAAmBC,EAASC,EAAa,CAClD,MAAO,EACV,CACD,oBAAoBC,EAAiB,CACjC,MAAO,EACV,CACD,sBAAsBC,EAAkB,CACpC,MAAO,EACV,CACD,sBAAuB,CACnB,MAAO,EACV,CACD,iBAAkB,CACd,MAAO,EACV,CACD,YAAYC,EAAe,CACvB,MAAO,EACV,CACD,0BAA2B,CACvB,MAAO,EACV,CACD,YAAa,CACT,MAAO,EACV,CACD,gBAAgBC,EAAcC,EAAW,CACrC,MAAO,EACV,CACD,cAAe,CACX,MAAO,EACV,CACD,mBAAmBC,EAAOC,EAAOC,EAAc,CAC3C,MAAO,EACV,CACD,oBAAqB,CACjB,MAAO,EACV,CACD,kBAAmB,CACf,MAAO,EACV,CACD,wBAAwBC,EAAS,CAC7B,MAAO,EACV,CACD,yBAAyBC,EAAU,CAC/B,MAAO,EACV,CACD,8BAA+B,CAC3B,MAAO,EACV,CACD,gBAAgBC,EAAY,CACxB,OAAO,QAAQ,QAAQ,EAAE,CAC5B,CAID,uBAAuBC,EAAOC,EAAU,CACpC,MAAO,EACV,CACD,IAAI,YAAa,CACb,MAAO,EACV,CACD,sBAAsBC,EAAM,CACxB,OAAO1F,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAO,QAAQ,SAC3B,CAAS,CACJ,CACD,QAAS,CACL,OAAO,QAAQ,SAClB,CACD,WAAW2F,EAAKC,EAAU,CACtB,MAAO,EACV,CACD,aAAa/xD,EAAK,CACd,OAAO,IACV,CACD,YAAY8xD,EAAKE,EAAW,CACxB,MAAO,EACV,CACD,cAAchyD,EAAK,CACf,OAAO,IACV,CACD,YAAYiyD,EAAM,CACd,MAAO,EACV,CACD,IAAI,aAAc,CACd,MAAO,EACV,CACD,IAAI,OAAQ,CACR,MAAO,EACV,CACD,IAAI,YAAa,CACb,MAAO,EACV,CACD,IAAI,UAAW,CACX,MAAO,EACV,CACD,IAAI,WAAY,CACZ,MAAO,EACV,CACD,IAAI,MAAO,CACP,MAAO,EACV,CACD,IAAI,KAAKC,EAAI,CAAG,CAChB,IAAI,aAAc,CACd,MAAO,EACV,CACD,IAAI,YAAYA,EAAI,CAAG,CACvB,KAAM,CACF,MAAO,EACV,CACD,WAAY,CACR,MAAO,EACV,CACL,CCpIO,SAASC,GAAS7/D,EAAQ82D,EAAU,CACnC99D,GAAQ89D,CAAQ,EAChBA,EAAS,QAAQl/D,GAAOioE,GAAS7/D,EAAQpI,CAAG,CAAC,EAG7C,OAAO,eAAeoI,EAAQ82D,EAAU,CACpC,WAAY,GACZ,SAAU,EACtB,CAAS,CAET,CAIO,SAASgJ,GAAS9/D,EAAQ82D,EAAU,CACnC99D,GAAQ89D,CAAQ,EAChBA,EAAS,QAAQl/D,GAAOkoE,GAAS9/D,EAAQpI,CAAG,CAAC,EAG7C,OAAO,eAAeoI,EAAQ82D,EAAU,CACpC,SAAU,EACtB,CAAS,CAET,CACO,MAAMiJ,GAAO,IAAM,CAE1B,ECbO,MAAMC,WAAwBjE,EAAK,CACtC,aAAc,CACV,QACA,KAAK,KAAO,kBAIZ,KAAK,OAASgE,GACd,MAAM7yD,EAAUmuD,EAAqB2E,GAAgB,YAAa,EAAE,UAAW,CAAC,MAAO,SAAU,SAAS,CAAC,EAC3G,KAAK,QAAU9yD,EAAQ,QACvB,KAAK,OAASA,EAAQ,OAClB3T,GAAS2T,EAAQ,GAAG,EAEpB,KAAK,KAAKA,EAAQ,GAAG,EAAE,MAAMA,EAAQ,OAAO,EAEvCA,EAAQ,KACb,KAAK,IAAIA,EAAQ,GAAG,CAE3B,CACD,OAAO,aAAc,CACjB,MAAO,CACH,QAAS6yD,GACT,OAAQA,GACR,QAAS,EACrB,CACK,CAID,IAAI,YAAa,CACb,OAAI,KAAK,QACE,KAAK,QAAQ,WAGbE,GAAY,EAAC,UAE3B,CAID,IAAIvzB,EAAQ,CACR,OAAIA,aAAkBszB,GAEdtzB,EAAO,OACP,KAAK,QAAUA,EAAO,MAItBA,EAAO,OAAS,IAAM,CAClB,KAAK,IAAIA,CAAM,EACf,KAAK,OAAO,IAAI,CACpC,EAIY,KAAK,QAAUA,EAGf,KAAK,WACL,KAAK,SAAQ,EAEV,IACV,CAID,KAAM,CACF,OAAO,KAAK,OACf,CAOD,KAAKnM,EAAK,CACN,OAAOs5B,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMqG,EAAcF,GAAgB,KAAKz/B,CAAG,EAAE,KAAM+G,GAAgB,CAChE,KAAK,IAAIA,CAAW,EAEpB,KAAK,OAAO,IAAI,CAChC,CAAa,EACD04B,GAAgB,UAAU,KAAKE,CAAW,EAC1C,GAAI,CACA,MAAMA,CACT,QACO,CAEJ,MAAMtkD,EAAQokD,GAAgB,UAAU,QAAQE,CAAW,EAC3DF,GAAgB,UAAU,OAAOpkD,EAAO,CAAC,CAC5C,CACD,OAAO,IACnB,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAU,OACR,IACV,CAMD,UAAU+qB,EAAO,CACb,MAAMw5B,EAAqBnnE,GAAQ2tC,CAAK,GAAKA,EAAM,CAAC,EAAE,OAAS,EACzDyyB,EAAW+G,EAAqBx5B,EAAM,OAAS,EAC/CnZ,EAAM2yC,EACNx5B,EAAM,CAAC,EAAE,OACTA,EAAM,OACNrlB,EAAU2+C,KACVvzB,EAASprB,EAAQ,aAAa83C,EAAU5rC,EAAKlM,EAAQ,UAAU,EAC/D8+C,EAAoB,CAACD,GAAsB/G,IAAa,EACxD,CAACzyB,CAAK,EACNA,EACN,QAAS,EAAI,EAAG,EAAIyyB,EAAU,IAC1B1sB,EAAO,cAAc0zB,EAAkB,CAAC,EAAG,CAAC,EAEhD,YAAK,QAAU1zB,EACR,IACV,CAKD,OAAO2zB,EAAS,CACZ,GAAIpI,GAASoI,CAAO,EAChB,KAAK,UAAU,KAAK,QAAQA,CAAO,CAAC,MAEnC,CACD,IAAIC,EAAc,IAAI,aAAa,KAAK,MAAM,EAC9C,MAAMC,EAAc,KAAK,iBACzB,QAAS/4B,EAAU,EAAGA,EAAU+4B,EAAa/4B,IAAW,CACpD,MAAMg5B,EAAe,KAAK,QAAQh5B,CAAO,EACzC,QAAS3uC,EAAI,EAAGA,EAAI2nE,EAAa,OAAQ3nE,IACrCynE,EAAYznE,CAAC,GAAK2nE,EAAa3nE,CAAC,CAEvC,CAEDynE,EAAcA,EAAY,IAAKvwB,GAAWA,EAASwwB,CAAW,EAC9D,KAAK,UAAUD,CAAW,CAC7B,CACD,OAAO,IACV,CAMD,QAAQ94B,EAAS,CACb,GAAIywB,GAASzwB,CAAO,EAChB,OAAO,KAAK,eAAeA,CAAO,EAEjC,GAAI,KAAK,mBAAqB,EAC/B,OAAO,KAAK,QAAQ,CAAC,EAEpB,CACD,MAAMvrC,EAAM,GACZ,QAAS1B,EAAI,EAAGA,EAAI,KAAK,iBAAkBA,IACvC0B,EAAI1B,CAAC,EAAI,KAAK,eAAeA,CAAC,EAElC,OAAO0B,CACV,CACJ,CAMD,eAAeurC,EAAS,CACpB,OAAI,KAAK,QACE,KAAK,QAAQ,eAAeA,CAAO,EAGnC,IAAI,aAAa,CAAC,CAEhC,CAOD,MAAM/8B,EAAOC,EAAM,KAAK,SAAU,CAC9BytD,GAAO,KAAK,OAAQ,sBAAsB,EAC1C,MAAMsI,EAAe,KAAK,MAAMh2D,EAAQ,KAAK,UAAU,EACjDi2D,EAAa,KAAK,MAAMh2D,EAAM,KAAK,UAAU,EACnDytD,GAAOsI,EAAeC,EAAY,+CAA+C,EACjF,MAAMz4B,EAASy4B,EAAaD,EACtBE,EAAYV,GAAY,EAAC,aAAa,KAAK,iBAAkBh4B,EAAQ,KAAK,UAAU,EAC1F,QAAST,EAAU,EAAGA,EAAU,KAAK,iBAAkBA,IACnDm5B,EAAU,cAAc,KAAK,eAAen5B,CAAO,EAAE,SAASi5B,EAAcC,CAAU,EAAGl5B,CAAO,EAEpG,OAAO,IAAIw4B,GAAgBW,CAAS,CACvC,CAID,UAAW,CACP,GAAI,KAAK,OACL,QAAS9nE,EAAI,EAAGA,EAAI,KAAK,iBAAkBA,IACvC,KAAK,eAAeA,CAAC,EAAE,QAAO,EAGtC,OAAO,IACV,CAID,IAAI,QAAS,CACT,OAAO,KAAK,OAAS,CACxB,CAID,IAAI,UAAW,CACX,OAAI,KAAK,QACE,KAAK,QAAQ,SAGb,CAEd,CAID,IAAI,QAAS,CACT,OAAI,KAAK,QACE,KAAK,QAAQ,OAGb,CAEd,CAID,IAAI,kBAAmB,CACnB,OAAI,KAAK,QACE,KAAK,QAAQ,iBAGb,CAEd,CAID,IAAI,SAAU,CACV,OAAO,KAAK,SACf,CACD,IAAI,QAAQ+nE,EAAK,CACT,KAAK,YAAcA,IACnB,KAAK,UAAYA,EACjB,KAAK,SAAQ,EAEpB,CAOD,OAAO,UAAUj6B,EAAO,CACpB,OAAO,IAAIq5B,GAAe,EAAG,UAAUr5B,CAAK,CAC/C,CAMD,OAAO,QAAQpG,EAAK,CAChB,OAAOs5B,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAEhD,OAAO,MADQ,IAAImG,KACC,KAAKz/B,CAAG,CACxC,CAAS,CACJ,CAID,OAAO,KAAKA,EAAK,CACb,OAAOs5B,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAEhD,MAAM9gD,EAAUwnB,EAAI,MAAM,qBAAqB,EAC/C,GAAIxnB,EAAS,CACT,MAAM8nD,EAAa9nD,EAAQ,CAAC,EAAE,MAAM,GAAG,EACvC,IAAI+nD,EAAYD,EAAW,CAAC,EAC5B,UAAWE,KAAOF,EACd,GAAIb,GAAgB,aAAae,CAAG,EAAG,CACnCD,EAAYC,EACZ,KACH,CAELxgC,EAAMA,EAAI,QAAQxnB,EAAQ,CAAC,EAAG+nD,CAAS,CAC1C,CAED,MAAME,EAAUhB,GAAgB,UAAY,IACxCA,GAAgB,QAAQ,SAAS,GAAG,EAClCA,GAAgB,QAChBA,GAAgB,QAAU,IAE1BiB,EAAW,SAAS,cAAc,GAAG,EAC3CA,EAAS,KAAOD,EAAUzgC,EAC1B0gC,EAAS,UAAYA,EAAS,SAAWA,EAAS,MAC7C,MAAM,GAAG,EACT,IAAI,kBAAkB,EACtB,KAAK,GAAG,EACb,MAAM1f,EAAW,MAAM,MAAM0f,EAAS,IAAI,EAC1C,GAAI,CAAC1f,EAAS,GACV,MAAM,IAAI,MAAM,uBAAuBhhB,CAAG,EAAE,EAEhD,MAAMkd,EAAc,MAAM8D,EAAS,cAEnC,OADoB,MAAM0e,GAAY,EAAC,gBAAgBxiB,CAAW,CAE9E,CAAS,CACJ,CAUD,OAAO,aAAald,EAAK,CACrB,MAAMsgC,EAAatgC,EAAI,MAAM,GAAG,EAC1BugC,EAAYD,EAAWA,EAAW,OAAS,CAAC,EAIlD,OAHiB,SACZ,cAAc,OAAO,EACrB,YAAY,SAAWC,CAAS,IACjB,EACvB,CAID,OAAO,QAAS,CACZ,OAAOjH,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAGhD,IADA,MAAM,QAAQ,UACPmG,GAAgB,UAAU,QAC7B,MAAMA,GAAgB,UAAU,CAAC,CAEjD,CAAS,CACJ,CACL,CAOAA,GAAgB,QAAU,GAI1BA,GAAgB,UAAY,CAAE,ECxWvB,MAAMkB,WAAuBrD,EAAQ,CACxC,aAAc,CACV,MAAM,CACF,YAAa,UACb,QAASjD,GAAsB,UAAU,CAAC,CAAC,EACvC,UAAU,CAAC,EAAIzB,GAA0B,UAAU,CAAC,EAAG,UAAU,CAAC,EAAI,UAAU,CAAC,EAAG,UAAU,CAAC,CAAC,EACpG,UAAW,EACX,eAAgByB,GAAsB,UAAU,CAAC,CAAC,EAC9C,IAAM,UAAU,CAAC,EAAE,WAAa,IAAM,UAAU,CAAC,CACjE,CAAS,EACD,KAAK,KAAO,iBAIZ,KAAK,aAAe,EACpB,KAAK,UAAY,GACjB,KAAK,UAAYA,GAAsB,UAAU,CAAC,CAAC,EAC/C,UAAU,CAAC,EAAE,OAAS,UAAU,CAAC,EAAE,WAAa,UAAU,CAAC,CAClE,CAID,KAAM,CACF,OAAO,KAAK,YACf,CAID,IAAI,aAAc,CACd,OAAO,KAAK,YACf,CAID,aAAauG,EAAc,CACvB,OAAOtH,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,IAAIj+C,EAAQ,EACZ,KAAO,KAAK,UAAY,KAAK,cAAgB,GAAG,CAE5C,KAAK,KAAK,MAAM,EAEhB,KAAK,cAAgB,IAAM,KAAK,WAEhCA,IACA,MAAMwlD,EAAa,KAAK,MAAM,KAAK,WAAa,GAAG,EAC/CD,GAAgBvlD,EAAQwlD,IAAe,IACvC,MAAM,IAAI,QAAQ18D,GAAQ,WAAWA,EAAM,CAAC,CAAC,EAEpD,CACb,CAAS,CACJ,CAKD,OAAOy8D,EAAe,GAAM,CACxB,OAAOtH,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM,KAAK,mBACX,MAAM,KAAK,aAAasH,CAAY,EACpC,MAAMz0B,EAAS,MAAM,KAAK,SAAS,eAAc,EACjD,OAAO,IAAIszB,GAAgBtzB,CAAM,CAC7C,CAAS,CACJ,CAID,OAAQ,CACJ,OAAO,QAAQ,SAClB,CACL,CC5EA,MAAM20B,GAAe,IAAI/C,GAKzB,IAAIgD,GAAgBD,GAKb,SAASpB,IAAa,CACzB,OAAIqB,KAAkBD,IAAgB9H,IAClCgI,GAAW,IAAI1D,EAAS,EAErByD,EACX,CAOO,SAASC,GAAWjgD,EAASkgD,EAAa,GAAO,CAChDA,GACAF,GAAc,QAAO,EAErBzG,GAAev5C,CAAO,EACtBggD,GAAgB,IAAIzD,GAAQv8C,CAAO,EAE9Bs5C,GAAsBt5C,CAAO,EAClCggD,GAAgB,IAAIJ,GAAe5/C,CAAO,EAG1CggD,GAAgBhgD,CAExB,CAcO,SAAS7W,IAAQ,CACpB,OAAO62D,GAAc,QACzB,CAIA,GAAIhI,IAAa,CAACA,GAAU,qBAAsB,CAK9C,MAAMmI,EAAc,eAAuB//C,EAAO,MAElD,QAAQ,IAAI,KAAK+/C,CAAW,GAAI,+BAA+B,CACnE,CC7DO,SAASC,GAASC,EAAI,CACzB,OAAO,KAAK,IAAI,GAAIA,EAAK,EAAE,CAC/B,CAIO,SAASC,GAASC,EAAM,CAC3B,MAAO,KAAM,KAAK,IAAIA,CAAI,EAAI,KAAK,KACvC,CASO,SAASC,GAAyBpH,EAAU,CAC/C,OAAO,KAAK,IAAI,EAAIA,EAAW,EAAE,CACrC,CAKA,IAAIqH,GAAK,IACF,SAASC,IAAQ,CACpB,OAAOD,EACX,CACO,SAASE,GAAMC,EAAM,CACxBH,GAAKG,CACT,CAOO,SAASC,GAAKC,EAAW,CAC5B,OAAO,KAAK,MAAMC,GAAMD,CAAS,CAAC,CACtC,CAIO,SAASC,GAAMD,EAAW,CAC7B,MAAO,IAAK,GAAK,KAAK,KAAKA,EAAYL,EAAE,CAC7C,CAQO,SAASO,GAAKC,EAAM,CACvB,OAAOR,GAAK,KAAK,IAAI,GAAIQ,EAAO,IAAM,EAAE,CAC5C,CC7DO,MAAMC,WAAsBzG,EAAK,CAOpC,YAAYz6C,EAAS1nB,EAAO6oE,EAAO,CAC/B,QAIA,KAAK,aAAe,IACpB,KAAK,KAAO7oE,EACZ,KAAK,OAAS6oE,EACd,KAAK,QAAUnhD,EACf,KAAK,aAAe,KAAK,iBAC5B,CAID,iBAAkB,CACd,MAAO,CACH,GAAI,CACA,OAAS1nB,GACE,KAAK,kBAAkB,WAAWA,CAAK,CAAC,EAEnD,OAAQ,sBACX,EACD,EAAG,CACC,OAASA,GACE,KAAK,cAAc,SAASA,EAAO,EAAE,CAAC,EAEjD,OAAQ,WACX,EACD,EAAG,CACC,OAASA,GACE,KAAK,cAAc,SAASA,EAAO,EAAE,EAAI,KAAK,kBAAiB,CAAE,EAE5E,OAAQ,WACX,EACD,EAAG,CACC,OAAQ,CAACA,EAAO8oE,IAAQ,CACpB,MAAMC,EAAe,SAAS/oE,EAAO,EAAE,EACjCgpE,EAASF,IAAQ,IAAM,IAAM,EACnC,OAAIC,IAAiB,EACV,KAAK,cAAc,KAAK,kBAAmB,GAAIC,EAG/C,KAAK,cAAc,EAAID,CAAY,EAAIC,CAErD,EACD,OAAQ,gBACX,EACD,OAAQ,CACJ,OAAShpE,GACE,KAAK,aAAa,KAAK,YAAY,EAAE,OAAO,KAAK,KAAMA,CAAK,EAEvE,OAAQ,mBACX,EACD,EAAG,CACC,OAASA,GACE,KAAK,gBAAgB,WAAWA,CAAK,CAAC,EAEjD,OAAQ,oBACX,EACD,QAAS,CACL,OAASA,GACE,SAASA,EAAO,EAAE,EAAI,KAAK,QAAQ,WAE9C,OAAQ,gBACX,EACD,EAAG,CACC,OAASA,GAAU,CACf,MAAM+oE,EAAe,SAAS/oE,EAAO,EAAE,EACvC,OAAO,KAAK,cAAc,GAAK,KAAK,MAAM+oE,CAAY,EAAI,EAAE,CAC/D,EACD,OAAQ,WACX,EACD,GAAI,CACA,OAAQ,CAACziD,EAAG2iD,EAAG,IAAM,CACjB,IAAIC,EAAQ,EACZ,OAAI5iD,GAAKA,IAAM,MACX4iD,GAAS,KAAK,cAAc,KAAK,kBAAiB,EAAK,WAAW5iD,CAAC,CAAC,GAEpE2iD,GAAKA,IAAM,MACXC,GAAS,KAAK,cAAc,WAAWD,CAAC,CAAC,GAEzC,GAAK,IAAM,MACXC,GAAS,KAAK,cAAc,WAAW,CAAC,EAAI,CAAC,GAE1CA,CACV,EACD,OAAQ,qDACX,CACb,CACK,CAOD,SAAU,CAIN,GAHI,KAAK,gBAAgBN,IACrB,KAAK,SAAS,KAAK,IAAI,EAEvBzK,GAAQ,KAAK,IAAI,EACjB,OAAO,KAAK,SAEX,GAAIx+D,GAAS,KAAK,IAAI,GAAKw+D,GAAQ,KAAK,MAAM,GAC/C,UAAW0K,KAAS,KAAK,aACrB,GAAI,KAAK,aAAaA,CAAK,EAAE,OAAO,KAAK,KAAK,KAAK,KAAI,CAAE,EAAG,CACxD,KAAK,OAASA,EACd,KACH,UAGAhpE,GAAS,KAAK,IAAI,EAAG,CAC1B,IAAIqpE,EAAQ,EACZ,UAAWC,KAAY,KAAK,KACxB,GAAI/K,GAAU,KAAK,KAAK+K,CAAQ,CAAC,EAAG,CAChC,MAAMC,EAAW,KAAK,KAAKD,CAAQ,EAE7BnnC,EAAQ,IAAI,KAAK,YAAY,KAAK,QAASmnC,CAAQ,EAAG,QAAS,EAAGC,EACxEF,GAASlnC,CACZ,CAEL,OAAOknC,CACV,CACD,GAAI9K,GAAU,KAAK,MAAM,EAAG,CACxB,MAAMiL,EAAO,KAAK,aAAa,KAAK,MAAM,EACpCC,EAAW,KAAK,KAAK,SAAQ,EAAG,KAAI,EAAG,MAAMD,EAAK,MAAM,EAC9D,OAAIC,EACOD,EAAK,OAAO,MAAM,KAAMC,EAAS,MAAM,CAAC,CAAC,EAGzCD,EAAK,OAAO,KAAK,KAAM,KAAK,IAAI,CAE9C,KACI,QAAI1pE,GAAS,KAAK,IAAI,EAChB,WAAW,KAAK,IAAI,EAGpB,KAAK,IAEnB,CAOD,kBAAkB2oE,EAAM,CACpB,MAAO,GAAIA,CACd,CAID,cAAciB,EAAO,CACjB,MAAQ,IAAK,KAAK,QAAO,EAAMA,CAClC,CAID,gBAAgBC,EAAS,CACrB,OAAOA,CACV,CAID,cAAcC,EAAO,CACjB,OAAQA,EAAS,KAAK,cAAc,CAAC,EAAK,KAAK,SAClD,CAID,QAAS,CACL,OAAO,KAAK,MACf,CAOD,SAAU,CACN,OAAO,KAAK,QAAQ,UAAU,IAAI,KACrC,CAID,mBAAoB,CAChB,OAAO,KAAK,QAAQ,UAAU,aACjC,CAID,SAAU,CACN,OAAO,KAAK,QAAQ,UAAU,GACjC,CAQD,SAASpjE,EAAM,CAEX,OADA,KAAK,OAAS,OACN,KAAK,aAAY,CACrB,IAAK,IACD,KAAK,KAAOA,EAAK,YACjB,MACJ,IAAK,IACD,KAAK,KAAOA,EAAK,UACjB,MACJ,IAAK,KACD,KAAK,KAAOA,EAAK,cACjB,MACJ,IAAK,OACD,KAAK,KAAOA,EAAK,SACjB,KACP,CACD,OAAO,IACV,CAID,aAAc,CACV,MAAO,GAAI,KAAK,WACnB,CAID,WAAY,CACR,OAAO,KAAK,UAAS,EAAK,KAAK,QAAQ,UAC1C,CAID,gBAAiB,CACb,OAAO,KAAK,UAAW,EAAG,GAC7B,CACL,CC7OO,MAAMqjE,WAAkBd,EAAc,CACzC,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,WACf,CACD,iBAAkB,CACd,OAAO,OAAO,OAAO,MAAM,gBAAe,EAAI,CAC1C,IAAK,CACD,OAASe,GACE,KAAK,OAAS,IAAI,KAAK,YAAY,KAAK,QAASA,CAAO,EAAE,UAErE,OAAQ,SACX,EACD,SAAU,CACN,OAASA,GAAY,CACjB,MAAMC,EAAU,IAAIF,GAAU,KAAK,QAASC,CAAO,EAAE,UACrD,OAAO,KAAK,gBAAgB,KAAK,QAAQ,UAAU,gBAAgBC,CAAO,CAAC,CAC9E,EACD,OAAQ,QACX,CACb,CAAS,CACJ,CAWD,SAASC,EAAQC,EAAU,EAAG,CAC1B,MAAMC,EAAc,IAAI,KAAK,YAAY,KAAK,QAASF,CAAM,EAAE,UACzD7pE,EAAQ,KAAK,UAGb+R,EAFW,KAAK,MAAM/R,EAAQ+pE,CAAW,EACtBA,EACJ/pE,EACrB,OAAOA,EAAQ+R,EAAO+3D,CACzB,CAYD,YAAa,CACT,MAAM9nC,EAAO,KAAK,YACZgoC,EAAgB,CAAC,IAAI,EAC3B,QAASC,EAAQ,EAAGA,EAAQ,EAAGA,IAAS,CACpC,MAAMJ,EAAS,KAAK,IAAI,EAAGI,CAAK,EAChCD,EAAc,KAAKH,EAAS,IAAI,EAChCG,EAAc,KAAKH,EAAS,GAAG,EAC/BG,EAAc,KAAKH,EAAS,GAAG,CAClC,CACDG,EAAc,KAAK,GAAG,EAEtB,IAAIE,EAAUF,EAAc,CAAC,EACzBG,EAAiB,IAAIT,GAAU,KAAK,QAASM,EAAc,CAAC,CAAC,EAAE,YACnE,OAAAA,EAAc,QAAQI,GAAY,CAC9B,MAAMC,EAAkB,IAAIX,GAAU,KAAK,QAASU,CAAQ,EAAE,YAC1D,KAAK,IAAIC,EAAkBroC,CAAI,EAAI,KAAK,IAAImoC,EAAiBnoC,CAAI,IACjEkoC,EAAUE,EACVD,EAAiBE,EAEjC,CAAS,EACMH,CACV,CAID,uBAAwB,CACpB,MAAMI,EAAc,KAAK,cAAc,CAAC,EACxC,IAAIC,EAAW,KAAK,QAAO,EAAKD,EAChCC,EAAW,WAAWA,EAAS,QAAQ,CAAC,CAAC,EACzC,MAAMC,EAAW,KAAK,MAAMD,EAAW,KAAK,kBAAiB,CAAE,EAC/D,IAAIE,EAAcF,EAAW,EAAK,EAClCA,EAAW,KAAK,MAAMA,CAAQ,EAAI,KAAK,oBACvC,MAAMG,EAAkBD,EAAW,WACnC,OAAIC,EAAgB,OAAS,IAEzBD,EAAa,WAAW,WAAWC,CAAe,EAAE,QAAQ,CAAC,CAAC,GAEjD,CAACF,EAAUD,EAAUE,CAAU,EAChC,KAAK,GAAG,CAC3B,CAID,SAAU,CACN,MAAMH,EAAc,KAAK,cAAc,CAAC,EAExC,OADiB,KAAK,QAAO,EAAKA,EAChB,KAAK,SAC1B,CAID,WAAY,CACR,OAAO,KAAK,SACf,CAID,QAAS,CACL,OAAO/B,GAAK,KAAK,YAAW,CAAE,CACjC,CACD,MAAO,CACH,OAAO,KAAK,QAAQ,KACvB,CACL,CCjHO,MAAMoC,WAAuBjB,EAAU,CAC1C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,YACZ,KAAK,aAAe,IACvB,CAKD,WAAW,IAAK,CACZ,OAAOtB,GAAK,CACf,CACD,WAAW,GAAGE,EAAM,CAChBD,GAAMC,CAAI,CACb,CAID,iBAAkB,CACd,OAAO,OAAO,OAAO,CAAE,EAAE,MAAM,gBAAe,EAAI,CAC9C,KAAM,CACF,OAAQ,uBACR,OAAOtoE,EAAO,CACV,OAAI,KAAK,eAAiB,OACfA,EAGA2qE,GAAe,KAAK3qE,CAAK,CAEvC,CACJ,EACD,KAAM,CACF,OAAQ,uDACR,OAAO4qE,EAAOC,EAAQ,CAElB,MAAMC,EADQC,GAAiBH,EAAM,YAAa,IACtB,SAASC,EAAQ,EAAE,EAAI,GAAK,GACxD,OAAI,KAAK,eAAiB,OACfC,EAGAH,GAAe,KAAKG,CAAU,CAE5C,CACJ,EACD,GAAI,CACA,OAAQ,qDACR,OAAOxkD,EAAG2iD,EAAG,EAAG,CACZ,IAAIC,EAAQ,EACZ,OAAI5iD,GAAKA,IAAM,MACX4iD,GAAS,KAAK,cAAc,KAAK,kBAAiB,EAAK,WAAW5iD,CAAC,CAAC,GAEpE2iD,GAAKA,IAAM,MACXC,GAAS,KAAK,cAAc,WAAWD,CAAC,CAAC,GAEzC,GAAK,IAAM,MACXC,GAAS,KAAK,cAAc,WAAW,CAAC,EAAI,CAAC,GAE1CA,CACV,CACJ,CACb,CAAS,CACJ,CAUD,UAAUpI,EAAU,CAChB,OAAO,IAAI6J,GAAe,KAAK,QAAS,KAAK,UAAYzC,GAAyBpH,CAAQ,CAAC,CAC9F,CAQD,UAAUkK,EAAW,CACjB,OAAOA,EAAU,IAAIlK,GACV,KAAK,UAAUA,CAAQ,CACjC,CACJ,CASD,QAAS,CACL,OAAOyH,GAAK,KAAK,QAAO,CAAE,CAC7B,CAMD,QAAS,CACL,MAAMD,EAAO,KAAK,cACZlJ,EAAM,KAAK,KAAKkJ,EAAOqC,GAAe,EAAE,EAC9C,IAAIG,EAAa,KAAK,MAAM,GAAK1L,CAAG,EAAI,GACxC,MAAMyL,EAAS,KAAK,MAAMC,EAAa,EAAE,EACzC,OAAID,EAAS,IACTC,GAAc,IAAMD,GAEPI,GAAiBH,EAAa,EAAE,EAC/BD,EAAO,UAC5B,CAID,WAAY,CACR,MAAO,GAAI,MAAM,WACpB,CAID,SAAU,CACN,MAAMP,EAAc,KAAK,cAAc,CAAC,EAClCC,EAAW,KAAK,QAAO,EAAKD,EAClC,OAAO,KAAK,MAAMC,EAAW,KAAK,QAAS,EAC9C,CAOD,QAAS,CACL,MAAO,EACV,CAID,kBAAkBjC,EAAM,CACpB,OAAOA,CACV,CAID,cAAcmB,EAAO,CACjB,MAAO,IAAMA,EAAQ,IAAO,KAAK,QAAO,EAAK,KAAK,QAAS,GAC9D,CAID,cAAcF,EAAO,CACjB,MAAO,GAAI,MAAM,cAAcA,CAAK,CACvC,CAID,gBAAgBC,EAAS,CACrB,MAAO,GAAIA,CACd,CAMD,OAAO,KAAKb,EAAM,CACd,OAAOD,GAAKC,CAAI,CACnB,CAKD,OAAO,KAAKH,EAAW,CACnB,OAAOD,GAAKC,CAAS,CACxB,CACL,CAQA,MAAMuC,GAAmB,CACrB,KAAM,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,KAAM,EAAG,GAAI,EAAG,MAAO,EAAG,OAAQ,EAAG,MAAO,EAAG,MAAO,EACvF,KAAM,GAAI,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,KAAM,EAAG,GAAI,EAAG,MAAO,EAAG,OAAQ,EAAG,MAAO,EAAG,MAAO,EACrF,KAAM,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,KAAM,EAAG,GAAI,EAAG,MAAO,EAAG,OAAQ,EAAG,MAAO,EAAG,MAAO,EACpF,KAAM,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,KAAM,EAAG,GAAI,EAAG,MAAO,EAAG,OAAQ,EAAG,MAAO,EAAG,MAAO,EACpF,KAAM,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,KAAM,EAAG,GAAI,EAAG,MAAO,EAAG,OAAQ,GAAI,MAAO,GAAI,MAAO,GACtF,KAAM,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,KAAM,GAAI,GAAI,GAAI,MAAO,GAAI,OAAQ,GAAI,MAAO,GAAI,MAAO,GACzF,KAAM,EAAG,IAAK,EAAG,GAAI,GAAI,EAAG,GAAI,KAAM,GAAI,GAAI,GAAI,MAAO,GAAI,OAAQ,GAAI,MAAO,GAAI,MAAO,EAC/F,EAKME,GAAmB,CAAC,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,GAAG,EAWlF,SAASC,GAAUlrE,EAAO6oE,EAAO,CACpC,OAAO,IAAI8B,GAAetE,GAAY,EAAErmE,EAAO6oE,CAAK,CACxD,CCtNO,MAAMsC,WAA2BzB,EAAU,CAC9C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,eACf,CAID,MAAO,CACH,OAAO,KAAK,QAAQ,UAAU,OACjC,CACL,CCTO,MAAM0B,WAAwBjJ,EAAK,CACtC,aAAc,CACV,QACA,MAAM7uD,EAAUmuD,EAAqB2J,GAAgB,YAAa,EAAE,UAAW,CAAC,SAAS,CAAC,EACtF,KAAK,eACL,KAAK,QAAU,KAAK,eAGpB,KAAK,QAAU93D,EAAQ,OAE9B,CACD,OAAO,aAAc,CACjB,MAAO,CACH,QAAS+yD,GAAY,CACjC,CACK,CAQD,KAAM,CACF,OAAO,KAAK,QAAQ,YAAc,KAAK,QAAQ,SAClD,CAQD,WAAY,CACR,OAAO,KAAK,QAAQ,WACvB,CAMD,IAAI,YAAa,CACb,MAAO,GAAI,KAAK,QAAQ,UAC3B,CAMD,IAAI,WAAY,CACZ,MAAO,KAAM,KAAK,QAAQ,UAC7B,CAUD,UAAUrkC,EAAM,CACZ,OAAAk9B,GAAuBl9B,CAAI,EACpB,IAAI0nC,GAAU,KAAK,QAAS1nC,CAAI,EAAE,WAC5C,CAOD,YAAYsmC,EAAM,CACd,OAAO,IAAIqC,GAAe,KAAK,QAASrC,CAAI,EAAE,aACjD,CAOD,QAAQtmC,EAAM,CACV,OAAO,IAAImpC,GAAmB,KAAK,QAASnpC,CAAI,EAAE,SACrD,CAOD,sBAAsB5vB,EAAO,CACzB,MAAMkB,EAAU,KAAK,MAErB,cAAO,KAAKA,CAAO,EAAE,QAAQ9Q,GAAQ,CAC7B27D,GAAQ/rD,EAAM5P,CAAI,CAAC,GACnB,OAAO8Q,EAAQ9Q,CAAI,CAEnC,CAAS,EACM8Q,CACV,CAOD,KAAM,CACF,MAAMouD,EAAWI,GAAwB,IAAI,EAC7C,cAAO,KAAKJ,CAAQ,EAAE,QAAQ2J,GAAa,CACvC,GAAI,QAAQ,IAAI,KAAMA,CAAS,EAAG,CAC9B,MAAMC,EAAS,KAAKD,CAAS,EACzBjN,GAAUkN,CAAM,GAAKlN,GAAUkN,EAAO,KAAK,GAAKlN,GAAUkN,EAAO,cAAc,EAC/E5J,EAAS2J,CAAS,EAAIC,EAAO,MAExBA,aAAkBF,GACvB1J,EAAS2J,CAAS,EAAIC,EAAO,sBAAsB5J,EAAS2J,CAAS,CAAC,EAGjEjsE,GAAQksE,CAAM,GAAKjN,GAASiN,CAAM,GAAK3rE,GAAS2rE,CAAM,GAAKnuC,GAAUmuC,CAAM,EAChF5J,EAAS2J,CAAS,EAAIC,EAItB,OAAO5J,EAAS2J,CAAS,CAEhC,CACb,CAAS,EACM3J,CACV,CAaD,IAAItvD,EAAO,CACP,cAAO,KAAKA,CAAK,EAAE,QAAQi5D,GAAa,CAChC,QAAQ,IAAI,KAAMA,CAAS,GAAKjN,GAAU,KAAKiN,CAAS,CAAC,IACrD,KAAKA,CAAS,GAAKjN,GAAU,KAAKiN,CAAS,EAAE,KAAK,GAAKjN,GAAU,KAAKiN,CAAS,EAAE,cAAc,EAE3F,KAAKA,CAAS,EAAE,QAAUj5D,EAAMi5D,CAAS,IACzC,KAAKA,CAAS,EAAE,MAAQj5D,EAAMi5D,CAAS,GAGtC,KAAKA,CAAS,YAAaD,GAChC,KAAKC,CAAS,EAAE,IAAIj5D,EAAMi5D,CAAS,CAAC,EAGpC,KAAKA,CAAS,EAAIj5D,EAAMi5D,CAAS,EAGrD,CAAS,EACM,IACV,CACL,CCpKO,MAAME,WAAsB5I,EAAS,CACxC,YAAY6I,EAAU,UAAW,CAC7B,QACA,KAAK,KAAO,gBACZ,KAAK,SAAWA,EAChB,KAAK,eAAe,KAAK,SAAU,CAAC,CACvC,CAOD,eAAexpC,EAAM,CACjB,MAAM9vB,EAAQ,KAAK,IAAI8vB,CAAI,EAC3B,OAAI9vB,IAAU,KACHA,EAAM,MAGN,KAAK,QAEnB,CAOD,eAAe2H,EAAOmoB,EAAM1uB,EAAS,CACjC,OAAAmrD,GAAYz8B,EAAM,CAAC,EACnB,KAAK,IAAI,OAAO,OAAO,GAAI1uB,EAAS,CAChC,MAAAuG,EACA,KAAAmoB,CACH,EAAC,EACK,IACV,CAOD,aAAanoB,EAAOmoB,EAAM,CAEtB,MAAMhgB,EAAQ,KAAK,QAAQggB,CAAI,EAC/B,QAAS,EAAIhgB,EAAO,GAAK,EAAG,IAAK,CAC7B,MAAM9P,EAAQ,KAAK,UAAU,CAAC,EAC9B,GAAIA,EAAM,QAAU2H,EAChB,OAAO3H,CAEd,CACJ,CAOD,aAAa2H,EAAOmoB,EAAM,CAEtB,MAAMhgB,EAAQ,KAAK,QAAQggB,CAAI,EAC/B,GAAIhgB,IAAU,GACV,QAAS,EAAIA,EAAO,EAAI,KAAK,UAAU,OAAQ,IAAK,CAChD,MAAM9P,EAAQ,KAAK,UAAU,CAAC,EAC9B,GAAIA,EAAM,QAAU2H,EAChB,OAAO3H,CAEd,CAER,CACL,CC7DO,MAAMu5D,WAAcL,EAAgB,CACvC,aAAc,CACV,MAAM3J,EAAqBgK,GAAM,cAAe,UAAW,CAAC,QAAS,QAAS,SAAS,CAAC,CAAC,EACzF,KAAK,KAAO,QACZ,KAAK,WAAa,GAIlB,KAAK,WAAa,KAClB,MAAMn4D,EAAUmuD,EAAqBgK,GAAM,YAAa,EAAE,UAAW,CAAC,QAAS,QAAS,SAAS,CAAC,EAGlG,IAFAlN,GAAOH,GAAU9qD,EAAQ,KAAK,IACzBytD,GAAaztD,EAAQ,KAAK,GAAKA,EAAQ,iBAAiBm4D,IAAQ,6BAA6B,EAC3F,CAAC1K,GAAaztD,EAAQ,KAAK,GAC9BA,EAAQ,MAAQA,EAAQ,MAAM,OAElC,KAAK,WAAa8qD,GAAU9qD,EAAQ,SAAS,EAAIA,EAAQ,UAAY,GACjE,KAAK,YACL,KAAK,MAAQ,KAAK,QAAQ,WAAU,EAEpC,KAAK,OAASA,EAAQ,MACtB,KAAK,MAAM,QAAQ,KAAK,MAAM,GAG9B,KAAK,OAAS,KAAK,MAAQA,EAAQ,MAEvC,KAAK,QAAU,IAAIqvD,GAAS,GAAI,EAChC,KAAK,cAAgB,KAAK,OAAO,aACjC,KAAK,MAAQrvD,EAAQ,MACrB,KAAK,QAAUA,EAAQ,QACvB,KAAK,UAAYA,EAAQ,SACzB,KAAK,UAAYA,EAAQ,SAErB8qD,GAAU9qD,EAAQ,KAAK,GAAKA,EAAQ,QAAU,KAAK,QAAQ,KAAK,aAAa,GAC7E,KAAK,eAAeA,EAAQ,MAAO,CAAC,CAE3C,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO83D,GAAgB,YAAW,EAAI,CAChD,QAAS,GACT,MAAO,QACnB,CAAS,CACJ,CACD,IAAI,OAAQ,CACR,MAAM7G,EAAM,KAAK,MACjB,OAAO,KAAK,eAAeA,CAAG,CACjC,CACD,IAAI,MAAMvkE,EAAO,CACb,KAAK,sBAAsB,KAAK,IAAK,GACrC,KAAK,eAAeA,EAAO,KAAK,IAAK,EACxC,CACD,IAAI,UAAW,CAEX,OAAIo+D,GAAU,KAAK,SAAS,EACjB,KAAK,UAEP,KAAK,QAAU,QAAU,KAAK,QAAU,aAC7C,KAAK,QAAU,eAAiB,KAAK,QAAU,YAC/C,KAAK,QAAU,iBAAmB,KAAK,QAAU,SACjD,KAAK,QAAU,OAAS,KAAK,QAAU,SAAW,KAAK,QAAU,UAC1D,EAEF,KAAK,QAAU,aACb,GAEF,KAAK,QAAU,WACb,KAGA,KAAK,OAAO,QAE1B,CACD,IAAI,UAAW,CACX,OAAIA,GAAU,KAAK,SAAS,EACjB,KAAK,UAEP,KAAK,QAAU,eACpB,KAAK,QAAU,aACR,EAGA,KAAK,OAAO,QAE1B,CAID,IAAIh9D,EAAKiF,EAAM,CACX,OAAO,KAAK,QAAUA,CACzB,CAID,aAAarG,EAAO,CAChB,OAAIo+D,GAAU,KAAK,QAAQ,GAAKA,GAAU,KAAK,QAAQ,GACnDK,GAAYz+D,EAAO,KAAK,UAAU,KAAK,QAAQ,EAAG,KAAK,UAAU,KAAK,QAAQ,CAAC,EAE5EA,CACV,CAKD,UAAU5B,EAAK,CACX,OAAI,KAAK,SAAW,CAAC,KAAK,WAClB,KAAK,IAAIA,EAAK,MAAM,EACb,KAAK,UAAUA,CAAG,EAEpB,KAAK,IAAIA,EAAK,UAAU,EACtB0pE,GAAS1pE,CAAG,EAEd,KAAK,IAAIA,EAAK,WAAW,EACvB,KAAK,YAAYA,CAAG,EAGpBA,EAGN,KAAK,WAEH,EAGAA,CAEd,CAID,QAAQA,EAAK,CACT,OAAI,KAAK,SAAW,KAAK,QAAU,WACxB4pE,GAAS5pE,CAAG,EAGZA,CAEd,CAKD,eAAe4B,EAAOgiC,EAAM,CACxB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAClC+mC,EAAe,KAAK,UAAU/oE,CAAK,EACzC,OAAAu+D,GAAO,SAASwK,CAAY,GAAK,SAAS2C,CAAY,EAAG,0CAA0C,KAAK,UAAU1rE,CAAK,CAAC,KAAK,KAAK,UAAUgiC,CAAI,CAAC,EAAE,EACnJ,KAAK,aAAa+mC,CAAY,EAC9B,KAAK,IAAI,KAAK,MAAO,iBAAkB/oE,EAAO0rE,CAAY,EAC1D,KAAK,QAAQ,IAAI,CACb,KAAMA,EACN,KAAM,iBACN,MAAO3C,CACnB,CAAS,EACD,KAAK,OAAO,eAAeA,EAAc2C,CAAY,EAC9C,IACV,CACD,eAAe1pC,EAAM,CACjB,MAAM0pC,EAAe,KAAK,IAAI,KAAK,UAAU1pC,CAAI,EAAG,CAAC,EAC/C8gC,EAAQ,KAAK,QAAQ,SAAS4I,CAAY,EAC1CrzC,EAAS,KAAK,QAAQ,IAAIqzC,CAAY,EAC5C,IAAI1rE,EAAQ,KAAK,cAEjB,GAAIq4B,IAAW,KACXr4B,EAAQ,KAAK,sBAERq4B,EAAO,OAAS,oBAAsByqC,IAAU,MAAQA,EAAM,OAAS,kBAAmB,CAC/F,MAAM6I,EAAW,KAAK,QAAQ,UAAUtzC,EAAO,IAAI,EACnD,IAAIuzC,EACAD,IAAa,KACbC,EAAc,KAAK,cAGnBA,EAAcD,EAAS,MAEvBtzC,EAAO,OAAS,oBAChBr4B,EAAQ,KAAK,qBAAqBq4B,EAAO,KAAMuzC,EAAavzC,EAAO,MAAOA,EAAO,SAAUqzC,CAAY,EAE9G,SACQ5I,IAAU,KACf9iE,EAAQq4B,EAAO,cAEVyqC,EAAM,OAAS,2BAA6BA,EAAM,OAAS,+BAAgC,CAChG,IAAI+I,EAAcxzC,EAAO,MACzB,GAAIA,EAAO,OAAS,kBAAmB,CACnC,MAAMszC,EAAW,KAAK,QAAQ,UAAUtzC,EAAO,IAAI,EAC/CszC,IAAa,KACbE,EAAc,KAAK,cAGnBA,EAAcF,EAAS,KAE9B,CACG7I,EAAM,OAAS,0BACf9iE,EAAQ,KAAK,mBAAmBq4B,EAAO,KAAMwzC,EAAa/I,EAAM,KAAMA,EAAM,MAAO4I,CAAY,EAG/F1rE,EAAQ,KAAK,wBAAwBq4B,EAAO,KAAMwzC,EAAa/I,EAAM,KAAMA,EAAM,MAAO4I,CAAY,CAE3G,MAEG1rE,EAAQq4B,EAAO,MAEnB,OAAO,KAAK,QAAQr4B,CAAK,CAC5B,CACD,aAAagiC,EAAM,CACfA,EAAO,KAAK,UAAUA,CAAI,EAC1B,IAAI8pC,EAAa,KAAK,eAAe9pC,CAAI,EACzC,YAAK,oBAAoBA,CAAI,EACzB,KAAK,UAAU8pC,CAAU,IAAM,IAC/BA,EAAa,KAAK,QAAQ,KAAK,UAAU,GAE7C,KAAK,eAAeA,EAAY9pC,CAAI,EAC7B,IACV,CACD,wBAAwBhiC,EAAOyhC,EAAS,CACpC,MAAMsnC,EAAe,KAAK,UAAU/oE,CAAK,EACnC0rE,EAAe,KAAK,UAAUjqC,CAAO,EAC3C,OAAA88B,GAAO,SAASwK,CAAY,GAAK,SAAS2C,CAAY,EAAG,mDAAmD,KAAK,UAAU1rE,CAAK,CAAC,KAAK,KAAK,UAAUyhC,CAAO,CAAC,EAAE,EAC/J,KAAK,aAAasnC,CAAY,EAC9B,KAAK,QAAQ,IAAI,CACb,KAAM2C,EACN,KAAM,0BACN,MAAO3C,CACnB,CAAS,EACD,KAAK,IAAI,KAAK,MAAO,0BAA2B/oE,EAAO0rE,CAAY,EACnE,KAAK,OAAO,wBAAwB3C,EAAc2C,CAAY,EACvD,IACV,CACD,6BAA6B1rE,EAAOyhC,EAAS,CACzC,IAAIsnC,EAAe,KAAK,UAAU/oE,CAAK,EAEvC+oE,EAAexG,GAAGwG,EAAc,CAAC,EAAI,KAAK,WAAaA,EACvD,KAAK,aAAaA,CAAY,EAC9B,MAAM2C,EAAe,KAAK,UAAUjqC,CAAO,EAC3C,OAAA88B,GAAO,SAASwK,CAAY,GAAK,SAAS2C,CAAY,EAAG,wDAAwD,KAAK,UAAU1rE,CAAK,CAAC,KAAK,KAAK,UAAUyhC,CAAO,CAAC,EAAE,EAEpK,KAAK,QAAQ,IAAI,CACb,KAAMiqC,EACN,KAAM,+BACN,MAAO3C,CACnB,CAAS,EACD,KAAK,IAAI,KAAK,MAAO,+BAAgC/oE,EAAO0rE,CAAY,EACxE,KAAK,OAAO,6BAA6B3C,EAAc2C,CAAY,EAC5D,IACV,CACD,kBAAkB1rE,EAAO+rE,EAAUlqC,EAAW,CAC1C,OAAAA,EAAY,KAAK,UAAUA,CAAS,EACpC,KAAK,aAAaA,CAAS,EAC3B,KAAK,6BAA6B7hC,EAAO6hC,EAAY,KAAK,UAAUkqC,CAAQ,CAAC,EACtE,IACV,CACD,aAAa/rE,EAAO+rE,EAAUlqC,EAAW,CACrC,OAAAA,EAAY,KAAK,UAAUA,CAAS,EACpC,KAAK,aAAaA,CAAS,EAC3B,KAAK,wBAAwB7hC,EAAO6hC,EAAY,KAAK,UAAUkqC,CAAQ,CAAC,EACjE,IACV,CACD,aAAa/rE,EAAO+rE,EAAUlqC,EAAW,CACrC,OAAAA,EAAY,KAAK,UAAUA,CAAS,EACpC,KAAK,aAAaA,CAAS,EAC3B,KAAK,+BAA+B7hC,EAAO6hC,EAAWkqC,CAAQ,EACvD,IACV,CACD,+BAA+B/rE,EAAOgiC,EAAM+pC,EAAU,CAClD/pC,EAAO,KAAK,UAAUA,CAAI,EAC1B+pC,EAAW,KAAK,UAAUA,CAAQ,EAClC,MAAM7pC,EAAe,KAAK,IAAI6pC,EAAW,CAAC,EAAI,KAAK,IAAI,GAAG,EAC1D,YAAK,gBAAgB/rE,EAAOgiC,EAAME,CAAY,EAE9C,KAAK,oBAAoBF,EAAO+pC,EAAW,EAAG,EAC9C,KAAK,wBAAwB/rE,EAAOgiC,EAAO+pC,CAAQ,EAC5C,IACV,CACD,gBAAgB/rE,EAAO6hC,EAAWK,EAAc,CAC5C,MAAM6mC,EAAe,KAAK,UAAU/oE,CAAK,EAEzCu+D,GAAO,SAASr8B,CAAY,GAAKA,EAAe,EAAG,8CAA8C,EACjG,MAAMwpC,EAAe,KAAK,UAAU7pC,CAAS,EAC7C,YAAK,aAAaknC,CAAY,EAC9BxK,GAAO,SAASwK,CAAY,GAAK,SAAS2C,CAAY,EAAG,2CAA2C,KAAK,UAAU1rE,CAAK,CAAC,KAAK,KAAK,UAAU6hC,CAAS,CAAC,EAAE,EACzJ,KAAK,QAAQ,IAAI,CACb,SAAUK,EACV,KAAMwpC,EACN,KAAM,kBACN,MAAO3C,CACnB,CAAS,EACD,KAAK,IAAI,KAAK,MAAO,kBAAmB/oE,EAAO0rE,EAAcxpC,CAAY,EACzE,KAAK,OAAO,gBAAgB6mC,EAAc2C,EAAcxpC,CAAY,EAC7D,IACV,CACD,oBAAoB3yB,EAAQsyB,EAAW5I,EAAU+yC,EAAU,EAAG,CAC1D/yC,EAAW,KAAK,UAAUA,CAAQ,EAClC4I,EAAY,KAAK,UAAUA,CAAS,EACpC,MAAMoqC,EAAgB,KAAK,UAAU18D,EAAO,CAAC,CAAC,EAAIy8D,EAClD,KAAK,eAAe,KAAK,QAAQC,CAAa,EAAGpqC,CAAS,EAC1D,MAAMqqC,EAAUjzC,GAAY1pB,EAAO,OAAS,GAC5C,QAAStQ,EAAI,EAAGA,EAAIsQ,EAAO,OAAQtQ,IAAK,CACpC,MAAM8pE,EAAe,KAAK,UAAUx5D,EAAOtQ,CAAC,CAAC,EAAI+sE,EACjD,KAAK,wBAAwB,KAAK,QAAQjD,CAAY,EAAGlnC,EAAY5iC,EAAIitE,CAAO,CACnF,CACD,OAAO,IACV,CACD,sBAAsBlqC,EAAM,CACxB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,OAAAu8B,GAAO,SAASmN,CAAY,EAAG,8CAA8C,KAAK,UAAU1pC,CAAI,CAAC,EAAE,EACnG,KAAK,QAAQ,OAAO0pC,CAAY,EAChC,KAAK,OAAO,sBAAsBA,CAAY,EAC9C,KAAK,IAAI,KAAK,MAAO,wBAAyBA,CAAY,EACnD,IACV,CACD,oBAAoB1pC,EAAM,CACtB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAClCmqC,EAAc,KAAK,UAAU,KAAK,eAAeT,CAAY,CAAC,EAEpEnN,GAAO,SAASmN,CAAY,EAAG,4CAA4C,KAAK,UAAU1pC,CAAI,CAAC,EAAE,EACjG,KAAK,IAAI,KAAK,MAAO,sBAAuB0pC,EAAc,SAAWS,CAAW,EAGhF,MAAM9zC,EAAS,KAAK,QAAQ,IAAIqzC,CAAY,EACtC5I,EAAQ,KAAK,QAAQ,SAAS4I,CAAY,EAChD,OAAIrzC,GAAUkqC,GAAGlqC,EAAO,KAAMqzC,CAAY,EAElC5I,GACA,KAAK,OAAO,sBAAsBA,EAAM,IAAI,EAC5C,KAAK,QAAQ,OAAOA,EAAM,IAAI,IAG9B,KAAK,OAAO,oBAAoB4I,CAAY,EAC5C,KAAK,QAAQ,OAAOA,EAAe,KAAK,UAAU,GAGjD5I,IACL,KAAK,OAAO,sBAAsBA,EAAM,IAAI,EAE5C,KAAK,QAAQ,OAAOA,EAAM,IAAI,EAC1BA,EAAM,OAAS,0BACf,KAAK,wBAAwB,KAAK,QAAQqJ,CAAW,EAAGT,CAAY,EAE/D5I,EAAM,OAAS,gCACpB,KAAK,6BAA6B,KAAK,QAAQqJ,CAAW,EAAGT,CAAY,GAIjF,KAAK,QAAQ,IAAI,CACb,KAAMA,EACN,KAAM,iBACN,MAAOS,CACnB,CAAS,EACD,KAAK,OAAO,eAAeA,EAAaT,CAAY,EAC7C,IACV,CACD,OAAO1rE,EAAO+rE,EAAW,GAAKlqC,EAAW,CACrC,OAAI,KAAK,QAAU,aAAe,KAAK,QAAU,OAAS,KAAK,QAAU,WACrE,KAAK,kBAAkB7hC,EAAO+rE,EAAUlqC,CAAS,EAGjD,KAAK,aAAa7hC,EAAO+rE,EAAUlqC,CAAS,EAEzC,IACV,CAMD,MAAMghC,EAAO,CACT,MAAM0B,EAAM,KAAK,QAAQ,YAEzB1B,EAAM,eAAe,KAAK,eAAe0B,CAAG,EAAGA,CAAG,EAElD,MAAM6H,EAAgB,KAAK,QAAQ,IAAI7H,CAAG,EAC1C,GAAI6H,GAAiBA,EAAc,OAAS,kBAAmB,CAE3D,MAAMnJ,EAAY,KAAK,QAAQ,SAASmJ,EAAc,IAAI,EAEpD3qC,EAAUwhC,EAAYA,EAAU,KAAOsB,EAAM,EAC7C8H,GAAgB5qC,EAAU8iC,GAAO,GACvC,QAAStlE,EAAIslE,EAAKtlE,EAAIwiC,EAASxiC,GAAKotE,EAChCxJ,EAAM,wBAAwB,KAAK,eAAe5jE,CAAC,EAAGA,CAAC,CAE9D,CACD,YAAK,QAAQ,aAAa,KAAK,QAAQ,YAAaiT,GAAS,CACrDA,EAAM,OAAS,wBACf2wD,EAAM,sBAAsB3wD,EAAM,IAAI,EAEjCA,EAAM,OAAS,kBACpB2wD,EAAM,gBAAgB3wD,EAAM,MAAOA,EAAM,KAAMA,EAAM,QAAQ,EAG7D2wD,EAAM3wD,EAAM,IAAI,EAAEA,EAAM,MAAOA,EAAM,IAAI,CAEzD,CAAS,EACM,IACV,CAKD,SAAS2wD,EAAO,CACZtE,GAAO,KAAK,WAAY,8DAA8D,EACtF,MAAMv5B,EAAQ,KAAK,MACnB,OAAAA,EAAM,WAAW,KAAK,MAAM,EAC5B,KAAK,MAAM69B,CAAK,EAChB,KAAK,OAASA,EACd79B,EAAM,QAAQ,KAAK,MAAM,EAClB,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACN,IACV,CACD,IAAI,cAAe,CACf,OAAO,KAAK,QAAQ,KAAK,OAAO,YAAY,CAC/C,CAMD,qBAAqBsnC,EAAIC,EAAIC,EAAItqC,EAAcmiC,EAAG,CAC9C,OAAOmI,GAAMD,EAAKC,GAAM,KAAK,IAAI,EAAEnI,EAAIiI,GAAMpqC,CAAY,CAC5D,CAED,mBAAmBoqC,EAAIC,EAAIE,EAAID,EAAInI,EAAG,CAClC,OAAOkI,GAAMC,EAAKD,KAAQlI,EAAIiI,IAAOG,EAAKH,GAC7C,CAED,wBAAwBA,EAAIC,EAAIE,EAAID,EAAInI,EAAG,CACvC,OAAOkI,EAAK,KAAK,IAAIC,EAAKD,GAAKlI,EAAIiI,IAAOG,EAAKH,EAAG,CACrD,CACL,CCpbO,MAAMI,WAAsBtB,EAAgB,CAC/C,aAAc,CACV,MAAM,GAAG,SAAS,EAIlB,KAAK,kBAAoB,EAC5B,CAQD,IAAI,gBAAiB,CACjB,OAAIhN,GAAU,KAAK,KAAK,EAChB2C,GAAa,KAAK,KAAK,GAAK,KAAK,iBAAiB0K,GAC3C,EAGA,KAAK,MAAM,eAIf,CAEd,CAOD,IAAI,iBAAkB,CAClB,OAAIrN,GAAU,KAAK,MAAM,EACd,KAAK,OAAO,gBAGZ,CAEd,CAOD,aAAajmC,EAAM,CACf,OAAOimC,GAAUjmC,CAAI,IAAMA,aAAgBu0C,IAAiB73B,GAAY1c,CAAI,EAC/E,CAKD,mBAAoB,CAChB,MAAMw0C,EAAW,KAAK,kBAAkB,MAAM,CAAC,EAC/C,OAAI,KAAK,aAAa,KAAK,KAAK,GAC5BA,EAAS,KAAK,KAAK,KAAK,EAExB,KAAK,aAAa,KAAK,MAAM,GACzB,KAAK,QAAU,KAAK,QACpBA,EAAS,KAAK,KAAK,MAAM,EAG1BA,CACV,CAMD,sBAAsBr5D,EAAS,CACV,KAAK,oBACb,QAAQ6kB,GAAQ,CACrBA,EAAK,aAAe7kB,EAAQ,aAC5B6kB,EAAK,iBAAmB7kB,EAAQ,iBAChC6kB,EAAK,sBAAwB7kB,EAAQ,qBACjD,CAAS,CACJ,CAKD,uBAAwB,CACpB,MAAMq5D,EAAW,KAAK,oBACtBpO,GAAOoO,EAAS,OAAS,EAAG,gDAAgD,EAG5E,MAAMx0C,EAAOw0C,EAAS,CAAC,EACvB,MAAO,CACH,aAAcx0C,EAAK,aACnB,iBAAkBA,EAAK,iBACvB,sBAAuBA,EAAK,qBACxC,CACK,CAMD,IAAI,cAAe,CACf,OAAO,KAAK,sBAAuB,EAAC,YACvC,CACD,IAAI,aAAa6Z,EAAc,CAC3B,MAAM5/B,EAAQ,KAAK,wBAEnB,KAAK,sBAAsB,OAAO,OAAOA,EAAO,CAAE,aAAA4/B,CAAc,EAAC,CACpE,CASD,IAAI,kBAAmB,CACnB,OAAO,KAAK,sBAAuB,EAAC,gBACvC,CACD,IAAI,iBAAiB+f,EAAkB,CACnC,MAAM3/C,EAAQ,KAAK,wBAEnB,KAAK,sBAAsB,OAAO,OAAOA,EAAO,CAAE,iBAAA2/C,CAAkB,EAAC,CACxE,CAMD,IAAI,uBAAwB,CACxB,OAAO,KAAK,sBAAuB,EAAC,qBACvC,CACD,IAAI,sBAAsBjC,EAAuB,CAC7C,MAAM19C,EAAQ,KAAK,wBAEnB,KAAK,sBAAsB,OAAO,OAAOA,EAAO,CAAE,sBAAA09C,CAAuB,EAAC,CAC7E,CAUD,QAAQ9kB,EAAa4hC,EAAY,EAAGC,EAAW,EAAG,CAC9C,OAAAh2B,GAAQ,KAAM7L,EAAa4hC,EAAWC,CAAQ,EACvC,IACV,CAOD,eAAgB,CACZ,YAAK,QAAQ,KAAK,QAAQ,WAAW,EAC9B,IACV,CAMD,UAAW,CACP,OAAAhO,GAAK,6CAA6C,EAC3C,KAAK,eACf,CAID,WAAW7zB,EAAa4hC,EAAY,EAAGC,EAAW,EAAG,CACjD,OAAA7gC,GAAW,KAAMhB,EAAa4hC,EAAWC,CAAQ,EAC1C,IACV,CAWD,SAASC,EAAO,CACZ,OAAAC,GAAc,KAAM,GAAGD,CAAK,EACrB,IACV,CAWD,OAAOA,EAAO,CACV,OAAAA,EAAM,QAAQ30C,GAAQ,KAAK,QAAQA,CAAI,CAAC,EACjC,IACV,CAID,SAAU,CACN,aAAM,QAAO,EACTimC,GAAU,KAAK,KAAK,IAChB,KAAK,iBAAiBsO,GACtB,KAAK,MAAM,UAEN73B,GAAY,KAAK,KAAK,GAC3B,KAAK,MAAM,cAGfupB,GAAU,KAAK,MAAM,IACjB,KAAK,kBAAkBsO,GACvB,KAAK,OAAO,UAEP73B,GAAY,KAAK,MAAM,GAC5B,KAAK,OAAO,cAGpB,KAAK,kBAAoB,GAClB,IACV,CACL,CAQO,SAASk4B,MAAiBD,EAAO,CACpC,MAAME,EAAQF,EAAM,QACpBA,EAAM,OAAO,CAACp5D,EAAMoK,KACZpK,aAAgBg5D,GAChBh5D,EAAK,QAAQoK,CAAO,EAEf+2B,GAAYnhC,CAAI,GACrBmjC,GAAQnjC,EAAMoK,CAAO,EAElBA,GACRkvD,CAAK,CACZ,CASO,SAASn2B,GAAQo2B,EAASC,EAASC,EAAe,EAAGC,EAAc,EAAG,CAQzE,IAPA7O,GAAOH,GAAU6O,CAAO,EAAG,oCAAoC,EAC/D1O,GAAOH,GAAU8O,CAAO,EAAG,kCAAkC,GACzDA,aAAmBR,IAAiB73B,GAAYq4B,CAAO,IACvD3O,GAAO2O,EAAQ,eAAiB,EAAG,uCAAuC,EAE9E3O,GAAO0O,EAAQ,gBAAkB,EAAG,0CAA0C,EAEtEC,aAAmBR,IAAiBQ,aAAmBzB,IACvDrN,GAAU8O,EAAQ,KAAK,IACvBA,EAAUA,EAAQ,OAG1B,KAAOD,aAAmBP,IAClBtO,GAAU6O,EAAQ,MAAM,IACxBA,EAAUA,EAAQ,QAItBlM,GAAamM,CAAO,EACpBD,EAAQ,QAAQC,EAASC,CAAY,EAGrCF,EAAQ,QAAQC,EAASC,EAAcC,CAAW,CAE1D,CAQO,SAASphC,GAAWihC,EAASC,EAASC,EAAe,EAAGC,EAAc,EAAG,CAE5E,GAAIhP,GAAU8O,CAAO,EACjB,KAAOA,aAAmBR,IACtBQ,EAAUA,EAAQ,MAI1B,KAAO,CAAEr4B,GAAYo4B,CAAO,GACpB7O,GAAU6O,EAAQ,MAAM,IACxBA,EAAUA,EAAQ,QAGtBlM,GAAamM,CAAO,EACpBD,EAAQ,WAAWC,EAASC,CAAY,EAEnCt4B,GAAYq4B,CAAO,EACxBD,EAAQ,WAAWC,EAASC,EAAcC,CAAW,EAGrDH,EAAQ,WAAU,CAE1B,CC/SO,MAAMI,WAAaX,EAAc,CACpC,aAAc,CACV,MAAMjL,EAAqB4L,GAAK,YAAa,EAAE,UAAW,CAAC,OAAQ,OAAO,CAAC,CAAC,EAC5E,KAAK,KAAO,OAIZ,KAAK,UAAY,KAAK,QAAQ,WAAU,EAExC,KAAK,MAAQ,KAAK,UAClB,KAAK,OAAS,KAAK,UACnB,MAAM/5D,EAAUmuD,EAAqB4L,GAAK,YAAW,EAAI,UAAW,CAAC,OAAQ,OAAO,CAAC,EACrF,KAAK,KAAO,IAAI5B,GAAM,CAClB,QAAS,KAAK,QACd,QAASn4D,EAAQ,QACjB,MAAO,KAAK,UAAU,KACtB,MAAOA,EAAQ,MACf,MAAOA,EAAQ,KACf,SAAUA,EAAQ,SAClB,SAAUA,EAAQ,QAC9B,CAAS,EACD2yD,GAAS,KAAM,MAAM,CACxB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,QAAS,GACT,KAAM,EACN,MAAO,MACnB,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,aACf,KAAK,KAAK,UACH,IACV,CACL,CCjDO,MAAMY,WAAsBZ,EAAc,CAC7C,YAAYp5D,EAAS,CACjB,MAAMA,CAAO,EAKb,KAAK,QAAU6yD,GAIf,KAAK,WAAa,GAIlB,KAAK,UAAY,GAIjB,KAAK,SAAW,GAIhB,KAAK,OAAS,IAAIkH,GAAK,CACnB,QAAS,KAAK,QACd,KAAM,CAClB,CAAS,EAID,KAAK,UAAY,KAAK,OAItB,KAAK,eAAiB,SAAUrrC,EAAM,CAClC,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,OAAI,KAAK,aAAe,IACpB0pC,GAAgB,KAAK,aACpB,KAAK,YAAc,IAAMA,GAAgB,KAAK,WACxC,UAGA,SAEvB,EACQ,KAAK,QAAUp4D,EAAQ,OACvB,KAAK,SAAWA,EAAQ,QACxB,KAAK,OAASA,EAAQ,MACtB,KAAK,QAAUA,EAAQ,OAC1B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,MAAO,SACP,OAAQ,EACR,QAAS,EACT,QAASvG,EACrB,CAAS,CACJ,CAKD,WAAWnkC,EAAMimC,EAAO,EAAG,CACvB1J,GAAO,KAAK,aAAe,GAAI,yCAAyC,EAExE,MAAMgP,EAAa,KAAK,UAAU,KAAK,OAAO,EAE9C,YAAK,WAAavrC,EAAOurC,EACzB,KAAK,WAAa,KAAK,IAAI,KAAK,WAAY,KAAK,QAAQ,WAAW,EAEhEA,EAAa,GACb,KAAK,UAAU,KAAK,eAAe,EAAGvrC,CAAI,EACtC,KAAK,SAAW,SAChB,KAAK,UAAU,KAAK,wBAAwBimC,EAAMjmC,EAAOurC,CAAU,EAGnE,KAAK,UAAU,KAAK,+BAA+BtF,EAAMjmC,EAAMurC,CAAU,GAI7E,KAAK,UAAU,KAAK,eAAetF,EAAMjmC,CAAI,EAE1C,IACV,CAKD,KAAKA,EAAM,CACP,YAAK,IAAI,OAAQA,CAAI,EACrB,KAAK,UAAU,KAAK,UAAUA,CAAI,CAAC,EAC5B,IACV,CAKD,UAAUA,EAAM,CACZu8B,GAAO,KAAK,aAAe,GAAI,sCAAsC,EAErE,KAAK,WAAU,EAEf,MAAMiP,EAAc,KAAK,UAAU,KAAK,QAAQ,EAEhD,YAAK,UAAY,KAAK,UAAUxrC,CAAI,EAAIwrC,EACxC,KAAK,UAAY,KAAK,IAAI,KAAK,UAAW,KAAK,IAAG,CAAE,EAChDA,EAAc,EAEV,KAAK,SAAW,SAChB,KAAK,UAAU,KAAK,aAAa,EAAGA,EAAaxrC,CAAI,EAGrD,KAAK,UAAU,KAAK,aAAa,EAAGwrC,EAAaxrC,CAAI,GAKzD,KAAK,UAAU,KAAK,oBAAoBA,CAAI,EAC5C,KAAK,UAAU,KAAK,eAAe,EAAGA,CAAI,GAE9C,KAAK,QAAQ,aAAa,KAAK,QAAQ,EACvC,KAAK,SAAW,KAAK,QAAQ,WAAW,IAAM,CAE1C,MAAMyrC,EAAiB,KAAK,SAAW,cAAgBD,EAAc,EAAI,EACzE,KAAK,YAAY,KAAK,IAAK,EAAGC,CAAc,EAC5C,KAAK,SAAQ,CAChB,EAAE,KAAK,UAAY,KAAK,QAAQ,WAAW,EACrC,IACV,CAID,UAAW,CACP,GAAI,KAAK,UAAYtH,KACjB,KAAK,QAAQ,IAAI,EAEjB,KAAK,QAAUA,GAEX,CAAC,KAAK,QAAQ,WAAW,CACzB,MAAMuH,EAAkB,IAAM,KAAK,UAE/B,OAAO,OAAO,oBAAwB,IAEtC,OAAO,oBAAoBA,CAAe,EAG1C,WAAWA,EAAiB,GAAI,CAEvC,CAER,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,eAAe,KAAK,IAAK,EACxC,CAID,YAAa,CACT,YAAK,IAAI,YAAY,EACrBnP,GAAO,KAAK,aAAe,GAAI,uBAAuB,EAEtD,KAAK,UAAU,KAAK,sBAAsB,KAAK,WAAa,KAAK,UAAU,EAC3E,KAAK,QAAQ,aAAa,KAAK,QAAQ,EACvC,KAAK,UAAY,GACV,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACf,KAAK,QAAU4H,GACR,IACV,CACL,CC7KO,MAAMwH,WAA2BL,EAAc,CAClD,aAAc,CACV,MAAM7L,EAAqBkM,GAAmB,YAAW,EAAI,UAAW,CAAC,QAAQ,CAAC,CAAC,EACnF,KAAK,KAAO,qBAIZ,KAAK,QAAU,KAAK,QAAQ,qBAAoB,EAChD,MAAMr6D,EAAUmuD,EAAqBkM,GAAmB,YAAa,EAAE,UAAW,CAAC,QAAQ,CAAC,EAC5F92B,GAAQ,KAAK,QAAS,KAAK,SAAS,EACpC,KAAK,OAAS,IAAI40B,GAAM,CACpB,QAAS,KAAK,QACd,QAASn4D,EAAQ,QACjB,MAAO,KAAK,QAAQ,OACpB,MAAOA,EAAQ,MACf,MAAOA,EAAQ,OACf,SAAUA,EAAQ,SAClB,SAAUA,EAAQ,QAC9B,CAAS,CACJ,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOg6D,GAAc,YAAW,EAAI,CAC9C,QAAS,GACT,OAAQ,EACR,MAAO,QACnB,CAAS,CACJ,CAKD,MAAMtrC,EAAM,CACR,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,IAAI,QAAS0pC,CAAY,EAC9B,KAAK,WAAWA,CAAY,EAC5B,KAAK,QAAQ,MAAMA,CAAY,EACxB,IACV,CACD,YAAY1pC,EAAM,CACd,KAAK,QAAQ,KAAKA,CAAI,CACzB,CACD,SAAU,CACN,aAAM,QAAO,EACT,KAAK,QAAU,WACf,KAAK,KAAI,EAEb,KAAK,QAAQ,aACb,KAAK,OAAO,UACL,IACV,CACL,CClCO,MAAM4rC,WAAelB,EAAc,CACtC,aAAc,CACV,MAAMjL,EAAqBmM,GAAO,YAAa,EAAE,UAAW,CAAC,QAAS,OAAO,CAAC,CAAC,EAC/E,KAAK,KAAO,SAIZ,KAAK,SAAW,GAChB,MAAMt6D,EAAUmuD,EAAqBmM,GAAO,YAAW,EAAI,UAAW,CAAC,QAAS,OAAO,CAAC,EACxF,KAAK,OAAS,KAAK,gBAAkB,IAAID,GAAmB,CACxD,QAAS,KAAK,QACd,QAASr6D,EAAQ,QACjB,OAAQA,EAAQ,MAChB,MAAOA,EAAQ,MACf,SAAUA,EAAQ,SAClB,SAAUA,EAAQ,QAC9B,CAAS,EACD,KAAK,gBAAgB,MAAM,CAAC,EAC5B,KAAK,MAAQ,KAAK,OAAS,KAAK,gBAAgB,MACnD,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,QAAS,GACT,MAAO,SACP,MAAO,CACnB,CAAS,CACJ,CACD,QAAQ1hC,EAAa4hC,EAAY,EAAGC,EAAW,EAAG,CAE9C,OAAAgB,GAAc,KAAM7iC,EAAa4hC,EAAWC,CAAQ,EAC7C,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAAO,UACZ,KAAK,gBAAgB,UACd,IACV,CAMD,eAAe7sE,EAAOgiC,EAAM,CACxB,YAAK,OAAO,eAAehiC,EAAOgiC,CAAI,EAC/B,IACV,CACD,eAAeA,EAAM,CACjB,OAAO,KAAK,OAAO,eAAeA,CAAI,CACzC,CACD,aAAaA,EAAM,CACf,YAAK,OAAO,aAAaA,CAAI,EACtB,IACV,CACD,wBAAwBhiC,EAAOgiC,EAAM,CACjC,YAAK,OAAO,wBAAwBhiC,EAAOgiC,CAAI,EACxC,IACV,CACD,6BAA6BhiC,EAAOgiC,EAAM,CACtC,YAAK,OAAO,6BAA6BhiC,EAAOgiC,CAAI,EAC7C,IACV,CACD,kBAAkBhiC,EAAO+rE,EAAUlqC,EAAW,CAC1C,YAAK,OAAO,kBAAkB7hC,EAAO+rE,EAAUlqC,CAAS,EACjD,IACV,CACD,aAAa7hC,EAAO+rE,EAAUlqC,EAAW,CACrC,YAAK,OAAO,aAAa7hC,EAAO+rE,EAAUlqC,CAAS,EAC5C,IACV,CACD,aAAa7hC,EAAO+rE,EAAUlqC,EAAW,CACrC,YAAK,OAAO,aAAa7hC,EAAO+rE,EAAUlqC,CAAS,EAC5C,IACV,CACD,+BAA+B7hC,EAAOgiC,EAAM+pC,EAAU,CAClD,YAAK,OAAO,+BAA+B/rE,EAAOgiC,EAAM+pC,CAAQ,EACzD,IACV,CACD,gBAAgB/rE,EAAO6hC,EAAWK,EAAc,CAC5C,YAAK,OAAO,gBAAgBliC,EAAO6hC,EAAWK,CAAY,EACnD,IACV,CACD,oBAAoB3yB,EAAQsyB,EAAW5I,EAAU+yC,EAAS,CACtD,YAAK,OAAO,oBAAoBz8D,EAAQsyB,EAAW5I,EAAU+yC,CAAO,EAC7D,IACV,CACD,sBAAsBhqC,EAAM,CACxB,YAAK,OAAO,sBAAsBA,CAAI,EAC/B,IACV,CACD,oBAAoBA,EAAM,CACtB,YAAK,OAAO,oBAAoBA,CAAI,EAC7B,IACV,CACD,OAAOhiC,EAAO+rE,EAAUlqC,EAAW,CAC/B,YAAK,OAAO,OAAO7hC,EAAO+rE,EAAUlqC,CAAS,EACtC,IACV,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,OAAO,KACtB,CACD,IAAI,MAAM7hC,EAAO,CACb,KAAK,OAAO,MAAQA,CACvB,CACD,IAAI,SAAU,CACV,OAAO,KAAK,OAAO,OACtB,CACD,IAAI,QAAQ8tE,EAAS,CACjB,KAAK,OAAO,QAAUA,CACzB,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,OAAO,KACtB,CACD,IAAI,YAAa,CACb,OAAO,KAAK,OAAO,UACtB,CACD,IAAI,WAAWC,EAAY,CACvB,KAAK,OAAO,WAAaA,CAC5B,CACD,IAAI,UAAW,CACX,OAAO,KAAK,OAAO,QACtB,CACD,IAAI,UAAW,CACX,OAAO,KAAK,OAAO,QACtB,CAID,MAAMlL,EAAO,CACT,YAAK,OAAO,MAAMA,CAAK,EAChB,IACV,CACL,CAWO,SAASgL,GAAcG,EAAQhjC,EAAa4hC,EAAWC,EAAU,EAChE7hC,aAAuBygC,IAAS1K,GAAa/1B,CAAW,GACvDA,aAAuB4iC,IAAU5iC,EAAY,YAE9CA,EAAY,sBAAsB,CAAC,EAEnCA,EAAY,eAAe,EAAG,CAAC,EAE3BA,aAAuB4iC,KACvB5iC,EAAY,WAAa,KAGjC6L,GAAQm3B,EAAQhjC,EAAa4hC,EAAWC,CAAQ,CACpD,CC5KO,MAAMoB,WAAkBxC,EAAM,CACjC,aAAc,CACV,MAAMhK,EAAqBwM,GAAU,YAAW,EAAI,UAAW,CAAC,OAAO,CAAC,CAAC,EACzE,KAAK,KAAO,YAIZ,KAAK,QAAU,IAAItL,GAAS,GAAQ,EAIpC,KAAK,YAAc,EACnB,MAAMrvD,EAAUmuD,EAAqBwM,GAAU,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,EAElF,KAAK,YAAc36D,EAAQ,WAE3B,KAAK,QAAQ,OAAO,CAAC,EAErB,KAAK,QAAQ,IAAI,CACb,MAAO,EACP,KAAM,EACN,KAAM,iBACN,MAAO,KAAK,UAAUA,EAAQ,KAAK,CAC/C,CAAS,EACD,KAAK,eAAeA,EAAQ,MAAO,CAAC,CACvC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOm4D,GAAM,YAAW,EAAI,CACtC,WAAY,EACZ,MAAO,QACP,MAAO,CACnB,CAAS,CACJ,CACD,gBAAgBzrE,EAAOgiC,EAAMsiC,EAAU,CAEnCtiC,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,aAAaA,CAAI,EACtB,MAAMksC,EAAgB,KAAK,UAAUluE,CAAK,EAEpCmuE,EAAY,KAAK,QAAQ,IAAInsC,CAAI,EACjClpB,EAAW,KAAK,MAAM,KAAK,IAAI,EAAIwrD,EAAU,CAAC,CAAC,EACrD,QAASrlE,EAAI,EAAGA,GAAK6Z,EAAU7Z,IAAK,CAChC,MAAMitE,EAAU5H,EAAWrlE,EAAI+iC,EACzBosC,EAAU,KAAK,qBAAqBD,EAAU,KAAMA,EAAU,MAAOD,EAAe5J,EAAU4H,CAAO,EAC3G,KAAK,wBAAwB,KAAK,QAAQkC,CAAO,EAAGlC,CAAO,CAC9D,CACD,OAAO,IACV,CACD,eAAelsE,EAAOgiC,EAAM,CACxB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,MAAM,eAAehiC,EAAOgiC,CAAI,EAChC,MAAM9vB,EAAQ,KAAK,QAAQ,IAAIw5D,CAAY,EACrCU,EAAgB,KAAK,QAAQ,cAAcl6D,CAAK,EAChDm8D,EAAiB,KAAK,oBAAoBjC,EAAeV,CAAY,EAC3E,OAAAx5D,EAAM,MAAQ,KAAK,IAAIm8D,EAAgB,CAAC,EACjC,IACV,CACD,wBAAwBruE,EAAOgiC,EAAM,CACjC,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,MAAM,wBAAwBhiC,EAAOgiC,CAAI,EACzC,MAAM9vB,EAAQ,KAAK,QAAQ,IAAIw5D,CAAY,EACrCU,EAAgB,KAAK,QAAQ,cAAcl6D,CAAK,EAChDm8D,EAAiB,KAAK,oBAAoBjC,EAAeV,CAAY,EAC3E,OAAAx5D,EAAM,MAAQ,KAAK,IAAIm8D,EAAgB,CAAC,EACjC,IACV,CACD,6BAA6BruE,EAAOgiC,EAAM,CAEtCA,EAAO,KAAK,UAAUA,CAAI,EAC1B,MAAMssC,EAAc,KAAK,UAAUtuE,CAAK,EAElCmuE,EAAY,KAAK,QAAQ,IAAInsC,CAAI,EAEjClpB,EAAW,KAAK,MAAM,KAAK,KAAKkpB,EAAOmsC,EAAU,MAAQ,GAAI,CAAC,CAAC,EAC/DI,GAAevsC,EAAOmsC,EAAU,MAAQr1D,EAC9C,QAAS7Z,EAAI,EAAGA,GAAK6Z,EAAU7Z,IAAK,CAChC,MAAMitE,EAAUqC,EAAatvE,EAAIkvE,EAAU,KACrCC,EAAU,KAAK,wBAAwBD,EAAU,KAAMA,EAAU,MAAOnsC,EAAMssC,EAAapC,CAAO,EACxG,KAAK,wBAAwB,KAAK,QAAQkC,CAAO,EAAGlC,CAAO,CAC9D,CACD,OAAO,IACV,CAOD,oBAAoBh6D,EAAO8vB,EAAM,CAC7B,GAAI9vB,IAAU,KACVA,EAAQ,CACJ,MAAO,EACP,KAAM,EACN,KAAM,iBACN,MAAO,CACvB,UAEiBisD,GAAQjsD,EAAM,KAAK,EAAG,CAC3B,MAAMk6D,EAAgB,KAAK,QAAQ,cAAcl6D,CAAK,EACtDA,EAAM,MAAQ,KAAK,oBAAoBk6D,EAAel6D,EAAM,IAAI,CACnE,CACD,MAAMs8D,EAAO,KAAK,UAAU,KAAK,eAAet8D,EAAM,IAAI,CAAC,EAC3D,IAAIu8D,EAAO,KAAK,UAAU,KAAK,eAAezsC,CAAI,CAAC,EAEnD,MAAM0sC,EAAiB,KAAK,QAAQ,IAAI1sC,CAAI,EAC5C,OAAI0sC,GAAkBA,EAAe,OAAS1sC,GAAQ0sC,EAAe,OAAS,mBAC1ED,EAAO,KAAK,UAAU,KAAK,eAAezsC,EAAO,KAAK,UAAU,CAAC,GAE9D,IAAOA,EAAO9vB,EAAM,OAASs8D,EAAOC,GAAQv8D,EAAM,KAC5D,CAOD,eAAe8vB,EAAM,CACjB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAClC9vB,EAAQ,KAAK,QAAQ,IAAIw5D,CAAY,EAC3C,OAAO,KAAK,IAAI,KAAK,oBAAoBx5D,EAAOw5D,CAAY,EAAG,CAAC,CACnE,CAOD,mBAAmBjC,EAAOznC,EAAM,CAC5B,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAClC2sC,EAAc,KAAK,eAAe3sC,CAAI,EAC5C,OAAO,KAAK,cAAc2sC,EAAclF,CAAK,EAAIiC,CACpD,CAKD,cAAckD,EAAM,CAChB,MAAMv2C,EAAS,KAAK,QAAQ,IAAIu2C,EAAM,OAAO,EACvC9L,EAAQ,KAAK,QAAQ,SAAS8L,EAAM,OAAO,EACjD,GAAIv2C,GAAUA,EAAO,QAAUu2C,EAC3B,OAAOv2C,EAAO,KAEb,GAAIA,GAAUyqC,GACfA,EAAM,OAAS,2BACfzqC,EAAO,QAAUyqC,EAAM,MAAO,CAC9B,MAAM0L,EAAO,KAAK,UAAU,KAAK,eAAen2C,EAAO,IAAI,CAAC,EAEtDw2C,GADO,KAAK,UAAU,KAAK,eAAe/L,EAAM,IAAI,CAAC,EACrC0L,IAAS1L,EAAM,KAAOzqC,EAAO,MAC7C0I,EAAI,KAAK,KAAK,KAAK,IAAIytC,EAAM,CAAC,EAAI,EAAIK,GAASx2C,EAAO,MAAQu2C,EAAK,EACnEE,GAAQ,CAACN,EAAOztC,GAAK8tC,EACrBE,GAAQ,CAACP,EAAOztC,GAAK8tC,EAC3B,OAAQC,EAAO,EAAIA,EAAOC,GAAQ12C,EAAO,IAC5C,KACI,QAAIA,EACDA,EAAO,QAAU,EACV,IAGAA,EAAO,MAAQu2C,EAAOv2C,EAAO,OAASA,EAAO,MAIjDu2C,EAAO,KAAK,aAE1B,CAQD,YAAYnF,EAAOp6B,EAAM,CACrB,OAAO,KAAK,mBAAmBo6B,EAAOp6B,CAAI,CAC7C,CASD,YAAYpW,EAAUoW,EAAM,CACxB,MAAMq8B,EAAe,KAAK,UAAUr8B,CAAI,EAClC2/B,EAAmB,KAAK,UAAU/1C,CAAQ,EAC1Cg2C,EAAa,KAAK,eAAevD,CAAY,EAEnD,OADiB,KAAK,eAAeA,EAAesD,CAAgB,EAClDC,CACrB,CAID,UAAU7wE,EAAK,CACX,OAAI,KAAK,QAAU,OAAS,KAAK,WACtB,GAAK,GAAKA,EAAM,KAAK,YAGrB,MAAM,UAAUA,CAAG,CAEjC,CAID,QAAQA,EAAK,CACT,OAAI,KAAK,QAAU,OAAS,KAAK,WACrBA,EAAM,KAAK,WAAc,GAG1B,MAAM,QAAQA,CAAG,CAE/B,CAID,IAAI,YAAa,CACb,OAAO,KAAK,WACf,CACD,IAAI,WAAWkoB,EAAG,CAGd,MAAMwlD,EAAa,KAAK,MACxB,KAAK,YAAcxlD,EACnB,KAAK,sBAAsB,CAAC,EAC5B,KAAK,eAAewlD,EAAY,CAAC,CACpC,CACL,CC/NO,MAAMoD,WAAmBtB,EAAO,CACnC,aAAc,CACV,MAAMnM,EAAqByN,GAAW,YAAW,EAAI,UAAW,CAAC,OAAO,CAAC,CAAC,EAC1E,KAAK,KAAO,aACZ,MAAM57D,EAAUmuD,EAAqByN,GAAW,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,EACnF,KAAK,MAAQ,KAAK,OAAS,IAAIjB,GAAU,CACrC,QAAS,KAAK,QACd,QAAS36D,EAAQ,QACjB,WAAYA,EAAQ,WACpB,MAAO,KAAK,gBAAgB,OAC5B,MAAOA,EAAQ,MACf,MAAOA,EAAQ,KAC3B,CAAS,CACJ,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOs6D,GAAO,YAAW,EAAI,CACvC,WAAY,EACZ,MAAO,QACP,MAAO,CACnB,CAAS,CACJ,CACD,YAAYnE,EAAOp6B,EAAM,CACrB,OAAO,KAAK,OAAO,YAAYo6B,EAAOp6B,CAAI,CAC7C,CACD,YAAYpW,EAAUoW,EAAM,CACxB,OAAO,KAAK,OAAO,YAAYpW,EAAUoW,CAAI,CAChD,CACD,cAAcu/B,EAAM,CAChB,OAAO,KAAK,OAAO,cAAcA,CAAI,CACxC,CACD,mBAAmBnF,EAAOznC,EAAM,CAC5B,OAAO,KAAK,OAAO,mBAAmBynC,EAAOznC,CAAI,CACpD,CACD,eAAeA,EAAM,CACjB,OAAO,KAAK,OAAO,eAAeA,CAAI,CACzC,CAID,IAAI,YAAa,CACb,OAAO,KAAK,OAAO,UACtB,CACD,IAAI,WAAW1b,EAAG,CACd,KAAK,OAAO,WAAaA,CAC5B,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAAO,UACL,IACV,CACL,CCnDO,MAAM6oD,WAAmB/D,EAAgB,CAC5C,aAAc,CACV,MAAM3J,EAAqB0N,GAAW,YAAW,EAAI,UAAW,CAAC,WAAW,CAAC,CAAC,EAC9E,KAAK,KAAO,aAIZ,KAAK,OAAS,IAAI5D,GAIlB,KAAK,YAAc,IAAI5I,GAIvB,KAAK,aAAe,IAAIA,GAIxB,KAAK,eAAiB,IAAIA,GAC1B,MAAMrvD,EAAUmuD,EAAqB0N,GAAW,YAAa,EAAE,UAAW,CAAC,WAAW,CAAC,EACvF,KAAK,UAAY,IAAID,GAAW,CAC5B,QAAS,KAAK,QACd,MAAO57D,EAAQ,MACf,MAAOA,EAAQ,SAC3B,CAAS,EACD2yD,GAAS,KAAM,WAAW,EAE1B,KAAK,OAAO,eAAe,UAAW,CAAC,EAEvC,KAAK,eAAe,EAAG,CAAC,CAC3B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO,CACjB,UAAW,EACX,MAAO,OACnB,EAAWmF,GAAgB,YAAW,CAAE,CACnC,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,eAAe,KAAK,IAAK,EACxC,CAOD,MAAMppC,EAAMsN,EAAQ,CAChB,MAAMo8B,EAAe,KAAK,UAAU1pC,CAAI,EACxC,OAAI,KAAK,OAAO,eAAe0pC,CAAY,IAAM,YAC7C,KAAK,OAAO,eAAe,UAAWA,CAAY,EAC9CtN,GAAU9uB,CAAM,GAChB,KAAK,eAAeA,EAAQo8B,CAAY,EAE5C,KAAK,aAAa,OAAOA,CAAY,EACrC,KAAK,eAAe,OAAOA,CAAY,GAEpC,IACV,CAKD,KAAK1pC,EAAM,CACP,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAExC,GAAI,KAAK,OAAO,eAAe0pC,CAAY,IAAM,UAAW,CACxD,MAAMx5D,EAAQ,KAAK,OAAO,IAAIw5D,CAAY,EACtCx5D,GAASA,EAAM,KAAO,IACtB,KAAK,YAAY,OAAOA,EAAM,IAAI,EAClC,KAAK,OAAO,OAAOA,EAAM,IAAI,EAEpC,CACD,YAAK,OAAO,OAAOw5D,CAAY,EAC/B,KAAK,OAAO,eAAe,UAAWA,CAAY,EAClD,KAAK,eAAe,EAAGA,CAAY,EACnC,KAAK,aAAa,OAAOA,CAAY,EACrC,KAAK,eAAe,OAAOA,CAAY,EAChC,IACV,CAKD,MAAM1pC,EAAM,CACR,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,OAAI,KAAK,OAAO,eAAe0pC,CAAY,IAAM,YAC7C,KAAK,OAAO,eAAe,SAAUA,CAAY,EACjD,KAAK,aAAa,OAAOA,CAAY,EACrC,KAAK,eAAe,OAAOA,CAAY,GAEpC,IACV,CAKD,OAAO1pC,EAAM,CACT,OAAAA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,OAAO,OAAOA,CAAI,EACvB,KAAK,YAAY,OAAOA,CAAI,EAC5B,KAAK,aAAa,OAAOA,CAAI,EAC7B,KAAK,eAAe,OAAOA,CAAI,EACxB,IACV,CAMD,eAAeA,EAAM,CACjB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAClCotC,EAAY,KAAK,OAAO,aAAa,UAAW1D,CAAY,EAE5D2D,EAAgB,KAAK,aAAa,IAAI3D,CAAY,EAElD4D,EAAW,CAAE,MAAO,SAAU,KAAM5D,CAAY,EACtD,KAAK,OAAO,IAAI4D,CAAQ,EAExB,IAAIC,EAAYF,GAAgCD,EAC5CI,EAAeH,EAAgBA,EAAc,MAAQ,EACrDI,EAAiB,KAErB,YAAK,OAAO,eAAeF,EAAU,KAAM7D,EAAe,KAAK,WAAY50C,GAAK,CAC5E,IAAI44C,EAAkBH,EAAU,KAEhC,MAAMI,EAAc,KAAK,YAAY,IAAI74C,EAAE,IAAI,EAC3C64C,GAAeA,EAAY,MAAQJ,EAAU,OAC7CC,EAAeG,EAAY,MAC3BD,EAAkBC,EAAY,MAE9BJ,EAAU,QAAU,WAAaz4C,EAAE,QAAU,YAC7C04C,GAAgB,KAAK,UAAU,eAAe14C,EAAE,IAAI,EAAI,KAAK,UAAU,eAAe44C,CAAe,EAEjG54C,EAAE,MAAQw4C,EAAS,OACnBG,EAAiB,CAAE,MAAO34C,EAAE,MAAO,KAAMA,EAAE,KAAM,MAAO04C,KAGhED,EAAYz4C,CACxB,CAAS,EAED,KAAK,OAAO,OAAOw4C,CAAQ,EAEvBG,GACA,KAAK,aAAa,IAAIA,CAAc,EAGjCD,CACV,CAKD,IAAI,OAAQ,CACR,OAAO,KAAK,eAAe,KAAK,IAAK,EACxC,CACD,IAAI,MAAMnL,EAAG,CACT,KAAK,eAAeA,EAAG,KAAK,IAAK,EACpC,CAKD,IAAI,SAAU,CACV,OAAO,KAAK,iBAAiB,KAAK,IAAK,EAC1C,CACD,IAAI,QAAQvsD,EAAG,CACX,MAAMysD,EAAM,KAAK,MACXkF,EAAQ,KAAK,UAAU,YAAY3xD,EAAGysD,CAAG,EAC/C,KAAK,eAAekF,EAAOlF,CAAG,CACjC,CAMD,iBAAiBviC,EAAM,CACnBA,EAAO,KAAK,UAAUA,CAAI,EAC1B,MAAMotC,EAAY,KAAK,OAAO,aAAa,UAAWptC,CAAI,EAEpDstC,EAAW,CAAE,MAAO,SAAU,KAAAttC,CAAI,EACxC,KAAK,OAAO,IAAIstC,CAAQ,EAExB,MAAMD,EAAgB,KAAK,eAAe,IAAIrtC,CAAI,EAElD,IAAIutC,EAAYF,GAAgCD,EAC5CQ,EAAiBP,EAAgBA,EAAc,QAAU,EACzDI,EAAiB,KAErB,YAAK,OAAO,eAAeF,EAAU,KAAMvtC,EAAO,KAAK,WAAYlL,GAAK,CACpE,IAAI44C,EAAkBH,EAAU,KAEhC,MAAMI,EAAc,KAAK,YAAY,IAAI74C,EAAE,IAAI,EAC3C64C,GAAeA,EAAY,MAAQJ,EAAU,OAC7CK,EAAiBD,EAAY,QAC7BD,EAAkBC,EAAY,MAE9BJ,EAAU,QAAU,WAAaz4C,EAAE,QAAU,YAC7C84C,GAAkB94C,EAAE,KAAO44C,EAEvB54C,EAAE,MAAQw4C,EAAS,OACnBG,EAAiB,CAAE,MAAO34C,EAAE,MAAO,KAAMA,EAAE,KAAM,QAAS84C,KAGlEL,EAAYz4C,CACxB,CAAS,EAED,KAAK,OAAO,OAAOw4C,CAAQ,EAEvBG,GACA,KAAK,eAAe,IAAIA,CAAc,EAGnCG,CACV,CAMD,eAAenG,EAAOznC,EAAM,CACxB,OAAAA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,YAAY,OAAOA,CAAI,EAC5B,KAAK,YAAY,IAAI,CACjB,QAAS,KAAK,UAAU,mBAAmBynC,EAAOznC,CAAI,EACtD,MAAAynC,EACA,KAAAznC,CACZ,CAAS,EACD,KAAK,aAAa,OAAOA,CAAI,EAC7B,KAAK,eAAe,OAAOA,CAAI,EACxB,IACV,CAKD,eAAeA,EAAM,CACjB,OAAAA,EAAO,KAAK,UAAUA,CAAI,EACnB,KAAK,OAAO,eAAeA,CAAI,CACzC,CASD,cAAc4sC,EAAMv2C,EAAS,KAAK,IAAG,EAAI,CACrC,MAAMiX,EAAS,KAAK,YAAY,IAAIjX,CAAM,EACpCnmB,EAAQ,KAAK,OAAO,IAAImmB,CAAM,EAC9BwJ,EAAY,KAAK,IAAIyN,EAAO,KAAMp9B,EAAM,IAAI,EAC5C29D,EAAgB,KAAK,UAAU,eAAehuC,CAAS,EAAI+sC,EAAOt/B,EAAO,MAC/E,OAAO,KAAK,UAAU,cAAcugC,CAAa,CACpD,CAQD,mBAAmBhuC,EAAWJ,EAASp3B,EAAU,CAE7C,IAAIylE,EAAiB,KAAK,OAAO,IAAIjuC,CAAS,EAC9C,KAAK,OAAO,eAAeA,EAAWJ,EAASvvB,GAAS,CAChD49D,GAAkBA,EAAe,QAAU,WAAa59D,EAAM,QAAU,WACxE,KAAK,mBAAmB,KAAK,IAAI49D,EAAe,KAAMjuC,CAAS,EAAG3vB,EAAM,KAAO,KAAK,WAAY7H,CAAQ,EAE5GylE,EAAiB59D,CAC7B,CAAS,EACD,IAAIkqC,EAAQ,KACZ,GAAI0zB,GAAkBA,EAAe,QAAU,UAAW,CACtD,MAAMC,EAAe,KAAK,IAAID,EAAe,KAAMjuC,CAAS,EAEtDotC,EAAa,KAAK,UAAU,eAAec,CAAY,EACvDC,EAAe,KAAK,UAAU,eAAeF,EAAe,IAAI,EAChE/9D,EAAOk9D,EAAae,EAC1B,IAAI1gC,EAAS,KAAK,KAAKv9B,CAAI,EAAIA,EAE/Bu9B,EAASizB,GAAGjzB,EAAQ,CAAC,EAAI,EAAIA,EAC7B,IAAI2gC,EAAe,KAAK,UAAU,cAAchB,EAAa3/B,CAAM,EACnE,KAAO2gC,EAAexuC,GAAS,CAC3B,GAAI,CACAp3B,EAAS4lE,EAAc,KAAK,MAAM,KAAK,eAAeA,CAAY,CAAC,CAAC,CACvE,OACMn5C,EAAG,CACNslB,EAAQtlB,EACR,KACH,CACDm5C,GAAgB,KAAK,UAAU,mBAAmB,EAAGA,CAAY,CACpE,CACJ,CACD,GAAI7zB,EACA,MAAMA,EAEV,OAAO,IACV,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAAO,UACZ,KAAK,YAAY,UACjB,KAAK,aAAa,UAClB,KAAK,eAAe,UACpB,KAAK,UAAU,UACR,IACV,CACL,CC9SO,MAAM8zB,WAAc9E,EAAgB,CACvC,aAAc,CACV,MAAM3J,EAAqByO,GAAM,YAAa,EAAE,UAAW,CAAC,WAAY,WAAW,CAAC,CAAC,EACrF,KAAK,KAAO,QAIZ,KAAK,SAAW/J,GAIhB,KAAK,YAAc,EAInB,KAAK,OAAS,IAAIoF,GAAc,SAAS,EAKzC,KAAK,WAAa,KAAK,MAAM,KAAK,IAAI,EACtC,MAAMj4D,EAAUmuD,EAAqByO,GAAM,YAAW,EAAI,UAAW,CAAC,WAAY,WAAW,CAAC,EAC9F,KAAK,SAAW58D,EAAQ,SACxB,KAAK,YAAc,IAAI67D,GAAW,CAC9B,QAAS,KAAK,QACd,UAAW77D,EAAQ,UACnB,MAAOA,EAAQ,KAC3B,CAAS,EACD,KAAK,YAAc,EACnB,KAAK,UAAY,KAAK,YAAY,UAClC2yD,GAAS,KAAM,WAAW,EAE1B,KAAK,OAAO,eAAe,UAAW,CAAC,EAEvC,KAAK,QAAQ,GAAG,OAAQ,KAAK,UAAU,CAC1C,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOmF,GAAgB,YAAW,EAAI,CAChD,SAAUjF,GACV,UAAW,EACX,MAAO,OACnB,CAAS,CACJ,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,OAAO,eAAe,KAAK,IAAK,EAC/C,CAOD,MAAMnkC,EAAMsN,EAAQ,CAEhBsvB,GAAqB,KAAK,OAAO,EAEjC,MAAM8M,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,IAAI,QAAS0pC,CAAY,EAC1B,KAAK,OAAO,eAAeA,CAAY,IAAM,YAC7C,KAAK,OAAO,eAAe,UAAWA,CAAY,EAClD,KAAK,YAAY,MAAMA,EAAcp8B,CAAM,EACvCo8B,EAAe,KAAK,aACpB,KAAK,KAAK,QAASA,EAAcp8B,CAAM,GAGxC,IACV,CAYD,KAAKtN,EAAM,CACP,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,IAAI,OAAQ0pC,CAAY,EAC7B,KAAK,OAAO,OAAOA,CAAY,EAC/B,KAAK,OAAO,eAAe,UAAWA,CAAY,EAClD,KAAK,YAAY,KAAKA,CAAY,EAC9BA,EAAe,KAAK,aACpB,KAAK,KAAK,OAAQA,CAAY,EAE3B,IACV,CAKD,MAAM1pC,EAAM,CACR,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,OAAI,KAAK,OAAO,eAAe0pC,CAAY,IAAM,YAC7C,KAAK,OAAO,eAAe,SAAUA,CAAY,EACjD,KAAK,YAAY,MAAMA,CAAY,EAC/BA,EAAe,KAAK,aACpB,KAAK,KAAK,QAASA,CAAY,GAGhC,IACV,CAKD,IAAI,OAAQ,CACR,OAAO,KAAK,KAAK,KAAK,eAAe,KAAK,IAAK,EAAC,CACnD,CACD,IAAI,MAAMrH,EAAG,CACT,KAAK,YAAY,MAAQA,CAC5B,CAID,IAAI,SAAU,CACV,OAAO,KAAK,YAAY,OAC3B,CACD,IAAI,QAAQvsD,EAAG,CACX,KAAK,YAAY,QAAUA,CAC9B,CAMD,iBAAiBkqB,EAAM,CACnB,OAAO,KAAK,YAAY,iBAAiBA,CAAI,CAChD,CAMD,eAAeynC,EAAOznC,EAAM,CACxB,YAAK,YAAY,eAAeynC,EAAOznC,CAAI,EACpC,IACV,CASD,cAAc4sC,EAAMv2C,EAAS,KAAK,IAAG,EAAI,CACrC,OAAO,KAAK,YAAY,cAAcu2C,EAAMv2C,CAAM,CACrD,CAMD,eAAe2J,EAAM,CACjB,OAAO,KAAK,YAAY,eAAeA,CAAI,CAC9C,CAKD,aAAasN,EAAQD,EAAM,CACvB,MAAMq8B,EAAe,KAAK,UAAUr8B,CAAI,EAClCs/B,EAAc,KAAK,eAAejD,CAAY,EACpD,OAAO,KAAK,YAAY,cAAciD,EAAcr/B,EAAQo8B,CAAY,CAC3E,CAID,OAAQ,CACJ,MAAM7pC,EAAY,KAAK,YACjBJ,EAAU,KAAK,MACrB,KAAK,YAAcA,EACnB,KAAK,IAAI,OAAQI,EAAWJ,CAAO,EAC/BI,IAAcJ,IAEd,KAAK,OAAO,eAAeI,EAAWJ,EAAS3K,GAAK,CAChD,OAAQA,EAAE,MAAK,CACX,IAAK,UACD,MAAMwY,EAAS,KAAK,YAAY,eAAexY,EAAE,IAAI,EACrD,KAAK,KAAK,QAASA,EAAE,KAAMwY,CAAM,EACjC,MACJ,IAAK,UACGxY,EAAE,OAAS,GACX,KAAK,KAAK,OAAQA,EAAE,IAAI,EAE5B,MACJ,IAAK,SACD,KAAK,KAAK,QAASA,EAAE,IAAI,EACzB,KACP,CACjB,CAAa,EAED,KAAK,YAAY,mBAAmB+K,EAAWJ,EAAS,CAACO,EAAMynC,IAAU,CACrE,KAAK,SAASznC,EAAMynC,CAAK,CACzC,CAAa,EAER,CAUD,eAAeznC,EAAM,CACjB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,OAAO,KAAK,OAAO,eAAe0pC,CAAY,CACjD,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,IAAI,OAAQ,KAAK,UAAU,EACxC,KAAK,YAAY,UACjB,KAAK,OAAO,UACL,IACV,CACL,CACA/H,GAAQ,MAAMuM,EAAK,ECzOZ,MAAMC,WAAczD,EAAc,CACrC,aAAc,CACV,MAAMjL,EAAqB0O,GAAM,YAAa,EAAE,UAAW,CAAC,YAAa,UAAU,CAAC,CAAC,EACrF,KAAK,KAAO,QACZ,MAAM78D,EAAUmuD,EAAqB0O,GAAM,YAAW,EAAI,UAAW,CAAC,YAAa,UAAU,CAAC,EACxFC,EAAoB,KAAK,UAAU98D,EAAQ,QAAQ,EACzD,KAAK,UAAY,KAAK,IAAI88D,EAAmB,KAAK,UAAU98D,EAAQ,SAAS,CAAC,EAC9E,KAAK,WAAa,KAAK,MAAQ,KAAK,OAAS,KAAK,QAAQ,YAAY88D,CAAiB,EACvF,KAAK,UAAY,IAAI3E,GAAM,CACvB,QAAS,KAAK,QACd,MAAO,KAAK,WAAW,UACvB,MAAO,OACP,MAAOn4D,EAAQ,UACf,SAAU,EACV,SAAU,KAAK,QAC3B,CAAS,EACD2yD,GAAS,KAAM,WAAW,CAC7B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,UAAW,EACX,SAAU,CACtB,CAAS,CACJ,CAKD,IAAI,UAAW,CACX,OAAO,KAAK,SACf,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,WAAW,aAChB,KAAK,UAAU,UACR,IACV,CACL,CCzBO,MAAM2D,WAAyBlO,EAAK,CACvC,aAAc,CACV,QACA,KAAK,KAAO,mBAIZ,KAAK,SAAW,IAAI,IAIpB,KAAK,cAAgB,EACrB,MAAM7uD,EAAUmuD,EAAqB4O,GAAiB,YAAW,EAAI,UAAW,CAAC,OAAQ,SAAU,SAAS,EAAG,MAAM,EACrH,KAAK,QAAU/8D,EAAQ,QAEvB,OAAO,KAAKA,EAAQ,IAAI,EAAE,QAAQ9Q,GAAQ,CACtC,KAAK,gBACL,MAAMmkC,EAAMrzB,EAAQ,KAAK9Q,CAAI,EAC7B,KAAK,IAAIA,EAAMmkC,EAAK,KAAK,cAAc,KAAK,KAAMrzB,EAAQ,MAAM,EAAGA,EAAQ,OAAO,CAC9F,CAAS,CACJ,CACD,OAAO,aAAc,CACjB,MAAO,CACH,QAAS,GACT,QAAS6yD,GACT,OAAQA,GACR,KAAM,CAAE,CACpB,CACK,CAKD,IAAI3jE,EAAM,CACN,OAAO,KAAK,SAAS,IAAIA,EAAK,SAAU,EAC3C,CAMD,IAAIA,EAAM,CACN,OAAA+7D,GAAO,KAAK,IAAI/7D,CAAI,EAAG,yCAAyCA,CAAI,EAAE,EAC/D,KAAK,SAAS,IAAIA,EAAK,SAAU,EAC3C,CAID,cAAc6H,EAAU,CACpB,KAAK,gBACD,KAAK,gBAAkB,GAAKA,GAC5BA,GAEP,CAID,IAAI,QAAS,CACT,OAAO,MAAM,KAAK,KAAK,QAAQ,EAAE,MAAM,CAAC,CAAC3J,EAAGoyC,CAAM,IAAMA,EAAO,MAAM,CACxE,CAQD,IAAItwC,EAAMmkC,EAAKt8B,EAAW87D,GAAMmK,EAAUnK,GAAM,CAC5C,OAAIxmE,GAASgnC,CAAG,GAER,KAAK,SAAWA,EAAI,KAAM,EAAC,UAAU,EAAG,EAAE,EAAE,YAAW,IAAO,gBAC9D,KAAK,QAAU,IAEnB,KAAK,SAAS,IAAInkC,EAAK,SAAQ,EAAI,IAAI4jE,GAAgB,KAAK,QAAUz/B,EAAKt8B,EAAUimE,CAAO,CAAC,GAG7F,KAAK,SAAS,IAAI9tE,EAAK,SAAQ,EAAI,IAAI4jE,GAAgBz/B,EAAKt8B,EAAUimE,CAAO,CAAC,EAE3E,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,SAAS,QAAQx9B,GAAUA,EAAO,QAAO,CAAE,EAChD,KAAK,SAAS,QACP,IACV,CACL,CC5GO,MAAMy9B,WAAkB5F,EAAe,CAC1C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,YACZ,KAAK,aAAe,MACvB,CAID,kBAAkBrC,EAAM,CACpB,OAAOC,GAAK,MAAM,kBAAkBD,CAAI,CAAC,CAC5C,CAID,cAAcmB,EAAO,CACjB,OAAOlB,GAAK,MAAM,cAAckB,CAAK,CAAC,CACzC,CAID,cAAcF,EAAO,CACjB,OAAOhB,GAAK,MAAM,cAAcgB,CAAK,CAAC,CACzC,CAID,gBAAgBC,EAAS,CACrB,OAAOjB,GAAK,MAAM,gBAAgBiB,CAAO,CAAC,CAC7C,CAMD,QAAS,CACL,OAAO,KAAK,SACf,CAMD,aAAc,CACV,OAAOd,GAAK,KAAK,OAAM,CAAE,CAC5B,CAOD,UAAU5H,EAAU,CAChB,OAAO,IAAIyP,GAAU,KAAK,QAAS,KAAK,OAAM,EAAKzP,CAAQ,CAC9D,CACL,CAKO,SAAS0P,GAAKxwE,EAAO6oE,EAAO,CAC/B,OAAO,IAAI0H,GAAUlK,GAAY,EAAErmE,EAAO6oE,CAAK,CACnD,CC7DO,MAAM4H,WAAmBtF,EAAmB,CAC/C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,QACZ,KAAK,aAAe,GACvB,CAID,MAAO,CACH,OAAO,KAAK,QAAQ,UAAU,KACjC,CAID,cAAc5B,EAAO,CACjB,OAAO,KAAK,QAAS,EAAGA,CAC3B,CAID,gBAAgBC,EAAS,CACrB,OAAO,KAAK,MAAMA,GAAW,GAAK,KAAK,QAAO,GAAM,KAAK,QAAO,CAAE,CACrE,CAID,cAAcC,EAAO,CACjB,OAAOA,CACV,CAID,SAAU,CACN,OAAO,KAAK,SACf,CAID,WAAY,CACR,OAAQ,KAAK,QAAO,EAAK,KAAK,QAAS,GAAK,GAAK,KAAK,QAAO,EAChE,CACL,CC/BO,MAAMiH,WAAatF,EAAgB,CACtC,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,OAIZ,KAAK,WAAa,IAMlB,KAAK,aAAe,KAIpB,KAAK,QAAU,IAAIzI,GAInB,KAAK,eAAiB,KAAK,UAAU,KAAK,IAAI,EAI9C,KAAK,gBAAkB,EAC1B,CAYD,SAASt4D,EAAU23B,EAAM,CACrB,YAAK,QAAQ,IAAI,CACb,SAAA33B,EACA,KAAM,KAAK,UAAU23B,CAAI,CACrC,CAAS,EAEG,KAAK,QAAQ,SAAW,IACxB,KAAK,gBAAkB,sBAAsB,KAAK,cAAc,GAE7D,IACV,CAKD,OAAO8gC,EAAO,CACV,YAAK,QAAQ,OAAO,KAAK,UAAUA,CAAK,CAAC,EAClC,IACV,CAID,WAAY,CACR,MAAMyB,EAAM,KAAK,QAAQ,YACzB,KAAO,KAAK,QAAQ,QAAU,KAAK,QAAQ,KAAI,EAAG,KAAO,KAAK,cAAgBA,GAAK,CAC/E,MAAMryD,EAAQ,KAAK,QAAQ,MAAK,EAC5BA,GAASqyD,EAAMryD,EAAM,MAAQ,KAAK,YAClCA,EAAM,SAAQ,CAErB,CACG,KAAK,QAAQ,OAAS,IACtB,KAAK,gBAAkB,sBAAsB,KAAK,cAAc,EAEvE,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACb,qBAAqB,KAAK,eAAe,EAClC,IACV,CACL,CAIAoxD,GAAc57C,GAAW,CACrBA,EAAQ,KAAO,IAAIgpD,GAAK,CAAE,QAAAhpD,CAAS,EACvC,CAAC,EACD+7C,GAAe/7C,GAAW,CACtBA,EAAQ,KAAK,SACjB,CAAC,ECjGM,MAAMipD,WAAyBxO,EAAK,CACvC,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,mBAIZ,KAAK,MAAQ,KAIb,KAAK,QAAU,CAClB,CAMD,IAAIjwD,EAAO,CACPqsD,GAAOH,GAAUlsD,EAAM,IAAI,EAAG,kCAAkC,EAChEqsD,GAAOH,GAAUlsD,EAAM,QAAQ,EAAG,uCAAuC,EACzEA,EAAM,KAAOA,EAAM,KAAK,QAAO,EAC/B,IAAIimB,EAAO,IAAIy4C,GAAa1+D,EAAM,KAAMA,EAAM,KAAOA,EAAM,SAAUA,CAAK,EAS1E,IARI,KAAK,QAAU,KACf,KAAK,MAAQimB,EAGb,KAAK,MAAM,OAAOA,CAAI,EAE1B,KAAK,UAEEA,IAAS,MACZA,EAAK,aAAY,EACjBA,EAAK,UAAS,EACd,KAAK,WAAWA,CAAI,EACpBA,EAAOA,EAAK,OAEhB,OAAO,IACV,CAKD,OAAOjmB,EAAO,CACV,GAAI,KAAK,QAAU,KAAM,CACrB,MAAM2+D,EAAU,GAChB,KAAK,MAAM,OAAO3+D,EAAM,KAAM2+D,CAAO,EACrC,UAAW14C,KAAQ04C,EACf,GAAI14C,EAAK,QAAUjmB,EAAO,CACtB,KAAK,YAAYimB,CAAI,EACrB,KAAK,UACL,KACH,CAER,CACD,OAAO,IACV,CAKD,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CAKD,OAAO2qC,EAAO,CACV,YAAK,YAAYA,EAAO5wD,GAAS,KAAK,OAAOA,CAAK,CAAC,EAC5C,IACV,CAID,SAASimB,EAAM,CACX,KAAK,MAAQA,EACT,KAAK,QAAU,OACf,KAAK,MAAM,OAAS,KAE3B,CAKD,qBAAqBA,EAAM24C,EAAa,CAChC34C,EAAK,SAAW,MACZA,EAAK,cACLA,EAAK,OAAO,KAAO24C,EAGnB34C,EAAK,OAAO,MAAQ24C,EAExB,KAAK,WAAW34C,EAAK,MAAM,GAG3B,KAAK,SAAS24C,CAAW,CAEhC,CAKD,YAAY34C,EAAM,CACd,GAAIA,EAAK,OAAS,MAAQA,EAAK,QAAU,KACrC,KAAK,qBAAqBA,EAAM,IAAI,UAE/BA,EAAK,QAAU,KACpB,KAAK,qBAAqBA,EAAMA,EAAK,IAAI,UAEpCA,EAAK,OAAS,KACnB,KAAK,qBAAqBA,EAAMA,EAAK,KAAK,MAEzC,CACD,MAAM44C,EAAU54C,EAAK,aACrB,IAAI24C,EACAE,EAAO,KACX,GAAID,EAAU,EACV,GAAI54C,EAAK,KAAK,QAAU,KACpB24C,EAAc34C,EAAK,KACnB24C,EAAY,MAAQ34C,EAAK,MACzB64C,EAAOF,MAEN,CAED,IADAA,EAAc34C,EAAK,KAAK,MACjB24C,EAAY,QAAU,MACzBA,EAAcA,EAAY,MAE1BA,EAAY,SACZA,EAAY,OAAO,MAAQA,EAAY,KACvCE,EAAOF,EAAY,OACnBA,EAAY,KAAO34C,EAAK,KACxB24C,EAAY,MAAQ34C,EAAK,MAEhC,SAEIA,EAAK,MAAM,OAAS,KACzB24C,EAAc34C,EAAK,MACnB24C,EAAY,KAAO34C,EAAK,KACxB64C,EAAOF,MAEN,CAED,IADAA,EAAc34C,EAAK,MAAM,KAClB24C,EAAY,OAAS,MACxBA,EAAcA,EAAY,KAE1BA,EAAY,SACZA,EAAY,OAAO,KAAOA,EAAY,MACtCE,EAAOF,EAAY,OACnBA,EAAY,KAAO34C,EAAK,KACxB24C,EAAY,MAAQ34C,EAAK,MAEhC,CACGA,EAAK,SAAW,KACZA,EAAK,cACLA,EAAK,OAAO,KAAO24C,EAGnB34C,EAAK,OAAO,MAAQ24C,EAIxB,KAAK,SAASA,CAAW,EAEzBE,GACA,KAAK,WAAWA,CAAI,CAE3B,CACD74C,EAAK,QAAO,CACf,CAID,YAAYA,EAAM,CACd,MAAMxyB,EAASwyB,EAAK,OACd84C,EAAc94C,EAAK,cAEnB+4C,EAAY/4C,EAAK,MACnB+4C,IACA/4C,EAAK,MAAQ+4C,EAAU,KACvBA,EAAU,KAAO/4C,GAEjBxyB,IAAW,KACPsrE,EACAtrE,EAAO,KAAOurE,EAGdvrE,EAAO,MAAQurE,EAInB,KAAK,SAASA,CAAS,CAE9B,CAID,aAAa/4C,EAAM,CACf,MAAMxyB,EAASwyB,EAAK,OACd84C,EAAc94C,EAAK,cAEnB+4C,EAAY/4C,EAAK,KACnB+4C,IACA/4C,EAAK,KAAO+4C,EAAU,MACtBA,EAAU,MAAQ/4C,GAElBxyB,IAAW,KACPsrE,EACAtrE,EAAO,KAAOurE,EAGdvrE,EAAO,MAAQurE,EAInB,KAAK,SAASA,CAAS,CAE9B,CAID,WAAW/4C,EAAM,CACb,MAAM44C,EAAU54C,EAAK,aACjB44C,EAAU,GAAK54C,EAAK,KAChBA,EAAK,KAAK,WAAU,EAAK,EACzB,KAAK,YAAYA,EAAK,IAAI,EAG1B,KAAK,aAAaA,CAAI,EAGrB44C,EAAU,IAAM54C,EAAK,QACtBA,EAAK,MAAM,WAAU,EAAK,EAC1B,KAAK,aAAaA,EAAK,KAAK,EAG5B,KAAK,YAAYA,CAAI,EAGhC,CAMD,IAAI6J,EAAM,CACN,GAAI,KAAK,QAAU,KAAM,CACrB,MAAM6uC,EAAU,GAEhB,GADA,KAAK,MAAM,OAAO7uC,EAAM6uC,CAAO,EAC3BA,EAAQ,OAAS,EAAG,CACpB,IAAIjxD,EAAMixD,EAAQ,CAAC,EACnB,QAAS,EAAI,EAAG,EAAIA,EAAQ,OAAQ,IAC5BA,EAAQ,CAAC,EAAE,IAAMjxD,EAAI,MACrBA,EAAMixD,EAAQ,CAAC,GAGvB,OAAOjxD,EAAI,KACd,CACJ,CACD,OAAO,IACV,CAKD,QAAQvV,EAAU,CACd,GAAI,KAAK,QAAU,KAAM,CACrB,MAAM8mE,EAAW,GACjB,KAAK,MAAM,SAASh5C,GAAQg5C,EAAS,KAAKh5C,CAAI,CAAC,EAC/Cg5C,EAAS,QAAQh5C,GAAQ,CACjBA,EAAK,OACL9tB,EAAS8tB,EAAK,KAAK,CAEvC,CAAa,CACJ,CACD,OAAO,IACV,CAOD,cAAc6J,EAAM33B,EAAU,CAC1B,GAAI,KAAK,QAAU,KAAM,CACrB,MAAMwmE,EAAU,GAChB,KAAK,MAAM,OAAO7uC,EAAM6uC,CAAO,EAC/BA,EAAQ,QAAQ14C,GAAQ,CAChBA,EAAK,OACL9tB,EAAS8tB,EAAK,KAAK,CAEvC,CAAa,CACJ,CACD,OAAO,IACV,CAOD,YAAY6J,EAAM33B,EAAU,CACxB,GAAI,KAAK,QAAU,KAAM,CACrB,MAAMwmE,EAAU,GAChB,KAAK,MAAM,YAAY7uC,EAAM6uC,CAAO,EACpCA,EAAQ,QAAQ14C,GAAQ,CAChBA,EAAK,OACL9tB,EAAS8tB,EAAK,KAAK,CAEvC,CAAa,CACJ,CACD,OAAO,IACV,CAID,SAAU,CACN,aAAM,QAAO,EACT,KAAK,QAAU,MACf,KAAK,MAAM,SAASA,GAAQA,EAAK,QAAO,CAAE,EAE9C,KAAK,MAAQ,KACN,IACV,CACL,CAcA,MAAMy4C,EAAa,CACf,YAAYQ,EAAKC,EAAMn/D,EAAO,CAE1B,KAAK,MAAQ,KAEb,KAAK,OAAS,KAEd,KAAK,OAAS,KAEd,KAAK,OAAS,EACd,KAAK,MAAQA,EAEb,KAAK,IAAMk/D,EAEX,KAAK,KAAOC,EAEZ,KAAK,IAAM,KAAK,IACnB,CAID,OAAOl5C,EAAM,CACLA,EAAK,KAAO,KAAK,IACb,KAAK,OAAS,KACd,KAAK,KAAOA,EAGZ,KAAK,KAAK,OAAOA,CAAI,EAGpB,KAAK,QAAU,KACpB,KAAK,MAAQA,EAGb,KAAK,MAAM,OAAOA,CAAI,CAE7B,CAOD,OAAOm5C,EAAOT,EAAS,CAGfS,EAAQ,KAAK,MAIb,KAAK,OAAS,MACd,KAAK,KAAK,OAAOA,EAAOT,CAAO,EAG/B,KAAK,KAAOS,GAAS,KAAK,KAAOA,GACjCT,EAAQ,KAAK,IAAI,EAIjB,OAAK,IAAMS,IAIX,KAAK,QAAU,MACf,KAAK,MAAM,OAAOA,EAAOT,CAAO,EAEvC,CAOD,YAAYS,EAAOT,EAAS,CAEpB,KAAK,KAAOS,IACZT,EAAQ,KAAK,IAAI,EACb,KAAK,OAAS,MACd,KAAK,KAAK,YAAYS,EAAOT,CAAO,GAIxC,KAAK,QAAU,MACf,KAAK,MAAM,YAAYS,EAAOT,CAAO,CAE5C,CAKD,SAASxmE,EAAU,CACfA,EAAS,IAAI,EACT,KAAK,OAAS,MACd,KAAK,KAAK,SAASA,CAAQ,EAE3B,KAAK,QAAU,MACf,KAAK,MAAM,SAASA,CAAQ,CAEnC,CAID,cAAe,CACP,KAAK,OAAS,MAAQ,KAAK,QAAU,KACrC,KAAK,OAAS,KAAK,IAAI,KAAK,KAAK,OAAQ,KAAK,MAAM,MAAM,EAAI,EAEzD,KAAK,QAAU,KACpB,KAAK,OAAS,KAAK,MAAM,OAAS,EAE7B,KAAK,OAAS,KACnB,KAAK,OAAS,KAAK,KAAK,OAAS,EAGjC,KAAK,OAAS,CAErB,CAID,WAAY,CACR,KAAK,IAAM,KAAK,KACZ,KAAK,OAAS,OACd,KAAK,IAAM,KAAK,IAAI,KAAK,IAAK,KAAK,KAAK,GAAG,GAE3C,KAAK,QAAU,OACf,KAAK,IAAM,KAAK,IAAI,KAAK,IAAK,KAAK,MAAM,GAAG,EAEnD,CAKD,YAAa,CACT,IAAI0mE,EAAU,EACd,OAAI,KAAK,OAAS,MAAQ,KAAK,QAAU,KACrCA,EAAU,KAAK,KAAK,OAAS,KAAK,MAAM,OAEnC,KAAK,OAAS,KACnBA,EAAU,KAAK,KAAK,OAAS,EAExB,KAAK,QAAU,OACpBA,EAAU,EAAE,KAAK,MAAM,OAAS,IAE7BA,CACV,CAID,aAAc,CACV,OAAO,KAAK,SAAW,MAAQ,KAAK,OAAO,OAAS,IACvD,CAID,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,KAAK54C,EAAM,CACX,KAAK,MAAQA,EACTA,IAAS,OACTA,EAAK,OAAS,MAElB,KAAK,aAAY,EACjB,KAAK,UAAS,CACjB,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,MACf,CACD,IAAI,MAAMA,EAAM,CACZ,KAAK,OAASA,EACVA,IAAS,OACTA,EAAK,OAAS,MAElB,KAAK,aAAY,EACjB,KAAK,UAAS,CACjB,CAID,SAAU,CACN,KAAK,OAAS,KACd,KAAK,MAAQ,KACb,KAAK,OAAS,KACd,KAAK,MAAQ,IAChB,CACL,CC7gBO,MAAMo5C,WAAe7E,EAAc,CACtC,aAAc,CACV,MAAMjL,EAAqB8P,GAAO,YAAW,EAAI,UAAW,CAAC,QAAQ,CAAC,CAAC,EACvE,KAAK,KAAO,SACZ,MAAMj+D,EAAUmuD,EAAqB8P,GAAO,YAAa,EAAE,UAAW,CAAC,QAAQ,CAAC,EAChF,KAAK,MAAQ,KAAK,OAAS,IAAIlE,GAAK,CAChC,QAAS,KAAK,QACd,KAAM/5D,EAAQ,OACd,MAAO,UACnB,CAAS,EACD,KAAK,OAAS,KAAK,OAAO,KAC1B2yD,GAAS,KAAM,QAAQ,EACvB,KAAK,eAAiB3yD,EAAQ,OAE9B,KAAK,KAAOA,EAAQ,IACvB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,KAAM,GACN,OAAQ,CACpB,CAAS,CACJ,CASD,IAAI,MAAO,CACP,OAAO,KAAK,OAAO,QAAU,IAChC,CACD,IAAI,KAAK8E,EAAM,CACP,CAAC,KAAK,MAAQA,GACd,KAAK,eAAiB,KAAK,OAAO,MAElC,KAAK,OAAO,MAAQ,MAEf,KAAK,MAAQ,CAACA,IACnB,KAAK,OAAO,MAAQ,KAAK,eAEhC,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,MAAM,UACX,KAAK,OAAO,UACL,IACV,CACL,CC5CO,MAAMC,WAAoB/E,EAAc,CAC3C,aAAc,CACV,MAAMjL,EAAqBgQ,GAAY,YAAW,EAAI,SAAS,CAAC,EAChE,KAAK,KAAO,cACZ,KAAK,MAAQ,IAAIF,GAAO,CAAE,QAAS,KAAK,OAAO,CAAE,EACjD,KAAK,OAAS,IAAIlE,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAShD,KAAK,OAAS,KAAK,MAAM,OACzB,MAAM/5D,EAAUmuD,EAAqBgQ,GAAY,YAAa,EAAE,SAAS,EACzE1E,GAAc,KAAK,MAAO,KAAK,OAAQ,KAAK,QAAQ,WAAW,WAAW,EAC1E,KAAK,KAAOz5D,EAAQ,KACpB,KAAK,kBAAoB,CAAC,KAAK,MAAO,KAAK,QAAQ,WAAW,YAAa,KAAK,MAAM,CACzF,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,KAAM,GACN,OAAQ,CACpB,CAAS,CACJ,CAUD,IAAI,MAAO,CACP,OAAO,KAAK,MAAM,IACrB,CACD,IAAI,KAAK8E,EAAM,CACX,KAAK,MAAM,KAAOA,CACrB,CAWD,SAAS/pE,EAAM,CACX,YAAK,MAAM,aACXA,EAAK,QAAQ,KAAK,KAAK,EACvBA,EAAK,KAAK,KAAK,MAAM,EACrBslE,GAAc,GAAGtlE,CAAI,EACd,IACV,CAMD,IAAI,iBAAkB,CAClB,OAAO,KAAK,QAAQ,WAAW,YAAY,eAC9C,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAAO,UACL,IACV,CACL,CAIA67D,GAAc57C,GAAW,CACrBA,EAAQ,YAAc,IAAI+pD,GAAY,CAAE,QAAA/pD,CAAS,EACrD,CAAC,EACD+7C,GAAe/7C,GAAW,CACtBA,EAAQ,YAAY,SACxB,CAAC,EClGM,MAAMgqD,WAAsBvP,EAAK,CAIpC,YAAY/jC,EAAc,CACtB,QACA,KAAK,KAAO,gBAIZ,KAAK,UAAY,IAAIukC,GAAS,CAAE,OAAQ,EAAE,CAAE,EAC5C,KAAK,cAAgBvkC,CACxB,CAID,IAAIp+B,EAAOgiC,EAAM,CACb,YAAK,UAAU,IAAI,CACf,MAAAhiC,EAAO,KAAAgiC,CACnB,CAAS,EACM,IACV,CAID,IAAIA,EAAM,CACN,MAAM9vB,EAAQ,KAAK,UAAU,IAAI8vB,CAAI,EACrC,OAAI9vB,EACOA,EAAM,MAGN,KAAK,aAEnB,CACL,CCjCO,MAAMy/D,WAAuBjF,EAAc,CAC9C,aAAc,CACV,MAAM,OAAO,OAAOjL,EAAqBkQ,GAAe,YAAa,EAAE,UAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAClG,CACD,QAAQ3mC,EAAa4hC,EAAY,EAAGC,EAAW,EAAG,CAC9C,OAAAgB,GAAc,KAAM7iC,EAAa4hC,EAAWC,CAAQ,EAC7C,IACV,CACL,CCEO,MAAM+E,WAAmBD,EAAe,CAC3C,aAAc,CACV,MAAM,OAAO,OAAOlQ,EAAqBmQ,GAAW,cAAe,UAAW,CAAC,UAAW,QAAQ,CAAC,CAAC,CAAC,EACrG,KAAK,KAAO,aAIZ,KAAK,QAAU,KAAK,QAAQ,iBAAgB,EAI5C,KAAK,MAAQ,KAAK,QAIlB,KAAK,OAAS,KAAK,QACnB,MAAMt+D,EAAUmuD,EAAqBmQ,GAAW,YAAW,EAAI,UAAW,CAAC,UAAW,QAAQ,CAAC,EAC3FxyE,GAAQkU,EAAQ,OAAO,GAAKA,EAAQ,mBAAmB,aACvD,KAAK,MAAQ,aAAa,KAAKA,EAAQ,OAAO,EAEzC5T,GAAW4T,EAAQ,OAAO,GAC/B,KAAK,OAAOA,EAAQ,QAASA,EAAQ,MAAM,CAElD,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOs6D,GAAO,YAAW,EAAI,CACvC,OAAQ,IACpB,CAAS,CACJ,CAaD,OAAOiE,EAASxjC,EAAS,KAAM,CAC3B,MAAMtB,EAAQ,IAAI,aAAasB,CAAM,EACrC,QAAS,EAAI,EAAGza,EAAMya,EAAQ,EAAIza,EAAK,IAAK,CACxC,MAAM7xB,EAAc,GAAK6xB,EAAM,GAAM,EAAI,EACzCmZ,EAAM,CAAC,EAAI8kC,EAAQ9vE,EAAY,CAAC,CACnC,CACD,YAAK,MAAQgrC,EACN,IACV,CAMD,IAAI,OAAQ,CACR,OAAO,KAAK,QAAQ,KACvB,CACD,IAAI,MAAM8kC,EAAS,CACf,KAAK,QAAQ,MAAQA,CACxB,CAKD,IAAI,YAAa,CACb,OAAO,KAAK,QAAQ,UACvB,CACD,IAAI,WAAWC,EAAc,CACzB,MAAMC,EAAmB,CAAC,OAAQ,KAAM,IAAI,EAAE,KAAK/zE,GAAOA,EAAI,SAAS8zE,CAAY,CAAC,EACpFvT,GAAOwT,EAAkB,mDAAmD,EAC5E,KAAK,QAAQ,WAAaD,CAC7B,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,aACN,IACV,CACL,CCrFO,MAAME,WAAYL,EAAe,CACpC,aAAc,CACV,MAAM,OAAO,OAAOlQ,EAAqBuQ,GAAI,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAClF,KAAK,KAAO,MACZ,MAAM1+D,EAAUmuD,EAAqBuQ,GAAI,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,EAC5E,KAAK,gBAAkB,KAAK,MAAQ,KAAK,OAAS,IAAIJ,GAAW,CAC7D,QAAS,KAAK,QACd,QAAS,KAAK,SAASt+D,EAAQ,KAAK,EACpC,OAAQ,IACpB,CAAS,EACD,KAAK,UAAYA,EAAQ,KAC5B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOq+D,GAAe,YAAW,EAAI,CAC/C,MAAO,CACnB,CAAS,CACJ,CAKD,SAASM,EAAU,CACf,OAAQ7zE,GACG,KAAK,IAAI,KAAK,IAAIA,CAAG,EAAG6zE,CAAQ,CAE9C,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,SACf,CACD,IAAI,MAAMA,EAAU,CAChB,KAAK,UAAYA,EACjB,KAAK,gBAAgB,OAAO,KAAK,SAAS,KAAK,SAAS,CAAC,CAC5D,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,gBAAgB,UACd,IACV,CACL,CClDO,MAAMC,EAAe,CAIxB,YAAYC,EAAWtQ,EAAM,CAIzB,KAAK,GAAKqQ,GAAe,WAKzB,KAAK,eAAiB,EACtB,MAAM5+D,EAAU,OAAO,OAAO4+D,GAAe,YAAW,EAAIrQ,CAAI,EAChE,KAAK,UAAYsQ,EACjB,KAAK,SAAW7+D,EAAQ,SACxB,KAAK,MAAQA,EAAQ,KACrB,KAAK,KAAO,KAAK,MAAMA,EAAQ,IAAI,EACnC,KAAK,eAAiBA,EAAQ,KAAO,KAAK,IAC7C,CACD,OAAO,aAAc,CACjB,MAAO,CACH,SAAU6yD,GACV,KAAM,GACN,KAAM,CAClB,CACK,CAID,IAAI,WAAY,CACZ,OAAO,KAAK,KAAO,KAAK,cAC3B,CAKD,OAAOnkC,EAAM,CACT,GAAI,KAAK,SAAU,CACf,MAAMowC,EAAe,KAAK,UAAU,IAAI,mBAAmB,EAAGpwC,CAAI,EAClE,KAAK,SAASA,EAAO,KAAK,eAAiBowC,CAAY,EACnD,KAAK,OACL,KAAK,UAAU,MAAM,KAAK,EAAE,CAEnC,CACJ,CAID,SAAU,CACN,YAAK,SAAW,OACT,IACV,CACL,CAIAF,GAAe,SAAW,ECzDnB,MAAMG,WAA6BH,EAAe,CAIrD,YAAYC,EAAWtQ,EAAM,CACzB,MAAMsQ,EAAWtQ,CAAI,EAIrB,KAAK,WAAa,GAIlB,KAAK,QAAU,GAIf,KAAK,UAAY,KAAK,KAItB,KAAK,cAAgB,KAAK,SAAS,KAAK,IAAI,EAC5C,MAAMvuD,EAAU,OAAO,OAAO++D,GAAqB,YAAW,EAAIxQ,CAAI,EACtE,KAAK,SAAWvuD,EAAQ,SACxB,KAAK,UAAYA,EAAQ,SACzB,KAAK,UAAYA,EAAQ,KACzB,KAAK,UAAU,GAAG,QAAS,KAAK,aAAa,EAC7C,KAAK,UAAU,GAAG,YAAa,KAAK,aAAa,EACjD,KAAK,UAAU,GAAG,QAAS,KAAK,aAAa,EAC7C,KAAK,QAAU,KAAK,UAAU,QAC9B,KAAK,SAAQ,CAChB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO,CAAE,EAAE4+D,GAAe,YAAW,EAAI,CACnD,SAAU,IACV,SAAU,EACV,KAAM,EAClB,CAAS,CACJ,CAMD,OAAOlwC,EAAM,CAET,KAAK,cAAcA,CAAI,EAEvB,MAAM,OAAOA,CAAI,CACpB,CAID,cAAe,CACX,OAAIwgC,GAAG,KAAK,UAAW,KAAK,UAAY,KAAK,QAAQ,EAC1C,KAAK,UAAU,aAAa,KAAK,OAAO,KAAK,IAAI,EAAG,IAAIiO,GAAW,KAAK,QAAS,KAAK,SAAS,EAAE,UAAS,CAAE,EAEhH,EACV,CAID,cAAczuC,EAAM,CAIZwgC,GAAG,KAAK,UAAY,KAAK,UAAW,KAAK,UAAY,KAAK,QAAQ,IAClE,KAAK,WAAa,KAAK,UACvB,KAAK,WAAa,KAAK,QACvB,KAAK,QAAU,KAAK,UAAU,aAAa,KAAK,OAAO,KAAK,IAAI,EAAG,IAAIiO,GAAW,KAAK,QAAS,KAAK,SAAS,EAAE,UAAS,CAAE,EAElI,CAID,SAASzuC,EAAM,CACX,KAAK,UAAU,MAAM,KAAK,UAAU,EACpC,KAAK,UAAU,MAAM,KAAK,OAAO,EAEjC,KAAK,UAAY,KAAK,UACtB,MAAMynC,EAAQ,KAAK,UAAU,eAAeznC,CAAI,EAC5CqgC,GAAGoH,EAAO,KAAK,IAAI,IAEnB,KAAK,UAAY,KAAK,UAAY,KAAK,MAAMA,EAAQ,KAAK,WAAa,KAAK,SAAS,EAAI,KAAK,WAElG,KAAK,WAAa,KAAK,eACvB,KAAK,WAAa,KAAK,UACvB,KAAK,QAAU,KAAK,cACvB,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,MAAM,KAAK,UAAU,EACpC,KAAK,UAAU,MAAM,KAAK,OAAO,EACjC,KAAK,UAAU,IAAI,QAAS,KAAK,aAAa,EAC9C,KAAK,UAAU,IAAI,YAAa,KAAK,aAAa,EAClD,KAAK,UAAU,IAAI,QAAS,KAAK,aAAa,EACvC,IACV,CACL,QCpEO,MAAM6I,WAAkBlH,EAAgB,CAC3C,aAAc,CACV,MAAM3J,EAAqB6Q,GAAU,YAAW,EAAI,SAAS,CAAC,EAC9D,KAAK,KAAO,YAOZ,KAAK,MAAQ,IAAIZ,GAAc,EAAK,EAIpC,KAAK,WAAa,EAIlB,KAAK,SAAW,EAOhB,KAAK,iBAAmB,GAIxB,KAAK,UAAY,IAAI/O,GAIrB,KAAK,gBAAkB,IAAIgO,GAI3B,KAAK,eAAiB,GAItB,KAAK,aAAe,EACpB,MAAMr9D,EAAUmuD,EAAqB6Q,GAAU,YAAa,EAAE,SAAS,EAEvE,KAAK,KAAOh/D,EAAQ,IACpB,KAAK,OAAS,IAAI48D,GAAM,CACpB,SAAU,KAAK,aAAa,KAAK,IAAI,EACrC,QAAS,KAAK,QACd,UAAW,EACX,MAAO,KACnB,CAAS,EACD,KAAK,iBAAgB,EACrB,KAAK,IAAM,KAAK,OAAO,UACvB,KAAK,OAAO,UAAU,WAAa58D,EAAQ,IAC3C,KAAK,IAAI,eAAeA,EAAQ,IAAK,CAAC,EACtC2yD,GAAS,KAAM,KAAK,EACpB,KAAK,eAAiB3yD,EAAQ,cAE9B,KAAK,YAAcA,EAAQ,IAAM,CACpC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO83D,GAAgB,YAAW,EAAI,CAChD,IAAK,IACL,QAAS,KACT,UAAW,EACX,IAAK,IACL,MAAO,EACP,iBAAkB,KAClB,cAAe,CAC3B,CAAS,CACJ,CAQD,aAAamH,EAAU9I,EAAO,CAY1B,GAVI,KAAK,MAAM,IAAI8I,CAAQ,GACnB9I,GAAS,KAAK,WACd,KAAK,KAAK,UAAW8I,CAAQ,EAC7B,KAAK,OAAO,eAAe,KAAK,WAAYA,CAAQ,EACpD9I,EAAQ,KAAK,WACb,KAAK,KAAK,YAAa8I,EAAU,KAAK,OAAO,iBAAiBA,CAAQ,CAAC,EACvE,KAAK,KAAK,OAAQA,CAAQ,GAI9B,KAAK,aAAe,GACpB9I,EAAQ,KAAK,OAAS,GACtBA,GAAS,KAAK,YAAc,KAAO,EAAG,CAEtC,MAAM+I,EAAY/I,GAAS,KAAK,YAAc,IAAO,KAAK,YAAc,GAClEgJ,EAAS,KAAK,IAAID,EAAW,KAAK,EAAE,EAAI,KAAK,aACnDD,GACI,IAAI9B,GAAW,KAAK,QAAU,KAAK,YAAc,EAAK,CAAC,EAAE,UAAS,EAAKgC,CAC9E,CAEDzT,GAAuB,EAAI,EAC3B,KAAK,UAAU,cAAcyK,EAAQv3D,GAAUA,EAAM,OAAOqgE,CAAQ,CAAC,EACrEvT,GAAuB,EAAK,CAC/B,CAgBD,SAAS30D,EAAU23B,EAAM,CACrB,MAAM9vB,EAAQ,IAAIggE,GAAe,KAAM,CACnC,SAAA7nE,EACA,KAAM,IAAI8gE,GAAmB,KAAK,QAASnpC,CAAI,EAAE,QAAS,CACtE,CAAS,EACD,OAAO,KAAK,UAAU9vB,EAAO,KAAK,SAAS,CAC9C,CAiBD,eAAe7H,EAAUy2D,EAAUj/B,EAAW5I,EAAW,IAAU,CAC/D,MAAM/mB,EAAQ,IAAImgE,GAAqB,KAAM,CACzC,SAAAhoE,EACA,SAAU,IAAIq/D,GAAU,KAAK,QAASzwC,CAAQ,EAAE,QAAS,EACzD,SAAU,IAAIywC,GAAU,KAAK,QAAS5I,CAAQ,EAAE,QAAS,EACzD,KAAM,IAAIqK,GAAmB,KAAK,QAAStpC,CAAS,EAAE,QAAS,CAC3E,CAAS,EAGD,OAAO,KAAK,UAAU3vB,EAAO,KAAK,eAAe,CACpD,CAOD,aAAa7H,EAAU23B,EAAM,CACzB,MAAM9vB,EAAQ,IAAIggE,GAAe,KAAM,CACnC,SAAA7nE,EACA,KAAM,GACN,KAAM,IAAI8gE,GAAmB,KAAK,QAASnpC,CAAI,EAAE,QAAS,CACtE,CAAS,EACD,OAAO,KAAK,UAAU9vB,EAAO,KAAK,SAAS,CAC9C,CAKD,MAAMwgE,EAAS,CACX,GAAI,KAAK,iBAAiB,eAAeA,CAAO,EAAG,CAC/C,MAAM5wE,EAAO,KAAK,iBAAiB4wE,EAAQ,SAAU,GACrD5wE,EAAK,SAAS,OAAOA,EAAK,KAAK,EAC/BA,EAAK,MAAM,UACX,OAAO,KAAK,iBAAiB4wE,EAAQ,SAAU,EAClD,CACD,OAAO,IACV,CAMD,UAAUxgE,EAAOygE,EAAU,CACvB,YAAK,iBAAiBzgE,EAAM,GAAG,SAAU,GAAI,CACzC,MAAAA,EACA,SAAAygE,CACZ,EACQA,EAAS,IAAIzgE,CAAK,EACXA,EAAM,EAChB,CAOD,OAAO4wD,EAAQ,EAAG,CACd,MAAM8P,EAAgB,KAAK,QAAQ9P,CAAK,EACxC,YAAK,UAAU,YAAY8P,EAAgB1gE,GAAU,KAAK,MAAMA,EAAM,EAAE,CAAC,EACzE,KAAK,gBAAgB,YAAY0gE,EAAgB1gE,GAAU,KAAK,MAAMA,EAAM,EAAE,CAAC,EACxE,IACV,CAOD,kBAAmB,CACf,KAAK,OAAO,GAAG,QAAS,CAAC8vB,EAAMsN,IAAW,CACtCA,EAAS,IAAImhC,GAAW,KAAK,QAASnhC,CAAM,EAAE,YAC9C,KAAK,KAAK,QAAStN,EAAMsN,CAAM,CAC3C,CAAS,EACD,KAAK,OAAO,GAAG,OAAStN,GAAS,CAC7B,KAAK,KAAK,OAAQA,CAAI,CAClC,CAAS,EACD,KAAK,OAAO,GAAG,QAAUA,GAAS,CAC9B,KAAK,KAAK,QAASA,CAAI,CACnC,CAAS,CACJ,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,OAAO,eAAe,KAAK,IAAK,EAC/C,CASD,MAAMA,EAAMsN,EAAQ,CAEhB,KAAK,QAAQ,SACb,IAAIujC,EACJ,OAAIzU,GAAU9uB,CAAM,IAChBujC,EAAc,KAAK,QAAQvjC,CAAM,GAGrC,KAAK,OAAO,MAAMtN,EAAM6wC,CAAW,EAC5B,IACV,CAOD,KAAK7wC,EAAM,CACP,YAAK,OAAO,KAAKA,CAAI,EACd,IACV,CAID,MAAMA,EAAM,CACR,YAAK,OAAO,MAAMA,CAAI,EACf,IACV,CAMD,OAAOA,EAAM,CACT,OAAAA,EAAO,KAAK,UAAUA,CAAI,EACtB,KAAK,OAAO,eAAeA,CAAI,IAAM,UACrC,KAAK,MAAMA,CAAI,EAGf,KAAK,KAAKA,CAAI,EAEX,IACV,CAeD,IAAI,eAAgB,CAChB,OAAO,KAAK,cACf,CACD,IAAI,cAAc8wC,EAAS,CACnB1zE,GAAQ0zE,CAAO,IACfA,EAAWA,EAAQ,CAAC,EAAIA,EAAQ,CAAC,EAAK,GAE1C,KAAK,eAAiBA,CACzB,CAID,IAAI,WAAY,CACZ,OAAO,IAAIpJ,GAAU,KAAK,QAAS,KAAK,WAAY,GAAG,EAAE,WAC5D,CACD,IAAI,UAAUqJ,EAAe,CACzB,KAAK,WAAa,KAAK,QAAQA,CAAa,CAC/C,CAID,IAAI,SAAU,CACV,OAAO,IAAIrJ,GAAU,KAAK,QAAS,KAAK,SAAU,GAAG,EAAE,WAC1D,CACD,IAAI,QAAQsJ,EAAa,CACrB,KAAK,SAAW,KAAK,QAAQA,CAAW,CAC3C,CAID,IAAI,MAAO,CACP,OAAO,KAAK,MAAM,IAAI,KAAK,IAAK,EACnC,CACD,IAAI,KAAKC,EAAM,CACX,KAAK,MAAM,IAAIA,EAAM,KAAK,IAAG,CAAE,CAClC,CAQD,cAAcF,EAAeC,EAAa,CACtC,YAAK,UAAYD,EACjB,KAAK,QAAUC,EACR,IACV,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,YACf,CACD,IAAI,MAAMP,EAAQ,CAEd,KAAK,aAAeA,CACvB,CAMD,IAAI,kBAAmB,CACnB,OAAO,IAAIhC,GAAW,KAAK,QAAS,KAAK,WAAW,EAAE,YACzD,CACD,IAAI,iBAAiB1G,EAAa,CAC9B,KAAK,YAAc,KAAK,QAAQA,CAAW,CAC9C,CAKD,IAAI,UAAW,CACX,MAAMxF,EAAM,KAAK,MACXkF,EAAQ,KAAK,OAAO,eAAelF,CAAG,EAC5C,OAAO,IAAIkM,GAAW,KAAK,QAAShH,CAAK,EAAE,uBAC9C,CACD,IAAI,SAAS+I,EAAU,CACnB,MAAM/I,EAAQ,KAAK,QAAQ+I,CAAQ,EACnC,KAAK,MAAQ/I,CAChB,CAKD,IAAI,SAAU,CACV,OAAO,KAAK,OAAO,OACtB,CACD,IAAI,QAAQ3xD,EAAG,CACX,MAAMysD,EAAM,KAAK,MACXkF,EAAQ,KAAK,OAAO,UAAU,YAAY3xD,EAAGysD,CAAG,EACtD,KAAK,MAAQkF,CAChB,CAKD,IAAI,UAAW,CACX,GAAI,KAAK,KAAM,CACX,MAAMlF,EAAM,KAAK,MAEjB,OADc,KAAK,OAAO,eAAeA,CAAG,EAC3B,KAAK,aAAe,KAAK,SAAW,KAAK,WAC7D,KAEG,OAAO,EAEd,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,OAAO,KACtB,CACD,IAAI,MAAMF,EAAG,CACT,GAAI,KAAK,OAAO,QAAUA,EAAG,CACzB,MAAME,EAAM,KAAK,MAEjB,GAAI,KAAK,QAAU,UAAW,CAC1B,MAAMkF,EAAQ,KAAK,OAAO,eAAelF,CAAG,EAEtC2O,EAAgB,KAAK,OAAO,UAAU,mBAAmB,KAAK,KAAKzJ,CAAK,EAAIA,EAAOlF,CAAG,EACtFviC,EAAOuiC,EAAM2O,EACnB,KAAK,KAAK,OAAQlxC,CAAI,EACtB,KAAK,OAAO,eAAeqiC,EAAGriC,CAAI,EAElC,KAAK,KAAK,QAASA,EAAM,KAAK,OAAO,iBAAiBA,CAAI,CAAC,CAC9D,MAEG,KAAK,KAAK,QAASuiC,CAAG,EACtB,KAAK,OAAO,eAAeF,EAAGE,CAAG,CAExC,CACJ,CAMD,eAAeviC,EAAM,CACjB,OAAO,KAAK,OAAO,eAAeA,CAAI,CACzC,CAMD,iBAAiBA,EAAM,CACnB,OAAO,KAAK,OAAO,iBAAiBA,CAAI,CAC3C,CAOD,IAAI,KAAM,CACN,OAAO,KAAK,OAAO,UAAU,UAChC,CACD,IAAI,IAAImxC,EAAK,CACT,KAAK,OAAO,UAAU,WAAaA,CACtC,CAgBD,gBAAgBpJ,EAAa,CAEzB,GADAA,EAAc,KAAK,QAAQA,CAAW,EAClC,KAAK,QAAU,UAEf,MAAO,GAEN,CACD,MAAMxF,EAAM,KAAK,MAEX6O,EAAe,KAAK,eAAe7O,CAAG,EACtC8O,EAAiBtJ,EAAeqJ,EAAerJ,EACrD,OAAO,KAAK,OAAO,aAAasJ,EAAgB9O,CAAG,CACtD,CACJ,CAUD,WAAWyJ,EAAQsF,EAAO,CACtB,MAAM/O,EAAM,KAAK,MACjB,IAAIl2D,EAAS,KAAK,IACdklE,EAAc,GAAK,GAAKllE,EAAO,eAAek2D,CAAG,EAAI,KAAK,KAC1DuI,EAAQ,GAGZ,GAAIkB,EAAO,QAAU,OAAQ,CAMzB,MAAMwF,EAAc,QAASD,EACvBE,EAAc,IAAIpG,GAAKmG,CAAW,EAClCE,EAAa,IAAI1B,GAAI,EAAE,EACvB2B,EAAa,IAAItG,GAAKmG,CAAW,EAEvCnlE,EAAO,MAAMolE,EAAaC,EAAYC,CAAU,EAChDtlE,EAASslE,EACTJ,EAAc,EAAIA,EAClBzG,EAAQ,CAAC2G,EAAaC,EAAYC,CAAU,CAC/C,CACIL,IAEGtF,EAAO,eAAezJ,CAAG,IAAM,EAC/B+O,EAAQtF,EAAO,eAAezJ,CAAG,EAAIgP,EAGrCD,EAAQ,GAGhB,MAAMM,EAAc,IAAIvG,GAAKiG,CAAK,EAElC,OAAAjlE,EAAO,QAAQulE,CAAW,EAE1BA,EAAY,QAAQ5F,EAAO,MAAM,EACjClB,EAAM,KAAK8G,CAAW,EACtB,KAAK,eAAe,KAAK,CACrB,QAAS5F,EAAO,MAChB,MAAOlB,EACP,OAAAkB,CACZ,CAAS,EACDA,EAAO,MAAQ,EACR,IACV,CAKD,aAAaA,EAAQ,CACjB,QAAS/uE,EAAI,KAAK,eAAe,OAAS,EAAGA,GAAK,EAAGA,IAAK,CACtD,MAAM40E,EAAe,KAAK,eAAe50E,CAAC,EACtC40E,EAAa,SAAW7F,IACxB6F,EAAa,MAAM,QAAS17C,GAASA,EAAK,QAAO,CAAE,EACnD07C,EAAa,OAAO,MAAQA,EAAa,QACzC,KAAK,eAAe,OAAO50E,EAAG,CAAC,EAEtC,CACD,OAAO,IACV,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAAO,UACZinE,GAAS,KAAM,KAAK,EACpB,KAAK,UAAU,UACf,KAAK,gBAAgB,UACd,IACV,CACL,EACAvC,GAAQ,MAAM2O,EAAS,EAIvBhP,GAAe57C,GAAY,CACvBA,EAAQ,UAAY,IAAI4qD,GAAU,CAAE,QAAA5qD,CAAS,EACjD,CAAC,EACD+7C,GAAgB/7C,GAAY,CACxBA,EAAQ,UAAU,SACtB,CAAC,EC7kBM,MAAMosD,WAAepH,EAAc,CACtC,YAAYp5D,EAAS,CACjB,MAAMA,CAAO,EAIb,KAAK,MAAQ,OAIb,KAAK,OAAS,IAAIi4D,GAAc,SAAS,EAIzC,KAAK,QAAU,GAIf,KAAK,WAAa,GAIlB,KAAK,aAAepF,GACpB,KAAK,YAAcA,GACnB,KAAK,OAAO,OAAS,IACrB,KAAK,OAAO,WAAa,GACzB,KAAK,QAAU,KAAK,OAAS,IAAIoL,GAAO,CACpC,QAAS,KAAK,QACd,KAAMj+D,EAAQ,KACd,OAAQA,EAAQ,MAC5B,CAAS,EACD,KAAK,OAAS,KAAK,QAAQ,OAC3B2yD,GAAS,KAAM,QAAQ,EACvB,KAAK,OAAS3yD,EAAQ,MACzB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,KAAM,GACN,OAAQvG,GACR,OAAQ,CACpB,CAAS,CACJ,CASD,IAAI,OAAQ,CACR,OAAI,KAAK,QACD,KAAK,QAAQ,UAAU,QAAU,UAC1B,KAAK,OAAO,eAAe,KAAK,QAAQ,UAAU,OAAO,EAGzD,UAIJ,KAAK,OAAO,eAAe,KAAK,IAAK,EAEnD,CAQD,IAAI,MAAO,CACP,OAAO,KAAK,QAAQ,IACvB,CACD,IAAI,KAAKqL,EAAM,CACX,KAAK,QAAQ,KAAOA,CACvB,CAKD,oBAAoBxvC,EAAM,CACtB,OAAI,KAAK,QACEA,EAGA,KAAK,IAAIA,EAAM,KAAK,QAAQ,WAAW,CAErD,CASD,MAAMA,EAAMsN,EAAQrW,EAAU,CAC1B,IAAIyyC,EAAevN,GAAQn8B,CAAI,GAAK,KAAK,QACnC,KAAK,QAAQ,UAAU,QACvB,KAAK,UAAUA,CAAI,EAGzB,GAFA0pC,EAAe,KAAK,oBAAoBA,CAAY,EAEhD,CAAC,KAAK,SACN,KAAK,OAAO,eAAeA,CAAY,IAAM,UAE7CnN,GAAO8D,GAAGqJ,EAAc,KAAK,OAAO,IAAIA,CAAY,EAAE,IAAI,EAAG,8DAA8D,EAC3H,KAAK,OAAO,OAAOA,CAAY,EAC/B,KAAK,OAAO,eAAe,UAAWA,CAAY,EAClD,KAAK,IAAI,UAAWA,CAAY,EAChC,KAAK,QAAQA,EAAcp8B,EAAQrW,CAAQ,UAG3C,KAAK,IAAI,QAASyyC,CAAY,EAC9B,KAAK,OAAO,eAAe,UAAWA,CAAY,EAC9C,KAAK,QAAS,CAEd,MAAMx5D,EAAQ,KAAK,OAAO,IAAIw5D,CAAY,EACtCx5D,IACAA,EAAM,OAAS,KAAK,UAAU6vD,GAAWzyB,EAAQ,CAAC,CAAC,EACnDp9B,EAAM,SAAW+mB,EACX,KAAK,UAAUA,CAAQ,EACvB,QAEV,MAAM86C,EAAQ,KAAK,QAAQ,UAAU,SAAU1P,GAAM,CACjD,KAAK,OAAOA,EAAG/0B,EAAQrW,CAAQ,CAClC,EAAEyyC,CAAY,EACf,KAAK,WAAW,KAAKqI,CAAK,EAGtB,KAAK,QAAQ,UAAU,QAAU,WACjC,KAAK,QAAQ,UAAU,iBAAiB,KAAK,UAAS,CAAE,EACpDrI,GACJ,KAAK,aAAa,KAAK,IAAG,EAAI,KAAK,QAAQ,UAAU,OAAO,CAEnE,MAEG9M,GAAqB,KAAK,OAAO,EACjC,KAAK,OAAO8M,EAAcp8B,EAAQrW,CAAQ,EAGlD,OAAO,IACV,CAUD,KAAK+I,EAAM,CACP,IAAI0pC,EAAevN,GAAQn8B,CAAI,GAAK,KAAK,QACnC,KAAK,QAAQ,UAAU,QACvB,KAAK,UAAUA,CAAI,EAEzB,GADA0pC,EAAe,KAAK,oBAAoBA,CAAY,EAChD,KAAK,OAAO,eAAeA,CAAY,IAAM,WAC7CtN,GAAU,KAAK,OAAO,aAAa,UAAWsN,CAAY,CAAC,EAAG,CAE9D,GADA,KAAK,IAAI,OAAQA,CAAY,EACzB,CAAC,KAAK,QACN,KAAK,MAAMA,CAAY,MAEtB,CACD,MAAMqI,EAAQ,KAAK,QAAQ,UAAU,SAAS,KAAK,MAAM,KAAK,IAAI,EAAGrI,CAAY,EACjF,KAAK,WAAW,KAAKqI,CAAK,CAC7B,CACD,KAAK,OAAO,OAAOrI,CAAY,EAC/B,KAAK,OAAO,eAAe,UAAWA,CAAY,CACrD,CACD,OAAO,IACV,CAID,QAAQ1pC,EAAMsN,EAAQrW,EAAU,CAC5B,OAAA+I,EAAO,KAAK,UAAUA,CAAI,EACtB,KAAK,OAAO,eAAeA,CAAI,IAAM,YACrC,KAAK,OAAO,OAAOA,CAAI,EACvB,KAAK,SAASA,EAAMsN,EAAQrW,CAAQ,GAEjC,IACV,CAgBD,MAAO,CACH,OAAK,KAAK,UACN,KAAK,QAAU,GACf,KAAK,aAAe,CAAC+I,EAAMsN,IAAW,CAClC,GAAI+yB,GAAG/yB,EAAQ,CAAC,EAAG,CAEf,MAAM0kC,EAAa,KAAK,OAAO,IAAI1kC,CAAM,EAEzC,GAAI0kC,GACAA,EAAW,QAAU,WACrBA,EAAW,OAAS1kC,EAAQ,CAE5B,MAAM2kC,EAAc3kC,EAAS,KAAK,UAAU0kC,EAAW,IAAI,EAC3D,IAAI/6C,EACA+6C,EAAW,WACX/6C,EACI,KAAK,UAAU+6C,EAAW,QAAQ,EAC9BC,GAEZ,KAAK,OAAOjyC,EAAM,KAAK,UAAUgyC,EAAW,MAAM,EAAIC,EAAah7C,CAAQ,CAC9E,CACJ,CACjB,EACY,KAAK,YAAe+I,GAAS,CACzB,MAAMwnC,EAAU,KAAK,QAAQ,UAAU,iBAAiB,KAAK,IAAIxnC,EAAO,KAAK,WAAY,CAAC,CAAC,EACvF,KAAK,OAAO,eAAewnC,CAAO,IAAM,WACxC,KAAK,MAAMxnC,CAAI,CAEnC,EACY,KAAK,QAAQ,UAAU,GAAG,QAAS,KAAK,YAAY,EACpD,KAAK,QAAQ,UAAU,GAAG,YAAa,KAAK,YAAY,EACxD,KAAK,QAAQ,UAAU,GAAG,OAAQ,KAAK,WAAW,EAClD,KAAK,QAAQ,UAAU,GAAG,QAAS,KAAK,WAAW,EACnD,KAAK,QAAQ,UAAU,GAAG,UAAW,KAAK,WAAW,GAElD,IACV,CAID,QAAS,CACL,OAAI,KAAK,UACL,KAAK,QAAQ,UAAU,IAAI,OAAQ,KAAK,WAAW,EACnD,KAAK,QAAQ,UAAU,IAAI,QAAS,KAAK,WAAW,EACpD,KAAK,QAAQ,UAAU,IAAI,UAAW,KAAK,WAAW,EACtD,KAAK,QAAQ,UAAU,IAAI,QAAS,KAAK,YAAY,EACrD,KAAK,QAAQ,UAAU,IAAI,YAAa,KAAK,YAAY,GAE7D,KAAK,QAAU,GAEf,KAAK,WAAW,QAASpxB,GAAO,KAAK,QAAQ,UAAU,MAAMA,CAAE,CAAC,EAChE,KAAK,WAAa,GAClB,KAAK,OAAO,OAAO,CAAC,EAEpB,KAAK,MAAM,CAAC,EACL,IACV,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAASu1D,GACd,KAAK,OAAM,EACX,KAAK,QAAQ,UACb,KAAK,OAAO,UACL,IACV,CACL,CCvRO,MAAM+N,WAAyB5G,EAAc,CAChD,aAAc,CACV,MAAM7L,EAAqByS,GAAiB,YAAa,EAAE,UAAW,CAAC,MAAO,QAAQ,CAAC,CAAC,EACxF,KAAK,KAAO,mBAIZ,KAAK,QAAU,KAAK,QAAQ,mBAAkB,EAC9C,KAAK,kBAAoB,CAAC,KAAK,OAAO,EAItC,KAAK,eAAiB,GACtB,KAAK,eAAiB,GACtB,MAAM5gE,EAAUmuD,EAAqByS,GAAiB,YAAW,EAAI,UAAW,CAAC,MAAO,QAAQ,CAAC,EACjGr9B,GAAQ,KAAK,QAAS,KAAK,SAAS,EACpC,KAAK,QAAQ,QAAU,IAAM,KAAK,YAAW,EAI7C,KAAK,aAAe,IAAI40B,GAAM,CAC1B,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,aACpB,MAAO,WACP,MAAOn4D,EAAQ,YAC3B,CAAS,EAED,KAAK,KAAOA,EAAQ,KACpB,KAAK,UAAYA,EAAQ,UACzB,KAAK,QAAUA,EAAQ,QACvB,KAAK,QAAU,IAAI8yD,GAAgB9yD,EAAQ,IAAKA,EAAQ,OAAQA,EAAQ,OAAO,EAC/E,KAAK,kBAAkB,KAAK,KAAK,OAAO,CAC3C,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOg6D,GAAc,YAAW,EAAI,CAC9C,IAAK,IAAIlH,GACT,KAAM,GACN,QAAS,EACT,UAAW,EACX,OAAQD,GACR,QAASA,GACT,aAAc,CAC1B,CAAS,CACJ,CAID,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,OAAO9B,EAAG,CACV,KAAK,QAAUA,CAClB,CAID,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQA,EAAG,CACX,KAAK,SAAWA,CACnB,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,MACf,CACD,IAAI,MAAMA,EAAG,CACT,KAAK,OAASA,CACjB,CAQD,MAAMriC,EAAMsN,EAAQrW,EAAUgvC,EAAO,EAAG,CACpC1J,GAAO,KAAK,OAAO,OAAQ,wCAAwC,EACnE,MAAMmN,EAAe,KAAK,UAAU1pC,CAAI,EAExC,KAAK,WAAW0pC,EAAczD,CAAI,EAE9B,KAAK,KACL34B,EAASyyB,GAAWzyB,EAAQ,KAAK,SAAS,EAI1CA,EAASyyB,GAAWzyB,EAAQ,CAAC,EAGjC,IAAI6kC,EAAiB,KAAK,IAAI,KAAK,UAAU7kC,CAAM,EAAG,CAAC,EAEvD,GAAI,KAAK,KAAM,CAEX,MAAM8kC,EAAU,KAAK,UAAU,KAAK,OAAO,GAAK,KAAK,OAAO,SACtDC,EAAY,KAAK,UAAU,KAAK,SAAS,EACzCC,EAAeF,EAAUC,EAE3B/R,GAAI6R,EAAgBC,CAAO,IAC3BD,GAAmBA,EAAiBE,GAAaC,EAAgBD,GAGjE9R,GAAG4R,EAAgB,KAAK,OAAO,QAAQ,IACvCA,EAAiB,EAExB,CASD,GAPA,KAAK,QAAQ,OAAS,KAAK,OAAO,IAAG,EACrC,KAAK,QAAQ,QAAU,KAAK,UAAU,KAAK,OAAO,GAAK,KAAK,OAAO,SAC/D3R,GAAG2R,EAAgB,KAAK,OAAO,QAAQ,IACvC,KAAK,eAAiB,GACtB,KAAK,QAAQ,MAAMzI,EAAcyI,CAAc,GAG/C/V,GAAUnlC,CAAQ,EAAG,CACrB,IAAIs7C,EAAc,KAAK,UAAUt7C,CAAQ,EAEzCs7C,EAAc,KAAK,IAAIA,EAAa,CAAC,EACrC,KAAK,KAAK7I,EAAe6I,CAAW,CACvC,CACD,OAAO,IACV,CACD,YAAYvyC,EAAM,CACV,CAAC,KAAK,gBAAkB,KAAK,iBAC7B,KAAK,eAAiB,GACtB,KAAK,QAAQ,KAAK,KAAK,UAAUA,CAAI,CAAC,EACtC,KAAK,SAAQ,EAEpB,CAID,IAAI,WAAY,CACZ,OAAO,KAAK,QAAQ,SACvB,CACD,IAAI,UAAUqyC,EAAW,CACrB,KAAK,QAAQ,UAAY,KAAK,UAAUA,CAAS,CACpD,CAID,IAAI,SAAU,CACV,OAAO,KAAK,QAAQ,OACvB,CACD,IAAI,QAAQD,EAAS,CACjB,KAAK,QAAQ,QAAU,KAAK,UAAUA,CAAO,CAChD,CAID,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,OAAOthC,EAAQ,CACf,KAAK,QAAQ,IAAIA,CAAM,CAC1B,CAID,IAAI,MAAO,CACP,OAAO,KAAK,QAAQ,IACvB,CACD,IAAI,KAAKmgC,EAAM,CACX,KAAK,QAAQ,KAAOA,EAChB,KAAK,gBACL,KAAK,WAAU,CAEtB,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,QAAU,KACvB,KAAK,QAAQ,aACb,KAAK,QAAQ,UACb,KAAK,aAAa,UACX,IACV,CACL,CCzKO,MAAMuB,WAAcV,EAAO,CAC9B,aAAc,CACV,MAAMrS,EAAqB+S,GAAM,YAAW,EAAI,UAAW,CAAC,MAAM,CAAC,CAAC,EACpE,KAAK,KAAO,QAIZ,KAAK,QAAU,KACf,MAAMlhE,EAAUmuD,EAAqB+S,GAAM,YAAa,EAAE,UAAW,CAAC,MAAM,CAAC,EAC7E,KAAK,cAAgBlhE,EAAQ,aAC7B,KAAK,KAAOA,EAAQ,KACpB,KAAK,QAAUA,EAAQ,OACvB,KAAK,SAAWA,EAAQ,OAC3B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOwgE,GAAO,YAAW,EAAI,CACvC,OAAQ,EACR,QAAS,EACT,aAAc,EACd,KAAM,OAClB,CAAS,CACJ,CAOD,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,KAAKztE,EAAM,CAEX,GADAk4D,GAAOl4D,KAAQouE,GAAe,wBAA0BpuE,CAAI,EACxD,KAAK,QAAUA,IACf,KAAK,MAAQA,EAET,KAAK,QAAU,WAAW,CAC1B,MAAMk+D,EAAM,KAAK,MACjB,KAAK,MAAMA,CAAG,EACd,KAAK,OAAOA,CAAG,CAClB,CAER,CAKD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,IAAI,aAAamQ,EAAM,CACnB,KAAK,cAAgBA,EACjB,KAAK,UACL,KAAK,QAAQ,aAAa,MAAQA,EAEzC,CAID,OAAO1yC,EAAM,CACT,MAAM8Q,EAAS2hC,GAAc,KAAK,KAAK,EACvC,KAAK,QAAU,IAAIP,GAAiB,CAChC,IAAKphC,EACL,QAAS,KAAK,QACd,OAAQ,KAAK,QACb,QAAS,KAAK,SACd,KAAM,GACN,QAAS,IAAM,KAAK,OAAO,IAAI,EAC/B,aAAc,KAAK,aACtB,GAAE,QAAQ,KAAK,MAAM,EACtB,KAAK,QAAQ,MAAM,KAAK,UAAU9Q,CAAI,EAAG,KAAK,OAAM,GAAM8Q,EAAO,SAAW,KAAM,CACrF,CAID,MAAM9Q,EAAM,CACJ,KAAK,UACL,KAAK,QAAQ,KAAK,KAAK,UAAUA,CAAI,CAAC,EACtC,KAAK,QAAU,KAEtB,CAID,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,OAAOA,EAAM,CACb,KAAK,QAAUA,EACX,KAAK,UACL,KAAK,QAAQ,OAAS,KAAK,QAElC,CAID,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQA,EAAM,CACd,KAAK,SAAWA,EACZ,KAAK,UACL,KAAK,QAAQ,QAAU,KAAK,SAEnC,CACD,SAASA,EAAM,CAEX,KAAK,MAAMA,CAAI,EACf,KAAK,OAAOA,CAAI,CACnB,CAID,SAAU,CACN,aAAM,QAAO,EACT,KAAK,SACL,KAAK,QAAQ,aAEV,IACV,CACL,CAKA,MAAM2yC,GAAgB,MAAQ,EACxBC,GAAe,EAIfC,GAAc,CAChB,MAAO,KACP,KAAM,KACN,MAAO,IACX,EAMMJ,GAAgB,CAClB,IAAI,OAAQ,CACR,GAAI,CAACI,GAAY,MAAO,CACpB,MAAM/hC,EAAS,GACf,QAASgiC,EAAa,EAAGA,EAAaF,GAAcE,IAAc,CAC9D,MAAMlnC,EAAU,IAAI,aAAa+mC,EAAa,EAC9C7hC,EAAOgiC,CAAU,EAAIlnC,EACrB,IAAImnC,EAAU,EACd,QAAS,EAAI,EAAG,EAAIJ,GAAe,IAAK,CACpC,MAAMK,EAAQ,KAAK,OAAM,EAAK,EAAI,EAClCpnC,EAAQ,CAAC,GAAKmnC,EAAW,IAAOC,GAAU,KAC1CD,EAAUnnC,EAAQ,CAAC,EACnBA,EAAQ,CAAC,GAAK,GACjB,CACJ,CACDinC,GAAY,MAAQ,IAAIzO,GAAiB,EAAC,UAAUtzB,CAAM,CAC7D,CACD,OAAO+hC,GAAY,KACtB,EACD,IAAI,MAAO,CACP,GAAI,CAACA,GAAY,KAAM,CACnB,MAAM/hC,EAAS,GACf,QAASgiC,EAAa,EAAGA,EAAaF,GAAcE,IAAc,CAC9D,MAAMlnC,EAAU,IAAI,aAAa+mC,EAAa,EAC9C7hC,EAAOgiC,CAAU,EAAIlnC,EACrB,IAAIqnC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAC5BN,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAK,EACnC,QAASt2E,EAAI,EAAGA,EAAI01E,GAAe11E,IAAK,CACpC,MAAM+1E,EAAQ,KAAK,OAAM,EAAK,EAAI,EAClCC,EAAK,OAAUA,EAAKD,EAAQ,SAC5BE,EAAK,OAAUA,EAAKF,EAAQ,SAC5BG,EAAK,KAAUA,EAAKH,EAAQ,QAC5BI,EAAK,MAAUA,EAAKJ,EAAQ,SAC5BK,EAAK,IAAUA,EAAKL,EAAQ,SAC5BM,EAAK,OAAUA,EAAKN,EAAQ,QAC5BpnC,EAAQ3uC,CAAC,EAAIg2E,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKP,EAAQ,MACxDpnC,EAAQ3uC,CAAC,GAAK,IACds2E,EAAKP,EAAQ,OAChB,CACJ,CACDH,GAAY,KAAO,IAAIzO,GAAiB,EAAC,UAAUtzB,CAAM,CAC5D,CACD,OAAO+hC,GAAY,IACtB,EACD,IAAI,OAAQ,CACR,GAAI,CAACA,GAAY,MAAO,CACpB,MAAM/hC,EAAS,GACf,QAASgiC,EAAa,EAAGA,EAAaF,GAAcE,IAAc,CAC9D,MAAMlnC,EAAU,IAAI,aAAa+mC,EAAa,EAC9C7hC,EAAOgiC,CAAU,EAAIlnC,EACrB,QAAS3uC,EAAI,EAAGA,EAAI01E,GAAe11E,IAC/B2uC,EAAQ3uC,CAAC,EAAI,KAAK,OAAQ,EAAG,EAAI,CAExC,CACD41E,GAAY,MAAQ,IAAIzO,GAAiB,EAAC,UAAUtzB,CAAM,CAC7D,CACD,OAAO+hC,GAAY,KACtB,CACL,EC1NO,SAASW,GAAiBrmE,EAAUk/B,EAAQ,CAC/C,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMhnC,EAAWoV,EAASl/B,EAAS,QAAQ,WACrCuY,EAAU,IAAI4/C,GAAe,EAAGruC,EAAU9pB,EAAS,QAAQ,UAAU,EAQ3E,OAPc,IAAIA,EAAS,YAAY,OAAO,OAAOA,EAAS,MAAO,CAEjE,UAAW,EAAI8pB,EAEf,OAAQ,EACR,QAAAvR,CACZ,CAAS,CAAC,EAAE,gBACE,MAAM,CAAC,GACE,MAAMA,EAAQ,UACf,eAAe,CAAC,CACtC,CAAK,CACL,CCTO,MAAM+tD,WAA2BnI,EAAc,CAClD,aAAc,CACV,MAAM7L,EAAqBgU,GAAmB,YAAa,EAAE,UAAW,CAAC,YAAa,MAAM,CAAC,CAAC,EAC9F,KAAK,KAAO,qBAIZ,KAAK,YAAc,KAAK,QAAQ,iBAAgB,EAChD,KAAK,kBAAoB,CAAC,KAAK,WAAW,EAC1C,MAAMniE,EAAUmuD,EAAqBgU,GAAmB,YAAW,EAAI,UAAW,CAAC,YAAa,MAAM,CAAC,EACvG5+B,GAAQ,KAAK,YAAa,KAAK,SAAS,EACxC,KAAK,KAAOvjC,EAAQ,KACpB,KAAK,UAAY,IAAIm4D,GAAM,CACvB,QAAS,KAAK,QACd,MAAO,KAAK,YAAY,UACxB,MAAO,YACP,MAAOn4D,EAAQ,SAC3B,CAAS,EACD,KAAK,OAAS,IAAIm4D,GAAM,CACpB,QAAS,KAAK,QACd,MAAO,KAAK,YAAY,OACxB,MAAO,QACP,MAAOn4D,EAAQ,MAC3B,CAAS,EACD2yD,GAAS,KAAM,CAAC,YAAa,QAAQ,CAAC,CACzC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOqH,GAAc,YAAW,EAAI,CAC9C,OAAQ,EACR,UAAW,IACX,KAAM,MAClB,CAAS,CACJ,CAKD,MAAMtrC,EAAM,CACR,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,IAAI,QAAS0pC,CAAY,EAC9B,KAAK,WAAWA,CAAY,EAC5B,KAAK,YAAY,MAAMA,CAAY,EAC5B,IACV,CACD,YAAY1pC,EAAM,CACd,KAAK,YAAY,KAAKA,CAAI,CAC7B,CAKD,gBAAgBy2B,EAAc,CAC1B,YAAK,YAAY,gBAAgBA,CAAY,EACtC,IACV,CAID,IAAI,MAAO,CACP,OAAO,KAAK,YAAY,IAC3B,CACD,IAAI,KAAKpyD,EAAM,CACX,KAAK,YAAY,KAAOA,CAC3B,CAID,SAAU,CACN,aAAM,QAAO,EACT,KAAK,QAAU,WACf,KAAK,KAAI,EAEb,KAAK,YAAY,aACjB,KAAK,UAAU,UACf,KAAK,OAAO,UACL,IACV,CACL,CCpEO,MAAMqvE,WAAmB5B,EAAO,CACnC,aAAc,CACV,MAAMrS,EAAqBiU,GAAW,YAAa,EAAE,UAAW,CAAC,YAAa,MAAM,CAAC,CAAC,EACtF,KAAK,KAAO,aAIZ,KAAK,YAAc,KACnB,MAAMpiE,EAAUmuD,EAAqBiU,GAAW,YAAW,EAAI,UAAW,CAAC,YAAa,MAAM,CAAC,EAC/F,KAAK,UAAY,IAAI9H,GAAO,CACxB,QAAS,KAAK,QACd,MAAO,YACP,MAAOt6D,EAAQ,SAC3B,CAAS,EACD2yD,GAAS,KAAM,WAAW,EAC1B,KAAK,OAAS,IAAI2H,GAAO,CACrB,QAAS,KAAK,QACd,MAAO,QACP,MAAOt6D,EAAQ,MAC3B,CAAS,EACD2yD,GAAS,KAAM,QAAQ,EACvB,KAAK,UAAY3yD,EAAQ,SACzB,KAAK,cAAgBA,EAAQ,aAC7B,KAAK,MAAQA,EAAQ,KACjBA,EAAQ,cAAgBA,EAAQ,OAAS,WACzC,KAAK,MAAQ,KAAK,SAAWA,EAAQ,aAAa,YAEtD,KAAK,MAAQA,EAAQ,KACxB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOwgE,GAAO,YAAW,EAAI,CACvC,OAAQ,EACR,UAAW,IACX,aAAc,EACd,SAAU,CAAE,EACZ,MAAO,EACP,KAAM,MAClB,CAAS,CACJ,CAID,OAAO9xC,EAAM,CACT,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAElC65B,EAAa,IAAI4Z,GAAmB,CACtC,QAAS,KAAK,QACd,QAAS,IAAM,KAAK,OAAO,IAAI,CAC3C,CAAS,EACD,KAAK,YAAc5Z,EACf,KAAK,MACL,KAAK,YAAY,gBAAgB,KAAK,KAAK,EAG3C,KAAK,YAAY,KAAO,KAAK,MAGjC,KAAK,YAAY,QAAQ,KAAK,MAAM,EACpC,KAAK,UAAU,QAAQ,KAAK,YAAY,SAAS,EACjD,KAAK,OAAO,QAAQ,KAAK,YAAY,MAAM,EAE3C,KAAK,YAAY,MAAM6P,CAAY,CACtC,CAID,MAAM1pC,EAAM,CACR,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACpC,KAAK,aACL,KAAK,YAAY,KAAK0pC,CAAY,CAEzC,CAKD,SAAS1pC,EAAM,CACX,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,IAAI,UAAW0pC,CAAY,EAC5B,KAAK,aACL,KAAK,YAAY,aAErB,KAAK,OAAO,OAAOA,CAAY,EACxB,IACV,CAaD,eAAgB,CACZ,YAAK,QAAQ,UAAU,WAAW,KAAK,SAAS,EACzC,IACV,CAKD,iBAAkB,CACd,YAAK,QAAQ,UAAU,aAAa,KAAK,SAAS,EAC3C,IACV,CAMD,wBAAyB,CACrB,GAAI,KAAK,QAAU,SAKf,OAJiBgK,GAAW,mBAAmB,KAAKC,GACzCA,EAAY,QAAU,KAAK,QAC9BrU,GAAWqU,EAAY,SAAU,KAAK,SAAS,CACtD,EAGA,CACD,MAAMC,EAAWF,GAAW,mBAAmB,KAAKC,GACzCA,EAAY,OAAS,KAAK,OAC7BA,EAAY,QAAU,KAAK,MAClC,EACD,YAAK,cAAgBC,EAAWA,EAAS,aAAe,KAAK,cACtDA,CACV,CACJ,CACD,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,KAAKvvE,EAAM,CACX,KAAK,MAAQA,EACb,MAAMwvE,EAAc,CAAC,OAAQ,SAAU,WAAY,UAAU,EAAE,QAAQxvE,CAAI,IAAM,GACjF,GAAI,KAAK,SAAW,GAAKwvE,EACrB,KAAK,MAAQ,OACb,KAAK,cAAgB,EAEjB,KAAK,cAAgB,OAErB,KAAK,YAAY,KAAOxvE,OAG3B,CAED,MAAM9F,EAAQ,KAAK,yBACnB,GAAI69D,GAAU79D,CAAK,EAAG,CAClB,KAAM,CAAE,SAAAu1E,EAAU,KAAAC,CAAM,EAAGx1E,EAC3B,KAAK,MAAQw1E,EACb,KAAK,UAAYD,EACb,KAAK,cAAgB,MACrB,KAAK,YAAY,gBAAgB,KAAK,KAAK,CAElD,KACI,CACD,KAAM,CAACt2B,EAAMC,CAAI,EAAI,KAAK,kBAAkBp5C,EAAM,KAAK,MAAM,EACvDoyD,EAAe,KAAK,QAAQ,mBAAmBjZ,EAAMC,CAAI,EAC/D,KAAK,MAAQgZ,EACT,KAAK,cAAgB,MACrB,KAAK,YAAY,gBAAgB,KAAK,KAAK,EAG/Cid,GAAW,mBAAmB,KAAK,CAC/B,KAAAj2B,EACA,aAAc,KAAK,cACnB,SAAU,KAAK,UACf,MAAO,KAAK,OACZ,KAAAD,EACA,KAAM,KAAK,MACX,KAAM,KAAK,KAC/B,CAAiB,EACGk2B,GAAW,mBAAmB,OAAS,KACvCA,GAAW,mBAAmB,OAErC,CACJ,CACJ,CACD,IAAI,UAAW,CACX,OAAO,KAAK,MAAM,QAAQ,KAAK,aAAa,SAAQ,EAAI,EAAE,CAC7D,CACD,IAAI,SAASM,EAAU,CACf,KAAK,cAAgB,KAAK,QAAU,UAAYA,IAAa,SAC7D,KAAK,KAAOA,EAAW,KAAK,aAG5B,KAAK,KAAOA,CAEnB,CACD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,IAAI,aAAatlE,EAAG,CAChB+tD,GAAY/tD,EAAG,CAAC,EAChB,IAAIrK,EAAO,KAAK,MAChB,MAAM4vE,EAAU,yCAAyC,KAAK,KAAK,KAAK,EAIxE,GAHIA,IACA5vE,EAAO4vE,EAAQ,CAAC,GAEhB,KAAK,QAAU,SACXvlE,IAAM,EACN,KAAK,KAAOrK,EAGZ,KAAK,KAAOA,EAAOqK,EAAE,SAAQ,MAGhC,CAED,MAAMwlE,EAAe,IAAI,aAAaxlE,CAAC,EAEvC,KAAK,UAAU,QAAQ,CAACtH,EAAGnK,IAAMi3E,EAAaj3E,CAAC,EAAImK,CAAC,EACpD,KAAK,UAAY,MAAM,KAAK8sE,CAAY,EACxC,KAAK,KAAO,KAAK,KACpB,CACJ,CAMD,kBAAkB7vE,EAAM8vE,EAAO,CAE3B,IAAIC,EAAmB,KACvB,MAAM52B,EAAO,IAAI,aAAa42B,CAAgB,EACxC32B,EAAO,IAAI,aAAa22B,CAAgB,EAC9C,IAAIC,EAAe,EACnB,GAAIhwE,IAAS,UAKT,GAJAgwE,EAAe,KAAK,UAAU,OAAS,EACvC,KAAK,cAAgB,KAAK,UAAU,OACpCD,EAAmBC,EAEf,KAAK,UAAU,SAAW,EAC1B,MAAO,CAAC72B,EAAMC,CAAI,MAGrB,CACD,MAAMw2B,EAAU,yCAAyC,KAAK5vE,CAAI,EAC9D4vE,GACAI,EAAe,SAASJ,EAAQ,CAAC,EAAG,EAAE,EAAI,EAC1C,KAAK,cAAgB,SAASA,EAAQ,CAAC,EAAG,EAAE,EAC5C5vE,EAAO4vE,EAAQ,CAAC,EAChBI,EAAe,KAAK,IAAIA,EAAc,CAAC,EACvCD,EAAmBC,GAGnB,KAAK,cAAgB,EAEzB,KAAK,UAAY,EACpB,CACD,QAAS70E,EAAI,EAAGA,EAAI40E,EAAkB,EAAE50E,EAAG,CACvC,MAAM80E,EAAW,GAAK90E,EAAI,KAAK,IAC/B,IAAIsB,EACJ,OAAQuD,EAAI,CACR,IAAK,OACDvD,EAAKtB,GAAK60E,EAAgB,EAAI,EAC9B,KAAK,UAAU70E,EAAI,CAAC,EAAIsB,EACxB,MACJ,IAAK,SACDA,EAAKtB,EAAI,EAAK,EAAI80E,EAAW,EAC7B,KAAK,UAAU90E,EAAI,CAAC,EAAIsB,EACxB,MACJ,IAAK,WACDA,EAAIwzE,GAAa90E,EAAI,EAAK,EAAI,IAC9B,KAAK,UAAUA,EAAI,CAAC,EAAIsB,EACxB,MACJ,IAAK,WACGtB,EAAI,EACJsB,EAAI,GAAKwzE,EAAWA,IAAgB90E,EAAI,GAAM,EAAK,EAAK,GAAK,GAG7DsB,EAAI,EAER,KAAK,UAAUtB,EAAI,CAAC,EAAIsB,EACxB,MACJ,IAAK,SACDA,EAAI,KAAK,UAAUtB,EAAI,CAAC,EACxB,MACJ,QACI,MAAM,IAAI,UAAU,6BAA+B6E,CAAI,CAC9D,CACGvD,IAAM,GACN08C,EAAKh+C,CAAC,EAAI,CAACsB,EAAI,KAAK,IAAIqzE,EAAQ30E,CAAC,EACjCi+C,EAAKj+C,CAAC,EAAIsB,EAAI,KAAK,IAAIqzE,EAAQ30E,CAAC,IAGhCg+C,EAAKh+C,CAAC,EAAI,EACVi+C,EAAKj+C,CAAC,EAAI,EAEjB,CACD,MAAO,CAACg+C,EAAMC,CAAI,CACrB,CAID,YAAYD,EAAMC,EAAM02B,EAAO,CAC3B,IAAIx6B,EAAM,EACV,MAAM/nB,EAAM4rB,EAAK,OACjB,QAASvgD,EAAI,EAAGA,EAAI20B,EAAK30B,IACrB08C,GAAO6D,EAAKvgD,CAAC,EAAI,KAAK,IAAIA,EAAIk3E,CAAK,EAAI12B,EAAKxgD,CAAC,EAAI,KAAK,IAAIA,EAAIk3E,CAAK,EAEvE,OAAOx6B,CACV,CAKD,iBAAkB,CACd,KAAM,CAAC6D,EAAMC,CAAI,EAAI,KAAK,kBAAkB,KAAK,MAAO,CAAC,EACzD,IAAIxG,EAAW,EACf,MAAMs9B,EAAQ,KAAK,GAAK,EAClBC,EAAgB,GAEtB,QAASv3E,EAAI,EAAGA,EAAIu3E,EAAev3E,IAC/Bg6C,EAAW,KAAK,IAAI,KAAK,YAAYuG,EAAMC,EAAOxgD,EAAIu3E,EAAiBD,CAAK,EAAGt9B,CAAQ,EAE3F,OAAOwpB,GAAM,CAAC,KAAK,YAAYjjB,EAAMC,EAAM,KAAK,MAAM,EAAIxG,EAAU,GAAI,CAAC,CAC5E,CACD,IAAI,UAAW,CACX,OAAO,KAAK,UAAU,MAAM,EAAG,KAAK,YAAY,CACnD,CACD,IAAI,SAAS68B,EAAU,CACnB,KAAK,UAAYA,EACjB,KAAK,cAAgB,KAAK,UAAU,OAChCA,EAAS,SACT,KAAK,KAAO,SAEnB,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,QAAU,IAAM,KAAK,GACpC,CACD,IAAI,MAAMK,EAAO,CACb,KAAK,OAASA,EAAQ,KAAK,GAAK,IAEhC,KAAK,KAAO,KAAK,KACpB,CACD,QAAQ9nC,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAOuV,GAAiB,KAAMnnC,CAAM,CAChD,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACT,KAAK,cAAgB,MACrB,KAAK,YAAY,UAErB,KAAK,MAAQ,OACb,KAAK,UAAU,UACf,KAAK,OAAO,UACL,IACV,CACL,CAIAqnC,GAAW,mBAAqB,CAAE,EClX3B,MAAMe,WAAoB9E,EAAe,CAC5C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,cAIZ,KAAK,MAAQ,IAAIC,GAAW,CACxB,QAAS,KAAK,QACd,QAAS32B,IAAMA,EAAI,GAAK,CACpC,CAAS,EAID,KAAK,MAAQ,KAAK,MAIlB,KAAK,OAAS,KAAK,KACtB,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,MAAM,UACJ,IACV,CACL,CCbO,MAAMy7B,WAAiB9I,EAAO,CACjC,aAAc,CACV,MAAM,OAAO,OAAOnM,EAAqBiV,GAAS,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EACvF,KAAK,KAAO,WAIZ,KAAK,SAAW,GAChB,MAAMpjE,EAAUmuD,EAAqBiV,GAAS,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,EACjF,KAAK,MAAQ,KAAK,MAAQ,KAAK,OAAS,IAAIrJ,GAAK,CAC7C,QAAS,KAAK,QACd,SAAU/5D,EAAQ,SAClB,SAAUA,EAAQ,QAC9B,CAAS,EACD,KAAK,OAAS,KAAK,OAAS,KAAK,MAAM,KACvC,KAAK,OAAO,eAAeA,EAAQ,MAAO,CAAC,CAC9C,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOs6D,GAAO,YAAW,EAAI,CACvC,MAAO,CACnB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,MAAM,UACJ,IACV,CACL,CCrBO,MAAM+I,WAAqB7C,EAAO,CACrC,aAAc,CACV,MAAMrS,EAAqBkV,GAAa,cAAe,UAAW,CAAC,YAAa,OAAQ,gBAAgB,CAAC,CAAC,EAC1G,KAAK,KAAO,eAIZ,KAAK,iBAAmB,IAAIF,GAAY,CAAE,QAAS,KAAK,OAAO,CAAE,EAIjE,KAAK,gBAAkB,IAAIpJ,GAAK,CAC5B,QAAS,KAAK,OAC1B,CAAS,EACD,MAAM/5D,EAAUmuD,EAAqBkV,GAAa,YAAa,EAAE,UAAW,CAAC,YAAa,OAAQ,gBAAgB,CAAC,EACnH,KAAK,SAAW,IAAIjB,GAAW,CAC3B,QAAS,KAAK,QACd,OAAQpiE,EAAQ,OAChB,UAAWA,EAAQ,UACnB,OAAQ,IAAM,KAAK,OAAO,IAAI,EAC9B,MAAOA,EAAQ,MACf,KAAMA,EAAQ,IAC1B,CAAS,EACD,KAAK,UAAY,KAAK,SAAS,UAC3B,KAAK,OAAS,KAAK,SAAS,OAChC,KAAK,WAAa,IAAIoiE,GAAW,CAC7B,QAAS,KAAK,QACd,MAAOpiE,EAAQ,MACf,KAAMA,EAAQ,cAC1B,CAAS,EACD,KAAK,YAAc,IAAIojE,GAAS,CAC5B,QAAS,KAAK,QACd,MAAO,WACP,MAAOpjE,EAAQ,WAC3B,CAAS,EAED,KAAK,UAAU,MAAM,KAAK,YAAa,KAAK,WAAW,SAAS,EAChE,KAAK,WAAW,MAAM,KAAK,iBAAkB,KAAK,gBAAgB,IAAI,EACtE,KAAK,SAAS,MAAM,KAAK,gBAAiB,KAAK,MAAM,EACrD2yD,GAAS,KAAM,CAAC,YAAa,SAAU,aAAa,CAAC,CACxD,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyP,GAAW,YAAW,EAAI,CAC3C,YAAa,EACb,eAAgB,QAC5B,CAAS,CACJ,CAID,OAAO1zC,EAAM,CACT,KAAK,WAAW,MAAMA,CAAI,EAC1B,KAAK,SAAS,MAAMA,CAAI,CAC3B,CAID,MAAMA,EAAM,CACR,KAAK,WAAW,KAAKA,CAAI,EACzB,KAAK,SAAS,KAAKA,CAAI,CAC1B,CACD,SAASA,EAAM,CACX,KAAK,WAAW,QAAQA,CAAI,EAC5B,KAAK,SAAS,QAAQA,CAAI,CAC7B,CAID,IAAI,MAAO,CACP,OAAO,KAAK,SAAS,IACxB,CACD,IAAI,KAAK37B,EAAM,CACX,KAAK,SAAS,KAAOA,CACxB,CACD,IAAI,UAAW,CACX,OAAO,KAAK,SAAS,QACxB,CACD,IAAI,SAAS2vE,EAAU,CACnB,KAAK,SAAS,SAAWA,CAC5B,CACD,IAAI,cAAe,CACf,OAAO,KAAK,SAAS,YACxB,CACD,IAAI,aAAaK,EAAc,CAC3B,KAAK,SAAS,aAAeA,CAChC,CAID,IAAI,gBAAiB,CACjB,OAAO,KAAK,WAAW,IAC1B,CACD,IAAI,eAAehwE,EAAM,CACrB,KAAK,WAAW,KAAOA,CAC1B,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,SAAS,KACxB,CACD,IAAI,MAAM8vE,EAAO,CACb,KAAK,SAAS,MAAQA,EACtB,KAAK,WAAW,MAAQA,CAC3B,CACD,IAAI,UAAW,CACX,OAAO,KAAK,SAAS,QACxB,CACD,IAAI,SAASL,EAAU,CACnB,KAAK,SAAS,SAAWA,CAC5B,CACD,QAAQznC,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAOuV,GAAiB,KAAMnnC,CAAM,CAChD,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACf,KAAK,OAAO,UACZ,KAAK,YAAY,UACjB,KAAK,SAAS,UACd,KAAK,WAAW,UAChB,KAAK,gBAAgB,UACrB,KAAK,iBAAiB,UACf,IACV,CACL,CCxHO,MAAMuoC,WAAqB9C,EAAO,CACrC,aAAc,CACV,MAAMrS,EAAqBmV,GAAa,cAAe,UAAW,CAAC,YAAa,OAAQ,gBAAgB,CAAC,CAAC,EAC1G,KAAK,KAAO,eAIZ,KAAK,gBAAkB,IAAIvJ,GAAK,CAC5B,QAAS,KAAK,QACd,KAAM,CAClB,CAAS,EACD,MAAM/5D,EAAUmuD,EAAqBmV,GAAa,YAAa,EAAE,UAAW,CAAC,YAAa,OAAQ,gBAAgB,CAAC,EACnH,KAAK,SAAW,IAAIlB,GAAW,CAC3B,QAAS,KAAK,QACd,OAAQpiE,EAAQ,OAChB,UAAW,EACX,OAAQ,IAAM,KAAK,OAAO,IAAI,EAC9B,MAAOA,EAAQ,MACf,KAAMA,EAAQ,IAC1B,CAAS,EACD,KAAK,OAAS,KAAK,SAAS,OAC5B,KAAK,UAAY,IAAIs6D,GAAO,CACxB,QAAS,KAAK,QACd,MAAO,YACP,MAAOt6D,EAAQ,SAC3B,CAAS,EACD,KAAK,WAAa,IAAIoiE,GAAW,CAC7B,QAAS,KAAK,QACd,MAAOpiE,EAAQ,MACf,KAAMA,EAAQ,cAC1B,CAAS,EACD,KAAK,YAAc,IAAIojE,GAAS,CAC5B,QAAS,KAAK,QACd,MAAO,WACP,MAAOpjE,EAAQ,WAC3B,CAAS,EACD,KAAK,gBAAkB,IAAIojE,GAAS,CAChC,QAAS,KAAK,QACd,MAAO,WACP,MAAOpjE,EAAQ,eAC3B,CAAS,EAED,KAAK,UAAU,QAAQ,KAAK,SAAS,SAAS,EAC9C,KAAK,UAAU,MAAM,KAAK,YAAa,KAAK,WAAW,SAAS,EAChE,KAAK,UAAU,MAAM,KAAK,gBAAiB,KAAK,eAAe,EAC/D,KAAK,WAAW,QAAQ,KAAK,gBAAgB,IAAI,EACjD,KAAK,gBAAgB,QAAQ,KAAK,SAAS,SAAS,EACpD,KAAK,SAAS,QAAQ,KAAK,MAAM,EACjC,KAAK,OAAO,QAAQ,KAAK,WAAW,MAAM,EAC1C2yD,GAAS,KAAM,CAAC,kBAAmB,YAAa,SAAU,aAAa,CAAC,CAC3E,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyP,GAAW,YAAW,EAAI,CAC3C,YAAa,EACb,gBAAiB,EACjB,eAAgB,QAC5B,CAAS,CACJ,CAID,OAAO1zC,EAAM,CACT,KAAK,WAAW,MAAMA,CAAI,EAC1B,KAAK,SAAS,MAAMA,CAAI,CAC3B,CAID,MAAMA,EAAM,CACR,KAAK,WAAW,KAAKA,CAAI,EACzB,KAAK,SAAS,KAAKA,CAAI,CAC1B,CACD,SAASA,EAAM,CACX,YAAK,WAAW,QAAQA,CAAI,EAC5B,KAAK,SAAS,QAAQA,CAAI,EACnB,IACV,CACD,IAAI,MAAO,CACP,OAAO,KAAK,SAAS,IACxB,CACD,IAAI,KAAK37B,EAAM,CACX,KAAK,SAAS,KAAOA,CACxB,CACD,IAAI,UAAW,CACX,OAAO,KAAK,SAAS,QACxB,CACD,IAAI,SAAS2vE,EAAU,CACnB,KAAK,SAAS,SAAWA,CAC5B,CACD,IAAI,cAAe,CACf,OAAO,KAAK,SAAS,YACxB,CACD,IAAI,aAAaK,EAAc,CAC3B,KAAK,SAAS,aAAeA,CAChC,CAID,IAAI,gBAAiB,CACjB,OAAO,KAAK,WAAW,IAC1B,CACD,IAAI,eAAehwE,EAAM,CACrB,KAAK,WAAW,KAAOA,CAC1B,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,SAAS,KACxB,CACD,IAAI,MAAM8vE,EAAO,CACb,KAAK,SAAS,MAAQA,EACtB,KAAK,WAAW,MAAQA,CAC3B,CACD,IAAI,UAAW,CACX,OAAO,KAAK,SAAS,QACxB,CACD,IAAI,SAASL,EAAU,CACnB,KAAK,SAAS,SAAWA,CAC5B,CACD,QAAQznC,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAOuV,GAAiB,KAAMnnC,CAAM,CAChD,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACf,KAAK,YAAY,UACjB,KAAK,SAAS,UACd,KAAK,WAAW,UAChB,KAAK,gBAAgB,UACrB,KAAK,gBAAgB,UACd,IACV,CACL,CC9HO,MAAMwoC,WAAwB/C,EAAO,CACxC,aAAc,CACV,MAAMrS,EAAqBoV,GAAgB,YAAa,EAAE,UAAW,CAAC,YAAa,OAAO,CAAC,CAAC,EAC5F,KAAK,KAAO,kBAIZ,KAAK,WAAa,IAAIxJ,GAAK,CACvB,QAAS,KAAK,QACd,KAAM,CAClB,CAAS,EAID,KAAK,QAAU,IAAIuE,GAAW,CAC1B,QAAS,KAAK,QACd,QAASxzE,GAAOA,GAAO,EAAI,GAAK,CAC5C,CAAS,EACD,MAAMkV,EAAUmuD,EAAqBoV,GAAgB,YAAW,EAAI,UAAW,CAAC,YAAa,OAAO,CAAC,EACrG,KAAK,MAAQ,IAAIjJ,GAAO,CACpB,QAAS,KAAK,QACd,MAAO,aACP,MAAOt6D,EAAQ,KAC3B,CAAS,EACD,KAAK,UAAY,IAAIoiE,GAAW,CAC5B,QAAS,KAAK,QACd,OAAQpiE,EAAQ,OAChB,UAAWA,EAAQ,UACnB,OAAQ,IAAM,KAAK,OAAO,IAAI,EAC9B,MAAOA,EAAQ,MACf,KAAM,UAClB,CAAS,EACD,KAAK,UAAY,KAAK,UAAU,UAChC,KAAK,OAAS,KAAK,UAAU,OAE7B,KAAK,UAAU,MAAM,KAAK,QAAS,KAAK,MAAM,EAC9C,KAAK,MAAM,MAAM,KAAK,WAAY,KAAK,OAAO,EAC9C2yD,GAAS,KAAM,CAAC,QAAS,YAAa,QAAQ,CAAC,CAClD,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO6N,GAAO,YAAW,EAAI,CACvC,OAAQ,EACR,UAAW,IACX,MAAO,EACP,KAAM,QACN,MAAO,EACnB,CAAS,CACJ,CAID,OAAO9xC,EAAM,CACTA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,UAAU,MAAMA,CAAI,EACzB,KAAK,WAAW,KAAK,eAAe,EAAGA,CAAI,CAC9C,CAID,MAAMA,EAAM,CACRA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,UAAU,KAAKA,CAAI,EAGxB,KAAK,WAAW,KAAK,sBAAsBA,CAAI,EAC/C,KAAK,WAAW,KAAK,eAAe,EAAGA,CAAI,CAC9C,CACD,SAASA,EAAM,CACX,KAAK,UAAU,QAAQA,CAAI,EAC3B,KAAK,WAAW,KAAK,sBAAsBA,CAAI,EAC/C,KAAK,WAAW,KAAK,eAAe,EAAGA,CAAI,CAC9C,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,UAAU,KACzB,CACD,IAAI,MAAMm0C,EAAO,CACb,KAAK,UAAU,MAAQA,CAC1B,CAID,IAAI,MAAO,CACP,MAAO,OACV,CAID,IAAI,UAAW,CACX,MAAO,OACV,CAID,IAAI,UAAW,CACX,MAAO,EACV,CAID,IAAI,cAAe,CACf,MAAO,EACV,CAMD,IAAI,YAAY9vE,EAAM,CAClB,KAAK,UAAU,KAAOA,CACzB,CACD,QAAQgoC,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAOuV,GAAiB,KAAMnnC,CAAM,CAChD,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACf,KAAK,MAAM,UACX,KAAK,WAAW,UAChB,KAAK,QAAQ,UACN,IACV,CACL,CC/JO,MAAMyoC,WAAsBhD,EAAO,CACtC,aAAc,CACV,MAAMrS,EAAqBqV,GAAc,cAAe,UAAW,CAAC,YAAa,OAAQ,QAAQ,CAAC,CAAC,EACnG,KAAK,KAAO,gBAIZ,KAAK,aAAe,GACpB,MAAMxjE,EAAUmuD,EAAqBqV,GAAc,YAAa,EAAE,UAAW,CAAC,YAAa,OAAQ,QAAQ,CAAC,EAC5G,KAAK,UAAY,IAAIlJ,GAAO,CACxB,QAAS,KAAK,QACd,MAAO,YACP,MAAOt6D,EAAQ,SAC3B,CAAS,EACD,KAAK,OAAS,IAAIs6D,GAAO,CACrB,QAAS,KAAK,QACd,MAAO,QACP,MAAOt6D,EAAQ,MAC3B,CAAS,EACD,KAAK,QAAUA,EAAQ,OACvB,KAAK,MAAQA,EAAQ,KACrB,KAAK,OAASA,EAAQ,MACtB,KAAK,UAAYA,EAAQ,SACzB,KAAK,cAAgBA,EAAQ,aAE7B,KAAK,MAAQA,EAAQ,MACrB2yD,GAAS,KAAM,CAAC,YAAa,QAAQ,CAAC,CACzC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyP,GAAW,YAAW,EAAI,CAC3C,MAAO,EACP,OAAQ,GACR,KAAM,UAClB,CAAS,CACJ,CAID,OAAO1zC,EAAM,CACTA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,SAAS+0C,GAAOA,EAAI,MAAM/0C,CAAI,CAAC,CACvC,CAID,MAAMA,EAAM,CACRA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,SAAS+0C,GAAOA,EAAI,KAAK/0C,CAAI,CAAC,CACtC,CACD,SAASA,EAAM,CACX,KAAK,SAAS+0C,GAAOA,EAAI,QAAQ/0C,CAAI,CAAC,CACzC,CAID,SAASg1C,EAAU,CACf,QAAS/3E,EAAI,EAAGA,EAAI,KAAK,aAAa,OAAQA,IAC1C+3E,EAAS,KAAK,aAAa/3E,CAAC,EAAGA,CAAC,CAEvC,CAID,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,KAAKoH,EAAM,CACX,KAAK,MAAQA,EACb,KAAK,SAAS0wE,GAAOA,EAAI,KAAO1wE,CAAI,CACvC,CAUD,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,OAAO4wE,EAAQ,CAEf,GADA,KAAK,QAAUA,EACX,KAAK,aAAa,OAAS,EAAG,CAC9B,MAAMpmE,EAAQ,CAAComE,EAAS,EAClB1W,EAAO0W,GAAU,KAAK,aAAa,OAAS,GAClD,KAAK,SAAS,CAACF,EAAK93E,IAAM83E,EAAI,OAAO,MAAQlmE,EAAQ0vD,EAAOthE,CAAC,CAChE,CACJ,CAQD,IAAI,OAAQ,CACR,OAAO,KAAK,aAAa,MAC5B,CACD,IAAI,MAAMw3C,EAAO,CAEb,GADAgoB,GAAYhoB,EAAO,CAAC,EAChB,KAAK,aAAa,SAAWA,EAAO,CAEpC,KAAK,SAASsgC,GAAOA,EAAI,QAAS,GAClC,KAAK,aAAe,GACpB,QAAS93E,EAAI,EAAGA,EAAIw3C,EAAOx3C,IAAK,CAC5B,MAAM83E,EAAM,IAAIrB,GAAW,CACvB,QAAS,KAAK,QACd,OAAQ,GAAKj/B,EAAQ,IACrB,KAAM,KAAK,MACX,MAAO,KAAK,OAAUx3C,EAAIw3C,EAAS,IACnC,aAAc,KAAK,cACnB,OAAQx3C,IAAM,EAAI,IAAM,KAAK,OAAO,IAAI,EAAIknE,EAChE,CAAiB,EACG,KAAK,OAAS,WACd4Q,EAAI,SAAW,KAAK,WAExB,KAAK,UAAU,QAAQA,EAAI,SAAS,EACpC,KAAK,OAAO,QAAQA,EAAI,MAAM,EAC9BA,EAAI,OAAO,WAAa,GACxBA,EAAI,QAAQ,KAAK,MAAM,EACvB,KAAK,aAAa93E,CAAC,EAAI83E,CAC1B,CAED,KAAK,OAAS,KAAK,QACf,KAAK,QAAU,WACf,KAAK,SAASA,GAAOA,EAAI,MAAO,EAEvC,CACJ,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,MACf,CACD,IAAI,MAAMZ,EAAO,CACb,KAAK,OAASA,EACd,KAAK,SAAS,CAACY,EAAK93E,IAAM83E,EAAI,MAAQ,KAAK,OAAU93E,EAAI,KAAK,MAAS,GAAG,CAC7E,CACD,IAAI,UAAW,CACX,OAAO,KAAK,aAAa,CAAC,EAAE,QAC/B,CACD,IAAI,SAAS+2E,EAAU,CACnB,KAAK,SAASe,GAAOA,EAAI,SAAWf,CAAQ,EAC5C,KAAK,MAAQ,KAAK,aAAa,CAAC,EAAE,IACrC,CACD,IAAI,UAAW,CACX,OAAO,KAAK,aAAa,CAAC,EAAE,QAC/B,CACD,IAAI,SAASF,EAAU,CACnB,KAAK,UAAYA,EACjB,KAAK,cAAgB,KAAK,UAAU,OAChCA,EAAS,SACT,KAAK,MAAQ,SACb,KAAK,SAASiB,GAAOA,EAAI,SAAWjB,CAAQ,EAEnD,CACD,IAAI,cAAe,CACf,OAAO,KAAK,aAAa,CAAC,EAAE,YAC/B,CACD,IAAI,aAAaO,EAAc,CAC3B,KAAK,cAAgBA,EACrB,KAAK,SAASU,GAAOA,EAAI,aAAeV,CAAY,EACpD,KAAK,MAAQ,KAAK,aAAa,CAAC,EAAE,IACrC,CACD,QAAQhoC,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAOuV,GAAiB,KAAMnnC,CAAM,CAChD,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACf,KAAK,OAAO,UACZ,KAAK,SAAS0oC,GAAOA,EAAI,QAAS,GAC3B,IACV,CACL,CC9KO,MAAMG,WAAsBpD,EAAO,CACtC,aAAc,CACV,MAAMrS,EAAqByV,GAAc,YAAa,EAAE,UAAW,CAAC,YAAa,qBAAqB,CAAC,CAAC,EACxG,KAAK,KAAO,gBACZ,KAAK,WAAa,MAKlB,KAAK,OAAS,IAAIR,GAAS,CACvB,QAAS,KAAK,QACd,MAAO,CACnB,CAAS,EACD,MAAMpjE,EAAUmuD,EAAqByV,GAAc,YAAW,EAAI,UAAW,CAAC,YAAa,qBAAqB,CAAC,EACjH,KAAK,OAAS,IAAIL,GAAgB,CAC9B,QAAS,KAAK,QACd,UAAWvjE,EAAQ,mBAC/B,CAAS,EAED,KAAK,OAAO,YAAc,OAC1B,KAAK,oBAAsB,KAAK,OAAO,UACvC,KAAK,WAAa,IAAIoiE,GAAW,CAC7B,QAAS,KAAK,QACd,OAAQpiE,EAAQ,OAChB,UAAWA,EAAQ,UACnB,OAAQ,IAAM,KAAK,OAAO,IAAI,EAC9B,MAAOA,EAAQ,KAC3B,CAAS,EACD,KAAK,UAAY,KAAK,WAAW,UACjC,KAAK,OAAS,KAAK,WAAW,OAE9B,KAAK,WAAW,MAAM,KAAK,OAAQ,KAAK,OAAO,KAAK,EACpD,KAAK,OAAO,QAAQ,KAAK,MAAM,EAC/B2yD,GAAS,KAAM,CAAC,sBAAuB,YAAa,QAAQ,CAAC,CAChE,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO6N,GAAO,YAAW,EAAI,CACvC,OAAQ,EACR,UAAW,IACX,oBAAqB,GACrB,MAAO,EACP,KAAM,KAClB,CAAS,CACJ,CAID,OAAO9xC,EAAM,CACTA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,WAAW,MAAMA,CAAI,EAC1B,KAAK,OAAO,MAAMA,CAAI,CACzB,CAID,MAAMA,EAAM,CACRA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,WAAW,KAAKA,CAAI,EACzB,KAAK,OAAO,KAAKA,CAAI,CACxB,CAID,SAASA,EAAM,CACX,KAAK,WAAW,QAAQA,CAAI,EAC5B,KAAK,OAAO,QAAQA,CAAI,CAC3B,CAID,IAAI,MAAO,CACP,MAAO,KACV,CAID,IAAI,UAAW,CACX,MAAO,KACV,CAID,IAAI,UAAW,CACX,MAAO,EACV,CAID,IAAI,cAAe,CACf,MAAO,EACV,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,WAAW,KAC1B,CACD,IAAI,MAAMm0C,EAAO,CACb,KAAK,WAAW,MAAQA,CAC3B,CACD,QAAQ9nC,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAOuV,GAAiB,KAAMnnC,CAAM,CAChD,CAAS,CACJ,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAAO,UACZ,KAAK,OAAO,UACZ,KAAK,WAAW,UACT,IACV,CACL,CCzHA,MAAM8oC,GAA0B,CAC5B,GAAIR,GACJ,IAAKG,GACL,GAAIF,GACJ,WAAYlB,GACZ,MAAOmB,GACP,IAAKK,EACT,EASO,MAAME,WAAuBtD,EAAO,CACvC,aAAc,CACV,MAAMrS,EAAqB2V,GAAe,YAAa,EAAE,UAAW,CAAC,YAAa,MAAM,CAAC,CAAC,EAC1F,KAAK,KAAO,iBACZ,MAAM9jE,EAAUmuD,EAAqB2V,GAAe,YAAW,EAAI,UAAW,CAAC,YAAa,MAAM,CAAC,EACnG,KAAK,UAAY,IAAIxJ,GAAO,CACxB,QAAS,KAAK,QACd,MAAO,YACP,MAAOt6D,EAAQ,SAC3B,CAAS,EACD,KAAK,OAAS,IAAIs6D,GAAO,CACrB,QAAS,KAAK,QACd,MAAO,QACP,MAAOt6D,EAAQ,MAC3B,CAAS,EACD2yD,GAAS,KAAM,CAAC,YAAa,QAAQ,CAAC,EAEtC,KAAK,IAAI3yD,CAAO,CACnB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOoiE,GAAW,YAAW,EAAIkB,GAAa,YAAW,EAAID,GAAa,YAAW,EAAIG,GAAc,YAAW,EAAID,GAAgB,YAAW,EAAIK,GAAc,YAAW,CAAE,CACjM,CAID,OAAOl1C,EAAM,CACT,KAAK,YAAY,MAAMA,CAAI,CAC9B,CAID,MAAMA,EAAM,CACR,KAAK,YAAY,KAAKA,CAAI,CAC7B,CACD,SAASA,EAAM,CACX,YAAK,YAAY,QAAQA,CAAI,EACtB,IACV,CAcD,IAAI,MAAO,CACP,IAAIq1C,EAAS,GACb,MAAI,CAAC,KAAM,KAAM,KAAK,EAAE,KAAK3mE,GAAK,KAAK,cAAgBA,CAAC,IACpD2mE,EAAS,KAAK,aAEXA,EAAS,KAAK,YAAY,IACpC,CACD,IAAI,KAAKhxE,EAAM,CACPA,EAAK,OAAO,EAAG,CAAC,IAAM,MACtB,KAAK,qBAAqB,IAAI,EAC9B,KAAK,YAAc,KAAK,YACxB,KAAK,YAAY,KAAOA,EAAK,OAAO,CAAC,GAEhCA,EAAK,OAAO,EAAG,CAAC,IAAM,MAC3B,KAAK,qBAAqB,IAAI,EAC9B,KAAK,YAAc,KAAK,YACxB,KAAK,YAAY,KAAOA,EAAK,OAAO,CAAC,GAEhCA,EAAK,OAAO,EAAG,CAAC,IAAM,OAC3B,KAAK,qBAAqB,KAAK,EAC/B,KAAK,YAAc,KAAK,YACxB,KAAK,YAAY,KAAOA,EAAK,OAAO,CAAC,GAEhCA,IAAS,OACd,KAAK,qBAAqB,KAAK,EAC/B,KAAK,YAAc,KAAK,aAEnBA,IAAS,QACd,KAAK,qBAAqB,OAAO,GAGjC,KAAK,qBAAqB,YAAY,EACtC,KAAK,YAAc,KAAK,YACxB,KAAK,YAAY,KAAOA,EAE/B,CAMD,IAAI,UAAW,CACX,OAAO,KAAK,YAAY,QAC3B,CACD,IAAI,SAASyvE,EAAU,CACf,CAAC,KAAK,YAAY,KAAK,YAAa,OAAO,GAAK,CAAC,KAAK,YAAY,KAAK,YAAa,KAAK,IACzF,KAAK,YAAY,SAAWA,EAEnC,CACD,IAAI,cAAe,CACf,OAAO,KAAK,YAAY,YAC3B,CACD,IAAI,aAAaO,EAAc,CACvB,CAAC,KAAK,YAAY,KAAK,YAAa,OAAO,GAAK,CAAC,KAAK,YAAY,KAAK,YAAa,KAAK,IACzF,KAAK,YAAY,aAAeA,EAEvC,CACD,IAAIjkE,EAAO,CAEP,OAAI,QAAQ,IAAIA,EAAO,MAAM,GAAKA,EAAM,OACpC,KAAK,KAAOA,EAAM,MAGtB,MAAM,IAAIA,CAAK,EACR,IACV,CAID,qBAAqBklE,EAAS,CAC1B,GAAIA,IAAY,KAAK,YAAa,CAC9B,KAAK,YAAcA,EACnB,MAAMC,EAAiBJ,GAAwBG,CAAO,EAEhD/S,EAAM,KAAK,MACjB,GAAI,KAAK,YAAa,CAClB,MAAMiT,EAAS,KAAK,YACpBA,EAAO,KAAKjT,CAAG,EAEf,KAAK,QAAQ,WAAW,IAAMiT,EAAO,UAAW,KAAK,SAAS,CACjE,CACD,KAAK,YAAc,IAAID,EAAe,CAClC,QAAS,KAAK,OAC9B,CAAa,EACD,KAAK,UAAU,QAAQ,KAAK,YAAY,SAAS,EACjD,KAAK,OAAO,QAAQ,KAAK,YAAY,MAAM,EAC3C,KAAK,YAAY,QAAQ,KAAK,MAAM,EACpC,KAAK,YAAY,OAAS,IAAM,KAAK,OAAO,IAAI,EAC5C,KAAK,QAAU,WACf,KAAK,YAAY,MAAMhT,CAAG,CAEjC,CACJ,CACD,IAAI,OAAQ,CACR,OAAO,KAAK,YAAY,KAC3B,CACD,IAAI,MAAM4R,EAAO,CACb,KAAK,YAAY,MAAQA,CAC5B,CAOD,IAAI,YAAa,CACb,OAAO,KAAK,WACf,CACD,IAAI,WAAWsB,EAAO,CAElB,IAAIzB,EAAW,OACX,KAAK,YAAY,OAAS,OAAS,KAAK,YAAY,OAAS,UAC7DA,EAAW,KAAK,YAAY,MAG5ByB,IAAU,KACV,KAAK,KAAO,KAAOzB,EAEdyB,IAAU,KACf,KAAK,KAAO,KAAOzB,EAEdyB,IAAU,MACf,KAAK,KAAO,MAAQzB,EAEfyB,IAAU,aACf,KAAK,KAAOzB,EAEPyB,IAAU,QACf,KAAK,KAAO,QAEPA,IAAU,QACf,KAAK,KAAO,MAEnB,CACD,YAAYV,EAAKW,EAAY,CACzB,OAAOX,aAAeI,GAAwBO,CAAU,CAC3D,CAOD,IAAI,UAAW,CACX,OAAO,KAAK,YAAY,QAC3B,CACD,IAAI,SAAS1B,EAAU,CACf,CAAC,KAAK,YAAY,KAAK,YAAa,OAAO,GAC3C,CAAC,KAAK,YAAY,KAAK,YAAa,KAAK,GACzCA,IAAa,SAAWA,IAAa,QACrC,KAAK,YAAY,SAAWA,EAEnC,CAKD,IAAI,OAAQ,CACR,GAAI,KAAK,YAAY,KAAK,YAAa,OAAO,EAC1C,OAAO,KAAK,YAAY,KAK/B,CAKD,IAAI,OAAQ,CACR,GAAI,KAAK,YAAY,KAAK,YAAa,KAAK,EACxC,OAAO,KAAK,YAAY,KAK/B,CACD,IAAI,MAAMv/B,EAAO,CACT,KAAK,YAAY,KAAK,YAAa,KAAK,GAAK4nB,GAAS5nB,CAAK,IAC3D,KAAK,YAAY,MAAQA,EAEhC,CAKD,IAAI,QAAS,CACT,GAAI,KAAK,YAAY,KAAK,YAAa,KAAK,EACxC,OAAO,KAAK,YAAY,MAK/B,CACD,IAAI,OAAOwgC,EAAQ,CACX,KAAK,YAAY,KAAK,YAAa,KAAK,GAAK5Y,GAAS4Y,CAAM,IAC5D,KAAK,YAAY,OAASA,EAEjC,CAKD,IAAI,gBAAiB,CACjB,GAAI,KAAK,YAAY,KAAK,YAAa,IAAI,GAAK,KAAK,YAAY,KAAK,YAAa,IAAI,EACnF,OAAO,KAAK,YAAY,cAK/B,CACD,IAAI,eAAeU,EAAO,EACjB,KAAK,YAAY,KAAK,YAAa,IAAI,GAAK,KAAK,YAAY,KAAK,YAAa,IAAI,IAAMh4E,GAASg4E,CAAK,IACxG,KAAK,YAAY,eAAiBA,EAEzC,CAKD,IAAI,iBAAkB,CAClB,GAAI,KAAK,YAAY,KAAK,YAAa,IAAI,EACvC,OAAO,KAAK,YAAY,eAK/B,CAKD,IAAI,aAAc,CACd,GAAI,KAAK,YAAY,KAAK,YAAa,IAAI,GAAK,KAAK,YAAY,KAAK,YAAa,IAAI,EACnF,OAAO,KAAK,YAAY,WAK/B,CAOD,IAAI,qBAAsB,CACtB,GAAI,KAAK,YAAY,KAAK,YAAa,KAAK,EACxC,OAAO,KAAK,YAAY,mBAK/B,CACD,QAAQtpC,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAOuV,GAAiB,KAAMnnC,CAAM,CAChD,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,OAAO,UACZ,KAAK,UAAU,UACf,KAAK,YAAY,UACV,IACV,CACL,CCtUO,MAAMupC,WAAYhK,EAAO,CAC5B,aAAc,CACV,MAAM,OAAO,OAAOnM,EAAqBmW,GAAI,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAClF,KAAK,SAAW,GAChB,KAAK,KAAO,MAIZ,KAAK,KAAO,IAAIvK,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAC9C,KAAK,MAAQ,KAAK,KAClB,KAAK,OAAS,KAAK,KAInB,KAAK,OAAS,KAAK,OACnBN,GAAc,KAAK,gBAAiB,KAAK,IAAI,CAChD,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOa,GAAO,YAAW,EAAI,CACvC,MAAO,CACnB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,KAAK,UACH,IACV,CACL,CChCO,MAAMiK,WAAclG,EAAe,CACtC,aAAc,CACV,MAAM,OAAO,OAAOlQ,EAAqBoW,GAAM,cAAe,UAAW,CAAC,MAAO,KAAK,CAAC,CAAC,CAAC,EACzF,KAAK,KAAO,QACZ,MAAMvkE,EAAUmuD,EAAqBoW,GAAM,YAAW,EAAI,UAAW,CAAC,MAAO,KAAK,CAAC,EACnF,KAAK,MAAQ,KAAK,MAAQ,IAAInB,GAAS,CACnC,QAAS,KAAK,QACd,MAAOpjE,EAAQ,IAAMA,EAAQ,GACzC,CAAS,EACD,KAAK,KAAO,KAAK,OAAS,IAAIskE,GAAI,CAC9B,QAAS,KAAK,QACd,MAAOtkE,EAAQ,GAC3B,CAAS,EACD,KAAK,KAAOA,EAAQ,IACpB,KAAK,KAAOA,EAAQ,IACpB,KAAK,MAAM,QAAQ,KAAK,MAAM,CACjC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOq+D,GAAe,YAAW,EAAI,CAC/C,IAAK,EACL,IAAK,CACjB,CAAS,CACJ,CAID,IAAI,KAAM,CACN,OAAO,KAAK,IACf,CACD,IAAI,IAAIjP,EAAK,CACT,KAAK,KAAOA,EACZ,KAAK,UAAS,CACjB,CAID,IAAI,KAAM,CACN,OAAO,KAAK,IACf,CACD,IAAI,IAAI9iD,EAAK,CACT,KAAK,KAAOA,EACZ,KAAK,UAAS,CACjB,CAID,WAAY,CACR,KAAK,KAAK,MAAQ,KAAK,KACvB,KAAK,MAAM,MAAQ,KAAK,KAAO,KAAK,IACvC,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,KAAK,UACV,KAAK,MAAM,UACJ,IACV,CACL,CC7DO,MAAMk4D,WAAanG,EAAe,CACrC,aAAc,CACV,MAAM,OAAO,OAAOlQ,EAAqBqW,GAAK,YAAa,EAAE,SAAS,CAAC,CAAC,EACxE,KAAK,KAAO,OAIZ,KAAK,MAAQ,IAAIzK,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAI/C,KAAK,OAAS,KAAK,MAInB,KAAK,MAAQ,OACbx2B,GAAQ,KAAK,QAAQ,YAAY,CAAC,EAAG,KAAK,KAAK,CAClD,CAID,SAAU,CACN,aAAM,QAAO,EACb7K,GAAW,KAAK,QAAQ,YAAY,CAAC,EAAG,KAAK,KAAK,EAC3C,IACV,CACL,CCfO,MAAM+rC,WAAYrL,EAAc,CACnC,aAAc,CACV,MAAMjL,EAAqBsW,GAAI,cAAe,UAAW,CAAC,YAAa,MAAO,KAAK,CAAC,CAAC,EACrF,KAAK,KAAO,MAIZ,KAAK,cAAgB,EAIrB,KAAK,OAAS,SAId,KAAK,QAAU,GAKf,KAAK,UAAYtM,GAAM,UAAU,UAEjC,KAAK,QAAUA,GAAM,UAAU,QAE/B,KAAK,IAAMA,GAAM,UAAU,IAE3B,KAAK,YAAcA,GAAM,UAAU,YACnC,MAAMn4D,EAAUmuD,EAAqBsW,GAAI,YAAa,EAAE,UAAW,CAAC,YAAa,MAAO,KAAK,CAAC,EAC9F,KAAK,YAAc,IAAIrC,GAAWpiE,CAAO,EACzC,KAAK,UAAY,KAAK,YAAY,UAClC,KAAK,eAAiB,IAAI+5D,GAAK,CAC3B,QAAS,KAAK,QACd,KAAM/5D,EAAQ,UACd,MAAO,aACnB,CAAS,EACD,KAAK,UAAY,KAAK,eAAe,KACrC,KAAK,eAAiB,IAAIs6D,GAAO,CAC7B,QAAS,KAAK,QACd,MAAO,aACP,MAAO,CACnB,CAAS,EACD,KAAK,OAAS,IAAIkK,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAChD,KAAK,KAAO,IAAIrB,GAAY,CAAE,QAAS,KAAK,OAAO,CAAE,EACrD,KAAK,QAAU,KAAK,OAAS,IAAIoB,GAAM,CACnC,QAAS,KAAK,QACd,IAAKvkE,EAAQ,IACb,IAAKA,EAAQ,GACzB,CAAS,EACD,KAAK,MAAQA,EAAQ,MACrB,KAAK,IAAMA,EAAQ,IACnB,KAAK,IAAMA,EAAQ,IAEnB,KAAK,YAAY,MAAM,KAAK,eAAgB,KAAK,KAAM,KAAK,OAAO,EACnE,KAAK,OAAO,QAAQ,KAAK,IAAI,EAC7B,KAAK,eAAe,QAAQ,KAAK,IAAI,EACrC2yD,GAAS,KAAM,CAAC,YAAa,WAAW,CAAC,EACzC,KAAK,MAAQ3yD,EAAQ,KACxB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOoiE,GAAW,YAAW,EAAI,CAC3C,UAAW,EACX,UAAW,KACX,IAAK,EACL,IAAK,EACL,KAAM,OACN,MAAO,QACnB,CAAS,CACJ,CAKD,MAAM1zC,EAAM,CACR,OAAAA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,eAAe,eAAe,EAAGA,CAAI,EAC1C,KAAK,YAAY,MAAMA,CAAI,EACpB,IACV,CAKD,KAAKA,EAAM,CACP,OAAAA,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,eAAe,eAAe,KAAK,cAAeA,CAAI,EAC3D,KAAK,YAAY,KAAKA,CAAI,EACnB,IACV,CASD,MAAO,CACH,YAAK,YAAY,OACjB,KAAK,YAAY,gBACV,IACV,CAID,QAAS,CACL,YAAK,YAAY,SACjB,KAAK,YAAY,kBACV,IACV,CAID,kBAAmB,CACf,KAAK,cAAgB,KAAK,YAAY,gBAAe,EACrD,KAAK,eAAe,MAAQ,KAAK,aACpC,CAID,IAAI,KAAM,CACN,OAAO,KAAK,QAAQ,KAAK,QAAQ,GAAG,CACvC,CACD,IAAI,IAAI0gC,EAAK,CACTA,EAAM,KAAK,UAAUA,CAAG,EACxB,KAAK,QAAQ,IAAMA,CACtB,CAID,IAAI,KAAM,CACN,OAAO,KAAK,QAAQ,KAAK,QAAQ,GAAG,CACvC,CACD,IAAI,IAAI9iD,EAAK,CACTA,EAAM,KAAK,UAAUA,CAAG,EACxB,KAAK,QAAQ,IAAMA,CACtB,CAID,IAAI,MAAO,CACP,OAAO,KAAK,YAAY,IAC3B,CACD,IAAI,KAAKvZ,EAAM,CACX,KAAK,YAAY,KAAOA,EACxB,KAAK,iBAAgB,CACxB,CAID,IAAI,UAAW,CACX,OAAO,KAAK,YAAY,QAC3B,CACD,IAAI,SAASyvE,EAAU,CACnB,KAAK,YAAY,SAAWA,EAC5B,KAAK,iBAAgB,CACxB,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,YAAY,KAC3B,CACD,IAAI,MAAMK,EAAO,CACb,KAAK,YAAY,MAAQA,EACzB,KAAK,iBAAgB,CACxB,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,MACf,CACD,IAAI,MAAM/3E,EAAK,CACX,MAAM45E,EAAa,KAAK,IAClBC,EAAa,KAAK,IAExB,KAAK,OAAS75E,EACd,KAAK,IAAM45E,EACX,KAAK,IAAMC,CACd,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,YAAY,KAC3B,CAMD,QAAQ9/C,EAAMy0C,EAAWC,EAAU,CAC/B,OAAI10C,aAAgBszC,IAAStzC,aAAgBy1C,MACzC,KAAK,QAAUz1C,EAAK,QACpB,KAAK,MAAQA,EAAK,OAEtB01C,GAAc,KAAM11C,EAAMy0C,EAAWC,CAAQ,EACtC,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,YAAY,UACjB,KAAK,eAAe,UACpB,KAAK,OAAO,UACZ,KAAK,QAAQ,UACb,KAAK,KAAK,UACV,KAAK,eAAe,UACpB,KAAK,UAAU,UACR,IACV,CACL,CCnOO,SAASqL,GAAMxV,EAAK9iD,EAAM,IAAU,CACvC,MAAMu4D,EAAW,IAAI,QACrB,OAAO,SAAU/xE,EAAQgyE,EAAa,CAClC,QAAQ,eAAehyE,EAAQgyE,EAAa,CACxC,aAAc,GACd,WAAY,GACZ,IAAK,UAAY,CACb,OAAOD,EAAS,IAAI,IAAI,CAC3B,EACD,IAAK,SAAUxxE,EAAU,CACrB83D,GAAY93D,EAAU+7D,EAAK9iD,CAAG,EAC9Bu4D,EAAS,IAAI,KAAMxxE,CAAQ,CAC9B,CACb,CAAS,CACT,CACA,CAKO,SAAS0xE,GAAU3V,EAAK9iD,EAAM,IAAU,CAC3C,MAAMu4D,EAAW,IAAI,QACrB,OAAO,SAAU/xE,EAAQgyE,EAAa,CAClC,QAAQ,eAAehyE,EAAQgyE,EAAa,CACxC,aAAc,GACd,WAAY,GACZ,IAAK,UAAY,CACb,OAAOD,EAAS,IAAI,IAAI,CAC3B,EACD,IAAK,SAAUxxE,EAAU,CACrB83D,GAAY,KAAK,UAAU93D,CAAQ,EAAG+7D,EAAK9iD,CAAG,EAC9Cu4D,EAAS,IAAI,KAAMxxE,CAAQ,CAC9B,CACb,CAAS,CACT,CACA,CCtBO,MAAM2xE,WAAexE,EAAO,CAC/B,aAAc,CACV,MAAMrS,EAAqB6W,GAAO,YAAW,EAAI,UAAW,CACxD,MACA,QACH,EAAC,EACF,KAAK,KAAO,SAIZ,KAAK,eAAiB,IAAI,IAC1B,MAAMhlE,EAAUmuD,EAAqB6W,GAAO,YAAW,EAAI,UAAW,CAClE,MACA,QACZ,CAAS,EACD,KAAK,QAAU,IAAIlS,GAAgB,CAC/B,OAAQ,KAAK,QAAQ,KAAK,KAAM9yD,EAAQ,MAAM,EAC9C,QAASA,EAAQ,QACjB,QAASA,EAAQ,QACjB,IAAKA,EAAQ,GACzB,CAAS,EACD,KAAK,UAAYA,EAAQ,UACzB,KAAK,MAAQA,EAAQ,KACrB,KAAK,WAAaA,EAAQ,UAC1B,KAAK,SAAWA,EAAQ,QACxB,KAAK,cAAgBA,EAAQ,aAC7B,KAAK,OAASA,EAAQ,OACtB,KAAK,QAAUA,EAAQ,OAC1B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOwgE,GAAO,YAAW,EAAI,CACvC,UAAW,GACX,OAAQ,EACR,QAAS,EACT,KAAM,GACN,QAAS,EACT,UAAW,EACX,OAAQ3N,GACR,QAASA,GACT,aAAc,EACd,QAAS,EACrB,CAAS,CACJ,CAUD,KAAKx/B,EAAK,CACN,OAAOs5B,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,aAAM,KAAK,QAAQ,KAAKt5B,CAAG,EAC3B,KAAK,QAAO,EACL,IACnB,CAAS,CACJ,CAID,QAAQt8B,EAAW87D,GAAM,CACrB97D,IACI,KAAK,WACL,KAAK,MAAK,CAEjB,CAID,aAAagE,EAAQ,CAEjB,KAAK,OAAO,IAAI,EAEhB,KAAK,eAAe,OAAOA,CAAM,EAC7B,KAAK,eAAe,OAAS,GAC7B,CAAC,KAAK,SACN,KAAK,OAAO,eAAe,KAAK,IAAG,CAAE,IAAM,YAE3C,KAAK,OAAO,OAAO,KAAK,IAAK,GAC7B,KAAK,OAAO,eAAe,UAAW,KAAK,IAAG,CAAE,EAEvD,CAUD,MAAM2zB,EAAMsN,EAAQrW,EAAU,CAC1B,aAAM,MAAM+I,EAAMsN,EAAQrW,CAAQ,EAC3B,IACV,CAID,OAAO4I,EAAWyN,EAAQrW,EAAU,CAE5B,KAAK,MACLqW,EAASyyB,GAAWzyB,EAAQ,KAAK,UAAU,EAI3CA,EAASyyB,GAAWzyB,EAAQ,CAAC,EAGjC,MAAM6kC,EAAiB,KAAK,UAAU7kC,CAAM,EAEtCipC,EAAet/C,EACrBA,EAAW8oC,GAAW9oC,EAAU,KAAK,IAAI,KAAK,QAAQ,SAAWk7C,EAAgB,CAAC,CAAC,EACnF,IAAInF,EAAmB,KAAK,UAAU/1C,CAAQ,EAE9C+1C,EAAmBA,EAAmB,KAAK,cAE3CntC,EAAY,KAAK,UAAUA,CAAS,EAEpC,MAAMxzB,EAAS,IAAI6lE,GAAiB,CAChC,IAAK,KAAK,QACV,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,QAAS,KAAK,QACd,KAAM,KAAK,MACX,QAAS,KAAK,SACd,UAAW,KAAK,WAChB,QAAS,KAAK,aAAa,KAAK,IAAI,EACpC,aAAc,KAAK,aACtB,GAAE,QAAQ,KAAK,MAAM,EAElB,CAAC,KAAK,OAAS,CAAC,KAAK,UAErB,KAAK,OAAO,OAAOryC,EAAYmtC,CAAgB,EAE/C,KAAK,OAAO,eAAe,UAAWntC,EAAYmtC,EAAkB,CAChE,YAAa,EAC7B,CAAa,GAGL,KAAK,eAAe,IAAI3gE,CAAM,EAE1B,KAAK,OAAS8vD,GAAQoa,CAAY,EAClClqE,EAAO,MAAMwzB,EAAWsyC,CAAc,EAItC9lE,EAAO,MAAMwzB,EAAWsyC,EAAgBnF,EAAmB,KAAK,UAAU,KAAK,OAAO,CAAC,CAE9F,CAID,MAAMhtC,EAAM,CACR,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,KAAK,eAAe,QAAS3zB,GAAWA,EAAO,KAAKq9D,CAAY,CAAC,CACpE,CAQD,QAAQ1pC,EAAMsN,EAAQrW,EAAU,CAC5B,aAAM,QAAQ+I,EAAMsN,EAAQrW,CAAQ,EAC7B,IACV,CACD,SAAS+I,EAAMsN,EAAQrW,EAAU,CAC7B,IAAI9xB,GACHA,EAAK,CAAC,GAAG,KAAK,cAAc,EAAE,IAAG,KAAQ,MAAQA,IAAO,QAAkBA,EAAG,KAAK66B,CAAI,EACvF,KAAK,OAAOA,EAAMsN,EAAQrW,CAAQ,CACrC,CAaD,KAAKqW,EAAQD,EAAM,CACf,MAAMq8B,EAAe,KAAK,UAAUr8B,CAAI,EACxC,GAAI,KAAK,OAAO,eAAeq8B,CAAY,IAAM,UAAW,CACxD,MAAMyI,EAAiB,KAAK,UAAU7kC,CAAM,EAE5C,KAAK,MAAMo8B,CAAY,EAEvB,KAAK,OAAOA,EAAcyI,CAAc,CAC3C,CACD,OAAO,IACV,CAYD,cAAcE,EAAWD,EAAS,CAC9B,YAAK,UAAYC,EACjB,KAAK,QAAUD,EACR,IACV,CAID,IAAI,WAAY,CACZ,OAAO,KAAK,UACf,CACD,IAAI,UAAUC,EAAW,CACrB,KAAK,WAAaA,EACd,KAAK,OAAO,QACZ5V,GAAY,KAAK,UAAU4V,CAAS,EAAG,EAAG,KAAK,OAAO,QAAQ,EAGlE,KAAK,eAAe,QAAShmE,GAAW,CACpCA,EAAO,UAAYgmE,CAC/B,CAAS,CACJ,CAID,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQD,EAAS,CACjB,KAAK,SAAWA,EACZ,KAAK,OAAO,QACZ3V,GAAY,KAAK,UAAU2V,CAAO,EAAG,EAAG,KAAK,OAAO,QAAQ,EAGhE,KAAK,eAAe,QAAS/lE,GAAW,CACpCA,EAAO,QAAU+lE,CAC7B,CAAS,CACJ,CAID,IAAI,QAAS,CACT,OAAO,KAAK,OACf,CACD,IAAI,OAAOthC,EAAQ,CACf,KAAK,QAAQ,IAAIA,CAAM,CAC1B,CAQD,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,KAAKmgC,EAAM,CAEX,GAAI,KAAK,QAAUA,IAGnB,KAAK,MAAQA,EAEb,KAAK,eAAe,QAAS5kE,GAAW,CACpCA,EAAO,KAAO4kE,CAC1B,CAAS,EACGA,GAAM,CAEN,MAAM7D,EAAY,KAAK,OAAO,aAAa,UAAW,KAAK,IAAG,CAAE,EAC5DA,GACA,KAAK,OAAO,OAAOA,EAAU,IAAI,CAExC,CACJ,CAUD,IAAI,cAAe,CACf,OAAO,KAAK,aACf,CACD,IAAI,aAAasF,EAAM,CACnB,KAAK,cAAgBA,EACrB,MAAMnQ,EAAM,KAAK,MAEX6K,EAAY,KAAK,OAAO,aAAa,UAAW7K,CAAG,EACrD6K,GAAaA,EAAU,cACvB,KAAK,OAAO,OAAOA,EAAU,IAAI,EACjC,KAAK,eAAe,QAAS/gE,GAAWA,EAAO,WAAU,CAAE,GAG/D,KAAK,eAAe,QAASA,GAAW,CACpCA,EAAO,aAAa,eAAeqmE,EAAMnQ,CAAG,CACxD,CAAS,CACJ,CASD,IAAI,SAAU,CACV,OAAO,KAAK,QAAQ,OACvB,CACD,IAAI,QAAQyC,EAAK,CACb,KAAK,QAAQ,QAAUA,CAC1B,CAID,IAAI,QAAS,CACT,OAAO,KAAK,QAAQ,MACvB,CACD,SAAU,CACN,aAAM,QAAO,EAEb,KAAK,eAAe,QAAS34D,GAAWA,EAAO,QAAO,CAAE,EACxD,KAAK,eAAe,QACpB,KAAK,QAAQ,UACN,IACV,CACL,CACAyxD,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGC,GAAO,UAAW,SAAU,MAAM,EACrCxY,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGC,GAAO,UAAW,UAAW,MAAM,EChW/B,MAAME,WAAoB7G,EAAe,CAC5C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,cAIZ,KAAK,MAAQ,IAAIC,GAAW,CACxB,QAAS,KAAK,QACd,QAAS32B,GAAK,KAAK,IAAIA,CAAC,EAAI,EAAI,CAC5C,CAAS,EAID,KAAK,MAAQ,KAAK,MAIlB,KAAK,OAAS,KAAK,KACtB,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,MAAM,UACJ,IACV,CACL,CCAO,MAAMw9B,WAAiB/L,EAAc,CACxC,aAAc,CACV,MAAMjL,EAAqBgX,GAAS,YAAa,EAAE,UAAW,CAAC,SAAU,QAAS,UAAW,SAAS,CAAC,CAAC,EACxG,KAAK,KAAO,WAIZ,KAAK,KAAO,IAAI7K,GAAO,CACnB,QAAS,KAAK,QACd,MAAO,CACnB,CAAS,EAID,KAAK,OAAS,KAAK,KAInB,KAAK,MAAQ,OACb,MAAMt6D,EAAUmuD,EAAqBgX,GAAS,YAAW,EAAI,UAAW,CAAC,SAAU,QAAS,UAAW,SAAS,CAAC,EACjH,KAAK,OAASnlE,EAAQ,OACtB,KAAK,MAAQA,EAAQ,MACrB,KAAK,QAAUA,EAAQ,QACvB,KAAK,QAAUA,EAAQ,QACvB,KAAK,YAAcA,EAAQ,YAC3B,KAAK,aAAeA,EAAQ,aAC5B,KAAK,WAAaA,EAAQ,UAC7B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,OAAQ,IACR,YAAa,SACb,MAAO,GACP,WAAY,cACZ,QAAS,EACT,aAAc,cACd,QAAS,EACrB,CAAS,CACJ,CAKD,IAAI,OAAQ,CACR,OAAO,KAAK,eAAe,KAAK,IAAK,EACxC,CAOD,UAAUtV,EAAOshB,EAAW,CACxB,GAAI/4E,GAASy3D,CAAK,EACd,OAAOA,EAEN,CAED,IAAIuhB,EACJ,IAAKA,KAAaC,GACd,GAAIA,GAAeD,CAAS,EAAED,CAAS,IAAMthB,EACzC,OAAOuhB,EAIf,OAAOvhB,CACV,CACJ,CAOD,UAAU50D,EAAMk2E,EAAWthB,EAAO,CAE9B,GAAIz3D,GAASy3D,CAAK,GAAK,QAAQ,IAAIwhB,GAAgBxhB,CAAK,EAAG,CACvD,MAAMyhB,EAAWD,GAAexhB,CAAK,EACjCv3D,GAASg5E,CAAQ,EACbr2E,IAAS,gBACT,KAAKA,CAAI,EAAIq2E,EAASH,CAAS,GAInC,KAAKl2E,CAAI,EAAIq2E,CAEpB,SACQz5E,GAAQg4D,CAAK,GAAK50D,IAAS,cAChC,KAAKA,CAAI,EAAI40D,MAGb,OAAM,IAAI,MAAM,4BAA8BA,CAAK,CAE1D,CAsBD,IAAI,aAAc,CACd,OAAO,KAAK,UAAU,KAAK,aAAc,IAAI,CAChD,CACD,IAAI,YAAYA,EAAO,CACnB,KAAK,UAAU,eAAgB,KAAMA,CAAK,CAC7C,CAcD,IAAI,cAAe,CACf,OAAO,KAAK,UAAU,KAAK,cAAe,KAAK,CAClD,CACD,IAAI,aAAaA,EAAO,CACpB,KAAK,UAAU,gBAAiB,MAAOA,CAAK,CAC/C,CAaD,IAAI,YAAa,CACb,OAAO,KAAK,UAAU,KAAK,YAAa,KAAK,CAChD,CACD,IAAI,WAAWA,EAAO,CAClB,KAAK,UAAU,cAAe,MAAOA,CAAK,CAC7C,CAYD,cAAcp1B,EAAM82C,EAAW,EAAG,CAC9B,KAAK,IAAI,gBAAiB92C,EAAM82C,CAAQ,EACxC92C,EAAO,KAAK,UAAUA,CAAI,EAE1B,IAAI+2C,EADmB,KAAK,UAAU,KAAK,MAAM,EAEjD,MAAMC,EAAQ,KAAK,UAAU,KAAK,KAAK,EAEjCC,EAAe,KAAK,eAAej3C,CAAI,EAC7C,GAAIi3C,EAAe,EAAG,CAElB,MAAMC,EAAa,EAAIH,EAGvBA,GAF0B,EAAIE,GAEDC,CAChC,CAED,GAAIH,EAAS,KAAK,WACd,KAAK,KAAK,sBAAsB/2C,CAAI,EAEpC,KAAK,KAAK,eAAe82C,EAAU92C,CAAI,UAElC,KAAK,eAAiB,SAC3B,KAAK,KAAK,aAAa82C,EAAUC,EAAQ/2C,CAAI,UAExC,KAAK,eAAiB,cAC3B,KAAK,KAAK,aAAa82C,EAAUC,EAAQ/2C,CAAI,MAE5C,CACD,KAAK,KAAK,oBAAoBA,CAAI,EAClC,IAAIo1B,EAAQ,KAAK,aAEjB,QAASn4D,EAAI,EAAGA,EAAIm4D,EAAM,OAAQn4D,IAE9B,GAAIm4D,EAAMn4D,EAAI,CAAC,GAAKg6E,GAAgBA,GAAgB7hB,EAAMn4D,CAAC,EAAG,CAC1Dm4D,EAAQ,KAAK,aAAa,MAAMn4D,CAAC,EAEjCm4D,EAAM,CAAC,EAAI6hB,EACX,KACH,CAEL,KAAK,KAAK,oBAAoB7hB,EAAOp1B,EAAM+2C,EAAQD,CAAQ,CAC9D,CAED,GAAIE,GAAS,KAAK,QAAU,EAAG,CAC3B,MAAMG,EAAaL,EAAW,KAAK,QAC7BM,EAAap3C,EAAO+2C,EAC1B,KAAK,IAAI,QAASK,CAAU,EACxB,KAAK,cAAgB,SACrB,KAAK,KAAK,wBAAwBD,EAAYH,EAAQI,CAAU,EAGhE,KAAK,KAAK,+BAA+BD,EAAYC,EAAYJ,CAAK,CAE7E,CACD,OAAO,IACV,CAaD,eAAeh3C,EAAM,CACjB,KAAK,IAAI,iBAAkBA,CAAI,EAC/BA,EAAO,KAAK,UAAUA,CAAI,EAC1B,MAAMi3C,EAAe,KAAK,eAAej3C,CAAI,EAC7C,GAAIi3C,EAAe,EAAG,CAClB,MAAMI,EAAU,KAAK,UAAU,KAAK,OAAO,EACvCA,EAAU,KAAK,WACf,KAAK,KAAK,eAAe,EAAGr3C,CAAI,EAE3B,KAAK,gBAAkB,SAC5B,KAAK,KAAK,aAAa,EAAGq3C,EAASr3C,CAAI,EAElC,KAAK,gBAAkB,cAC5B,KAAK,KAAK,aAAa,EAAGq3C,EAASr3C,CAAI,GAGvCu8B,GAAOn/D,GAAQ,KAAK,aAAa,EAAG,iEAAiE,EACrG,KAAK,KAAK,oBAAoB4iC,CAAI,EAClC,KAAK,KAAK,oBAAoB,KAAK,cAAeA,EAAMq3C,EAASJ,CAAY,EAEpF,CACD,OAAO,IACV,CASD,eAAej3C,EAAM,CACjB,OAAO,KAAK,KAAK,eAAeA,CAAI,CACvC,CAaD,qBAAqB/I,EAAU+I,EAAM82C,EAAW,EAAG,CAC/C,OAAA92C,EAAO,KAAK,UAAUA,CAAI,EAC1B,KAAK,cAAcA,EAAM82C,CAAQ,EACjC,KAAK,eAAe92C,EAAO,KAAK,UAAU/I,CAAQ,CAAC,EAC5C,IACV,CAID,OAAO6pC,EAAO,CACV,YAAK,KAAK,sBAAsB,KAAK,UAAUA,CAAK,CAAC,EAC9C,IACV,CAID,QAAQ93B,EAAamiC,EAAe,EAAGC,EAAc,EAAG,CACpD,OAAAS,GAAc,KAAM7iC,EAAamiC,EAAcC,CAAW,EACnD,IACV,CAMD,QAAQ/+B,EAAS,KAAM,CACnB,OAAO4xB,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMhnC,EAAWoV,EAAS,KAAK,QAAQ,WACjC3mB,EAAU,IAAI4/C,GAAe,EAAGruC,EAAU,KAAK,QAAQ,UAAU,EAEjEqgD,EAAgB,KAAK,UAAU,KAAK,MAAM,EAAI,KAAK,UAAU,KAAK,KAAK,EACvEC,EAAmBD,EAAgB,KAAK,UAAU,KAAK,OAAO,EAC9DE,EAAcD,EAAmB,GACjCE,EAAgBF,EAAmBC,EAEnC75C,EAAQ,IAAI,KAAK,YAAY,OAAO,OAAO,KAAK,MAAO,CACzD,OAAQ1G,EAAW,KAAK,UAAU,KAAK,MAAM,EAAIwgD,EACjD,MAAOxgD,EAAW,KAAK,UAAU,KAAK,KAAK,EAAIwgD,EAC/C,QAASxgD,EAAW,KAAK,UAAU,KAAK,OAAO,EAAIwgD,EACnD,QAAA/xD,CACH,EAAC,EACF,OAAAiY,EAAM,KAAK,gBACXA,EAAM,qBAAqB1G,GAAYqgD,EAAgBE,GAAeC,EAAe,CAAC,GACvE,MAAM/xD,EAAQ,UACf,eAAe,CAAC,CAC1C,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,KAAK,UACH,IACV,CACL,CACAo4C,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGI,GAAS,UAAW,SAAU,MAAM,EACvC3Y,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGI,GAAS,UAAW,QAAS,MAAM,EACtC3Y,GAAW,CACPoY,GAAM,EAAG,CAAC,CACd,EAAGO,GAAS,UAAW,UAAW,MAAM,EACxC3Y,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGI,GAAS,UAAW,UAAW,MAAM,EAIxC,MAAMG,IAAkB,IAAM,CAE1B,IAAI35E,EACA8hC,EAEJ,MAAM24C,EAAc,GACpB,IAAKz6E,EAAI,EAAGA,EAAI,IAAUA,IACtBy6E,EAAYz6E,CAAC,EAAI,KAAK,IAAKA,GAAK,IAAW,IAAO,KAAK,GAAK,EAAE,EAGlE,MAAM06E,EAAc,GACdC,EAAkB,IACxB,IAAK36E,EAAI,EAAGA,EAAI,IAAW,EAAGA,IAAK,CAC/B8hC,EAAK9hC,GAAK,IAAW,GACrB,MAAM46E,EAAW,KAAK,IAAI94C,GAAK,KAAK,GAAK,GAAK64C,EAAkB,KAAK,GAAK,CAAC,EAAI,EAC/ED,EAAY16E,CAAC,EAAI46E,EAAW,GAAK94C,EAAI,GACxC,CACD44C,EAAY,IAAW,CAAC,EAAI,EAE5B,MAAMG,EAAc,GACdC,EAAQ,EACd,IAAK96E,EAAI,EAAGA,EAAI,IAAUA,IACtB66E,EAAY76E,CAAC,EAAI,KAAK,KAAMA,GAAK,IAAW,GAAM86E,CAAK,EAAIA,EAG/D,MAAMC,EAAY,GAClB,IAAK/6E,EAAI,EAAGA,EAAI,IAAUA,IACtB8hC,EAAI9hC,GAAK,IAAW,GACpB+6E,EAAU/6E,CAAC,EAAI,IAAO,EAAI,KAAK,IAAI,KAAK,GAAK8hC,CAAC,GAGlD,MAAMk5C,EAAc,GACpB,IAAKh7E,EAAI,EAAGA,EAAI,IAAUA,IAAK,CAC3B8hC,EAAI9hC,GAAK,IAAW,GACpB,MAAMqpE,EAAO,KAAK,IAAIvnC,EAAG,CAAC,EAAI,EAAI,GAC5B3iC,EAAM,KAAK,IAAIkqE,EAAO,KAAK,GAAK,EAAIvnC,CAAC,EAC3Ck5C,EAAYh7E,CAAC,EAAI,KAAK,IAAIb,GAAO,EAAI2iC,EAAE,CAC1C,CAID,SAASm5C,EAAY9iB,EAAO,CACxB,MAAM+iB,EAAM,IAAI,MAAM/iB,EAAM,MAAM,EAClC,QAASplC,EAAI,EAAGA,EAAIolC,EAAM,OAAQplC,IAC9BmoD,EAAInoD,CAAC,EAAI,EAAIolC,EAAMplC,CAAC,EAExB,OAAOmoD,CACV,CAID,SAASC,EAAahjB,EAAO,CACzB,OAAOA,EAAM,MAAM,CAAC,EAAE,QAAO,CAChC,CAID,MAAO,CACH,OAAQ,CACJ,GAAI8iB,EAAYD,CAAW,EAC3B,IAAKA,CACR,EACD,OAAQ,CACJ,GAAIP,EACJ,IAAKU,EAAaV,CAAW,CAChC,EACD,YAAa,cACb,OAAQ,SACR,OAAQ,CACJ,GAAIC,EACJ,IAAKO,EAAYP,CAAW,CAC/B,EACD,KAAM,CACF,GAAIK,EACJ,IAAKE,EAAYF,CAAS,CAC7B,EACD,KAAM,CACF,GAAIF,EACJ,IAAKI,EAAYJ,CAAW,CAC/B,CACT,CACA,GAAI,EC5cG,MAAMO,WAAmB3N,EAAc,CAC1C,aAAc,CACV,MAAMjL,EAAqB4Y,GAAW,YAAW,EAAI,SAAS,CAAC,EAK/D,KAAK,iBAAmB,GAIxB,KAAK,QAAU,GACf,KAAK,wBAA0B,KAAK,cACpC,KAAK,yBAA2B,KAAK,eAIrC,KAAK,eAAkBr4C,GAAS,KAAK,yBAAyBA,CAAI,EAClE,MAAM1uB,EAAUmuD,EAAqB4Y,GAAW,YAAa,EAAE,SAAS,EACxE,KAAK,QAAU,KAAK,OAAS,IAAI9I,GAAO,CACpC,QAAS,KAAK,QACd,OAAQj+D,EAAQ,MAC5B,CAAS,EACD,KAAK,OAAS,KAAK,QAAQ,OAC3B2yD,GAAS,KAAM,QAAQ,CAC1B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,OAAQ,CACpB,CAAS,CACJ,CAeD,MAAO,CACH,OAAI,KAAK,eACL,KAAK,YAAY,gBAAiB,CAAC,EACnC,KAAK,YAAY,iBAAkB,CAAC,EACpC,KAAK,QAAQ,UAAU,GAAG,OAAQ,KAAK,cAAc,EACrD,KAAK,QAAQ,UAAU,GAAG,QAAS,KAAK,cAAc,EACtD,KAAK,QAAQ,UAAU,GAAG,UAAW,KAAK,cAAc,GAErD,IACV,CAID,YAAa,CACT,IAAI4N,EAAU,GACd,OAAK,KAAK,UACN,KAAK,QAAU,GACfA,EAAU,IAEPA,CACV,CAMD,YAAY7vE,EAAQ8vE,EAAc,CAC9B,MAAMC,EAAiB,KAAK,aAAe/vE,CAAM,EAAI,KAAKA,CAAM,EAChE,KAAKA,CAAM,EAAI,IAAIhD,IAAS,CACxB,MAAMu6B,EAAOv6B,EAAK8yE,CAAY,EACxB3pE,EAAK,KAAK,QAAQ,UAAU,SAAUyzD,GAAM,CAC9C58D,EAAK8yE,CAAY,EAAIlW,EACrBmW,EAAe,MAAM,KAAM/yE,CAAI,CAClC,EAAEu6B,CAAI,EACP,KAAK,iBAAiB,KAAKpxB,CAAE,CACzC,CACK,CAID,QAAS,CACL,YAAK,iBAAiB,QAAQA,GAAM,KAAK,QAAQ,UAAU,MAAMA,CAAE,CAAC,EACpE,KAAK,iBAAmB,GACpB,KAAK,UACL,KAAK,QAAU,GACf,KAAK,cAAgB,KAAK,wBAC1B,KAAK,eAAiB,KAAK,yBAC3B,KAAK,QAAQ,UAAU,IAAI,OAAQ,KAAK,cAAc,EACtD,KAAK,QAAQ,UAAU,IAAI,QAAS,KAAK,cAAc,EACvD,KAAK,QAAQ,UAAU,IAAI,UAAW,KAAK,cAAc,GAEtD,IACV,CAaD,qBAAqB6pE,EAAMxhD,EAAU+I,EAAM82C,EAAU,CACjD,MAAMpN,EAAe,KAAK,UAAU1pC,CAAI,EAClCgtC,EAAmB,KAAK,UAAU/1C,CAAQ,EAChD,YAAK,cAAcwhD,EAAM/O,EAAcoN,CAAQ,EAC/C,KAAK,eAAepN,EAAesD,CAAgB,EAC5C,IACV,CAKD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACb,KAAK,OAAM,EACX,KAAK,iBAAmB,GACjB,IACV,CACL,CC9HO,MAAM0L,WAAmBL,EAAW,CACvC,aAAc,CACV,MAAM5Y,EAAqBiZ,GAAW,YAAW,EAAI,SAAS,CAAC,EAC/D,MAAMpnE,EAAUmuD,EAAqBiZ,GAAW,YAAa,EAAE,SAAS,EACxE,KAAK,WAAapnE,EAAQ,WAC1B,KAAK,UAAYA,EAAQ,SAC5B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO+mE,GAAW,YAAW,EAAI,CAC3C,OAAQ,EACR,UAAWlU,GACX,WAAY,CACxB,CAAS,CACJ,CAWD,cAAcsU,EAAMz4C,EAAM82C,EAAW,EAAG,CACpC,KAAK,IAAI,gBAAiB2B,EAAMz4C,EAAM82C,CAAQ,EAC9C,MAAMtP,EAAU,KAAK,UAAUxnC,CAAI,EACnC,YAAK,uBAAuBwnC,EAASsP,CAAQ,EAC7C,KAAK,QAAQ2B,EAAMjR,CAAO,EACnB,IACV,CAUD,eAAexnC,EAAM,CACjB,KAAK,IAAI,iBAAkBA,CAAI,EAC/B,MAAMwnC,EAAU,KAAK,UAAUxnC,CAAI,EACnC,YAAK,wBAAwBwnC,CAAO,EAC7B,IACV,CAYD,QAAQiR,EAAMz4C,EAAM,CAChB,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EAClC24C,EAAoBF,aAAgB9P,GAAiB8P,EAAK,YAAa,EAAGA,EAChF,GAAI,KAAK,WAAa,GAAK,KAAK,eAAe/O,CAAY,EAAI,IAAM,CACjE,MAAMkP,EAAW,KAAK,UAAU,KAAK,UAAU,EAC/C,KAAK,UAAU,kBAAkBD,EAAmBC,EAAUlP,CAAY,CAC7E,MAEG,KAAK,UAAU,eAAeiP,EAAmBjP,CAAY,EAEjE,OAAO,IACV,CACL,CACA5L,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGqC,GAAW,UAAW,aAAc,MAAM,ECxDtC,MAAMG,WAA0BpC,EAAS,CAC5C,aAAc,CACV,MAAMhX,EAAqBoZ,GAAkB,YAAa,EAAE,UAAW,CAAC,SAAU,QAAS,UAAW,SAAS,CAAC,CAAC,EACjH,KAAK,KAAO,oBACZ,KAAK,UAAY,IAAIxN,GAAK,CACtB,QAAS,KAAK,QACd,KAAM,CAClB,CAAS,EACD,KAAK,OAAS,KAAK,UACnB,KAAK,MAAQ,KAAK,UAClB,KAAK,KAAK,QAAQ,KAAK,UAAU,IAAI,EACrC,KAAK,OAAS,KAAK,UACnB,KAAK,MAAQ,KAAK,SACrB,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACR,IACV,CACL,CC3BO,MAAMyN,WAAcJ,EAAW,CAClC,aAAc,CACV,MAAMjZ,EAAqBqZ,GAAM,YAAW,EAAI,SAAS,CAAC,EAC1D,KAAK,KAAO,QACZ,MAAMxnE,EAAUmuD,EAAqBqZ,GAAM,YAAa,EAAE,SAAS,EACnE,KAAK,WAAa,IAAI1D,GAAe,OAAO,OAAO,CAC/C,QAAS,KAAK,QACd,OAAQ9jE,EAAQ,OAChB,OAAQ,IAAM,KAAK,UAAU,IAAI,CAC7C,EAAWA,EAAQ,UAAU,CAAC,EACtB,KAAK,UAAY,KAAK,WAAW,UACjC,KAAK,OAAS,KAAK,WAAW,OAC9B,KAAK,SAAW,IAAIunE,GAAkB,OAAO,OAAO,CAChD,QAAS,KAAK,OAC1B,EAAWvnE,EAAQ,QAAQ,CAAC,EAEpB,KAAK,WAAW,MAAM,KAAK,SAAU,KAAK,MAAM,EAChD2yD,GAAS,KAAM,CAAC,aAAc,YAAa,SAAU,UAAU,CAAC,CACnE,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyU,GAAW,YAAW,EAAI,CAC3C,SAAU,OAAO,OAAOzY,GAAewW,GAAS,cAAe,OAAO,KAAK/L,GAAc,YAAW,CAAE,CAAC,EAAG,CACtG,OAAQ,KACR,MAAO,GACP,QAAS,EACT,QAAS,EACzB,CAAa,EACD,WAAY,OAAO,OAAOzK,GAAemV,GAAe,YAAW,EAAI,CAAC,GAAG,OAAO,KAAKtD,GAAO,YAAW,CAAE,EAAG,YAAa,QAAQ,CAAC,EAAG,CACnI,KAAM,UACtB,CAAa,CACb,CAAS,CACJ,CAMD,uBAAuB9xC,EAAM82C,EAAU,CAKnC,GAHA,KAAK,SAAS,cAAc92C,EAAM82C,CAAQ,EAC1C,KAAK,WAAW,MAAM92C,CAAI,EAEtB,KAAK,SAAS,UAAY,EAAG,CAC7B,MAAM+4C,EAAiB,KAAK,UAAU,KAAK,SAAS,MAAM,EACpDC,EAAgB,KAAK,UAAU,KAAK,SAAS,KAAK,EACxD,KAAK,WAAW,KAAKh5C,EAAO+4C,EAAiBC,CAAa,CAC7D,CACJ,CAKD,wBAAwBh5C,EAAM,CAC1B,KAAK,SAAS,eAAeA,CAAI,EACjC,KAAK,WAAW,KAAKA,EAAO,KAAK,UAAU,KAAK,SAAS,OAAO,CAAC,CACpE,CACD,eAAeA,EAAM,CACjB,OAAAA,EAAO,KAAK,UAAUA,CAAI,EACnB,KAAK,SAAS,eAAeA,CAAI,CAC3C,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,WAAW,UAChB,KAAK,SAAS,UACP,IACV,CACL,CChFO,MAAMi5C,WAAqBvO,EAAc,CAC5C,aAAc,CACV,MAAMjL,EAAqBwZ,GAAa,YAAa,EAAE,UAAW,CAAC,YAAa,MAAM,CAAC,CAAC,EACxF,KAAK,KAAO,eACZ,MAAM3nE,EAAUmuD,EAAqBwZ,GAAa,YAAW,EAAI,UAAW,CAAC,YAAa,MAAM,CAAC,EACjG,KAAK,QAAU,KAAK,QAAQ,mBAAkB,EAC9C,KAAK,MAAQ,KAAK,OAAS,KAAK,QAChC,KAAK,EAAI,IAAIxP,GAAM,CACf,QAAS,KAAK,QACd,MAAO,SACP,MAAOn4D,EAAQ,EACf,MAAO,KAAK,QAAQ,CAChC,CAAS,EACD,KAAK,UAAY,IAAIm4D,GAAM,CACvB,QAAS,KAAK,QACd,MAAO,YACP,MAAOn4D,EAAQ,UACf,MAAO,KAAK,QAAQ,SAChC,CAAS,EACD,KAAK,OAAS,IAAIm4D,GAAM,CACpB,QAAS,KAAK,QACd,MAAO,QACP,MAAOn4D,EAAQ,OACf,MAAO,KAAK,QAAQ,MAChC,CAAS,EACD,KAAK,KAAO,IAAIm4D,GAAM,CAClB,QAAS,KAAK,QACd,MAAO,WACP,QAAS,GACT,MAAOn4D,EAAQ,KACf,MAAO,KAAK,QAAQ,IAChC,CAAS,EACD,KAAK,KAAOA,EAAQ,IACvB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,EAAG,EACH,KAAM,UACN,UAAW,IACX,OAAQ,EACR,KAAM,CAClB,CAAS,CACJ,CAKD,IAAI,MAAO,CACP,OAAO,KAAK,QAAQ,IACvB,CACD,IAAI,KAAKrmE,EAAM,CAGXk4D,GAFc,CAAC,UAAW,WAAY,WAClC,WAAY,YAAa,QAAS,UAAW,SAAS,EAC7C,QAAQl4D,CAAI,IAAM,GAAI,wBAAwBA,CAAI,EAAE,EACjE,KAAK,QAAQ,KAAOA,CACvB,CAOD,qBAAqButB,EAAM,IAAK,CAE5B,MAAMsnD,EAAa,IAAI,aAAatnD,CAAG,EACvC,QAAS30B,EAAI,EAAGA,EAAI20B,EAAK30B,IAAK,CAE1B,MAAMqpE,EADO,KAAK,IAAIrpE,EAAI20B,EAAK,CAAC,GACX,IAAQ,IAAM,GACnCsnD,EAAWj8E,CAAC,EAAIqpE,CACnB,CACD,MAAM6S,EAAY,IAAI,aAAavnD,CAAG,EAChCwnD,EAAc,IAAI,aAAaxnD,CAAG,EAElCynD,EAAc,KAAK,QAAQ,mBAAkB,EACnD,OAAAA,EAAY,KAAO,KAAK,KACxBA,EAAY,EAAE,MAAQ,KAAK,EAAE,MAC7BA,EAAY,UAAU,MAAQ,KAAK,UAAU,MAC7CA,EAAY,KAAK,MAAQ,KAAK,KAAK,MACnCA,EAAY,qBAAqBH,EAAYC,EAAWC,CAAW,EAC5DD,CACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,aACb,KAAK,EAAE,UACP,KAAK,UAAU,UACf,KAAK,KAAK,UACV,KAAK,OAAO,UACL,IACV,CACL,CChFO,MAAMG,WAAe5O,EAAc,CACtC,aAAc,CACV,MAAMjL,EAAqB6Z,GAAO,cAAe,UAAW,CAAC,YAAa,OAAQ,SAAS,CAAC,CAAC,EAC7F,KAAK,KAAO,SACZ,KAAK,MAAQ,IAAIjO,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAC/C,KAAK,OAAS,IAAIA,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAChD,KAAK,SAAW,GAChB,MAAM/5D,EAAUmuD,EAAqB6Z,GAAO,YAAa,EAAE,UAAW,CAAC,YAAa,OAAQ,SAAS,CAAC,EACtG,KAAK,SAAW,GAChB,KAAK,EAAI,IAAI1N,GAAO,CAChB,QAAS,KAAK,QACd,MAAO,WACP,MAAOt6D,EAAQ,CAC3B,CAAS,EACD,KAAK,UAAY,IAAIs6D,GAAO,CACxB,QAAS,KAAK,QACd,MAAO,YACP,MAAOt6D,EAAQ,SAC3B,CAAS,EACD,KAAK,OAAS,IAAIs6D,GAAO,CACrB,QAAS,KAAK,QACd,MAAO,QACP,MAAOt6D,EAAQ,MAC3B,CAAS,EACD,KAAK,KAAO,IAAIs6D,GAAO,CACnB,QAAS,KAAK,QACd,MAAO,WACP,QAAS,GACT,MAAOt6D,EAAQ,IAC3B,CAAS,EACD,KAAK,MAAQA,EAAQ,KACrB,KAAK,QAAUA,EAAQ,QACvB2yD,GAAS,KAAM,CAAC,SAAU,YAAa,OAAQ,GAAG,CAAC,CACtD,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,EAAG,EACH,OAAQ,EACR,UAAW,IACX,KAAM,EACN,QAAS,IACT,KAAM,SAClB,CAAS,CACJ,CAKD,IAAI,MAAO,CACP,OAAO,KAAK,KACf,CACD,IAAI,KAAKrmE,EAAM,CAGXk4D,GAFc,CAAC,UAAW,WAAY,WAClC,WAAY,YAAa,QAAS,UAAW,SAAS,EAC7C,QAAQl4D,CAAI,IAAM,GAAI,wBAAwBA,CAAI,EAAE,EACjE,KAAK,MAAQA,EACb,KAAK,SAAS,QAAQyY,GAAUA,EAAO,KAAOzY,CAAI,CACrD,CAMD,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQk1E,EAAS,CACjB,MAAMC,EAAand,GAASkd,CAAO,EAAIA,EAAU,SAASA,EAAS,EAAE,EAC/DE,EAAgB,CAAC,IAAK,IAAK,IAAK,GAAG,EACzC,IAAIC,EAAiBD,EAAc,QAAQD,CAAU,EAErDjd,GAAOmd,IAAmB,GAAI,uBAAuBD,EAAc,KAAK,IAAI,CAAC,EAAE,EAC/EC,GAAkB,EAClB,KAAK,SAAWF,EAChB,KAAK,MAAM,aACX,KAAK,SAAS,QAAQ18D,GAAUA,EAAO,WAAU,CAAE,EACnD,KAAK,SAAW,IAAI,MAAM48D,CAAc,EACxC,QAASjlC,EAAQ,EAAGA,EAAQilC,EAAgBjlC,IAAS,CACjD,MAAM33B,EAAS,IAAIm8D,GAAa,CAC5B,QAAS,KAAK,OAC9B,CAAa,EACDn8D,EAAO,KAAO,KAAK,MACnB,KAAK,UAAU,QAAQA,EAAO,SAAS,EACvC,KAAK,OAAO,QAAQA,EAAO,MAAM,EACjC,KAAK,EAAE,QAAQA,EAAO,CAAC,EACvB,KAAK,KAAK,QAAQA,EAAO,IAAI,EAC7B,KAAK,SAAS23B,CAAK,EAAI33B,CAC1B,CACD,KAAK,kBAAoB,KAAK,SAC9BiuD,GAAc,KAAK,MAAO,GAAG,KAAK,kBAAmB,KAAK,MAAM,CACnE,CAOD,qBAAqBn5C,EAAM,IAAK,CAC5B,MAAMynD,EAAc,IAAIJ,GAAa,CACjC,UAAW,KAAK,UAAU,MAC1B,KAAM,KAAK,KAAK,MAChB,EAAG,KAAK,EAAE,MACV,KAAM,KAAK,MACX,OAAQ,KAAK,OAAO,KAChC,CAAS,EAEKU,EAAgB,IAAI,aAAa/nD,CAAG,EAAE,IAAI,IAAM,CAAC,EACvD,YAAK,SAAS,QAAQ,IAAM,CACPynD,EAAY,qBAAqBznD,CAAG,EAC5C,QAAQ,CAACx1B,EAAKa,IAAM08E,EAAc18E,CAAC,GAAKb,CAAG,CAChE,CAAS,EACDi9E,EAAY,QAAO,EACZM,CACV,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,SAAS,QAAQ78D,GAAU,CAC5BA,EAAO,QAAO,CAC1B,CAAS,EACDonD,GAAS,KAAM,CAAC,SAAU,YAAa,OAAQ,GAAG,CAAC,EACnD,KAAK,UAAU,UACf,KAAK,EAAE,UACP,KAAK,OAAO,UACZ,KAAK,KAAK,UACH,IACV,CACL,CChIO,MAAM0V,WAA0BnD,EAAS,CAC5C,aAAc,CACV,MAAMhX,EAAqBma,GAAkB,YAAa,EAAE,UAAW,CAAC,SAAU,QAAS,UAAW,SAAS,CAAC,CAAC,EACjH,KAAK,KAAO,oBACZ,MAAMtoE,EAAUmuD,EAAqBma,GAAkB,YAAW,EAAI,UAAW,CAAC,SAAU,QAAS,UAAW,SAAS,CAAC,EAC1H,KAAK,SAAWtoE,EAAQ,QACxB,KAAK,eAAiB,KAAK,YAAYA,EAAQ,aAAa,EAC5D,KAAK,UAAY,KAAK,MAAQ,IAAI0+D,GAAI,CAClC,QAAS,KAAK,QACd,MAAO1+D,EAAQ,QAC3B,CAAS,EACD,KAAK,OAAS,KAAK,OAAS,IAAIukE,GAAM,CAClC,QAAS,KAAK,QACd,IAAK,KAAK,eACV,IAAK,KAAK,eAAiB,KAAK,IAAI,EAAG,KAAK,QAAQ,CAChE,CAAS,EACD,KAAK,KAAK,MAAM,KAAK,UAAW,KAAK,MAAM,CAC9C,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOY,GAAS,YAAW,EAAI,CACzC,cAAe,IACf,SAAU,EACV,QAAS,CACrB,CAAS,CACJ,CAKD,IAAI,eAAgB,CAChB,OAAO,KAAK,cACf,CACD,IAAI,cAAc/V,EAAK,CACnB,MAAM4F,EAAO,KAAK,YAAY5F,CAAG,EACjCjE,GAAY6J,EAAM,CAAC,EACnB,KAAK,eAAiBA,EACtB,KAAK,OAAO,IAAM,KAAK,eAEvB,KAAK,QAAU,KAAK,QACvB,CAKD,IAAI,SAAU,CACV,OAAO,KAAK,QACf,CACD,IAAI,QAAQuT,EAAS,CACjB,KAAK,SAAWA,EAChB,KAAK,OAAO,IAAM,KAAK,eAAiB,KAAK,IAAI,EAAGA,CAAO,CAC9D,CAID,IAAI,UAAW,CACX,OAAO,KAAK,UAAU,KACzB,CACD,IAAI,SAAS5J,EAAU,CACnB,KAAK,UAAU,MAAQA,CAC1B,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACf,KAAK,OAAO,UACL,IACV,CACL,CC9DO,MAAM6J,WAAkBpB,EAAW,CACtC,aAAc,CACV,MAAMjZ,EAAqBqa,GAAU,YAAW,EAAI,SAAS,CAAC,EAC9D,KAAK,KAAO,YACZ,MAAMxoE,EAAUmuD,EAAqBqa,GAAU,YAAa,EAAE,SAAS,EACvE,KAAK,WAAa,IAAI1E,GAAe,OAAO,OAAO9jE,EAAQ,WAAY,CACnE,QAAS,KAAK,QACd,OAAQA,EAAQ,OAChB,OAAQ,IAAM,KAAK,UAAU,IAAI,CACpC,EAAC,EACF,KAAK,UAAY,KAAK,WAAW,UACjC,KAAK,OAAS,KAAK,WAAW,OAC9B,KAAK,OAAS,IAAIgoE,GAAO,OAAO,OAAOhoE,EAAQ,OAAQ,CAAE,QAAS,KAAK,OAAO,CAAE,CAAC,EACjF,KAAK,eAAiB,IAAIsoE,GAAkB,OAAO,OAAOtoE,EAAQ,eAAgB,CAAE,QAAS,KAAK,OAAO,CAAE,CAAC,EAC5G,KAAK,SAAW,IAAIunE,GAAkB,OAAO,OAAOvnE,EAAQ,SAAU,CAAE,QAAS,KAAK,OAAO,CAAE,CAAC,EAEhG,KAAK,WAAW,MAAM,KAAK,OAAQ,KAAK,SAAU,KAAK,MAAM,EAE7D,KAAK,eAAe,QAAQ,KAAK,OAAO,SAAS,EACjD2yD,GAAS,KAAM,CAAC,aAAc,YAAa,SAAU,SAAU,iBAAkB,UAAU,CAAC,CAC/F,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyU,GAAW,YAAW,EAAI,CAC3C,SAAU,OAAO,OAAOzY,GAAewW,GAAS,cAAe,OAAO,KAAK/L,GAAc,YAAW,CAAE,CAAC,EAAG,CACtG,OAAQ,KACR,MAAO,GACP,QAAS,EACT,QAAS,EACzB,CAAa,EACD,OAAQ,OAAO,OAAOzK,GAAeqZ,GAAO,cAAe,OAAO,KAAK5O,GAAc,YAAW,CAAE,CAAC,EAAG,CAClG,EAAG,EACH,QAAS,IACT,KAAM,SACtB,CAAa,EACD,eAAgB,OAAO,OAAOzK,GAAe2Z,GAAkB,cAAe,OAAO,KAAKlP,GAAc,YAAW,CAAE,CAAC,EAAG,CACrH,OAAQ,GACR,cAAe,IACf,MAAO,GACP,SAAU,EACV,QAAS,EACT,QAAS,EACT,QAAS,EACzB,CAAa,EACD,WAAY,OAAO,OAAOzK,GAAemV,GAAe,cAAe,OAAO,KAAKtD,GAAO,YAAW,CAAE,CAAC,EAAG,CACvG,KAAM,UACtB,CAAa,CACb,CAAS,CACJ,CAMD,uBAAuB9xC,EAAM82C,EAAW,EAAG,CAIvC,GAHA,KAAK,SAAS,cAAc92C,EAAM82C,CAAQ,EAC1C,KAAK,eAAe,cAAc92C,CAAI,EACtC,KAAK,WAAW,MAAMA,CAAI,EACtB,KAAK,SAAS,UAAY,EAAG,CAC7B,MAAM+4C,EAAiB,KAAK,UAAU,KAAK,SAAS,MAAM,EACpDC,EAAgB,KAAK,UAAU,KAAK,SAAS,KAAK,EACxD,KAAK,WAAW,KAAKh5C,EAAO+4C,EAAiBC,CAAa,CAC7D,CACJ,CAKD,wBAAwBh5C,EAAM,CAC1B,KAAK,SAAS,eAAeA,CAAI,EACjC,KAAK,eAAe,eAAeA,CAAI,EACvC,KAAK,WAAW,KAAKA,EAAO,KAAK,UAAU,KAAK,SAAS,OAAO,CAAC,CACpE,CACD,eAAeA,EAAM,CACjB,OAAAA,EAAO,KAAK,UAAUA,CAAI,EACnB,KAAK,SAAS,eAAeA,CAAI,CAC3C,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,WAAW,UAChB,KAAK,SAAS,UACd,KAAK,eAAe,UACpB,KAAK,OAAO,UACL,IACV,CACL,CC3FO,MAAM+5C,WAAsBjB,EAAM,CACrC,aAAc,CACV,MAAMrZ,EAAqBsa,GAAc,YAAW,EAAI,SAAS,CAAC,EAClE,KAAK,KAAO,gBAIZ,KAAK,WAAa,EAClB,MAAMzoE,EAAUmuD,EAAqBsa,GAAc,YAAa,EAAE,SAAS,EAC3E,KAAK,WAAazoE,EAAQ,WAC1B,KAAK,QAAUA,EAAQ,QACvB2yD,GAAS,KAAM,CAAC,aAAc,UAAU,CAAC,CAC5C,CACD,OAAO,aAAc,CACjB,OAAO7E,GAAUsZ,GAAW,YAAa,EAAEI,GAAM,YAAW,EAAI,CAC5D,SAAU,CACN,OAAQ,KACR,YAAa,cACb,MAAO,GACP,QAAS,IACT,QAAS,GACZ,EACD,QAAS,GACT,WAAY,CACR,KAAM,MACT,EACD,WAAY,GACxB,CAAS,CACJ,CACD,QAAQL,EAAMz4C,EAAM,CAChB,MAAMwnC,EAAU,KAAK,UAAUxnC,CAAI,EAC7Bg6C,EAAQ,KAAK,YAAYvB,aAAgB9P,GAAiB8P,EAAK,cAAgBA,CAAI,EACnFwB,EAAUD,EAAQ,KAAK,QAC7B,YAAK,WAAW,UAAU,eAAeC,EAASzS,CAAO,EACzD,KAAK,WAAW,UAAU,6BAA6BwS,EAAOxS,EAAU,KAAK,UAAU,KAAK,UAAU,CAAC,EAChG,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACN,IACV,CACL,CACA1J,GAAW,CACPoY,GAAM,CAAC,CACX,EAAG6D,GAAc,UAAW,UAAW,MAAM,EAC7Cjc,GAAW,CACPuY,GAAU,CAAC,CACf,EAAG0D,GAAc,UAAW,aAAc,MAAM,EChEhD,MAAMG,GAAiB,IAAI,IAIpB,SAASC,GAAaC,EAAiB,CAC1CF,GAAe,IAAIE,CAAe,CACtC,CAIO,SAASC,GAAkB75E,EAAM85E,EAAW,CAC/C,MAAMC,EAA6B,sBAAsB/5E,CAAI,MAAM85E,CAAS,IAC5EJ,GAAe,IAAIK,CAAS,CAChC,CCfA,MAAMC,GAA6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BnDL,GAAaK,EAAyB,EC9B/B,MAAMC,GAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoEhDN,GAAaM,EAAe,ECrE5B,MAAMC,GAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA6CnCP,GAAaO,EAAS,EC3Cf,MAAMC,GAAc,uBACrBC,GAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+B5CP,GAAkBM,GAAaC,EAAkB,ECb1C,MAAMC,WAAkBxC,EAAW,CACtC,aAAc,CACV,MAAM5Y,EAAqBob,GAAU,YAAa,EAAE,UAAW,CAAC,QAAS,SAAS,CAAC,CAAC,EACpF,KAAK,KAAO,YAIZ,KAAK,iBAAmB,GAIxB,KAAK,cAAgB,GAIrB,KAAK,QAAU,GAIf,KAAK,WAAa,GAIlB,KAAK,qBAAuB,EAI5B,KAAK,eAAkB76C,GAAS,KAAK,WAAWA,CAAI,EACpD,MAAM1uB,EAAUmuD,EAAqBob,GAAU,YAAW,EAAI,UAAW,CAAC,QAAS,SAAS,CAAC,EAE7Fte,GAAO,CAACF,GAAS/qD,EAAQ,KAAK,EAAG,kEAAkE,EACnG,MAAMouD,EAAWpuD,EAAQ,MAAM,YAAW,EAC1C,KAAK,QAAU,OAAO,OAAOouD,EAAUpuD,EAAQ,OAAO,EACtD,KAAK,MAAQA,EAAQ,MACrB,KAAK,aAAeA,EAAQ,aAE5B,KAAK,YAAc,KAAK,yBAExB,MAAM0O,EAAQ,KAAK,QAAQ,QAAQ,KAAK,WAAW,EACnD,KAAK,QAAQ,OAAOA,EAAO,CAAC,EAE5B,KAAK,WAAa,KAAK,QAAQ,YAAY,KAAK,gBAAgB,KAAK,IAAI,EAAG,CAAC,CAChF,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOq4D,GAAW,YAAW,EAAI,CAC3C,aAAc,GACd,QAAS,CAAE,EACX,MAAOS,EACnB,CAAS,CACJ,CAID,IAAI,cAAe,CACf,OAAO,KAAK,cAAc,MAC7B,CAKD,oBAAoBgC,EAAO,CACvB,KAAK,iBAAiB,KAAKA,CAAK,EAEhC,MAAMC,EAAmB,KAAK,cAAc,UAAWjmD,GAAMA,EAAE,QAAUgmD,CAAK,EAC9E,KAAK,cAAc,OAAOC,EAAkB,CAAC,CAChD,CAMD,wBAAyB,CAErB,GAAI,KAAK,iBAAiB,OACtB,OAAO,KAAK,iBAAiB,QAE5B,GAAI,KAAK,QAAQ,OAAS,KAAK,aAAc,CAE9C,MAAMD,EAAQ,IAAI,KAAK,MAAM,OAAO,OAAO,KAAK,QAAS,CACrD,QAAS,KAAK,QACd,UAAW,KAAK,oBAAoB,KAAK,IAAI,CAChD,EAAC,EACF,OAAAve,GAAOue,aAAiBpC,GAAY,oCAAoC,EACxEoC,EAAM,QAAQ,KAAK,MAAM,EACzB,KAAK,QAAQ,KAAKA,CAAK,EAChBA,CACV,MAEGje,GAAK,uCAAuC,CAEnD,CAID,iBAAkB,CAEd,GADA,KAAK,qBAAuB,KAAK,IAAI,KAAK,qBAAuB,IAAM,KAAK,YAAY,EACpF,KAAK,iBAAiB,QAAU,KAAK,QAAQ,OAAS,KAAK,KAAK,KAAK,qBAAuB,CAAC,EAAG,CAEhG,MAAMme,EAAa,KAAK,iBAAiB,MAAK,EACxCh7D,EAAQ,KAAK,QAAQ,QAAQg7D,CAAU,EAC7C,KAAK,QAAQ,OAAOh7D,EAAO,CAAC,EACvB,KAAK,QAAQ,WACdg7D,EAAW,QAAO,CAEzB,CACJ,CAID,eAAeC,EAAOj7C,EAAM82C,EAAU,CAClCmE,EAAM,QAAQxC,GAAQ,CAClB,MAAMyC,EAAW,IAAI3M,GAAU,KAAK,QAASkK,CAAI,EAAE,SAC7CqC,EAAQ,KAAK,yBACfA,IACAA,EAAM,cAAcrC,EAAMz4C,EAAM82C,CAAQ,EACxC,KAAK,cAAc,KAAK,CACpB,KAAMoE,EAAU,MAAAJ,EAAO,SAAU,EACrD,CAAiB,EACD,KAAK,IAAI,gBAAiBrC,EAAMz4C,CAAI,EAEpD,CAAS,CACJ,CAID,gBAAgBi7C,EAAOj7C,EAAM,CACzBi7C,EAAM,QAAQxC,GAAQ,CAClB,MAAMyC,EAAW,IAAI3M,GAAU,KAAK,QAASkK,CAAI,EAAE,SAC7CvoE,EAAQ,KAAK,cAAc,KAAK,CAAC,CAAE,KAAAy2D,EAAM,SAAAwU,CAAU,IAAKxU,IAASuU,GAAY,CAACC,CAAQ,EACxFjrE,IAEAA,EAAM,MAAM,eAAe8vB,CAAI,EAE/B9vB,EAAM,SAAW,GACjB,KAAK,IAAI,iBAAkBuoE,EAAMz4C,CAAI,EAErD,CAAS,CACJ,CAKD,eAAe37B,EAAM42E,EAAOj7C,EAAM82C,EAAU,CACxCva,GAAO,CAAC,KAAK,SAAU,4BAA4B,EAE/Cv8B,GAAQ,KAAK,MAET37B,IAAS,SACT,KAAK,eAAe42E,EAAOj7C,EAAM82C,CAAQ,EAGzC,KAAK,gBAAgBmE,EAAOj7C,CAAI,EAKpC,KAAK,QAAQ,WAAW,IAAM,CACrB,KAAK,UACN,KAAK,eAAe37B,EAAM42E,EAAOj7C,EAAM82C,CAAQ,CAEtD,EAAE92C,EAAO,KAAK,IAAG,CAAE,CAE3B,CAWD,cAAci7C,EAAOj7C,EAAM82C,EAAU,CAC5B,MAAM,QAAQmE,CAAK,IACpBA,EAAQ,CAACA,CAAK,GAElB,MAAMvR,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,eAAe,SAAUi7C,EAAOvR,EAAcoN,CAAQ,EACpD,IACV,CAcD,eAAemE,EAAOj7C,EAAM,CACnB,MAAM,QAAQi7C,CAAK,IACpBA,EAAQ,CAACA,CAAK,GAElB,MAAMvR,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,eAAe,UAAWi7C,EAAOvR,CAAY,EAC3C,IACV,CAYD,qBAAqBuR,EAAOhkD,EAAU+I,EAAM82C,EAAU,CAClD,MAAMpN,EAAe,KAAK,UAAU1pC,CAAI,EAExC,GADA,KAAK,cAAci7C,EAAOvR,EAAcoN,CAAQ,EAC5C15E,GAAQ65B,CAAQ,EAAG,CACnBslC,GAAOn/D,GAAQ69E,CAAK,EAAG,8DAA8D,EACrFA,EAAQA,EACR,QAASh+E,EAAI,EAAGA,EAAIg+E,EAAM,OAAQh+E,IAAK,CACnC,MAAM+8B,EAAI/C,EAAS,KAAK,IAAIh6B,EAAGg6B,EAAS,OAAS,CAAC,CAAC,EAC7CmkD,EAAkB,KAAK,UAAUphD,CAAC,EACxCuiC,GAAO6e,EAAkB,EAAG,qCAAqC,EACjE,KAAK,eAAeH,EAAMh+E,CAAC,EAAGysE,EAAe0R,CAAe,CAC/D,CACJ,KACI,CACD,MAAMA,EAAkB,KAAK,UAAUnkD,CAAQ,EAC/CslC,GAAO6e,EAAkB,EAAG,qCAAqC,EACjE,KAAK,eAAeH,EAAOvR,EAAe0R,CAAe,CAC5D,CACD,OAAO,IACV,CACD,MAAO,CACH,OAAI,KAAK,eACL,KAAK,YAAY,gBAAiB,CAAC,EACnC,KAAK,YAAY,iBAAkB,CAAC,EAEpC,KAAK,QAAQ,UAAU,GAAG,OAAQ,KAAK,cAAc,EACrD,KAAK,QAAQ,UAAU,GAAG,QAAS,KAAK,cAAc,EACtD,KAAK,QAAQ,UAAU,GAAG,UAAW,KAAK,cAAc,GAErD,IACV,CAaD,IAAI9pE,EAAS,CAET,MAAM+pE,EAAmBpb,GAAe3uD,EAAS,CAAC,YAAa,SAAS,CAAC,EAEzE,YAAK,QAAU8tD,GAAU,KAAK,QAASic,CAAgB,EACvD,KAAK,QAAQ,QAAQP,GAASA,EAAM,IAAIO,CAAgB,CAAC,EACzD,KAAK,YAAY,IAAIA,CAAgB,EAC9B,IACV,CACD,KAAM,CACF,OAAO,KAAK,YAAY,KAC3B,CAKD,WAAWr7C,EAAM,CACb,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,cAAc,QAAQ,CAAC,CAAE,MAAA86C,CAAK,IAAO,CACtCA,EAAM,eAAepR,CAAY,CAC7C,CAAS,EACM,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,YAAY,UACjB,KAAK,QAAQ,QAAQtiE,GAAKA,EAAE,QAAO,CAAE,EACrC,KAAK,cAAgB,GACrB,KAAK,iBAAmB,GACxB,KAAK,QAAQ,cAAc,KAAK,UAAU,EACnC,IACV,CACL,CCtRO,MAAMk0E,WAAgBjD,EAAW,CACpC,aAAc,CACV,MAAM5Y,EAAqB6b,GAAQ,YAAa,EAAE,UAAW,CAAC,OAAQ,SAAU,SAAS,EAAG,MAAM,CAAC,EACnG,KAAK,KAAO,UAIZ,KAAK,eAAiB,IAAI,IAC1B,MAAMhqE,EAAUmuD,EAAqB6b,GAAQ,YAAW,EAAI,UAAW,CAAC,OAAQ,SAAU,SAAS,EAAG,MAAM,EACtGC,EAAS,GACf,OAAO,KAAKjqE,EAAQ,IAAI,EAAE,QAASmnE,GAAS,CACxC,MAAM3P,EAAa,SAAS2P,EAAM,EAAE,EAGpC,GAFAlc,GAAOD,GAAOmc,CAAI,GACVpc,GAASyM,CAAU,GAAK,SAASA,CAAU,EAAI,4CAA4C2P,CAAI,EAAE,EACrGnc,GAAOmc,CAAI,EAAG,CAEd,MAAM+C,EAAM,IAAI7S,GAAe,KAAK,QAAS8P,CAAI,EAAE,SACnD8C,EAAOC,CAAG,EAAIlqE,EAAQ,KAAKmnE,CAAI,CAClC,MACQpc,GAASyM,CAAU,GAAK,SAASA,CAAU,IAEhDyS,EAAOzS,CAAU,EAAIx3D,EAAQ,KAAKw3D,CAAU,EAE5D,CAAS,EACD,KAAK,SAAW,IAAIuF,GAAiB,CACjC,KAAMkN,EACN,OAAQjqE,EAAQ,OAChB,QAASA,EAAQ,QACjB,QAASA,EAAQ,OAC7B,CAAS,EACD,KAAK,OAASA,EAAQ,OACtB,KAAK,QAAUA,EAAQ,QACvB,KAAK,MAAQA,EAAQ,MAEjB,KAAK,SAAS,QAEd,QAAQ,QAAS,EAAC,KAAKA,EAAQ,MAAM,CAE5C,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO+mE,GAAW,YAAW,EAAI,CAC3C,OAAQ,EACR,QAAS,GACT,MAAO,cACP,OAAQlU,GACR,QAASA,GACT,QAAS,GACT,KAAM,CAAE,CACpB,CAAS,CACJ,CAID,aAAawC,EAAM,CAGf,IAAI7H,EAAW,EACf,KAAOA,EAAW,IAAc,CAE5B,GAAI,KAAK,SAAS,IAAI6H,EAAO7H,CAAQ,EACjC,MAAO,CAACA,EAEP,GAAI,KAAK,SAAS,IAAI6H,EAAO7H,CAAQ,EACtC,OAAOA,EAEXA,GACH,CACD,MAAM,IAAI,MAAM,kCAAkC6H,CAAI,EAAE,CAC3D,CAMD,cAAcsU,EAAOj7C,EAAM82C,EAAW,EAAG,CACrC,YAAK,IAAI,gBAAiBmE,EAAOj7C,EAAM82C,CAAQ,EAC1C,MAAM,QAAQmE,CAAK,IACpBA,EAAQ,CAACA,CAAK,GAElBA,EAAM,QAAQxC,GAAQ,CAClB,MAAMgD,EAAYhV,GAAM,IAAIkC,GAAe,KAAK,QAAS8P,CAAI,EAAE,YAAW,CAAE,EACtE9R,EAAO,KAAK,MAAM8U,CAAS,EAC3BC,EAAYD,EAAY9U,EAExBgV,EAAa,KAAK,aAAahV,CAAI,EACnCiV,EAAcjV,EAAOgV,EACrB7qC,EAAS,KAAK,SAAS,IAAI8qC,CAAW,EACtCC,EAAe3V,GAAyByV,EAAaD,CAAS,EAE9DrvE,EAAS,IAAI6lE,GAAiB,CAChC,IAAKphC,EACL,QAAS,KAAK,QACd,MAAO,KAAK,MACZ,OAAQ,KAAK,OACb,QAAS,KAAK,QACd,aAAA+qC,CACH,GAAE,QAAQ,KAAK,MAAM,EACtBxvE,EAAO,MAAM2zB,EAAM,EAAG8Q,EAAO,SAAW+qC,EAAc/E,CAAQ,EAEzD15E,GAAQ,KAAK,eAAe,IAAIupE,CAAI,CAAC,GACtC,KAAK,eAAe,IAAIA,EAAM,CAAE,GAEpC,KAAK,eAAe,IAAIA,CAAI,EAAE,KAAKt6D,CAAM,EAEzCA,EAAO,QAAU,IAAM,CACnB,GAAI,KAAK,gBAAkB,KAAK,eAAe,IAAIs6D,CAAI,EAAG,CACtD,MAAMtH,EAAU,KAAK,eAAe,IAAIsH,CAAI,EACtC3mD,EAAQq/C,EAAQ,QAAQhzD,CAAM,EAChC2T,IAAU,IACVq/C,EAAQ,OAAOr/C,EAAO,CAAC,CAE9B,CACjB,CACA,CAAS,EACM,IACV,CAKD,eAAei7D,EAAOj7C,EAAM,CACxB,YAAK,IAAI,iBAAkBi7C,EAAOj7C,CAAI,EACjC,MAAM,QAAQi7C,CAAK,IACpBA,EAAQ,CAACA,CAAK,GAElBA,EAAM,QAAQxC,GAAQ,CAClB,MAAM9R,EAAO,IAAIgC,GAAe,KAAK,QAAS8P,CAAI,EAAE,SAEpD,GAAI,KAAK,eAAe,IAAI9R,CAAI,GAAK,KAAK,eAAe,IAAIA,CAAI,EAAE,OAAQ,CACvE,MAAMtH,EAAU,KAAK,eAAe,IAAIsH,CAAI,EAC5C3mC,EAAO,KAAK,UAAUA,CAAI,EAC1Bq/B,EAAQ,QAAQhzD,GAAU,CACtBA,EAAO,KAAK2zB,CAAI,CACpC,CAAiB,EACD,KAAK,eAAe,IAAI2mC,EAAM,CAAE,EACnC,CACb,CAAS,EACM,IACV,CAKD,WAAW3mC,EAAM,CACb,MAAM0pC,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,eAAe,QAAQq/B,GAAW,CACnC,KAAOA,EAAQ,QACIA,EAAQ,QAChB,KAAKqK,CAAY,CAExC,CAAS,EACM,IACV,CACD,MAAO,CACH,OAAI,KAAK,eACL,KAAK,YAAY,gBAAiB,CAAC,EACnC,KAAK,YAAY,iBAAkB,CAAC,GAEjC,IACV,CAQD,qBAAqBuR,EAAOhkD,EAAU+I,EAAM82C,EAAW,EAAG,CACtD,MAAMpN,EAAe,KAAK,UAAU1pC,CAAI,EACxC,YAAK,cAAci7C,EAAOvR,EAAcoN,CAAQ,EAC5C15E,GAAQ65B,CAAQ,GAChBslC,GAAOn/D,GAAQ69E,CAAK,EAAG,+CAA+C,EACtEA,EAAM,QAAQ,CAACxC,EAAMz4D,IAAU,CAC3B,MAAMga,EAAI/C,EAAS,KAAK,IAAIjX,EAAOiX,EAAS,OAAS,CAAC,CAAC,EACvD,KAAK,eAAewhD,EAAM/O,EAAe,KAAK,UAAU1vC,CAAC,CAAC,CAC1E,CAAa,GAGD,KAAK,eAAeihD,EAAOvR,EAAe,KAAK,UAAUzyC,CAAQ,CAAC,EAE/D,IACV,CAOD,IAAIwhD,EAAM9zC,EAAKt8B,EAAU,CAErB,GADAk0D,GAAOD,GAAOmc,CAAI,GAAK,SAASA,CAAI,EAAG,iCAAiCA,CAAI,EAAE,EAC1Enc,GAAOmc,CAAI,EAAG,CAEd,MAAM+C,EAAM,IAAI7S,GAAe,KAAK,QAAS8P,CAAI,EAAE,SACnD,KAAK,SAAS,IAAI+C,EAAK72C,EAAKt8B,CAAQ,CACvC,MAGG,KAAK,SAAS,IAAIowE,EAAM9zC,EAAKt8B,CAAQ,EAEzC,OAAO,IACV,CAID,IAAI,QAAS,CACT,OAAO,KAAK,SAAS,MACxB,CAID,SAAU,CACN,aAAM,QAAO,EACb,KAAK,SAAS,UACd,KAAK,eAAe,QAAQg3D,GAAW,CACnCA,EAAQ,QAAQhzD,GAAUA,EAAO,QAAS,EACtD,CAAS,EACD,KAAK,eAAe,QACb,IACV,CACL,CACAyxD,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGiF,GAAQ,UAAW,SAAU,MAAM,EACtCxd,GAAW,CACPuY,GAAU,CAAC,CACf,EAAGiF,GAAQ,UAAW,UAAW,MAAM,ECjOhC,MAAMQ,WAAkBpR,EAAc,CACzC,aAAc,CACV,MAAM,OAAO,OAAOjL,EAAqBqc,GAAU,YAAa,EAAE,UAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EACvF,KAAK,KAAO,YAIZ,KAAK,QAAU,KAAK,QAAQ,mBAAkB,EAI9C,KAAK,OAAS,KAAK,QAAQ,sBAAsB,CAAC,EAKlD,KAAK,KAAO,IAAItF,GAAY,CAAE,QAAS,KAAK,OAAO,CAAE,EAIrD,KAAK,EAAI,IAAInL,GAAK,CACd,QAAS,KAAK,QACd,KAAM,CAClB,CAAS,EAID,KAAK,EAAI,IAAIA,GAAK,CACd,QAAS,KAAK,QACd,KAAM,CAClB,CAAS,EAID,KAAK,OAAS,IAAIA,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAChD,KAAK,kBAAoB,CAAC,KAAK,EAAG,KAAK,CAAC,EACxC,MAAM/5D,EAAUmuD,EAAqBqc,GAAU,YAAa,EAAE,UAAW,CAAC,MAAM,CAAC,EACjF,KAAK,KAAO,IAAIlQ,GAAO,CACnB,QAAS,KAAK,QACd,MAAO,cACP,MAAOt6D,EAAQ,IAC3B,CAAS,EACD2yD,GAAS,KAAM,MAAM,EACrB,KAAK,QAAQ,YAAY,CAAC,EAAE,QAAQ,KAAK,OAAO,EAChD,KAAK,QAAQ,QAAQ,KAAK,MAAM,EAIhC,KAAK,QAAQ,aAAe,EAC5B,KAAK,QAAQ,iBAAmB,WAChCpvB,GAAQ,KAAK,OAAQ,KAAK,EAAE,KAAM,CAAC,EACnCA,GAAQ,KAAK,OAAQ,KAAK,EAAE,KAAM,CAAC,EACnC,KAAK,KAAK,MAAM,KAAK,KAAM,KAAK,QAAQ,GAAG,EAC3C,KAAK,EAAE,QAAQ,KAAK,MAAM,EAC1B,KAAK,EAAE,QAAQ,KAAK,MAAM,CAC7B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO61B,GAAc,YAAW,EAAI,CAC9C,KAAM,EAClB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,EAAE,UACP,KAAK,EAAE,UACP,KAAK,OAAO,UACZ,KAAK,KAAK,UACV,KAAK,KAAK,UACV,KAAK,QAAQ,aACb,KAAK,OAAO,aACL,IACV,CACL,CC/FO,MAAMqR,WAAerR,EAAc,CACtC,YAAYp5D,EAAS,CACjB,MAAMA,CAAO,EACb,KAAK,KAAO,SAIZ,KAAK,QAAU,IAAIwqE,GAAU,CAAE,QAAS,KAAK,OAAO,CAAE,EAMtD,KAAK,IAAM,KAAK,QAAQ,KAIxB,KAAK,WAAa,IAAIzQ,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAIpD,KAAK,aAAe,IAAIA,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAItD,KAAK,MAAQ,IAAIA,GAAK,CAAE,QAAS,KAAK,OAAO,CAAE,EAI/C,KAAK,OAAS,KAAK,QAEnB,KAAK,MAAM,IAAI,KAAK,QAAQ,EAAG,KAAK,UAAU,EAC9C,KAAK,aAAa,QAAQ,KAAK,QAAQ,CAAC,EACxC,KAAK,IAAI,eAAe/5D,EAAQ,IAAK,CAAC,EACtC,KAAK,kBAAoB,CAAC,KAAK,aAAc,KAAK,UAAU,EAC5D2yD,GAAS,KAAM,KAAK,CACvB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,IAAK,CACjB,CAAS,CACJ,CAID,cAAcroE,EAAQ,CAElB,YAAK,kBAAkB,KAAKA,CAAM,EAClC,KAAK,WAAW,MAAMA,EAAQ,KAAK,YAAY,EACxC,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACb,KAAK,WAAW,UAChB,KAAK,aAAa,UAClB,KAAK,IAAI,UACF,IACV,CACL,CC9DO,MAAM25E,WAAkBD,EAAO,CAClC,YAAYzqE,EAAS,CACjB,MAAMA,CAAO,EACb,KAAK,KAAO,YACZ,KAAK,KAAO,IAAIykE,GAAI,CAChB,QAAS,KAAK,QACd,UAAWzkE,EAAQ,UACnB,UAAWA,EAAQ,KAC/B,CAAS,EACD,KAAK,MAAQ,KAAK,KAAK,UACvB,KAAK,UAAY,KAAK,KAAK,UAC3B,KAAK,KAAOA,EAAQ,KACpB2yD,GAAS,KAAM,CAAC,YAAa,OAAO,CAAC,CACxC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO8X,GAAO,YAAW,EAAI,CACvC,UAAW,EACX,KAAM,OACN,MAAO,CACnB,CAAS,CACJ,CAID,MAAM/7C,EAAM,CACR,YAAK,KAAK,MAAMA,CAAI,EACb,IACV,CAID,KAAKA,EAAM,CACP,YAAK,KAAK,KAAKA,CAAI,EACZ,IACV,CAID,MAAO,CACH,YAAK,KAAK,OACH,IACV,CAID,QAAS,CACL,YAAK,KAAK,SACH,IACV,CAQD,IAAI,MAAO,CACP,OAAO,KAAK,KAAK,IACpB,CACD,IAAI,KAAK37B,EAAM,CACX,KAAK,KAAK,KAAOA,CACpB,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,KAAK,UACV,KAAK,UAAU,UACf,KAAK,MAAM,UACJ,IACV,CACL,CC5DO,MAAM43E,WAAevR,EAAc,CACtC,aAAc,CACV,MAAM,OAAO,OAAOjL,EAAqBwc,GAAO,YAAa,EAAE,UAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EACnF,KAAK,KAAO,SAIZ,KAAK,QAAU,KAAK,QAAQ,mBAAkB,EAC9C,KAAK,MAAQ,KAAK,QAClB,KAAK,OAAS,KAAK,QACnB,MAAM3qE,EAAUmuD,EAAqBwc,GAAO,YAAa,EAAE,UAAW,CAAC,KAAK,CAAC,EAC7E,KAAK,IAAM,IAAIxS,GAAM,CACjB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,IACpB,MAAOn4D,EAAQ,IACf,SAAU,GACV,SAAU,CACtB,CAAS,EAID,KAAK,QAAQ,aAAeA,EAAQ,aACpC,KAAK,QAAQ,iBAAmB,WAEhC2yD,GAAS,KAAM,KAAK,CACvB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,IAAK,EACL,aAAc,CAC1B,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,aACb,KAAK,IAAI,UACF,IACV,CACL,CCvCO,MAAMwR,WAAmBF,EAAU,CACtC,aAAc,CACV,MAAMvc,EAAqByc,GAAW,YAAW,EAAI,UAAW,CAAC,WAAW,CAAC,CAAC,EAC9E,KAAK,KAAO,aACZ,MAAM5qE,EAAUmuD,EAAqByc,GAAW,YAAa,EAAE,UAAW,CAAC,WAAW,CAAC,EACvF,KAAK,QAAU,IAAID,GAAO,CACtB,QAAS,KAAK,QACd,aAAc3qE,EAAQ,YAClC,CAAS,EAED,KAAK,cAAc,KAAK,OAAO,EAC/B,KAAK,KAAK,QAAQ,KAAK,QAAQ,GAAG,EAClC,KAAK,KAAK,IAAM,GAChB,KAAK,KAAK,IAAM,CACnB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO0qE,GAAU,YAAW,EAAI,CAC1C,aAAc,CAC1B,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACN,IACV,CACL,CCrCO,MAAMrB,GAAc,cACdwB,GAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBlD9B,GAAkBM,GAAawB,EAAiB,ECVzC,MAAMC,WAAc1R,EAAc,CACrC,aAAc,CACV,MAAMjL,EAAqB2c,GAAM,YAAW,EAAI,UAAW,CAAC,UAAU,CAAC,CAAC,EACxE,KAAK,KAAO,QACZ,MAAM9qE,EAAUmuD,EAAqB2c,GAAM,YAAa,EAAE,UAAW,CAAC,UAAU,CAAC,EACjF,KAAK,QAAU,KAAK,OAAS,KAAK,MAAQ,KAAK,QAAQ,oBAAoB9qE,EAAQ,QAAQ,CAC9F,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,SAAU,CACtB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,aACN,IACV,CACL,CCvBO,MAAM2R,WAAuBN,EAAO,CACvC,YAAYzqE,EAAS,CACjB,MAAMA,CAAO,EACb,KAAK,KAAO,iBACZ,KAAK,cAAgB,IAAI+5D,GAAK,CAC1B,QAAS,KAAK,QACd,KAAM/5D,EAAQ,SACd,MAAO,aACnB,CAAS,EACD,KAAK,SAAW,KAAK,cAAc,KACnC2yD,GAAS,KAAM,UAAU,EAEzB,KAAK,aAAa,MAAM,KAAK,cAAe,KAAK,UAAU,CAC9D,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAO8X,GAAO,YAAW,EAAI,CACvC,SAAU,IACtB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,cAAc,UACnB,KAAK,SAAS,UACP,IACV,CACL,CCdO,MAAMO,WAAsBD,EAAe,CAC9C,aAAc,CACV,MAAM5c,EAAqB6c,GAAc,YAAa,EAAE,UAAW,CAAC,YAAa,UAAU,CAAC,CAAC,EAC7F,KAAK,KAAO,gBACZ,MAAMhrE,EAAUmuD,EAAqB6c,GAAc,YAAW,EAAI,UAAW,CAAC,YAAa,UAAU,CAAC,EACtG,KAAK,WAAa,IAAInO,GAAM,CACxB,QAAS,KAAK,QACd,UAAW78D,EAAQ,UACnB,SAAUA,EAAQ,QAC9B,CAAS,EACD,KAAK,UAAY,KAAK,WAAW,UAEjC,KAAK,cAAc,KAAK,UAAU,EAClC2yD,GAAS,KAAM,WAAW,CAC7B,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOoY,GAAe,YAAW,EAAI,CAC/C,UAAW,IACX,SAAU,CACtB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,WAAW,UAChB,KAAK,UAAU,UACR,IACV,CACL,CCxBO,MAAME,WAAeR,EAAO,CAC/B,aAAc,CACV,MAAMtc,EAAqB8c,GAAO,YAAW,EAAI,UAAW,CAAC,OAAO,CAAC,CAAC,EACtE,KAAK,KAAO,SAIZ,KAAK,WAAa,KAAK,QAAQ,gBAAe,EAM9C,KAAK,MAAQ,QAAQ,UACrB,MAAMjrE,EAAUmuD,EAAqB8c,GAAO,YAAa,EAAE,UAAW,CAAC,OAAO,CAAC,EAC/E,KAAK,OAASjrE,EAAQ,MACtB,KAAK,UAAYA,EAAQ,SACzB,KAAK,SAAQ,EACb,KAAK,cAAc,KAAK,UAAU,CACrC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyqE,GAAO,YAAW,EAAI,CACvC,MAAO,IACP,SAAU,GACtB,CAAS,CACJ,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,MACf,CACD,IAAI,MAAM/7C,EAAM,CACZA,EAAO,KAAK,UAAUA,CAAI,EAC1By8B,GAAYz8B,EAAM,IAAK,EACvB,KAAK,OAASA,EACd,KAAK,SAAQ,CAChB,CAID,IAAI,UAAW,CACX,OAAO,KAAK,SACf,CACD,IAAI,SAASA,EAAM,CACfA,EAAO,KAAK,UAAUA,CAAI,EAC1By8B,GAAYz8B,EAAM,CAAC,EACnB,KAAK,UAAYA,EACjB,KAAK,SAAQ,CAChB,CAKD,UAAW,CACP,OAAOi+B,GAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMue,EAAgB,KAAK,MAErB92D,EAAU,IAAI4/C,GAAe,EAAG,KAAK,OAAS,KAAK,UAAW,KAAK,QAAQ,UAAU,EACrFmX,EAAS,IAAIjK,GAAM,CAAE,QAAA9sD,CAAS,GAC9Bg3D,EAAS,IAAIlK,GAAM,CAAE,QAAA9sD,CAAS,GAC9Bi3D,EAAQ,IAAIP,GAAM,CAAE,QAAA12D,CAAS,GACnC+2D,EAAO,QAAQE,EAAO,EAAG,CAAC,EAC1BD,EAAO,QAAQC,EAAO,EAAG,CAAC,EAC1B,MAAMlhC,EAAW,IAAI4vB,GAAK,CAAE,QAAA3lD,CAAS,GAAE,gBACvCi3D,EAAM,QAAQlhC,CAAQ,EACtBghC,EAAO,MAAM,CAAC,EACdC,EAAO,MAAM,CAAC,EAEdjhC,EAAS,KAAK,eAAe,EAAG,CAAC,EACjCA,EAAS,KAAK,eAAe,EAAG,KAAK,SAAS,EAE9CA,EAAS,KAAK,+BAA+B,EAAG,KAAK,UAAW,KAAK,KAAK,EAE1E,MAAMmhC,EAAgBl3D,EAAQ,SAC9B,YAAK,MAAQk3D,EAAc,KAAKzY,EAAI,EAEpC,MAAMqY,EAEN,KAAK,WAAW,QAAU,MAAMI,GAAe,IAAG,EAC3C,IACnB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,WAAW,aACT,IACV,CACL,CC9FO,MAAMC,WAAanS,EAAc,CACpC,aAAc,CACV,MAAMjL,EAAqBod,GAAK,YAAW,EAAI,UAAW,CAAC,MAAM,CAAC,CAAC,EACnE,KAAK,KAAO,OACZ,MAAMvrE,EAAUmuD,EAAqBod,GAAK,YAAa,EAAE,UAAW,CAAC,MAAM,CAAC,EAC5E,KAAK,MAAQ,KAAK,OAAS,IAAIxR,GAAK,CAChC,QAAS,KAAK,OAC1B,CAAS,EACIwR,GAAK,UAAU,IAAI,KAAK,OAAO,GAChCA,GAAK,UAAU,IAAI,KAAK,QAAS,IAAI,GAAK,EAE9CA,GAAK,UAAU,IAAI,KAAK,OAAO,EAAE,IAAI,IAAI,EAEzC,KAAK,KAAOvrE,EAAQ,IACvB,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOo5D,GAAc,YAAW,EAAI,CAC9C,KAAM,EAClB,CAAS,CACJ,CAMD,IAAI,MAAO,CACP,OAAO,KAAK,WACf,CACD,IAAI,KAAKoS,EAAM,CACPA,EACA,KAAK,SAAQ,EAGb,KAAK,YAAW,EAEpBD,GAAK,UAAU,IAAI,KAAK,OAAO,EAAE,QAAQ1vE,GAAYA,EAAS,YAAW,CAAE,CAC9E,CAID,IAAI,OAAQ,CACR,OAAO,KAAK,MAAM,KAAK,QAAU,CACpC,CAID,UAAW,CACF0vE,GAAK,QAAQ,IAAI,KAAK,OAAO,GAC9BA,GAAK,QAAQ,IAAI,KAAK,QAAS,IAAI,GAAK,EAE5CA,GAAK,QAAQ,IAAI,KAAK,OAAO,EAAE,IAAI,IAAI,CAC1C,CAID,aAAc,CACNA,GAAK,QAAQ,IAAI,KAAK,OAAO,GAC7BA,GAAK,QAAQ,IAAI,KAAK,OAAO,EAAE,OAAO,IAAI,CAEjD,CAID,WAAY,CACR,OAAOA,GAAK,QAAQ,IAAI,KAAK,OAAO,GAAKA,GAAK,QAAQ,IAAI,KAAK,OAAO,EAAE,IAAI,IAAI,CACnF,CAID,UAAW,CAEP,MAAO,CAACA,GAAK,QAAQ,IAAI,KAAK,OAAO,GAEhCA,GAAK,QAAQ,IAAI,KAAK,OAAO,GAAKA,GAAK,QAAQ,IAAI,KAAK,OAAO,EAAE,OAAS,CAClF,CAID,aAAc,CACN,KAAK,YACL,KAAK,MAAM,KAAK,MAAQ,EAEnB,KAAK,WAEV,KAAK,MAAM,KAAK,MAAQ,EAGxB,KAAK,MAAM,KAAK,MAAQ,CAE/B,CACD,SAAU,CACN,aAAM,QAAO,EACbA,GAAK,UAAU,IAAI,KAAK,OAAO,EAAE,OAAO,IAAI,EAC5C,KAAK,YAAW,EACT,IACV,CACL,CAIAA,GAAK,UAAY,IAAI,IAIrBA,GAAK,QAAU,IAAI,IC1GZ,MAAME,WAAerS,EAAc,CACtC,aAAc,CACV,MAAMjL,EAAqBsd,GAAO,YAAa,EAAE,UAAW,CAAC,MAAO,QAAQ,CAAC,CAAC,EAC9E,KAAK,KAAO,SACZ,MAAMzrE,EAAUmuD,EAAqBsd,GAAO,YAAW,EAAI,UAAW,CAAC,MAAO,QAAQ,CAAC,EACvF,KAAK,QAAU,KAAK,MAAQ,IAAId,GAAO,CACnC,QAAS,KAAK,QACd,IAAK3qE,EAAQ,IACb,aAAcA,EAAQ,YAClC,CAAS,EACD,KAAK,IAAM,KAAK,QAAQ,IACxB,KAAK,QAAU,KAAK,OAAS,IAAIi+D,GAAO,CACpC,QAAS,KAAK,QACd,OAAQj+D,EAAQ,MAC5B,CAAS,EACD,KAAK,OAAS,KAAK,QAAQ,OAE3B,KAAK,QAAQ,QAAQ,KAAK,OAAO,EACjC,KAAK,KAAOA,EAAQ,KACpB2yD,GAAS,KAAM,CAAC,MAAO,QAAQ,CAAC,CACnC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,KAAM,GACN,IAAK,EACL,OAAQ,EACR,aAAc,CAC1B,CAAS,CACJ,CAID,IAAI,MAAO,CACP,OAAO,KAAK,QAAQ,IACvB,CACD,IAAI,KAAK8E,EAAM,CACX,KAAK,QAAQ,KAAOA,CACvB,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACb,KAAK,IAAI,UACT,KAAK,QAAQ,UACb,KAAK,OAAO,UACL,IACV,CACL,CC7CO,MAAMwN,WAAgBtS,EAAc,CACvC,aAAc,CACV,MAAMjL,EAAqBud,GAAQ,YAAa,EAAE,UAAW,CAAC,SAAU,KAAK,CAAC,CAAC,EAC/E,KAAK,KAAO,UACZ,MAAM1rE,EAAUmuD,EAAqBud,GAAQ,YAAW,EAAI,UAAW,CAAC,SAAU,KAAK,CAAC,EACxF,KAAK,MAAQ,KAAK,MAAQ,IAAIH,GAAK,CAC/B,KAAMvrE,EAAQ,KACd,QAAS,KAAK,OAC1B,CAAS,EACD,KAAK,QAAU,KAAK,OAAS,IAAIyrE,GAAO,CACpC,QAAS,KAAK,QACd,IAAKzrE,EAAQ,IACb,OAAQA,EAAQ,OAChB,KAAMA,EAAQ,KACd,aAAcA,EAAQ,YAClC,CAAS,EACD,KAAK,IAAM,KAAK,QAAQ,IACxB,KAAK,OAAS,KAAK,QAAQ,OAC3B,KAAK,MAAM,QAAQ,KAAK,OAAO,EAC/B2yD,GAAS,KAAM,CAAC,MAAO,QAAQ,CAAC,CACnC,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,IAAK,EACL,OAAQ,EACR,KAAM,GACN,KAAM,GACN,aAAc,CAC1B,CAAS,CACJ,CAID,IAAI,MAAO,CACP,OAAO,KAAK,MAAM,IACrB,CACD,IAAI,KAAKoS,EAAM,CACX,KAAK,MAAM,KAAOA,CACrB,CAKD,IAAI,OAAQ,CACR,OAAO,KAAK,MAAM,OAAS,KAAK,IACnC,CAID,IAAI,MAAO,CACP,OAAO,KAAK,QAAQ,IACvB,CACD,IAAI,KAAKtN,EAAM,CACX,KAAK,QAAQ,KAAOA,CACvB,CAMD,QAAQhvE,EAAM,CACV,OAAKw8E,GAAQ,MAAM,IAAIx8E,CAAI,GACvBw8E,GAAQ,MAAM,IAAIx8E,EAAM,IAAI6qE,GAAK,CAAE,QAAS,KAAK,OAAS,EAAC,EAExD2R,GAAQ,MAAM,IAAIx8E,CAAI,CAChC,CAWD,KAAKA,EAAMy8E,EAAS,EAAG,CACnB,MAAMC,EAAM,KAAK,QAAQ18E,CAAI,EACvB28E,EAAW,IAAI9R,GAAK,CACtB,QAAS,KAAK,QACd,MAAO,WACP,KAAM4R,CAClB,CAAS,EACD,YAAK,QAAQE,CAAQ,EACrBA,EAAS,QAAQD,CAAG,EACbC,CACV,CAKD,QAAQ38E,EAAM,CAEV,OADY,KAAK,QAAQA,CAAI,EACzB,QAAQ,IAAI,EACT,IACV,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,QAAQ,UACb,KAAK,IAAI,UACT,KAAK,OAAO,UACZ,KAAK,MAAM,UACJ,IACV,CACL,CAIAw8E,GAAQ,MAAQ,IAAI,WCjHb,cAAuBtS,EAAc,CACxC,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,KAAO,WACZ,KAAK,UAAY,IAAIjB,GAAM,CACvB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,SACpD,CAAS,EACD,KAAK,UAAY,IAAIA,GAAM,CACvB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,SACpD,CAAS,EACD,KAAK,UAAY,IAAIA,GAAM,CACvB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,SACpD,CAAS,EACD,KAAK,SAAW,IAAIA,GAAM,CACtB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,QACpD,CAAS,EACD,KAAK,SAAW,IAAIA,GAAM,CACtB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,QACpD,CAAS,EACD,KAAK,SAAW,IAAIA,GAAM,CACtB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,QACpD,CAAS,EACD,KAAK,IAAM,IAAIA,GAAM,CACjB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,GACpD,CAAS,EACD,KAAK,IAAM,IAAIA,GAAM,CACjB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,GACpD,CAAS,EACD,KAAK,IAAM,IAAIA,GAAM,CACjB,QAAS,KAAK,QACd,MAAO,KAAK,QAAQ,WAAW,SAAS,GACpD,CAAS,CACJ,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOiB,GAAc,YAAW,EAAI,CAC9C,UAAW,EACX,UAAW,EACX,UAAW,EACX,SAAU,EACV,SAAU,EACV,SAAU,GACV,IAAK,EACL,IAAK,EACL,IAAK,CACjB,CAAS,CACJ,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,UAAU,UACf,KAAK,UAAU,UACf,KAAK,UAAU,UACf,KAAK,SAAS,UACd,KAAK,SAAS,UACd,KAAK,SAAS,UACd,KAAK,IAAI,UACT,KAAK,IAAI,UACT,KAAK,IAAI,UACF,IACV,CACL,EAIApJ,GAAc57C,GAAW,CACrBA,EAAQ,SAAW,IAAI03D,GAAS,CAAE,QAAA13D,CAAS,EAC/C,CAAC,EACD+7C,GAAe/7C,GAAW,CACtBA,EAAQ,SAAS,SACrB,CAAC,ECvEM,MAAM23D,WAAmB3S,EAAc,CAC1C,aAAc,CACV,MAAMjL,EAAqB4d,GAAW,YAAa,EAAE,UAAW,CAAC,YAAa,OAAO,CAAC,CAAC,EACvF,KAAK,KAAO,aAIZ,KAAK,YAAc,KAAK,QAAQ,yBAAwB,EACxD,KAAK,MAAQ,KAAK,YAClB,KAAK,OAAS,KAAK,YACnB,MAAM/rE,EAAUmuD,EAAqB4d,GAAW,YAAW,EAAI,UAAW,CAAC,YAAa,OAAO,CAAC,EAChG,KAAK,UAAY,IAAI5T,GAAM,CACvB,SAAU,KAAK,YAAY,UAAU,SACrC,SAAU,KAAK,YAAY,UAAU,SACrC,QAAS,KAAK,QACd,QAAS,GACT,MAAO,KAAK,YAAY,UACxB,MAAO,WACP,MAAOn4D,EAAQ,SAC3B,CAAS,EACD,KAAK,OAAS,IAAIm4D,GAAM,CACpB,SAAU,KAAK,YAAY,OAAO,SAClC,SAAU,KAAK,YAAY,OAAO,SAClC,QAAS,KAAK,QACd,MAAO,KAAK,YAAY,OACxB,MAAO,OACP,MAAOn4D,EAAQ,MAC3B,CAAS,EACD,KAAK,QAAU,IAAIm4D,GAAM,CACrB,SAAU,KAAK,YAAY,QAAQ,SACnC,SAAU,KAAK,YAAY,QAAQ,SACnC,QAAS,KAAK,QACd,MAAO,KAAK,YAAY,QACxB,MAAO,OACP,MAAOn4D,EAAQ,OAC3B,CAAS,EACD,KAAK,KAAO,IAAIm4D,GAAM,CAClB,SAAU,KAAK,YAAY,KAAK,SAChC,SAAU,KAAK,YAAY,KAAK,SAChC,QAAS,KAAK,QACd,QAAS,GACT,MAAO,KAAK,YAAY,KACxB,MAAO,WACP,MAAOn4D,EAAQ,IAC3B,CAAS,EACD,KAAK,MAAQ,IAAIm4D,GAAM,CACnB,SAAU,KAAK,YAAY,MAAM,SACjC,SAAU,KAAK,YAAY,MAAM,SACjC,QAAS,KAAK,QACd,QAAS,GACT,MAAO,KAAK,YAAY,MACxB,MAAO,WACP,MAAOn4D,EAAQ,KAC3B,CAAS,EAED2yD,GAAS,KAAM,CAAC,OAAQ,UAAW,SAAU,QAAS,WAAW,CAAC,CACrE,CACD,OAAO,aAAc,CACjB,OAAO,OAAO,OAAOyG,GAAc,YAAW,EAAI,CAC9C,OAAQ,KACR,KAAM,GACN,MAAO,GACP,QAAS,IACT,UAAW,GACvB,CAAS,CACJ,CAKD,IAAI,WAAY,CACZ,OAAO,KAAK,YAAY,SAC3B,CACD,SAAU,CACN,aAAM,QAAO,EACb,KAAK,YAAY,aACjB,KAAK,OAAO,UACZ,KAAK,QAAQ,UACb,KAAK,UAAU,UACf,KAAK,MAAM,UACX,KAAK,KAAK,UACH,IACV,CACL,CCrEO,MAAM4F,GAAYjM,GAAY,EAAC,UAcXA,GAAU,EAAG,YAIlBA,GAAU,EAAG,YAaXA,GAAU,EAAG,SAajBA,GAAU,EAAG,KAcVA,GAAU,EC3DjC,MAAMiZ,EAAa,CAQjB,YAAYC,EAAkB,GAAO,CAUnC,KAAK,SAAW,GAOhB,KAAK,gBAAkBA,GAAmB,EAE3C,CA8CD,YAAYrtE,EAAO7H,EAAUiJ,EAAU,GAAI,CAEzC,GACG,OAAOpB,GAAU,UAAYA,EAAM,OAAS,GAC5CA,aAAiB,QAAUA,EAAM,OAAS,GAC1C,OAAOA,GAAU,UAAY,EAAEA,aAAiB,SAAWA,IAAUotE,GAAa,UAEnF,MAAM,IAAI,UAAU,mEAAmE,EAGzF,GAAI,OAAOj1E,GAAa,WAAY,MAAM,IAAI,UAAU,kCAAkC,EAE1F,MAAMmtC,EAAW,IAAI4nC,GAASltE,EAAO,KAAM7H,EAAUiJ,CAAO,EAE5D,OAAK,KAAK,SAASpB,CAAK,IAAG,KAAK,SAASA,CAAK,EAAI,IAE9CoB,EAAQ,QACV,KAAK,SAASpB,CAAK,EAAE,QAAQslC,CAAQ,EAErC,KAAK,SAAStlC,CAAK,EAAE,KAAKslC,CAAQ,EAG7BA,CAER,CA8BD,mBAAmBtlC,EAAO7H,EAAUiJ,EAAU,GAAI,CAChDA,EAAQ,UAAY,EACpB,KAAK,YAAYpB,EAAO7H,EAAUiJ,CAAO,CAC1C,CAQD,WAAW,WAAY,CACrB,OAAO,OAAO,IAAI,WAAW,CAC9B,CAiBD,YAAYpB,EAAO7H,EAAU,CAE3B,OAAI6H,IAAU,OAIV,KAAK,SAASotE,GAAa,SAAS,GAAK,KAAK,SAASA,GAAa,SAAS,EAAE,OAAS,EAEjF,GAIF,OAAO,QAAQ,KAAK,QAAQ,EAAE,KAAK,CAAC,CAAG,CAAAt/E,CAAK,IAC1CA,EAAM,OAAS,CACvB,EAIG,KAAK,SAASkS,CAAK,GAAK,KAAK,SAASA,CAAK,EAAE,OAAS,EAEpD7H,aAAoB+0E,GACT,KAAK,SAASltE,CAAK,EAAE,OAAOslC,GAAYA,IAAantC,CAAQ,EAC5D,OAAS,EACd,OAAOA,GAAa,WAChB,KAAK,SAAS6H,CAAK,EAAE,OAAOslC,GAAYA,EAAS,WAAantC,CAAQ,EACrE,OAAS,EACdA,GAAY,KAOhB,EAMZ,CAaD,IAAI,YAAa,CACf,OAAO,OAAO,KAAK,KAAK,QAAQ,CACjC,CAcD,aAAa6H,EAAO,CAClB,OAAO,KAAK,SAASA,CAAK,GAAK,EAChC,CAiBD,aAAaA,EAAO,CAClB,KAAK,aAAaA,CAAK,EAAE,QAAQslC,GAAY,CAC3CA,EAAS,UAAY,EAC3B,CAAK,CACF,CAgBD,eAAetlC,EAAO,CACpB,KAAK,aAAaA,CAAK,EAAE,QAAQslC,GAAY,CAC3CA,EAAS,UAAY,EAC3B,CAAK,CACF,CAeD,iBAAiBtlC,EAAO,CACtB,OAAO,KAAK,aAAaA,CAAK,EAAE,MACjC,CAyBD,KAAKA,KAAUzK,EAAM,CAEnB,GAAI,OAAOyK,GAAU,UAAY,EAAEA,aAAiB,QAClD,MAAM,IAAI,UAAU,yCAAyC,EAG/D,GAAI,KAAK,gBAAiB,OAG1B,IAAI2+D,EAAU,GAIV2O,EAAY,KAAK,SAASF,GAAa,SAAS,GAAK,GACzD,OAAI,KAAK,SAASptE,CAAK,IAAGstE,EAAYA,EAAU,OAAO,KAAK,SAASttE,CAAK,CAAC,GAE3EstE,EAAU,QAAQhoC,GAAY,CAG5B,GAAIA,EAAS,UAAW,OAExB,IAAIioC,EAAS,CAAC,GAAGh4E,CAAI,EACjB,MAAM,QAAQ+vC,EAAS,SAAS,IAAGioC,EAASA,EAAO,OAAOjoC,EAAS,SAAS,GAE5EA,EAAS,UAAY,IACvBq5B,EAAQ,KAAKr5B,EAAS,SAAS,MAAMA,EAAS,QAASioC,CAAM,CAAC,EAC9DjoC,EAAS,SAGP,EAAEA,EAAS,UAAY,GAAGA,EAAS,OAAM,CAEnD,CAAK,EAEMq5B,CAER,CAoBD,eAAe3+D,EAAO7H,EAAUiJ,EAAU,GAAI,CAE5C,GAAIpB,IAAU,OAAW,CACvB,KAAK,SAAW,GAChB,MACD,SAAU,CAAC,KAAK,SAASA,CAAK,EAC7B,OAIF,IAAIstE,EAAY,KAAK,SAASttE,CAAK,EAAE,OAAOslC,GAElCntC,GAAYmtC,EAAS,WAAantC,GACvCiJ,EAAQ,WAAaA,EAAQ,YAAckkC,EAAS,WACpDlkC,EAAQ,SAAWA,EAAQ,UAAYkkC,EAAS,OAEpD,EAEGgoC,EAAU,OACZ,KAAK,SAASttE,CAAK,EAAIstE,EAEvB,OAAO,KAAK,SAASttE,CAAK,CAG7B,CAkBD,MAAM,QAAQA,EAAOoB,EAAU,GAAI,CAEjC,OAAAA,EAAQ,SAAW,SAASA,EAAQ,QAAQ,GACxC,MAAMA,EAAQ,QAAQ,GAAKA,EAAQ,UAAY,KAAGA,EAAQ,SAAW,KAElE,IAAI,QAAQ,CAACsO,EAAS+vB,IAAW,CAEtC,IAAI5W,EAEAyc,EAAW,KAAK,YAAYtlC,EAAO,IAAM,CAC3C,aAAa6oB,CAAO,EACpBnZ,GACR,EAAS,CAAC,UAAW,CAAC,CAAC,EAEbtO,EAAQ,WAAa,MACvBynB,EAAU,WAAW,IAAM,CACzByc,EAAS,OAAM,EACf7F,EAAO,oDAAoD,CACrE,EAAWr+B,EAAQ,QAAQ,EAG3B,CAAK,CAEF,CAYD,IAAI,YAAa,CACf,OAAO,OAAO,KAAK,KAAK,QAAQ,EAAE,MACnC,CAEH,CAQA,MAAM8rE,EAAS,CAuBb,YAAYltE,EAAO9L,EAAQiE,EAAUiJ,EAAU,GAAI,CAEjD,GACE,OAAOpB,GAAU,UACjB,EAAEA,aAAiB,SACnBA,IAAUotE,GAAa,UAEvB,MAAM,IAAI,UAAU,mEAAmE,EAGzF,GAAI,CAACl5E,EACH,MAAM,IAAI,eAAe,sCAAsC,EAGjE,GAAI,OAAOiE,GAAa,WACtB,MAAM,IAAI,UAAU,oCAAoC,EAItDiJ,EAAQ,YAAc,QAAa,CAAC,MAAM,QAAQA,EAAQ,SAAS,IACrEA,EAAQ,UAAY,CAACA,EAAQ,SAAS,GAIxCA,EAAU,OAAO,OAAO,CACtB,QAASlN,EACT,UAAW,IACX,UAAW,OACX,SAAU,GACX,EAAEkN,CAAO,EAGNA,EAAQ,WAAa,KACvB,WAAW,IAAM,KAAK,OAAQ,EAAEA,EAAQ,QAAQ,EAOlD,KAAK,UAAYA,EAAQ,UAMzB,KAAK,SAAWjJ,EAOhB,KAAK,QAAUiJ,EAAQ,QAMvB,KAAK,MAAQ,EAMb,KAAK,MAAQpB,EAMb,KAAK,UAAY,SAASoB,EAAQ,SAAS,GAAK,EAAI,SAASA,EAAQ,SAAS,EAAI,IAMlF,KAAK,UAAY,GAMjB,KAAK,OAASlN,CAEf,CAKD,QAAS,CACP,KAAK,OAAO,eACV,KAAK,MACL,KAAK,SACL,CAAC,QAAS,KAAK,QAAS,UAAW,KAAK,SAAS,CACvD,CACG,CAEH,CAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQA,MAAMs5E,CAAa,CASjB,WAAW,uBAAwB,CAEjC,OAAI,KAAK,YACP,QAAQ,KACN,yGAER,EAGWA,EAAa,gBAErB,CAoBD,WAAW,kBAAmB,CAE5B,MAAO,CACL,QAAS,EACT,OAAQ,EACR,cAAe,GACf,cAAe,GACf,cAAe,GACf,kBAAmB,GACnB,UAAW,EACjB,CAEG,CAUD,WAAW,iBAAkB,CAC3B,MAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,CAC9D,CASD,WAAW,sBAAuB,CAEhC,OAAI,KAAK,YACP,QAAQ,KACN,yGAER,EAGW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,CAE9D,CAsBD,WAAW,uBAAwB,CAEjC,MAAO,CACL,YAAa,IACb,oBAAqB,IACrB,aAAc,IACd,YAAa,IACb,YAAa,IACb,WAAY,IACZ,WAAY,IACZ,WAAY,GAClB,CAEG,CASD,WAAW,4BAA6B,CAEtC,OAAI,KAAK,YACP,QAAQ,KACN,mHAER,EAGWA,EAAa,qBAErB,CASD,WAAW,8BAA+B,CAExC,OAAI,KAAK,YACP,QAAQ,KACN,wHAER,EAGW,CAEL,iBAAkB,EAClB,sBAAuB,EACvB,uBAAwB,EACxB,YAAa,EACb,qBAAsB,EACtB,qBAAsB,EACtB,gBAAiB,EACjB,aAAc,EACd,cAAe,EACf,YAAa,EACb,UAAW,GACX,iBAAkB,GAClB,qBAAsB,GACtB,qBAAsB,GACtB,aAAc,GACd,aAAc,GACd,sBAAuB,GACvB,sBAAuB,GACvB,sBAAuB,GACvB,sBAAuB,GACvB,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,eAAgB,GAChB,oBAAqB,GACrB,qBAAsB,GACtB,aAAc,GACd,mBAAoB,GACpB,mBAAoB,GACpB,cAAe,GACf,WAAY,GACZ,YAAa,GACb,aAAc,GACd,QAAS,GACT,eAAgB,GAChB,mBAAoB,GACpB,mBAAoB,GACpB,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,UAAW,GACX,WAAY,GACZ,eAAgB,GAChB,UAAW,GACX,YAAa,GACb,WAAY,GACZ,eAAgB,GAChB,UAAW,GACX,iBAAkB,GAClB,gBAAiB,GACjB,WAAY,GACZ,cAAe,GACf,cAAe,GACf,cAAe,GACf,cAAe,GACf,eAAgB,GAChB,sBAAuB,GACvB,sBAAuB,GACvB,sBAAuB,GACvB,sBAAuB,GACvB,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,aAAc,GACd,YAAa,GACb,aAAc,GACd,YAAa,GACb,aAAc,GACd,YAAa,GACb,oBAAqB,GACrB,oBAAqB,GACrB,6BAA8B,GAC9B,2BAA4B,GAC5B,0BAA2B,IAC3B,wBAAyB,IACzB,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,YAAa,IACb,oBAAqB,IACrB,aAAc,IACd,YAAa,IACb,YAAa,IACb,WAAY,IACZ,WAAY,IACZ,WAAY,GAElB,CAEG,CAwJD,WAAW,yBAA0B,CAEnC,MAAO,CACL,CACE,OAAQ,EACR,KAAM,mBACN,YAAa,uBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,wBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,yBACN,YAAa,6BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,cACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,kBACN,YAAa,sBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,eACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,gBACN,YAAa,mBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,cACN,YAAa,wBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,mBACN,YAAa,iCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,sBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,oBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,wBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,iBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,UACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,kBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,QACN,YAAa,eACd,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,kBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,cACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,kCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,6BACN,YAAa,yCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,2CACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,0BACN,YAAa,qCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,4BACN,YAAa,uCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,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","names":["makeMap","str","expectsLowerCase","map","list","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","key","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isRegExp","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","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","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","createDep","effects","dep","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","parent","lastShouldTrack","shouldTrack","cleanupEffect","effect2","trackStack","pauseTracking","resetTracking","track","target","type","depsMap","trackEffects","debuggerEventExtraInfo","shouldTrack2","trigger","newValue","oldTarget","newLength","key2","triggerEffects","triggerEffect","getDepFromReactive","object","_a","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","toRaw","BaseReactiveHandler","_isReadonly","_shallow","receiver","isReadonly2","shallow","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isReadonly","isShallow","hadKey","result","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","v","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","set","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","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","customRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","source","defaultValue","propertyToRef","ComputedRefImpl","getter","_setter","isSSR","self","computed","getterOrOptions","debugOptions","setter","onlyGetter","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","withScopeId","_id","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","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","isSuspense","queueEffectWithSuspense","suspense","watchEffect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","onTrack","onTrigger","currentInstance","forceTrigger","isMultiSource","isShallow$1","s","traverse","cleanup","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","queuePostRenderEffect","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","path","segments","withDirectives","directives","internalInstance","getExposeProxy","bindings","dir","modifiers","invokeDirectiveHook","oldBindings","binding","hook","leaveCbKey","enterCbKey","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","BaseTransitionImpl","getCurrentInstance","prevTransitionKey","children","getTransitionRawChildren","child","rawProps","mode","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","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","KeepAliveImpl","sharedContext","current","parentSuspense","patch","move","_unmount","createElement","storageContainer","container","anchor","isSVG","instance2","vnodeHook","invokeVNodeHook","unmount","resetShapeFlag","pruneCache","filter","getComponentName","pruneCacheEntry","include","exclude","matches","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","subTree","da","rawVNode","isVNode","max","cachedVNode","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","resolve","registry","renderList","renderItem","index","renderSlot","fallback","noSlotted","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","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","inject","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","currentApp","parentProvides","treatDefaultAsFactory","initProps","isStateful","InternalObjectKey","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","match","isSameType","expectedTypes","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","n1","n2","parentComponent","slotScopeIds","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","transition","dirs","mountChildren","setScopeId","unmountChildren","needCallTransitionHooks","needTransition","scopeId","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","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","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","allowed","ch1","ch2","len","arrI","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","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","computed$1","propsOrChildren","ssrContextKey","svgNS","doc","templateContainer","nodeOps","tag","is","node","selector","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","transitionClasses","vShowOldKey","vShow","setDisplay","patchStyle","isCssString","setStyle","currentDisplay","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","nativeOnRE","patchProp","shouldSetAsProp","positionMap","newPositionMap","moveCbKey","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","cssTransitionProps","removeMode","TransitionGroup","oldPos","newPos","dx","dy","clone","getModelAssigner","assignKey","vModelCheckbox","modelValue","elementValue","getValue","checked","assign","found","filtered","getCheckboxValue","setChecked","systemModifiers","modifierGuards","withModifiers","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","_imports_0","createExtendedExponentialRampToValueAutomationEvent","endTime","insertTime","createExtendedLinearRampToValueAutomationEvent","createSetValueAutomationEvent","startTime","createSetValueCurveAutomationEvent","getTargetValueAtTime","time","valueAtStartTime","timeConstant","isExponentialRampToValueAutomationEvent","automationEvent","isLinearRampToValueAutomationEvent","isAnyRampToValueAutomationEvent","isSetValueAutomationEvent","isSetValueCurveAutomationEvent","getValueOfAutomationEventAtIndexAtTime","automationEvents","getEndTimeAndValueOfPreviousAutomationEvent","currentAutomationEvent","nextAutomationEvent","isCancelAndHoldAutomationEvent","isCancelScheduledValuesAutomationEvent","getEventTime","getExponentialRampValueAtTime","getLinearRampValueAtTime","interpolateValue","theoreticIndex","lowerIndex","upperIndex","getValueCurveValueAtTime","isSetTargetAutomationEvent","AutomationEventList","eventTime","removedAutomationEvent","lastAutomationEvent","startValue","truncatedAutomationEvent","previousAutomationEvent","persistentAutomationEvent","remainingAutomationEvents","firstRemainingAutomationEvent","indexOfNextEvent","indexOfCurrentEvent","createCancelAndHoldAutomationEvent","cancelTime","createCancelScheduledValuesAutomationEvent","createExponentialRampToValueAutomationEvent","createLinearRampToValueAutomationEvent","createSetTargetAutomationEvent","createAbortError","createAddActiveInputConnectionToAudioNode","insertElementInSet","activeInputs","output","input","eventListener","ignoreDuplicates","activeInputConnection","createAddAudioNodeConnections","audioNodeConnectionsStore","audioNode","audioNodeRenderer","nativeAudioNode","createAddAudioParamConnections","audioParamConnectionsStore","audioParam","audioParamRenderer","ACTIVE_AUDIO_NODE_STORE","AUDIO_NODE_CONNECTIONS_STORE","AUDIO_NODE_STORE","AUDIO_PARAM_CONNECTIONS_STORE","AUDIO_PARAM_STORE","CONTEXT_STORE","EVENT_LISTENERS","CYCLE_COUNTERS","NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS","NODE_TO_PROCESSOR_MAPS","isConstructible","constructible","IMPORT_STATEMENT_REGEX","splitImportStatements","url","importStatements","sourceWithoutImportStatements","unresolvedUrl","importStatementWithResolvedUrl","verifyParameterDescriptors","parameterDescriptors","verifyProcessorCtor","processorCtor","createAddAudioWorkletModule","cacheTestResult","createNotSupportedError","evaluateSource","exposeCurrentFrameAndCurrentTime","fetchSource","getNativeContext","getOrCreateBackupOfflineAudioContext","isNativeOfflineAudioContext","nativeAudioWorkletNodeConstructor","ongoingRequests","resolvedRequests","testAudioWorkletProcessorPostMessageSupport","window","moduleURL","resolvedRequestsOfContext","ongoingRequestsOfContext","promiseOfOngoingRequest","nativeContext","promise","absoluteUrl","wrappedSource","evaluateAudioWorkletGlobalScope","nodeNameToProcessorConstructorMap","isSupportingPostMessage","currentIndex","blob","backupOfflineAudioContext","nativeContextOrBackupOfflineAudioContext","updatedResolvedRequestsOfContext","updatedOngoingRequestsOfContext","getValueForKey","pickElementFromSet","predicate","matchingElements","matchingElement","deletePassiveInputConnectionToAudioNode","passiveInputs","passiveInputConnections","matchingConnection","passiveInputConnection","getEventListenersOfAudioNode","setInternalStateToActive","isAudioWorkletNode","setInternalStateToPassive","setInternalStateToPassiveWhenNecessary","connections","createAddConnectionToAudioNode","addActiveInputConnectionToAudioNode","addPassiveInputConnectionToAudioNode","connectNativeAudioNodeToNativeAudioNode","deleteActiveInputConnectionToAudioNode","disconnectNativeAudioNodeFromNativeAudioNode","getAudioNodeConnections","getAudioNodeTailTime","getNativeAudioNode","isActiveAudioNode","isPartOfACycle","isPassiveAudioNode","tailTimeTimeoutIds","destination","isOffline","outputs","eventListeners","isActive","nativeDestinationAudioNode","nativeSourceAudioNode","partialConnection","tailTime","tailTimeTimeoutId","outputConnection","createAddPassiveInputConnectionToAudioNode","createAddSilentConnection","createNativeGainNode","nativeAudioScheduledSourceNode","nativeGainNode","disconnect","createAddUnrenderedAudioWorkletNode","getUnrenderedAudioWorkletNodes","audioWorkletNode","DEFAULT_OPTIONS","createAnalyserNodeConstructor","audionNodeConstructor","createAnalyserNodeRenderer","createIndexSizeError","createNativeAnalyserNode","mergedOptions","nativeAnalyserNode","analyserNodeRenderer","maxDecibels","minDecibels","array","isOwnedByContext","createAnalyserNodeRendererFactory","renderInputsOfAudioNode","renderedNativeAnalyserNodes","createAnalyserNode","nativeOfflineAudioContext","renderedNativeAnalyserNode","testAudioBufferCopyChannelMethodsOutOfBoundsSupport","nativeAudioBuffer","wrapAudioBufferGetChannelDataMethod","audioBuffer","getChannelData","channel","createAudioBufferConstructor","audioBufferStore","nativeAudioBufferConstructor","nativeOfflineAudioContextConstructor","testNativeAudioBufferConstructorSupport","wrapAudioBufferCopyChannelMethods","wrapAudioBufferCopyChannelMethodsOutOfBounds","AudioBuffer","length","numberOfChannels","sampleRate","MOST_NEGATIVE_SINGLE_FLOAT","MOST_POSITIVE_SINGLE_FLOAT","createAudioBufferSourceNodeConstructor","audioNodeConstructor","createAudioBufferSourceNodeRenderer","createAudioParam","createInvalidStateError","createNativeAudioBufferSourceNode","wrapEventListener","nativeAudioBufferSourceNode","audioBufferSourceNodeRenderer","wrappedListener","nativeOnEnded","when","offset","resetInternalStateToPassive","createAudioBufferSourceNodeRendererFactory","connectAudioParam","renderAutomation","renderedNativeAudioBufferSourceNodes","stop","createAudioBufferSourceNode","nativeAudioBufferSourceNodeIsOwnedByContext","renderedNativeAudioBufferSourceNode","isAudioBufferSourceNode","isBiquadFilterNode","isConstantSourceNode","isGainNode","isOscillatorNode","isStereoPannerNode","getAudioParamConnections","deactivateActiveAudioNodeInputConnections","trace","audioParams","audioParamConnections","deactivateAudioGraph","isValidLatencyHint","latencyHint","createAudioContextConstructor","baseAudioContextConstructor","createUnknownError","mediaElementAudioSourceNodeConstructor","mediaStreamAudioDestinationNodeConstructor","mediaStreamAudioSourceNodeConstructor","mediaStreamTrackAudioSourceNodeConstructor","nativeAudioContextConstructor","nativeAudioContext","revokeState","mediaElement","mediaStream","mediaStreamTrack","reject","resolvePromise","createAudioDestinationNodeConstructor","createAudioDestinationNodeRenderer","createNativeAudioDestinationNode","channelCount","nativeAudioDestinationNode","audioDestinationNodeRenderer","renderedNativeAudioDestinationNodes","createAudioDestinationNode","renderedNativeAudioDestinationNode","createAudioListenerFactory","createNativeChannelMergerNode","createNativeConstantSourceNode","createNativeScriptProcessorNode","getFirstSample","overwriteAccessors","nativeListener","createFakeAudioParams","buffer","channelMergerNode","isScriptProcessorNodeCreated","lastOrientation","lastPosition","createScriptProcessorNode","scriptProcessorNode","inputBuffer","orientation","positon","createSetOrientation","createSetPosition","createFakeAudioParam","setValue","constantSourceNode","cancelAndHoldAtTime","cancelScheduledValues","exponentialRampToValueAtTime","linearRampToValueAtTime","setTargetAtTime","setValueAtTime","setValueCurveAtTime","forwardX","forwardY","forwardZ","positionX","positionY","positionZ","upX","upY","upZ","isAudioNode","audioNodeOrAudioParam","isAudioNodeOutputConnection","element","lmnt","addActiveInputConnectionToAudioParam","addPassiveInputConnectionToAudioParam","isNativeAudioNodeFaker","nativeAudioNodeOrNativeAudioNodeFaker","fakeNativeDestinationAudioNode","deleteActiveInputConnection","activeInputConnections","deleteActiveInputConnectionToAudioParam","deleteEventListenerOfAudioNode","deletePassiveInputConnectionToAudioParam","getNativeAudioParam","testAudioNodeDisconnectMethodSupport","analyzer","dummy","ones","channelData","chnnlDt","sample","visitEachAudioNodeOnce","cycles","visitor","counts","cycle","count","isNativeAudioNode","nativeAudioNodeOrAudioParam","wrapAudioNodeDisconnectMethod","connect","returnValue","connectionsToDestination","connection","destinationOrOutput","filteredConnections","addConnectionToAudioParamOfAudioContext","nativeAudioParam","deleteInputConnectionOfAudioNode","deleteInputConnectionOfAudioParam","deleteInputsOfAudioNode","listener","deleteInputsOfAudioParam","deleteAnyConnection","audioNodeConnectionsOfSource","destinations","deleteConnectionAtOutput","deleteConnectionToDestination","createAudioNodeConstructor","addAudioNodeConnections","addConnectionToAudioNode","createIncrementCycleCounter","createInvalidAccessError","decrementCycleCounter","detectCycles","eventTargetConstructor","isNativeAudioContext","isNativeAudioParam","isPassive","createAudioParamFactory","addAudioParamConnections","audioParamAudioNodeStore","audioParamStore","createAudioParamRenderer","setValueAtTimeUntilPossible","isAudioParamOfOfflineAudioContext","maxValue","minValue","automationEventList","previousLastEvent","currentLastEvent","convertedValues","firstSample","lastSample","numberOfInterpolatedValues","interpolatedValues","timeOfLastSample","ReadOnlyMap","parameters","createAudioWorkletNodeConstructor","addUnrenderedAudioWorkletNode","createAudioWorkletNodeRenderer","createNativeAudioWorkletNode","getBackupOfflineAudioContext","sanitizeAudioWorkletNodeOptions","setActiveAudioWorkletNodeInputs","testAudioWorkletNodeOptionsClonability","processorConstructor","nativeAudioWorkletNode","audioWorkletNodeRenderer","nm","nativeOnProcessorError","copyFromChannel","channelNumber","bufferOffset","slicedInput","copyToChannel","createNestedArrays","x","y","arrays","getAudioWorkletProcessor","nodeToProcessorMap","processBuffer","renderedBuffer","outputChannelCount","numberOfInputChannels","numberOfOutputChannels","sum","processedBuffer","audioNodeConnections","audioWorkletProcessor","inputs","prmtrs","potentiallyEmptyInputs","activeSourceFlag","outputChannelSplitterNodeOutput","error","createAudioWorkletNodeRendererFactory","connectMultipleOutputs","createNativeChannelSplitterNode","deleteUnrenderedAudioWorkletNode","disconnectMultipleOutputs","renderNativeOfflineAudioContext","renderedNativeAudioNodes","processedBufferPromise","createAudioNode","nativeOutputNodes","nativeAudioWorkletNodeIsOwnedByContext","outputChannelSplitterNode","outputChannelMergerNodes","outputGainNode","numberOfParameters","partialOfflineAudioContext","gainNodes","inputChannelSplitterNodes","constantSourceNodes","inputChannelMergerNode","gainNode","audioBufferSourceNode","outputChannelMergerNode","renderedNativeAudioWorkletNodeOrGainNode","createBaseAudioContextConstructor","addAudioWorkletModule","analyserNodeConstructor","audioBufferConstructor","audioBufferSourceNodeConstructor","biquadFilterNodeConstructor","channelMergerNodeConstructor","channelSplitterNodeConstructor","constantSourceNodeConstructor","convolverNodeConstructor","decodeAudioData","delayNodeConstructor","dynamicsCompressorNodeConstructor","gainNodeConstructor","iIRFilterNodeConstructor","minimalBaseAudioContextConstructor","oscillatorNodeConstructor","pannerNodeConstructor","periodicWaveConstructor","stereoPannerNodeConstructor","waveShaperNodeConstructor","_nativeContext","numberOfInputs","numberOfOutputs","maxDelayTime","feedforward","feedback","real","imag","constraints","audioData","successCallback","errorCallback","createBiquadFilterNodeConstructor","createBiquadFilterNodeRenderer","createNativeBiquadFilterNode","setAudioNodeTailTime","nativeBiquadFilterNode","biquadFilterNodeRenderer","frequencyHz","magResponse","phaseResponse","createBiquadFilterNodeRendererFactory","renderedNativeBiquadFilterNodes","createBiquadFilterNode","nativeBiquadFilterNodeIsOwnedByContext","renderedNativeBiquadFilterNode","createCacheTestResult","ongoingTests","testResults","tester","test","cachedTestResult","ongoingTest","synchronousTestResult","finalTestResult","createChannelMergerNodeConstructor","createChannelMergerNodeRenderer","nativeChannelMergerNode","channelMergerNodeRenderer","createChannelMergerNodeRendererFactory","renderedNativeAudioNode","createChannelSplitterNodeConstructor","createChannelSplitterNodeRenderer","sanitizeChannelSplitterOptions","nativeChannelSplitterNode","channelSplitterNodeRenderer","createChannelSplitterNodeRendererFactory","createConnectAudioParam","renderInputsOfAudioParam","createConnectMultipleOutputs","outputAudioNodes","outputAudioNode","createConnectedNativeAudioBufferSourceNodeFactory","createConstantSourceNodeConstructor","createConstantSourceNodeRendererFactory","nativeConstantSourceNode","constantSourceNodeRenderer","renderedNativeConstantSourceNodes","createConstantSourceNode","nativeConstantSourceNodeIsOwnedByContext","renderedNativeConstantSourceNode","createConvertNumberToUnsignedLong","unit32Array","createConvolverNodeConstructor","createConvolverNodeRenderer","createNativeConvolverNode","nativeConvolverNode","convolverNodeRenderer","createConvolverNodeRendererFactory","renderedNativeConvolverNodes","createConvolverNode","renderedNativeConvolverNode","createCreateNativeOfflineAudioContext","createDataCloneError","detachArrayBuffer","arrayBuffer","port1","port2","closeAndResolve","createDecodeAudioData","createEncodingError","detachedArrayBuffers","isNativeContext","testPromiseSupport","anyContext","complete","fail","createDecrementCycleCounter","cycleCounters","cycleCounter","nativeDestinationAudioParam","createDelayNodeConstructor","createDelayNodeRenderer","createNativeDelayNode","nativeDelayNode","delayNodeRenderer","createDelayNodeRendererFactory","renderedNativeDelayNodes","createDelayNode","nativeDelayNodeIsOwnedByContext","renderedNativeDelayNode","createDeleteActiveInputConnectionToAudioNode","createDeleteUnrenderedAudioWorkletNode","isDelayNode","createDetectCycles","chain","nextLink","mergedCycles","nestedCycles","getOutputAudioNodeAtIndex","createDisconnectMultipleOutputs","createDynamicsCompressorNodeConstructor","createDynamicsCompressorNodeRenderer","createNativeDynamicsCompressorNode","nativeDynamicsCompressorNode","dynamicsCompressorNodeRenderer","previousChannelCount","createDynamicsCompressorNodeRendererFactory","renderedNativeDynamicsCompressorNodes","createDynamicsCompressorNode","nativeDynamicsCompressorNodeIsOwnedByContext","renderedNativeDynamicsCompressorNode","createEvaluateSource","head","script","originalOnErrorHandler","removeErrorEventListenerAndRevokeUrl","message","src","lineno","colno","createEventTargetConstructor","_nativeEventTarget","wrappedEventListener","createExposeCurrentFrameAndCurrentTime","currentTime","createFetchSource","response","createGainNodeConstructor","createGainNodeRenderer","gainNodeRenderer","createGainNodeRendererFactory","renderedNativeGainNodes","createGainNode","nativeGainNodeIsOwnedByContext","renderedNativeGainNode","createGetActiveAudioWorkletNodeInputs","activeAudioWorkletNodeInputsStore","createGetAudioNodeRenderer","createGetAudioNodeTailTime","audioNodeTailTimeStore","createGetAudioParamRenderer","createGetBackupOfflineAudioContext","backupOfflineAudioContextStore","createGetNativeContext","contextStore","createGetOrCreateBackupOfflineAudioContext","createGetUnrenderedAudioWorkletNodes","unrenderedAudioWorkletNodeStore","unrenderedAudioWorkletNodes","wrapIIRFilterNodeGetFrequencyResponseMethod","nativeIIRFilterNode","getFrequencyResponse","createIIRFilterNodeConstructor","createNativeIIRFilterNode","createIIRFilterNodeRenderer","iirFilterNodeRenderer","filterBuffer","feedbackLength","feedforwardLength","minLength","xBuffer","yBuffer","bufferIndex","bufferLength","inputLength","filterFullBuffer","convertedFeedback","convertedFeedforward","filteredBuffer","createIIRFilterNodeRendererFactory","filteredBufferPromise","nativeIIRFilterNodeIsOwnedByContext","createIncrementCycleCounterFactory","createIsAnyAudioContext","anything","createIsAnyAudioNode","audioNodeStore","createIsAnyAudioParam","createIsAnyOfflineAudioContext","createIsNativeAudioContext","createIsNativeAudioNode","createIsNativeAudioParam","createIsNativeContext","createIsNativeOfflineAudioContext","createIsSecureContext","createMediaElementAudioSourceNodeConstructor","createNativeMediaElementAudioSourceNode","nativeMediaElementAudioSourceNode","createMediaStreamAudioDestinationNodeConstructor","createNativeMediaStreamAudioDestinationNode","nativeMediaStreamAudioDestinationNode","createMediaStreamAudioSourceNodeConstructor","createNativeMediaStreamAudioSourceNode","nativeMediaStreamAudioSourceNode","createMediaStreamTrackAudioSourceNodeConstructor","createNativeMediaStreamTrackAudioSourceNode","nativeMediaStreamTrackAudioSourceNode","createMinimalBaseAudioContextConstructor","audioDestinationNodeConstructor","createAudioListener","nativeOnStateChange","uint32Array","createMonitorConnections","whenConnected","whenDisconnected","wasDisconnected","wasConnected","isDisconnected","assignNativeAudioNodeOption","option","assignNativeAudioNodeOptions","testAnalyserNodeGetFloatTimeDomainDataMethodSupport","wrapAnalyserNodeGetFloatTimeDomainDataMethod","byteTimeDomainData","createNativeAnalyserNodeFactory","createNativeAudioBufferConstructor","assignNativeAudioNodeAudioParamValue","wrapAudioBufferSourceNodeStartMethodConsecutiveCalls","isScheduled","wrapAudioScheduledSourceNodeStartMethodNegativeParameters","wrapAudioScheduledSourceNodeStopMethodNegativeParameters","createNativeAudioBufferSourceNodeFactory","addSilentConnection","testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport","testAudioBufferSourceNodeStartMethodOffsetClampingSupport","testAudioBufferSourceNodeStopMethodNullifiedBufferSupport","testAudioScheduledSourceNodeStartMethodNegativeParametersSupport","testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport","testAudioScheduledSourceNodeStopMethodNegativeParametersSupport","wrapAudioBufferSourceNodeStartMethodOffsetClampling","wrapAudioBufferSourceNodeStopMethodNullifiedBuffer","wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls","createNativeAudioContextConstructor","createNativeAudioDestinationNodeFactory","isNodeOfNativeOfflineAudioContext","createNativeAudioWorkletNodeConstructor","testClonabilityOfAudioWorkletNodeOptions","audioWorkletNodeOptions","createNativeAudioWorkletNodeFactory","createNativeAudioWorkletNodeFaker","monitorConnections","baseLatency","patchedEventListeners","onprocessorerror","unpatchedEventListener","patchedEventListener","computeBufferSize","cloneAudioWorkletNodeOptions","createAudioWorkletProcessorPromise","clonedAudioWorkletNodeOptions","createAudioWorkletProcessor","audioWorkletProcessorPromise","createNativeAudioWorkletNodeFakerFactory","getActiveAudioWorkletNodeInputs","messageChannel","bufferSize","parameterMap","channelInterpretation","nativeAudioWorkletNodeFaker","onmessage","dWrkltPrcssr","disconnectOutputsGraph","activeInputIndexes","outputBuffer","isConnected","disconnectFakeGraph","connectFakeGraph","createNativeChannelMergerNodeFactory","wrapChannelMergerNode","wrapChannelSplitterNode","channelSplitterNode","createNativeConstantSourceNodeFactory","createNativeConstantSourceNodeFaker","interceptConnections","original","interceptor","createNativeConstantSourceNodeFakerFactory","audioNodeOptions","nativeConstantSourceNodeFaker","createNativeConvolverNodeFactory","createNativeDynamicsCompressorNodeFactory","createNativeIIRFilterNodeFactory","createNativeIIRFilterNodeFaker","divide","denominator","multiply","evaluatePolynomial","coefficient","z","createNativeIIRFilterNodeFakerFactory","channelCountMode","bufferIndexes","xBuffers","yBuffers","nyquist","omega","numerator","audioStreamTracks","filteredAudioStreamTracks","createNativeMediaStreamTrackAudioSourceNodeFactory","createNativeOfflineAudioContextConstructor","createNativeOscillatorNodeFactory","nativeOscillatorNode","createNativePannerNodeFactory","createNativePannerNodeFaker","nativePannerNode","createNativePannerNodeFakerFactory","createNativeWaveShaperNode","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","orientationX","orientationY","orientationZ","panningModel","refDistance","rolloffFactor","pannerNode","SINGLE_CHANNEL_OPTIONS","inputGainNode","orientationXGainNode","orientationYGainNode","orientationZGainNode","positionXGainNode","positionYGainNode","positionZGainNode","waveShaperNode","nativePannerNodeFaker","createNativePeriodicWaveFactory","disableNormalization","convertedImag","convertedReal","nativePeriodicWave","createNativeStereoPannerNodeFactory","createNativeStereoPannerNodeFaker","nativeStereoPannerNode","createNativeStereoPannerNodeFakerFactory","DC_CURVE","HALF_PI","SINGLE_CHANNEL_WAVE_SHAPER_OPTIONS","buildInternalGraphForMono","panGainNode","leftWaveShaperCurve","rightWaveShaperCurve","leftGainNode","leftWaveShaperNode","panWaveShaperNode","rightGainNode","rightWaveShaperNode","buildInternalGraphForStereo","leftInputForLeftOutputWaveShaperCurve","leftInputForRightOutputWaveShaperCurve","rightInputForLeftOutputWaveShaperCurve","rightInputForRightOutputWaveShaperCurve","centerIndex","leftInputForLeftOutputGainNode","leftInputForLeftOutputWaveShaperNode","leftInputForRightOutputGainNode","leftInputForRightOutputWaveShaperNode","rightInputForLeftOutputGainNode","rightInputForLeftOutputWaveShaperNode","rightInputForRightOutputGainNode","rightInputForRightOutputWaveShaperNode","buildInternalGraph","pan","connectGraph","disconnectGraph","nativeStereoPannerNodeFakerFactory","createNativeWaveShaperNodeFactory","createConnectedNativeAudioBufferSourceNode","createNativeWaveShaperNodeFaker","isDCCurve","nativeWaveShaperNode","curve","disconnectNativeAudioBufferSourceNode","createNativeWaveShaperNodeFakerFactory","oversample","negativeWaveShaperNode","positiveWaveShaperNode","invertGainNode","revertGainNode","unmodifiedCurve","nativeWaveShaperNodeFaker","curveLength","negativeCurve","positiveCurve","createOfflineAudioContextConstructor","createNativeOfflineAudioContext","startRendering","delayStateChangeEvent","createOscillatorNodeConstructor","createNativeOscillatorNode","createOscillatorNodeRenderer","oscillatorNodeRenderer","periodicWave","createOscillatorNodeRendererFactory","renderedNativeOscillatorNodes","createOscillatorNode","nativeOscillatorNodeIsOwnedByContext","renderedNativeOscillatorNode","createPannerNodeConstructor","createNativePannerNode","createPannerNodeRenderer","pannerNodeRenderer","createPannerNodeRendererFactory","renderedBufferPromise","commonAudioNodeOptions","commonNativePannerNodeOptions","nativePannerNodeIsOwnedByContext","nativeConstantSourceNodes","channelDatas","gateGainNode","partialPannerNode","renderedNativeGainNodeOrNativePannerNode","createPeriodicWaveConstructor","createNativePeriodicWave","periodicWaveStore","sanitizePeriodicWaveOptions","PeriodicWave","createRenderAutomation","getAudioParamRenderer","createRenderInputsOfAudioNode","getAudioNodeRenderer","allRenderingPromises","renderingPromises","createRenderInputsOfAudioParam","createRenderNativeOfflineAudioContext","testOfflineAudioContextCurrentTimeSupport","isOfflineAudioContextCurrentTimeSupported","createSetActiveAudioWorkletNodeInputs","createSetAudioNodeTailTime","createStartRendering","createStereoPannerNodeConstructor","createNativeStereoPannerNode","createStereoPannerNodeRenderer","stereoPannerNodeRenderer","createStereoPannerNodeRendererFactory","renderedNativeStereoPannerNodes","createStereoPannerNode","nativeStereoPannerNodeIsOwnedByContext","renderedNativeStereoPannerNode","createTestAudioBufferConstructorSupport","createTestAudioWorkletProcessorPostMessageSupport","offlineAudioContext","isEmittingMessageEvents","isEmittingProcessorErrorEvents","oscillator","createTestOfflineAudioContextCurrentTimeSupport","createWaveShaperNodeConstructor","createWaveShaperNodeRenderer","waveShaperNodeRenderer","createWaveShaperNodeRendererFactory","renderedNativeWaveShaperNodes","createWaveShaperNode","renderedNativeWaveShaperNode","createWindow","createWrapAudioBufferCopyChannelMethods","convertNumberToUnsignedLong","channelNumberAsNumber","bufferOffsetAsNumber","audioBufferLength","destinationLength","sourceLength","createWrapAudioBufferCopyChannelMethodsOutOfBounds","createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer","nullifiedBuffer","createWrapChannelMergerNode","property","createGetter","createSetter","prototype","wrapAudioBufferSourceNodeStartMethodOffsetClamping","clampedOffset","disconnectGainNode","isStopped","createConstantSourceNodeRenderer","isSecureContext","audioContextConstructor","audioWorkletNodeConstructor","offlineAudioContextConstructor","isAnyAudioContext","isAnyAudioNode","isAnyAudioParam","isAnyOfflineAudioContext","isUndef","isDefined","isNumber","isNote","assert","statement","assertRange","gte","lte","assertContextRunning","warn","isInsideScheduledCallback","printedScheduledWarning","enterScheduledCallback","insideCallback","assertUsedScheduleTime","defaultLogger","log","createAudioContext","stdAudioContext","createOfflineAudioContext","channels","stdOfflineAudioContext","theWindow","hasAudioContext","createAudioWorkletNode","stdAudioWorkletNode","__decorate","decorators","desc","__awaiter","_arguments","P","generator","adopt","fulfilled","step","rejected","Ticker","updateInterval","contextSampleRate","blobUrl","worker","interval","isAudioParam","isOfflineAudioContext","isAudioContext","isAudioBuffer","noCopy","deepMerge","sources","deepEquals","arrayA","arrayB","optionsFromArguments","defaults","argsArray","objKey","opts","getDefaultsFromInstance","defaultArg","given","omitFromObject","omit","Tone","EPSILON","GT","GTE","EQ","LT","clamp","min","Timeline","lastValue","param","after","beginning","midPoint","nextEvent","testEvent","lowerBound","upperBound","notifyNewContext","onContextInit","initializeContext","notifyCloseContext","onContextClose","closeContext","Emitter","eventName","boundCallback","eventList","constr","BaseContext","Context","_b","feedForward","stream","t","constant","now","firstEvent","intervalFn","DummyContext","_numberOfChannels","_length","_sampleRate","_numberOfInputs","_numberOfOutputs","_maxDelayTime","_feedForward","_feedback","_real","_imag","_constraints","_stream","_element","_audioData","_name","_options","_url","_fn","_timeout","_interval","_val","_d","readOnly","writable","noOp","ToneAudioBuffer","getContext","doneLoading","isMultidimensional","multiChannelArray","chanNum","outputArray","numChannels","channelArray","startSamples","endSamples","retBuffer","rev","extensions","extension","ext","baseUrl","location","OfflineContext","asynchronous","yieldEvery","dummyContext","globalContext","setContext","disposeOld","printString","dbToGain","db","gainToDb","gain","intervalToFrequencyRatio","A4","getA4","setA4","freq","ftom","frequency","ftomf","mtof","midi","TimeBaseClass","units","dot","numericValue","scalar","q","total","typeName","quantity","expr","matching","beats","seconds","ticks","TimeClass","capture","quantTo","subdiv","percent","subdivision","testNotations","power","closest","closestSeconds","notation","notationSeconds","quarterTime","quarters","measures","sixteenths","sixteenthString","FrequencyClass","pitch","octave","noteNumber","noteToScaleIndex","intervals","scaleIndexToNote","Frequency","TransportTimeClass","ToneWithContext","attribute","member","StateTimeline","initial","Param","computedTime","previous","previousVal","beforeValue","currentVal","rampTime","scaling","startingValue","segTime","valueAtTime","previousEvent","subdivisions","t0","v0","v1","t1","ToneAudioNode","nodeList","outputNum","inputNum","nodes","connectSeries","first","srcNode","dstNode","outputNumber","inputNumber","Gain","OneShotSource","fadeInTime","fadeOutTime","additionalTail","disposeCallback","ToneConstantSource","Signal","connectSignal","convert","overridden","signal","TickParam","computedValue","prevEvent","rampVal","ticksUntilTime","computedVal","segmentDur","val0","val1","onTheLineEvent","currentTick","tick","delta","sol1","sol2","computedDuration","startTicks","TickSignal","TickSource","stopEvent","memoizedEvent","tmpEvent","lastState","elapsedTicks","eventToMemoize","periodStartTime","offsetEvent","elapsedSeconds","absoluteTicks","lastStateEvent","maxStartTime","ticksAtStart","nextTickTime","Clock","Delay","maxDelayInSeconds","ToneAudioBuffers","onerror","MidiClass","Midi","TicksClass","Draw","IntervalTimeline","IntervalNode","results","replacement","balance","temp","isLeftChild","pivotNode","allNodes","low","high","point","Volume","mute","Destination","TimelineValue","SignalOperator","WaveShaper","mapping","oversampling","isOverSampleType","Pow","exponent","TransportEvent","transport","tickDuration","TransportRepeatEvent","Transport","tickTime","progress","amount","eventId","timeline","computedAfter","offsetTicks","timeSig","startPosition","endPosition","loop","remainingTick","ppq","transportPos","remainingTicks","ratio","sourceValue","scaleFactor","scaleBefore","reciprocal","scaleAfter","ratioSignal","syncedSignal","Source","sched","stateEvent","startOffset","ToneBufferSource","computedOffset","loopEnd","loopStart","loopDuration","computedDur","Noise","_noiseBuffers","rate","BUFFER_LENGTH","NUM_CHANNELS","_noiseCache","channelNum","lastOut","white","b0","b1","b2","b3","b4","b5","b6","generateWaveform","ToneOscillatorNode","Oscillator","description","oscProps","isBasicType","partials","wave","baseType","partial","fullPartials","phase","periodicWaveSize","partialCount","piFactor","twoPi","testPositions","AudioToGain","Multiply","AMOscillator","FMOscillator","PulseOscillator","FatOscillator","osc","iterator","spread","PWMOscillator","OmniOscillatorSourceMap","OmniOscillator","prefix","oscType","OscConstructor","oldOsc","sType","sourceType","mType","Add","Scale","Zero","LFO","currentMin","currentMax","range","valueMap","propertyKey","timeRange","Player","origDuration","GainToAudio","Envelope","direction","curveName","EnvelopeCurves","curveDef","velocity","attack","decay","currentValue","attackRate","decayValue","decayStart","release","attackPortion","envelopeDuration","sustainTime","totalDuration","cosineCurve","rippleCurve","rippleCurveFreq","sineWave","stairsCurve","steps","sineCurve","bounceCurve","invertCurve","out","reverseCurve","Instrument","changed","timePosition","originalMethod","note","Monophonic","computedFrequency","portTime","AmplitudeEnvelope","Synth","computedAttack","computedDecay","BiquadFilter","freqValues","magValues","phaseValues","filterClone","Filter","rolloff","rolloffNum","possibilities","cascadingCount","totalResponse","FrequencyEnvelope","octaves","MonoSynth","MembraneSynth","hertz","maxNote","workletContext","addToWorklet","classOrFunction","registerProcessor","classDesc","processor","toneAudioWorkletProcessor","singleIOProcess","delayLine","workletName","feedbackCombFilter","PolySynth","voice","activeVoiceIndex","firstAvail","notes","midiNote","released","durationSeconds","sanitizedOptions","Sampler","urlMap","mid","midiFloat","remainder","difference","closestNote","playbackRate","CrossFade","Effect","LFOEffect","Panner","AutoPanner","bitCrusherWorklet","Merge","FeedbackEffect","FeedbackDelay","Reverb","previousReady","noiseL","noiseR","merge","renderPromise","Solo","solo","PanVol","Channel","volume","bus","sendKnob","Listener","Compressor","EventEmitter","eventsSuspended","listeners","params","Enumerations","Note","wm","Utilities","fragments","octaveOffset","semitoneOffset","identifier","accidental","ch","parsed","msb","lsb","multiplied","cm","OutputChannel","pressure","controller","parameter","valid","noteOffOptions","nVelocity","command","coarse","fine","semitones","cents","nrpn","program","rpn","Output","midiOutput","legacy","Message","identification","Forwarder","InputChannel","data1","data2","numberedEvent","namedEvent","paramMsb","paramLsb","subtype","legacyEvent","Input","midiInput","forwarder","WebMidi","errorEvent","midiAccessGrantedEvent","enabledEvent","promises","portsChangedEvent","nInput","nOutput","tryOnScopeDispose","toValue","isClient","toString","noop","isIOS","getIsIOS","createFilterWrapper","bypassFilter","invoke","pausableFilter","extendFilter","pause","resume","eventFilter","toRef$1","watchWithFilter","watchPausable","tryOnMounted","sync","unrefElement","elRef","plain","defaultWindow","defaultDocument","useEventListener","events","cleanups","options2","stopWatch","optionsClone","_iOSWorkaround","onClickOutside","ignore","detectIframe","shouldListen","shouldIgnore","target2","createKeyPredicate","keyFilter","onKeyStroke","passive","dedupe","onKeyDown","useMounted","useSupported","useRafFn","fpsLimit","intervalLimit","previousFrameTimestamp","rafId","timestamp","useMediaQuery","query","isSupported","mediaQuery","_global","globalKey","handlers","getHandlers","getSSRHandler","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","storage","listenToStorageChanges","writeDefaults","mergeDefaults","onError","_a2","serializer","pauseWatch","resumeWatch","pausableWatch","write","updateFromCustomEvent","serialized","read","usePreferredDark","useColorMode","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","styleString","defaultOnChanged","onChanged","auto","useDark","valueDark","valueLight","mode2","defaultHandler","modeVal","useResizeObserver","observerOptions","observer","targets","els","_el","useElementBounding","reset","windowResize","windowScroll","height","bottom","left","right","top","width","rect","ele","eventHandlers","useFullscreen","document","autoExit","targetRef","isFullscreen","requestMethod","exitMethod","fullscreenEnabled","fullscreenElementMethod","isCurrentElementFullScreen","isElementFullScreen","exit","enter","toggle","handlerCallback","isElementFullScreenValue","noteKeys","useKeyboard","playMidi","off","title","ev","noteInOn","_c","dur","useMidi","setupMidi","outs","midiAttack","midiRelease","midiOnce","setCC","initMidi","cc","ccIn","createChannel","setVelocity","midiPlay","midiStop","forwardMidi","iid","oid","useClamp","_value","value2","synth","synthOptions","useSynth","synthReleaseAll","bpm","synthAttack","synthRelease","play","init","synthOnce","started","bpms","types","pitchColor","alpha","getCircleCoord","radius","angle","block0","__props","color","panel","isDark","full","supported","cycleOctaves","oct","F2","G2","fastFloor","grad2","createNoise2D","random","perm","buildPermutationTable","permGrad2x","permGrad2y","n0","X0","Y0","x0","y0","i1","j1","x1","y1","x2","y2","ii","jj","gi0","g0x","g0y","gi1","g1x","g1y","t2","gi2","g2x","g2y","aux","__classPrivateFieldSet","this","privateMap","__classPrivateFieldGet","_block","_blocks","_bytes","_finalized","_first","_h0","_h1","_h2","_h3","_h4","_h5","_h6","_h7","_hashed","_hBytes","_is224","_lastByteIndex","_start","BKDRHash","seed","seed2","hash","MAX_SAFE_INTEGER","HEX_CHARS","EXTRA","SHIFT","K","blocks","Sha256","is224","sharedMemory","msg","code","f","g","s0","maj","ab","cd","bc","h0","h1","h3","h4","h5","h6","h7","hex","dataView","Sha256ToInt","sha256","RGB2HEX","RGBArray","HSL2RGB","H","S","L","ColorHash","hueResolution","hsl","rgb","__pages_import_0__","__vitePreload","stats","__pages_import_1__","spiral","__pages_import_2__","rose","__pages_import_3__","level","__pages_import_4__","__pages_import_5__","donut","__pages_import_6__","cross","routes","visual","activeScene","useScene","isBrowser","isESModule","applyToParams","newParams","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","searchString","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","position","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","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","optional","regexp","re","subPattern","parse","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","parser","matcher","createRouterMatcher","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","partialOptions","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","decode","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","enterCallbackArray","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","link","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","depth","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","runWithContext","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorListeners","ready","isReady","scrollBehavior","reactiveRoute","unmountApp","recordFrom","recordTo","useRouter","useRoute","noise2D","getColor","color1","color2","hits","randomScene","rnd","scs","scenes","getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","_ref","reference","floating","commonX","commonY","coords","mainAxis","computePosition","config","strategy","middleware","platform","rects","statefulPlacement","middlewareData","nextX","nextY","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","detectOverflow","middlewareArguments","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","elementClientRect","within","min$1","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","hash$1","getOppositePlacement","getAlignmentSides","isStart","mainAlignmentSide","getOppositeAlignmentPlacement","basePlacements","allPlacements","acc","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentPlacement","main","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","getBoundingClientRect","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","_node$ownerDocument","scrollParent","isBody","updatedList","contains","rootNode","getInnerBoundingClientRect","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","_ref2","_ref3","_ref4","_ref5","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","getDefaultConfig","theme","themeConfig","getThemeClasses","supportsPassive","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","shownPoppers","hidingPopper","Element","defaultPropFactory","PrivatePopper","skipDelay","isPlacementAuto","centerOffset","delay","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","addListeners2","targetNodes","eventType","addEvents","eventMap","commonTriggers","customTrigger","triggers","handleShow","handleHide","touch","attrFrom","attrTo","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","_withId","_hoisted_1$2","_ctx","_cache","$props","$setup","$data","$options","PrivateThemeClass","_export_sfc","sfc","_sfc_main$5","_hoisted_1$1","_hoisted_2$1","_hoisted_3","createElementVNode","_hoisted_4","_hoisted_5","_sfc_render$2","_component_ResizeObserver","$event","PrivatePopperContent","PrivatePopperMethods","_sfc_main$4","_sfc_render$1","_component_PopperContent","_component_Popper","popperId","isShown","shouldMountContent","autoHide","show","hide","handleResize","onResize","classes","PrivatePopperWrapper","_sfc_main$3","_sfc_main$2","_sfc_main$1","_sfc_main","fetchId","_hoisted_1","_hoisted_2","_sfc_render","PrivateTooltipDirective","TARGET_CLASS","getPlacement","pos","getOptions","directiveApp","ensureDirectiveApp","mountTarget","createTooltip","shown","destroyTooltip","bind","PrivateVTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","firstTouch","PrivateVClosePopper","install","savedPosition","App","FloatingVue","lines","active","useActor","actor","actors","arc","getPolar","polarToCartesian","pill","centerX","centerY","angleInDegrees","angleInRadians","totalDur","parts","part"],"sources":["../../node_modules/.pnpm/@vue+shared@3.3.7/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/.pnpm/@vue+reactivity@3.3.7/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-core@3.3.7/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-dom@3.3.7/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../../../../../../../pc-keyboard.svg","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/version.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-target-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/any-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-of-automation-event-at-index-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-end-time-and-value-of-previous-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-event-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-exponential-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-linear-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/interpolate-value.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-curve-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-target-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/classes/automation-event-list.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-target-automation-event.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/abort-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/globals.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-constructible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/split-import-statements.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-worklet-module.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-value-for-key.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/pick-element-from-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-active.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive-when-necessary.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-silent-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-owned-by-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/index-size-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-get-channel-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/constants.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-active-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-buffer-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/constant-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/oscillator-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/stereo-panner-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-active-audio-node-input-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-audio-graph.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-valid-latency-hint.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-listener-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node-output-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/insert-element-in-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node-faker.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/connect-native-audio-node-to-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/disconnect-native-audio-node-from-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-part-of-a-cycle.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-passive-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-node-disconnect-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/visit-each-audio-node-once.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-node-disconnect-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/read-only-map.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-from-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-to-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-nested-arrays.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/cache-test-result.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connected-native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convert-number-to-unsigned-long.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/create-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/data-clone-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/detach-array-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decode-audio-data.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decrement-cycle-counter.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/detect-cycles.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/disconnect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/encoding-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/evaluate-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/event-target-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/expose-current-frame-and-current-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/fetch-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-state-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-or-create-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-unrendered-audio-worklet-nodes.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-access-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-iir-filter-node-get-frequency-response-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/filter-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/increment-cycle-counter-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-secure-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-element-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-track-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/minimal-base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-promise-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/monitor-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-option.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-analyser-node-get-float-time-domain-data-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-analyser-node-get-float-time-domain-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-analyser-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-audio-param-value.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-start-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-clonability-of-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/compute-buffer-size.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/clone-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor-promise.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-merger-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/intercept-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-convolver-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-dynamics-compressor-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-element-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-track-audio-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-oscillator-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-periodic-wave-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-script-processor-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/not-supported-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/periodic-wave-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-automation.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/start-rendering.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-buffer-constructor-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-worklet-processor-post-message-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-offline-audio-context-current-time-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/unknown-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/window.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-source-node-stop-method-nullified-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-channel-merger-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-first-sample.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-dc-curve.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/overwrite-accessors.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-channel-splitter-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-periodic-wave-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-value-at-time-until-possible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-offset-clamping-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-stop-method-nullified-buffer-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-start-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-worklet-node-options-clonability.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-offset-clamping.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-event-listener.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/module.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Debug.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/AudioContext.js","../../node_modules/.pnpm/tslib@2.4.0/node_modules/tslib/tslib.es6.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Ticker.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/AdvancedTypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Defaults.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Tone.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Math.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Timeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ContextInitialization.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Emitter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/BaseContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Context.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/DummyContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Interface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffer.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/OfflineContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Global.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Conversions.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TimeBase.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Time.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Frequency.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TransportTime.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneWithContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/StateTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Param.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Gain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/OneShotSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/ToneConstantSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Signal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickParam.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSignal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Clock.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Delay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffers.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Midi.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Ticks.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Draw.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/IntervalTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Volume.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Destination.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TimelineValue.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/SignalOperator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/WaveShaper.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Pow.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportRepeatEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Transport.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Source.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/ToneBufferSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Noise.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OscillatorInterface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/ToneOscillatorNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/Oscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/AudioToGain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Multiply.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/AMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PulseOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FatOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PWMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OmniOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Add.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Scale.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Zero.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/LFO.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Decorator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/Player.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/GainToAudio.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/Envelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Instrument.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Monophonic.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/AmplitudeEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Synth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/BiquadFilter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/Filter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/FrequencyEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MonoSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MembraneSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/WorkletGlobalScope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/SingleIOProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/DelayLine.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/FeedbackCombFilter.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/PolySynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Sampler.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/CrossFade.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Effect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/LFOEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Panner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/AutoPanner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/BitCrusher.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Merge.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackDelay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Reverb.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Solo.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/PanVol.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Channel.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Listener.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/dynamics/Compressor.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/index.js","../../node_modules/.pnpm/webmidi@3.1.6/node_modules/webmidi/dist/esm/webmidi.esm.js","../../node_modules/.pnpm/@vueuse+shared@10.5.0_vue@3.3.7/node_modules/@vueuse/shared/index.mjs","../../node_modules/.pnpm/@vueuse+core@10.5.0_vue@3.3.7/node_modules/@vueuse/core/index.mjs","../../src/use/midi.js","../../node_modules/.pnpm/@vueuse+math@10.5.0_vue@3.3.7/node_modules/@vueuse/math/index.mjs","../../src/use/synth.js","../../src/components/state/start.vue","../../src/components/state/bpm.vue","../../src/components/state/oscillator.vue","../../src/use/chromatone.js","../../../../../../../../../@vite-plugin-pages/route-block","../../src/components/midi/log.vue","../../src/components/midi/input.vue","../../src/components/midi/panel.vue","../../src/components/midi/state.vue","../../src/use/state.js","../../src/components/state/fullscreen.vue","../../src/components/state/overlay.vue","../../node_modules/.pnpm/simplex-noise@4.0.1/node_modules/simplex-noise/dist/esm/simplex-noise.js","../../node_modules/.pnpm/color-hash@2.0.2/node_modules/color-hash/dist/esm.js","../../../../../../../../../@vite-plugin-pages/generated-pages?id=~pages","../../src/use/scene.js","../../node_modules/.pnpm/vue-router@4.2.5_vue@3.3.7/node_modules/vue-router/dist/vue-router.mjs","../../src/app.vue","../../node_modules/.pnpm/@floating-ui+core@0.3.1/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../node_modules/.pnpm/@floating-ui+dom@0.1.10/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../../node_modules/.pnpm/floating-vue@2.0.0-y.0_vue@3.3.7/node_modules/floating-vue/dist/floating-vue.es.js","../../src/main.js","../../src/scenes/stats.vue","../../src/scenes/spiral.vue","../../src/scenes/rose.vue","../../src/scenes/level.vue","../../src/scenes/index.vue","../../src/components/scene/ring.vue","../../src/scenes/donut.vue","../../src/scenes/cross.vue"],"sourcesContent":["function makeMap(str, expectsLowerCase) {\n const map = /* @__PURE__ */ Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[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 onRE = /^on[^a-z]/;\nconst isOn = (key) => onRE.test(key);\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) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\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 PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `HYDRATE_EVENTS`,\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 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\";\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 const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\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 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 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,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\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 = /^-?>||--!>| 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((entries, [key, val2]) => {\n entries[`${key} =>`] = val2;\n return entries;\n }, {})\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, 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, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, 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","import { extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction, 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\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\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\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;\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 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());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\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 const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.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 const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _shallow = false) {\n this._isReadonly = _isReadonly;\n this._shallow = _shallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, shallow = this._shallow;\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 shallow;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\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 (shallow) {\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(shallow = false) {\n super(false, shallow);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!this._shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\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(shallow = false) {\n super(true, shallow);\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 console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : 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 = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\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 console.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 console.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 isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\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, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(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 console.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\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\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 trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\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 console.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\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, 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, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, capitalize, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } 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(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\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.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(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\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://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\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 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}\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[type] : 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 callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\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[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`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(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 (!!(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)];\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 activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\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 warn(\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 );\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.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 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;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.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(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\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 && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\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(\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(\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(\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(event)}\" 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 props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(\n render.call(\n proxyToUse,\n proxyToUse,\n renderCache,\n 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 props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\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);\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(\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(\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(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\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(\n `Component inside 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);\n if (!childRoot) {\n return [vnode, void 0];\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) {\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 }\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 && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\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, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\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, isSVG, 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 isSVG,\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 isSVG,\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 isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, 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 isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\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 isSVG,\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 isSVG,\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 isSVG,\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 isSVG,\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 isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\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, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` 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 == null ? void 0 : 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 suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\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(pendingBranch, container2, anchor2, 0);\n queuePostFlushCb(effects);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 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, isSVG: isSVG2 } = 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 isSVG2,\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 isSVG,\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, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\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) {\n warn(` 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 const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\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(\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, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n 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 instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(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 (instance && instance.isUnmounted) {\n return;\n }\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 };\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) {\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, scheduler);\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 const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\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 cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\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, seen) {\n if (!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 if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.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 let prevTransitionKey;\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(\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\"))\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(`invalid 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 let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\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 return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode;\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(\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 /* do not throw in dev if user provided error component */\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 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, isSVG, 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 isSVG,\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(`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 setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\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[type].replace(/ hook$/, \"\"));\n warn(\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\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 /* do not include inferred name to avoid breaking existing code */\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(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\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 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(`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(\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(`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 = () => queueJob(i.update)),\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 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, \"get\", key);\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(\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(\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(`Cannot mutate \n\n\n\n","\n\n","\n\n\n\n","export const midiA = 69\n\nexport const notes = ['A', 'A#', 'B', 'C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#',]\n\n\nexport function pitchNoteOctave(pitch) {\n return {\n note: pitch > 0 ? pitch % 12 : 12 + (pitch % 12),\n octave: Math.floor(pitch / 12) + 4,\n }\n}\n\nexport function pitchFreq(\n pitch = 0,\n octave = 3,\n middleA = 440,\n tuning = 'equal',\n) {\n let hz = 0\n const justCents = [0, 112, 204, 316, 386, 498, 590, 702, 814, 884, 1017, 1088]\n if (tuning == 'equal') {\n hz = Number(middleA * Math.pow(2, octave - 3 + pitch / 12))\n }\n if (tuning == 'just') {\n let diff = Number(Math.pow(Math.pow(2, 1 / 1200), justCents[pitch]))\n hz = Number(middleA * Math.pow(2, octave - 4) * diff)\n }\n return hz\n}\n\nexport function pitchColor(pitch = 0, octave, velocity = 1, alpha = 1) {\n octave = octave || Math.floor(pitch / 12) + 4\n return `hsla(${(pitch % 12) * 30},${velocity * 100}%,${Math.abs(octave + 2) * 8\n }%,${alpha})`\n}\n\nexport function freqColor(freq) {\n return pitchColor(freqPitch(freq))\n}\n\nexport function freqPitch(freq, middleA = 440) {\n return 12 * (Math.log(freq / middleA) / Math.log(2))\n}\n\nexport function isInChroma(chroma, tonic, note) {\n return chroma.split('')[(24 + note - tonic) % 12] == '1'\n}\n\nexport function getCircleCoord(n = 0, total = 12, radius = 35, width = 100, height = 100) {\n let angle = ((n - total / 4) / (total / 2)) * Math.PI // Calculate the angle at which the element will be placed.\n // For a semicircle, we would use (i / numNodes) * Math.PI.\n let x = radius * Math.cos(angle) + width / 2 // Calculate the x position of the element.\n let y = radius * Math.sin(angle) + height / 2 // Calculate the y position of the element.\n return { x, y }\n}\n\nexport function rotateArray(arr, count = 1) {\n return [...arr.slice(count, arr.length), ...arr.slice(0, count)]\n}\n\nexport function clampNum(main, delta, min = 0, max = 100) {\n return Math.max(min, Math.min(Number(main) + Number(delta), max));\n}","export default {};","\n\n\n\n\n\n\n\ntitle: Log\nsubtitle: by Chromatone \n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n","import { useDark } from '@vueuse/core'\nimport { getDestination, gainToDb } from 'tone'\n\nexport const isDark = useDark()\n\nconst audio = reactive({\n initiated: false,\n mute: useStorage('mute', false),\n volume: useClamp(useStorage('main-vol', 1), 0, 1),\n})\n\n\nexport function useAudio() {\n if (!audio.initiated) {\n watchEffect(() => {\n getDestination().mute = audio.mute\n })\n\n watchEffect(() => {\n getDestination().volume.targetRampTo(gainToDb(audio.volume), 0.1)\n })\n }\n audio.initiated = true\n return audio\n}","\n\n\n\n","\n\n\n\n","/*\n * A fast javascript implementation of simplex noise by Jonas Wagner\n\nBased on a speed-improved simplex noise algorithm for 2D, 3D and 4D in Java.\nWhich is based on example code by Stefan Gustavson (stegu@itn.liu.se).\nWith Optimisations by Peter Eastman (peastman@drizzle.stanford.edu).\nBetter rank ordering method by Stefan Gustavson in 2012.\n\n Copyright (c) 2022 Jonas Wagner\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n// these #__PURE__ comments help uglifyjs with dead code removal\n// \nconst F2 = /*#__PURE__*/ 0.5 * (Math.sqrt(3.0) - 1.0);\nconst G2 = /*#__PURE__*/ (3.0 - Math.sqrt(3.0)) / 6.0;\nconst F3 = 1.0 / 3.0;\nconst G3 = 1.0 / 6.0;\nconst F4 = /*#__PURE__*/ (Math.sqrt(5.0) - 1.0) / 4.0;\nconst G4 = /*#__PURE__*/ (5.0 - Math.sqrt(5.0)) / 20.0;\n// I'm really not sure why this | 0 (basically a coercion to int)\n// is making this faster but I get ~5 million ops/sec more on the\n// benchmarks across the board or a ~10% speedup.\nconst fastFloor = (x) => Math.floor(x) | 0;\nconst grad2 = /*#__PURE__*/ new Float64Array([1, 1,\n -1, 1,\n 1, -1,\n -1, -1,\n 1, 0,\n -1, 0,\n 1, 0,\n -1, 0,\n 0, 1,\n 0, -1,\n 0, 1,\n 0, -1]);\n// double seems to be faster than single or int's\n// probably because most operations are in double precision\nconst grad3 = /*#__PURE__*/ new Float64Array([1, 1, 0,\n -1, 1, 0,\n 1, -1, 0,\n -1, -1, 0,\n 1, 0, 1,\n -1, 0, 1,\n 1, 0, -1,\n -1, 0, -1,\n 0, 1, 1,\n 0, -1, 1,\n 0, 1, -1,\n 0, -1, -1]);\n// double is a bit quicker here as well\nconst grad4 = /*#__PURE__*/ new Float64Array([0, 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1,\n 0, -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1,\n 1, 0, 1, 1, 1, 0, 1, -1, 1, 0, -1, 1, 1, 0, -1, -1,\n -1, 0, 1, 1, -1, 0, 1, -1, -1, 0, -1, 1, -1, 0, -1, -1,\n 1, 1, 0, 1, 1, 1, 0, -1, 1, -1, 0, 1, 1, -1, 0, -1,\n -1, 1, 0, 1, -1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, -1,\n 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1, 0,\n -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1, 0]);\n/**\n * Creates a 2D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction2D}\n */\nexport function createNoise2D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating this yields a little ~3% performance improvement.\n const permGrad2x = new Float64Array(perm).map(v => grad2[(v % 12) * 2]);\n const permGrad2y = new Float64Array(perm).map(v => grad2[(v % 12) * 2 + 1]);\n return function noise2D(x, y) {\n // if(!isFinite(x) || !isFinite(y)) return 0;\n let n0 = 0; // Noise contributions from the three corners\n let n1 = 0;\n let n2 = 0;\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y) * F2; // Hairy factor for 2D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const t = (i + j) * G2;\n const X0 = i - t; // Unskew the cell origin back to (x,y) space\n const Y0 = j - t;\n const x0 = x - X0; // The x,y distances from the cell origin\n const y0 = y - Y0;\n // For the 2D case, the simplex shape is an equilateral triangle.\n // Determine which simplex we are in.\n let i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords\n if (x0 > y0) {\n i1 = 1;\n j1 = 0;\n } // lower triangle, XY order: (0,0)->(1,0)->(1,1)\n else {\n i1 = 0;\n j1 = 1;\n } // upper triangle, YX order: (0,0)->(0,1)->(1,1)\n // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and\n // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where\n // c = (3-sqrt(3))/6\n const x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords\n const y1 = y0 - j1 + G2;\n const x2 = x0 - 1.0 + 2.0 * G2; // Offsets for last corner in (x,y) unskewed coords\n const y2 = y0 - 1.0 + 2.0 * G2;\n // Work out the hashed gradient indices of the three simplex corners\n const ii = i & 255;\n const jj = j & 255;\n // Calculate the contribution from the three corners\n let t0 = 0.5 - x0 * x0 - y0 * y0;\n if (t0 >= 0) {\n const gi0 = ii + perm[jj];\n const g0x = permGrad2x[gi0];\n const g0y = permGrad2y[gi0];\n t0 *= t0;\n // n0 = t0 * t0 * (grad2[gi0] * x0 + grad2[gi0 + 1] * y0); // (x,y) of grad3 used for 2D gradient\n n0 = t0 * t0 * (g0x * x0 + g0y * y0);\n }\n let t1 = 0.5 - x1 * x1 - y1 * y1;\n if (t1 >= 0) {\n const gi1 = ii + i1 + perm[jj + j1];\n const g1x = permGrad2x[gi1];\n const g1y = permGrad2y[gi1];\n t1 *= t1;\n // n1 = t1 * t1 * (grad2[gi1] * x1 + grad2[gi1 + 1] * y1);\n n1 = t1 * t1 * (g1x * x1 + g1y * y1);\n }\n let t2 = 0.5 - x2 * x2 - y2 * y2;\n if (t2 >= 0) {\n const gi2 = ii + 1 + perm[jj + 1];\n const g2x = permGrad2x[gi2];\n const g2y = permGrad2y[gi2];\n t2 *= t2;\n // n2 = t2 * t2 * (grad2[gi2] * x2 + grad2[gi2 + 1] * y2);\n n2 = t2 * t2 * (g2x * x2 + g2y * y2);\n }\n // Add contributions from each corner to get the final noise value.\n // The result is scaled to return values in the interval [-1,1].\n return 70.0 * (n0 + n1 + n2);\n };\n}\n/**\n * Creates a 3D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction3D}\n */\nexport function createNoise3D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating these seems to yield a speedup of over 15%\n const permGrad3x = new Float64Array(perm).map(v => grad3[(v % 12) * 3]);\n const permGrad3y = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 1]);\n const permGrad3z = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 2]);\n return function noise3D(x, y, z) {\n let n0, n1, n2, n3; // Noise contributions from the four corners\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y + z) * F3; // Very nice and simple skew factor for 3D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const t = (i + j + k) * G3;\n const X0 = i - t; // Unskew the cell origin back to (x,y,z) space\n const Y0 = j - t;\n const Z0 = k - t;\n const x0 = x - X0; // The x,y,z distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n // For the 3D case, the simplex shape is a slightly irregular tetrahedron.\n // Determine which simplex we are in.\n let i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords\n let i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords\n if (x0 >= y0) {\n if (y0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 1;\n k2 = 0;\n } // X Y Z order\n else if (x0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // X Z Y order\n else {\n i1 = 0;\n j1 = 0;\n k1 = 1;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // Z X Y order\n }\n else { // x0 grad4[(v % 32) * 4]);\n const permGrad4y = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 1]);\n const permGrad4z = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 2]);\n const permGrad4w = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 3]);\n return function noise4D(x, y, z, w) {\n let n0, n1, n2, n3, n4; // Noise contributions from the five corners\n // Skew the (x,y,z,w) space to determine which cell of 24 simplices we're in\n const s = (x + y + z + w) * F4; // Factor for 4D skewing\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const l = fastFloor(w + s);\n const t = (i + j + k + l) * G4; // Factor for 4D unskewing\n const X0 = i - t; // Unskew the cell origin back to (x,y,z,w) space\n const Y0 = j - t;\n const Z0 = k - t;\n const W0 = l - t;\n const x0 = x - X0; // The x,y,z,w distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n const w0 = w - W0;\n // For the 4D case, the simplex is a 4D shape I won't even try to describe.\n // To find out which of the 24 possible simplices we're in, we need to\n // determine the magnitude ordering of x0, y0, z0 and w0.\n // Six pair-wise comparisons are performed between each possible pair\n // of the four coordinates, and the results are used to rank the numbers.\n let rankx = 0;\n let ranky = 0;\n let rankz = 0;\n let rankw = 0;\n if (x0 > y0)\n rankx++;\n else\n ranky++;\n if (x0 > z0)\n rankx++;\n else\n rankz++;\n if (x0 > w0)\n rankx++;\n else\n rankw++;\n if (y0 > z0)\n ranky++;\n else\n rankz++;\n if (y0 > w0)\n ranky++;\n else\n rankw++;\n if (z0 > w0)\n rankz++;\n else\n rankw++;\n // simplex[c] is a 4-vector with the numbers 0, 1, 2 and 3 in some order.\n // Many values of c will never occur, since e.g. x>y>z>w makes x= 3 ? 1 : 0;\n const j1 = ranky >= 3 ? 1 : 0;\n const k1 = rankz >= 3 ? 1 : 0;\n const l1 = rankw >= 3 ? 1 : 0;\n // The integer offsets for the third simplex corner\n const i2 = rankx >= 2 ? 1 : 0;\n const j2 = ranky >= 2 ? 1 : 0;\n const k2 = rankz >= 2 ? 1 : 0;\n const l2 = rankw >= 2 ? 1 : 0;\n // The integer offsets for the fourth simplex corner\n const i3 = rankx >= 1 ? 1 : 0;\n const j3 = ranky >= 1 ? 1 : 0;\n const k3 = rankz >= 1 ? 1 : 0;\n const l3 = rankw >= 1 ? 1 : 0;\n // The fifth corner has all coordinate offsets = 1, so no need to compute that.\n const x1 = x0 - i1 + G4; // Offsets for second corner in (x,y,z,w) coords\n const y1 = y0 - j1 + G4;\n const z1 = z0 - k1 + G4;\n const w1 = w0 - l1 + G4;\n const x2 = x0 - i2 + 2.0 * G4; // Offsets for third corner in (x,y,z,w) coords\n const y2 = y0 - j2 + 2.0 * G4;\n const z2 = z0 - k2 + 2.0 * G4;\n const w2 = w0 - l2 + 2.0 * G4;\n const x3 = x0 - i3 + 3.0 * G4; // Offsets for fourth corner in (x,y,z,w) coords\n const y3 = y0 - j3 + 3.0 * G4;\n const z3 = z0 - k3 + 3.0 * G4;\n const w3 = w0 - l3 + 3.0 * G4;\n const x4 = x0 - 1.0 + 4.0 * G4; // Offsets for last corner in (x,y,z,w) coords\n const y4 = y0 - 1.0 + 4.0 * G4;\n const z4 = z0 - 1.0 + 4.0 * G4;\n const w4 = w0 - 1.0 + 4.0 * G4;\n // Work out the hashed gradient indices of the five simplex corners\n const ii = i & 255;\n const jj = j & 255;\n const kk = k & 255;\n const ll = l & 255;\n // Calculate the contribution from the five corners\n let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0;\n if (t0 < 0)\n n0 = 0.0;\n else {\n const gi0 = ii + perm[jj + perm[kk + perm[ll]]];\n t0 *= t0;\n n0 = t0 * t0 * (permGrad4x[gi0] * x0 + permGrad4y[gi0] * y0 + permGrad4z[gi0] * z0 + permGrad4w[gi0] * w0);\n }\n let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1;\n if (t1 < 0)\n n1 = 0.0;\n else {\n const gi1 = ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]];\n t1 *= t1;\n n1 = t1 * t1 * (permGrad4x[gi1] * x1 + permGrad4y[gi1] * y1 + permGrad4z[gi1] * z1 + permGrad4w[gi1] * w1);\n }\n let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2;\n if (t2 < 0)\n n2 = 0.0;\n else {\n const gi2 = ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]];\n t2 *= t2;\n n2 = t2 * t2 * (permGrad4x[gi2] * x2 + permGrad4y[gi2] * y2 + permGrad4z[gi2] * z2 + permGrad4w[gi2] * w2);\n }\n let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3;\n if (t3 < 0)\n n3 = 0.0;\n else {\n const gi3 = ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]];\n t3 *= t3;\n n3 = t3 * t3 * (permGrad4x[gi3] * x3 + permGrad4y[gi3] * y3 + permGrad4z[gi3] * z3 + permGrad4w[gi3] * w3);\n }\n let t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4;\n if (t4 < 0)\n n4 = 0.0;\n else {\n const gi4 = ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]];\n t4 *= t4;\n n4 = t4 * t4 * (permGrad4x[gi4] * x4 + permGrad4y[gi4] * y4 + permGrad4z[gi4] * z4 + permGrad4w[gi4] * w4);\n }\n // Sum up and scale the result to cover the range [-1,1]\n return 27.0 * (n0 + n1 + n2 + n3 + n4);\n };\n}\n/**\n * Builds a random permutation table.\n * This is exported only for (internal) testing purposes.\n * Do not rely on this export.\n * @private\n */\nexport function buildPermutationTable(random) {\n const tableSize = 512;\n const p = new Uint8Array(tableSize);\n for (let i = 0; i < tableSize / 2; i++) {\n p[i] = i;\n }\n for (let i = 0; i < tableSize / 2 - 1; i++) {\n const r = i + ~~(random() * (256 - i));\n const aux = p[i];\n p[i] = p[r];\n p[r] = aux;\n }\n for (let i = 256; i < tableSize; i++) {\n p[i] = p[i - 256];\n }\n return p;\n}\n//# sourceMappingURL=simplex-noise.js.map","// deno-fmt-ignore-file\n// deno-lint-ignore-file\n// This code was bundled using `deno bundle` and it's not recommended to edit it manually\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n};\nvar _block, _blocks, _bytes, _finalized, _first, _h0, _h1, _h2, _h3, _h4, _h5, _h6, _h7, _hashed, _hBytes, _is224, _lastByteIndex, _start;\nconst BKDRHash = function (str) {\n var seed = 131;\n var seed2 = 137;\n var hash = 0;\n str += 'x';\n var MAX_SAFE_INTEGER = Math.floor(9007199254740991 / seed2);\n for (let i = 0; i < str.length; i++) {\n if (hash > MAX_SAFE_INTEGER) {\n hash = Math.floor(hash / seed2);\n }\n hash = hash * seed + str.charCodeAt(i);\n }\n return hash;\n};\nconst HEX_CHARS = \"0123456789abcdef\".split(\"\");\nconst EXTRA = [\n -2147483648,\n 8388608,\n 32768,\n 128\n];\nconst SHIFT = [\n 24,\n 16,\n 8,\n 0\n];\nconst K = [\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n];\nconst blocks = [];\nclass Sha256 {\n constructor(is224 = false, sharedMemory = false) {\n _block.set(this, void 0);\n _blocks.set(this, void 0);\n _bytes.set(this, void 0);\n _finalized.set(this, void 0);\n _first.set(this, void 0);\n _h0.set(this, void 0);\n _h1.set(this, void 0);\n _h2.set(this, void 0);\n _h3.set(this, void 0);\n _h4.set(this, void 0);\n _h5.set(this, void 0);\n _h6.set(this, void 0);\n _h7.set(this, void 0);\n _hashed.set(this, void 0);\n _hBytes.set(this, void 0);\n _is224.set(this, void 0);\n _lastByteIndex.set(this, 0);\n _start.set(this, void 0);\n this.init(is224, sharedMemory);\n }\n init(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n __classPrivateFieldSet(this, _blocks, blocks);\n }\n else {\n __classPrivateFieldSet(this, _blocks, [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]);\n }\n if (is224) {\n __classPrivateFieldSet(this, _h0, 0xc1059ed8);\n __classPrivateFieldSet(this, _h1, 0x367cd507);\n __classPrivateFieldSet(this, _h2, 0x3070dd17);\n __classPrivateFieldSet(this, _h3, 0xf70e5939);\n __classPrivateFieldSet(this, _h4, 0xffc00b31);\n __classPrivateFieldSet(this, _h5, 0x68581511);\n __classPrivateFieldSet(this, _h6, 0x64f98fa7);\n __classPrivateFieldSet(this, _h7, 0xbefa4fa4);\n }\n else {\n __classPrivateFieldSet(this, _h0, 0x6a09e667);\n __classPrivateFieldSet(this, _h1, 0xbb67ae85);\n __classPrivateFieldSet(this, _h2, 0x3c6ef372);\n __classPrivateFieldSet(this, _h3, 0xa54ff53a);\n __classPrivateFieldSet(this, _h4, 0x510e527f);\n __classPrivateFieldSet(this, _h5, 0x9b05688c);\n __classPrivateFieldSet(this, _h6, 0x1f83d9ab);\n __classPrivateFieldSet(this, _h7, 0x5be0cd19);\n }\n __classPrivateFieldSet(this, _block, __classPrivateFieldSet(this, _start, __classPrivateFieldSet(this, _bytes, __classPrivateFieldSet(this, _hBytes, 0))));\n __classPrivateFieldSet(this, _finalized, __classPrivateFieldSet(this, _hashed, false));\n __classPrivateFieldSet(this, _first, true);\n __classPrivateFieldSet(this, _is224, is224);\n }\n update(message) {\n if (__classPrivateFieldGet(this, _finalized)) {\n return this;\n }\n let msg;\n if (message instanceof ArrayBuffer) {\n msg = new Uint8Array(message);\n }\n else {\n msg = message;\n }\n let index = 0;\n const length = msg.length;\n const blocks = __classPrivateFieldGet(this, _blocks);\n while (index < length) {\n let i;\n if (__classPrivateFieldGet(this, _hashed)) {\n __classPrivateFieldSet(this, _hashed, false);\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n if (typeof msg !== \"string\") {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n blocks[i >> 2] |= msg[index] << SHIFT[i++ & 3];\n }\n }\n else {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n let code = msg.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n }\n else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else {\n code = 0x10000 + ((code & 0x3ff) << 10 | msg.charCodeAt(++index) & 0x3ff);\n blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n }\n }\n __classPrivateFieldSet(this, _lastByteIndex, i);\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) + (i - __classPrivateFieldGet(this, _start)));\n if (i >= 64) {\n __classPrivateFieldSet(this, _block, blocks[16]);\n __classPrivateFieldSet(this, _start, i - 64);\n this.hash();\n __classPrivateFieldSet(this, _hashed, true);\n }\n else {\n __classPrivateFieldSet(this, _start, i);\n }\n }\n if (__classPrivateFieldGet(this, _bytes) > 4294967295) {\n __classPrivateFieldSet(this, _hBytes, __classPrivateFieldGet(this, _hBytes) + (__classPrivateFieldGet(this, _bytes) / 4294967296 << 0));\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) % 4294967296);\n }\n return this;\n }\n finalize() {\n if (__classPrivateFieldGet(this, _finalized)) {\n return;\n }\n __classPrivateFieldSet(this, _finalized, true);\n const blocks = __classPrivateFieldGet(this, _blocks);\n const i = __classPrivateFieldGet(this, _lastByteIndex);\n blocks[16] = __classPrivateFieldGet(this, _block);\n blocks[i >> 2] |= EXTRA[i & 3];\n __classPrivateFieldSet(this, _block, blocks[16]);\n if (i >= 56) {\n if (!__classPrivateFieldGet(this, _hashed)) {\n this.hash();\n }\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = __classPrivateFieldGet(this, _hBytes) << 3 | __classPrivateFieldGet(this, _bytes) >>> 29;\n blocks[15] = __classPrivateFieldGet(this, _bytes) << 3;\n this.hash();\n }\n hash() {\n let a = __classPrivateFieldGet(this, _h0);\n let b = __classPrivateFieldGet(this, _h1);\n let c = __classPrivateFieldGet(this, _h2);\n let d = __classPrivateFieldGet(this, _h3);\n let e = __classPrivateFieldGet(this, _h4);\n let f = __classPrivateFieldGet(this, _h5);\n let g = __classPrivateFieldGet(this, _h6);\n let h = __classPrivateFieldGet(this, _h7);\n const blocks = __classPrivateFieldGet(this, _blocks);\n let s0;\n let s1;\n let maj;\n let t1;\n let t2;\n let ch;\n let ab;\n let da;\n let cd;\n let bc;\n for (let j = 16; j < 64; ++j) {\n t1 = blocks[j - 15];\n s0 = (t1 >>> 7 | t1 << 25) ^ (t1 >>> 18 | t1 << 14) ^ t1 >>> 3;\n t1 = blocks[j - 2];\n s1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n bc = b & c;\n for (let j1 = 0; j1 < 64; j1 += 4) {\n if (__classPrivateFieldGet(this, _first)) {\n if (__classPrivateFieldGet(this, _is224)) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n }\n else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n __classPrivateFieldSet(this, _first, false);\n }\n else {\n s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);\n s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);\n ab = a & b;\n maj = ab ^ a & c ^ bc;\n ch = e & f ^ ~e & g;\n t1 = h + s1 + ch + K[j1] + blocks[j1];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = (d >>> 2 | d << 30) ^ (d >>> 13 | d << 19) ^ (d >>> 22 | d << 10);\n s1 = (h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7);\n da = d & a;\n maj = da ^ d & b ^ ab;\n ch = h & e ^ ~h & f;\n t1 = g + s1 + ch + K[j1 + 1] + blocks[j1 + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = (c >>> 2 | c << 30) ^ (c >>> 13 | c << 19) ^ (c >>> 22 | c << 10);\n s1 = (g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7);\n cd = c & d;\n maj = cd ^ c & a ^ da;\n ch = g & h ^ ~g & e;\n t1 = f + s1 + ch + K[j1 + 2] + blocks[j1 + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = (b >>> 2 | b << 30) ^ (b >>> 13 | b << 19) ^ (b >>> 22 | b << 10);\n s1 = (f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7);\n bc = b & c;\n maj = bc ^ b & d ^ cd;\n ch = f & g ^ ~f & h;\n t1 = e + s1 + ch + K[j1 + 3] + blocks[j1 + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n __classPrivateFieldSet(this, _h0, __classPrivateFieldGet(this, _h0) + a << 0);\n __classPrivateFieldSet(this, _h1, __classPrivateFieldGet(this, _h1) + b << 0);\n __classPrivateFieldSet(this, _h2, __classPrivateFieldGet(this, _h2) + c << 0);\n __classPrivateFieldSet(this, _h3, __classPrivateFieldGet(this, _h3) + d << 0);\n __classPrivateFieldSet(this, _h4, __classPrivateFieldGet(this, _h4) + e << 0);\n __classPrivateFieldSet(this, _h5, __classPrivateFieldGet(this, _h5) + f << 0);\n __classPrivateFieldSet(this, _h6, __classPrivateFieldGet(this, _h6) + g << 0);\n __classPrivateFieldSet(this, _h7, __classPrivateFieldGet(this, _h7) + h << 0);\n }\n hex() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n let hex = HEX_CHARS[h0 >> 28 & 0x0f] + HEX_CHARS[h0 >> 24 & 0x0f] + HEX_CHARS[h0 >> 20 & 0x0f] + HEX_CHARS[h0 >> 16 & 0x0f] + HEX_CHARS[h0 >> 12 & 0x0f] + HEX_CHARS[h0 >> 8 & 0x0f] + HEX_CHARS[h0 >> 4 & 0x0f] + HEX_CHARS[h0 & 0x0f] + HEX_CHARS[h1 >> 28 & 0x0f] + HEX_CHARS[h1 >> 24 & 0x0f] + HEX_CHARS[h1 >> 20 & 0x0f] + HEX_CHARS[h1 >> 16 & 0x0f] + HEX_CHARS[h1 >> 12 & 0x0f] + HEX_CHARS[h1 >> 8 & 0x0f] + HEX_CHARS[h1 >> 4 & 0x0f] + HEX_CHARS[h1 & 0x0f] + HEX_CHARS[h2 >> 28 & 0x0f] + HEX_CHARS[h2 >> 24 & 0x0f] + HEX_CHARS[h2 >> 20 & 0x0f] + HEX_CHARS[h2 >> 16 & 0x0f] + HEX_CHARS[h2 >> 12 & 0x0f] + HEX_CHARS[h2 >> 8 & 0x0f] + HEX_CHARS[h2 >> 4 & 0x0f] + HEX_CHARS[h2 & 0x0f] + HEX_CHARS[h3 >> 28 & 0x0f] + HEX_CHARS[h3 >> 24 & 0x0f] + HEX_CHARS[h3 >> 20 & 0x0f] + HEX_CHARS[h3 >> 16 & 0x0f] + HEX_CHARS[h3 >> 12 & 0x0f] + HEX_CHARS[h3 >> 8 & 0x0f] + HEX_CHARS[h3 >> 4 & 0x0f] + HEX_CHARS[h3 & 0x0f] + HEX_CHARS[h4 >> 28 & 0x0f] + HEX_CHARS[h4 >> 24 & 0x0f] + HEX_CHARS[h4 >> 20 & 0x0f] + HEX_CHARS[h4 >> 16 & 0x0f] + HEX_CHARS[h4 >> 12 & 0x0f] + HEX_CHARS[h4 >> 8 & 0x0f] + HEX_CHARS[h4 >> 4 & 0x0f] + HEX_CHARS[h4 & 0x0f] + HEX_CHARS[h5 >> 28 & 0x0f] + HEX_CHARS[h5 >> 24 & 0x0f] + HEX_CHARS[h5 >> 20 & 0x0f] + HEX_CHARS[h5 >> 16 & 0x0f] + HEX_CHARS[h5 >> 12 & 0x0f] + HEX_CHARS[h5 >> 8 & 0x0f] + HEX_CHARS[h5 >> 4 & 0x0f] + HEX_CHARS[h5 & 0x0f] + HEX_CHARS[h6 >> 28 & 0x0f] + HEX_CHARS[h6 >> 24 & 0x0f] + HEX_CHARS[h6 >> 20 & 0x0f] + HEX_CHARS[h6 >> 16 & 0x0f] + HEX_CHARS[h6 >> 12 & 0x0f] + HEX_CHARS[h6 >> 8 & 0x0f] + HEX_CHARS[h6 >> 4 & 0x0f] + HEX_CHARS[h6 & 0x0f];\n if (!__classPrivateFieldGet(this, _is224)) {\n hex += HEX_CHARS[h7 >> 28 & 0x0f] + HEX_CHARS[h7 >> 24 & 0x0f] + HEX_CHARS[h7 >> 20 & 0x0f] + HEX_CHARS[h7 >> 16 & 0x0f] + HEX_CHARS[h7 >> 12 & 0x0f] + HEX_CHARS[h7 >> 8 & 0x0f] + HEX_CHARS[h7 >> 4 & 0x0f] + HEX_CHARS[h7 & 0x0f];\n }\n return hex;\n }\n toString() {\n return this.hex();\n }\n digest() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n const arr = [\n h0 >> 24 & 0xff,\n h0 >> 16 & 0xff,\n h0 >> 8 & 0xff,\n h0 & 0xff,\n h1 >> 24 & 0xff,\n h1 >> 16 & 0xff,\n h1 >> 8 & 0xff,\n h1 & 0xff,\n h2 >> 24 & 0xff,\n h2 >> 16 & 0xff,\n h2 >> 8 & 0xff,\n h2 & 0xff,\n h3 >> 24 & 0xff,\n h3 >> 16 & 0xff,\n h3 >> 8 & 0xff,\n h3 & 0xff,\n h4 >> 24 & 0xff,\n h4 >> 16 & 0xff,\n h4 >> 8 & 0xff,\n h4 & 0xff,\n h5 >> 24 & 0xff,\n h5 >> 16 & 0xff,\n h5 >> 8 & 0xff,\n h5 & 0xff,\n h6 >> 24 & 0xff,\n h6 >> 16 & 0xff,\n h6 >> 8 & 0xff,\n h6 & 0xff\n ];\n if (!__classPrivateFieldGet(this, _is224)) {\n arr.push(h7 >> 24 & 0xff, h7 >> 16 & 0xff, h7 >> 8 & 0xff, h7 & 0xff);\n }\n return arr;\n }\n array() {\n return this.digest();\n }\n arrayBuffer() {\n this.finalize();\n const buffer = new ArrayBuffer(__classPrivateFieldGet(this, _is224) ? 28 : 32);\n const dataView = new DataView(buffer);\n dataView.setUint32(0, __classPrivateFieldGet(this, _h0));\n dataView.setUint32(4, __classPrivateFieldGet(this, _h1));\n dataView.setUint32(8, __classPrivateFieldGet(this, _h2));\n dataView.setUint32(12, __classPrivateFieldGet(this, _h3));\n dataView.setUint32(16, __classPrivateFieldGet(this, _h4));\n dataView.setUint32(20, __classPrivateFieldGet(this, _h5));\n dataView.setUint32(24, __classPrivateFieldGet(this, _h6));\n if (!__classPrivateFieldGet(this, _is224)) {\n dataView.setUint32(28, __classPrivateFieldGet(this, _h7));\n }\n return buffer;\n }\n}\n_block = new WeakMap(), _blocks = new WeakMap(), _bytes = new WeakMap(), _finalized = new WeakMap(), _first = new WeakMap(), _h0 = new WeakMap(), _h1 = new WeakMap(), _h2 = new WeakMap(), _h3 = new WeakMap(), _h4 = new WeakMap(), _h5 = new WeakMap(), _h6 = new WeakMap(), _h7 = new WeakMap(), _hashed = new WeakMap(), _hBytes = new WeakMap(), _is224 = new WeakMap(), _lastByteIndex = new WeakMap(), _start = new WeakMap();\nfunction Sha256ToInt(s) {\n const sha256 = new Sha256();\n sha256.update(s);\n return parseInt(sha256.hex().substring(0, 8), 16);\n}\nconst RGB2HEX = function (RGBArray) {\n var hex = '#';\n RGBArray.forEach(function (value) {\n if (value < 16) {\n hex += 0;\n }\n hex += value.toString(16);\n });\n return hex;\n};\nconst HSL2RGB = function (H, S, L) {\n H /= 360;\n var q = L < 0.5 ? L * (1 + S) : L + S - L * S;\n var p = 2 * L - q;\n return [\n H + 1 / 3,\n H,\n H - 1 / 3\n ].map(function (color) {\n if (color < 0) {\n color++;\n }\n if (color > 1) {\n color--;\n }\n if (color < 1 / 6) {\n color = p + (q - p) * 6 * color;\n }\n else if (color < 0.5) {\n color = q;\n }\n else if (color < 2 / 3) {\n color = p + (q - p) * 6 * (2 / 3 - color);\n }\n else {\n color = p;\n }\n return Math.round(color * 255);\n });\n};\nclass ColorHash {\n constructor(options = {}) {\n const [L, S] = [\n options.lightness,\n options.saturation\n ].map(function (param) {\n param = param !== undefined ? param : [\n 0.35,\n 0.5,\n 0.65\n ];\n return Array.isArray(param) ? param.concat() : [\n param\n ];\n });\n this.L = L;\n this.S = S;\n if (typeof options.hue === 'number') {\n options.hue = {\n min: options.hue,\n max: options.hue\n };\n }\n if (typeof options.hue === 'object' && !Array.isArray(options.hue)) {\n options.hue = [\n options.hue\n ];\n }\n if (typeof options.hue === 'undefined') {\n options.hue = [];\n }\n this.hueRanges = options.hue.map(function (range) {\n return {\n min: typeof range.min === 'undefined' ? 0 : range.min,\n max: typeof range.max === 'undefined' ? 360 : range.max\n };\n });\n this.hash = Sha256ToInt;\n if (typeof options.hash === 'function') {\n this.hash = options.hash;\n }\n if (options.hash === 'bkdr') {\n this.hash = BKDRHash;\n }\n }\n hsl(str) {\n var H, S, L;\n var hash = this.hash(str);\n var hueResolution = 727;\n if (this.hueRanges.length) {\n const range = this.hueRanges[hash % this.hueRanges.length];\n H = hash / this.hueRanges.length % hueResolution * (range.max - range.min) / hueResolution + range.min;\n }\n else {\n H = hash % 359;\n }\n hash = Math.ceil(hash / 360);\n S = this.S[hash % this.S.length];\n hash = Math.ceil(hash / this.S.length);\n L = this.L[hash % this.L.length];\n return [\n H,\n S,\n L\n ];\n }\n rgb(str) {\n var hsl = this.hsl(str);\n return HSL2RGB.apply(this, hsl);\n }\n hex(str) {\n var rgb = this.rgb(str);\n return RGB2HEX(rgb);\n }\n}\nexport { ColorHash as default };\n","const __pages_import_0__ = () => import(\"/src/scenes/stats.vue\");\nconst __pages_import_1__ = () => import(\"/src/scenes/spiral.vue\");\nconst __pages_import_2__ = () => import(\"/src/scenes/rose.vue\");\nconst __pages_import_3__ = () => import(\"/src/scenes/level.vue\");\nconst __pages_import_4__ = () => import(\"/src/scenes/index.vue\");\nconst __pages_import_5__ = () => import(\"/src/scenes/donut.vue\");\nconst __pages_import_6__ = () => import(\"/src/scenes/cross.vue\");\n\nconst routes = [{\"name\":\"stats\",\"path\":\"/stats\",\"component\":__pages_import_0__,\"props\":true},{\"name\":\"spiral\",\"path\":\"/spiral\",\"component\":__pages_import_1__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"rose\",\"path\":\"/rose\",\"component\":__pages_import_2__,\"props\":true},{\"name\":\"level\",\"path\":\"/level\",\"component\":__pages_import_3__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"index\",\"path\":\"/\",\"component\":__pages_import_4__,\"props\":true,\"title\":\"Floating\",\"subtitle\":\"by Chromatone\"},{\"name\":\"donut\",\"path\":\"/donut\",\"component\":__pages_import_5__,\"props\":true},{\"name\":\"cross\",\"path\":\"/cross\",\"component\":__pages_import_6__,\"props\":true}];\n\nexport default routes;","import { pitchColor, getCircleCoord, notes } from '~/use/chromatone'\nimport { useElementBounding, useStorage } from \"@vueuse/core\";\n\nconst visual = ref()\n\nexport const activeScene = useStorage('active-scene', 'Rose')\n\nexport function useScene() {\n const { width, height } = useElementBounding(visual)\n return { visual, width, height, activeScene }\n}\n","/*!\n * vue-router v4.2.5\n * (c) 2023 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 window !== '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\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,\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\n // ensure we use at least the last element in the toSegments\n .slice(toPosition - (toPosition === toSegments.length ? 1 : 0))\n .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 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.pageXOffset,\n top: window.pageYOffset,\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.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\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://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 `` 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\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};\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 ('path' in to)\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()\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 // TODO: only keep optional params coming from a parent record\n matcher.keys.filter(k => !k.optional).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 ('path' in location) {\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 * Encoding Rules ␣ = Space Path: ␣ \" < > # ? { } Query: ␣ \" < > # & = Hash: ␣ \"\n * < > `\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\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) {\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 = 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) {\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 && guards.push(guardToPromiseFn(guard, to, from, record, name));\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 && guardToPromiseFn(guard, to, from, record, name)();\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 ``.\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 const route = computed(() => router.resolve(unref(props.to)));\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 };\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 }, { 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 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 backgroundColor = ORANGE_400;\n let tooltip = '';\n 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: devtoolsData.route.path,\n textColor: 0,\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;\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 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 let matcherLocation;\n // path could be relative in object as well\n if ('path' in rawLocation) {\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 \"${'path' in rawLocation ? 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 !('path' in newTargetLocation) &&\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: 'path' in newTargetLocation ? {} : 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);\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","\n\n\n\n\n\n\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __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));\nimport { defineComponent, pushScopeId, popScopeId, nextTick, openBlock, createBlock, withScopeId, resolveComponent, createElementBlock, normalizeClass, normalizeStyle, withKeys, createElementVNode, Fragment, renderSlot, createCommentVNode, mergeProps, withCtx, createVNode, toDisplayString, ref, createApp, h } from \"vue\";\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function(props) {\n return getDefaultConfig(props.theme, prop);\n };\n}\nvar PrivatePopper = () => defineComponent({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: Boolean,\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n }\n },\n emits: [\n \"show\",\n \"hide\",\n \"update:shown\",\n \"apply-show\",\n \"apply-hide\",\n \"close-group\",\n \"close-directive\",\n \"auto-hide\",\n \"resize\",\n \"dispose\"\n ],\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n }\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.result\n };\n }\n },\n watch: __spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n },\n triggers() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n }\n }, [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n if (force || !this.disabled) {\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false } = {}) {\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize) {\n options2.middleware.push({\n name: \"autoMinSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoMinSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style.minWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.minHeight = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize) {\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n },\n async $_applyHide(skipTransition = false) {\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const addListeners2 = (targetNodes, eventType, handler) => {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n };\n const addEvents = (targetNodes, eventMap, commonTriggers, customTrigger, handler) => {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n addListeners2(targetNodes, eventType, handler);\n }\n });\n };\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n addEvents(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n addEvents([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event });\n };\n addEvents(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide);\n addEvents([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide);\n addListeners2([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n },\n $_removeEventListeners() {\n this.$_events.forEach(({ targetNodes, eventType, handler }) => {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n });\n this.$_events = [];\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n const contains = popper.$_mouseDownContains || popperContent.contains(event.target);\n requestAnimationFrame(() => {\n if (event.closeAllPopover || event.closePopover && contains || popper.autoHide && !contains) {\n popper.$_handleGlobalClose(event, touch);\n }\n });\n }\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nlet isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n initCompat();\n nextTick(() => {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n if (this.emitOnMount) {\n this.emitSize();\n }\n });\n const object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nconst _withId = /* @__PURE__ */ withScopeId(\"data-v-b329ee4c\");\npushScopeId(\"data-v-b329ee4c\");\nconst _hoisted_1$2 = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\npopScopeId();\nconst render = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {\n return openBlock(), createBlock(\"div\", _hoisted_1$2);\n});\nscript.render = render;\nscript.__scopeId = \"data-v-b329ee4c\";\nscript.__file = \"src/components/ResizeObserver.vue\";\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst _sfc_main$5 = defineComponent({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: script\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n});\nconst _hoisted_1$1 = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"];\nconst _hoisted_2$1 = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n};\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1);\nconst _hoisted_5 = [\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ResizeObserver = resolveComponent(\"ResizeObserver\");\n return openBlock(), createElementBlock(\"div\", {\n id: _ctx.popperId,\n ref: \"popover\",\n class: normalizeClass([\"v-popper__popper\", [\n _ctx.themeClass,\n _ctx.classes.popperClass,\n {\n \"v-popper__popper--shown\": _ctx.shown,\n \"v-popper__popper--hidden\": !_ctx.shown,\n \"v-popper__popper--show-from\": _ctx.classes.showFrom,\n \"v-popper__popper--show-to\": _ctx.classes.showTo,\n \"v-popper__popper--hide-from\": _ctx.classes.hideFrom,\n \"v-popper__popper--hide-to\": _ctx.classes.hideTo,\n \"v-popper__popper--skip-transition\": _ctx.skipTransition,\n \"v-popper__popper--arrow-overflow\": _ctx.result.arrow.overflow\n }\n ]]),\n style: normalizeStyle({\n position: _ctx.result.strategy,\n transform: `translate3d(${Math.round(_ctx.result.x)}px,${Math.round(_ctx.result.y)}px,0)`\n }),\n \"aria-hidden\": _ctx.shown ? \"false\" : \"true\",\n tabindex: _ctx.autoHide ? 0 : void 0,\n \"data-popper-placement\": _ctx.result.placement,\n onKeyup: _cache[1] || (_cache[1] = withKeys(($event) => _ctx.autoHide && _ctx.$emit(\"hide\"), [\"esc\"]))\n }, [\n createElementVNode(\"div\", {\n class: \"v-popper__wrapper\",\n style: normalizeStyle({\n transformOrigin: _ctx.result.transformOrigin\n })\n }, [\n createElementVNode(\"div\", _hoisted_2$1, [\n _ctx.mounted ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _ctx.handleResize ? (openBlock(), createBlock(_component_ResizeObserver, {\n key: 0,\n onNotify: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"resize\", $event))\n })) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ], 512),\n createElementVNode(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: normalizeStyle({\n left: _ctx.toPx(_ctx.result.arrow.x),\n top: _ctx.toPx(_ctx.result.arrow.y)\n })\n }, _hoisted_5, 4)\n ], 4)\n ], 46, _hoisted_1$1);\n}\nvar PrivatePopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar PopperWrapper_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$4 = defineComponent({\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: null\n }\n },\n computed: {\n finalTheme() {\n var _a;\n return (_a = this.theme) != null ? _a : this.$options.vPopperTheme;\n },\n popperAttrs() {\n const result = __spreadValues({}, this.$attrs);\n delete result.class;\n delete result.style;\n return result;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.popperAttrs, {\n theme: _ctx.finalTheme,\n \"target-nodes\": _ctx.getTargetNodes,\n \"reference-node\": () => _ctx.$refs.reference,\n \"popper-node\": () => _ctx.$refs.popperContent.$el\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n show,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createElementVNode(\"div\", {\n ref: \"reference\",\n class: normalizeClass([\"v-popper\", [\n _ctx.$attrs.class,\n _ctx.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ]]),\n style: normalizeStyle(_ctx.$attrs.style)\n }, [\n renderSlot(_ctx.$slots, \"default\", {\n shown: isShown,\n show,\n hide\n }),\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n \"popper-id\": popperId,\n theme: _ctx.finalTheme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"popper\", {\n shown: isShown,\n hide\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ], 6)\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"reference-node\", \"popper-node\"]);\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$1]]);\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$3 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}));\nconst _sfc_main$2 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}));\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$1 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}));\nconst _sfc_main = defineComponent({\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (props) => getDefaultConfig(props.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (props) => getDefaultConfig(props.theme, \"loadingContent\")\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent() {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n});\nconst _hoisted_1 = [\"innerHTML\"];\nconst _hoisted_2 = [\"textContent\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.$attrs, {\n theme: _ctx.theme,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n onApplyShow: _ctx.onShow,\n onApplyHide: _ctx.onHide\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n class: normalizeClass({\n \"v-popper--tooltip-loading\": _ctx.loading\n }),\n \"popper-id\": popperId,\n theme: _ctx.theme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n _ctx.html ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n innerHTML: _ctx.finalContent\n }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n textContent: toDisplayString(_ctx.finalContent)\n }, null, 8, _hoisted_2))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nlet directiveApp;\nlet directives;\nlet uid = 0;\nfunction ensureDirectiveApp() {\n if (directiveApp)\n return;\n directives = ref([]);\n directiveApp = createApp({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives\n };\n },\n render() {\n return this.directives.map((directive) => {\n return h(PrivateTooltipDirective, __spreadProps(__spreadValues({}, directive.options), {\n shown: directive.shown.value || directive.options.shown,\n key: directive.id\n }));\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n directiveApp.mount(mountTarget);\n}\nfunction createTooltip(el, value, modifiers) {\n ensureDirectiveApp();\n const options2 = ref(getOptions(el, value, modifiers));\n const shown = ref(false);\n const item = {\n id: uid++,\n options: options2,\n shown\n };\n directives.value.push(item);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n const result = el.$_popper = {\n options: options2,\n item,\n show() {\n shown.value = true;\n },\n hide() {\n shown.value = false;\n }\n };\n return result;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n const index = directives.value.indexOf(el.$_popper.item);\n if (index !== -1)\n directives.value.splice(index, 1);\n delete el.$_popper;\n delete el.$_popperOldShown;\n delete el.$_popperMountTarget;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let directive;\n if (el.$_popper) {\n directive = el.$_popper;\n directive.options.value = options2;\n } else {\n directive = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? directive.show() : directive.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n beforeMount: bind,\n updated: bind,\n beforeUnmount(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n beforeMount(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n updated(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n beforeUnmount(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = _sfc_main$3;\nconst Menu = _sfc_main$2;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = _sfc_main$1;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", _sfc_main$1);\n app.component(\"VTooltip\", _sfc_main$1);\n app.component(\"v-dropdown\", _sfc_main$3);\n app.component(\"VDropdown\", _sfc_main$3);\n app.component(\"v-menu\", _sfc_main$2);\n app.component(\"VMenu\", _sfc_main$2);\n}\nconst plugin = {\n version: \"2.0.0-y.0\",\n install,\n options: config\n};\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","import { createApp } from \"vue\";\nimport App from \"./app.vue\";\n\nimport '@unocss/reset/tailwind.css'\nimport 'uno.css'\nimport './styles/index.css'\nimport 'floating-vue/dist/style.css'\n\nimport { createRouter, createWebHashHistory } from \"vue-router\";\nimport FloatingVue from 'floating-vue'\n\nimport routes from \"~pages\";\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes: [...routes],\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition;\n } else {\n return { top: 0, behavior: \"smooth\" };\n }\n },\n});\n\nconst app = createApp(App);\napp.use(router)\napp.use(FloatingVue)\n\n\napp.mount(\"#touchme-app\");\n\n","\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n\n\ntitle: Floating\nsubtitle: by Chromatone \n","\n\n\n\n","\n\n\n","\n\n"],"file":"assets/index-6fda5aab.js"} \ No newline at end of file diff --git a/assets/index-o4uTN3ka.js b/assets/index-o4uTN3ka.js new file mode 100644 index 0000000..e5bafa3 --- /dev/null +++ b/assets/index-o4uTN3ka.js @@ -0,0 +1,488 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=t(i);fetch(i.href,r)}})();function ol(n,e){const t=new Set(n.split(","));return e?s=>t.has(s.toLowerCase()):s=>t.has(s)}const He={},wi=[],jt=()=>{},Im=()=>!1,pa=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&(n.charCodeAt(2)>122||n.charCodeAt(2)<97),al=n=>n.startsWith("onUpdate:"),ot=Object.assign,cl=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},Rm=Object.prototype.hasOwnProperty,Ne=(n,e)=>Rm.call(n,e),fe=Array.isArray,bi=n=>Wi(n)==="[object Map]",ma=n=>Wi(n)==="[object Set]",vu=n=>Wi(n)==="[object Date]",Dm=n=>Wi(n)==="[object RegExp]",ve=n=>typeof n=="function",Qe=n=>typeof n=="string",gs=n=>typeof n=="symbol",Ue=n=>n!==null&&typeof n=="object",bd=n=>(Ue(n)||ve(n))&&ve(n.then)&&ve(n.catch),xd=Object.prototype.toString,Wi=n=>xd.call(n),Pm=n=>Wi(n).slice(8,-1),Td=n=>Wi(n)==="[object Object]",ll=n=>Qe(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,yo=ol(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ga=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},$m=/-(\w)/g,Sn=ga(n=>n.replace($m,(e,t)=>t?t.toUpperCase():"")),Fm=/\B([A-Z])/g,ei=ga(n=>n.replace(Fm,"-$1").toLowerCase()),_a=ga(n=>n.charAt(0).toUpperCase()+n.slice(1)),sc=ga(n=>n?`on${_a(n)}`:""),_s=(n,e)=>!Object.is(n,e),xi=(n,e)=>{for(let t=0;t{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value:t})},Vm=n=>{const e=parseFloat(n);return isNaN(e)?n:e},Lm=n=>{const e=Qe(n)?Number(n):NaN;return isNaN(e)?n:e};let wu;const Sd=()=>wu||(wu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Be(n){if(fe(n)){const e={};for(let t=0;t{if(t){const s=t.split(qm);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function bs(n){let e="";if(Qe(n))e=n;else if(fe(n))for(let t=0;tya(t,e))}const Ke=n=>Qe(n)?n:n==null?"":fe(n)||Ue(n)&&(n.toString===xd||!ve(n.toString))?JSON.stringify(n,Ad,2):String(n),Ad=(n,e)=>e&&e.__v_isRef?Ad(n,e.value):bi(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[s,i],r)=>(t[ic(s,r)+" =>"]=i,t),{})}:ma(e)?{[`Set(${e.size})`]:[...e.values()].map(t=>ic(t))}:gs(e)?ic(e):Ue(e)&&!fe(e)&&!Td(e)?String(e):e,ic=(n,e="")=>{var t;return gs(n)?`Symbol(${(t=n.description)!=null?t:e})`:n};let Dt;class Gm{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Dt,!e&&Dt&&(this.index=(Dt.scopes||(Dt.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Dt;try{return Dt=this,e()}finally{Dt=t}}}on(){Dt=this}off(){Dt=this.parent}stop(e){if(this._active){let t,s;for(t=0,s=this.effects.length;t=2))break;ni(),this._queryings--}return this._dirtyLevel>=2}set dirty(e){this._dirtyLevel=e?3:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=fs,t=Bs;try{return fs=!0,Bs=this,this._runnings++,bu(this),this.fn()}finally{xu(this),this._runnings--,Bs=t,fs=e}}stop(){var e;this.active&&(bu(this),xu(this),(e=this.onStop)==null||e.call(this),this.active=!1)}}function Zm(n){return n.value}function bu(n){n._trackId++,n._depsLength=0}function xu(n){if(n.deps&&n.deps.length>n._depsLength){for(let e=n._depsLength;e{const t=new Map;return t.cleanup=n,t.computed=e,t},No=new WeakMap,qs=Symbol(""),Ac=Symbol("");function Ot(n,e,t){if(fs&&Bs){let s=No.get(n);s||No.set(n,s=new Map);let i=s.get(t);i||s.set(t,i=Rd(()=>s.delete(t))),Od(Bs,i)}}function Vn(n,e,t,s,i,r){const o=No.get(n);if(!o)return;let a=[];if(e==="clear")a=[...o.values()];else if(t==="length"&&fe(n)){const c=Number(s);o.forEach((l,u)=>{(u==="length"||!gs(u)&&u>=c)&&a.push(l)})}else switch(t!==void 0&&a.push(o.get(t)),e){case"add":fe(n)?ll(t)&&a.push(o.get("length")):(a.push(o.get(qs)),bi(n)&&a.push(o.get(Ac)));break;case"delete":fe(n)||(a.push(o.get(qs)),bi(n)&&a.push(o.get(Ac)));break;case"set":bi(n)&&a.push(o.get(qs));break}hl();for(const c of a)c&&Id(c,3);dl()}function Xm(n,e){var t;return(t=No.get(n))==null?void 0:t.get(e)}const Qm=ol("__proto__,__v_isRef,__isVue"),Dd=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(gs)),Tu=Jm();function Jm(){const n={};return["includes","indexOf","lastIndexOf"].forEach(e=>{n[e]=function(...t){const s=Ae(this);for(let r=0,o=this.length;r{n[e]=function(...t){ti(),hl();const s=Ae(this)[e].apply(this,t);return dl(),ni(),s}}),n}function eg(n){const e=Ae(this);return Ot(e,"has",n),e.hasOwnProperty(n)}class Pd{constructor(e=!1,t=!1){this._isReadonly=e,this._shallow=t}get(e,t,s){const i=this._isReadonly,r=this._shallow;if(t==="__v_isReactive")return!i;if(t==="__v_isReadonly")return i;if(t==="__v_isShallow")return r;if(t==="__v_raw")return s===(i?r?fg:Ld:r?Vd:Fd).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(s)?e:void 0;const o=fe(e);if(!i){if(o&&Ne(Tu,t))return Reflect.get(Tu,t,s);if(t==="hasOwnProperty")return eg}const a=Reflect.get(e,t,s);return(gs(t)?Dd.has(t):Qm(t))||(i||Ot(e,"get",t),r)?a:vt(a)?o&&ll(t)?a:a.value:Ue(a)?i?Ur(a):Lt(a):a}}class $d extends Pd{constructor(e=!1){super(!1,e)}set(e,t,s,i){let r=e[t];if(!this._shallow){const c=Gs(r);if(!_i(s)&&!Gs(s)&&(r=Ae(r),s=Ae(s)),!fe(e)&&vt(r)&&!vt(s))return c?!1:(r.value=s,!0)}const o=fe(e)&&ll(t)?Number(t)n,va=n=>Reflect.getPrototypeOf(n);function no(n,e,t=!1,s=!1){n=n.__v_raw;const i=Ae(n),r=Ae(e);t||(_s(e,r)&&Ot(i,"get",e),Ot(i,"get",r));const{has:o}=va(i),a=s?fl:t?gl:fr;if(o.call(i,e))return a(n.get(e));if(o.call(i,r))return a(n.get(r));n!==i&&n.get(e)}function so(n,e=!1){const t=this.__v_raw,s=Ae(t),i=Ae(n);return e||(_s(n,i)&&Ot(s,"has",n),Ot(s,"has",i)),n===i?t.has(n):t.has(n)||t.has(i)}function io(n,e=!1){return n=n.__v_raw,!e&&Ot(Ae(n),"iterate",qs),Reflect.get(n,"size",n)}function Su(n){n=Ae(n);const e=Ae(this);return va(e).has.call(e,n)||(e.add(n),Vn(e,"add",n,n)),this}function Eu(n,e){e=Ae(e);const t=Ae(this),{has:s,get:i}=va(t);let r=s.call(t,n);r||(n=Ae(n),r=s.call(t,n));const o=i.call(t,n);return t.set(n,e),r?_s(e,o)&&Vn(t,"set",n,e):Vn(t,"add",n,e),this}function Cu(n){const e=Ae(this),{has:t,get:s}=va(e);let i=t.call(e,n);i||(n=Ae(n),i=t.call(e,n)),s&&s.call(e,n);const r=e.delete(n);return i&&Vn(e,"delete",n,void 0),r}function Au(){const n=Ae(this),e=n.size!==0,t=n.clear();return e&&Vn(n,"clear",void 0,void 0),t}function ro(n,e){return function(s,i){const r=this,o=r.__v_raw,a=Ae(o),c=e?fl:n?gl:fr;return!n&&Ot(a,"iterate",qs),o.forEach((l,u)=>s.call(i,c(l),c(u),r))}}function oo(n,e,t){return function(...s){const i=this.__v_raw,r=Ae(i),o=bi(r),a=n==="entries"||n===Symbol.iterator&&o,c=n==="keys"&&o,l=i[n](...s),u=t?fl:e?gl:fr;return!e&&Ot(r,"iterate",c?Ac:qs),{next(){const{value:h,done:d}=l.next();return d?{value:h,done:d}:{value:a?[u(h[0]),u(h[1])]:u(h),done:d}},[Symbol.iterator](){return this}}}}function Jn(n){return function(...e){return n==="delete"?!1:n==="clear"?void 0:this}}function rg(){const n={get(r){return no(this,r)},get size(){return io(this)},has:so,add:Su,set:Eu,delete:Cu,clear:Au,forEach:ro(!1,!1)},e={get(r){return no(this,r,!1,!0)},get size(){return io(this)},has:so,add:Su,set:Eu,delete:Cu,clear:Au,forEach:ro(!1,!0)},t={get(r){return no(this,r,!0)},get size(){return io(this,!0)},has(r){return so.call(this,r,!0)},add:Jn("add"),set:Jn("set"),delete:Jn("delete"),clear:Jn("clear"),forEach:ro(!0,!1)},s={get(r){return no(this,r,!0,!0)},get size(){return io(this,!0)},has(r){return so.call(this,r,!0)},add:Jn("add"),set:Jn("set"),delete:Jn("delete"),clear:Jn("clear"),forEach:ro(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=oo(r,!1,!1),t[r]=oo(r,!0,!1),e[r]=oo(r,!1,!0),s[r]=oo(r,!0,!0)}),[n,t,e,s]}const[og,ag,cg,lg]=rg();function pl(n,e){const t=e?n?lg:cg:n?ag:og;return(s,i,r)=>i==="__v_isReactive"?!n:i==="__v_isReadonly"?n:i==="__v_raw"?s:Reflect.get(Ne(t,i)&&i in s?t:s,i,r)}const ug={get:pl(!1,!1)},hg={get:pl(!1,!0)},dg={get:pl(!0,!1)},Fd=new WeakMap,Vd=new WeakMap,Ld=new WeakMap,fg=new WeakMap;function pg(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function mg(n){return n.__v_skip||!Object.isExtensible(n)?0:pg(Pm(n))}function Lt(n){return Gs(n)?n:ml(n,!1,ng,ug,Fd)}function Bd(n){return ml(n,!1,ig,hg,Vd)}function Ur(n){return ml(n,!0,sg,dg,Ld)}function ml(n,e,t,s,i){if(!Ue(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const r=i.get(n);if(r)return r;const o=mg(n);if(o===0)return n;const a=new Proxy(n,o===2?s:t);return i.set(n,a),a}function Ti(n){return Gs(n)?Ti(n.__v_raw):!!(n&&n.__v_isReactive)}function Gs(n){return!!(n&&n.__v_isReadonly)}function _i(n){return!!(n&&n.__v_isShallow)}function qd(n){return Ti(n)||Gs(n)}function Ae(n){const e=n&&n.__v_raw;return e?Ae(e):n}function Ud(n){return Ao(n,"__v_skip",!0),n}const fr=n=>Ue(n)?Lt(n):n,gl=n=>Ue(n)?Ur(n):n;class jd{constructor(e,t,s,i){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ul(()=>e(this._value),()=>Mo(this,1)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const e=Ae(this);return _l(e),(!e._cacheable||e.effect.dirty)&&_s(e._value,e._value=e.effect.run())&&Mo(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function gg(n,e,t=!1){let s,i;const r=ve(n);return r?(s=n,i=jt):(s=n.get,i=n.set),new jd(s,i,r||!i,t)}function _l(n){fs&&Bs&&(n=Ae(n),Od(Bs,n.dep||(n.dep=Rd(()=>n.dep=void 0,n instanceof jd?n:void 0))))}function Mo(n,e=3,t){n=Ae(n);const s=n.dep;s&&Id(s,e)}function vt(n){return!!(n&&n.__v_isRef===!0)}function Oe(n){return Hd(n,!1)}function Wd(n){return Hd(n,!0)}function Hd(n,e){return vt(n)?n:new _g(n,e)}class _g{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Ae(e),this._value=t?e:fr(e)}get value(){return _l(this),this._value}set value(e){const t=this.__v_isShallow||_i(e)||Gs(e);e=t?e:Ae(e),_s(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:fr(e),Mo(this,3))}}function w(n){return vt(n)?n.value:n}const yg={get:(n,e,t)=>w(Reflect.get(n,e,t)),set:(n,e,t,s)=>{const i=n[e];return vt(i)&&!vt(t)?(i.value=t,!0):Reflect.set(n,e,t,s)}};function zd(n){return Ti(n)?n:new Proxy(n,yg)}class vg{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:s}=e(()=>_l(this),()=>Mo(this));this._get=t,this._set=s}get value(){return this._get()}set value(e){this._set(e)}}function wg(n){return new vg(n)}class bg{constructor(e,t,s){this._object=e,this._key=t,this._defaultValue=s,this.__v_isRef=!0}get value(){const e=this._object[this._key];return e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return Xm(Ae(this._object),this._key)}}class xg{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Tg(n,e,t){return vt(n)?n:ve(n)?new xg(n):Ue(n)&&arguments.length>1?Sg(n,e,t):Oe(n)}function Sg(n,e,t){const s=n[e];return vt(s)?s:new bg(n,e,t)}function ps(n,e,t,s){let i;try{i=s?n(...s):n()}catch(r){wa(r,e,t)}return i}function Wt(n,e,t,s){if(ve(n)){const r=ps(n,e,t,s);return r&&bd(r)&&r.catch(o=>{wa(o,e,t)}),r}const i=[];for(let r=0;r>>1,i=_t[s],r=mr(i);rbn&&_t.splice(e,1)}function Ng(n){fe(n)?Si.push(...n):(!Dn||!Dn.includes(n,n.allowRecurse?Ds+1:Ds))&&Si.push(n),Kd()}function Nu(n,e,t=pr?bn+1:0){for(;t<_t.length;t++){const s=_t[t];if(s&&s.pre){if(n&&s.id!==n.uid)continue;_t.splice(t,1),t--,s()}}}function Yd(n){if(Si.length){const e=[...new Set(Si)];if(Si.length=0,Dn){Dn.push(...e);return}for(Dn=e,Dn.sort((t,s)=>mr(t)-mr(s)),Ds=0;Dsn.id==null?1/0:n.id,Mg=(n,e)=>{const t=mr(n)-mr(e);if(t===0){if(n.pre&&!e.pre)return-1;if(e.pre&&!n.pre)return 1}return t};function Zd(n){Nc=!1,pr=!0,_t.sort(Mg);try{for(bn=0;bn<_t.length;bn++){const e=_t[bn];e&&e.active!==!1&&ps(e,null,14)}}finally{bn=0,_t.length=0,Yd(),pr=!1,yl=null,(_t.length||Si.length)&&Zd()}}function kg(n,e,...t){if(n.isUnmounted)return;const s=n.vnode.props||He;let i=t;const r=e.startsWith("update:"),o=r&&e.slice(7);if(o&&o in s){const u=`${o==="modelValue"?"model":o}Modifiers`,{number:h,trim:d}=s[u]||He;d&&(i=t.map(f=>Qe(f)?f.trim():f)),h&&(i=t.map(Vm))}let a,c=s[a=sc(e)]||s[a=sc(Sn(e))];!c&&r&&(c=s[a=sc(ei(e))]),c&&Wt(c,n,6,i);const l=s[a+"Once"];if(l){if(!n.emitted)n.emitted={};else if(n.emitted[a])return;n.emitted[a]=!0,Wt(l,n,6,i)}}function Xd(n,e,t=!1){const s=e.emitsCache,i=s.get(n);if(i!==void 0)return i;const r=n.emits;let o={},a=!1;if(!ve(n)){const c=l=>{const u=Xd(l,e,!0);u&&(a=!0,ot(o,u))};!t&&e.mixins.length&&e.mixins.forEach(c),n.extends&&c(n.extends),n.mixins&&n.mixins.forEach(c)}return!r&&!a?(Ue(n)&&s.set(n,null),null):(fe(r)?r.forEach(c=>o[c]=null):ot(o,r),Ue(n)&&s.set(n,o),o)}function ba(n,e){return!n||!pa(e)?!1:(e=e.slice(2).replace(/Once$/,""),Ne(n,e[0].toLowerCase()+e.slice(1))||Ne(n,ei(e))||Ne(n,e))}let pt=null,xa=null;function ko(n){const e=pt;return pt=n,xa=n&&n.type.__scopeId||null,e}function Ta(n){xa=n}function Sa(){xa=null}const Og=n=>tn;function tn(n,e=pt,t){if(!e||n._n)return n;const s=(...i)=>{s._d&&Bu(-1);const r=ko(e);let o;try{o=n(...i)}finally{ko(r),s._d&&Bu(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function rc(n){const{type:e,vnode:t,proxy:s,withProxy:i,props:r,propsOptions:[o],slots:a,attrs:c,emit:l,render:u,renderCache:h,data:d,setupState:f,ctx:p,inheritAttrs:m}=n;let _,g;const v=ko(n);try{if(t.shapeFlag&4){const x=i||s,y=x;_=wn(u.call(y,x,h,r,f,d,p)),g=c}else{const x=e;_=wn(x.length>1?x(r,{attrs:c,slots:a,emit:l}):x(r,null)),g=e.props?c:Ig(c)}}catch(x){ar.length=0,wa(x,n,1),_=xe(Ht)}let T=_;if(g&&m!==!1){const x=Object.keys(g),{shapeFlag:y}=T;x.length&&y&7&&(o&&x.some(al)&&(g=Rg(g,o)),T=Bn(T,g))}return t.dirs&&(T=Bn(T),T.dirs=T.dirs?T.dirs.concat(t.dirs):t.dirs),t.transition&&(T.transition=t.transition),_=T,ko(v),_}const Ig=n=>{let e;for(const t in n)(t==="class"||t==="style"||pa(t))&&((e||(e={}))[t]=n[t]);return e},Rg=(n,e)=>{const t={};for(const s in n)(!al(s)||!(s.slice(9)in e))&&(t[s]=n[s]);return t};function Dg(n,e,t){const{props:s,children:i,component:r}=n,{props:o,children:a,patchFlag:c}=e,l=r.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&c>=0){if(c&1024)return!0;if(c&16)return s?Mu(s,o,l):!!o;if(c&8){const u=e.dynamicProps;for(let h=0;hn.__isSuspense;function Vg(n,e){e&&e.pendingBranch?fe(n)?e.effects.push(...n):e.effects.push(n):Ng(n)}const Lg=Symbol.for("v-scx"),Bg=()=>nn(Lg);function tf(n,e){return xl(n,null,e)}const ao={};function mt(n,e,t){return xl(n,e,t)}function xl(n,e,{immediate:t,deep:s,flush:i,once:r,onTrack:o,onTrigger:a}=He){var c;if(e&&r){const y=e;e=(...A)=>{y(...A),x()}}const l=Nd()===((c=ht)==null?void 0:c.scope)?ht:null;let u,h=!1,d=!1;if(vt(n)?(u=()=>n.value,h=_i(n)):Ti(n)?(u=_i(n)||s===!1?()=>$n(n,1):()=>$n(n),h=!0):fe(n)?(d=!0,h=n.some(y=>Ti(y)||_i(y)),u=()=>n.map(y=>{if(vt(y))return y.value;if(Ti(y))return $n(y,_i(y)||s===!1?1:void 0);if(ve(y))return ps(y,l,2)})):ve(n)?e?u=()=>ps(n,l,2):u=()=>{if(!(l&&l.isUnmounted))return f&&f(),Wt(n,l,3,[p])}:u=jt,e&&s){const y=u;u=()=>$n(y())}let f,p=y=>{f=T.onStop=()=>{ps(y,l,4),f=T.onStop=void 0}},m;if(ka)if(p=jt,e?t&&Wt(e,l,3,[u(),d?[]:void 0,p]):u(),i==="sync"){const y=Bg();m=y.__watcherHandles||(y.__watcherHandles=[])}else return jt;let _=d?new Array(n.length).fill(ao):ao;const g=()=>{if(!(!T.active||!T.dirty))if(e){const y=T.run();(s||h||(d?y.some((A,N)=>_s(A,_[N])):_s(y,_)))&&(f&&f(),Wt(e,l,3,[y,_===ao?void 0:d&&_[0]===ao?[]:_,p]),_=y)}else T.run()};g.allowRecurse=!!e;let v;i==="sync"?v=g:i==="post"?v=()=>ft(g,l&&l.suspense):(g.pre=!0,l&&(g.id=l.uid),v=()=>vl(g));const T=new ul(u,jt,v),x=()=>{T.stop(),l&&l.scope&&cl(l.scope.effects,T)};return e?t?g():_=T.run():i==="post"?ft(T.run.bind(T),l&&l.suspense):T.run(),m&&m.push(x),x}function qg(n,e,t){const s=this.proxy,i=Qe(n)?n.includes(".")?nf(s,n):()=>s[n]:n.bind(s,s);let r;ve(e)?r=e:(r=e.handler,t=e);const o=ht;Mi(this);const a=xl(i,r.bind(s),t);return o?Mi(o):Us(),a}function nf(n,e){const t=e.split(".");return()=>{let s=n;for(let i=0;i0){if(t>=e)return n;t++}if(s=s||new Set,s.has(n))return n;if(s.add(n),vt(n))$n(n.value,e,t,s);else if(fe(n))for(let i=0;i{$n(i,e,t,s)});else if(Td(n))for(const i in n)$n(n[i],e,t,s);return n}function At(n,e){const t=pt;if(t===null)return n;const s=Oa(t)||t.proxy,i=n.dirs||(n.dirs=[]);for(let r=0;r{n.isMounted=!0}),El(()=>{n.isUnmounting=!0}),n}const Bt=[Function,Array],rf={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Bt,onEnter:Bt,onAfterEnter:Bt,onEnterCancelled:Bt,onBeforeLeave:Bt,onLeave:Bt,onAfterLeave:Bt,onLeaveCancelled:Bt,onBeforeAppear:Bt,onAppear:Bt,onAfterAppear:Bt,onAppearCancelled:Bt},Ug={name:"BaseTransition",props:rf,setup(n,{slots:e}){const t=jr(),s=sf();let i;return()=>{const r=e.default&&Tl(e.default(),!0);if(!r||!r.length)return;let o=r[0];if(r.length>1){for(const m of r)if(m.type!==Ht){o=m;break}}const a=Ae(n),{mode:c}=a;if(s.isLeaving)return oc(o);const l=Ou(o);if(!l)return oc(o);const u=gr(l,a,s,t);Ni(l,u);const h=t.subTree,d=h&&Ou(h);let f=!1;const{getTransitionKey:p}=l.type;if(p){const m=p();i===void 0?i=m:m!==i&&(i=m,f=!0)}if(d&&d.type!==Ht&&(!ds(l,d)||f)){const m=gr(d,a,s,t);if(Ni(d,m),c==="out-in")return s.isLeaving=!0,m.afterLeave=()=>{s.isLeaving=!1,t.update.active!==!1&&(t.effect.dirty=!0,t.update())},oc(o);c==="in-out"&&l.type!==Ht&&(m.delayLeave=(_,g,v)=>{const T=of(s,d);T[String(d.key)]=d,_[as]=()=>{g(),_[as]=void 0,delete u.delayedLeave},u.delayedLeave=v})}return o}}},jg=Ug;function of(n,e){const{leavingVNodes:t}=n;let s=t.get(e.type);return s||(s=Object.create(null),t.set(e.type,s)),s}function gr(n,e,t,s){const{appear:i,mode:r,persisted:o=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:h,onLeave:d,onAfterLeave:f,onLeaveCancelled:p,onBeforeAppear:m,onAppear:_,onAfterAppear:g,onAppearCancelled:v}=e,T=String(n.key),x=of(t,n),y=(E,I)=>{E&&Wt(E,s,9,I)},A=(E,I)=>{const k=I[1];y(E,I),fe(E)?E.every(D=>D.length<=1)&&k():E.length<=1&&k()},N={mode:r,persisted:o,beforeEnter(E){let I=a;if(!t.isMounted)if(i)I=m||a;else return;E[as]&&E[as](!0);const k=x[T];k&&ds(n,k)&&k.el[as]&&k.el[as](),y(I,[E])},enter(E){let I=c,k=l,D=u;if(!t.isMounted)if(i)I=_||c,k=g||l,D=v||u;else return;let M=!1;const F=E[co]=H=>{M||(M=!0,H?y(D,[E]):y(k,[E]),N.delayedLeave&&N.delayedLeave(),E[co]=void 0)};I?A(I,[E,F]):F()},leave(E,I){const k=String(n.key);if(E[co]&&E[co](!0),t.isUnmounting)return I();y(h,[E]);let D=!1;const M=E[as]=F=>{D||(D=!0,I(),F?y(p,[E]):y(f,[E]),E[as]=void 0,x[k]===n&&delete x[k])};x[k]=n,d?A(d,[E,M]):M()},clone(E){return gr(E,e,t,s)}};return N}function oc(n){if(Ea(n))return n=Bn(n),n.children=null,n}function Ou(n){return Ea(n)?n.children?n.children[0]:void 0:n}function Ni(n,e){n.shapeFlag&6&&n.component?Ni(n.component.subTree,e):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function Tl(n,e=!1,t){let s=[],i=0;for(let r=0;r1)for(let r=0;r!!n.type.__asyncLoader,Ea=n=>n.type.__isKeepAlive,Wg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:e}){const t=jr(),s=t.ctx;if(!s.renderer)return()=>{const v=e.default&&e.default();return v&&v.length===1?v[0]:v};const i=new Map,r=new Set;let o=null;const a=t.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:h}}}=s,d=h("div");s.activate=(v,T,x,y,A)=>{const N=v.component;l(v,T,x,0,a),c(N.vnode,v,T,x,N,a,y,v.slotScopeIds,A),ft(()=>{N.isDeactivated=!1,N.a&&xi(N.a);const E=v.props&&v.props.onVnodeMounted;E&&qt(E,N.parent,v)},a)},s.deactivate=v=>{const T=v.component;l(v,d,null,1,a),ft(()=>{T.da&&xi(T.da);const x=v.props&&v.props.onVnodeUnmounted;x&&qt(x,T.parent,v),T.isDeactivated=!0},a)};function f(v){ac(v),u(v,t,a,!0)}function p(v){i.forEach((T,x)=>{const y=Pc(T.type);y&&(!v||!v(y))&&m(x)})}function m(v){const T=i.get(v);!o||!ds(T,o)?f(T):o&&ac(o),i.delete(v),r.delete(v)}mt(()=>[n.include,n.exclude],([v,T])=>{v&&p(x=>sr(v,x)),T&&p(x=>!sr(T,x))},{flush:"post",deep:!0});let _=null;const g=()=>{_!=null&&i.set(_,cc(t.subTree))};return xs(g),Sl(g),El(()=>{i.forEach(v=>{const{subTree:T,suspense:x}=t,y=cc(T);if(v.type===y.type&&v.key===y.key){ac(y);const A=y.component.da;A&&ft(A,x);return}f(v)})}),()=>{if(_=null,!e.default)return null;const v=e.default(),T=v[0];if(v.length>1)return o=null,v;if(!yr(T)||!(T.shapeFlag&4)&&!(T.shapeFlag&128))return o=null,T;let x=cc(T);const y=x.type,A=Pc(Ei(x)?x.type.__asyncResolved||{}:y),{include:N,exclude:E,max:I}=n;if(N&&(!A||!sr(N,A))||E&&A&&sr(E,A))return o=x,T;const k=x.key==null?y:x.key,D=i.get(k);return x.el&&(x=Bn(x),T.shapeFlag&128&&(T.ssContent=x)),_=k,D?(x.el=D.el,x.component=D.component,x.transition&&Ni(x,x.transition),x.shapeFlag|=512,r.delete(k),r.add(k)):(r.add(k),I&&r.size>parseInt(I,10)&&m(r.values().next().value)),x.shapeFlag|=256,o=x,ef(T.type)?T:x}}},Hg=Wg;function sr(n,e){return fe(n)?n.some(t=>sr(t,e)):Qe(n)?n.split(",").includes(e):Dm(n)?n.test(e):!1}function zg(n,e){af(n,"a",e)}function Gg(n,e){af(n,"da",e)}function af(n,e,t=ht){const s=n.__wdc||(n.__wdc=()=>{let i=t;for(;i;){if(i.isDeactivated)return;i=i.parent}return n()});if(Ca(e,s,t),t){let i=t.parent;for(;i&&i.parent;)Ea(i.parent.vnode)&&Kg(s,e,t,i),i=i.parent}}function Kg(n,e,t,s){const i=Ca(e,n,s,!0);cf(()=>{cl(s[e],i)},t)}function ac(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function cc(n){return n.shapeFlag&128?n.ssContent:n}function Ca(n,e,t=ht,s=!1){if(t){const i=t[n]||(t[n]=[]),r=e.__weh||(e.__weh=(...o)=>{if(t.isUnmounted)return;ti(),Mi(t);const a=Wt(e,t,n,o);return Us(),ni(),a});return s?i.unshift(r):i.push(r),r}}const Kn=n=>(e,t=ht)=>(!ka||n==="sp")&&Ca(n,(...s)=>e(...s),t),Yg=Kn("bm"),xs=Kn("m"),Zg=Kn("bu"),Sl=Kn("u"),El=Kn("bum"),cf=Kn("um"),Xg=Kn("sp"),Qg=Kn("rtg"),Jg=Kn("rtc");function e_(n,e=ht){Ca("ec",n,e)}function yt(n,e,t,s){let i;const r=t&&t[s];if(fe(n)||Qe(n)){i=new Array(n.length);for(let o=0,a=n.length;oe(o,a,void 0,r&&r[a]));else{const o=Object.keys(n);i=new Array(o.length);for(let a=0,c=o.length;ayr(e)?!(e.type===Ht||e.type===Re&&!lf(e.children)):!0)?n:null}const Mc=n=>n?bf(n)?Oa(n)||n.proxy:Mc(n.parent):null,or=ot(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>Mc(n.parent),$root:n=>Mc(n.root),$emit:n=>n.emit,$options:n=>Cl(n),$forceUpdate:n=>n.f||(n.f=()=>{n.effect.dirty=!0,vl(n.update)}),$nextTick:n=>n.n||(n.n=Hi.bind(n.proxy)),$watch:n=>qg.bind(n)}),lc=(n,e)=>n!==He&&!n.__isScriptSetup&&Ne(n,e),t_={get({_:n},e){const{ctx:t,setupState:s,data:i,props:r,accessCache:o,type:a,appContext:c}=n;let l;if(e[0]!=="$"){const f=o[e];if(f!==void 0)switch(f){case 1:return s[e];case 2:return i[e];case 4:return t[e];case 3:return r[e]}else{if(lc(s,e))return o[e]=1,s[e];if(i!==He&&Ne(i,e))return o[e]=2,i[e];if((l=n.propsOptions[0])&&Ne(l,e))return o[e]=3,r[e];if(t!==He&&Ne(t,e))return o[e]=4,t[e];kc&&(o[e]=0)}}const u=or[e];let h,d;if(u)return e==="$attrs"&&Ot(n,"get",e),u(n);if((h=a.__cssModules)&&(h=h[e]))return h;if(t!==He&&Ne(t,e))return o[e]=4,t[e];if(d=c.config.globalProperties,Ne(d,e))return d[e]},set({_:n},e,t){const{data:s,setupState:i,ctx:r}=n;return lc(i,e)?(i[e]=t,!0):s!==He&&Ne(s,e)?(s[e]=t,!0):Ne(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(r[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:s,appContext:i,propsOptions:r}},o){let a;return!!t[o]||n!==He&&Ne(n,o)||lc(e,o)||(a=r[0])&&Ne(a,o)||Ne(s,o)||Ne(or,o)||Ne(i.config.globalProperties,o)},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:Ne(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function Iu(n){return fe(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}let kc=!0;function n_(n){const e=Cl(n),t=n.proxy,s=n.ctx;kc=!1,e.beforeCreate&&Ru(e.beforeCreate,n,"bc");const{data:i,computed:r,methods:o,watch:a,provide:c,inject:l,created:u,beforeMount:h,mounted:d,beforeUpdate:f,updated:p,activated:m,deactivated:_,beforeDestroy:g,beforeUnmount:v,destroyed:T,unmounted:x,render:y,renderTracked:A,renderTriggered:N,errorCaptured:E,serverPrefetch:I,expose:k,inheritAttrs:D,components:M,directives:F,filters:H}=e;if(l&&s_(l,s,null),o)for(const Z in o){const ne=o[Z];ve(ne)&&(s[Z]=ne.bind(t))}if(i){const Z=i.call(t,t);Ue(Z)&&(n.data=Lt(Z))}if(kc=!0,r)for(const Z in r){const ne=r[Z],ae=ve(ne)?ne.bind(t,t):ve(ne.get)?ne.get.bind(t,t):jt,me=!ve(ne)&&ve(ne.set)?ne.set.bind(t):jt,ue=de({get:ae,set:me});Object.defineProperty(s,Z,{enumerable:!0,configurable:!0,get:()=>ue.value,set:ye=>ue.value=ye})}if(a)for(const Z in a)uf(a[Z],s,t,Z);if(c){const Z=ve(c)?c.call(t):c;Reflect.ownKeys(Z).forEach(ne=>{vo(ne,Z[ne])})}u&&Ru(u,n,"c");function Q(Z,ne){fe(ne)?ne.forEach(ae=>Z(ae.bind(t))):ne&&Z(ne.bind(t))}if(Q(Yg,h),Q(xs,d),Q(Zg,f),Q(Sl,p),Q(zg,m),Q(Gg,_),Q(e_,E),Q(Jg,A),Q(Qg,N),Q(El,v),Q(cf,x),Q(Xg,I),fe(k))if(k.length){const Z=n.exposed||(n.exposed={});k.forEach(ne=>{Object.defineProperty(Z,ne,{get:()=>t[ne],set:ae=>t[ne]=ae})})}else n.exposed||(n.exposed={});y&&n.render===jt&&(n.render=y),D!=null&&(n.inheritAttrs=D),M&&(n.components=M),F&&(n.directives=F)}function s_(n,e,t=jt){fe(n)&&(n=Oc(n));for(const s in n){const i=n[s];let r;Ue(i)?"default"in i?r=nn(i.from||s,i.default,!0):r=nn(i.from||s):r=nn(i),vt(r)?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):e[s]=r}}function Ru(n,e,t){Wt(fe(n)?n.map(s=>s.bind(e.proxy)):n.bind(e.proxy),e,t)}function uf(n,e,t,s){const i=s.includes(".")?nf(t,s):()=>t[s];if(Qe(n)){const r=e[n];ve(r)&&mt(i,r)}else if(ve(n))mt(i,n.bind(t));else if(Ue(n))if(fe(n))n.forEach(r=>uf(r,e,t,s));else{const r=ve(n.handler)?n.handler.bind(t):e[n.handler];ve(r)&&mt(i,r,n)}}function Cl(n){const e=n.type,{mixins:t,extends:s}=e,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=n.appContext,a=r.get(e);let c;return a?c=a:!i.length&&!t&&!s?c=e:(c={},i.length&&i.forEach(l=>Io(c,l,o,!0)),Io(c,e,o)),Ue(e)&&r.set(e,c),c}function Io(n,e,t,s=!1){const{mixins:i,extends:r}=e;r&&Io(n,r,t,!0),i&&i.forEach(o=>Io(n,o,t,!0));for(const o in e)if(!(s&&o==="expose")){const a=i_[o]||t&&t[o];n[o]=a?a(n[o],e[o]):e[o]}return n}const i_={data:Du,props:Pu,emits:Pu,methods:ir,computed:ir,beforeCreate:xt,created:xt,beforeMount:xt,mounted:xt,beforeUpdate:xt,updated:xt,beforeDestroy:xt,beforeUnmount:xt,destroyed:xt,unmounted:xt,activated:xt,deactivated:xt,errorCaptured:xt,serverPrefetch:xt,components:ir,directives:ir,watch:o_,provide:Du,inject:r_};function Du(n,e){return e?n?function(){return ot(ve(n)?n.call(this,this):n,ve(e)?e.call(this,this):e)}:e:n}function r_(n,e){return ir(Oc(n),Oc(e))}function Oc(n){if(fe(n)){const e={};for(let t=0;t1)return t&&ve(e)?e.call(s&&s.proxy):e}}function l_(n,e,t,s=!1){const i={},r={};Ao(r,Na,1),n.propsDefaults=Object.create(null),df(n,e,i,r);for(const o in n.propsOptions[0])o in i||(i[o]=void 0);t?n.props=s?i:Bd(i):n.type.props?n.props=i:n.props=r,n.attrs=r}function u_(n,e,t,s){const{props:i,attrs:r,vnode:{patchFlag:o}}=n,a=Ae(i),[c]=n.propsOptions;let l=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=n.vnode.dynamicProps;for(let h=0;h{c=!0;const[d,f]=ff(h,e,!0);ot(o,d),f&&a.push(...f)};!t&&e.mixins.length&&e.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}if(!r&&!c)return Ue(n)&&s.set(n,wi),wi;if(fe(r))for(let u=0;u-1,f[1]=m<0||p-1||Ne(f,"default"))&&a.push(h)}}}const l=[o,a];return Ue(n)&&s.set(n,l),l}function $u(n){return n[0]!=="$"}function Fu(n){const e=n&&n.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:n===null?"null":""}function Vu(n,e){return Fu(n)===Fu(e)}function Lu(n,e){return fe(e)?e.findIndex(t=>Vu(t,n)):ve(e)&&Vu(e,n)?0:-1}const pf=n=>n[0]==="_"||n==="$stable",Al=n=>fe(n)?n.map(wn):[wn(n)],h_=(n,e,t)=>{if(e._n)return e;const s=tn((...i)=>Al(e(...i)),t);return s._c=!1,s},mf=(n,e,t)=>{const s=n._ctx;for(const i in n){if(pf(i))continue;const r=n[i];if(ve(r))e[i]=h_(i,r,s);else if(r!=null){const o=Al(r);e[i]=()=>o}}},gf=(n,e)=>{const t=Al(e);n.slots.default=()=>t},d_=(n,e)=>{if(n.vnode.shapeFlag&32){const t=e._;t?(n.slots=Ae(e),Ao(e,"_",t)):mf(e,n.slots={})}else n.slots={},e&&gf(n,e);Ao(n.slots,Na,1)},f_=(n,e,t)=>{const{vnode:s,slots:i}=n;let r=!0,o=He;if(s.shapeFlag&32){const a=e._;a?t&&a===1?r=!1:(ot(i,e),!t&&a===1&&delete i._):(r=!e.$stable,mf(e,i)),o=e}else e&&(gf(n,e),o={default:1});if(r)for(const a in i)!pf(a)&&o[a]==null&&delete i[a]};function Rc(n,e,t,s,i=!1){if(fe(n)){n.forEach((d,f)=>Rc(d,e&&(fe(e)?e[f]:e),t,s,i));return}if(Ei(s)&&!i)return;const r=s.shapeFlag&4?Oa(s.component)||s.component.proxy:s.el,o=i?null:r,{i:a,r:c}=n,l=e&&e.r,u=a.refs===He?a.refs={}:a.refs,h=a.setupState;if(l!=null&&l!==c&&(Qe(l)?(u[l]=null,Ne(h,l)&&(h[l]=null)):vt(l)&&(l.value=null)),ve(c))ps(c,a,12,[o,u]);else{const d=Qe(c),f=vt(c);if(d||f){const p=()=>{if(n.f){const m=d?Ne(h,c)?h[c]:u[c]:c.value;i?fe(m)&&cl(m,r):fe(m)?m.includes(r)||m.push(r):d?(u[c]=[r],Ne(h,c)&&(h[c]=u[c])):(c.value=[r],n.k&&(u[n.k]=c.value))}else d?(u[c]=o,Ne(h,c)&&(h[c]=o)):f&&(c.value=o,n.k&&(u[n.k]=o))};o?(p.id=-1,ft(p,t)):p()}}}const ft=Vg;function p_(n){return m_(n)}function m_(n,e){const t=Sd();t.__VUE__=!0;const{insert:s,remove:i,patchProp:r,createElement:o,createText:a,createComment:c,setText:l,setElementText:u,parentNode:h,nextSibling:d,setScopeId:f=jt,insertStaticContent:p}=n,m=(b,S,O,C=null,R=null,B=null,Y=void 0,q=null,z=!!S.dynamicChildren)=>{if(b===S)return;b&&!ds(b,S)&&(C=$(b),ye(b,R,B,!0),b=null),S.patchFlag===-2&&(z=!1,S.dynamicChildren=null);const{type:j,ref:te,shapeFlag:le}=S;switch(j){case Aa:_(b,S,O,C);break;case Ht:g(b,S,O,C);break;case wo:b==null&&v(S,O,C,Y);break;case Re:M(b,S,O,C,R,B,Y,q,z);break;default:le&1?y(b,S,O,C,R,B,Y,q,z):le&6?F(b,S,O,C,R,B,Y,q,z):(le&64||le&128)&&j.process(b,S,O,C,R,B,Y,q,z,J)}te!=null&&R&&Rc(te,b&&b.ref,B,S||b,!S)},_=(b,S,O,C)=>{if(b==null)s(S.el=a(S.children),O,C);else{const R=S.el=b.el;S.children!==b.children&&l(R,S.children)}},g=(b,S,O,C)=>{b==null?s(S.el=c(S.children||""),O,C):S.el=b.el},v=(b,S,O,C)=>{[b.el,b.anchor]=p(b.children,S,O,C,b.el,b.anchor)},T=({el:b,anchor:S},O,C)=>{let R;for(;b&&b!==S;)R=d(b),s(b,O,C),b=R;s(S,O,C)},x=({el:b,anchor:S})=>{let O;for(;b&&b!==S;)O=d(b),i(b),b=O;i(S)},y=(b,S,O,C,R,B,Y,q,z)=>{S.type==="svg"?Y="svg":S.type==="math"&&(Y="mathml"),b==null?A(S,O,C,R,B,Y,q,z):I(b,S,R,B,Y,q,z)},A=(b,S,O,C,R,B,Y,q)=>{let z,j;const{props:te,shapeFlag:le,transition:ce,dirs:ge}=b;if(z=b.el=o(b.type,B,te&&te.is,te),le&8?u(z,b.children):le&16&&E(b.children,z,null,C,R,uc(b,B),Y,q),ge&&Ns(b,null,C,"created"),N(z,b,b.scopeId,Y,C),te){for(const Ve in te)Ve!=="value"&&!yo(Ve)&&r(z,Ve,null,te[Ve],B,b.children,C,R,be);"value"in te&&r(z,"value",null,te.value,B),(j=te.onVnodeBeforeMount)&&qt(j,C,b)}ge&&Ns(b,null,C,"beforeMount");const Se=g_(R,ce);Se&&ce.beforeEnter(z),s(z,S,O),((j=te&&te.onVnodeMounted)||Se||ge)&&ft(()=>{j&&qt(j,C,b),Se&&ce.enter(z),ge&&Ns(b,null,C,"mounted")},R)},N=(b,S,O,C,R)=>{if(O&&f(b,O),C)for(let B=0;B{for(let j=z;j{const q=S.el=b.el;let{patchFlag:z,dynamicChildren:j,dirs:te}=S;z|=b.patchFlag&16;const le=b.props||He,ce=S.props||He;let ge;if(O&&Ms(O,!1),(ge=ce.onVnodeBeforeUpdate)&&qt(ge,O,S,b),te&&Ns(S,b,O,"beforeUpdate"),O&&Ms(O,!0),j?k(b.dynamicChildren,j,q,O,C,uc(S,R),B):Y||ne(b,S,q,null,O,C,uc(S,R),B,!1),z>0){if(z&16)D(q,S,le,ce,O,C,R);else if(z&2&&le.class!==ce.class&&r(q,"class",null,ce.class,R),z&4&&r(q,"style",le.style,ce.style,R),z&8){const Se=S.dynamicProps;for(let Ve=0;Ve{ge&&qt(ge,O,S,b),te&&Ns(S,b,O,"updated")},C)},k=(b,S,O,C,R,B,Y)=>{for(let q=0;q{if(O!==C){if(O!==He)for(const q in O)!yo(q)&&!(q in C)&&r(b,q,O[q],null,Y,S.children,R,B,be);for(const q in C){if(yo(q))continue;const z=C[q],j=O[q];z!==j&&q!=="value"&&r(b,q,j,z,Y,S.children,R,B,be)}"value"in C&&r(b,"value",O.value,C.value,Y)}},M=(b,S,O,C,R,B,Y,q,z)=>{const j=S.el=b?b.el:a(""),te=S.anchor=b?b.anchor:a("");let{patchFlag:le,dynamicChildren:ce,slotScopeIds:ge}=S;ge&&(q=q?q.concat(ge):ge),b==null?(s(j,O,C),s(te,O,C),E(S.children,O,te,R,B,Y,q,z)):le>0&&le&64&&ce&&b.dynamicChildren?(k(b.dynamicChildren,ce,O,R,B,Y,q),(S.key!=null||R&&S===R.subTree)&&_f(b,S,!0)):ne(b,S,O,te,R,B,Y,q,z)},F=(b,S,O,C,R,B,Y,q,z)=>{S.slotScopeIds=q,b==null?S.shapeFlag&512?R.ctx.activate(S,O,C,Y,z):H(S,O,C,R,B,Y,z):se(b,S,z)},H=(b,S,O,C,R,B,Y)=>{const q=b.component=E_(b,C,R);if(Ea(b)&&(q.ctx.renderer=J),C_(q),q.asyncDep){if(R&&R.registerDep(q,Q),!b.el){const z=q.subTree=xe(Ht);g(null,z,S,O)}}else Q(q,b,S,O,R,B,Y)},se=(b,S,O)=>{const C=S.component=b.component;if(Dg(b,S,O))if(C.asyncDep&&!C.asyncResolved){Z(C,S,O);return}else C.next=S,Ag(C.update),C.effect.dirty=!0,C.update();else S.el=b.el,C.vnode=S},Q=(b,S,O,C,R,B,Y)=>{const q=()=>{if(b.isMounted){let{next:te,bu:le,u:ce,parent:ge,vnode:Se}=b;{const li=yf(b);if(li){te&&(te.el=Se.el,Z(b,te,Y)),li.asyncDep.then(()=>{b.isUnmounted||q()});return}}let Ve=te,Ge;Ms(b,!1),te?(te.el=Se.el,Z(b,te,Y)):te=Se,le&&xi(le),(Ge=te.props&&te.props.onVnodeBeforeUpdate)&&qt(Ge,ge,te,Se),Ms(b,!0);const ct=rc(b),Kt=b.subTree;b.subTree=ct,m(Kt,ct,h(Kt.el),$(Kt),b,R,B),te.el=ct.el,Ve===null&&Pg(b,ct.el),ce&&ft(ce,R),(Ge=te.props&&te.props.onVnodeUpdated)&&ft(()=>qt(Ge,ge,te,Se),R)}else{let te;const{el:le,props:ce}=S,{bm:ge,m:Se,parent:Ve}=b,Ge=Ei(S);if(Ms(b,!1),ge&&xi(ge),!Ge&&(te=ce&&ce.onVnodeBeforeMount)&&qt(te,Ve,S),Ms(b,!0),le&&Ee){const ct=()=>{b.subTree=rc(b),Ee(le,b.subTree,b,R,null)};Ge?S.type.__asyncLoader().then(()=>!b.isUnmounted&&ct()):ct()}else{const ct=b.subTree=rc(b);m(null,ct,O,C,b,R,B),S.el=ct.el}if(Se&&ft(Se,R),!Ge&&(te=ce&&ce.onVnodeMounted)){const ct=S;ft(()=>qt(te,Ve,ct),R)}(S.shapeFlag&256||Ve&&Ei(Ve.vnode)&&Ve.vnode.shapeFlag&256)&&b.a&&ft(b.a,R),b.isMounted=!0,S=O=C=null}},z=b.effect=new ul(q,jt,()=>vl(j),b.scope),j=b.update=()=>{z.dirty&&z.run()};j.id=b.uid,Ms(b,!0),j()},Z=(b,S,O)=>{S.component=b;const C=b.vnode.props;b.vnode=S,b.next=null,u_(b,S.props,C,O),f_(b,S.children,O),ti(),Nu(b),ni()},ne=(b,S,O,C,R,B,Y,q,z=!1)=>{const j=b&&b.children,te=b?b.shapeFlag:0,le=S.children,{patchFlag:ce,shapeFlag:ge}=S;if(ce>0){if(ce&128){me(j,le,O,C,R,B,Y,q,z);return}else if(ce&256){ae(j,le,O,C,R,B,Y,q,z);return}}ge&8?(te&16&&be(j,R,B),le!==j&&u(O,le)):te&16?ge&16?me(j,le,O,C,R,B,Y,q,z):be(j,R,B,!0):(te&8&&u(O,""),ge&16&&E(le,O,C,R,B,Y,q,z))},ae=(b,S,O,C,R,B,Y,q,z)=>{b=b||wi,S=S||wi;const j=b.length,te=S.length,le=Math.min(j,te);let ce;for(ce=0;cete?be(b,R,B,!0,!1,le):E(S,O,C,R,B,Y,q,z,le)},me=(b,S,O,C,R,B,Y,q,z)=>{let j=0;const te=S.length;let le=b.length-1,ce=te-1;for(;j<=le&&j<=ce;){const ge=b[j],Se=S[j]=z?cs(S[j]):wn(S[j]);if(ds(ge,Se))m(ge,Se,O,null,R,B,Y,q,z);else break;j++}for(;j<=le&&j<=ce;){const ge=b[le],Se=S[ce]=z?cs(S[ce]):wn(S[ce]);if(ds(ge,Se))m(ge,Se,O,null,R,B,Y,q,z);else break;le--,ce--}if(j>le){if(j<=ce){const ge=ce+1,Se=gece)for(;j<=le;)ye(b[j],R,B,!0),j++;else{const ge=j,Se=j,Ve=new Map;for(j=Se;j<=ce;j++){const Rt=S[j]=z?cs(S[j]):wn(S[j]);Rt.key!=null&&Ve.set(Rt.key,j)}let Ge,ct=0;const Kt=ce-Se+1;let li=!1,gu=0;const Qi=new Array(Kt);for(j=0;j=Kt){ye(Rt,R,B,!0);continue}let hn;if(Rt.key!=null)hn=Ve.get(Rt.key);else for(Ge=Se;Ge<=ce;Ge++)if(Qi[Ge-Se]===0&&ds(Rt,S[Ge])){hn=Ge;break}hn===void 0?ye(Rt,R,B,!0):(Qi[hn-Se]=j+1,hn>=gu?gu=hn:li=!0,m(Rt,S[hn],O,null,R,B,Y,q,z),ct++)}const _u=li?__(Qi):wi;for(Ge=_u.length-1,j=Kt-1;j>=0;j--){const Rt=Se+j,hn=S[Rt],yu=Rt+1{const{el:B,type:Y,transition:q,children:z,shapeFlag:j}=b;if(j&6){ue(b.component.subTree,S,O,C);return}if(j&128){b.suspense.move(S,O,C);return}if(j&64){Y.move(b,S,O,J);return}if(Y===Re){s(B,S,O);for(let le=0;leq.enter(B),R);else{const{leave:le,delayLeave:ce,afterLeave:ge}=q,Se=()=>s(B,S,O),Ve=()=>{le(B,()=>{Se(),ge&&ge()})};ce?ce(B,Se,Ve):Ve()}else s(B,S,O)},ye=(b,S,O,C=!1,R=!1)=>{const{type:B,props:Y,ref:q,children:z,dynamicChildren:j,shapeFlag:te,patchFlag:le,dirs:ce}=b;if(q!=null&&Rc(q,null,O,b,!0),te&256){S.ctx.deactivate(b);return}const ge=te&1&&ce,Se=!Ei(b);let Ve;if(Se&&(Ve=Y&&Y.onVnodeBeforeUnmount)&&qt(Ve,S,b),te&6)we(b.component,O,C);else{if(te&128){b.suspense.unmount(O,C);return}ge&&Ns(b,null,S,"beforeUnmount"),te&64?b.type.remove(b,S,O,R,J,C):j&&(B!==Re||le>0&&le&64)?be(j,S,O,!1,!0):(B===Re&&le&384||!R&&te&16)&&be(z,S,O),C&&st(b)}(Se&&(Ve=Y&&Y.onVnodeUnmounted)||ge)&&ft(()=>{Ve&&qt(Ve,S,b),ge&&Ns(b,null,S,"unmounted")},O)},st=b=>{const{type:S,el:O,anchor:C,transition:R}=b;if(S===Re){it(O,C);return}if(S===wo){x(b);return}const B=()=>{i(O),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(b.shapeFlag&1&&R&&!R.persisted){const{leave:Y,delayLeave:q}=R,z=()=>Y(O,B);q?q(b.el,B,z):z()}else B()},it=(b,S)=>{let O;for(;b!==S;)O=d(b),i(b),b=O;i(S)},we=(b,S,O)=>{const{bum:C,scope:R,update:B,subTree:Y,um:q}=b;C&&xi(C),R.stop(),B&&(B.active=!1,ye(Y,b,S,O)),q&&ft(q,S),ft(()=>{b.isUnmounted=!0},S),S&&S.pendingBranch&&!S.isUnmounted&&b.asyncDep&&!b.asyncResolved&&b.suspenseId===S.pendingId&&(S.deps--,S.deps===0&&S.resolve())},be=(b,S,O,C=!1,R=!1,B=0)=>{for(let Y=B;Yb.shapeFlag&6?$(b.component.subTree):b.shapeFlag&128?b.suspense.next():d(b.anchor||b.el),L=(b,S,O)=>{b==null?S._vnode&&ye(S._vnode,null,null,!0):m(S._vnode||null,b,S,null,null,null,O),Nu(),Yd(),S._vnode=b},J={p:m,um:ye,m:ue,r:st,mt:H,mc:E,pc:ne,pbc:k,n:$,o:n};let oe,Ee;return e&&([oe,Ee]=e(J)),{render:L,hydrate:oe,createApp:c_(L,oe)}}function uc({type:n,props:e},t){return t==="svg"&&n==="foreignObject"||t==="mathml"&&n==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:t}function Ms({effect:n,update:e},t){n.allowRecurse=e.allowRecurse=t}function g_(n,e){return(!n||n&&!n.pendingBranch)&&e&&!e.persisted}function _f(n,e,t=!1){const s=n.children,i=e.children;if(fe(s)&&fe(i))for(let r=0;r>1,n[t[a]]0&&(e[s]=t[r-1]),t[r]=s)}}for(r=t.length,o=t[r-1];r-- >0;)t[r]=o,o=e[o];return t}function yf(n){const e=n.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:yf(e)}const y_=n=>n.__isTeleport,Re=Symbol.for("v-fgt"),Aa=Symbol.for("v-txt"),Ht=Symbol.for("v-cmt"),wo=Symbol.for("v-stc"),ar=[];let Qt=null;function K(n=!1){ar.push(Qt=n?null:[])}function v_(){ar.pop(),Qt=ar[ar.length-1]||null}let _r=1;function Bu(n){_r+=n}function vf(n){return n.dynamicChildren=_r>0?Qt||wi:null,v_(),_r>0&&Qt&&Qt.push(n),n}function ee(n,e,t,s,i,r){return vf(V(n,e,t,s,i,r,!0))}function et(n,e,t,s,i){return vf(xe(n,e,t,s,i,!0))}function yr(n){return n?n.__v_isVNode===!0:!1}function ds(n,e){return n.type===e.type&&n.key===e.key}const Na="__vInternal",wf=({key:n})=>n??null,bo=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?Qe(n)||vt(n)||ve(n)?{i:pt,r:n,k:e,f:!!t}:n:null);function V(n,e=null,t=null,s=0,i=null,r=n===Re?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&wf(e),ref:e&&bo(e),scopeId:xa,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:pt};return a?(Nl(c,t),r&128&&n.normalize(c)):t&&(c.shapeFlag|=Qe(t)?8:16),_r>0&&!o&&Qt&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Qt.push(c),c}const xe=w_;function w_(n,e=null,t=null,s=0,i=null,r=!1){if((!n||n===Qd)&&(n=Ht),yr(n)){const a=Bn(n,e,!0);return t&&Nl(a,t),_r>0&&!r&&Qt&&(a.shapeFlag&6?Qt[Qt.indexOf(n)]=a:Qt.push(a)),a.patchFlag|=-2,a}if(k_(n)&&(n=n.__vccOpts),e){e=b_(e);let{class:a,style:c}=e;a&&!Qe(a)&&(e.class=bs(a)),Ue(c)&&(qd(c)&&!fe(c)&&(c=ot({},c)),e.style=Be(c))}const o=Qe(n)?1:ef(n)?128:y_(n)?64:Ue(n)?4:ve(n)?2:0;return V(n,e,t,s,i,o,r,!0)}function b_(n){return n?qd(n)||Na in n?ot({},n):n:null}function Bn(n,e,t=!1){const{props:s,ref:i,patchFlag:r,children:o}=n,a=e?Ma(s||{},e):s;return{__v_isVNode:!0,__v_skip:!0,type:n.type,props:a,key:a&&wf(a),ref:e&&e.ref?t&&i?fe(i)?i.concat(bo(e)):[i,bo(e)]:bo(e):i,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:o,target:n.target,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==Re?r===-1?16:r|16:r,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:n.transition,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&Bn(n.ssContent),ssFallback:n.ssFallback&&Bn(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce}}function vr(n=" ",e=0){return xe(Aa,null,n,e)}function x_(n,e){const t=xe(wo,null,n);return t.staticCount=e,t}function ut(n="",e=!1){return e?(K(),et(Ht,null,n)):xe(Ht,null,n)}function wn(n){return n==null||typeof n=="boolean"?xe(Ht):fe(n)?xe(Re,null,n.slice()):typeof n=="object"?cs(n):xe(Aa,null,String(n))}function cs(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:Bn(n)}function Nl(n,e){let t=0;const{shapeFlag:s}=n;if(e==null)e=null;else if(fe(e))t=16;else if(typeof e=="object")if(s&65){const i=e.default;i&&(i._c&&(i._d=!1),Nl(n,i()),i._c&&(i._d=!0));return}else{t=32;const i=e._;!i&&!(Na in e)?e._ctx=pt:i===3&&pt&&(pt.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else ve(e)?(e={default:e,_ctx:pt},t=32):(e=String(e),s&64?(t=16,e=[vr(e)]):t=8);n.children=e,n.shapeFlag|=t}function Ma(...n){const e={};for(let t=0;tht||pt;let Ml,Dc;{const n=Sd(),e=(t,s)=>{let i;return(i=n[t])||(i=n[t]=[]),i.push(s),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};Ml=e("__VUE_INSTANCE_SETTERS__",t=>ht=t),Dc=e("__VUE_SSR_SETTERS__",t=>ka=t)}const Mi=n=>{Ml(n),n.scope.on()},Us=()=>{ht&&ht.scope.off(),Ml(null)};function bf(n){return n.vnode.shapeFlag&4}let ka=!1;function C_(n,e=!1){e&&Dc(e);const{props:t,children:s}=n.vnode,i=bf(n);l_(n,t,i,e),d_(n,s);const r=i?A_(n,e):void 0;return e&&Dc(!1),r}function A_(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=Ud(new Proxy(n.ctx,t_));const{setup:s}=t;if(s){const i=n.setupContext=s.length>1?M_(n):null;Mi(n),ti();const r=ps(s,n,0,[n.props,i]);if(ni(),Us(),bd(r)){if(r.then(Us,Us),e)return r.then(o=>{qu(n,o,e)}).catch(o=>{wa(o,n,0)});n.asyncDep=r}else qu(n,r,e)}else xf(n,e)}function qu(n,e,t){ve(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:Ue(e)&&(n.setupState=zd(e)),xf(n,t)}let Uu;function xf(n,e,t){const s=n.type;if(!n.render){if(!e&&Uu&&!s.render){const i=s.template||Cl(n).template;if(i){const{isCustomElement:r,compilerOptions:o}=n.appContext.config,{delimiters:a,compilerOptions:c}=s,l=ot(ot({isCustomElement:r,delimiters:a},o),c);s.render=Uu(i,l)}}n.render=s.render||jt}{Mi(n),ti();try{n_(n)}finally{ni(),Us()}}}function N_(n){return n.attrsProxy||(n.attrsProxy=new Proxy(n.attrs,{get(e,t){return Ot(n,"get","$attrs"),e[t]}}))}function M_(n){const e=t=>{n.exposed=t||{}};return{get attrs(){return N_(n)},slots:n.slots,emit:n.emit,expose:e}}function Oa(n){if(n.exposed)return n.exposeProxy||(n.exposeProxy=new Proxy(zd(Ud(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in or)return or[t](n)},has(e,t){return t in e||t in or}}))}function Pc(n,e=!0){return ve(n)?n.displayName||n.name:n.name||e&&n.__name}function k_(n){return ve(n)&&"__vccOpts"in n}const de=(n,e)=>gg(n,e,ka);function Ia(n,e,t){const s=arguments.length;return s===2?Ue(e)&&!fe(e)?yr(e)?xe(n,null,[e]):xe(n,e):xe(n,null,e):(s>3?t=Array.prototype.slice.call(arguments,2):s===3&&yr(t)&&(t=[t]),xe(n,e,t))}const O_="3.4.3",I_="http://www.w3.org/2000/svg",R_="http://www.w3.org/1998/Math/MathML",ls=typeof document<"u"?document:null,ju=ls&&ls.createElement("template"),D_={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,s)=>{const i=e==="svg"?ls.createElementNS(I_,n):e==="mathml"?ls.createElementNS(R_,n):ls.createElement(n,t?{is:t}:void 0);return n==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:n=>ls.createTextNode(n),createComment:n=>ls.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>ls.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,s,i,r){const o=t?t.previousSibling:e.lastChild;if(i&&(i===r||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),t),!(i===r||!(i=i.nextSibling)););else{ju.innerHTML=s==="svg"?`${n}`:s==="mathml"?`${n}`:n;const a=ju.content;if(s==="svg"||s==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}e.insertBefore(a,t)}return[o?o.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},es="transition",Ji="animation",ki=Symbol("_vtc"),Ra=(n,{slots:e})=>Ia(jg,Sf(n),e);Ra.displayName="Transition";const Tf={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},P_=Ra.props=ot({},rf,Tf),ks=(n,e=[])=>{fe(n)?n.forEach(t=>t(...e)):n&&n(...e)},Wu=n=>n?fe(n)?n.some(e=>e.length>1):n.length>1:!1;function Sf(n){const e={};for(const M in n)M in Tf||(e[M]=n[M]);if(n.css===!1)return e;const{name:t="v",type:s,duration:i,enterFromClass:r=`${t}-enter-from`,enterActiveClass:o=`${t}-enter-active`,enterToClass:a=`${t}-enter-to`,appearFromClass:c=r,appearActiveClass:l=o,appearToClass:u=a,leaveFromClass:h=`${t}-leave-from`,leaveActiveClass:d=`${t}-leave-active`,leaveToClass:f=`${t}-leave-to`}=n,p=$_(i),m=p&&p[0],_=p&&p[1],{onBeforeEnter:g,onEnter:v,onEnterCancelled:T,onLeave:x,onLeaveCancelled:y,onBeforeAppear:A=g,onAppear:N=v,onAppearCancelled:E=T}=e,I=(M,F,H)=>{ss(M,F?u:a),ss(M,F?l:o),H&&H()},k=(M,F)=>{M._isLeaving=!1,ss(M,h),ss(M,f),ss(M,d),F&&F()},D=M=>(F,H)=>{const se=M?N:v,Q=()=>I(F,M,H);ks(se,[F,Q]),Hu(()=>{ss(F,M?c:r),Rn(F,M?u:a),Wu(se)||zu(F,s,m,Q)})};return ot(e,{onBeforeEnter(M){ks(g,[M]),Rn(M,r),Rn(M,o)},onBeforeAppear(M){ks(A,[M]),Rn(M,c),Rn(M,l)},onEnter:D(!1),onAppear:D(!0),onLeave(M,F){M._isLeaving=!0;const H=()=>k(M,F);Rn(M,h),Cf(),Rn(M,d),Hu(()=>{M._isLeaving&&(ss(M,h),Rn(M,f),Wu(x)||zu(M,s,_,H))}),ks(x,[M,H])},onEnterCancelled(M){I(M,!1),ks(T,[M])},onAppearCancelled(M){I(M,!0),ks(E,[M])},onLeaveCancelled(M){k(M),ks(y,[M])}})}function $_(n){if(n==null)return null;if(Ue(n))return[hc(n.enter),hc(n.leave)];{const e=hc(n);return[e,e]}}function hc(n){return Lm(n)}function Rn(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n[ki]||(n[ki]=new Set)).add(e)}function ss(n,e){e.split(/\s+/).forEach(s=>s&&n.classList.remove(s));const t=n[ki];t&&(t.delete(e),t.size||(n[ki]=void 0))}function Hu(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let F_=0;function zu(n,e,t,s){const i=n._endId=++F_,r=()=>{i===n._endId&&s()};if(t)return setTimeout(r,t);const{type:o,timeout:a,propCount:c}=Ef(n,e);if(!o)return s();const l=o+"end";let u=0;const h=()=>{n.removeEventListener(l,d),r()},d=f=>{f.target===n&&++u>=c&&h()};setTimeout(()=>{u(t[p]||"").split(", "),i=s(`${es}Delay`),r=s(`${es}Duration`),o=Gu(i,r),a=s(`${Ji}Delay`),c=s(`${Ji}Duration`),l=Gu(a,c);let u=null,h=0,d=0;e===es?o>0&&(u=es,h=o,d=r.length):e===Ji?l>0&&(u=Ji,h=l,d=c.length):(h=Math.max(o,l),u=h>0?o>l?es:Ji:null,d=u?u===es?r.length:c.length:0);const f=u===es&&/\b(transform|all)(,|$)/.test(s(`${es}Property`).toString());return{type:u,timeout:h,propCount:d,hasTransform:f}}function Gu(n,e){for(;n.lengthKu(t)+Ku(n[s])))}function Ku(n){return n==="auto"?0:Number(n.slice(0,-1).replace(",","."))*1e3}function Cf(){return document.body.offsetHeight}function V_(n,e,t){const s=n[ki];s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}const kl=Symbol("_vod"),Do={beforeMount(n,{value:e},{transition:t}){n[kl]=n.style.display==="none"?"":n.style.display,t&&e?t.beforeEnter(n):er(n,e)},mounted(n,{value:e},{transition:t}){t&&e&&t.enter(n)},updated(n,{value:e,oldValue:t},{transition:s}){!e!=!t&&(s?e?(s.beforeEnter(n),er(n,!0),s.enter(n)):s.leave(n,()=>{er(n,!1)}):er(n,e))},beforeUnmount(n,{value:e}){er(n,e)}};function er(n,e){n.style.display=e?n[kl]:"none"}const L_=Symbol("");function B_(n,e,t){const s=n.style,i=Qe(t);if(t&&!i){if(e&&!Qe(e))for(const r in e)t[r]==null&&$c(s,r,"");for(const r in t)$c(s,r,t[r])}else{const r=s.display;if(i){if(e!==t){const o=s[L_];o&&(t+=";"+o),s.cssText=t}}else e&&n.removeAttribute("style");kl in n&&(s.display=r)}}const Yu=/\s*!important$/;function $c(n,e,t){if(fe(t))t.forEach(s=>$c(n,e,s));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const s=q_(n,e);Yu.test(t)?n.setProperty(ei(s),t.replace(Yu,""),"important"):n[s]=t}}const Zu=["Webkit","Moz","ms"],dc={};function q_(n,e){const t=dc[e];if(t)return t;let s=Sn(e);if(s!=="filter"&&s in n)return dc[e]=s;s=_a(s);for(let i=0;ifc||(G_.then(()=>fc=0),fc=Date.now());function Y_(n,e){const t=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=t.attached)return;Wt(Z_(s,t.value),e,5,[s])};return t.value=n,t.attached=K_(),t}function Z_(n,e){if(fe(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(s=>i=>!i._stopped&&s&&s(i))}else return e}const eh=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&n.charCodeAt(2)>96&&n.charCodeAt(2)<123,X_=(n,e,t,s,i,r,o,a,c)=>{const l=i==="svg";e==="class"?V_(n,s,l):e==="style"?B_(n,t,s):pa(e)?al(e)||H_(n,e,t,s,o):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Q_(n,e,s,l))?j_(n,e,s,r,o,a,c):(e==="true-value"?n._trueValue=s:e==="false-value"&&(n._falseValue=s),U_(n,e,s,l))};function Q_(n,e,t,s){if(s)return!!(e==="innerHTML"||e==="textContent"||e in n&&eh(e)&&ve(t));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const i=n.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return eh(e)&&Qe(t)?!1:e in n}const Nf=new WeakMap,Mf=new WeakMap,Po=Symbol("_moveCb"),th=Symbol("_enterCb"),kf={name:"TransitionGroup",props:ot({},P_,{tag:String,moveClass:String}),setup(n,{slots:e}){const t=jr(),s=sf();let i,r;return Sl(()=>{if(!i.length)return;const o=n.moveClass||`${n.name||"v"}-move`;if(!i0(i[0].el,t.vnode.el,o))return;i.forEach(t0),i.forEach(n0);const a=i.filter(s0);Cf(),a.forEach(c=>{const l=c.el,u=l.style;Rn(l,o),u.transform=u.webkitTransform=u.transitionDuration="";const h=l[Po]=d=>{d&&d.target!==l||(!d||/transform$/.test(d.propertyName))&&(l.removeEventListener("transitionend",h),l[Po]=null,ss(l,o))};l.addEventListener("transitionend",h)})}),()=>{const o=Ae(n),a=Sf(o);let c=o.tag||Re;i=r,r=e.default?Tl(e.default()):[];for(let l=0;ldelete n.mode;kf.props;const e0=kf;function t0(n){const e=n.el;e[Po]&&e[Po](),e[th]&&e[th]()}function n0(n){Mf.set(n,n.el.getBoundingClientRect())}function s0(n){const e=Nf.get(n),t=Mf.get(n),s=e.left-t.left,i=e.top-t.top;if(s||i){const r=n.el.style;return r.transform=r.webkitTransform=`translate(${s}px,${i}px)`,r.transitionDuration="0s",n}}function i0(n,e,t){const s=n.cloneNode(),i=n[ki];i&&i.forEach(a=>{a.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),t.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const r=e.nodeType===1?e:e.parentNode;r.appendChild(s);const{hasTransform:o}=Ef(s);return r.removeChild(s),o}const nh=n=>{const e=n.props["onUpdate:modelValue"]||!1;return fe(e)?t=>xi(e,t):e},pc=Symbol("_assign"),r0={deep:!0,created(n,e,t){n[pc]=nh(t),Af(n,"change",()=>{const s=n._modelValue,i=o0(n),r=n.checked,o=n[pc];if(fe(s)){const a=Cd(s,i),c=a!==-1;if(r&&!c)o(s.concat(i));else if(!r&&c){const l=[...s];l.splice(a,1),o(l)}}else if(ma(s)){const a=new Set(s);r?a.add(i):a.delete(i),o(a)}else o(Of(n,r))})},mounted:sh,beforeUpdate(n,e,t){n[pc]=nh(t),sh(n,e,t)}};function sh(n,{value:e,oldValue:t},s){n._modelValue=e,fe(e)?n.checked=Cd(e,s.props.value)>-1:ma(e)?n.checked=e.has(s.props.value):e!==t&&(n.checked=ya(e,Of(n,!0)))}function o0(n){return"_value"in n?n._value:n.value}function Of(n,e){const t=e?"_trueValue":"_falseValue";return t in n?n[t]:e}const a0=["ctrl","shift","alt","meta"],c0={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,e)=>a0.some(t=>n[`${t}Key`]&&!e.includes(t))},l0=(n,e)=>{const t=n._withMods||(n._withMods={}),s=e.join(".");return t[s]||(t[s]=(i,...r)=>{for(let o=0;o{const t=n._withKeys||(n._withKeys={}),s=e.join(".");return t[s]||(t[s]=i=>{if(!("key"in i))return;const r=ei(i.key);if(e.some(o=>o===r||u0[o]===r))return n(i)})},d0=ot({patchProp:X_},D_);let ih;function f0(){return ih||(ih=p_(d0))}const If=(...n)=>{const e=f0().createApp(...n),{mount:t}=e;return e.mount=s=>{const i=m0(s);if(!i)return;const r=e._component;!ve(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.innerHTML="";const o=t(i,!1,p0(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},e};function p0(n){if(n instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&n instanceof MathMLElement)return"mathml"}function m0(n){return Qe(n)?document.querySelector(n):n}const g0={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},_0=V("path",{fill:"currentColor",d:"M248 144a8 8 0 0 1-16 0a96.11 96.11 0 0 0-96-96a88.1 88.1 0 0 0-88 88a80.09 80.09 0 0 0 80 80a72.08 72.08 0 0 0 72-72a64.07 64.07 0 0 0-64-64a56.06 56.06 0 0 0-56 56a48.05 48.05 0 0 0 48 48a40 40 0 0 0 40-40a32 32 0 0 0-32-32a24 24 0 0 0-24 24a16 16 0 0 0 16 16a8 8 0 0 0 8-8a8 8 0 0 1 0-16a16 16 0 0 1 16 16a24 24 0 0 1-24 24a32 32 0 0 1-32-32a40 40 0 0 1 40-40a48.05 48.05 0 0 1 48 48a56.06 56.06 0 0 1-56 56a64.07 64.07 0 0 1-64-64a72.08 72.08 0 0 1 72-72a80.09 80.09 0 0 1 80 80a88.1 88.1 0 0 1-88 88a96.11 96.11 0 0 1-96-96A104.11 104.11 0 0 1 136 32a112.12 112.12 0 0 1 112 112"},null,-1),y0=[_0];function v0(n,e){return K(),ee("svg",g0,[...y0])}const w0={name:"ph-spiral",render:v0},b0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},x0=V("path",{fill:"currentColor",d:"M4 9h4v11H4zm12 4h4v7h-4zm-6-9h4v16h-4z"},null,-1),T0=[x0];function S0(n,e){return K(),ee("svg",b0,[...T0])}const E0={name:"ic-outline-bar-chart",render:S0},C0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},A0=V("path",{fill:"currentColor",d:"M11 2.05v3.02a7.002 7.002 0 1 0 5.192 12.536l2.137 2.137A9.958 9.958 0 0 1 12 22C6.477 22 2 17.523 2 12c0-5.185 3.947-9.449 9-9.95M21.95 13a9.954 9.954 0 0 1-2.207 5.328l-2.137-2.136A6.965 6.965 0 0 0 18.93 13zM13.002 2.05a10.004 10.004 0 0 1 8.95 8.95H18.93a7.005 7.005 0 0 0-5.928-5.929z"},null,-1),N0=[A0];function M0(n,e){return K(),ee("svg",C0,[...N0])}const k0={name:"ri-donut-chart-fill",render:M0},O0={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},I0=V("path",{fill:"currentColor",d:"M15 5v10H5v2h10v10h2V17h10v-2H17V5z"},null,-1),R0=[I0];function D0(n,e){return K(),ee("svg",O0,[...R0])}const P0={name:"la-plus",render:D0},$0={style:{"vertical-align":"middle"},viewBox:"0 0 16 16",width:"1.2em",height:"1.2em"},F0=V("path",{fill:"currentColor",d:"M6.174 1.184a2 2 0 0 1 3.652 0A2 2 0 0 1 12.99 3.01a2 2 0 0 1 1.826 3.164a2 2 0 0 1 0 3.652a2 2 0 0 1-1.826 3.164a2 2 0 0 1-3.164 1.826a2 2 0 0 1-3.652 0A2 2 0 0 1 3.01 12.99a2 2 0 0 1-1.826-3.164a2 2 0 0 1 0-3.652A2 2 0 0 1 3.01 3.01a2 2 0 0 1 3.164-1.826M8 1a1 1 0 0 0-.998 1.03l.01.091c.012.077.029.176.054.296c.049.241.122.542.213.887c.182.688.428 1.513.676 2.314L8 5.762l.045-.144c.248-.8.494-1.626.676-2.314c.091-.345.164-.646.213-.887a4.997 4.997 0 0 0 .064-.386L9 2a1 1 0 0 0-1-1M2 9l.03-.002l.091-.01a4.99 4.99 0 0 0 .296-.054c.241-.049.542-.122.887-.213a60.59 60.59 0 0 0 2.314-.676L5.762 8l-.144-.045a60.59 60.59 0 0 0-2.314-.676a16.705 16.705 0 0 0-.887-.213a4.99 4.99 0 0 0-.386-.064L2 7a1 1 0 1 0 0 2m7 5l-.002-.03a5.005 5.005 0 0 0-.064-.386a16.398 16.398 0 0 0-.213-.888a60.582 60.582 0 0 0-.676-2.314L8 10.238l-.045.144c-.248.8-.494 1.626-.676 2.314c-.091.345-.164.646-.213.887a4.996 4.996 0 0 0-.064.386L7 14a1 1 0 1 0 2 0m-5.696-2.134l.025-.017a5.001 5.001 0 0 0 .303-.248c.184-.164.408-.377.661-.629A60.614 60.614 0 0 0 5.96 9.23l.103-.111l-.147.033a60.88 60.88 0 0 0-2.343.572c-.344.093-.64.18-.874.258a5.063 5.063 0 0 0-.367.138l-.027.014a1 1 0 1 0 1 1.732zM4.5 14.062a1 1 0 0 0 1.366-.366l.014-.027c.01-.02.021-.048.036-.084a5.09 5.09 0 0 0 .102-.283c.078-.233.165-.53.258-.874a60.6 60.6 0 0 0 .572-2.343l.033-.147l-.11.102a60.848 60.848 0 0 0-1.743 1.667a17.07 17.07 0 0 0-.629.66a5.06 5.06 0 0 0-.248.304l-.017.025a1 1 0 0 0 .366 1.366m9.196-8.196a1 1 0 0 0-1-1.732l-.025.017a4.951 4.951 0 0 0-.303.248a16.69 16.69 0 0 0-.661.629A60.72 60.72 0 0 0 10.04 6.77l-.102.111l.147-.033a60.6 60.6 0 0 0 2.342-.572c.345-.093.642-.18.875-.258a4.993 4.993 0 0 0 .367-.138a.53.53 0 0 0 .027-.014M11.5 1.938a1 1 0 0 0-1.366.366l-.014.027c-.01.02-.021.048-.036.084a5.09 5.09 0 0 0-.102.283c-.078.233-.165.53-.258.875a60.62 60.62 0 0 0-.572 2.342l-.033.147l.11-.102a60.848 60.848 0 0 0 1.743-1.667c.252-.253.465-.477.629-.66a5.001 5.001 0 0 0 .248-.304l.017-.025a1 1 0 0 0-.366-1.366M14 9a1 1 0 0 0 0-2l-.03.002a4.996 4.996 0 0 0-.386.064c-.242.049-.543.122-.888.213c-.688.182-1.513.428-2.314.676L10.238 8l.144.045c.8.248 1.626.494 2.314.676c.345.091.646.164.887.213a4.996 4.996 0 0 0 .386.064zM1.938 4.5a1 1 0 0 0 .393 1.38l.084.035c.072.03.166.064.283.103c.233.078.53.165.874.258a60.88 60.88 0 0 0 2.343.572l.147.033l-.103-.111a60.584 60.584 0 0 0-1.666-1.742a16.705 16.705 0 0 0-.66-.629a4.996 4.996 0 0 0-.304-.248l-.025-.017a1 1 0 0 0-1.366.366m2.196-1.196l.017.025a4.996 4.996 0 0 0 .248.303c.164.184.377.408.629.661A60.597 60.597 0 0 0 6.77 5.96l.111.102l-.033-.147a60.602 60.602 0 0 0-.572-2.342c-.093-.345-.18-.642-.258-.875a5.006 5.006 0 0 0-.138-.367l-.014-.027a1 1 0 1 0-1.732 1m9.928 8.196a1 1 0 0 0-.366-1.366l-.027-.014a5 5 0 0 0-.367-.138c-.233-.078-.53-.165-.875-.258a60.619 60.619 0 0 0-2.342-.572l-.147-.033l.102.111a60.73 60.73 0 0 0 1.667 1.742c.253.252.477.465.66.629a4.946 4.946 0 0 0 .304.248l.025.017a1 1 0 0 0 1.366-.366m-3.928 2.196a1 1 0 0 0 1.732-1l-.017-.025a5.065 5.065 0 0 0-.248-.303a16.705 16.705 0 0 0-.629-.661A60.462 60.462 0 0 0 9.23 10.04l-.111-.102l.033.147a60.6 60.6 0 0 0 .572 2.342c.093.345.18.642.258.875a4.985 4.985 0 0 0 .138.367a.575.575 0 0 0 .014.027M8 9.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3"},null,-1),V0=[F0];function L0(n,e){return K(),ee("svg",$0,[...V0])}const B0={name:"bi-flower1",render:L0},q0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},U0=V("path",{fill:"currentColor",d:"M12 4C6.486 4 2 8.486 2 14a9.89 9.89 0 0 0 1.051 4.445c.17.34.516.555.895.555h16.107c.379 0 .726-.215.896-.555A9.89 9.89 0 0 0 22 14c0-5.514-4.486-10-10-10m7.41 13H4.59A7.875 7.875 0 0 1 4 14c0-4.411 3.589-8 8-8s8 3.589 8 8a7.875 7.875 0 0 1-.59 3"},null,-1),j0=V("path",{fill:"currentColor",d:"M10.939 12.939a1.53 1.53 0 0 0 0 2.561a1.53 1.53 0 0 0 2.121-.44l3.962-6.038a.034.034 0 0 0 0-.035a.033.033 0 0 0-.045-.01z"},null,-1),W0=[U0,j0];function H0(n,e){return K(),ee("svg",q0,[...W0])}const z0={name:"bx-tachometer",render:H0},G0={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},K0=V("path",{fill:"currentColor",d:"M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32 32 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32m-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Zm-90.9-86.87a8 8 0 0 1 15.18-5.06l8 24a8 8 0 0 1-15.18 5.06Zm-64 58.94a8 8 0 0 1 10.12-5.06l24 8a8 8 0 0 1-5.06 15.18l-24-8a8 8 0 0 1-5.06-10.12m207.18 69.06a8 8 0 0 1-10.12 5.06l-24-8a8 8 0 0 1 5.06-15.18l24 8a8 8 0 0 1 5.06 10.12m-64 58.94a8 8 0 0 1-15.18 5.06l-8-24a8 8 0 0 1 15.18-5.06Z"},null,-1),Y0=[K0];function Z0(n,e){return K(),ee("svg",G0,[...Y0])}const X0={name:"ph-plugs-connected",render:Z0},Q0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},J0=V("path",{fill:"currentColor",d:"M22 7h-9v2h9zm0 8h-9v2h9zM5.54 11L2 7.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41zm0 8L2 15.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41z"},null,-1),e1=[J0];function t1(n,e){return K(),ee("svg",Q0,[...e1])}const n1={name:"ic-baseline-checklist",render:t1},s1={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},i1=V("path",{fill:"currentColor",d:"M20.844 2c-1.64 0-3.297.852-4.407 2.156v.032c-.789.98-1.644 2.527-1.375 4.312c-.128-.05-.136-.035-.28-.094c-.692-.281-1.548-.594-2.563-.594c-3.98 0-7 3.606-7 8.344c0 3.067 1.031 5.942 2.406 8.094c.688 1.078 1.469 1.965 2.281 2.625c.813.66 1.664 1.125 2.625 1.125c.961 0 1.68-.324 2.219-.563c.54-.238.957-.437 1.75-.437c.715 0 1.078.195 1.625.438c.547.242 1.293.562 2.281.562c1.07 0 1.98-.523 2.719-1.188c.738-.664 1.36-1.519 1.875-2.343c.516-.824.922-1.633 1.219-2.282c.148-.324.258-.593.343-.812c.086-.219.13-.281.188-.531l.188-.813l-.75-.343a5.33 5.33 0 0 1-1.5-1.063c-.625-.637-1.157-1.508-1.157-2.844A4.08 4.08 0 0 1 24.563 13c.265-.309.542-.563.75-.719c.105-.078.187-.117.25-.156c.062-.04.05-.027.156-.094l.843-.531l-.562-.844c-1.633-2.511-4.246-2.844-5.281-2.844c-.48 0-.82.168-1.25.25c.242-.226.554-.367.75-.624c.004-.004-.004-.028 0-.032c.011-.011.023-.02.031-.031h.031a6.16 6.16 0 0 0 1.563-4.438L21.78 2zm-1.188 2.313c-.172.66-.453 1.289-.906 1.78l-.063.063c-.382.516-.972.899-1.562 1.125c.164-.652.45-1.312.844-1.812c.008-.012.023-.02.031-.032c.438-.5 1.043-.875 1.656-1.125zm-7.437 5.5c.558 0 1.172.21 1.812.468c.64.258 1.239.594 2.094.594c.852 0 1.496-.336 2.25-.594c.754-.258 1.559-.469 2.344-.469c.523 0 1.816.333 2.906 1.344c-.191.172-.36.297-.563.531a6.21 6.21 0 0 0-1.53 4.094c0 1.906.831 3.34 1.718 4.25c.55.563.89.696 1.313.938c-.055.125-.086.222-.157.375a18.82 18.82 0 0 1-1.093 2.062c-.454.727-1.004 1.434-1.532 1.907c-.527.472-1 .687-1.375.687c-.566 0-.898-.156-1.468-.406S17.581 25 16.5 25c-1.137 0-1.977.336-2.563.594c-.585.258-.89.406-1.406.406c-.246 0-.777-.2-1.375-.688c-.597-.488-1.254-1.23-1.844-2.156c-1.183-1.851-2.093-4.394-2.093-7c0-3.941 2.199-6.343 5-6.343"},null,-1),r1=[i1];function o1(n,e){return K(),ee("svg",s1,[...r1])}const a1={name:"la-apple",render:o1},c1={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},l1=V("path",{fill:"currentColor",d:"M16 4C9.385 4 4 9.385 4 16s5.385 12 12 12s12-5.385 12-12S22.615 4 16 4m0 2a9.977 9.977 0 0 1 8.922 5.492l-6.807-.004A4.93 4.93 0 0 0 16 11c-1.625 0-3.06.796-3.975 2.006L8.44 9.459A9.966 9.966 0 0 1 16 6m-8.367 4.523l3.387 5.87a5.015 5.015 0 0 0 4.369 4.566l-1.276 4.857A9.982 9.982 0 0 1 6 16a9.96 9.96 0 0 1 1.633-5.477m17.808 2.202A9.986 9.986 0 0 1 16 26c-.186 0-.367-.017-.55-.027l3.392-5.871A4.998 4.998 0 0 0 21 16a4.96 4.96 0 0 0-.398-1.947l4.84-1.328zM16 13c1.671 0 3 1.329 3 3s-1.329 3-3 3s-3-1.329-3-3s1.329-3 3-3"},null,-1),u1=[l1];function h1(n,e){return K(),ee("svg",c1,[...u1])}const d1={name:"la-chrome",render:h1},f1="/pc-keyboard.svg",Rf="14.8.49",rh=(n,e,t)=>({endTime:e,insertTime:t,type:"exponentialRampToValue",value:n}),oh=(n,e,t)=>({endTime:e,insertTime:t,type:"linearRampToValue",value:n}),Fc=(n,e)=>({startTime:e,type:"setValue",value:n}),Df=(n,e,t)=>({duration:t,startTime:e,type:"setValueCurve",values:n}),Pf=(n,e,{startTime:t,target:s,timeConstant:i})=>s+(e-s)*Math.exp((t-n)/i),yi=n=>n.type==="exponentialRampToValue",$o=n=>n.type==="linearRampToValue",us=n=>yi(n)||$o(n),Ol=n=>n.type==="setValue",Pn=n=>n.type==="setValueCurve",Fo=(n,e,t,s)=>{const i=n[e];return i===void 0?s:us(i)||Ol(i)?i.value:Pn(i)?i.values[i.values.length-1]:Pf(t,Fo(n,e-1,i.startTime,s),i)},ah=(n,e,t,s,i)=>t===void 0?[s.insertTime,i]:us(t)?[t.endTime,t.value]:Ol(t)?[t.startTime,t.value]:Pn(t)?[t.startTime+t.duration,t.values[t.values.length-1]]:[t.startTime,Fo(n,e-1,t.startTime,i)],Vc=n=>n.type==="cancelAndHold",Lc=n=>n.type==="cancelScheduledValues",ts=n=>Vc(n)||Lc(n)?n.cancelTime:yi(n)||$o(n)?n.endTime:n.startTime,ch=(n,e,t,{endTime:s,value:i})=>t===i?i:0t+(n-e)/(s-e)*(i-t),p1=(n,e)=>{const t=Math.floor(e),s=Math.ceil(e);return t===s?n[t]:(1-(e-t))*n[t]+(1-(s-e))*n[s]},m1=(n,{duration:e,startTime:t,values:s})=>{const i=(n-t)/e*(s.length-1);return p1(s,i)},lo=n=>n.type==="setTarget";class g1{constructor(e){this._automationEvents=[],this._currenTime=0,this._defaultValue=e}[Symbol.iterator](){return this._automationEvents[Symbol.iterator]()}add(e){const t=ts(e);if(Vc(e)||Lc(e)){const s=this._automationEvents.findIndex(r=>Lc(e)&&Pn(r)?r.startTime+r.duration>=t:ts(r)>=t),i=this._automationEvents[s];if(s!==-1&&(this._automationEvents=this._automationEvents.slice(0,s)),Vc(e)){const r=this._automationEvents[this._automationEvents.length-1];if(i!==void 0&&us(i)){if(lo(r))throw new Error("The internal list is malformed.");const o=Pn(r)?r.startTime+r.duration:ts(r),a=Pn(r)?r.values[r.values.length-1]:r.value,c=yi(i)?ch(t,o,a,i):lh(t,o,a,i),l=yi(i)?rh(c,t,this._currenTime):oh(c,t,this._currenTime);this._automationEvents.push(l)}r!==void 0&&lo(r)&&this._automationEvents.push(Fc(this.getValue(t),t)),r!==void 0&&Pn(r)&&r.startTime+r.duration>t&&(this._automationEvents[this._automationEvents.length-1]=Df(new Float32Array([6,7]),r.startTime,t-r.startTime))}}else{const s=this._automationEvents.findIndex(o=>ts(o)>t),i=s===-1?this._automationEvents[this._automationEvents.length-1]:this._automationEvents[s-1];if(i!==void 0&&Pn(i)&&ts(i)+i.duration>t)return!1;const r=yi(e)?rh(e.value,e.endTime,this._currenTime):$o(e)?oh(e.value,t,this._currenTime):e;if(s===-1)this._automationEvents.push(r);else{if(Pn(e)&&t+e.duration>ts(this._automationEvents[s]))return!1;this._automationEvents.splice(s,0,r)}}return!0}flush(e){const t=this._automationEvents.findIndex(s=>ts(s)>e);if(t>1){const s=this._automationEvents.slice(t-1),i=s[0];lo(i)&&s.unshift(Fc(Fo(this._automationEvents,t-2,i.startTime,this._defaultValue),i.startTime)),this._automationEvents=s}}getValue(e){if(this._automationEvents.length===0)return this._defaultValue;const t=this._automationEvents.findIndex(o=>ts(o)>e),s=this._automationEvents[t],i=(t===-1?this._automationEvents.length:t)-1,r=this._automationEvents[i];if(r!==void 0&&lo(r)&&(s===void 0||!us(s)||s.insertTime>e))return Pf(e,Fo(this._automationEvents,i-1,r.startTime,this._defaultValue),r);if(r!==void 0&&Ol(r)&&(s===void 0||!us(s)))return r.value;if(r!==void 0&&Pn(r)&&(s===void 0||!us(s)||r.startTime+r.duration>e))return e({cancelTime:n,type:"cancelAndHold"}),y1=n=>({cancelTime:n,type:"cancelScheduledValues"}),v1=(n,e)=>({endTime:e,type:"exponentialRampToValue",value:n}),w1=(n,e)=>({endTime:e,type:"linearRampToValue",value:n}),b1=(n,e,t)=>({startTime:e,target:n,timeConstant:t,type:"setTarget"}),x1=()=>new DOMException("","AbortError"),T1=n=>(e,t,[s,i,r],o)=>{n(e[i],[t,s,r],a=>a[0]===t&&a[1]===s,o)},S1=n=>(e,t,s)=>{const i=[];for(let r=0;r(e,t)=>{n.set(e,{activeInputs:new Set,passiveInputs:new WeakMap,renderer:t})},Oi=new WeakSet,$f=new WeakMap,Il=new WeakMap,Ff=new WeakMap,Rl=new WeakMap,Da=new WeakMap,Vf=new WeakMap,Bc=new WeakMap,qc=new WeakMap,Uc=new WeakMap,Lf={construct(){return Lf}},C1=n=>{try{const e=new Proxy(n,Lf);new e}catch{return!1}return!0},uh=/^import(?:(?:[\s]+[\w]+|(?:[\s]+[\w]+[\s]*,)?[\s]*\{[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?(?:[\s]*,[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?)*[\s]*}|(?:[\s]+[\w]+[\s]*,)?[\s]*\*[\s]+as[\s]+[\w]+)[\s]+from)?(?:[\s]*)("([^"\\]|\\.)+"|'([^'\\]|\\.)+')(?:[\s]*);?/,hh=(n,e)=>{const t=[];let s=n.replace(/^[\s]+/,""),i=s.match(uh);for(;i!==null;){const r=i[1].slice(1,-1),o=i[0].replace(/([\s]+)?;?$/,"").replace(r,new URL(r,e).toString());t.push(o),s=s.slice(i[0].length).replace(/^[\s]+/,""),i=s.match(uh)}return[t.join(";"),s]},dh=n=>{if(n!==void 0&&!Array.isArray(n))throw new TypeError("The parameterDescriptors property of given value for processorCtor is not an array.")},fh=n=>{if(!C1(n))throw new TypeError("The given value for processorCtor should be a constructor.");if(n.prototype===null||typeof n.prototype!="object")throw new TypeError("The given value for processorCtor should have a prototype.")},A1=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>{let f=0;return(p,m,_={credentials:"omit"})=>{const g=u.get(p);if(g!==void 0&&g.has(m))return Promise.resolve();const v=l.get(p);if(v!==void 0){const y=v.get(m);if(y!==void 0)return y}const T=r(p),x=T.audioWorklet===void 0?i(m).then(([y,A])=>{const[N,E]=hh(y,A),I=`${N};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${E} +})})(window,'_AWGS')`;return t(I)}).then(()=>{const y=d._AWGS.pop();if(y===void 0)throw new SyntaxError;s(T.currentTime,T.sampleRate,()=>y(class{},void 0,(A,N)=>{if(A.trim()==="")throw e();const E=qc.get(T);if(E!==void 0){if(E.has(A))throw e();fh(N),dh(N.parameterDescriptors),E.set(A,N)}else fh(N),dh(N.parameterDescriptors),qc.set(T,new Map([[A,N]]))},T.sampleRate,void 0,void 0))}):Promise.all([i(m),Promise.resolve(n(h,h))]).then(([[y,A],N])=>{const E=f+1;f=E;const[I,k]=hh(y,A),H=`${I};((AudioWorkletProcessor,registerProcessor)=>{${k} +})(${N?"AudioWorkletProcessor":"class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}"},(n,p)=>registerProcessor(n,class extends p{${N?"":"__c = (a) => a.forEach(e=>this.__b.add(e.buffer));"}process(i,o,p){${N?"":"i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));"}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${E}',class extends AudioWorkletProcessor{process(){return !1}})`,se=new Blob([H],{type:"application/javascript; charset=utf-8"}),Q=URL.createObjectURL(se);return T.audioWorklet.addModule(Q,_).then(()=>{if(a(T))return T;const Z=o(T);return Z.audioWorklet.addModule(Q,_).then(()=>Z)}).then(Z=>{if(c===null)throw new SyntaxError;try{new c(Z,`__sac${E}`)}catch{throw new SyntaxError}}).finally(()=>URL.revokeObjectURL(Q))});return v===void 0?l.set(p,new Map([[m,x]])):v.set(m,x),x.then(()=>{const y=u.get(p);y===void 0?u.set(p,new Set([m])):y.add(m)}).finally(()=>{const y=l.get(p);y!==void 0&&y.delete(m)}),x}},sn=(n,e)=>{const t=n.get(e);if(t===void 0)throw new Error("A value with the given key could not be found.");return t},Pa=(n,e)=>{const t=Array.from(n).filter(e);if(t.length>1)throw Error("More than one element was found.");if(t.length===0)throw Error("No element was found.");const[s]=t;return n.delete(s),s},Bf=(n,e,t,s)=>{const i=sn(n,e),r=Pa(i,o=>o[0]===t&&o[1]===s);return i.size===0&&n.delete(e),r},Wr=n=>sn(Vf,n),Ii=n=>{if(Oi.has(n))throw new Error("The AudioNode is already stored.");Oi.add(n),Wr(n).forEach(e=>e(!0))},qf=n=>"port"in n,Hr=n=>{if(!Oi.has(n))throw new Error("The AudioNode is not stored.");Oi.delete(n),Wr(n).forEach(e=>e(!1))},jc=(n,e)=>{!qf(n)&&e.every(t=>t.size===0)&&Hr(n)},N1=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>{const f=new WeakMap;return(p,m,_,g,v)=>{const{activeInputs:T,passiveInputs:x}=r(m),{outputs:y}=r(p),A=a(p),N=E=>{const I=c(m),k=c(p);if(E){const D=Bf(x,p,_,g);n(T,p,D,!1),!v&&!h(p)&&t(k,I,_,g),d(m)&&Ii(m)}else{const D=s(T,p,_,g);e(x,g,D,!1),!v&&!h(p)&&i(k,I,_,g);const M=o(m);if(M===0)u(m)&&jc(m,T);else{const F=f.get(m);F!==void 0&&clearTimeout(F),f.set(m,setTimeout(()=>{u(m)&&jc(m,T)},M*1e3))}}};return l(y,[m,_,g],E=>E[0]===m&&E[1]===_&&E[2]===g,!0)?(A.add(N),u(p)?n(T,p,[_,g,N],!0):e(x,g,[p,_,N],!0),!0):!1}},M1=n=>(e,t,[s,i,r],o)=>{const a=e.get(s);a===void 0?e.set(s,new Set([[i,t,r]])):n(a,[i,t,r],c=>c[0]===i&&c[1]===t,o)},k1=n=>(e,t)=>{const s=n(e,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});t.connect(s).connect(e.destination);const i=()=>{t.removeEventListener("ended",i),t.disconnect(s),s.disconnect()};t.addEventListener("ended",i)},O1=n=>(e,t)=>{n(e).add(t)},I1={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",fftSize:2048,maxDecibels:-30,minDecibels:-100,smoothingTimeConstant:.8},R1=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...I1,...c},h=s(l,u),d=r(l)?e():null;super(a,!1,h,d),this._nativeAnalyserNode=h}get fftSize(){return this._nativeAnalyserNode.fftSize}set fftSize(a){this._nativeAnalyserNode.fftSize=a}get frequencyBinCount(){return this._nativeAnalyserNode.frequencyBinCount}get maxDecibels(){return this._nativeAnalyserNode.maxDecibels}set maxDecibels(a){const c=this._nativeAnalyserNode.maxDecibels;if(this._nativeAnalyserNode.maxDecibels=a,!(a>this._nativeAnalyserNode.minDecibels))throw this._nativeAnalyserNode.maxDecibels=c,t()}get minDecibels(){return this._nativeAnalyserNode.minDecibels}set minDecibels(a){const c=this._nativeAnalyserNode.minDecibels;if(this._nativeAnalyserNode.minDecibels=a,!(this._nativeAnalyserNode.maxDecibels>a))throw this._nativeAnalyserNode.minDecibels=c,t()}get smoothingTimeConstant(){return this._nativeAnalyserNode.smoothingTimeConstant}set smoothingTimeConstant(a){this._nativeAnalyserNode.smoothingTimeConstant=a}getByteFrequencyData(a){this._nativeAnalyserNode.getByteFrequencyData(a)}getByteTimeDomainData(a){this._nativeAnalyserNode.getByteTimeDomainData(a)}getFloatFrequencyData(a){this._nativeAnalyserNode.getFloatFrequencyData(a)}getFloatTimeDomainData(a){this._nativeAnalyserNode.getFloatTimeDomainData(a)}},bt=(n,e)=>n.context===e,D1=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!bt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,fftSize:a.fftSize,maxDecibels:a.maxDecibels,minDecibels:a.minDecibels,smoothingTimeConstant:a.smoothingTimeConstant};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Vo=n=>{try{n.copyToChannel(new Float32Array(1),0,-1)}catch{return!1}return!0},Nn=()=>new DOMException("","IndexSizeError"),Dl=n=>{n.getChannelData=(e=>t=>{try{return e.call(n,t)}catch(s){throw s.code===12?Nn():s}})(n.getChannelData)},P1={numberOfChannels:1},$1=(n,e,t,s,i,r,o,a)=>{let c=null;return class Uf{constructor(u){if(i===null)throw new Error("Missing the native OfflineAudioContext constructor.");const{length:h,numberOfChannels:d,sampleRate:f}={...P1,...u};c===null&&(c=new i(1,1,44100));const p=s!==null&&e(r,r)?new s({length:h,numberOfChannels:d,sampleRate:f}):c.createBuffer(d,h,f);if(p.numberOfChannels===0)throw t();return typeof p.copyFromChannel!="function"?(o(p),Dl(p)):e(Vo,()=>Vo(p))||a(p),n.add(p),p}static[Symbol.hasInstance](u){return u!==null&&typeof u=="object"&&Object.getPrototypeOf(u)===Uf.prototype||n.has(u)}}},Nt=-34028234663852886e22,Tt=-Nt,Ln=n=>Oi.has(n),F1={buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1},V1=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...F1,...u},f=i(h,d),p=o(h),m=p?e():null;super(l,!1,f,m),this._audioBufferSourceNodeRenderer=m,this._isBufferNullified=!1,this._isBufferSet=d.buffer!==null,this._nativeAudioBufferSourceNode=f,this._onended=null,this._playbackRate=t(this,p,f.playbackRate,Tt,Nt)}get buffer(){return this._isBufferNullified?null:this._nativeAudioBufferSourceNode.buffer}set buffer(l){if(this._nativeAudioBufferSourceNode.buffer=l,l!==null){if(this._isBufferSet)throw s();this._isBufferSet=!0}}get loop(){return this._nativeAudioBufferSourceNode.loop}set loop(l){this._nativeAudioBufferSourceNode.loop=l}get loopEnd(){return this._nativeAudioBufferSourceNode.loopEnd}set loopEnd(l){this._nativeAudioBufferSourceNode.loopEnd=l}get loopStart(){return this._nativeAudioBufferSourceNode.loopStart}set loopStart(l){this._nativeAudioBufferSourceNode.loopStart=l}get onended(){return this._onended}set onended(l){const u=typeof l=="function"?a(this,l):null;this._nativeAudioBufferSourceNode.onended=u;const h=this._nativeAudioBufferSourceNode.onended;this._onended=h!==null&&h===u?l:h}get playbackRate(){return this._playbackRate}start(l=0,u=0,h){if(this._nativeAudioBufferSourceNode.start(l,u,h),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.start=h===void 0?[l,u]:[l,u,h]),this.context.state!=="closed"){Ii(this);const d=()=>{this._nativeAudioBufferSourceNode.removeEventListener("ended",d),Ln(this)&&Hr(this)};this._nativeAudioBufferSourceNode.addEventListener("ended",d)}}stop(l=0){this._nativeAudioBufferSourceNode.stop(l),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.stop=l)}},L1=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=bt(h,u);if(!d){const f={buffer:h.buffer,channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,loop:h.loop,loopEnd:h.loopEnd,loopStart:h.loopStart,playbackRate:h.playbackRate.value};h=e(u,f),o!==null&&h.start(...o),a!==null&&h.stop(a)}return r.set(u,h),d?await n(u,l.playbackRate,h.playbackRate):await s(u,l.playbackRate,h.playbackRate),await i(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=r.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},B1=n=>"playbackRate"in n,q1=n=>"frequency"in n&&"gain"in n,U1=n=>"offset"in n,j1=n=>!("frequency"in n)&&"gain"in n,W1=n=>"detune"in n&&"frequency"in n,H1=n=>"pan"in n,St=n=>sn($f,n),zr=n=>sn(Ff,n),Wc=(n,e)=>{const{activeInputs:t}=St(n);t.forEach(i=>i.forEach(([r])=>{e.includes(n)||Wc(r,[...e,n])}));const s=B1(n)?[n.playbackRate]:qf(n)?Array.from(n.parameters.values()):q1(n)?[n.Q,n.detune,n.frequency,n.gain]:U1(n)?[n.offset]:j1(n)?[n.gain]:W1(n)?[n.detune,n.frequency]:H1(n)?[n.pan]:[];for(const i of s){const r=zr(i);r!==void 0&&r.activeInputs.forEach(([o])=>Wc(o,e))}Ln(n)&&Hr(n)},jf=n=>{Wc(n.destination,[])},z1=n=>n===void 0||typeof n=="number"||typeof n=="string"&&(n==="balanced"||n==="interactive"||n==="playback"),G1=(n,e,t,s,i,r,o,a,c)=>class extends n{constructor(u={}){if(c===null)throw new Error("Missing the native AudioContext constructor.");let h;try{h=new c(u)}catch(p){throw p.code===12&&p.message==="sampleRate is not in range"?t():p}if(h===null)throw s();if(!z1(u.latencyHint))throw new TypeError(`The provided value '${u.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`);if(u.sampleRate!==void 0&&h.sampleRate!==u.sampleRate)throw t();super(h,2);const{latencyHint:d}=u,{sampleRate:f}=h;if(this._baseLatency=typeof h.baseLatency=="number"?h.baseLatency:d==="balanced"?512/f:d==="interactive"||d===void 0?256/f:d==="playback"?1024/f:Math.max(2,Math.min(128,Math.round(d*f/128)))*128/f,this._nativeAudioContext=h,c.name==="webkitAudioContext"?(this._nativeGainNode=h.createGain(),this._nativeOscillatorNode=h.createOscillator(),this._nativeGainNode.gain.value=1e-37,this._nativeOscillatorNode.connect(this._nativeGainNode).connect(h.destination),this._nativeOscillatorNode.start()):(this._nativeGainNode=null,this._nativeOscillatorNode=null),this._state=null,h.state==="running"){this._state="suspended";const p=()=>{this._state==="suspended"&&(this._state=null),h.removeEventListener("statechange",p)};h.addEventListener("statechange",p)}}get baseLatency(){return this._baseLatency}get state(){return this._state!==null?this._state:this._nativeAudioContext.state}close(){return this.state==="closed"?this._nativeAudioContext.close().then(()=>{throw e()}):(this._state==="suspended"&&(this._state=null),this._nativeAudioContext.close().then(()=>{this._nativeGainNode!==null&&this._nativeOscillatorNode!==null&&(this._nativeOscillatorNode.stop(),this._nativeGainNode.disconnect(),this._nativeOscillatorNode.disconnect()),jf(this)}))}createMediaElementSource(u){return new i(this,{mediaElement:u})}createMediaStreamDestination(){return new r(this)}createMediaStreamSource(u){return new o(this,{mediaStream:u})}createMediaStreamTrackSource(u){return new a(this,{mediaStreamTrack:u})}resume(){return this._state==="suspended"?new Promise((u,h)=>{const d=()=>{this._nativeAudioContext.removeEventListener("statechange",d),this._nativeAudioContext.state==="running"?u():this.resume().then(u,h)};this._nativeAudioContext.addEventListener("statechange",d)}):this._nativeAudioContext.resume().catch(u=>{throw u===void 0||u.code===15?e():u})}suspend(){return this._nativeAudioContext.suspend().catch(u=>{throw u===void 0?e():u})}},K1=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d=o(h),f=i(h,u,d),p=d?e(a):null;super(l,!1,f,p),this._isNodeOfNativeOfflineAudioContext=d,this._nativeAudioDestinationNode=f}get channelCount(){return this._nativeAudioDestinationNode.channelCount}set channelCount(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();if(l>this._nativeAudioDestinationNode.maxChannelCount)throw t();this._nativeAudioDestinationNode.channelCount=l}get channelCountMode(){return this._nativeAudioDestinationNode.channelCountMode}set channelCountMode(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();this._nativeAudioDestinationNode.channelCountMode=l}get maxChannelCount(){return this._nativeAudioDestinationNode.maxChannelCount}},Y1=n=>{const e=new WeakMap,t=async(s,i)=>{const r=i.destination;return e.set(i,r),await n(s,i,r),r};return{render(s,i){const r=e.get(i);return r!==void 0?Promise.resolve(r):t(s,i)}}},Z1=(n,e,t,s,i,r,o,a)=>(c,l)=>{const u=l.listener,h=()=>{const y=new Float32Array(1),A=e(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:9}),N=o(l);let E=!1,I=[0,0,-1,0,1,0],k=[0,0,0];const D=()=>{if(E)return;E=!0;const se=s(l,256,9,0);se.onaudioprocess=({inputBuffer:Q})=>{const Z=[r(Q,y,0),r(Q,y,1),r(Q,y,2),r(Q,y,3),r(Q,y,4),r(Q,y,5)];Z.some((ae,me)=>ae!==I[me])&&(u.setOrientation(...Z),I=Z);const ne=[r(Q,y,6),r(Q,y,7),r(Q,y,8)];ne.some((ae,me)=>ae!==k[me])&&(u.setPosition(...ne),k=ne)},A.connect(se)},M=se=>Q=>{Q!==I[se]&&(I[se]=Q,u.setOrientation(...I))},F=se=>Q=>{Q!==k[se]&&(k[se]=Q,u.setPosition(...k))},H=(se,Q,Z)=>{const ne=t(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:Q});ne.connect(A,0,se),ne.start(),Object.defineProperty(ne.offset,"defaultValue",{get(){return Q}});const ae=n({context:c},N,ne.offset,Tt,Nt);return a(ae,"value",me=>()=>me.call(ae),me=>ue=>{try{me.call(ae,ue)}catch(ye){if(ye.code!==9)throw ye}D(),N&&Z(ue)}),ae.cancelAndHoldAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ae,ue);return D(),ye})(ae.cancelAndHoldAtTime),ae.cancelScheduledValues=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ae,ue);return D(),ye})(ae.cancelScheduledValues),ae.exponentialRampToValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ae,ue);return D(),ye})(ae.exponentialRampToValueAtTime),ae.linearRampToValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ae,ue);return D(),ye})(ae.linearRampToValueAtTime),ae.setTargetAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ae,ue);return D(),ye})(ae.setTargetAtTime),ae.setValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ae,ue);return D(),ye})(ae.setValueAtTime),ae.setValueCurveAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ae,ue);return D(),ye})(ae.setValueCurveAtTime),ae};return{forwardX:H(0,0,M(0)),forwardY:H(1,0,M(1)),forwardZ:H(2,-1,M(2)),positionX:H(6,0,F(0)),positionY:H(7,0,F(1)),positionZ:H(8,0,F(2)),upX:H(3,0,M(3)),upY:H(4,1,M(4)),upZ:H(5,0,M(5))}},{forwardX:d,forwardY:f,forwardZ:p,positionX:m,positionY:_,positionZ:g,upX:v,upY:T,upZ:x}=u.forwardX===void 0?h():u;return{get forwardX(){return d},get forwardY(){return f},get forwardZ(){return p},get positionX(){return m},get positionY(){return _},get positionZ(){return g},get upX(){return v},get upY(){return T},get upZ(){return x}}},Lo=n=>"context"in n,Gr=n=>Lo(n[0]),si=(n,e,t,s)=>{for(const i of n)if(t(i)){if(s)return!1;throw Error("The set contains at least one similar element.")}return n.add(e),!0},ph=(n,e,[t,s],i)=>{si(n,[e,t,s],r=>r[0]===e&&r[1]===t,i)},mh=(n,[e,t,s],i)=>{const r=n.get(e);r===void 0?n.set(e,new Set([[t,s]])):si(r,[t,s],o=>o[0]===t,i)},zi=n=>"inputs"in n,Bo=(n,e,t,s)=>{if(zi(e)){const i=e.inputs[s];return n.connect(i,t,0),[i,t,0]}return n.connect(e,t,s),[e,t,s]},Wf=(n,e,t)=>{for(const s of n)if(s[0]===e&&s[1]===t)return n.delete(s),s;return null},X1=(n,e,t)=>Pa(n,s=>s[0]===e&&s[1]===t),Hf=(n,e)=>{if(!Wr(n).delete(e))throw new Error("Missing the expected event listener.")},zf=(n,e,t)=>{const s=sn(n,e),i=Pa(s,r=>r[0]===t);return s.size===0&&n.delete(e),i},qo=(n,e,t,s)=>{zi(e)?n.disconnect(e.inputs[s],t,0):n.disconnect(e,t,s)},ze=n=>sn(Il,n),wr=n=>sn(Rl,n),Ys=n=>Bc.has(n),xo=n=>!Oi.has(n),gh=(n,e)=>new Promise(t=>{if(e!==null)t(!0);else{const s=n.createScriptProcessor(256,1,1),i=n.createGain(),r=n.createBuffer(1,2,44100),o=r.getChannelData(0);o[0]=1,o[1]=1;const a=n.createBufferSource();a.buffer=r,a.loop=!0,a.connect(s).connect(n.destination),a.connect(i),a.disconnect(i),s.onaudioprocess=c=>{const l=c.inputBuffer.getChannelData(0);Array.prototype.some.call(l,u=>u===1)?t(!0):t(!1),a.stop(),s.onaudioprocess=null,a.disconnect(s),s.disconnect(n.destination)},a.start()}}),mc=(n,e)=>{const t=new Map;for(const s of n)for(const i of s){const r=t.get(i);t.set(i,r===void 0?1:r+1)}t.forEach((s,i)=>e(i,s))},Uo=n=>"context"in n,Q1=n=>{const e=new Map;n.connect=(t=>(s,i=0,r=0)=>{const o=Uo(s)?t(s,i,r):t(s,i),a=e.get(s);return a===void 0?e.set(s,[{input:r,output:i}]):a.every(c=>c.input!==r||c.output!==i)&&a.push({input:r,output:i}),o})(n.connect.bind(n)),n.disconnect=(t=>(s,i,r)=>{if(t.apply(n),s===void 0)e.clear();else if(typeof s=="number")for(const[o,a]of e){const c=a.filter(l=>l.output!==s);c.length===0?e.delete(o):e.set(o,c)}else if(e.has(s))if(i===void 0)e.delete(s);else{const o=e.get(s);if(o!==void 0){const a=o.filter(c=>c.output!==i&&(c.input!==r||r===void 0));a.length===0?e.delete(s):e.set(s,a)}}for(const[o,a]of e)a.forEach(c=>{Uo(o)?n.connect(o,c.output,c.input):n.connect(o,c.output)})})(n.disconnect)},J1=(n,e,t,s)=>{const{activeInputs:i,passiveInputs:r}=zr(e),{outputs:o}=St(n),a=Wr(n),c=l=>{const u=ze(n),h=wr(e);if(l){const d=zf(r,n,t);ph(i,n,d,!1),!s&&!Ys(n)&&u.connect(h,t)}else{const d=X1(i,n,t);mh(r,d,!1),!s&&!Ys(n)&&u.disconnect(h,t)}};return si(o,[e,t],l=>l[0]===e&&l[1]===t,!0)?(a.add(c),Ln(n)?ph(i,n,[t,c],!0):mh(r,[n,t,c],!0),!0):!1},ey=(n,e,t,s)=>{const{activeInputs:i,passiveInputs:r}=St(e),o=Wf(i[s],n,t);return o===null?[Bf(r,n,t,s)[2],!1]:[o[2],!0]},ty=(n,e,t)=>{const{activeInputs:s,passiveInputs:i}=zr(e),r=Wf(s,n,t);return r===null?[zf(i,n,t)[1],!1]:[r[2],!0]},Pl=(n,e,t,s,i)=>{const[r,o]=ey(n,t,s,i);if(r!==null&&(Hf(n,r),o&&!e&&!Ys(n)&&qo(ze(n),ze(t),s,i)),Ln(t)){const{activeInputs:a}=St(t);jc(t,a)}},$l=(n,e,t,s)=>{const[i,r]=ty(n,t,s);i!==null&&(Hf(n,i),r&&!e&&!Ys(n)&&ze(n).disconnect(wr(t),s))},ny=(n,e)=>{const t=St(n),s=[];for(const i of t.outputs)Gr(i)?Pl(n,e,...i):$l(n,e,...i),s.push(i[0]);return t.outputs.clear(),s},sy=(n,e,t)=>{const s=St(n),i=[];for(const r of s.outputs)r[1]===t&&(Gr(r)?Pl(n,e,...r):$l(n,e,...r),i.push(r[0]),s.outputs.delete(r));return i},iy=(n,e,t,s,i)=>{const r=St(n);return Array.from(r.outputs).filter(o=>o[0]===t&&(s===void 0||o[1]===s)&&(i===void 0||o[2]===i)).map(o=>(Gr(o)?Pl(n,e,...o):$l(n,e,...o),r.outputs.delete(o),o[0]))},ry=(n,e,t,s,i,r,o,a,c,l,u,h,d,f,p,m)=>class extends l{constructor(g,v,T,x){super(T),this._context=g,this._nativeAudioNode=T;const y=u(g);h(y)&&t(gh,()=>gh(y,m))!==!0&&Q1(T),Il.set(this,T),Vf.set(this,new Set),g.state!=="closed"&&v&&Ii(this),n(this,x,T)}get channelCount(){return this._nativeAudioNode.channelCount}set channelCount(g){this._nativeAudioNode.channelCount=g}get channelCountMode(){return this._nativeAudioNode.channelCountMode}set channelCountMode(g){this._nativeAudioNode.channelCountMode=g}get channelInterpretation(){return this._nativeAudioNode.channelInterpretation}set channelInterpretation(g){this._nativeAudioNode.channelInterpretation=g}get context(){return this._context}get numberOfInputs(){return this._nativeAudioNode.numberOfInputs}get numberOfOutputs(){return this._nativeAudioNode.numberOfOutputs}connect(g,v=0,T=0){if(v<0||v>=this._nativeAudioNode.numberOfOutputs)throw i();const x=u(this._context),y=p(x);if(d(g)||f(g))throw r();if(Lo(g)){const E=ze(g);try{const k=Bo(this._nativeAudioNode,E,v,T),D=xo(this);(y||D)&&this._nativeAudioNode.disconnect(...k),this.context.state!=="closed"&&!D&&xo(g)&&Ii(g)}catch(k){throw k.code===12?r():k}if(e(this,g,v,T,y)){const k=c([this],g);mc(k,s(y))}return g}const A=wr(g);if(A.name==="playbackRate"&&A.maxValue===1024)throw o();try{this._nativeAudioNode.connect(A,v),(y||xo(this))&&this._nativeAudioNode.disconnect(A,v)}catch(E){throw E.code===12?r():E}if(J1(this,g,v,y)){const E=c([this],g);mc(E,s(y))}}disconnect(g,v,T){let x;const y=u(this._context),A=p(y);if(g===void 0)x=ny(this,A);else if(typeof g=="number"){if(g<0||g>=this.numberOfOutputs)throw i();x=sy(this,A,g)}else{if(v!==void 0&&(v<0||v>=this.numberOfOutputs)||Lo(g)&&T!==void 0&&(T<0||T>=g.numberOfInputs))throw i();if(x=iy(this,A,g,v,T),x.length===0)throw r()}for(const N of x){const E=c([this],N);mc(E,a)}}},oy=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>(f,p,m,_=null,g=null)=>{const v=new g1(m.defaultValue),T=p?s(v):null,x={get defaultValue(){return m.defaultValue},get maxValue(){return _===null?m.maxValue:_},get minValue(){return g===null?m.minValue:g},get value(){return m.value},set value(y){m.value=y,x.setValueAtTime(y,f.context.currentTime)},cancelAndHoldAtTime(y){if(typeof m.cancelAndHoldAtTime=="function")T===null&&v.flush(f.context.currentTime),v.add(i(y)),m.cancelAndHoldAtTime(y);else{const A=Array.from(v).pop();T===null&&v.flush(f.context.currentTime),v.add(i(y));const N=Array.from(v).pop();m.cancelScheduledValues(y),A!==N&&N!==void 0&&(N.type==="exponentialRampToValue"?m.exponentialRampToValueAtTime(N.value,N.endTime):N.type==="linearRampToValue"?m.linearRampToValueAtTime(N.value,N.endTime):N.type==="setValue"?m.setValueAtTime(N.value,N.startTime):N.type==="setValueCurve"&&m.setValueCurveAtTime(N.values,N.startTime,N.duration))}return x},cancelScheduledValues(y){return T===null&&v.flush(f.context.currentTime),v.add(r(y)),m.cancelScheduledValues(y),x},exponentialRampToValueAtTime(y,A){if(y===0)throw new RangeError;if(!Number.isFinite(A)||A<0)throw new RangeError;return T===null&&v.flush(f.context.currentTime),v.add(o(y,A)),m.exponentialRampToValueAtTime(y,A),x},linearRampToValueAtTime(y,A){return T===null&&v.flush(f.context.currentTime),v.add(a(y,A)),m.linearRampToValueAtTime(y,A),x},setTargetAtTime(y,A,N){return T===null&&v.flush(f.context.currentTime),v.add(c(y,A,N)),m.setTargetAtTime(y,A,N),x},setValueAtTime(y,A){return T===null&&v.flush(f.context.currentTime),v.add(l(y,A)),m.setValueAtTime(y,A),x},setValueCurveAtTime(y,A,N){const E=y instanceof Float32Array?y:new Float32Array(y);if(h!==null&&h.name==="webkitAudioContext"){const I=A+N,k=f.context.sampleRate,D=Math.ceil(A*k),M=Math.floor(I*k),F=M-D,H=new Float32Array(F);for(let Q=0;Q({replay(e){for(const t of n)if(t.type==="exponentialRampToValue"){const{endTime:s,value:i}=t;e.exponentialRampToValueAtTime(i,s)}else if(t.type==="linearRampToValue"){const{endTime:s,value:i}=t;e.linearRampToValueAtTime(i,s)}else if(t.type==="setTarget"){const{startTime:s,target:i,timeConstant:r}=t;e.setTargetAtTime(i,s,r)}else if(t.type==="setValue"){const{startTime:s,value:i}=t;e.setValueAtTime(i,s)}else if(t.type==="setValueCurve"){const{duration:s,startTime:i,values:r}=t;e.setValueCurveAtTime(r,i,s)}else throw new Error("Can't apply an unknown automation.")}});class Gf{constructor(e){this._map=new Map(e)}get size(){return this._map.size}entries(){return this._map.entries()}forEach(e,t=null){return this._map.forEach((s,i)=>e.call(t,s,i,this))}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){return this._map.keys()}values(){return this._map.values()}}const cy={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:1,numberOfOutputs:1,parameterData:{},processorOptions:{}},ly=(n,e,t,s,i,r,o,a,c,l,u,h,d,f)=>class extends e{constructor(m,_,g){var v;const T=a(m),x=c(T),y=u({...cy,...g});d(y);const A=qc.get(T),N=A==null?void 0:A.get(_),E=x||T.state!=="closed"?T:(v=o(T))!==null&&v!==void 0?v:T,I=i(E,x?null:m.baseLatency,l,_,N,y),k=x?s(_,y,N):null;super(m,!0,I,k);const D=[];I.parameters.forEach((F,H)=>{const se=t(this,x,F);D.push([H,se])}),this._nativeAudioWorkletNode=I,this._onprocessorerror=null,this._parameters=new Gf(D),x&&n(T,this);const{activeInputs:M}=r(this);h(I,M)}get onprocessorerror(){return this._onprocessorerror}set onprocessorerror(m){const _=typeof m=="function"?f(this,m):null;this._nativeAudioWorkletNode.onprocessorerror=_;const g=this._nativeAudioWorkletNode.onprocessorerror;this._onprocessorerror=g!==null&&g===_?m:g}get parameters(){return this._parameters===null?this._nativeAudioWorkletNode.parameters:this._parameters}get port(){return this._nativeAudioWorkletNode.port}};function jo(n,e,t,s,i){if(typeof n.copyFromChannel=="function")e[t].byteLength===0&&(e[t]=new Float32Array(128)),n.copyFromChannel(e[t],s,i);else{const r=n.getChannelData(s);if(e[t].byteLength===0)e[t]=r.slice(i,i+128);else{const o=new Float32Array(r.buffer,i*Float32Array.BYTES_PER_ELEMENT,128);e[t].set(o)}}}const Kf=(n,e,t,s,i)=>{typeof n.copyToChannel=="function"?e[t].byteLength!==0&&n.copyToChannel(e[t],s,i):e[t].byteLength!==0&&n.getChannelData(s).set(e[t],i)},Wo=(n,e)=>{const t=[];for(let s=0;s{const t=sn(Uc,n),s=ze(e);return sn(t,s)},hy=async(n,e,t,s,i,r,o)=>{const a=e===null?Math.ceil(n.context.length/128)*128:e.length,c=s.channelCount*s.numberOfInputs,l=i.reduce((_,g)=>_+g,0),u=l===0?null:t.createBuffer(l,a,t.sampleRate);if(r===void 0)throw new Error("Missing the processor constructor.");const h=St(n),d=await uy(t,n),f=Wo(s.numberOfInputs,s.channelCount),p=Wo(s.numberOfOutputs,i),m=Array.from(n.parameters.keys()).reduce((_,g)=>({..._,[g]:new Float32Array(128)}),{});for(let _=0;_0&&e!==null)for(let g=0;g{jo(e,m,g,c+v,_)});for(let g=0;gh.activeInputs[x].size===0?[]:T),v=o(_/t.sampleRate,t.sampleRate,()=>d.process(g,p,m));if(u!==null)for(let T=0,x=0;T(_,g,v)=>{const T=new WeakMap;let x=null;const y=async(A,N)=>{let E=u(A),I=null;const k=bt(E,N),D=Array.isArray(g.outputChannelCount)?g.outputChannelCount:Array.from(g.outputChannelCount);if(h===null){const M=D.reduce((Q,Z)=>Q+Z,0),F=i(N,{channelCount:Math.max(1,M),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,M)}),H=[];for(let Q=0;Q{const ue=new d(ae,Math.ceil(A.context.length/128)*128,N.sampleRate),ye=[],st=[];for(let be=0;be{const $=r(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:be.value});return await f(ue,be,$.offset),$})),we=s(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,Z+ne)});for(let be=0;bep(A,ue,be))),m(ue)})(),N,g,D,v,l)}const M=await x,F=t(N,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),[H,se,Q]=I;M!==null&&(F.buffer=M,F.start(0)),F.connect(H);for(let Z=0,ne=0;Zclass extends p{constructor(y,A){super(y,A),this._nativeContext=y,this._audioWorklet=n===void 0?void 0:{addModule:(N,E)=>n(this,N,E)}}get audioWorklet(){return this._audioWorklet}createAnalyser(){return new e(this)}createBiquadFilter(){return new i(this)}createBuffer(y,A,N){return new t({length:A,numberOfChannels:y,sampleRate:N})}createBufferSource(){return new s(this)}createChannelMerger(y=6){return new r(this,{numberOfInputs:y})}createChannelSplitter(y=6){return new o(this,{numberOfOutputs:y})}createConstantSource(){return new a(this)}createConvolver(){return new c(this)}createDelay(y=1){return new u(this,{maxDelayTime:y})}createDynamicsCompressor(){return new h(this)}createGain(){return new d(this)}createIIRFilter(y,A){return new f(this,{feedback:A,feedforward:y})}createOscillator(){return new m(this)}createPanner(){return new _(this)}createPeriodicWave(y,A,N={disableNormalization:!1}){return new g(this,{...N,imag:A,real:y})}createStereoPanner(){return new v(this)}createWaveShaper(){return new T(this)}decodeAudioData(y,A,N){return l(this._nativeContext,y).then(E=>(typeof A=="function"&&A(E),E),E=>{throw typeof N=="function"&&N(E),E})}},py={Q:1,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:350,gain:0,type:"lowpass"},my=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...py,...u},f=i(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._Q=e(this,p,f.Q,Tt,Nt),this._detune=e(this,p,f.detune,1200*Math.log2(Tt),-1200*Math.log2(Tt)),this._frequency=e(this,p,f.frequency,l.sampleRate/2,0),this._gain=e(this,p,f.gain,40*Math.log10(Tt),Nt),this._nativeBiquadFilterNode=f,a(this,1)}get detune(){return this._detune}get frequency(){return this._frequency}get gain(){return this._gain}get Q(){return this._Q}get type(){return this._nativeBiquadFilterNode.type}set type(l){this._nativeBiquadFilterNode.type=l}getFrequencyResponse(l,u,h){try{this._nativeBiquadFilterNode.getFrequencyResponse(l,u,h)}catch(d){throw d.code===11?s():d}if(l.length!==u.length||u.length!==h.length)throw s()}},gy=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=bt(l,c);if(!u){const h={Q:l.Q.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,detune:l.detune.value,frequency:l.frequency.value,gain:l.gain.value,type:l.type};l=e(c,h)}return r.set(c,l),u?(await n(c,a.Q,l.Q),await n(c,a.detune,l.detune),await n(c,a.frequency,l.frequency),await n(c,a.gain,l.gain)):(await s(c,a.Q,l.Q),await s(c,a.detune,l.detune),await s(c,a.frequency,l.frequency),await s(c,a.gain,l.gain)),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},_y=(n,e)=>(t,s)=>{const i=e.get(t);if(i!==void 0)return i;const r=n.get(t);if(r!==void 0)return r;try{const o=s();return o instanceof Promise?(n.set(t,o),o.catch(()=>!1).then(a=>(n.delete(t),e.set(t,a),a))):(e.set(t,o),o)}catch{return e.set(t,!1),!1}},yy={channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6},vy=(n,e,t,s,i)=>class extends n{constructor(o,a){const c=s(o),l={...yy,...a},u=t(c,l),h=i(c)?e():null;super(o,!1,u,h)}},wy=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!bt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfInputs:a.numberOfInputs};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},by={channelCount:6,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:6},xy=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u=r({...by,...c}),h=t(l,u),d=i(l)?e():null;super(a,!1,h,d)}},Ty=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!bt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfOutputs:a.numberOfOutputs};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Sy=n=>(e,t,s)=>n(t,e,s),Ey=n=>(e,t,s=0,i=0)=>{const r=e[s];if(r===void 0)throw n();return Uo(t)?r.connect(t,0,i):r.connect(t,0)},Cy=n=>(e,t)=>{const s=n(e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),i=e.createBuffer(1,2,44100);return s.buffer=i,s.loop=!0,s.connect(t),s.start(),()=>{s.stop(),s.disconnect(t)}},Ay={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",offset:1},Ny=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Ay,...l},d=s(u,h),f=r(u),p=f?t():null;super(c,!1,d,p),this._constantSourceNodeRenderer=p,this._nativeConstantSourceNode=d,this._offset=e(this,f,d.offset,Tt,Nt),this._onended=null}get offset(){return this._offset}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeConstantSourceNode.onended=l;const u=this._nativeConstantSourceNode.onended;this._onended=u!==null&&u===l?c:u}start(c=0){if(this._nativeConstantSourceNode.start(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.start=c),this.context.state!=="closed"){Ii(this);const l=()=>{this._nativeConstantSourceNode.removeEventListener("ended",l),Ln(this)&&Hr(this)};this._nativeConstantSourceNode.addEventListener("ended",l)}}stop(c=0){this._nativeConstantSourceNode.stop(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.stop=c)}},My=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=bt(h,u);if(!d){const f={channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,offset:h.offset.value};h=e(u,f),o!==null&&h.start(o),a!==null&&h.stop(a)}return r.set(u,h),d?await n(u,l.offset,h.offset):await s(u,l.offset,h.offset),await i(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=r.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},ky=n=>e=>(n[0]=e,n[0]),Oy={buffer:null,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",disableNormalization:!1},Iy=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u={...Oy,...c},h=t(l,u),f=i(l)?e():null;super(a,!1,h,f),this._isBufferNullified=!1,this._nativeConvolverNode=h,u.buffer!==null&&r(this,u.buffer.duration)}get buffer(){return this._isBufferNullified?null:this._nativeConvolverNode.buffer}set buffer(a){if(this._nativeConvolverNode.buffer=a,a===null&&this._nativeConvolverNode.buffer!==null){const c=this._nativeConvolverNode.context;this._nativeConvolverNode.buffer=c.createBuffer(1,1,44100),this._isBufferNullified=!0,r(this,0)}else this._isBufferNullified=!1,r(this,this._nativeConvolverNode.buffer===null?0:this._nativeConvolverNode.buffer.duration)}get normalize(){return this._nativeConvolverNode.normalize}set normalize(a){this._nativeConvolverNode.normalize=a}},Ry=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!bt(a,o)){const l={buffer:a.buffer,channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,disableNormalization:!a.normalize};a=n(o,l)}return s.set(o,a),zi(a)?await t(r,o,a.inputs[0]):await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Dy=(n,e)=>(t,s,i)=>{if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");try{return new e(t,s,i)}catch(r){throw r.name==="SyntaxError"?n():r}},Py=()=>new DOMException("","DataCloneError"),_h=n=>{const{port1:e,port2:t}=new MessageChannel;return new Promise(s=>{const i=()=>{t.onmessage=null,e.close(),t.close(),s()};t.onmessage=()=>i();try{e.postMessage(n,[n])}finally{i()}})},$y=(n,e,t,s,i,r,o,a,c,l,u)=>(h,d)=>{const f=o(h)?h:r(h);if(i.has(d)){const p=t();return Promise.reject(p)}try{i.add(d)}catch{}return e(c,()=>c(f))?f.decodeAudioData(d).then(p=>(_h(d).catch(()=>{}),e(a,()=>a(p))||u(p),n.add(p),p)):new Promise((p,m)=>{const _=async()=>{try{await _h(d)}catch{}},g=v=>{m(v),_()};try{f.decodeAudioData(d,v=>{typeof v.copyFromChannel!="function"&&(l(v),Dl(v)),n.add(v),_().then(()=>p(v))},v=>{g(v===null?s():v)})}catch(v){g(v)}})},Fy=(n,e,t,s,i,r,o,a)=>(c,l)=>{const u=e.get(c);if(u===void 0)throw new Error("Missing the expected cycle count.");const h=r(c.context),d=a(h);if(u===l){if(e.delete(c),!d&&o(c)){const f=s(c),{outputs:p}=t(c);for(const m of p)if(Gr(m)){const _=s(m[0]);n(f,_,m[1],m[2])}else{const _=i(m[0]);f.connect(_,m[1])}}}else e.set(c,u-l)},Vy={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",delayTime:0,maxDelayTime:1},Ly=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Vy,...l},d=s(u,h),f=r(u),p=f?t(h.maxDelayTime):null;super(c,!1,d,p),this._delayTime=e(this,f,d.delayTime),o(this,h.maxDelayTime)}get delayTime(){return this._delayTime}},By=(n,e,t,s,i)=>r=>{const o=new WeakMap,a=async(c,l)=>{let u=t(c);const h=bt(u,l);if(!h){const d={channelCount:u.channelCount,channelCountMode:u.channelCountMode,channelInterpretation:u.channelInterpretation,delayTime:u.delayTime.value,maxDelayTime:r};u=e(l,d)}return o.set(l,u),h?await n(l,c.delayTime,u.delayTime):await s(l,c.delayTime,u.delayTime),await i(c,l,u),u};return{render(c,l){const u=o.get(l);return u!==void 0?Promise.resolve(u):a(c,l)}}},qy=n=>(e,t,s,i)=>n(e[i],r=>r[0]===t&&r[1]===s),Uy=n=>(e,t)=>{n(e).delete(t)},jy=n=>"delayTime"in n,Wy=(n,e,t)=>function s(i,r){const o=Lo(r)?r:t(n,r);if(jy(o))return[];if(i[0]===o)return[i];if(i.includes(o))return[];const{outputs:a}=e(o);return Array.from(a).map(c=>s([...i,o],c[0])).reduce((c,l)=>c.concat(l),[])},uo=(n,e,t)=>{const s=e[t];if(s===void 0)throw n();return s},Hy=n=>(e,t=void 0,s=void 0,i=0)=>t===void 0?e.forEach(r=>r.disconnect()):typeof t=="number"?uo(n,e,t).disconnect():Uo(t)?s===void 0?e.forEach(r=>r.disconnect(t)):i===void 0?uo(n,e,s).disconnect(t,0):uo(n,e,s).disconnect(t,0,i):s===void 0?e.forEach(r=>r.disconnect(t)):uo(n,e,s).disconnect(t,0),zy={attack:.003,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",knee:30,ratio:12,release:.25,threshold:-24},Gy=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...zy,...u},f=s(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._attack=e(this,p,f.attack),this._knee=e(this,p,f.knee),this._nativeDynamicsCompressorNode=f,this._ratio=e(this,p,f.ratio),this._release=e(this,p,f.release),this._threshold=e(this,p,f.threshold),a(this,.006)}get attack(){return this._attack}get channelCount(){return this._nativeDynamicsCompressorNode.channelCount}set channelCount(l){const u=this._nativeDynamicsCompressorNode.channelCount;if(this._nativeDynamicsCompressorNode.channelCount=l,l>2)throw this._nativeDynamicsCompressorNode.channelCount=u,i()}get channelCountMode(){return this._nativeDynamicsCompressorNode.channelCountMode}set channelCountMode(l){const u=this._nativeDynamicsCompressorNode.channelCountMode;if(this._nativeDynamicsCompressorNode.channelCountMode=l,l==="max")throw this._nativeDynamicsCompressorNode.channelCountMode=u,i()}get knee(){return this._knee}get ratio(){return this._ratio}get reduction(){return typeof this._nativeDynamicsCompressorNode.reduction.value=="number"?this._nativeDynamicsCompressorNode.reduction.value:this._nativeDynamicsCompressorNode.reduction}get release(){return this._release}get threshold(){return this._threshold}},Ky=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=bt(l,c);if(!u){const h={attack:l.attack.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,knee:l.knee.value,ratio:l.ratio.value,release:l.release.value,threshold:l.threshold.value};l=e(c,h)}return r.set(c,l),u?(await n(c,a.attack,l.attack),await n(c,a.knee,l.knee),await n(c,a.ratio,l.ratio),await n(c,a.release,l.release),await n(c,a.threshold,l.threshold)):(await s(c,a.attack,l.attack),await s(c,a.knee,l.knee),await s(c,a.ratio,l.ratio),await s(c,a.release,l.release),await s(c,a.threshold,l.threshold)),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Yy=()=>new DOMException("","EncodingError"),Zy=n=>e=>new Promise((t,s)=>{if(n===null){s(new SyntaxError);return}const i=n.document.head;if(i===null)s(new SyntaxError);else{const r=n.document.createElement("script"),o=new Blob([e],{type:"application/javascript"}),a=URL.createObjectURL(o),c=n.onerror,l=()=>{n.onerror=c,URL.revokeObjectURL(a)};n.onerror=(u,h,d,f,p)=>{if(h===a||h===n.location.href&&d===1&&f===1)return l(),s(p),!1;if(c!==null)return c(u,h,d,f,p)},r.onerror=()=>{l(),s(new SyntaxError)},r.onload=()=>{l(),t()},r.src=a,r.type="module",i.appendChild(r)}}),Xy=n=>class{constructor(t){this._nativeEventTarget=t,this._listeners=new WeakMap}addEventListener(t,s,i){if(s!==null){let r=this._listeners.get(s);r===void 0&&(r=n(this,s),typeof s=="function"&&this._listeners.set(s,r)),this._nativeEventTarget.addEventListener(t,r,i)}}dispatchEvent(t){return this._nativeEventTarget.dispatchEvent(t)}removeEventListener(t,s,i){const r=s===null?void 0:this._listeners.get(s);this._nativeEventTarget.removeEventListener(t,r===void 0?null:r,i)}},Qy=n=>(e,t,s)=>{Object.defineProperties(n,{currentFrame:{configurable:!0,get(){return Math.round(e*t)}},currentTime:{configurable:!0,get(){return e}}});try{return s()}finally{n!==null&&(delete n.currentFrame,delete n.currentTime)}},Jy=n=>async e=>{try{const t=await fetch(e);if(t.ok)return[await t.text(),t.url]}catch{}throw n()},ev={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",gain:1},tv=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...ev,...c},h=s(l,u),d=r(l),f=d?t():null;super(a,!1,h,f),this._gain=e(this,d,h.gain,Tt,Nt)}get gain(){return this._gain}},nv=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=bt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,gain:l.gain.value};l=e(c,h)}return r.set(c,l),u?await n(c,a.gain,l.gain):await s(c,a.gain,l.gain),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},sv=(n,e)=>t=>e(n,t),iv=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioNode in the audio graph.");return t.renderer},rv=n=>e=>{var t;return(t=n.get(e))!==null&&t!==void 0?t:0},ov=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioParam in the audio graph.");return t.renderer},av=n=>e=>n.get(e),dt=()=>new DOMException("","InvalidStateError"),cv=n=>e=>{const t=n.get(e);if(t===void 0)throw dt();return t},lv=(n,e)=>t=>{let s=n.get(t);if(s!==void 0)return s;if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");return s=new e(1,1,44100),n.set(t,s),s},uv=n=>e=>{const t=n.get(e);if(t===void 0)throw new Error("The context has no set of AudioWorkletNodes.");return t},$a=()=>new DOMException("","InvalidAccessError"),hv=n=>{n.getFrequencyResponse=(e=>(t,s,i)=>{if(t.length!==s.length||s.length!==i.length)throw $a();return e.call(n,t,s,i)})(n.getFrequencyResponse)},dv={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers"},fv=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u=i(l),h={...dv,...c},d=e(l,u?null:a.baseLatency,h),f=u?t(h.feedback,h.feedforward):null;super(a,!1,d,f),hv(d),this._nativeIIRFilterNode=d,r(this,1)}getFrequencyResponse(a,c,l){return this._nativeIIRFilterNode.getFrequencyResponse(a,c,l)}},Yf=(n,e,t,s,i,r,o,a,c,l,u)=>{const h=l.length;let d=a;for(let f=0;f{const i=t instanceof Float64Array?t:new Float64Array(t),r=s instanceof Float64Array?s:new Float64Array(s),o=i.length,a=r.length,c=Math.min(o,a);if(i[0]!==1){for(let p=0;p(r,o)=>{const a=new WeakMap;let c=null;const l=async(u,h)=>{let d=null,f=e(u);const p=bt(f,h);if(h.createIIRFilter===void 0?d=n(h,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}):p||(f=h.createIIRFilter(o,r)),a.set(h,d===null?f:d),d!==null){if(c===null){if(t===null)throw new Error("Missing the native OfflineAudioContext constructor.");const _=new t(u.context.destination.channelCount,u.context.length,h.sampleRate);c=(async()=>{await s(u,_,_.destination);const g=await i(_);return pv(g,h,r,o)})()}const m=await c;return d.buffer=m,d.start(0),d}return await s(u,h,f),f};return{render(u,h){const d=a.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},gv=(n,e,t,s,i,r)=>o=>(a,c)=>{const l=n.get(a);if(l===void 0){if(!o&&r(a)){const u=s(a),{outputs:h}=t(a);for(const d of h)if(Gr(d)){const f=s(d[0]);e(u,f,d[1],d[2])}else{const f=i(d[0]);u.disconnect(f,d[1])}}n.set(a,c)}else n.set(a,l+c)},_v=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},yv=(n,e)=>t=>n.has(t)||e(t),vv=(n,e)=>t=>n.has(t)||e(t),wv=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},bv=n=>e=>n!==null&&e instanceof n,xv=n=>e=>n!==null&&typeof n.AudioNode=="function"&&e instanceof n.AudioNode,Tv=n=>e=>n!==null&&typeof n.AudioParam=="function"&&e instanceof n.AudioParam,Sv=(n,e)=>t=>n(t)||e(t),Ev=n=>e=>n!==null&&e instanceof n,Cv=n=>n!==null&&n.isSecureContext,Av=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r),c=e(a,o);if(s(a))throw TypeError();super(r,!0,c,null),this._nativeMediaElementAudioSourceNode=c}get mediaElement(){return this._nativeMediaElementAudioSourceNode.mediaElement}},Nv={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers"},Mv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r);if(s(a))throw new TypeError;const c={...Nv,...o},l=e(a,c);super(r,!1,l,null),this._nativeMediaStreamAudioDestinationNode=l}get stream(){return this._nativeMediaStreamAudioDestinationNode.stream}},kv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r),c=e(a,o);if(s(a))throw new TypeError;super(r,!0,c,null),this._nativeMediaStreamAudioSourceNode=c}get mediaStream(){return this._nativeMediaStreamAudioSourceNode.mediaStream}},Ov=(n,e,t)=>class extends n{constructor(i,r){const o=t(i),a=e(o,r);super(i,!0,a,null)}},Iv=(n,e,t,s,i,r)=>class extends t{constructor(a,c){super(a),this._nativeContext=a,Da.set(this,a),s(a)&&i.set(a,new Set),this._destination=new n(this,c),this._listener=e(this,a),this._onstatechange=null}get currentTime(){return this._nativeContext.currentTime}get destination(){return this._destination}get listener(){return this._listener}get onstatechange(){return this._onstatechange}set onstatechange(a){const c=typeof a=="function"?r(this,a):null;this._nativeContext.onstatechange=c;const l=this._nativeContext.onstatechange;this._onstatechange=l!==null&&l===c?a:l}get sampleRate(){return this._nativeContext.sampleRate}get state(){return this._nativeContext.state}},br=n=>{const e=new Uint32Array([1179011410,40,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,4,0]);try{const t=n.decodeAudioData(e.buffer,()=>{});return t===void 0?!1:(t.catch(()=>{}),!0)}catch{}return!1},Rv=(n,e)=>(t,s,i)=>{const r=new Set;return t.connect=(o=>(a,c=0,l=0)=>{const u=r.size===0;if(e(a))return o.call(t,a,c,l),n(r,[a,c,l],h=>h[0]===a&&h[1]===c&&h[2]===l,!0),u&&s(),a;o.call(t,a,c),n(r,[a,c],h=>h[0]===a&&h[1]===c,!0),u&&s()})(t.connect),t.disconnect=(o=>(a,c,l)=>{const u=r.size>0;if(a===void 0)o.apply(t),r.clear();else if(typeof a=="number"){o.call(t,a);for(const d of r)d[1]===a&&r.delete(d)}else{e(a)?o.call(t,a,c,l):o.call(t,a,c);for(const d of r)d[0]===a&&(c===void 0||d[1]===c)&&(l===void 0||d[2]===l)&&r.delete(d)}const h=r.size===0;u&&h&&i()})(t.disconnect),t},Ye=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t]&&(n[t]=s)},at=(n,e)=>{Ye(n,e,"channelCount"),Ye(n,e,"channelCountMode"),Ye(n,e,"channelInterpretation")},yh=n=>typeof n.getFloatTimeDomainData=="function",Dv=n=>{n.getFloatTimeDomainData=e=>{const t=new Uint8Array(e.length);n.getByteTimeDomainData(t);const s=Math.max(t.length,n.fftSize);for(let i=0;i(t,s)=>{const i=t.createAnalyser();if(at(i,s),!(s.maxDecibels>s.minDecibels))throw e();return Ye(i,s,"fftSize"),Ye(i,s,"maxDecibels"),Ye(i,s,"minDecibels"),Ye(i,s,"smoothingTimeConstant"),n(yh,()=>yh(i))||Dv(i),i},$v=n=>n===null?null:n.hasOwnProperty("AudioBuffer")?n.AudioBuffer:null,Xe=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t].value&&(n[t].value=s)},Fv=n=>{n.start=(e=>{let t=!1;return(s=0,i=0,r)=>{if(t)throw dt();e.call(n,s,i,r),t=!0}})(n.start)},Fl=n=>{n.start=(e=>(t=0,s=0,i)=>{if(typeof i=="number"&&i<0||s<0||t<0)throw new RangeError("The parameters can't be negative.");e.call(n,t,s,i)})(n.start)},Vl=n=>{n.stop=(e=>(t=0)=>{if(t<0)throw new RangeError("The parameter can't be negative.");e.call(n,t)})(n.stop)},Vv=(n,e,t,s,i,r,o,a,c,l,u)=>(h,d)=>{const f=h.createBufferSource();return at(f,d),Xe(f,d,"playbackRate"),Ye(f,d,"buffer"),Ye(f,d,"loop"),Ye(f,d,"loopEnd"),Ye(f,d,"loopStart"),e(t,()=>t(h))||Fv(f),e(s,()=>s(h))||c(f),e(i,()=>i(h))||l(f,h),e(r,()=>r(h))||Fl(f),e(o,()=>o(h))||u(f,h),e(a,()=>a(h))||Vl(f),n(h,f),f},Lv=n=>n===null?null:n.hasOwnProperty("AudioContext")?n.AudioContext:n.hasOwnProperty("webkitAudioContext")?n.webkitAudioContext:null,Bv=(n,e)=>(t,s,i)=>{const r=t.destination;if(r.channelCount!==s)try{r.channelCount=s}catch{}i&&r.channelCountMode!=="explicit"&&(r.channelCountMode="explicit"),r.maxChannelCount===0&&Object.defineProperty(r,"maxChannelCount",{value:s});const o=n(t,{channelCount:s,channelCountMode:r.channelCountMode,channelInterpretation:r.channelInterpretation,gain:1});return e(o,"channelCount",a=>()=>a.call(o),a=>c=>{a.call(o,c);try{r.channelCount=c}catch(l){if(c>r.maxChannelCount)throw l}}),e(o,"channelCountMode",a=>()=>a.call(o),a=>c=>{a.call(o,c),r.channelCountMode=c}),e(o,"channelInterpretation",a=>()=>a.call(o),a=>c=>{a.call(o,c),r.channelInterpretation=c}),Object.defineProperty(o,"maxChannelCount",{get:()=>r.maxChannelCount}),o.connect(r),o},qv=n=>n===null?null:n.hasOwnProperty("AudioWorkletNode")?n.AudioWorkletNode:null,Uv=n=>{const{port1:e}=new MessageChannel;try{e.postMessage(n)}finally{e.close()}},jv=(n,e,t,s,i)=>(r,o,a,c,l,u)=>{if(a!==null)try{const h=new a(r,c,u),d=new Map;let f=null;if(Object.defineProperties(h,{channelCount:{get:()=>u.channelCount,set:()=>{throw n()}},channelCountMode:{get:()=>"explicit",set:()=>{throw n()}},onprocessorerror:{get:()=>f,set:p=>{typeof f=="function"&&h.removeEventListener("processorerror",f),f=typeof p=="function"?p:null,typeof f=="function"&&h.addEventListener("processorerror",f)}}}),h.addEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const _=typeof m[1]=="function"?m[1]:typeof m[1]=="object"&&m[1]!==null&&typeof m[1].handleEvent=="function"?m[1].handleEvent:null;if(_!==null){const g=d.get(m[1]);g!==void 0?m[1]=g:(m[1]=v=>{v.type==="error"?(Object.defineProperties(v,{type:{value:"processorerror"}}),_(v)):_(new ErrorEvent(m[0],{...v}))},d.set(_,m[1]))}}return p.call(h,"error",m[1],m[2]),p.call(h,...m)})(h.addEventListener),h.removeEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const _=d.get(m[1]);_!==void 0&&(d.delete(m[1]),m[1]=_)}return p.call(h,"error",m[1],m[2]),p.call(h,m[0],m[1],m[2])})(h.removeEventListener),u.numberOfOutputs!==0){const p=t(r,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return h.connect(p).connect(r.destination),i(h,()=>p.disconnect(),()=>p.connect(r.destination))}return h}catch(h){throw h.code===11?s():h}if(l===void 0)throw s();return Uv(u),e(r,o,l,u)},Zf=(n,e)=>n===null?512:Math.max(512,Math.min(16384,Math.pow(2,Math.round(Math.log2(n*e))))),Wv=n=>new Promise((e,t)=>{const{port1:s,port2:i}=new MessageChannel;s.onmessage=({data:r})=>{s.close(),i.close(),e(r)},s.onmessageerror=({data:r})=>{s.close(),i.close(),t(r)},i.postMessage(n)}),Hv=async(n,e)=>{const t=await Wv(e);return new n(t)},zv=(n,e,t,s)=>{let i=Uc.get(n);i===void 0&&(i=new WeakMap,Uc.set(n,i));const r=Hv(t,s);return i.set(e,r),r},Gv=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>(f,p,m,_)=>{if(_.numberOfInputs===0&&_.numberOfOutputs===0)throw c();const g=Array.isArray(_.outputChannelCount)?_.outputChannelCount:Array.from(_.outputChannelCount);if(g.some(C=>C<1))throw c();if(g.length!==_.numberOfOutputs)throw e();if(_.channelCountMode!=="explicit")throw c();const v=_.channelCount*_.numberOfInputs,T=g.reduce((C,R)=>C+R,0),x=m.parameterDescriptors===void 0?0:m.parameterDescriptors.length;if(v+x>6||T>6)throw c();const y=new MessageChannel,A=[],N=[];for(let C=0;C<_.numberOfInputs;C+=1)A.push(o(f,{channelCount:_.channelCount,channelCountMode:_.channelCountMode,channelInterpretation:_.channelInterpretation,gain:1})),N.push(i(f,{channelCount:_.channelCount,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:_.channelCount}));const E=[];if(m.parameterDescriptors!==void 0)for(const{defaultValue:C,maxValue:R,minValue:B,name:Y}of m.parameterDescriptors){const q=r(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:_.parameterData[Y]!==void 0?_.parameterData[Y]:C===void 0?0:C});Object.defineProperties(q.offset,{defaultValue:{get:()=>C===void 0?0:C},maxValue:{get:()=>R===void 0?Tt:R},minValue:{get:()=>B===void 0?Nt:B}}),E.push(q)}const I=s(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,v+x)}),k=Zf(p,f.sampleRate),D=a(f,k,v+x,Math.max(1,T)),M=i(f,{channelCount:Math.max(1,T),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,T)}),F=[];for(let C=0;C<_.numberOfOutputs;C+=1)F.push(s(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:g[C]}));for(let C=0;C<_.numberOfInputs;C+=1){A[C].connect(N[C]);for(let R=0;R<_.channelCount;R+=1)N[C].connect(I,R,C*_.channelCount+R)}const H=new Gf(m.parameterDescriptors===void 0?[]:m.parameterDescriptors.map(({name:C},R)=>{const B=E[R];return B.connect(I,0,v+R),B.start(0),[C,B.offset]}));I.connect(D);let se=_.channelInterpretation,Q=null;const Z=_.numberOfOutputs===0?[D]:F,ne={get bufferSize(){return k},get channelCount(){return _.channelCount},set channelCount(C){throw t()},get channelCountMode(){return _.channelCountMode},set channelCountMode(C){throw t()},get channelInterpretation(){return se},set channelInterpretation(C){for(const R of A)R.channelInterpretation=C;se=C},get context(){return D.context},get inputs(){return A},get numberOfInputs(){return _.numberOfInputs},get numberOfOutputs(){return _.numberOfOutputs},get onprocessorerror(){return Q},set onprocessorerror(C){typeof Q=="function"&&ne.removeEventListener("processorerror",Q),Q=typeof C=="function"?C:null,typeof Q=="function"&&ne.addEventListener("processorerror",Q)},get parameters(){return H},get port(){return y.port2},addEventListener(...C){return D.addEventListener(C[0],C[1],C[2])},connect:n.bind(null,Z),disconnect:l.bind(null,Z),dispatchEvent(...C){return D.dispatchEvent(C[0])},removeEventListener(...C){return D.removeEventListener(C[0],C[1],C[2])}},ae=new Map;y.port1.addEventListener=(C=>(...R)=>{if(R[0]==="message"){const B=typeof R[1]=="function"?R[1]:typeof R[1]=="object"&&R[1]!==null&&typeof R[1].handleEvent=="function"?R[1].handleEvent:null;if(B!==null){const Y=ae.get(R[1]);Y!==void 0?R[1]=Y:(R[1]=q=>{u(f.currentTime,f.sampleRate,()=>B(q))},ae.set(B,R[1]))}}return C.call(y.port1,R[0],R[1],R[2])})(y.port1.addEventListener),y.port1.removeEventListener=(C=>(...R)=>{if(R[0]==="message"){const B=ae.get(R[1]);B!==void 0&&(ae.delete(R[1]),R[1]=B)}return C.call(y.port1,R[0],R[1],R[2])})(y.port1.removeEventListener);let me=null;Object.defineProperty(y.port1,"onmessage",{get:()=>me,set:C=>{typeof me=="function"&&y.port1.removeEventListener("message",me),me=typeof C=="function"?C:null,typeof me=="function"&&(y.port1.addEventListener("message",me),y.port1.start())}}),m.prototype.port=y.port1;let ue=null;zv(f,ne,m,_).then(C=>ue=C);const st=Wo(_.numberOfInputs,_.channelCount),it=Wo(_.numberOfOutputs,g),we=m.parameterDescriptors===void 0?[]:m.parameterDescriptors.reduce((C,{name:R})=>({...C,[R]:new Float32Array(128)}),{});let be=!0;const $=()=>{_.numberOfOutputs>0&&D.disconnect(M);for(let C=0,R=0;C<_.numberOfOutputs;C+=1){const B=F[C];for(let Y=0;Y{if(ue!==null){const B=h(ne);for(let Y=0;Y{jo(C,we,q,v+z,Y)});for(let q=0;q<_.numberOfInputs;q+=1)for(let z=0;z{if(B[te].size>0)return L.set(te,k/128),j;const ce=L.get(te);return ce===void 0?[]:(j.every(ge=>ge.every(Se=>Se===0))&&(ce===1?L.delete(te):L.set(te,ce-1)),j)});be=u(f.currentTime+Y/f.sampleRate,f.sampleRate,()=>ue.process(q,it,we));for(let j=0,te=0;j<_.numberOfOutputs;j+=1){for(let le=0;leD.connect(oe).connect(f.destination),b=()=>{D.disconnect(oe),oe.disconnect()},S=()=>{if(be){b(),_.numberOfOutputs>0&&D.connect(M);for(let C=0,R=0;C<_.numberOfOutputs;C+=1){const B=F[C];for(let Y=0;Y{be&&(Ee(),$()),J=!1};return Ee(),d(ne,S,O)},Xf=(n,e)=>{const t=n.createBiquadFilter();return at(t,e),Xe(t,e,"Q"),Xe(t,e,"detune"),Xe(t,e,"frequency"),Xe(t,e,"gain"),Ye(t,e,"type"),t},Kv=(n,e)=>(t,s)=>{const i=t.createChannelMerger(s.numberOfInputs);return n!==null&&n.name==="webkitAudioContext"&&e(t,i),at(i,s),i},Yv=n=>{const e=n.numberOfOutputs;Object.defineProperty(n,"channelCount",{get:()=>e,set:t=>{if(t!==e)throw dt()}}),Object.defineProperty(n,"channelCountMode",{get:()=>"explicit",set:t=>{if(t!=="explicit")throw dt()}}),Object.defineProperty(n,"channelInterpretation",{get:()=>"discrete",set:t=>{if(t!=="discrete")throw dt()}})},Kr=(n,e)=>{const t=n.createChannelSplitter(e.numberOfOutputs);return at(t,e),Yv(t),t},Zv=(n,e,t,s,i)=>(r,o)=>{if(r.createConstantSource===void 0)return t(r,o);const a=r.createConstantSource();return at(a,o),Xe(a,o,"offset"),e(s,()=>s(r))||Fl(a),e(i,()=>i(r))||Vl(a),n(r,a),a},Gi=(n,e)=>(n.connect=e.connect.bind(e),n.disconnect=e.disconnect.bind(e),n),Xv=(n,e,t,s)=>(i,{offset:r,...o})=>{const a=i.createBuffer(1,2,44100),c=e(i,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),l=t(i,{...o,gain:r}),u=a.getChannelData(0);u[0]=1,u[1]=1,c.buffer=a,c.loop=!0;const h={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(p){l.channelCount=p},get channelCountMode(){return l.channelCountMode},set channelCountMode(p){l.channelCountMode=p},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(p){l.channelInterpretation=p},get context(){return l.context},get inputs(){return[]},get numberOfInputs(){return c.numberOfInputs},get numberOfOutputs(){return l.numberOfOutputs},get offset(){return l.gain},get onended(){return c.onended},set onended(p){c.onended=p},addEventListener(...p){return c.addEventListener(p[0],p[1],p[2])},dispatchEvent(...p){return c.dispatchEvent(p[0])},removeEventListener(...p){return c.removeEventListener(p[0],p[1],p[2])},start(p=0){c.start.call(c,p)},stop(p=0){c.stop.call(c,p)}},d=()=>c.connect(l),f=()=>c.disconnect(l);return n(i,c),s(Gi(h,l),d,f)},Qv=(n,e)=>(t,s)=>{const i=t.createConvolver();if(at(i,s),s.disableNormalization===i.normalize&&(i.normalize=!s.disableNormalization),Ye(i,s,"buffer"),s.channelCount>2||(e(i,"channelCount",r=>()=>r.call(i),r=>o=>{if(o>2)throw n();return r.call(i,o)}),s.channelCountMode==="max"))throw n();return e(i,"channelCountMode",r=>()=>r.call(i),r=>o=>{if(o==="max")throw n();return r.call(i,o)}),i},Qf=(n,e)=>{const t=n.createDelay(e.maxDelayTime);return at(t,e),Xe(t,e,"delayTime"),t},Jv=n=>(e,t)=>{const s=e.createDynamicsCompressor();if(at(s,t),t.channelCount>2||t.channelCountMode==="max")throw n();return Xe(s,t,"attack"),Xe(s,t,"knee"),Xe(s,t,"ratio"),Xe(s,t,"release"),Xe(s,t,"threshold"),s},It=(n,e)=>{const t=n.createGain();return at(t,e),Xe(t,e,"gain"),t},ew=n=>(e,t,s)=>{if(e.createIIRFilter===void 0)return n(e,t,s);const i=e.createIIRFilter(s.feedforward,s.feedback);return at(i,s),i};function tw(n,e){const t=e[0]*e[0]+e[1]*e[1];return[(n[0]*e[0]+n[1]*e[1])/t,(n[1]*e[0]-n[0]*e[1])/t]}function nw(n,e){return[n[0]*e[0]-n[1]*e[1],n[0]*e[1]+n[1]*e[0]]}function vh(n,e){let t=[0,0];for(let s=n.length-1;s>=0;s-=1)t=nw(t,e),t[0]+=n[s];return t}const sw=(n,e,t,s)=>(i,r,{channelCount:o,channelCountMode:a,channelInterpretation:c,feedback:l,feedforward:u})=>{const h=Zf(r,i.sampleRate),d=l instanceof Float64Array?l:new Float64Array(l),f=u instanceof Float64Array?u:new Float64Array(u),p=d.length,m=f.length,_=Math.min(p,m);if(p===0||p>20)throw s();if(d[0]===0)throw e();if(m===0||m>20)throw s();if(f[0]===0)throw e();if(d[0]!==1){for(let E=0;E{const I=E.inputBuffer,k=E.outputBuffer,D=I.numberOfChannels;for(let M=0;Mn.createMediaElementSource(e.mediaElement),rw=(n,e)=>{const t=n.createMediaStreamDestination();return at(t,e),t.numberOfOutputs===1&&Object.defineProperty(t,"numberOfOutputs",{get:()=>0}),t},ow=(n,{mediaStream:e})=>{const t=e.getAudioTracks();t.sort((r,o)=>r.ido.id?1:0);const s=t.slice(0,1),i=n.createMediaStreamSource(new MediaStream(s));return Object.defineProperty(i,"mediaStream",{value:e}),i},aw=(n,e)=>(t,{mediaStreamTrack:s})=>{if(typeof t.createMediaStreamTrackSource=="function")return t.createMediaStreamTrackSource(s);const i=new MediaStream([s]),r=t.createMediaStreamSource(i);if(s.kind!=="audio")throw n();if(e(t))throw new TypeError;return r},cw=n=>n===null?null:n.hasOwnProperty("OfflineAudioContext")?n.OfflineAudioContext:n.hasOwnProperty("webkitOfflineAudioContext")?n.webkitOfflineAudioContext:null,lw=(n,e,t,s,i,r)=>(o,a)=>{const c=o.createOscillator();return at(c,a),Xe(c,a,"detune"),Xe(c,a,"frequency"),a.periodicWave!==void 0?c.setPeriodicWave(a.periodicWave):Ye(c,a,"type"),e(t,()=>t(o))||Fl(c),e(s,()=>s(o))||r(c,o),e(i,()=>i(o))||Vl(c),n(o,c),c},uw=n=>(e,t)=>{const s=e.createPanner();return s.orientationX===void 0?n(e,t):(at(s,t),Xe(s,t,"orientationX"),Xe(s,t,"orientationY"),Xe(s,t,"orientationZ"),Xe(s,t,"positionX"),Xe(s,t,"positionY"),Xe(s,t,"positionZ"),Ye(s,t,"coneInnerAngle"),Ye(s,t,"coneOuterAngle"),Ye(s,t,"coneOuterGain"),Ye(s,t,"distanceModel"),Ye(s,t,"maxDistance"),Ye(s,t,"panningModel"),Ye(s,t,"refDistance"),Ye(s,t,"rolloffFactor"),s)},hw=(n,e,t,s,i,r,o,a,c,l)=>(u,{coneInnerAngle:h,coneOuterAngle:d,coneOuterGain:f,distanceModel:p,maxDistance:m,orientationX:_,orientationY:g,orientationZ:v,panningModel:T,positionX:x,positionY:y,positionZ:A,refDistance:N,rolloffFactor:E,...I})=>{const k=u.createPanner();if(I.channelCount>2||I.channelCountMode==="max")throw o();at(k,I);const D={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},M=t(u,{...D,channelInterpretation:"speakers",numberOfInputs:6}),F=s(u,{...I,gain:1}),H=s(u,{...D,gain:1}),se=s(u,{...D,gain:0}),Q=s(u,{...D,gain:0}),Z=s(u,{...D,gain:0}),ne=s(u,{...D,gain:0}),ae=s(u,{...D,gain:0}),me=i(u,256,6,1),ue=r(u,{...D,curve:new Float32Array([1,1]),oversample:"none"});let ye=[_,g,v],st=[x,y,A];const it=new Float32Array(1);me.onaudioprocess=({inputBuffer:L})=>{const J=[c(L,it,0),c(L,it,1),c(L,it,2)];J.some((Ee,b)=>Ee!==ye[b])&&(k.setOrientation(...J),ye=J);const oe=[c(L,it,3),c(L,it,4),c(L,it,5)];oe.some((Ee,b)=>Ee!==st[b])&&(k.setPosition(...oe),st=oe)},Object.defineProperty(se.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Q.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Z.gain,"defaultValue",{get:()=>0}),Object.defineProperty(ne.gain,"defaultValue",{get:()=>0}),Object.defineProperty(ae.gain,"defaultValue",{get:()=>0});const we={get bufferSize(){},get channelCount(){return k.channelCount},set channelCount(L){if(L>2)throw o();F.channelCount=L,k.channelCount=L},get channelCountMode(){return k.channelCountMode},set channelCountMode(L){if(L==="max")throw o();F.channelCountMode=L,k.channelCountMode=L},get channelInterpretation(){return k.channelInterpretation},set channelInterpretation(L){F.channelInterpretation=L,k.channelInterpretation=L},get coneInnerAngle(){return k.coneInnerAngle},set coneInnerAngle(L){k.coneInnerAngle=L},get coneOuterAngle(){return k.coneOuterAngle},set coneOuterAngle(L){k.coneOuterAngle=L},get coneOuterGain(){return k.coneOuterGain},set coneOuterGain(L){if(L<0||L>1)throw e();k.coneOuterGain=L},get context(){return k.context},get distanceModel(){return k.distanceModel},set distanceModel(L){k.distanceModel=L},get inputs(){return[F]},get maxDistance(){return k.maxDistance},set maxDistance(L){if(L<0)throw new RangeError;k.maxDistance=L},get numberOfInputs(){return k.numberOfInputs},get numberOfOutputs(){return k.numberOfOutputs},get orientationX(){return H.gain},get orientationY(){return se.gain},get orientationZ(){return Q.gain},get panningModel(){return k.panningModel},set panningModel(L){k.panningModel=L},get positionX(){return Z.gain},get positionY(){return ne.gain},get positionZ(){return ae.gain},get refDistance(){return k.refDistance},set refDistance(L){if(L<0)throw new RangeError;k.refDistance=L},get rolloffFactor(){return k.rolloffFactor},set rolloffFactor(L){if(L<0)throw new RangeError;k.rolloffFactor=L},addEventListener(...L){return F.addEventListener(L[0],L[1],L[2])},dispatchEvent(...L){return F.dispatchEvent(L[0])},removeEventListener(...L){return F.removeEventListener(L[0],L[1],L[2])}};h!==we.coneInnerAngle&&(we.coneInnerAngle=h),d!==we.coneOuterAngle&&(we.coneOuterAngle=d),f!==we.coneOuterGain&&(we.coneOuterGain=f),p!==we.distanceModel&&(we.distanceModel=p),m!==we.maxDistance&&(we.maxDistance=m),_!==we.orientationX.value&&(we.orientationX.value=_),g!==we.orientationY.value&&(we.orientationY.value=g),v!==we.orientationZ.value&&(we.orientationZ.value=v),T!==we.panningModel&&(we.panningModel=T),x!==we.positionX.value&&(we.positionX.value=x),y!==we.positionY.value&&(we.positionY.value=y),A!==we.positionZ.value&&(we.positionZ.value=A),N!==we.refDistance&&(we.refDistance=N),E!==we.rolloffFactor&&(we.rolloffFactor=E),(ye[0]!==1||ye[1]!==0||ye[2]!==0)&&k.setOrientation(...ye),(st[0]!==0||st[1]!==0||st[2]!==0)&&k.setPosition(...st);const be=()=>{F.connect(k),n(F,ue,0,0),ue.connect(H).connect(M,0,0),ue.connect(se).connect(M,0,1),ue.connect(Q).connect(M,0,2),ue.connect(Z).connect(M,0,3),ue.connect(ne).connect(M,0,4),ue.connect(ae).connect(M,0,5),M.connect(me).connect(u.destination)},$=()=>{F.disconnect(k),a(F,ue,0,0),ue.disconnect(H),H.disconnect(M),ue.disconnect(se),se.disconnect(M),ue.disconnect(Q),Q.disconnect(M),ue.disconnect(Z),Z.disconnect(M),ue.disconnect(ne),ne.disconnect(M),ue.disconnect(ae),ae.disconnect(M),M.disconnect(me),me.disconnect(u.destination)};return l(Gi(we,k),be,$)},dw=n=>(e,{disableNormalization:t,imag:s,real:i})=>{const r=s instanceof Float32Array?s:new Float32Array(s),o=i instanceof Float32Array?i:new Float32Array(i),a=e.createPeriodicWave(o,r,{disableNormalization:t});if(Array.from(s).length<2)throw n();return a},Yr=(n,e,t,s)=>n.createScriptProcessor(e,t,s),fw=(n,e)=>(t,s)=>{const i=s.channelCountMode;if(i==="clamped-max")throw e();if(t.createStereoPanner===void 0)return n(t,s);const r=t.createStereoPanner();return at(r,s),Xe(r,s,"pan"),Object.defineProperty(r,"channelCountMode",{get:()=>i,set:o=>{if(o!==i)throw e()}}),r},pw=(n,e,t,s,i,r)=>{const a=new Float32Array([1,1]),c=Math.PI/2,l={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},u={...l,oversample:"none"},h=(p,m,_,g)=>{const v=new Float32Array(16385),T=new Float32Array(16385);for(let I=0;I<16385;I+=1){const k=I/16384*c;v[I]=Math.cos(k),T[I]=Math.sin(k)}const x=t(p,{...l,gain:0}),y=s(p,{...u,curve:v}),A=s(p,{...u,curve:a}),N=t(p,{...l,gain:0}),E=s(p,{...u,curve:T});return{connectGraph(){m.connect(x),m.connect(A.inputs===void 0?A:A.inputs[0]),m.connect(N),A.connect(_),_.connect(y.inputs===void 0?y:y.inputs[0]),_.connect(E.inputs===void 0?E:E.inputs[0]),y.connect(x.gain),E.connect(N.gain),x.connect(g,0,0),N.connect(g,0,1)},disconnectGraph(){m.disconnect(x),m.disconnect(A.inputs===void 0?A:A.inputs[0]),m.disconnect(N),A.disconnect(_),_.disconnect(y.inputs===void 0?y:y.inputs[0]),_.disconnect(E.inputs===void 0?E:E.inputs[0]),y.disconnect(x.gain),E.disconnect(N.gain),x.disconnect(g,0,0),N.disconnect(g,0,1)}}},d=(p,m,_,g)=>{const v=new Float32Array(16385),T=new Float32Array(16385),x=new Float32Array(16385),y=new Float32Array(16385),A=Math.floor(16385/2);for(let Z=0;Z<16385;Z+=1)if(Z>A){const ne=(Z-A)/(16384-A)*c;v[Z]=Math.cos(ne),T[Z]=Math.sin(ne),x[Z]=0,y[Z]=1}else{const ne=Z/(16384-A)*c;v[Z]=1,T[Z]=0,x[Z]=Math.cos(ne),y[Z]=Math.sin(ne)}const N=e(p,{channelCount:2,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:2}),E=t(p,{...l,gain:0}),I=s(p,{...u,curve:v}),k=t(p,{...l,gain:0}),D=s(p,{...u,curve:T}),M=s(p,{...u,curve:a}),F=t(p,{...l,gain:0}),H=s(p,{...u,curve:x}),se=t(p,{...l,gain:0}),Q=s(p,{...u,curve:y});return{connectGraph(){m.connect(N),m.connect(M.inputs===void 0?M:M.inputs[0]),N.connect(E,0),N.connect(k,0),N.connect(F,1),N.connect(se,1),M.connect(_),_.connect(I.inputs===void 0?I:I.inputs[0]),_.connect(D.inputs===void 0?D:D.inputs[0]),_.connect(H.inputs===void 0?H:H.inputs[0]),_.connect(Q.inputs===void 0?Q:Q.inputs[0]),I.connect(E.gain),D.connect(k.gain),H.connect(F.gain),Q.connect(se.gain),E.connect(g,0,0),F.connect(g,0,0),k.connect(g,0,1),se.connect(g,0,1)},disconnectGraph(){m.disconnect(N),m.disconnect(M.inputs===void 0?M:M.inputs[0]),N.disconnect(E,0),N.disconnect(k,0),N.disconnect(F,1),N.disconnect(se,1),M.disconnect(_),_.disconnect(I.inputs===void 0?I:I.inputs[0]),_.disconnect(D.inputs===void 0?D:D.inputs[0]),_.disconnect(H.inputs===void 0?H:H.inputs[0]),_.disconnect(Q.inputs===void 0?Q:Q.inputs[0]),I.disconnect(E.gain),D.disconnect(k.gain),H.disconnect(F.gain),Q.disconnect(se.gain),E.disconnect(g,0,0),F.disconnect(g,0,0),k.disconnect(g,0,1),se.disconnect(g,0,1)}}},f=(p,m,_,g,v)=>{if(m===1)return h(p,_,g,v);if(m===2)return d(p,_,g,v);throw i()};return(p,{channelCount:m,channelCountMode:_,pan:g,...v})=>{if(_==="max")throw i();const T=n(p,{...v,channelCount:1,channelCountMode:_,numberOfInputs:2}),x=t(p,{...v,channelCount:m,channelCountMode:_,gain:1}),y=t(p,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:g});let{connectGraph:A,disconnectGraph:N}=f(p,m,x,y,T);Object.defineProperty(y.gain,"defaultValue",{get:()=>0}),Object.defineProperty(y.gain,"maxValue",{get:()=>1}),Object.defineProperty(y.gain,"minValue",{get:()=>-1});const E={get bufferSize(){},get channelCount(){return x.channelCount},set channelCount(M){x.channelCount!==M&&(I&&N(),{connectGraph:A,disconnectGraph:N}=f(p,M,x,y,T),I&&A()),x.channelCount=M},get channelCountMode(){return x.channelCountMode},set channelCountMode(M){if(M==="clamped-max"||M==="max")throw i();x.channelCountMode=M},get channelInterpretation(){return x.channelInterpretation},set channelInterpretation(M){x.channelInterpretation=M},get context(){return x.context},get inputs(){return[x]},get numberOfInputs(){return x.numberOfInputs},get numberOfOutputs(){return x.numberOfOutputs},get pan(){return y.gain},addEventListener(...M){return x.addEventListener(M[0],M[1],M[2])},dispatchEvent(...M){return x.dispatchEvent(M[0])},removeEventListener(...M){return x.removeEventListener(M[0],M[1],M[2])}};let I=!1;const k=()=>{A(),I=!0},D=()=>{N(),I=!1};return r(Gi(E,T),k,D)}},mw=(n,e,t,s,i,r,o)=>(a,c)=>{const l=a.createWaveShaper();if(r!==null&&r.name==="webkitAudioContext"&&a.createGain().gain.automationRate===void 0)return t(a,c);at(l,c);const u=c.curve===null||c.curve instanceof Float32Array?c.curve:new Float32Array(c.curve);if(u!==null&&u.length<2)throw e();Ye(l,{curve:u},"curve"),Ye(l,c,"oversample");let h=null,d=!1;return o(l,"curve",m=>()=>m.call(l),m=>_=>(m.call(l,_),d&&(s(_)&&h===null?h=n(a,l):!s(_)&&h!==null&&(h(),h=null)),_)),i(l,()=>{d=!0,s(l.curve)&&(h=n(a,l))},()=>{d=!1,h!==null&&(h(),h=null)})},gw=(n,e,t,s,i)=>(r,{curve:o,oversample:a,...c})=>{const l=r.createWaveShaper(),u=r.createWaveShaper();at(l,c),at(u,c);const h=t(r,{...c,gain:1}),d=t(r,{...c,gain:-1}),f=t(r,{...c,gain:1}),p=t(r,{...c,gain:-1});let m=null,_=!1,g=null;const v={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(y){h.channelCount=y,d.channelCount=y,l.channelCount=y,f.channelCount=y,u.channelCount=y,p.channelCount=y},get channelCountMode(){return l.channelCountMode},set channelCountMode(y){h.channelCountMode=y,d.channelCountMode=y,l.channelCountMode=y,f.channelCountMode=y,u.channelCountMode=y,p.channelCountMode=y},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(y){h.channelInterpretation=y,d.channelInterpretation=y,l.channelInterpretation=y,f.channelInterpretation=y,u.channelInterpretation=y,p.channelInterpretation=y},get context(){return l.context},get curve(){return g},set curve(y){if(y!==null&&y.length<2)throw e();if(y===null)l.curve=y,u.curve=y;else{const A=y.length,N=new Float32Array(A+2-A%2),E=new Float32Array(A+2-A%2);N[0]=y[0],E[0]=-y[A-1];const I=Math.ceil((A+1)/2),k=(A+1)/2-1;for(let D=1;D{h.connect(l).connect(f),h.connect(d).connect(u).connect(p).connect(f),_=!0,s(g)&&(m=n(r,h))},x=()=>{h.disconnect(l),l.disconnect(f),h.disconnect(d),d.disconnect(u),u.disconnect(p),p.disconnect(f),_=!1,m!==null&&(m(),m=null)};return i(Gi(v,f),T,x)},Ct=()=>new DOMException("","NotSupportedError"),_w={numberOfChannels:1},yw=(n,e,t,s,i)=>class extends n{constructor(o,a,c){let l;if(typeof o=="number"&&a!==void 0&&c!==void 0)l={length:a,numberOfChannels:o,sampleRate:c};else if(typeof o=="object")l=o;else throw new Error("The given parameters are not valid.");const{length:u,numberOfChannels:h,sampleRate:d}={..._w,...l},f=s(h,u,d);e(br,()=>br(f))||f.addEventListener("statechange",(()=>{let p=0;const m=_=>{this._state==="running"&&(p>0?(f.removeEventListener("statechange",m),_.stopImmediatePropagation(),this._waitForThePromiseToSettle(_)):p+=1)};return m})()),super(f,h),this._length=u,this._nativeOfflineAudioContext=f,this._state=null}get length(){return this._nativeOfflineAudioContext.length===void 0?this._length:this._nativeOfflineAudioContext.length}get state(){return this._state===null?this._nativeOfflineAudioContext.state:this._state}startRendering(){return this._state==="running"?Promise.reject(t()):(this._state="running",i(this.destination,this._nativeOfflineAudioContext).finally(()=>{this._state=null,jf(this)}))}_waitForThePromiseToSettle(o){this._state===null?this._nativeOfflineAudioContext.dispatchEvent(o):setTimeout(()=>this._waitForThePromiseToSettle(o))}},vw={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:440,periodicWave:void 0,type:"sine"},ww=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...vw,...l},d=t(u,h),f=r(u),p=f?s():null,m=c.sampleRate/2;super(c,!1,d,p),this._detune=e(this,f,d.detune,153600,-153600),this._frequency=e(this,f,d.frequency,m,-m),this._nativeOscillatorNode=d,this._onended=null,this._oscillatorNodeRenderer=p,this._oscillatorNodeRenderer!==null&&h.periodicWave!==void 0&&(this._oscillatorNodeRenderer.periodicWave=h.periodicWave)}get detune(){return this._detune}get frequency(){return this._frequency}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeOscillatorNode.onended=l;const u=this._nativeOscillatorNode.onended;this._onended=u!==null&&u===l?c:u}get type(){return this._nativeOscillatorNode.type}set type(c){this._nativeOscillatorNode.type=c,this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=null)}setPeriodicWave(c){this._nativeOscillatorNode.setPeriodicWave(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=c)}start(c=0){if(this._nativeOscillatorNode.start(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.start=c),this.context.state!=="closed"){Ii(this);const l=()=>{this._nativeOscillatorNode.removeEventListener("ended",l),Ln(this)&&Hr(this)};this._nativeOscillatorNode.addEventListener("ended",l)}}stop(c=0){this._nativeOscillatorNode.stop(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.stop=c)}},bw=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null,c=null;const l=async(u,h)=>{let d=t(u);const f=bt(d,h);if(!f){const p={channelCount:d.channelCount,channelCountMode:d.channelCountMode,channelInterpretation:d.channelInterpretation,detune:d.detune.value,frequency:d.frequency.value,periodicWave:o===null?void 0:o,type:d.type};d=e(h,p),a!==null&&d.start(a),c!==null&&d.stop(c)}return r.set(h,d),f?(await n(h,u.detune,d.detune),await n(h,u.frequency,d.frequency)):(await s(h,u.detune,d.detune),await s(h,u.frequency,d.frequency)),await i(u,h,d),d};return{set periodicWave(u){o=u},set start(u){a=u},set stop(u){c=u},render(u,h){const d=r.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},xw={channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:1,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1},Tw=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...xw,...l},d=t(u,h),f=r(u),p=f?s():null;super(c,!1,d,p),this._nativePannerNode=d,this._orientationX=e(this,f,d.orientationX,Tt,Nt),this._orientationY=e(this,f,d.orientationY,Tt,Nt),this._orientationZ=e(this,f,d.orientationZ,Tt,Nt),this._positionX=e(this,f,d.positionX,Tt,Nt),this._positionY=e(this,f,d.positionY,Tt,Nt),this._positionZ=e(this,f,d.positionZ,Tt,Nt),o(this,1)}get coneInnerAngle(){return this._nativePannerNode.coneInnerAngle}set coneInnerAngle(c){this._nativePannerNode.coneInnerAngle=c}get coneOuterAngle(){return this._nativePannerNode.coneOuterAngle}set coneOuterAngle(c){this._nativePannerNode.coneOuterAngle=c}get coneOuterGain(){return this._nativePannerNode.coneOuterGain}set coneOuterGain(c){this._nativePannerNode.coneOuterGain=c}get distanceModel(){return this._nativePannerNode.distanceModel}set distanceModel(c){this._nativePannerNode.distanceModel=c}get maxDistance(){return this._nativePannerNode.maxDistance}set maxDistance(c){this._nativePannerNode.maxDistance=c}get orientationX(){return this._orientationX}get orientationY(){return this._orientationY}get orientationZ(){return this._orientationZ}get panningModel(){return this._nativePannerNode.panningModel}set panningModel(c){this._nativePannerNode.panningModel=c}get positionX(){return this._positionX}get positionY(){return this._positionY}get positionZ(){return this._positionZ}get refDistance(){return this._nativePannerNode.refDistance}set refDistance(c){this._nativePannerNode.refDistance=c}get rolloffFactor(){return this._nativePannerNode.rolloffFactor}set rolloffFactor(c){this._nativePannerNode.rolloffFactor=c}},Sw=(n,e,t,s,i,r,o,a,c,l)=>()=>{const u=new WeakMap;let h=null;const d=async(f,p)=>{let m=null,_=r(f);const g={channelCount:_.channelCount,channelCountMode:_.channelCountMode,channelInterpretation:_.channelInterpretation},v={...g,coneInnerAngle:_.coneInnerAngle,coneOuterAngle:_.coneOuterAngle,coneOuterGain:_.coneOuterGain,distanceModel:_.distanceModel,maxDistance:_.maxDistance,panningModel:_.panningModel,refDistance:_.refDistance,rolloffFactor:_.rolloffFactor},T=bt(_,p);if("bufferSize"in _)m=s(p,{...g,gain:1});else if(!T){const x={...v,orientationX:_.orientationX.value,orientationY:_.orientationY.value,orientationZ:_.orientationZ.value,positionX:_.positionX.value,positionY:_.positionY.value,positionZ:_.positionZ.value};_=i(p,x)}if(u.set(p,m===null?_:m),m!==null){if(h===null){if(o===null)throw new Error("Missing the native OfflineAudioContext constructor.");const D=new o(6,f.context.length,p.sampleRate),M=e(D,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6});M.connect(D.destination),h=(async()=>{const F=await Promise.all([f.orientationX,f.orientationY,f.orientationZ,f.positionX,f.positionY,f.positionZ].map(async(H,se)=>{const Q=t(D,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:se===0?1:0});return await a(D,H,Q.offset),Q}));for(let H=0;H<6;H+=1)F[H].connect(M,0,H),F[H].start(0);return l(D)})()}const x=await h,y=s(p,{...g,gain:1});await c(f,p,y);const A=[];for(let D=0;DH!==N[se])||F.some((H,se)=>H!==E[se])){N=M,E=F;const H=D/p.sampleRate;I.gain.setValueAtTime(0,H),I=s(p,{...g,gain:0}),k=i(p,{...v,orientationX:N[0],orientationY:N[1],orientationZ:N[2],positionX:E[0],positionY:E[1],positionZ:E[2]}),I.gain.setValueAtTime(1,H),y.connect(I).connect(k.inputs[0]),k.connect(m)}}return m}return T?(await n(p,f.orientationX,_.orientationX),await n(p,f.orientationY,_.orientationY),await n(p,f.orientationZ,_.orientationZ),await n(p,f.positionX,_.positionX),await n(p,f.positionY,_.positionY),await n(p,f.positionZ,_.positionZ)):(await a(p,f.orientationX,_.orientationX),await a(p,f.orientationY,_.orientationY),await a(p,f.orientationZ,_.orientationZ),await a(p,f.positionX,_.positionX),await a(p,f.positionY,_.positionY),await a(p,f.positionZ,_.positionZ)),zi(_)?await c(f,p,_.inputs[0]):await c(f,p,_),_};return{render(f,p){const m=u.get(p);return m!==void 0?Promise.resolve(m):d(f,p)}}},Ew={disableNormalization:!1},Cw=(n,e,t,s)=>class Jf{constructor(r,o){const a=e(r),c=s({...Ew,...o}),l=n(a,c);return t.add(l),l}static[Symbol.hasInstance](r){return r!==null&&typeof r=="object"&&Object.getPrototypeOf(r)===Jf.prototype||t.has(r)}},Aw=(n,e)=>(t,s,i)=>(n(s).replay(i),e(s,t,i)),Nw=(n,e,t)=>async(s,i,r)=>{const o=n(s);await Promise.all(o.activeInputs.map((a,c)=>Array.from(a).map(async([l,u])=>{const d=await e(l).render(l,i),f=s.context.destination;!t(l)&&(s!==f||!t(s))&&d.connect(r,u,c)})).reduce((a,c)=>[...a,...c],[]))},Mw=(n,e,t)=>async(s,i,r)=>{const o=e(s);await Promise.all(Array.from(o.activeInputs).map(async([a,c])=>{const u=await n(a).render(a,i);t(a)||u.connect(r,c)}))},kw=(n,e,t,s)=>i=>n(br,()=>br(i))?Promise.resolve(n(s,s)).then(r=>{if(!r){const o=t(i,512,0,1);i.oncomplete=()=>{o.onaudioprocess=null,o.disconnect()},o.onaudioprocess=()=>i.currentTime,o.connect(i.destination)}return i.startRendering()}):new Promise(r=>{const o=e(i,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});i.oncomplete=a=>{o.disconnect(),r(a.renderedBuffer)},o.connect(i.destination),i.startRendering()}),Ow=n=>(e,t)=>{n.set(e,t)},Iw=n=>(e,t)=>n.set(e,t),Rw=(n,e,t,s,i,r,o,a)=>(c,l)=>t(c).render(c,l).then(()=>Promise.all(Array.from(s(l)).map(u=>t(u).render(u,l)))).then(()=>i(l)).then(u=>(typeof u.copyFromChannel!="function"?(o(u),Dl(u)):e(r,()=>r(u))||a(u),n.add(u),u)),Dw={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",pan:0},Pw=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...Dw,...c},h=t(l,u),d=r(l),f=d?s():null;super(a,!1,h,f),this._pan=e(this,d,h.pan)}get pan(){return this._pan}},$w=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=bt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,pan:l.pan.value};l=e(c,h)}return r.set(c,l),u?await n(c,a.pan,l.pan):await s(c,a.pan,l.pan),zi(l)?await i(a,c,l.inputs[0]):await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Fw=n=>()=>{if(n===null)return!1;try{new n({length:1,sampleRate:44100})}catch{return!1}return!0},Vw=(n,e)=>async()=>{if(n===null)return!0;if(e===null)return!1;const t=new Blob(['class A extends AudioWorkletProcessor{process(i){this.port.postMessage(i,[i[0][0].buffer])}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),s=new e(1,128,44100),i=URL.createObjectURL(t);let r=!1,o=!1;try{await s.audioWorklet.addModule(i);const a=new n(s,"a",{numberOfOutputs:0}),c=s.createOscillator();a.port.onmessage=()=>r=!0,a.onprocessorerror=()=>o=!0,c.connect(a),c.start(0),await s.startRendering()}catch{}finally{URL.revokeObjectURL(i)}return r&&!o},Lw=(n,e)=>()=>{if(e===null)return Promise.resolve(!1);const t=new e(1,1,44100),s=n(t,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return new Promise(i=>{t.oncomplete=()=>{s.disconnect(),i(t.currentTime!==0)},t.startRendering()})},Bw=()=>new DOMException("","UnknownError"),qw={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",curve:null,oversample:"none"},Uw=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...qw,...l},d=t(u,h),p=r(u)?s():null;super(c,!0,d,p),this._isCurveNullified=!1,this._nativeWaveShaperNode=d,o(this,1)}get curve(){return this._isCurveNullified?null:this._nativeWaveShaperNode.curve}set curve(c){if(c===null)this._isCurveNullified=!0,this._nativeWaveShaperNode.curve=new Float32Array([0,0]);else{if(c.length<2)throw e();this._isCurveNullified=!1,this._nativeWaveShaperNode.curve=c}}get oversample(){return this._nativeWaveShaperNode.oversample}set oversample(c){this._nativeWaveShaperNode.oversample=c}},jw=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!bt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,curve:a.curve,oversample:a.oversample};a=n(o,l)}return s.set(o,a),zi(a)?await t(r,o,a.inputs[0]):await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Ww=()=>typeof window>"u"?null:window,Hw=(n,e)=>t=>{t.copyFromChannel=(s,i,r=0)=>{const o=n(r),a=n(i);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+o{const o=n(r),a=n(i);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+oe=>{e.copyFromChannel=(t=>(s,i,r=0)=>{const o=n(r),a=n(i);if(o(s,i,r=0)=>{const o=n(r),a=n(i);if(o(e,t)=>{const s=t.createBuffer(1,1,44100);e.buffer===null&&(e.buffer=s),n(e,"buffer",i=>()=>{const r=i.call(e);return r===s?null:r},i=>r=>i.call(e,r===null?s:r))},Kw=(n,e)=>(t,s)=>{s.channelCount=1,s.channelCountMode="explicit",Object.defineProperty(s,"channelCount",{get:()=>1,set:()=>{throw n()}}),Object.defineProperty(s,"channelCountMode",{get:()=>"explicit",set:()=>{throw n()}});const i=t.createBufferSource();e(s,()=>{const a=s.numberOfInputs;for(let c=0;ci.disconnect(s))},ep=(n,e,t)=>n.copyFromChannel===void 0?n.getChannelData(t)[0]:(n.copyFromChannel(e,t),e[0]),tp=n=>{if(n===null)return!1;const e=n.length;return e%2!==0?n[Math.floor(e/2)]!==0:n[e/2-1]+n[e/2]!==0},Zr=(n,e,t,s)=>{let i=n;for(;!i.hasOwnProperty(e);)i=Object.getPrototypeOf(i);const{get:r,set:o}=Object.getOwnPropertyDescriptor(i,e);Object.defineProperty(n,e,{get:t(r),set:s(o)})},Yw=n=>({...n,outputChannelCount:n.outputChannelCount!==void 0?n.outputChannelCount:n.numberOfInputs===1&&n.numberOfOutputs===1?[n.channelCount]:Array.from({length:n.numberOfOutputs},()=>1)}),Zw=n=>({...n,channelCount:n.numberOfOutputs}),Xw=n=>{const{imag:e,real:t}=n;return e===void 0?t===void 0?{...n,imag:[0,0],real:[0,0]}:{...n,imag:Array.from(t,()=>0),real:t}:t===void 0?{...n,imag:e,real:Array.from(e,()=>0)}:{...n,imag:e,real:t}},np=(n,e,t)=>{try{n.setValueAtTime(e,t)}catch(s){if(s.code!==9)throw s;np(n,e,t+1e-7)}},Qw=n=>{const e=n.createBufferSource();e.start();try{e.start()}catch{return!0}return!1},Jw=n=>{const e=n.createBufferSource(),t=n.createBuffer(1,1,44100);e.buffer=t;try{e.start(0,1)}catch{return!1}return!0},eb=n=>{const e=n.createBufferSource();e.start();try{e.stop()}catch{return!1}return!0},Ll=n=>{const e=n.createOscillator();try{e.start(-1)}catch(t){return t instanceof RangeError}return!1},sp=n=>{const e=n.createBuffer(1,1,44100),t=n.createBufferSource();t.buffer=e,t.start(),t.stop();try{return t.stop(),!0}catch{return!1}},Bl=n=>{const e=n.createOscillator();try{e.stop(-1)}catch(t){return t instanceof RangeError}return!1},tb=n=>{const{port1:e,port2:t}=new MessageChannel;try{e.postMessage(n)}finally{e.close(),t.close()}},nb=n=>{n.start=(e=>(t=0,s=0,i)=>{const r=n.buffer,o=r===null?s:Math.min(r.duration,s);r!==null&&o>r.duration-.5/n.context.sampleRate?e.call(n,t,0,0):e.call(n,t,o,i)})(n.start)},ip=(n,e)=>{const t=e.createGain();n.connect(t);const s=(i=>()=>{i.call(n,t),n.removeEventListener("ended",s)})(n.disconnect);n.addEventListener("ended",s),Gi(n,t),n.stop=(i=>{let r=!1;return(o=0)=>{if(r)try{i.call(n,o)}catch{t.gain.setValueAtTime(0,o)}else i.call(n,o),r=!0}})(n.stop)},Ki=(n,e)=>t=>{const s={value:n};return Object.defineProperties(t,{currentTarget:s,target:s}),typeof e=="function"?e.call(n,t):e.handleEvent.call(n,t)},sb=T1(si),ib=M1(si),rb=qy(Pa),rp=new WeakMap,ob=rv(rp),cn=_y(new Map,new WeakMap),En=Ww(),op=Pv(cn,Nn),ql=iv(St),gt=Nw(St,ql,Ys),ab=D1(op,ze,gt),We=cv(Da),Yn=cw(En),je=Ev(Yn),ap=new WeakMap,cp=Xy(Ki),Xr=Lv(En),Ul=bv(Xr),jl=xv(En),lp=Tv(En),xr=qv(En),nt=ry(S1($f),N1(sb,ib,Bo,rb,qo,St,ob,Wr,ze,si,Ln,Ys,xo),cn,gv(Bc,qo,St,ze,wr,Ln),Nn,$a,Ct,Fy(Bo,Bc,St,ze,wr,We,Ln,je),Wy(ap,St,sn),cp,We,Ul,jl,lp,je,xr),cb=R1(nt,ab,Nn,op,We,je),Wl=new WeakSet,wh=$v(En),up=ky(new Uint32Array(1)),Hl=Hw(up,Nn),zl=zw(up),hp=$1(Wl,cn,Ct,wh,Yn,Fw(wh),Hl,zl),Fa=k1(It),dp=Mw(ql,zr,Ys),Mn=Sy(dp),Yi=Vv(Fa,cn,Qw,Jw,eb,Ll,sp,Bl,nb,Gw(Zr),ip),kn=Aw(ov(zr),dp),lb=L1(Mn,Yi,ze,kn,gt),ln=oy(E1(Ff),ap,Rl,ay,_1,y1,v1,w1,b1,Fc,Df,Xr,np),ub=V1(nt,lb,ln,dt,Yi,We,je,Ki),hb=K1(nt,Y1,Nn,dt,Bv(It,Zr),We,je,gt),db=gy(Mn,Xf,ze,kn,gt),ii=Iw(rp),fb=my(nt,ln,db,$a,Xf,We,je,ii),Ts=Rv(si,jl),pb=Kw(dt,Ts),Ss=Kv(Xr,pb),mb=wy(Ss,ze,gt),gb=vy(nt,mb,Ss,We,je),_b=Ty(Kr,ze,gt),yb=xy(nt,_b,Kr,We,je,Zw),vb=Xv(Fa,Yi,It,Ts),Zi=Zv(Fa,cn,vb,Ll,Bl),wb=My(Mn,Zi,ze,kn,gt),bb=Ny(nt,ln,wb,Zi,We,je,Ki),fp=Qv(Ct,Zr),xb=Ry(fp,ze,gt),Tb=Iy(nt,xb,fp,We,je,ii),Sb=By(Mn,Qf,ze,kn,gt),Eb=Ly(nt,ln,Sb,Qf,We,je,ii),pp=Jv(Ct),Cb=Ky(Mn,pp,ze,kn,gt),Ab=Gy(nt,ln,Cb,pp,Ct,We,je,ii),Nb=nv(Mn,It,ze,kn,gt),Mb=tv(nt,ln,Nb,It,We,je),kb=sw($a,dt,Yr,Ct),Va=kw(cn,It,Yr,Lw(It,Yn)),Ob=mv(Yi,ze,Yn,gt,Va),Ib=ew(kb),Rb=fv(nt,Ib,Ob,We,je,ii),Db=Z1(ln,Ss,Zi,Yr,Ct,ep,je,Zr),mp=new WeakMap,Pb=Iv(hb,Db,cp,je,mp,Ki),gp=lw(Fa,cn,Ll,sp,Bl,ip),$b=bw(Mn,gp,ze,kn,gt),Fb=ww(nt,ln,gp,$b,We,je,Ki),_p=Cy(Yi),Vb=gw(_p,dt,It,tp,Ts),La=mw(_p,dt,Vb,tp,Ts,Xr,Zr),Lb=hw(Bo,dt,Ss,It,Yr,La,Ct,qo,ep,Ts),yp=uw(Lb),Bb=Sw(Mn,Ss,Zi,It,yp,ze,Yn,kn,gt,Va),qb=Tw(nt,ln,yp,Bb,We,je,ii),Ub=dw(Nn),jb=Cw(Ub,We,new WeakSet,Xw),Wb=pw(Ss,Kr,It,La,Ct,Ts),vp=fw(Wb,Ct),Hb=$w(Mn,vp,ze,kn,gt),zb=Pw(nt,ln,vp,Hb,We,je),Gb=jw(La,ze,gt),Kb=Uw(nt,dt,La,Gb,We,je,ii),wp=Cv(En),Gl=Qy(En),bp=new WeakMap,Yb=lv(bp,Yn),Zb=wp?A1(cn,Ct,Zy(En),Gl,Jy(x1),We,Yb,je,xr,new WeakMap,new WeakMap,Vw(xr,Yn),En):void 0,Xb=Sv(Ul,je),Qb=$y(Wl,cn,Py,Yy,new WeakSet,We,Xb,Vo,br,Hl,zl),xp=fy(Zb,cb,hp,ub,fb,gb,yb,bb,Tb,Qb,Eb,Ab,Mb,Rb,Pb,Fb,qb,jb,zb,Kb),Jb=Av(nt,iw,We,je),e2=Mv(nt,rw,We,je),t2=kv(nt,ow,We,je),n2=aw(dt,je),s2=Ov(nt,n2,We),i2=G1(xp,dt,Ct,Bw,Jb,e2,t2,s2,Xr),Kl=uv(mp),r2=O1(Kl),Tp=Ey(Nn),o2=Uy(Kl),Sp=Hy(Nn),Ep=new WeakMap,a2=sv(Ep,sn),c2=Gv(Tp,Nn,dt,Ss,Kr,Zi,It,Yr,Ct,Sp,Gl,a2,Ts),l2=jv(dt,c2,It,Ct,Ts),u2=dy(Mn,Tp,Yi,Ss,Kr,Zi,It,o2,Sp,Gl,ze,xr,Yn,kn,gt,Va),h2=av(bp),d2=Ow(Ep),bh=wp?ly(r2,nt,ln,u2,l2,St,h2,We,je,xr,Yw,d2,tb,Ki):void 0,f2=Dy(Ct,Yn),p2=Rw(Wl,cn,ql,Kl,Va,Vo,Hl,zl),m2=yw(xp,cn,dt,f2,p2),g2=_v(Da,Ul),_2=yv(Il,jl),y2=vv(Rl,lp),v2=wv(Da,je);function Ft(n){return typeof n>"u"}function Ce(n){return!Ft(n)}function w2(n){return typeof n=="function"}function qn(n){return typeof n=="number"}function js(n){return Object.prototype.toString.call(n)==="[object Object]"&&n.constructor===Object}function b2(n){return typeof n=="boolean"}function Vt(n){return Array.isArray(n)}function Un(n){return typeof n=="string"}function ho(n){return Un(n)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(n)}function pe(n,e){if(!n)throw new Error(e)}function rn(n,e,t=1/0){if(!(e<=n&&n<=t))throw new RangeError(`Value must be within [${e}, ${t}], got: ${n}`)}function Cp(n){!n.isOffline&&n.state!=="running"&&Ba('The AudioContext is "suspended". Invoke Tone.start() from a user action to start the audio.')}let Ap=!1,xh=!1;function Th(n){Ap=n}function x2(n){Ft(n)&&Ap&&!xh&&(xh=!0,Ba("Events scheduled inside of scheduled callbacks should use the passed in scheduling time. See https://github.com/Tonejs/Tone.js/wiki/Accurate-Timing"))}let Np=console;function T2(...n){Np.log(...n)}function Ba(...n){Np.warn(...n)}function S2(n){return new i2(n)}function E2(n,e,t){return new m2(n,e,t)}const Ws=typeof self=="object"?self:null,C2=Ws&&(Ws.hasOwnProperty("AudioContext")||Ws.hasOwnProperty("webkitAudioContext"));function A2(n,e,t){return pe(Ce(bh),"This node only works in a secure context (https or localhost)"),new bh(n,e,t)}function un(n,e,t,s){var i=arguments.length,r=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(i<3?o(r):i>3?o(e,t,r):o(e,t))||r);return i>3&&r&&Object.defineProperty(e,t,r),r}function tt(n,e,t,s){function i(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?r(u.value):i(u.value).then(a,c)}l((s=s.apply(n,e||[])).next())})}class N2{constructor(e,t,s,i){this._callback=e,this._type=t,this._minimumUpdateInterval=Math.max(128/(i||44100),.001),this.updateInterval=s,this._createClock()}_createWorker(){const e=new Blob([` + // the initial timeout time + let timeoutTime = ${(this._updateInterval*1e3).toFixed(1)}; + // onmessage callback + self.onmessage = function(msg){ + timeoutTime = parseInt(msg.data); + }; + // the tick function which posts a message + // and schedules a new tick + function tick(){ + setTimeout(tick, timeoutTime); + self.postMessage('tick'); + } + // call tick initially + tick(); + `],{type:"text/javascript"}),t=URL.createObjectURL(e),s=new Worker(t);s.onmessage=this._callback.bind(this),this._worker=s}_createTimeout(){this._timeout=setTimeout(()=>{this._createTimeout(),this._callback()},this._updateInterval*1e3)}_createClock(){if(this._type==="worker")try{this._createWorker()}catch{this._type="timeout",this._createClock()}else this._type==="timeout"&&this._createTimeout()}_disposeClock(){this._timeout&&clearTimeout(this._timeout),this._worker&&(this._worker.terminate(),this._worker.onmessage=null)}get updateInterval(){return this._updateInterval}set updateInterval(e){var t;this._updateInterval=Math.max(e,this._minimumUpdateInterval),this._type==="worker"&&((t=this._worker)===null||t===void 0||t.postMessage(this._updateInterval*1e3))}get type(){return this._type}set type(e){this._disposeClock(),this._type=e,this._createClock()}dispose(){this._disposeClock()}}function Zs(n){return y2(n)}function ms(n){return _2(n)}function To(n){return v2(n)}function fi(n){return g2(n)}function M2(n){return n instanceof hp}function k2(n,e){return n==="value"||Zs(e)||ms(e)||M2(e)}function Hs(n,...e){if(!e.length)return n;const t=e.shift();if(js(n)&&js(t))for(const s in t)k2(s,t[s])?n[s]=t[s]:js(t[s])?(n[s]||Object.assign(n,{[s]:{}}),Hs(n[s],t[s])):Object.assign(n,{[s]:t[s]});return Hs(n,...e)}function O2(n,e){return n.length===e.length&&n.every((t,s)=>e[s]===t)}function W(n,e,t=[],s){const i={},r=Array.from(e);if(js(r[0])&&s&&!Reflect.has(r[0],s)&&(Object.keys(r[0]).some(a=>Reflect.has(n,a))||(Hs(i,{[s]:r[0]}),t.splice(t.indexOf(s),1),r.shift())),r.length===1&&js(r[0]))Hs(i,r[0]);else for(let o=0;o{Reflect.has(n,t)&&delete n[t]}),n}/** + * Tone.js + * @author Yotam Mann + * @license http://opensource.org/licenses/MIT MIT License + * @copyright 2014-2019 Yotam Mann + */class Zn{constructor(){this.debug=!1,this._wasDisposed=!1}static getDefaults(){return{}}log(...e){(this.debug||Ws&&this.toString()===Ws.TONE_DEBUG_CLASS)&&T2(this,...e)}dispose(){return this._wasDisposed=!0,this}get disposed(){return this._wasDisposed}toString(){return this.name}}Zn.version=Rf;const Yl=1e-6;function Ri(n,e){return n>e+Yl}function Hc(n,e){return Ri(n,e)||Xt(n,e)}function Ho(n,e){return n+Ylthis.memory){const t=this.length-this.memory;this._timeline.splice(0,t)}return this}remove(e){const t=this._timeline.indexOf(e);return t!==-1&&this._timeline.splice(t,1),this}get(e,t="time"){const s=this._search(e,t);return s!==-1?this._timeline[s]:null}peek(){return this._timeline[0]}shift(){return this._timeline.shift()}getAfter(e,t="time"){const s=this._search(e,t);return s+10&&this._timeline[t-1].time=0?this._timeline[s-1]:null}cancel(e){if(this._timeline.length>1){let t=this._search(e);if(t>=0)if(Xt(this._timeline[t].time,e)){for(let s=t;s>=0&&Xt(this._timeline[s].time,e);s--)t=s;this._timeline=this._timeline.slice(0,t)}else this._timeline=this._timeline.slice(0,t+1);else this._timeline=[]}else this._timeline.length===1&&Hc(this._timeline[0].time,e)&&(this._timeline=[]);return this}cancelBefore(e){const t=this._search(e);return t>=0&&(this._timeline=this._timeline.slice(t+1)),this}previousEvent(e){const t=this._timeline.indexOf(e);return t>0?this._timeline[t-1]:null}_search(e,t="time"){if(this._timeline.length===0)return-1;let s=0;const i=this._timeline.length;let r=i;if(i>0&&this._timeline[i-1][t]<=e)return i-1;for(;s=0&&this._timeline[s].time>=e;)s--;return this._iterate(t,s+1),this}forEachAtTime(e,t){const s=this._search(e);if(s!==-1&&Xt(this._timeline[s].time,e)){let i=s;for(let r=s;r>=0&&Xt(this._timeline[r].time,e);r--)i=r;this._iterate(r=>{t(r)},i,s)}return this}dispose(){return super.dispose(),this._timeline=[],this}}const Mp=[];function qa(n){Mp.push(n)}function D2(n){Mp.forEach(e=>e(n))}const kp=[];function Ua(n){kp.push(n)}function P2(n){kp.forEach(e=>e(n))}class Qr extends Zn{constructor(){super(...arguments),this.name="Emitter"}on(e,t){return e.split(/\W+/).forEach(i=>{Ft(this._events)&&(this._events={}),this._events.hasOwnProperty(i)||(this._events[i]=[]),this._events[i].push(t)}),this}once(e,t){const s=(...i)=>{t(...i),this.off(e,s)};return this.on(e,s),this}off(e,t){return e.split(/\W+/).forEach(i=>{if(Ft(this._events)&&(this._events={}),this._events.hasOwnProperty(i))if(Ft(t))this._events[i]=[];else{const r=this._events[i];for(let o=r.length-1;o>=0;o--)r[o]===t&&r.splice(o,1)}}),this}emit(e,...t){if(this._events&&this._events.hasOwnProperty(e)){const s=this._events[e].slice(0);for(let i=0,r=s.length;i{const s=Object.getOwnPropertyDescriptor(Qr.prototype,t);Object.defineProperty(e.prototype,t,s)})}dispose(){return super.dispose(),this._events=void 0,this}}class Op extends Qr{constructor(){super(...arguments),this.isOffline=!1}toJSON(){return{}}}class Jr extends Op{constructor(){var e,t;super(),this.name="Context",this._constants=new Map,this._timeouts=new zt,this._timeoutIds=0,this._initialized=!1,this._closeStarted=!1,this.isOffline=!1,this._workletPromise=null;const s=W(Jr.getDefaults(),arguments,["context"]);s.context?(this._context=s.context,this._latencyHint=((e=arguments[0])===null||e===void 0?void 0:e.latencyHint)||""):(this._context=S2({latencyHint:s.latencyHint}),this._latencyHint=s.latencyHint),this._ticker=new N2(this.emit.bind(this,"tick"),s.clockSource,s.updateInterval,this._context.sampleRate),this.on("tick",this._timeoutLoop.bind(this)),this._context.onstatechange=()=>{this.emit("statechange",this.state)},this[!((t=arguments[0])===null||t===void 0)&&t.hasOwnProperty("updateInterval")?"_lookAhead":"lookAhead"]=s.lookAhead}static getDefaults(){return{clockSource:"worker",latencyHint:"interactive",lookAhead:.1,updateInterval:.05}}initialize(){return this._initialized||(D2(this),this._initialized=!0),this}createAnalyser(){return this._context.createAnalyser()}createOscillator(){return this._context.createOscillator()}createBufferSource(){return this._context.createBufferSource()}createBiquadFilter(){return this._context.createBiquadFilter()}createBuffer(e,t,s){return this._context.createBuffer(e,t,s)}createChannelMerger(e){return this._context.createChannelMerger(e)}createChannelSplitter(e){return this._context.createChannelSplitter(e)}createConstantSource(){return this._context.createConstantSource()}createConvolver(){return this._context.createConvolver()}createDelay(e){return this._context.createDelay(e)}createDynamicsCompressor(){return this._context.createDynamicsCompressor()}createGain(){return this._context.createGain()}createIIRFilter(e,t){return this._context.createIIRFilter(e,t)}createPanner(){return this._context.createPanner()}createPeriodicWave(e,t,s){return this._context.createPeriodicWave(e,t,s)}createStereoPanner(){return this._context.createStereoPanner()}createWaveShaper(){return this._context.createWaveShaper()}createMediaStreamSource(e){return pe(fi(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamSource(e)}createMediaElementSource(e){return pe(fi(this._context),"Not available if OfflineAudioContext"),this._context.createMediaElementSource(e)}createMediaStreamDestination(){return pe(fi(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamDestination()}decodeAudioData(e){return this._context.decodeAudioData(e)}get currentTime(){return this._context.currentTime}get state(){return this._context.state}get sampleRate(){return this._context.sampleRate}get listener(){return this.initialize(),this._listener}set listener(e){pe(!this._initialized,"The listener cannot be set after initialization."),this._listener=e}get transport(){return this.initialize(),this._transport}set transport(e){pe(!this._initialized,"The transport cannot be set after initialization."),this._transport=e}get draw(){return this.initialize(),this._draw}set draw(e){pe(!this._initialized,"Draw cannot be set after initialization."),this._draw=e}get destination(){return this.initialize(),this._destination}set destination(e){pe(!this._initialized,"The destination cannot be set after initialization."),this._destination=e}createAudioWorkletNode(e,t){return A2(this.rawContext,e,t)}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){pe(Ce(this.rawContext.audioWorklet),"AudioWorkletNode is only available in a secure context (https or localhost)"),this._workletPromise||(this._workletPromise=this.rawContext.audioWorklet.addModule(e)),yield this._workletPromise})}workletsAreReady(){return tt(this,void 0,void 0,function*(){(yield this._workletPromise)?this._workletPromise:Promise.resolve()})}get updateInterval(){return this._ticker.updateInterval}set updateInterval(e){this._ticker.updateInterval=e}get clockSource(){return this._ticker.type}set clockSource(e){this._ticker.type=e}get lookAhead(){return this._lookAhead}set lookAhead(e){this._lookAhead=e,this.updateInterval=e?e/2:.01}get latencyHint(){return this._latencyHint}get rawContext(){return this._context}now(){return this._context.currentTime+this._lookAhead}immediate(){return this._context.currentTime}resume(){return fi(this._context)?this._context.resume():Promise.resolve()}close(){return tt(this,void 0,void 0,function*(){fi(this._context)&&this.state!=="closed"&&!this._closeStarted&&(this._closeStarted=!0,yield this._context.close()),this._initialized&&P2(this)})}getConstant(e){if(this._constants.has(e))return this._constants.get(e);{const t=this._context.createBuffer(1,128,this._context.sampleRate),s=t.getChannelData(0);for(let r=0;rthis._constants[e].disconnect()),this.close(),this}_timeoutLoop(){const e=this.now();let t=this._timeouts.peek();for(;this._timeouts.length&&t&&t.time<=e;)t.callback(),this._timeouts.shift(),t=this._timeouts.peek()}setTimeout(e,t){this._timeoutIds++;const s=this.now();return this._timeouts.add({callback:e,id:this._timeoutIds,time:s+t}),this._timeoutIds}clearTimeout(e){return this._timeouts.forEach(t=>{t.id===e&&this._timeouts.remove(t)}),this}clearInterval(e){return this.clearTimeout(e)}setInterval(e,t){const s=++this._timeoutIds,i=()=>{const r=this.now();this._timeouts.add({callback:()=>{e(),i()},id:s,time:r+t})};return i(),s}}class $2 extends Op{constructor(){super(...arguments),this.lookAhead=0,this.latencyHint=0,this.isOffline=!1}createAnalyser(){return{}}createOscillator(){return{}}createBufferSource(){return{}}createBiquadFilter(){return{}}createBuffer(e,t,s){return{}}createChannelMerger(e){return{}}createChannelSplitter(e){return{}}createConstantSource(){return{}}createConvolver(){return{}}createDelay(e){return{}}createDynamicsCompressor(){return{}}createGain(){return{}}createIIRFilter(e,t){return{}}createPanner(){return{}}createPeriodicWave(e,t,s){return{}}createStereoPanner(){return{}}createWaveShaper(){return{}}createMediaStreamSource(e){return{}}createMediaElementSource(e){return{}}createMediaStreamDestination(){return{}}decodeAudioData(e){return Promise.resolve({})}createAudioWorkletNode(e,t){return{}}get rawContext(){return{}}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){return Promise.resolve()})}resume(){return Promise.resolve()}setTimeout(e,t){return 0}clearTimeout(e){return this}setInterval(e,t){return 0}clearInterval(e){return this}getConstant(e){return{}}get currentTime(){return 0}get state(){return{}}get sampleRate(){return 0}get listener(){return{}}get transport(){return{}}get draw(){return{}}set draw(e){}get destination(){return{}}set destination(e){}now(){return 0}immediate(){return 0}}function ke(n,e){Vt(e)?e.forEach(t=>ke(n,t)):Object.defineProperty(n,e,{enumerable:!0,writable:!1})}function Zl(n,e){Vt(e)?e.forEach(t=>Zl(n,t)):Object.defineProperty(n,e,{writable:!0})}const Fe=()=>{};class Le extends Zn{constructor(){super(),this.name="ToneAudioBuffer",this.onload=Fe;const e=W(Le.getDefaults(),arguments,["url","onload","onerror"]);this.reverse=e.reverse,this.onload=e.onload,Un(e.url)?this.load(e.url).catch(e.onerror):e.url&&this.set(e.url)}static getDefaults(){return{onerror:Fe,onload:Fe,reverse:!1}}get sampleRate(){return this._buffer?this._buffer.sampleRate:Pt().sampleRate}set(e){return e instanceof Le?e.loaded?this._buffer=e.get():e.onload=()=>{this.set(e),this.onload(this)}:this._buffer=e,this._reversed&&this._reverse(),this}get(){return this._buffer}load(e){return tt(this,void 0,void 0,function*(){const t=Le.load(e).then(s=>{this.set(s),this.onload(this)});Le.downloads.push(t);try{yield t}finally{const s=Le.downloads.indexOf(t);Le.downloads.splice(s,1)}return this})}dispose(){return super.dispose(),this._buffer=void 0,this}fromArray(e){const t=Vt(e)&&e[0].length>0,s=t?e.length:1,i=t?e[0].length:e.length,r=Pt(),o=r.createBuffer(s,i,r.sampleRate),a=!t&&s===1?[e]:e;for(let c=0;ci/s),this.fromArray(t)}return this}toArray(e){if(qn(e))return this.getChannelData(e);if(this.numberOfChannels===1)return this.toArray(0);{const t=[];for(let s=0;s0}get duration(){return this._buffer?this._buffer.duration:0}get length(){return this._buffer?this._buffer.length:0}get numberOfChannels(){return this._buffer?this._buffer.numberOfChannels:0}get reverse(){return this._reversed}set reverse(e){this._reversed!==e&&(this._reversed=e,this._reverse())}static fromArray(e){return new Le().fromArray(e)}static fromUrl(e){return tt(this,void 0,void 0,function*(){return yield new Le().load(e)})}static load(e){return tt(this,void 0,void 0,function*(){const t=e.match(/\[([^\]\[]+\|.+)\]$/);if(t){const c=t[1].split("|");let l=c[0];for(const u of c)if(Le.supportsType(u)){l=u;break}e=e.replace(t[0],l)}const s=Le.baseUrl===""||Le.baseUrl.endsWith("/")?Le.baseUrl:Le.baseUrl+"/",i=document.createElement("a");i.href=s+e,i.pathname=(i.pathname+i.hash).split("/").map(encodeURIComponent).join("/");const r=yield fetch(i.href);if(!r.ok)throw new Error(`could not load url: ${e}`);const o=yield r.arrayBuffer();return yield Pt().decodeAudioData(o)})}static supportsType(e){const t=e.split("."),s=t[t.length-1];return document.createElement("audio").canPlayType("audio/"+s)!==""}static loaded(){return tt(this,void 0,void 0,function*(){for(yield Promise.resolve();Le.downloads.length;)yield Le.downloads[0]})}}Le.baseUrl="";Le.downloads=[];class ja extends Jr{constructor(){super({clockSource:"offline",context:To(arguments[0])?arguments[0]:E2(arguments[0],arguments[1]*arguments[2],arguments[2]),lookAhead:0,updateInterval:To(arguments[0])?128/arguments[0].sampleRate:128/arguments[2]}),this.name="OfflineContext",this._currentTime=0,this.isOffline=!0,this._duration=To(arguments[0])?arguments[0].length/arguments[0].sampleRate:arguments[1]}now(){return this._currentTime}get currentTime(){return this._currentTime}_renderClock(e){return tt(this,void 0,void 0,function*(){let t=0;for(;this._duration-this._currentTime>=0;){this.emit("tick"),this._currentTime+=128/this.sampleRate,t++;const s=Math.floor(this.sampleRate/128);e&&t%s===0&&(yield new Promise(i=>setTimeout(i,1)))}})}render(e=!0){return tt(this,void 0,void 0,function*(){yield this.workletsAreReady(),yield this._renderClock(e);const t=yield this._context.startRendering();return new Le(t)})}close(){return Promise.resolve()}}const Ip=new $2;let Fs=Ip;function Pt(){return Fs===Ip&&C2&&F2(new Jr),Fs}function F2(n,e=!1){e&&Fs.dispose(),fi(n)?Fs=new Jr(n):To(n)?Fs=new ja(n):Fs=n}function V2(){return Fs.resume()}if(Ws&&!Ws.TONE_SILENCE_LOGGING){const e=` * Tone.js v${Rf} * `;console.log(`%c${e}`,"background: #000; color: #fff")}function L2(n){return Math.pow(10,n/20)}function B2(n){return 20*(Math.log(n)/Math.LN10)}function Rp(n){return Math.pow(2,n/12)}let Wa=440;function q2(){return Wa}function U2(n){Wa=n}function Vs(n){return Math.round(Dp(n))}function Dp(n){return 69+12*Math.log2(n/Wa)}function Pp(n){return Wa*Math.pow(2,(n-69)/12)}class Xl extends Zn{constructor(e,t,s){super(),this.defaultUnits="s",this._val=t,this._units=s,this.context=e,this._expressions=this._getExpressions()}_getExpressions(){return{hz:{method:e=>this._frequencyToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)hz$/i},i:{method:e=>this._ticksToUnits(parseInt(e,10)),regexp:/^(\d+)i$/i},m:{method:e=>this._beatsToUnits(parseInt(e,10)*this._getTimeSignature()),regexp:/^(\d+)m$/i},n:{method:(e,t)=>{const s=parseInt(e,10),i=t==="."?1.5:1;return s===1?this._beatsToUnits(this._getTimeSignature())*i:this._beatsToUnits(4/s)*i},regexp:/^(\d+)n(\.?)$/i},number:{method:e=>this._expressions[this.defaultUnits].method.call(this,e),regexp:/^(\d+(?:\.\d+)?)$/},s:{method:e=>this._secondsToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)s$/},samples:{method:e=>parseInt(e,10)/this.context.sampleRate,regexp:/^(\d+)samples$/},t:{method:e=>{const t=parseInt(e,10);return this._beatsToUnits(8/(Math.floor(t)*3))},regexp:/^(\d+)t$/i},tr:{method:(e,t,s)=>{let i=0;return e&&e!=="0"&&(i+=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(i+=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(i+=this._beatsToUnits(parseFloat(s)/4)),i},regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?$/}}}valueOf(){if(this._val instanceof Xl&&this.fromType(this._val),Ft(this._val))return this._noArg();if(Un(this._val)&&Ft(this._units)){for(const e in this._expressions)if(this._expressions[e].regexp.test(this._val.trim())){this._units=e;break}}else if(js(this._val)){let e=0;for(const t in this._val)if(Ce(this._val[t])){const s=this._val[t],i=new this.constructor(this.context,t).valueOf()*s;e+=i}return e}if(Ce(this._units)){const e=this._expressions[this._units],t=this._val.toString().trim().match(e.regexp);return t?e.method.apply(this,t.slice(1)):e.method.call(this,this._val)}else return Un(this._val)?parseFloat(this._val):this._val}_frequencyToUnits(e){return 1/e}_beatsToUnits(e){return 60/this._getBpm()*e}_secondsToUnits(e){return e}_ticksToUnits(e){return e*this._beatsToUnits(1)/this._getPPQ()}_noArg(){return this._now()}_getBpm(){return this.context.transport.bpm.value}_getTimeSignature(){return this.context.transport.timeSignature}_getPPQ(){return this.context.transport.PPQ}fromType(e){switch(this._units=void 0,this.defaultUnits){case"s":this._val=e.toSeconds();break;case"i":this._val=e.toTicks();break;case"hz":this._val=e.toFrequency();break;case"midi":this._val=e.toMidi();break}return this}toFrequency(){return 1/this.toSeconds()}toSamples(){return this.toSeconds()*this.context.sampleRate}toMilliseconds(){return this.toSeconds()*1e3}}class Jt extends Xl{constructor(){super(...arguments),this.name="TimeClass"}_getExpressions(){return Object.assign(super._getExpressions(),{now:{method:e=>this._now()+new this.constructor(this.context,e).valueOf(),regexp:/^\+(.+)/},quantize:{method:e=>{const t=new Jt(this.context,e).valueOf();return this._secondsToUnits(this.context.transport.nextSubdivision(t))},regexp:/^@(.+)/}})}quantize(e,t=1){const s=new this.constructor(this.context,e).valueOf(),i=this.valueOf(),a=Math.round(i/s)*s-i;return i+a*t}toNotation(){const e=this.toSeconds(),t=["1m"];for(let r=1;r<9;r++){const o=Math.pow(2,r);t.push(o+"n."),t.push(o+"n"),t.push(o+"t")}t.push("0");let s=t[0],i=new Jt(this.context,t[0]).toSeconds();return t.forEach(r=>{const o=new Jt(this.context,r).toSeconds();Math.abs(o-e)3&&(i=parseFloat(parseFloat(r).toFixed(3))),[s,t,i].join(":")}toTicks(){const e=this._beatsToUnits(1);return this.valueOf()/e*this._getPPQ()}toSeconds(){return this.valueOf()}toMidi(){return Vs(this.toFrequency())}_now(){return this.context.now()}}class Mt extends Jt{constructor(){super(...arguments),this.name="Frequency",this.defaultUnits="hz"}static get A4(){return q2()}static set A4(e){U2(e)}_getExpressions(){return Object.assign({},super._getExpressions(),{midi:{regexp:/^(\d+(?:\.\d+)?midi)/,method(e){return this.defaultUnits==="midi"?e:Mt.mtof(e)}},note:{regexp:/^([a-g]{1}(?:b|#|##|x|bb|###|#x|x#|bbb)?)(-?[0-9]+)/i,method(e,t){const i=j2[e.toLowerCase()]+(parseInt(t,10)+1)*12;return this.defaultUnits==="midi"?i:Mt.mtof(i)}},tr:{regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?/,method(e,t,s){let i=1;return e&&e!=="0"&&(i*=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(i*=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(i*=this._beatsToUnits(parseFloat(s)/4)),i}}})}transpose(e){return new Mt(this.context,this.valueOf()*Rp(e))}harmonize(e){return e.map(t=>this.transpose(t))}toMidi(){return Vs(this.valueOf())}toNote(){const e=this.toFrequency(),t=Math.log2(e/Mt.A4);let s=Math.round(12*t)+57;const i=Math.floor(s/12);return i<0&&(s+=-12*i),W2[s%12]+i.toString()}toSeconds(){return 1/super.toSeconds()}toTicks(){const e=this._beatsToUnits(1),t=this.valueOf()/e;return Math.floor(t*this._getPPQ())}_noArg(){return 0}_frequencyToUnits(e){return e}_ticksToUnits(e){return 1/(e*60/(this._getBpm()*this._getPPQ()))}_beatsToUnits(e){return 1/super._beatsToUnits(e)}_secondsToUnits(e){return 1/e}static mtof(e){return Pp(e)}static ftom(e){return Vs(e)}}const j2={cbbb:-3,cbb:-2,cb:-1,c:0,"c#":1,cx:2,"c##":2,"c###":3,"cx#":3,"c#x":3,dbbb:-1,dbb:0,db:1,d:2,"d#":3,dx:4,"d##":4,"d###":5,"dx#":5,"d#x":5,ebbb:1,ebb:2,eb:3,e:4,"e#":5,ex:6,"e##":6,"e###":7,"ex#":7,"e#x":7,fbbb:2,fbb:3,fb:4,f:5,"f#":6,fx:7,"f##":7,"f###":8,"fx#":8,"f#x":8,gbbb:4,gbb:5,gb:6,g:7,"g#":8,gx:9,"g##":9,"g###":10,"gx#":10,"g#x":10,abbb:6,abb:7,ab:8,a:9,"a#":10,ax:11,"a##":11,"a###":12,"ax#":12,"a#x":12,bbbb:8,bbb:9,bb:10,b:11,"b#":12,bx:13,"b##":13,"b###":14,"bx#":14,"b#x":14},W2=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];function $p(n,e){return new Mt(Pt(),n,e)}class cr extends Jt{constructor(){super(...arguments),this.name="TransportTime"}_now(){return this.context.transport.seconds}}class kt extends Zn{constructor(){super();const e=W(kt.getDefaults(),arguments,["context"]);this.defaultContext?this.context=this.defaultContext:this.context=e.context}static getDefaults(){return{context:Pt()}}now(){return this.context.currentTime+this.context.lookAhead}immediate(){return this.context.currentTime}get sampleTime(){return 1/this.context.sampleRate}get blockTime(){return 128/this.context.sampleRate}toSeconds(e){return x2(e),new Jt(this.context,e).toSeconds()}toFrequency(e){return new Mt(this.context,e).toFrequency()}toTicks(e){return new cr(this.context,e).toTicks()}_getPartialProperties(e){const t=this.get();return Object.keys(t).forEach(s=>{Ft(e[s])&&delete t[s]}),t}get(){const e=I2(this);return Object.keys(e).forEach(t=>{if(Reflect.has(this,t)){const s=this[t];Ce(s)&&Ce(s.value)&&Ce(s.setValueAtTime)?e[t]=s.value:s instanceof kt?e[t]=s._getPartialProperties(e[t]):Vt(s)||qn(s)||Un(s)||b2(s)?e[t]=s:delete e[t]}}),e}set(e){return Object.keys(e).forEach(t=>{Reflect.has(this,t)&&Ce(this[t])&&(this[t]&&Ce(this[t].value)&&Ce(this[t].setValueAtTime)?this[t].value!==e[t]&&(this[t].value=e[t]):this[t]instanceof kt?this[t].set(e[t]):this[t]=e[t])}),this}}class Ql extends zt{constructor(e="stopped"){super(),this.name="StateTimeline",this._initial=e,this.setStateAtTime(this._initial,0)}getValueAtTime(e){const t=this.get(e);return t!==null?t.state:this._initial}setStateAtTime(e,t,s){return rn(t,0),this.add(Object.assign({},s,{state:e,time:t})),this}getLastState(e,t){const s=this._search(t);for(let i=s;i>=0;i--){const r=this._timeline[i];if(r.state===e)return r}}getNextState(e,t){const s=this._search(t);if(s!==-1)for(let i=s;i0,"timeConstant must be a number greater than 0");const r=this.toSeconds(t);return this._assertRange(i),pe(isFinite(i)&&isFinite(r),`Invalid argument(s) to setTargetAtTime: ${JSON.stringify(e)}, ${JSON.stringify(t)}`),this._events.add({constant:s,time:r,type:"setTargetAtTime",value:i}),this.log(this.units,"setTargetAtTime",e,r,s),this._param.setTargetAtTime(i,r,s),this}setValueCurveAtTime(e,t,s,i=1){s=this.toSeconds(s),t=this.toSeconds(t);const r=this._fromType(e[0])*i;this.setValueAtTime(this._toType(r),t);const o=s/(e.length-1);for(let a=1;a{i.type==="cancelScheduledValues"?e.cancelScheduledValues(i.time):i.type==="setTargetAtTime"?e.setTargetAtTime(i.value,i.time,i.constant):e[i.type](i.value,i.time)}),this}setParam(e){pe(this._swappable,"The Param must be assigned as 'swappable' in the constructor");const t=this.input;return t.disconnect(this._param),this.apply(e),this._param=e,t.connect(this._param),this}dispose(){return super.dispose(),this._events.dispose(),this}get defaultValue(){return this._toType(this._param.defaultValue)}_exponentialApproach(e,t,s,i,r){return s+(t-s)*Math.exp(-(r-e)/i)}_linearInterpolate(e,t,s,i,r){return t+(i-t)*((r-e)/(s-e))}_exponentialInterpolate(e,t,s,i,r){return t*Math.pow(i/t,(r-e)/(s-e))}}class he extends kt{constructor(){super(...arguments),this._internalChannels=[]}get numberOfInputs(){return Ce(this.input)?Zs(this.input)||this.input instanceof Te?1:this.input.numberOfInputs:0}get numberOfOutputs(){return Ce(this.output)?this.output.numberOfOutputs:0}_isAudioNode(e){return Ce(e)&&(e instanceof he||ms(e))}_getInternalNodes(){const e=this._internalChannels.slice(0);return this._isAudioNode(this.input)&&e.push(this.input),this._isAudioNode(this.output)&&this.input!==this.output&&e.push(this.output),e}_setChannelProperties(e){this._getInternalNodes().forEach(s=>{s.channelCount=e.channelCount,s.channelCountMode=e.channelCountMode,s.channelInterpretation=e.channelInterpretation})}_getChannelProperties(){const e=this._getInternalNodes();pe(e.length>0,"ToneAudioNode does not have any internal nodes");const t=e[0];return{channelCount:t.channelCount,channelCountMode:t.channelCountMode,channelInterpretation:t.channelInterpretation}}get channelCount(){return this._getChannelProperties().channelCount}set channelCount(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCount:e}))}get channelCountMode(){return this._getChannelProperties().channelCountMode}set channelCountMode(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCountMode:e}))}get channelInterpretation(){return this._getChannelProperties().channelInterpretation}set channelInterpretation(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelInterpretation:e}))}connect(e,t=0,s=0){return jn(this,e,t,s),this}toDestination(){return this.connect(this.context.destination),this}toMaster(){return Ba("toMaster() has been renamed toDestination()"),this.toDestination()}disconnect(e,t=0,s=0){return Fp(this,e,t,s),this}chain(...e){return Tr(this,...e),this}fan(...e){return e.forEach(t=>this.connect(t)),this}dispose(){return super.dispose(),Ce(this.input)&&(this.input instanceof he?this.input.dispose():ms(this.input)&&this.input.disconnect()),Ce(this.output)&&(this.output instanceof he?this.output.dispose():ms(this.output)&&this.output.disconnect()),this._internalChannels=[],this}}function Tr(...n){const e=n.shift();n.reduce((t,s)=>(t instanceof he?t.connect(s):ms(t)&&jn(t,s),s),e)}function jn(n,e,t=0,s=0){for(pe(Ce(n),"Cannot connect from undefined node"),pe(Ce(e),"Cannot connect to undefined node"),(e instanceof he||ms(e))&&pe(e.numberOfInputs>0,"Cannot connect to node with no inputs"),pe(n.numberOfOutputs>0,"Cannot connect from node with no outputs");e instanceof he||e instanceof Te;)Ce(e.input)&&(e=e.input);for(;n instanceof he;)Ce(n.output)&&(n=n.output);Zs(e)?n.connect(e,t):n.connect(e,t,s)}function Fp(n,e,t=0,s=0){if(Ce(e))for(;e instanceof he;)e=e.input;for(;!ms(n);)Ce(n.output)&&(n=n.output);Zs(e)?n.disconnect(e,t):ms(e)?n.disconnect(e,t,s):n.disconnect()}class De extends he{constructor(){super(W(De.getDefaults(),arguments,["gain","units"])),this.name="Gain",this._gainNode=this.context.createGain(),this.input=this._gainNode,this.output=this._gainNode;const e=W(De.getDefaults(),arguments,["gain","units"]);this.gain=new Te({context:this.context,convert:e.convert,param:this._gainNode.gain,units:e.units,value:e.gain,minValue:e.minValue,maxValue:e.maxValue}),ke(this,"gain")}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,gain:1,units:"gain"})}dispose(){return super.dispose(),this._gainNode.disconnect(),this.gain.dispose(),this}}class Di extends he{constructor(e){super(e),this.onended=Fe,this._startTime=-1,this._stopTime=-1,this._timeout=-1,this.output=new De({context:this.context,gain:0}),this._gainNode=this.output,this.getStateAtTime=function(t){const s=this.toSeconds(t);return this._startTime!==-1&&s>=this._startTime&&(this._stopTime===-1||s<=this._stopTime)?"started":"stopped"},this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut,this._curve=e.curve,this.onended=e.onended}static getDefaults(){return Object.assign(he.getDefaults(),{curve:"linear",fadeIn:0,fadeOut:0,onended:Fe})}_startGain(e,t=1){pe(this._startTime===-1,"Source cannot be started more than once");const s=this.toSeconds(this._fadeIn);return this._startTime=e+s,this._startTime=Math.max(this._startTime,this.context.currentTime),s>0?(this._gainNode.gain.setValueAtTime(0,e),this._curve==="linear"?this._gainNode.gain.linearRampToValueAtTime(t,e+s):this._gainNode.gain.exponentialApproachValueAtTime(t,e,s)):this._gainNode.gain.setValueAtTime(t,e),this}stop(e){return this.log("stop",e),this._stopGain(this.toSeconds(e)),this}_stopGain(e){pe(this._startTime!==-1,"'start' must be called before 'stop'"),this.cancelStop();const t=this.toSeconds(this._fadeOut);return this._stopTime=this.toSeconds(e)+t,this._stopTime=Math.max(this._stopTime,this.now()),t>0?this._curve==="linear"?this._gainNode.gain.linearRampTo(0,t,e):this._gainNode.gain.targetRampTo(0,t,e):(this._gainNode.gain.cancelAndHoldAtTime(e),this._gainNode.gain.setValueAtTime(0,e)),this.context.clearTimeout(this._timeout),this._timeout=this.context.setTimeout(()=>{const s=this._curve==="exponential"?t*2:0;this._stopSource(this.now()+s),this._onended()},this._stopTime-this.context.currentTime),this}_onended(){if(this.onended!==Fe&&(this.onended(this),this.onended=Fe,!this.context.isOffline)){const e=()=>this.dispose();typeof window.requestIdleCallback<"u"?window.requestIdleCallback(e):setTimeout(e,1e3)}}get state(){return this.getStateAtTime(this.now())}cancelStop(){return this.log("cancelStop"),pe(this._startTime!==-1,"Source is not started"),this._gainNode.gain.cancelScheduledValues(this._startTime+this.sampleTime),this.context.clearTimeout(this._timeout),this._stopTime=-1,this}dispose(){return super.dispose(),this._gainNode.dispose(),this.onended=Fe,this}}class zo extends Di{constructor(){super(W(zo.getDefaults(),arguments,["offset"])),this.name="ToneConstantSource",this._source=this.context.createConstantSource();const e=W(zo.getDefaults(),arguments,["offset"]);jn(this._source,this._gainNode),this.offset=new Te({context:this.context,convert:e.convert,param:this._source.offset,units:e.units,value:e.offset,minValue:e.minValue,maxValue:e.maxValue})}static getDefaults(){return Object.assign(Di.getDefaults(),{convert:!0,offset:1,units:"number"})}start(e){const t=this.toSeconds(e);return this.log("start",t),this._startGain(t),this._source.start(t),this}_stopSource(e){this._source.stop(e)}dispose(){return super.dispose(),this.state==="started"&&this.stop(),this._source.disconnect(),this.offset.dispose(),this}}class qe extends he{constructor(){super(W(qe.getDefaults(),arguments,["value","units"])),this.name="Signal",this.override=!0;const e=W(qe.getDefaults(),arguments,["value","units"]);this.output=this._constantSource=new zo({context:this.context,convert:e.convert,offset:e.value,units:e.units,minValue:e.minValue,maxValue:e.maxValue}),this._constantSource.start(0),this.input=this._param=this._constantSource.offset}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,units:"number",value:0})}connect(e,t=0,s=0){return Ha(this,e,t,s),this}dispose(){return super.dispose(),this._param.dispose(),this._constantSource.dispose(),this}setValueAtTime(e,t){return this._param.setValueAtTime(e,t),this}getValueAtTime(e){return this._param.getValueAtTime(e)}setRampPoint(e){return this._param.setRampPoint(e),this}linearRampToValueAtTime(e,t){return this._param.linearRampToValueAtTime(e,t),this}exponentialRampToValueAtTime(e,t){return this._param.exponentialRampToValueAtTime(e,t),this}exponentialRampTo(e,t,s){return this._param.exponentialRampTo(e,t,s),this}linearRampTo(e,t,s){return this._param.linearRampTo(e,t,s),this}targetRampTo(e,t,s){return this._param.targetRampTo(e,t,s),this}exponentialApproachValueAtTime(e,t,s){return this._param.exponentialApproachValueAtTime(e,t,s),this}setTargetAtTime(e,t,s){return this._param.setTargetAtTime(e,t,s),this}setValueCurveAtTime(e,t,s,i){return this._param.setValueCurveAtTime(e,t,s,i),this}cancelScheduledValues(e){return this._param.cancelScheduledValues(e),this}cancelAndHoldAtTime(e){return this._param.cancelAndHoldAtTime(e),this}rampTo(e,t,s){return this._param.rampTo(e,t,s),this}get value(){return this._param.value}set value(e){this._param.value=e}get convert(){return this._param.convert}set convert(e){this._param.convert=e}get units(){return this._param.units}get overridden(){return this._param.overridden}set overridden(e){this._param.overridden=e}get maxValue(){return this._param.maxValue}get minValue(){return this._param.minValue}apply(e){return this._param.apply(e),this}}function Ha(n,e,t,s){(e instanceof Te||Zs(e)||e instanceof qe&&e.override)&&(e.cancelScheduledValues(0),e.setValueAtTime(0,0),e instanceof qe&&(e.overridden=!0)),jn(n,e,t,s)}class Go extends Te{constructor(){super(W(Go.getDefaults(),arguments,["value"])),this.name="TickParam",this._events=new zt(1/0),this._multiplier=1;const e=W(Go.getDefaults(),arguments,["value"]);this._multiplier=e.multiplier,this._events.cancel(0),this._events.add({ticks:0,time:0,type:"setValueAtTime",value:this._fromType(e.value)}),this.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(Te.getDefaults(),{multiplier:1,units:"hertz",value:1})}setTargetAtTime(e,t,s){t=this.toSeconds(t),this.setRampPoint(t);const i=this._fromType(e),r=this._events.get(t),o=Math.round(Math.max(1/s,1));for(let a=0;a<=o;a++){const c=s*a+t,l=this._exponentialApproach(r.time,r.value,i,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}setValueAtTime(e,t){const s=this.toSeconds(t);super.setValueAtTime(e,t);const i=this._events.get(s),r=this._events.previousEvent(i),o=this._getTicksUntilEvent(r,s);return i.ticks=Math.max(o,0),this}linearRampToValueAtTime(e,t){const s=this.toSeconds(t);super.linearRampToValueAtTime(e,t);const i=this._events.get(s),r=this._events.previousEvent(i),o=this._getTicksUntilEvent(r,s);return i.ticks=Math.max(o,0),this}exponentialRampToValueAtTime(e,t){t=this.toSeconds(t);const s=this._fromType(e),i=this._events.get(t),r=Math.round(Math.max((t-i.time)*10,1)),o=(t-i.time)/r;for(let a=0;a<=r;a++){const c=o*a+i.time,l=this._exponentialInterpolate(i.time,i.value,t,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}_getTicksUntilEvent(e,t){if(e===null)e={ticks:0,time:0,type:"setValueAtTime",value:0};else if(Ft(e.ticks)){const o=this._events.previousEvent(e);e.ticks=this._getTicksUntilEvent(o,e.time)}const s=this._fromType(this.getValueAtTime(e.time));let i=this._fromType(this.getValueAtTime(t));const r=this._events.get(t);return r&&r.time===t&&r.type==="setValueAtTime"&&(i=this._fromType(this.getValueAtTime(t-this.sampleTime))),.5*(t-e.time)*(s+i)+e.ticks}getTicksAtTime(e){const t=this.toSeconds(e),s=this._events.get(t);return Math.max(this._getTicksUntilEvent(s,t),0)}getDurationOfTicks(e,t){const s=this.toSeconds(t),i=this.getTicksAtTime(t);return this.getTimeOfTick(i+e)-s}getTimeOfTick(e){const t=this._events.get(e,"ticks"),s=this._events.getAfter(e,"ticks");if(t&&t.ticks===e)return t.time;if(t&&s&&s.type==="linearRampToValueAtTime"&&t.value!==s.value){const i=this._fromType(this.getValueAtTime(t.time)),o=(this._fromType(this.getValueAtTime(s.time))-i)/(s.time-t.time),a=Math.sqrt(Math.pow(i,2)-2*o*(t.ticks-e)),c=(-i+a)/o,l=(-i-a)/o;return(c>0?c:l)+t.time}else return t?t.value===0?1/0:t.time+(e-t.ticks)/t.value:e/this._initialValue}ticksToTime(e,t){return this.getDurationOfTicks(e,t)}timeToTicks(e,t){const s=this.toSeconds(t),i=this.toSeconds(e),r=this.getTicksAtTime(s);return this.getTicksAtTime(s+i)-r}_fromType(e){return this.units==="bpm"&&this.multiplier?1/(60/e/this.multiplier):super._fromType(e)}_toType(e){return this.units==="bpm"&&this.multiplier?e/this.multiplier*60:super._toType(e)}get multiplier(){return this._multiplier}set multiplier(e){const t=this.value;this._multiplier=e,this.cancelScheduledValues(0),this.setValueAtTime(t,0)}}class Ko extends qe{constructor(){super(W(Ko.getDefaults(),arguments,["value"])),this.name="TickSignal";const e=W(Ko.getDefaults(),arguments,["value"]);this.input=this._param=new Go({context:this.context,convert:e.convert,multiplier:e.multiplier,param:this._constantSource.offset,units:e.units,value:e.value})}static getDefaults(){return Object.assign(qe.getDefaults(),{multiplier:1,units:"hertz",value:1})}ticksToTime(e,t){return this._param.ticksToTime(e,t)}timeToTicks(e,t){return this._param.timeToTicks(e,t)}getTimeOfTick(e){return this._param.getTimeOfTick(e)}getDurationOfTicks(e,t){return this._param.getDurationOfTicks(e,t)}getTicksAtTime(e){return this._param.getTicksAtTime(e)}get multiplier(){return this._param.multiplier}set multiplier(e){this._param.multiplier=e}dispose(){return super.dispose(),this._param.dispose(),this}}class Yo extends kt{constructor(){super(W(Yo.getDefaults(),arguments,["frequency"])),this.name="TickSource",this._state=new Ql,this._tickOffset=new zt,this._ticksAtTime=new zt,this._secondsAtTime=new zt;const e=W(Yo.getDefaults(),arguments,["frequency"]);this.frequency=new Ko({context:this.context,units:e.units,value:e.frequency}),ke(this,"frequency"),this._state.setStateAtTime("stopped",0),this.setTicksAtTime(0,0)}static getDefaults(){return Object.assign({frequency:1,units:"hertz"},kt.getDefaults())}get state(){return this.getStateAtTime(this.now())}start(e,t){const s=this.toSeconds(e);return this._state.getValueAtTime(s)!=="started"&&(this._state.setStateAtTime("started",s),Ce(t)&&this.setTicksAtTime(t,s),this._ticksAtTime.cancel(s),this._secondsAtTime.cancel(s)),this}stop(e){const t=this.toSeconds(e);if(this._state.getValueAtTime(t)==="stopped"){const s=this._state.get(t);s&&s.time>0&&(this._tickOffset.cancel(s.time),this._state.cancel(s.time))}return this._state.cancel(t),this._state.setStateAtTime("stopped",t),this.setTicksAtTime(0,t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}pause(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)==="started"&&(this._state.setStateAtTime("paused",t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t)),this}cancel(e){return e=this.toSeconds(e),this._state.cancel(e),this._tickOffset.cancel(e),this._ticksAtTime.cancel(e),this._secondsAtTime.cancel(e),this}getTicksAtTime(e){const t=this.toSeconds(e),s=this._state.getLastState("stopped",t),i=this._ticksAtTime.get(t),r={state:"paused",time:t};this._state.add(r);let o=i||s,a=i?i.ticks:0,c=null;return this._state.forEachBetween(o.time,t+this.sampleTime,l=>{let u=o.time;const h=this._tickOffset.get(l.time);h&&h.time>=o.time&&(a=h.ticks,u=h.time),o.state==="started"&&l.state!=="started"&&(a+=this.frequency.getTicksAtTime(l.time)-this.frequency.getTicksAtTime(u),l.time!=r.time&&(c={state:l.state,time:l.time,ticks:a})),o=l}),this._state.remove(r),c&&this._ticksAtTime.add(c),a}get ticks(){return this.getTicksAtTime(this.now())}set ticks(e){this.setTicksAtTime(e,this.now())}get seconds(){return this.getSecondsAtTime(this.now())}set seconds(e){const t=this.now(),s=this.frequency.timeToTicks(e,t);this.setTicksAtTime(s,t)}getSecondsAtTime(e){e=this.toSeconds(e);const t=this._state.getLastState("stopped",e),s={state:"paused",time:e};this._state.add(s);const i=this._secondsAtTime.get(e);let r=i||t,o=i?i.seconds:0,a=null;return this._state.forEachBetween(r.time,e+this.sampleTime,c=>{let l=r.time;const u=this._tickOffset.get(c.time);u&&u.time>=r.time&&(o=u.seconds,l=u.time),r.state==="started"&&c.state!=="started"&&(o+=c.time-l,c.time!=s.time&&(a={state:c.state,time:c.time,seconds:o})),r=c}),this._state.remove(s),a&&this._secondsAtTime.add(a),o}setTicksAtTime(e,t){return t=this.toSeconds(t),this._tickOffset.cancel(t),this._tickOffset.add({seconds:this.frequency.getDurationOfTicks(e,t),ticks:e,time:t}),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}getStateAtTime(e){return e=this.toSeconds(e),this._state.getValueAtTime(e)}getTimeOfTick(e,t=this.now()){const s=this._tickOffset.get(t),i=this._state.get(t),r=Math.max(s.time,i.time),o=this.frequency.getTicksAtTime(r)+e-s.ticks;return this.frequency.getTimeOfTick(o)}forEachTickBetween(e,t,s){let i=this._state.get(e);this._state.forEachBetween(e,t,o=>{i&&i.state==="started"&&o.state!=="started"&&this.forEachTickBetween(Math.max(i.time,e),o.time-this.sampleTime,s),i=o});let r=null;if(i&&i.state==="started"){const o=Math.max(i.time,e),a=this.frequency.getTicksAtTime(o),c=this.frequency.getTicksAtTime(i.time),l=a-c;let u=Math.ceil(l)-l;u=Xt(u,1)?0:u;let h=this.frequency.getTimeOfTick(a+u);for(;h{switch(s.state){case"started":const i=this._tickSource.getTicksAtTime(s.time);this.emit("start",s.time,i);break;case"stopped":s.time!==0&&this.emit("stop",s.time);break;case"paused":this.emit("pause",s.time);break}}),this._tickSource.forEachTickBetween(e,t,(s,i)=>{this.callback(s,i)}))}getStateAtTime(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)}dispose(){return super.dispose(),this.context.off("tick",this._boundLoop),this._tickSource.dispose(),this._state.dispose(),this}}Qr.mixin(Sr);class Zo extends he{constructor(){super(W(Zo.getDefaults(),arguments,["delayTime","maxDelay"])),this.name="Delay";const e=W(Zo.getDefaults(),arguments,["delayTime","maxDelay"]),t=this.toSeconds(e.maxDelay);this._maxDelay=Math.max(t,this.toSeconds(e.delayTime)),this._delayNode=this.input=this.output=this.context.createDelay(t),this.delayTime=new Te({context:this.context,param:this._delayNode.delayTime,units:"time",value:e.delayTime,minValue:0,maxValue:this.maxDelay}),ke(this,"delayTime")}static getDefaults(){return Object.assign(he.getDefaults(),{delayTime:0,maxDelay:1})}get maxDelay(){return this._maxDelay}dispose(){return super.dispose(),this._delayNode.disconnect(),this.delayTime.dispose(),this}}class Jl extends Zn{constructor(){super(),this.name="ToneAudioBuffers",this._buffers=new Map,this._loadingCount=0;const e=W(Jl.getDefaults(),arguments,["urls","onload","baseUrl"],"urls");this.baseUrl=e.baseUrl,Object.keys(e.urls).forEach(t=>{this._loadingCount++;const s=e.urls[t];this.add(t,s,this._bufferLoaded.bind(this,e.onload),e.onerror)})}static getDefaults(){return{baseUrl:"",onerror:Fe,onload:Fe,urls:{}}}has(e){return this._buffers.has(e.toString())}get(e){return pe(this.has(e),`ToneAudioBuffers has no buffer named: ${e}`),this._buffers.get(e.toString())}_bufferLoaded(e){this._loadingCount--,this._loadingCount===0&&e&&e()}get loaded(){return Array.from(this._buffers).every(([e,t])=>t.loaded)}add(e,t,s=Fe,i=Fe){return Un(t)?(this.baseUrl&&t.trim().substring(0,11).toLowerCase()==="data:audio/"&&(this.baseUrl=""),this._buffers.set(e.toString(),new Le(this.baseUrl+t,s,i))):this._buffers.set(e.toString(),new Le(t,s,i)),this}dispose(){return super.dispose(),this._buffers.forEach(e=>e.dispose()),this._buffers.clear(),this}}class Er extends Mt{constructor(){super(...arguments),this.name="MidiClass",this.defaultUnits="midi"}_frequencyToUnits(e){return Vs(super._frequencyToUnits(e))}_ticksToUnits(e){return Vs(super._ticksToUnits(e))}_beatsToUnits(e){return Vs(super._beatsToUnits(e))}_secondsToUnits(e){return Vs(super._secondsToUnits(e))}toMidi(){return this.valueOf()}toFrequency(){return Pp(this.toMidi())}transpose(e){return new Er(this.context,this.toMidi()+e)}}function Sh(n,e){return new Er(Pt(),n,e)}class vi extends cr{constructor(){super(...arguments),this.name="Ticks",this.defaultUnits="i"}_now(){return this.context.transport.ticks}_beatsToUnits(e){return this._getPPQ()*e}_secondsToUnits(e){return Math.floor(e/(60/this._getBpm())*this._getPPQ())}_ticksToUnits(e){return e}toTicks(){return this.valueOf()}toSeconds(){return this.valueOf()/this._getPPQ()*(60/this._getBpm())}}class H2 extends kt{constructor(){super(...arguments),this.name="Draw",this.expiration=.25,this.anticipation=.008,this._events=new zt,this._boundDrawLoop=this._drawLoop.bind(this),this._animationFrame=-1}schedule(e,t){return this._events.add({callback:e,time:this.toSeconds(t)}),this._events.length===1&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop)),this}cancel(e){return this._events.cancel(this.toSeconds(e)),this}_drawLoop(){const e=this.context.currentTime;for(;this._events.length&&this._events.peek().time-this.anticipation<=e;){const t=this._events.shift();t&&e-t.time<=this.expiration&&t.callback()}this._events.length>0&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop))}dispose(){return super.dispose(),this._events.dispose(),cancelAnimationFrame(this._animationFrame),this}}qa(n=>{n.draw=new H2({context:n})});Ua(n=>{n.draw.dispose()});class z2 extends Zn{constructor(){super(...arguments),this.name="IntervalTimeline",this._root=null,this._length=0}add(e){pe(Ce(e.time),"Events must have a time property"),pe(Ce(e.duration),"Events must have a duration parameter"),e.time=e.time.valueOf();let t=new G2(e.time,e.time+e.duration,e);for(this._root===null?this._root=t:this._root.insert(t),this._length++;t!==null;)t.updateHeight(),t.updateMax(),this._rebalance(t),t=t.parent;return this}remove(e){if(this._root!==null){const t=[];this._root.search(e.time,t);for(const s of t)if(s.event===e){this._removeNode(s),this._length--;break}}return this}get length(){return this._length}cancel(e){return this.forEachFrom(e,t=>this.remove(t)),this}_setRoot(e){this._root=e,this._root!==null&&(this._root.parent=null)}_replaceNodeInParent(e,t){e.parent!==null?(e.isLeftChild()?e.parent.left=t:e.parent.right=t,this._rebalance(e.parent)):this._setRoot(t)}_removeNode(e){if(e.left===null&&e.right===null)this._replaceNodeInParent(e,null);else if(e.right===null)this._replaceNodeInParent(e,e.left);else if(e.left===null)this._replaceNodeInParent(e,e.right);else{const t=e.getBalance();let s,i=null;if(t>0)if(e.left.right===null)s=e.left,s.right=e.right,i=s;else{for(s=e.left.right;s.right!==null;)s=s.right;s.parent&&(s.parent.right=s.left,i=s.parent,s.left=e.left,s.right=e.right)}else if(e.right.left===null)s=e.right,s.left=e.left,i=s;else{for(s=e.right.left;s.left!==null;)s=s.left;s.parent&&(s.parent.left=s.right,i=s.parent,s.left=e.left,s.right=e.right)}e.parent!==null?e.isLeftChild()?e.parent.left=s:e.parent.right=s:this._setRoot(s),i&&this._rebalance(i)}e.dispose()}_rotateLeft(e){const t=e.parent,s=e.isLeftChild(),i=e.right;i&&(e.right=i.left,i.left=e),t!==null?s?t.left=i:t.right=i:this._setRoot(i)}_rotateRight(e){const t=e.parent,s=e.isLeftChild(),i=e.left;i&&(e.left=i.right,i.right=e),t!==null?s?t.left=i:t.right=i:this._setRoot(i)}_rebalance(e){const t=e.getBalance();t>1&&e.left?e.left.getBalance()<0?this._rotateLeft(e.left):this._rotateRight(e):t<-1&&e.right&&(e.right.getBalance()>0?this._rotateRight(e.right):this._rotateLeft(e))}get(e){if(this._root!==null){const t=[];if(this._root.search(e,t),t.length>0){let s=t[0];for(let i=1;is.low&&(s=t[i]);return s.event}}return null}forEach(e){if(this._root!==null){const t=[];this._root.traverse(s=>t.push(s)),t.forEach(s=>{s.event&&e(s.event)})}return this}forEachAtTime(e,t){if(this._root!==null){const s=[];this._root.search(e,s),s.forEach(i=>{i.event&&t(i.event)})}return this}forEachFrom(e,t){if(this._root!==null){const s=[];this._root.searchAfter(e,s),s.forEach(i=>{i.event&&t(i.event)})}return this}dispose(){return super.dispose(),this._root!==null&&this._root.traverse(e=>e.dispose()),this._root=null,this}}class G2{constructor(e,t,s){this._left=null,this._right=null,this.parent=null,this.height=0,this.event=s,this.low=e,this.high=t,this.max=this.high}insert(e){e.low<=this.low?this.left===null?this.left=e:this.left.insert(e):this.right===null?this.right=e:this.right.insert(e)}search(e,t){e>this.max||(this.left!==null&&this.left.search(e,t),this.low<=e&&this.high>e&&t.push(this),!(this.low>e)&&this.right!==null&&this.right.search(e,t))}searchAfter(e,t){this.low>=e&&(t.push(this),this.left!==null&&this.left.searchAfter(e,t)),this.right!==null&&this.right.searchAfter(e,t)}traverse(e){e(this),this.left!==null&&this.left.traverse(e),this.right!==null&&this.right.traverse(e)}updateHeight(){this.left!==null&&this.right!==null?this.height=Math.max(this.left.height,this.right.height)+1:this.right!==null?this.height=this.right.height+1:this.left!==null?this.height=this.left.height+1:this.height=0}updateMax(){this.max=this.high,this.left!==null&&(this.max=Math.max(this.max,this.left.max)),this.right!==null&&(this.max=Math.max(this.max,this.right.max))}getBalance(){let e=0;return this.left!==null&&this.right!==null?e=this.left.height-this.right.height:this.left!==null?e=this.left.height+1:this.right!==null&&(e=-(this.right.height+1)),e}isLeftChild(){return this.parent!==null&&this.parent.left===this}get left(){return this._left}set left(e){this._left=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}get right(){return this._right}set right(e){this._right=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}dispose(){this.parent=null,this._left=null,this._right=null,this.event=null}}class Xs extends he{constructor(){super(W(Xs.getDefaults(),arguments,["volume"])),this.name="Volume";const e=W(Xs.getDefaults(),arguments,["volume"]);this.input=this.output=new De({context:this.context,gain:e.volume,units:"decibels"}),this.volume=this.output.gain,ke(this,"volume"),this._unmutedVolume=e.volume,this.mute=e.mute}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.volume.value===-1/0}set mute(e){!this.mute&&e?(this._unmutedVolume=this.volume.value,this.volume.value=-1/0):this.mute&&!e&&(this.volume.value=this._unmutedVolume)}dispose(){return super.dispose(),this.input.dispose(),this.volume.dispose(),this}}class Xo extends he{constructor(){super(W(Xo.getDefaults(),arguments)),this.name="Destination",this.input=new Xs({context:this.context}),this.output=new De({context:this.context}),this.volume=this.input.volume;const e=W(Xo.getDefaults(),arguments);Tr(this.input,this.output,this.context.rawContext.destination),this.mute=e.mute,this._internalChannels=[this.input,this.context.rawContext.destination,this.output]}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.input.mute}set mute(e){this.input.mute=e}chain(...e){return this.input.disconnect(),e.unshift(this.input),e.push(this.output),Tr(...e),this}get maxChannelCount(){return this.context.rawContext.destination.maxChannelCount}dispose(){return super.dispose(),this.volume.dispose(),this}}qa(n=>{n.destination=new Xo({context:n})});Ua(n=>{n.destination.dispose()});class K2 extends Zn{constructor(e){super(),this.name="TimelineValue",this._timeline=new zt({memory:10}),this._initialValue=e}set(e,t){return this._timeline.add({value:e,time:t}),this}get(e){const t=this._timeline.get(e);return t?t.value:this._initialValue}}class Cn extends he{constructor(){super(Object.assign(W(Cn.getDefaults(),arguments,["context"])))}connect(e,t=0,s=0){return Ha(this,e,t,s),this}}class Qs extends Cn{constructor(){super(Object.assign(W(Qs.getDefaults(),arguments,["mapping","length"]))),this.name="WaveShaper",this._shaper=this.context.createWaveShaper(),this.input=this._shaper,this.output=this._shaper;const e=W(Qs.getDefaults(),arguments,["mapping","length"]);Vt(e.mapping)||e.mapping instanceof Float32Array?this.curve=Float32Array.from(e.mapping):w2(e.mapping)&&this.setMap(e.mapping,e.length)}static getDefaults(){return Object.assign(qe.getDefaults(),{length:1024})}setMap(e,t=1024){const s=new Float32Array(t);for(let i=0,r=t;is.includes(e));pe(t,"oversampling must be either 'none', '2x', or '4x'"),this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.disconnect(),this}}class Cr extends Cn{constructor(){super(Object.assign(W(Cr.getDefaults(),arguments,["value"]))),this.name="Pow";const e=W(Cr.getDefaults(),arguments,["value"]);this._exponentScaler=this.input=this.output=new Qs({context:this.context,mapping:this._expFunc(e.value),length:8192}),this._exponent=e.value}static getDefaults(){return Object.assign(Cn.getDefaults(),{value:1})}_expFunc(e){return t=>Math.pow(Math.abs(t),e)}get value(){return this._exponent}set value(e){this._exponent=e,this._exponentScaler.setMap(this._expFunc(this._exponent))}dispose(){return super.dispose(),this._exponentScaler.dispose(),this}}class ys{constructor(e,t){this.id=ys._eventId++,this._remainderTime=0;const s=Object.assign(ys.getDefaults(),t);this.transport=e,this.callback=s.callback,this._once=s.once,this.time=Math.floor(s.time),this._remainderTime=s.time-this.time}static getDefaults(){return{callback:Fe,once:!1,time:0}}get floatTime(){return this.time+this._remainderTime}invoke(e){if(this.callback){const t=this.transport.bpm.getDurationOfTicks(1,e);this.callback(e+this._remainderTime*t),this._once&&this.transport.clear(this.id)}}dispose(){return this.callback=void 0,this}}ys._eventId=0;class eu extends ys{constructor(e,t){super(e,t),this._currentId=-1,this._nextId=-1,this._nextTick=this.time,this._boundRestart=this._restart.bind(this);const s=Object.assign(eu.getDefaults(),t);this.duration=s.duration,this._interval=s.interval,this._nextTick=s.time,this.transport.on("start",this._boundRestart),this.transport.on("loopStart",this._boundRestart),this.transport.on("ticks",this._boundRestart),this.context=this.transport.context,this._restart()}static getDefaults(){return Object.assign({},ys.getDefaults(),{duration:1/0,interval:1,once:!1})}invoke(e){this._createEvents(e),super.invoke(e)}_createEvent(){return Ho(this._nextTick,this.floatTime+this.duration)?this.transport.scheduleOnce(this.invoke.bind(this),new vi(this.context,this._nextTick).toSeconds()):-1}_createEvents(e){Ho(this._nextTick+this._interval,this.floatTime+this.duration)&&(this._nextTick+=this._interval,this._currentId=this._nextId,this._nextId=this.transport.scheduleOnce(this.invoke.bind(this),new vi(this.context,this._nextTick).toSeconds()))}_restart(e){this.transport.clear(this._currentId),this.transport.clear(this._nextId),this._nextTick=this.floatTime;const t=this.transport.getTicksAtTime(e);Ri(t,this.time)&&(this._nextTick=this.floatTime+Math.ceil((t-this.floatTime)/this._interval)*this._interval),this._currentId=this._createEvent(),this._nextTick+=this._interval,this._nextId=this._createEvent()}dispose(){return super.dispose(),this.transport.clear(this._currentId),this.transport.clear(this._nextId),this.transport.off("start",this._boundRestart),this.transport.off("loopStart",this._boundRestart),this.transport.off("ticks",this._boundRestart),this}}let Vp=class zc extends kt{constructor(){super(W(zc.getDefaults(),arguments)),this.name="Transport",this._loop=new K2(!1),this._loopStart=0,this._loopEnd=0,this._scheduledEvents={},this._timeline=new zt,this._repeatedEvents=new z2,this._syncedSignals=[],this._swingAmount=0;const e=W(zc.getDefaults(),arguments);this._ppq=e.ppq,this._clock=new Sr({callback:this._processTick.bind(this),context:this.context,frequency:0,units:"bpm"}),this._bindClockEvents(),this.bpm=this._clock.frequency,this._clock.frequency.multiplier=e.ppq,this.bpm.setValueAtTime(e.bpm,0),ke(this,"bpm"),this._timeSignature=e.timeSignature,this._swingTicks=e.ppq/2}static getDefaults(){return Object.assign(kt.getDefaults(),{bpm:120,loopEnd:"4m",loopStart:0,ppq:192,swing:0,swingSubdivision:"8n",timeSignature:4})}_processTick(e,t){if(this._loop.get(e)&&t>=this._loopEnd&&(this.emit("loopEnd",e),this._clock.setTicksAtTime(this._loopStart,e),t=this._loopStart,this.emit("loopStart",e,this._clock.getSecondsAtTime(e)),this.emit("loop",e)),this._swingAmount>0&&t%this._ppq!==0&&t%(this._swingTicks*2)!==0){const s=t%(this._swingTicks*2)/(this._swingTicks*2),i=Math.sin(s*Math.PI)*this._swingAmount;e+=new vi(this.context,this._swingTicks*2/3).toSeconds()*i}Th(!0),this._timeline.forEachAtTime(t,s=>s.invoke(e)),Th(!1)}schedule(e,t){const s=new ys(this,{callback:e,time:new cr(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}scheduleRepeat(e,t,s,i=1/0){const r=new eu(this,{callback:e,duration:new Jt(this.context,i).toTicks(),interval:new Jt(this.context,t).toTicks(),time:new cr(this.context,s).toTicks()});return this._addEvent(r,this._repeatedEvents)}scheduleOnce(e,t){const s=new ys(this,{callback:e,once:!0,time:new cr(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}clear(e){if(this._scheduledEvents.hasOwnProperty(e)){const t=this._scheduledEvents[e.toString()];t.timeline.remove(t.event),t.event.dispose(),delete this._scheduledEvents[e.toString()]}return this}_addEvent(e,t){return this._scheduledEvents[e.id.toString()]={event:e,timeline:t},t.add(e),e.id}cancel(e=0){const t=this.toTicks(e);return this._timeline.forEachFrom(t,s=>this.clear(s.id)),this._repeatedEvents.forEachFrom(t,s=>this.clear(s.id)),this}_bindClockEvents(){this._clock.on("start",(e,t)=>{t=new vi(this.context,t).toSeconds(),this.emit("start",e,t)}),this._clock.on("stop",e=>{this.emit("stop",e)}),this._clock.on("pause",e=>{this.emit("pause",e)})}get state(){return this._clock.getStateAtTime(this.now())}start(e,t){this.context.resume();let s;return Ce(t)&&(s=this.toTicks(t)),this._clock.start(e,s),this}stop(e){return this._clock.stop(e),this}pause(e){return this._clock.pause(e),this}toggle(e){return e=this.toSeconds(e),this._clock.getStateAtTime(e)!=="started"?this.start(e):this.stop(e),this}get timeSignature(){return this._timeSignature}set timeSignature(e){Vt(e)&&(e=e[0]/e[1]*4),this._timeSignature=e}get loopStart(){return new Jt(this.context,this._loopStart,"i").toSeconds()}set loopStart(e){this._loopStart=this.toTicks(e)}get loopEnd(){return new Jt(this.context,this._loopEnd,"i").toSeconds()}set loopEnd(e){this._loopEnd=this.toTicks(e)}get loop(){return this._loop.get(this.now())}set loop(e){this._loop.set(e,this.now())}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get swing(){return this._swingAmount}set swing(e){this._swingAmount=e}get swingSubdivision(){return new vi(this.context,this._swingTicks).toNotation()}set swingSubdivision(e){this._swingTicks=this.toTicks(e)}get position(){const e=this.now(),t=this._clock.getTicksAtTime(e);return new vi(this.context,t).toBarsBeatsSixteenths()}set position(e){const t=this.toTicks(e);this.ticks=t}get seconds(){return this._clock.seconds}set seconds(e){const t=this.now(),s=this._clock.frequency.timeToTicks(e,t);this.ticks=s}get progress(){if(this.loop){const e=this.now();return(this._clock.getTicksAtTime(e)-this._loopStart)/(this._loopEnd-this._loopStart)}else return 0}get ticks(){return this._clock.ticks}set ticks(e){if(this._clock.ticks!==e){const t=this.now();if(this.state==="started"){const s=this._clock.getTicksAtTime(t),i=this._clock.frequency.getDurationOfTicks(Math.ceil(s)-s,t),r=t+i;this.emit("stop",r),this._clock.setTicksAtTime(e,r),this.emit("start",r,this._clock.getSecondsAtTime(r))}else this.emit("ticks",t),this._clock.setTicksAtTime(e,t)}}getTicksAtTime(e){return this._clock.getTicksAtTime(e)}getSecondsAtTime(e){return this._clock.getSecondsAtTime(e)}get PPQ(){return this._clock.frequency.multiplier}set PPQ(e){this._clock.frequency.multiplier=e}nextSubdivision(e){if(e=this.toTicks(e),this.state!=="started")return 0;{const t=this.now(),s=this.getTicksAtTime(t),i=e-s%e;return this._clock.nextTickTime(i,t)}}syncSignal(e,t){const s=this.now();let i=this.bpm,r=1/(60/i.getValueAtTime(s)/this.PPQ),o=[];if(e.units==="time"){const c=.015625/r,l=new De(c),u=new Cr(-1),h=new De(c);i.chain(l,u,h),i=h,r=1/r,o=[l,u,h]}t||(e.getValueAtTime(s)!==0?t=e.getValueAtTime(s)/r:t=0);const a=new De(t);return i.connect(a),a.connect(e._param),o.push(a),this._syncedSignals.push({initial:e.value,nodes:o,signal:e}),e.value=0,this}unsyncSignal(e){for(let t=this._syncedSignals.length-1;t>=0;t--){const s=this._syncedSignals[t];s.signal===e&&(s.nodes.forEach(i=>i.dispose()),s.signal.value=s.initial,this._syncedSignals.splice(t,1))}return this}dispose(){return super.dispose(),this._clock.dispose(),Zl(this,"bpm"),this._timeline.dispose(),this._repeatedEvents.dispose(),this}};Qr.mixin(Vp);qa(n=>{n.transport=new Vp({context:n})});Ua(n=>{n.transport.dispose()});class wt extends he{constructor(e){super(e),this.input=void 0,this._state=new Ql("stopped"),this._synced=!1,this._scheduled=[],this._syncedStart=Fe,this._syncedStop=Fe,this._state.memory=100,this._state.increasing=!0,this._volume=this.output=new Xs({context:this.context,mute:e.mute,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume"),this.onstop=e.onstop}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,onstop:Fe,volume:0})}get state(){return this._synced?this.context.transport.state==="started"?this._state.getValueAtTime(this.context.transport.seconds):"stopped":this._state.getValueAtTime(this.now())}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}_clampToCurrentTime(e){return this._synced?e:Math.max(e,this.context.currentTime)}start(e,t,s){let i=Ft(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(i=this._clampToCurrentTime(i),!this._synced&&this._state.getValueAtTime(i)==="started")pe(Ri(i,this._state.get(i).time),"Start time must be strictly greater than previous start time"),this._state.cancel(i),this._state.setStateAtTime("started",i),this.log("restart",i),this.restart(i,t,s);else if(this.log("start",i),this._state.setStateAtTime("started",i),this._synced){const r=this._state.get(i);r&&(r.offset=this.toSeconds(Ci(t,0)),r.duration=s?this.toSeconds(s):void 0);const o=this.context.transport.schedule(a=>{this._start(a,t,s)},i);this._scheduled.push(o),this.context.transport.state==="started"&&this.context.transport.getSecondsAtTime(this.immediate())>i&&this._syncedStart(this.now(),this.context.transport.seconds)}else Cp(this.context),this._start(i,t,s);return this}stop(e){let t=Ft(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(t=this._clampToCurrentTime(t),this._state.getValueAtTime(t)==="started"||Ce(this._state.getNextState("started",t))){if(this.log("stop",t),!this._synced)this._stop(t);else{const s=this.context.transport.schedule(this._stop.bind(this),t);this._scheduled.push(s)}this._state.cancel(t),this._state.setStateAtTime("stopped",t)}return this}restart(e,t,s){return e=this.toSeconds(e),this._state.getValueAtTime(e)==="started"&&(this._state.cancel(e),this._restart(e,t,s)),this}sync(){return this._synced||(this._synced=!0,this._syncedStart=(e,t)=>{if(Ri(t,0)){const s=this._state.get(t);if(s&&s.state==="started"&&s.time!==t){const i=t-this.toSeconds(s.time);let r;s.duration&&(r=this.toSeconds(s.duration)-i),this._start(e,this.toSeconds(s.offset)+i,r)}}},this._syncedStop=e=>{const t=this.context.transport.getSecondsAtTime(Math.max(e-this.sampleTime,0));this._state.getValueAtTime(t)==="started"&&this._stop(e)},this.context.transport.on("start",this._syncedStart),this.context.transport.on("loopStart",this._syncedStart),this.context.transport.on("stop",this._syncedStop),this.context.transport.on("pause",this._syncedStop),this.context.transport.on("loopEnd",this._syncedStop)),this}unsync(){return this._synced&&(this.context.transport.off("stop",this._syncedStop),this.context.transport.off("pause",this._syncedStop),this.context.transport.off("loopEnd",this._syncedStop),this.context.transport.off("start",this._syncedStart),this.context.transport.off("loopStart",this._syncedStart)),this._synced=!1,this._scheduled.forEach(e=>this.context.transport.clear(e)),this._scheduled=[],this._state.cancel(0),this._stop(0),this}dispose(){return super.dispose(),this.onstop=Fe,this.unsync(),this._volume.dispose(),this._state.dispose(),this}}class Pi extends Di{constructor(){super(W(Pi.getDefaults(),arguments,["url","onload"])),this.name="ToneBufferSource",this._source=this.context.createBufferSource(),this._internalChannels=[this._source],this._sourceStarted=!1,this._sourceStopped=!1;const e=W(Pi.getDefaults(),arguments,["url","onload"]);jn(this._source,this._gainNode),this._source.onended=()=>this._stopSource(),this.playbackRate=new Te({context:this.context,param:this._source.playbackRate,units:"positive",value:e.playbackRate}),this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this._buffer=new Le(e.url,e.onload,e.onerror),this._internalChannels.push(this._source)}static getDefaults(){return Object.assign(Di.getDefaults(),{url:new Le,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1})}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e}get curve(){return this._curve}set curve(e){this._curve=e}start(e,t,s,i=1){pe(this.buffer.loaded,"buffer is either not set or not loaded");const r=this.toSeconds(e);this._startGain(r,i),this.loop?t=Ci(t,this.loopStart):t=Ci(t,0);let o=Math.max(this.toSeconds(t),0);if(this.loop){const a=this.toSeconds(this.loopEnd)||this.buffer.duration,c=this.toSeconds(this.loopStart),l=a-c;Hc(o,a)&&(o=(o-c)%l+c),Xt(o,this.buffer.duration)&&(o=0)}if(this._source.buffer=this.buffer.get(),this._source.loopEnd=this.toSeconds(this.loopEnd)||this.buffer.duration,Ho(o,this.buffer.duration)&&(this._sourceStarted=!0,this._source.start(r,o)),Ce(s)){let a=this.toSeconds(s);a=Math.max(a,0),this.stop(r+a)}return this}_stopSource(e){!this._sourceStopped&&this._sourceStarted&&(this._sourceStopped=!0,this._source.stop(this.toSeconds(e)),this._onended())}get loopStart(){return this._source.loopStart}set loopStart(e){this._source.loopStart=this.toSeconds(e)}get loopEnd(){return this._source.loopEnd}set loopEnd(e){this._source.loopEnd=this.toSeconds(e)}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._source.loop}set loop(e){this._source.loop=e,this._sourceStarted&&this.cancelStop()}dispose(){return super.dispose(),this._source.onended=null,this._source.disconnect(),this._buffer.dispose(),this.playbackRate.dispose(),this}}class Ar extends wt{constructor(){super(W(Ar.getDefaults(),arguments,["type"])),this.name="Noise",this._source=null;const e=W(Ar.getDefaults(),arguments,["type"]);this._playbackRate=e.playbackRate,this.type=e.type,this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut}static getDefaults(){return Object.assign(wt.getDefaults(),{fadeIn:0,fadeOut:0,playbackRate:1,type:"white"})}get type(){return this._type}set type(e){if(pe(e in Eh,"Noise: invalid type: "+e),this._type!==e&&(this._type=e,this.state==="started")){const t=this.now();this._stop(t),this._start(t)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e,this._source&&(this._source.playbackRate.value=e)}_start(e){const t=Eh[this._type];this._source=new Pi({url:t,context:this.context,fadeIn:this._fadeIn,fadeOut:this._fadeOut,loop:!0,onended:()=>this.onstop(this),playbackRate:this._playbackRate}).connect(this.output),this._source.start(this.toSeconds(e),Math.random()*(t.duration-.001))}_stop(e){this._source&&(this._source.stop(this.toSeconds(e)),this._source=null)}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e,this._source&&(this._source.fadeIn=this._fadeIn)}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e,this._source&&(this._source.fadeOut=this._fadeOut)}_restart(e){this._stop(e),this._start(e)}dispose(){return super.dispose(),this._source&&this._source.disconnect(),this}}const ui=44100*5,gc=2,On={brown:null,pink:null,white:null},Eh={get brown(){if(!On.brown){const n=[];for(let e=0;ethis.onstop(this)});this._oscillator=s,this._wave?this._oscillator.setPeriodicWave(this._wave):this._oscillator.type=this._type,this._oscillator.connect(this.output),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.start(t)}_stop(e){const t=this.toSeconds(e);this._oscillator&&this._oscillator.stop(t)}_restart(e){const t=this.toSeconds(e);return this.log("restart",t),this._oscillator&&this._oscillator.cancelStop(),this._state.cancel(t),this}syncFrequency(){return this.context.transport.syncSignal(this.frequency),this}unsyncFrequency(){return this.context.transport.unsyncSignal(this.frequency),this}_getCachedPeriodicWave(){if(this._type==="custom")return Ze._periodicWaveCache.find(t=>t.phase===this._phase&&O2(t.partials,this._partials));{const e=Ze._periodicWaveCache.find(t=>t.type===this._type&&t.phase===this._phase);return this._partialCount=e?e.partialCount:this._partialCount,e}}get type(){return this._type}set type(e){this._type=e;const t=["sine","square","sawtooth","triangle"].indexOf(e)!==-1;if(this._phase===0&&t)this._wave=void 0,this._partialCount=0,this._oscillator!==null&&(this._oscillator.type=e);else{const s=this._getCachedPeriodicWave();if(Ce(s)){const{partials:i,wave:r}=s;this._wave=r,this._partials=i,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave)}else{const[i,r]=this._getRealImaginary(e,this._phase),o=this.context.createPeriodicWave(i,r);this._wave=o,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave),Ze._periodicWaveCache.push({imag:r,partialCount:this._partialCount,partials:this._partials,phase:this._phase,real:i,type:this._type,wave:this._wave}),Ze._periodicWaveCache.length>100&&Ze._periodicWaveCache.shift()}}}get baseType(){return this._type.replace(this.partialCount.toString(),"")}set baseType(e){this.partialCount&&this._type!=="custom"&&e!=="custom"?this.type=e+this.partialCount:this.type=e}get partialCount(){return this._partialCount}set partialCount(e){rn(e,0);let t=this._type;const s=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(this._type);if(s&&(t=s[1]),this._type!=="custom")e===0?this.type=t:this.type=t+e.toString();else{const i=new Float32Array(e);this._partials.forEach((r,o)=>i[o]=r),this._partials=Array.from(i),this.type=this._type}}_getRealImaginary(e,t){let i=2048;const r=new Float32Array(i),o=new Float32Array(i);let a=1;if(e==="custom"){if(a=this._partials.length+1,this._partialCount=this._partials.length,i=a,this._partials.length===0)return[r,o]}else{const c=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(e);c?(a=parseInt(c[2],10)+1,this._partialCount=parseInt(c[2],10),e=c[1],a=Math.max(a,2),i=a):this._partialCount=0,this._partials=[]}for(let c=1;c>1&1?-1:1):u=0,this._partials[c-1]=u;break;case"custom":u=this._partials[c-1];break;default:throw new TypeError("Oscillator: invalid type: "+e)}u!==0?(r[c]=-u*Math.sin(t*c),o[c]=u*Math.cos(t*c)):(r[c]=0,o[c]=0)}return[r,o]}_inverseFFT(e,t,s){let i=0;const r=e.length;for(let o=0;o(e+1)/2}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class vs extends qe{constructor(){super(Object.assign(W(vs.getDefaults(),arguments,["value"]))),this.name="Multiply",this.override=!1;const e=W(vs.getDefaults(),arguments,["value"]);this._mult=this.input=this.output=new De({context:this.context,minValue:e.minValue,maxValue:e.maxValue}),this.factor=this._param=this._mult.gain,this.factor.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(qe.getDefaults(),{value:0})}dispose(){return super.dispose(),this._mult.dispose(),this}}class Nr extends wt{constructor(){super(W(Nr.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="AMOscillator",this._modulationScale=new Lp({context:this.context}),this._modulationNode=new De({context:this.context});const e=W(Nr.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.frequency=this._carrier.frequency,this.detune=this._carrier.detune,this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new vs({context:this.context,units:"positive",value:e.harmonicity}),this.frequency.chain(this.harmonicity,this._modulator.frequency),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),ke(this,["frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){this._modulator.restart(e),this._carrier.restart(e)}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return ri(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this._modulationScale.dispose(),this}}class Mr extends wt{constructor(){super(W(Mr.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="FMOscillator",this._modulationNode=new De({context:this.context,gain:0});const e=W(Mr.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:0,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.detune=this._carrier.detune,this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new vs({context:this.context,units:"positive",value:e.harmonicity}),this.modulationIndex=new vs({context:this.context,units:"positive",value:e.modulationIndex}),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this.detune.connect(this._modulator.detune),ke(this,["modulationIndex","frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationIndex:2,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){return this._modulator.restart(e),this._carrier.restart(e),this}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return ri(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this.modulationIndex.dispose(),this}}class $i extends wt{constructor(){super(W($i.getDefaults(),arguments,["frequency","width"])),this.name="PulseOscillator",this._widthGate=new De({context:this.context,gain:0}),this._thresh=new Qs({context:this.context,mapping:t=>t<=0?-1:1});const e=W($i.getDefaults(),arguments,["frequency","width"]);this.width=new qe({context:this.context,units:"audioRange",value:e.width}),this._triangle=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:"triangle"}),this.frequency=this._triangle.frequency,this.detune=this._triangle.detune,this._triangle.chain(this._thresh,this.output),this.width.chain(this._widthGate,this._thresh),ke(this,["width","frequency","detune"])}static getDefaults(){return Object.assign(wt.getDefaults(),{detune:0,frequency:440,phase:0,type:"pulse",width:.2})}_start(e){e=this.toSeconds(e),this._triangle.start(e),this._widthGate.gain.setValueAtTime(1,e)}_stop(e){e=this.toSeconds(e),this._triangle.stop(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(0,e)}_restart(e){this._triangle.restart(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(1,e)}get phase(){return this._triangle.phase}set phase(e){this._triangle.phase=e}get type(){return"pulse"}get baseType(){return"pulse"}get partials(){return[]}get partialCount(){return 0}set carrierType(e){this._triangle.type=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return ri(this,e)})}dispose(){return super.dispose(),this._triangle.dispose(),this.width.dispose(),this._widthGate.dispose(),this._thresh.dispose(),this}}class kr extends wt{constructor(){super(W(kr.getDefaults(),arguments,["frequency","type","spread"])),this.name="FatOscillator",this._oscillators=[];const e=W(kr.getDefaults(),arguments,["frequency","type","spread"]);this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this.detune=new qe({context:this.context,units:"cents",value:e.detune}),this._spread=e.spread,this._type=e.type,this._phase=e.phase,this._partials=e.partials,this._partialCount=e.partialCount,this.count=e.count,ke(this,["frequency","detune"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{count:3,spread:20,type:"sawtooth"})}_start(e){e=this.toSeconds(e),this._forEach(t=>t.start(e))}_stop(e){e=this.toSeconds(e),this._forEach(t=>t.stop(e))}_restart(e){this._forEach(t=>t.restart(e))}_forEach(e){for(let t=0;tt.type=e)}get spread(){return this._spread}set spread(e){if(this._spread=e,this._oscillators.length>1){const t=-e/2,s=e/(this._oscillators.length-1);this._forEach((i,r)=>i.detune.value=t+s*r)}}get count(){return this._oscillators.length}set count(e){if(rn(e,1),this._oscillators.length!==e){this._forEach(t=>t.dispose()),this._oscillators=[];for(let t=0;tthis.onstop(this):Fe});this.type==="custom"&&(s.partials=this._partials),this.frequency.connect(s.frequency),this.detune.connect(s.detune),s.detune.overridden=!1,s.connect(this.output),this._oscillators[t]=s}this.spread=this._spread,this.state==="started"&&this._forEach(t=>t.start())}}get phase(){return this._phase}set phase(e){this._phase=e,this._forEach((t,s)=>t.phase=this._phase+s/this.count*360)}get baseType(){return this._oscillators[0].baseType}set baseType(e){this._forEach(t=>t.baseType=e),this._type=this._oscillators[0].type}get partials(){return this._oscillators[0].partials}set partials(e){this._partials=e,this._partialCount=this._partials.length,e.length&&(this._type="custom",this._forEach(t=>t.partials=e))}get partialCount(){return this._oscillators[0].partialCount}set partialCount(e){this._partialCount=e,this._forEach(t=>t.partialCount=e),this._type=this._oscillators[0].type}asArray(e=1024){return tt(this,void 0,void 0,function*(){return ri(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this._forEach(e=>e.dispose()),this}}class Or extends wt{constructor(){super(W(Or.getDefaults(),arguments,["frequency","modulationFrequency"])),this.name="PWMOscillator",this.sourceType="pwm",this._scale=new vs({context:this.context,value:2});const e=W(Or.getDefaults(),arguments,["frequency","modulationFrequency"]);this._pulse=new $i({context:this.context,frequency:e.modulationFrequency}),this._pulse.carrierType="sine",this.modulationFrequency=this._pulse.frequency,this._modulator=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase}),this.frequency=this._modulator.frequency,this.detune=this._modulator.detune,this._modulator.chain(this._scale,this._pulse.width),this._pulse.connect(this.output),ke(this,["modulationFrequency","frequency","detune"])}static getDefaults(){return Object.assign(wt.getDefaults(),{detune:0,frequency:440,modulationFrequency:.4,phase:0,type:"pwm"})}_start(e){e=this.toSeconds(e),this._modulator.start(e),this._pulse.start(e)}_stop(e){e=this.toSeconds(e),this._modulator.stop(e),this._pulse.stop(e)}_restart(e){this._modulator.restart(e),this._pulse.restart(e)}get type(){return"pwm"}get baseType(){return"pwm"}get partials(){return[]}get partialCount(){return 0}get phase(){return this._modulator.phase}set phase(e){this._modulator.phase=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return ri(this,e)})}dispose(){return super.dispose(),this._pulse.dispose(),this._scale.dispose(),this._modulator.dispose(),this}}const Ch={am:Nr,fat:kr,fm:Mr,oscillator:Ze,pulse:$i,pwm:Or};class Js extends wt{constructor(){super(W(Js.getDefaults(),arguments,["frequency","type"])),this.name="OmniOscillator";const e=W(Js.getDefaults(),arguments,["frequency","type"]);this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this.detune=new qe({context:this.context,units:"cents",value:e.detune}),ke(this,["frequency","detune"]),this.set(e)}static getDefaults(){return Object.assign(Ze.getDefaults(),Mr.getDefaults(),Nr.getDefaults(),kr.getDefaults(),$i.getDefaults(),Or.getDefaults())}_start(e){this._oscillator.start(e)}_stop(e){this._oscillator.stop(e)}_restart(e){return this._oscillator.restart(e),this}get type(){let e="";return["am","fm","fat"].some(t=>this._sourceType===t)&&(e=this._sourceType),e+this._oscillator.type}set type(e){e.substr(0,2)==="fm"?(this._createNewOscillator("fm"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,2)==="am"?(this._createNewOscillator("am"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,3)==="fat"?(this._createNewOscillator("fat"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(3)):e==="pwm"?(this._createNewOscillator("pwm"),this._oscillator=this._oscillator):e==="pulse"?this._createNewOscillator("pulse"):(this._createNewOscillator("oscillator"),this._oscillator=this._oscillator,this._oscillator.type=e)}get partials(){return this._oscillator.partials}set partials(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partials=e)}get partialCount(){return this._oscillator.partialCount}set partialCount(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partialCount=e)}set(e){return Reflect.has(e,"type")&&e.type&&(this.type=e.type),super.set(e),this}_createNewOscillator(e){if(e!==this._sourceType){this._sourceType=e;const t=Ch[e],s=this.now();if(this._oscillator){const i=this._oscillator;i.stop(s),this.context.setTimeout(()=>i.dispose(),this.blockTime)}this._oscillator=new t({context:this.context}),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.connect(this.output),this._oscillator.onstop=()=>this.onstop(this),this.state==="started"&&this._oscillator.start(s)}}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e}get sourceType(){return this._sourceType}set sourceType(e){let t="sine";this._oscillator.type!=="pwm"&&this._oscillator.type!=="pulse"&&(t=this._oscillator.type),e==="fm"?this.type="fm"+t:e==="am"?this.type="am"+t:e==="fat"?this.type="fat"+t:e==="oscillator"?this.type=t:e==="pulse"?this.type="pulse":e==="pwm"&&(this.type="pwm")}_getOscType(e,t){return e instanceof Ch[t]}get baseType(){return this._oscillator.baseType}set baseType(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&e!=="pulse"&&e!=="pwm"&&(this._oscillator.baseType=e)}get width(){if(this._getOscType(this._oscillator,"pulse"))return this._oscillator.width}get count(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.count}set count(e){this._getOscType(this._oscillator,"fat")&&qn(e)&&(this._oscillator.count=e)}get spread(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.spread}set spread(e){this._getOscType(this._oscillator,"fat")&&qn(e)&&(this._oscillator.spread=e)}get modulationType(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.modulationType}set modulationType(e){(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))&&Un(e)&&(this._oscillator.modulationType=e)}get modulationIndex(){if(this._getOscType(this._oscillator,"fm"))return this._oscillator.modulationIndex}get harmonicity(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.harmonicity}get modulationFrequency(){if(this._getOscType(this._oscillator,"pwm"))return this._oscillator.modulationFrequency}asArray(e=1024){return tt(this,void 0,void 0,function*(){return ri(this,e)})}dispose(){return super.dispose(),this.detune.dispose(),this.frequency.dispose(),this._oscillator.dispose(),this}}class tu extends qe{constructor(){super(Object.assign(W(tu.getDefaults(),arguments,["value"]))),this.override=!1,this.name="Add",this._sum=new De({context:this.context}),this.input=this._sum,this.output=this._sum,this.addend=this._param,Tr(this._constantSource,this._sum)}static getDefaults(){return Object.assign(qe.getDefaults(),{value:0})}dispose(){return super.dispose(),this._sum.dispose(),this}}class Ir extends Cn{constructor(){super(Object.assign(W(Ir.getDefaults(),arguments,["min","max"]))),this.name="Scale";const e=W(Ir.getDefaults(),arguments,["min","max"]);this._mult=this.input=new vs({context:this.context,value:e.max-e.min}),this._add=this.output=new tu({context:this.context,value:e.min}),this._min=e.min,this._max=e.max,this.input.connect(this.output)}static getDefaults(){return Object.assign(Cn.getDefaults(),{max:1,min:0})}get min(){return this._min}set min(e){this._min=e,this._setRange()}get max(){return this._max}set max(e){this._max=e,this._setRange()}_setRange(){this._add.value=this._min,this._mult.value=this._max-this._min}dispose(){return super.dispose(),this._add.dispose(),this._mult.dispose(),this}}class nu extends Cn{constructor(){super(Object.assign(W(nu.getDefaults(),arguments))),this.name="Zero",this._gain=new De({context:this.context}),this.output=this._gain,this.input=void 0,jn(this.context.getConstant(0),this._gain)}dispose(){return super.dispose(),Fp(this.context.getConstant(0),this._gain),this}}class Jo extends he{constructor(){super(W(Jo.getDefaults(),arguments,["frequency","min","max"])),this.name="LFO",this._stoppedValue=0,this._units="number",this.convert=!0,this._fromType=Te.prototype._fromType,this._toType=Te.prototype._toType,this._is=Te.prototype._is,this._clampValue=Te.prototype._clampValue;const e=W(Jo.getDefaults(),arguments,["frequency","min","max"]);this._oscillator=new Ze(e),this.frequency=this._oscillator.frequency,this._amplitudeGain=new De({context:this.context,gain:e.amplitude,units:"normalRange"}),this.amplitude=this._amplitudeGain.gain,this._stoppedSignal=new qe({context:this.context,units:"audioRange",value:0}),this._zeros=new nu({context:this.context}),this._a2g=new Lp({context:this.context}),this._scaler=this.output=new Ir({context:this.context,max:e.max,min:e.min}),this.units=e.units,this.min=e.min,this.max=e.max,this._oscillator.chain(this._amplitudeGain,this._a2g,this._scaler),this._zeros.connect(this._a2g),this._stoppedSignal.connect(this._a2g),ke(this,["amplitude","frequency"]),this.phase=e.phase}static getDefaults(){return Object.assign(Ze.getDefaults(),{amplitude:1,frequency:"4n",max:1,min:0,type:"sine",units:"number"})}start(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(0,e),this._oscillator.start(e),this}stop(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(this._stoppedValue,e),this._oscillator.stop(e),this}sync(){return this._oscillator.sync(),this._oscillator.syncFrequency(),this}unsync(){return this._oscillator.unsync(),this._oscillator.unsyncFrequency(),this}_setStoppedValue(){this._stoppedValue=this._oscillator.getInitialValue(),this._stoppedSignal.value=this._stoppedValue}get min(){return this._toType(this._scaler.min)}set min(e){e=this._fromType(e),this._scaler.min=e}get max(){return this._toType(this._scaler.max)}set max(e){e=this._fromType(e),this._scaler.max=e}get type(){return this._oscillator.type}set type(e){this._oscillator.type=e,this._setStoppedValue()}get partials(){return this._oscillator.partials}set partials(e){this._oscillator.partials=e,this._setStoppedValue()}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e,this._setStoppedValue()}get units(){return this._units}set units(e){const t=this.min,s=this.max;this._units=e,this.min=t,this.max=s}get state(){return this._oscillator.state}connect(e,t,s){return(e instanceof Te||e instanceof qe)&&(this.convert=e.convert,this.units=e.units),Ha(this,e,t,s),this}dispose(){return super.dispose(),this._oscillator.dispose(),this._stoppedSignal.dispose(),this._zeros.dispose(),this._scaler.dispose(),this._a2g.dispose(),this._amplitudeGain.dispose(),this.amplitude.dispose(),this}}function Bp(n,e=1/0){const t=new WeakMap;return function(s,i){Reflect.defineProperty(s,i,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(r){rn(r,n,e),t.set(this,r)}})}}function Xn(n,e=1/0){const t=new WeakMap;return function(s,i){Reflect.defineProperty(s,i,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(r){rn(this.toSeconds(r),n,e),t.set(this,r)}})}}class Rr extends wt{constructor(){super(W(Rr.getDefaults(),arguments,["url","onload"])),this.name="Player",this._activeSources=new Set;const e=W(Rr.getDefaults(),arguments,["url","onload"]);this._buffer=new Le({onload:this._onload.bind(this,e.onload),onerror:e.onerror,reverse:e.reverse,url:e.url}),this.autostart=e.autostart,this._loop=e.loop,this._loopStart=e.loopStart,this._loopEnd=e.loopEnd,this._playbackRate=e.playbackRate,this.fadeIn=e.fadeIn,this.fadeOut=e.fadeOut}static getDefaults(){return Object.assign(wt.getDefaults(),{autostart:!1,fadeIn:0,fadeOut:0,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1,reverse:!1})}load(e){return tt(this,void 0,void 0,function*(){return yield this._buffer.load(e),this._onload(),this})}_onload(e=Fe){e(),this.autostart&&this.start()}_onSourceEnd(e){this.onstop(this),this._activeSources.delete(e),this._activeSources.size===0&&!this._synced&&this._state.getValueAtTime(this.now())==="started"&&(this._state.cancel(this.now()),this._state.setStateAtTime("stopped",this.now()))}start(e,t,s){return super.start(e,t,s),this}_start(e,t,s){this._loop?t=Ci(t,this._loopStart):t=Ci(t,0);const i=this.toSeconds(t),r=s;s=Ci(s,Math.max(this._buffer.duration-i,0));let o=this.toSeconds(s);o=o/this._playbackRate,e=this.toSeconds(e);const a=new Pi({url:this._buffer,context:this.context,fadeIn:this.fadeIn,fadeOut:this.fadeOut,loop:this._loop,loopEnd:this._loopEnd,loopStart:this._loopStart,onended:this._onSourceEnd.bind(this),playbackRate:this._playbackRate}).connect(this.output);!this._loop&&!this._synced&&(this._state.cancel(e+o),this._state.setStateAtTime("stopped",e+o,{implicitEnd:!0})),this._activeSources.add(a),this._loop&&Ft(r)?a.start(e,i):a.start(e,i,o-this.toSeconds(this.fadeOut))}_stop(e){const t=this.toSeconds(e);this._activeSources.forEach(s=>s.stop(t))}restart(e,t,s){return super.restart(e,t,s),this}_restart(e,t,s){var i;(i=[...this._activeSources].pop())===null||i===void 0||i.stop(e),this._start(e,t,s)}seek(e,t){const s=this.toSeconds(t);if(this._state.getValueAtTime(s)==="started"){const i=this.toSeconds(e);this._stop(s),this._start(s,i)}return this}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get loopStart(){return this._loopStart}set loopStart(e){this._loopStart=e,this.buffer.loaded&&rn(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopStart=e})}get loopEnd(){return this._loopEnd}set loopEnd(e){this._loopEnd=e,this.buffer.loaded&&rn(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopEnd=e})}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._loop}set loop(e){if(this._loop!==e&&(this._loop=e,this._activeSources.forEach(t=>{t.loop=e}),e)){const t=this._state.getNextState("stopped",this.now());t&&this._state.cancel(t.time)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e;const t=this.now(),s=this._state.getNextState("stopped",t);s&&s.implicitEnd&&(this._state.cancel(s.time),this._activeSources.forEach(i=>i.cancelStop())),this._activeSources.forEach(i=>{i.playbackRate.setValueAtTime(e,t)})}get reverse(){return this._buffer.reverse}set reverse(e){this._buffer.reverse=e}get loaded(){return this._buffer.loaded}dispose(){return super.dispose(),this._activeSources.forEach(e=>e.dispose()),this._activeSources.clear(),this._buffer.dispose(),this}}un([Xn(0)],Rr.prototype,"fadeIn",void 0);un([Xn(0)],Rr.prototype,"fadeOut",void 0);class Y2 extends Cn{constructor(){super(...arguments),this.name="GainToAudio",this._norm=new Qs({context:this.context,mapping:e=>Math.abs(e)*2-1}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class Gt extends he{constructor(){super(W(Gt.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="Envelope",this._sig=new qe({context:this.context,value:0}),this.output=this._sig,this.input=void 0;const e=W(Gt.getDefaults(),arguments,["attack","decay","sustain","release"]);this.attack=e.attack,this.decay=e.decay,this.sustain=e.sustain,this.release=e.release,this.attackCurve=e.attackCurve,this.releaseCurve=e.releaseCurve,this.decayCurve=e.decayCurve}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.01,attackCurve:"linear",decay:.1,decayCurve:"exponential",release:1,releaseCurve:"exponential",sustain:.5})}get value(){return this.getValueAtTime(this.now())}_getCurve(e,t){if(Un(e))return e;{let s;for(s in fo)if(fo[s][t]===e)return s;return e}}_setCurve(e,t,s){if(Un(s)&&Reflect.has(fo,s)){const i=fo[s];js(i)?e!=="_decayCurve"&&(this[e]=i[t]):this[e]=i}else if(Vt(s)&&e!=="_decayCurve")this[e]=s;else throw new Error("Envelope: invalid curve: "+s)}get attackCurve(){return this._getCurve(this._attackCurve,"In")}set attackCurve(e){this._setCurve("_attackCurve","In",e)}get releaseCurve(){return this._getCurve(this._releaseCurve,"Out")}set releaseCurve(e){this._setCurve("_releaseCurve","Out",e)}get decayCurve(){return this._getCurve(this._decayCurve,"Out")}set decayCurve(e){this._setCurve("_decayCurve","Out",e)}triggerAttack(e,t=1){this.log("triggerAttack",e,t),e=this.toSeconds(e);let i=this.toSeconds(this.attack);const r=this.toSeconds(this.decay),o=this.getValueAtTime(e);if(o>0){const a=1/i;i=(1-o)/a}if(i0){const s=this.toSeconds(this.release);s{let e,t;const s=[];for(e=0;e<128;e++)s[e]=Math.sin(e/127*(Math.PI/2));const i=[],r=6.4;for(e=0;e<127;e++){t=e/127;const d=Math.sin(t*(Math.PI*2)*r-Math.PI/2)+1;i[e]=d/10+t*.83}i[127]=1;const o=[],a=5;for(e=0;e<128;e++)o[e]=Math.ceil(e/127*a)/a;const c=[];for(e=0;e<128;e++)t=e/127,c[e]=.5*(1-Math.cos(Math.PI*t));const l=[];for(e=0;e<128;e++){t=e/127;const d=Math.pow(t,3)*4+.2,f=Math.cos(d*Math.PI*2*t);l[e]=Math.abs(f*(1-t))}function u(d){const f=new Array(d.length);for(let p=0;pthis._original_triggerRelease(t);const e=W(Wn.getDefaults(),arguments);this._volume=this.output=new Xs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume")}static getDefaults(){return Object.assign(he.getDefaults(),{volume:0})}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",0),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}_syncState(){let e=!1;return this._synced||(this._synced=!0,e=!0),e}_syncMethod(e,t){const s=this["_original_"+e]=this[e];this[e]=(...i)=>{const r=i[t],o=this.context.transport.schedule(a=>{i[t]=a,s.apply(this,i)},r);this._scheduledEvents.push(o)}}unsync(){return this._scheduledEvents.forEach(e=>this.context.transport.clear(e)),this._scheduledEvents=[],this._synced&&(this._synced=!1,this.triggerAttack=this._original_triggerAttack,this.triggerRelease=this._original_triggerRelease,this.context.transport.off("stop",this._syncedRelease),this.context.transport.off("pause",this._syncedRelease),this.context.transport.off("loopEnd",this._syncedRelease)),this}triggerAttackRelease(e,t,s,i){const r=this.toSeconds(s),o=this.toSeconds(t);return this.triggerAttack(e,r,i),this.triggerRelease(r+o),this}dispose(){return super.dispose(),this._volume.dispose(),this.unsync(),this._scheduledEvents=[],this}}class An extends Wn{constructor(){super(W(An.getDefaults(),arguments));const e=W(An.getDefaults(),arguments);this.portamento=e.portamento,this.onsilence=e.onsilence}static getDefaults(){return Object.assign(Wn.getDefaults(),{detune:0,onsilence:Fe,portamento:0})}triggerAttack(e,t,s=1){this.log("triggerAttack",e,t,s);const i=this.toSeconds(t);return this._triggerEnvelopeAttack(i,s),this.setNote(e,i),this}triggerRelease(e){this.log("triggerRelease",e);const t=this.toSeconds(e);return this._triggerEnvelopeRelease(t),this}setNote(e,t){const s=this.toSeconds(t),i=e instanceof Mt?e.toFrequency():e;if(this.portamento>0&&this.getLevelAtTime(s)>.05){const r=this.toSeconds(this.portamento);this.frequency.exponentialRampTo(i,r,s)}else this.frequency.setValueAtTime(i,s);return this}}un([Xn(0)],An.prototype,"portamento",void 0);class za extends Gt{constructor(){super(W(za.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="AmplitudeEnvelope",this._gainNode=new De({context:this.context,gain:0}),this.output=this._gainNode,this.input=this._gainNode,this._sig.connect(this._gainNode.gain),this.output=this._gainNode,this.input=this._gainNode}dispose(){return super.dispose(),this._gainNode.dispose(),this}}class Fi extends An{constructor(){super(W(Fi.getDefaults(),arguments)),this.name="Synth";const e=W(Fi.getDefaults(),arguments);this.oscillator=new Js(Object.assign({context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)},e.oscillator)),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.envelope=new za(Object.assign({context:this.context},e.envelope)),this.oscillator.chain(this.envelope,this.output),ke(this,["oscillator","frequency","detune","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign($s(Gt.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.3}),oscillator:Object.assign($s(Js.getDefaults(),[...Object.keys(wt.getDefaults()),"frequency","detune"]),{type:"triangle"})})}_triggerEnvelopeAttack(e,t){if(this.envelope.triggerAttack(e,t),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),i=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+i)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this}}class Dr extends he{constructor(){super(W(Dr.getDefaults(),arguments,["frequency","type"])),this.name="BiquadFilter";const e=W(Dr.getDefaults(),arguments,["frequency","type"]);this._filter=this.context.createBiquadFilter(),this.input=this.output=this._filter,this.Q=new Te({context:this.context,units:"number",value:e.Q,param:this._filter.Q}),this.frequency=new Te({context:this.context,units:"frequency",value:e.frequency,param:this._filter.frequency}),this.detune=new Te({context:this.context,units:"cents",value:e.detune,param:this._filter.detune}),this.gain=new Te({context:this.context,units:"decibels",convert:!1,value:e.gain,param:this._filter.gain}),this.type=e.type}static getDefaults(){return Object.assign(he.getDefaults(),{Q:1,type:"lowpass",frequency:350,detune:0,gain:0})}get type(){return this._filter.type}set type(e){pe(["lowpass","highpass","bandpass","lowshelf","highshelf","notch","allpass","peaking"].indexOf(e)!==-1,`Invalid filter type: ${e}`),this._filter.type=e}getFrequencyResponse(e=128){const t=new Float32Array(e);for(let o=0;os.type=e)}get rolloff(){return this._rolloff}set rolloff(e){const t=qn(e)?e:parseInt(e,10),s=[-12,-24,-48,-96];let i=s.indexOf(t);pe(i!==-1,`rolloff can only be ${s.join(", ")}`),i+=1,this._rolloff=t,this.input.disconnect(),this._filters.forEach(r=>r.disconnect()),this._filters=new Array(i);for(let r=0;r1);return this._filters.forEach(()=>{t.getFrequencyResponse(e).forEach((r,o)=>s[o]*=r)}),t.dispose(),s}dispose(){return super.dispose(),this._filters.forEach(e=>{e.dispose()}),Zl(this,["detune","frequency","gain","Q"]),this.frequency.dispose(),this.Q.dispose(),this.detune.dispose(),this.gain.dispose(),this}}class $r extends Gt{constructor(){super(W($r.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="FrequencyEnvelope";const e=W($r.getDefaults(),arguments,["attack","decay","sustain","release"]);this._octaves=e.octaves,this._baseFrequency=this.toFrequency(e.baseFrequency),this._exponent=this.input=new Cr({context:this.context,value:e.exponent}),this._scale=this.output=new Ir({context:this.context,min:this._baseFrequency,max:this._baseFrequency*Math.pow(2,this._octaves)}),this._sig.chain(this._exponent,this._scale)}static getDefaults(){return Object.assign(Gt.getDefaults(),{baseFrequency:200,exponent:1,octaves:4})}get baseFrequency(){return this._baseFrequency}set baseFrequency(e){const t=this.toFrequency(e);rn(t,0),this._baseFrequency=t,this._scale.min=this._baseFrequency,this.octaves=this._octaves}get octaves(){return this._octaves}set octaves(e){this._octaves=e,this._scale.max=this._baseFrequency*Math.pow(2,e)}get exponent(){return this._exponent.value}set exponent(e){this._exponent.value=e}dispose(){return super.dispose(),this._exponent.dispose(),this._scale.dispose(),this}}class ea extends An{constructor(){super(W(ea.getDefaults(),arguments)),this.name="MonoSynth";const e=W(ea.getDefaults(),arguments);this.oscillator=new Js(Object.assign(e.oscillator,{context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)})),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.filter=new Pr(Object.assign(e.filter,{context:this.context})),this.filterEnvelope=new $r(Object.assign(e.filterEnvelope,{context:this.context})),this.envelope=new za(Object.assign(e.envelope,{context:this.context})),this.oscillator.chain(this.filter,this.envelope,this.output),this.filterEnvelope.connect(this.filter.frequency),ke(this,["oscillator","frequency","detune","filter","filterEnvelope","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign($s(Gt.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.9}),filter:Object.assign($s(Pr.getDefaults(),Object.keys(he.getDefaults())),{Q:1,rolloff:-12,type:"lowpass"}),filterEnvelope:Object.assign($s($r.getDefaults(),Object.keys(he.getDefaults())),{attack:.6,baseFrequency:200,decay:.2,exponent:2,octaves:3,release:2,sustain:.5}),oscillator:Object.assign($s(Js.getDefaults(),Object.keys(wt.getDefaults())),{type:"sawtooth"})})}_triggerEnvelopeAttack(e,t=1){if(this.envelope.triggerAttack(e,t),this.filterEnvelope.triggerAttack(e),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),i=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+i)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.filterEnvelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this.filterEnvelope.dispose(),this.filter.dispose(),this}}class Fr extends Fi{constructor(){super(W(Fr.getDefaults(),arguments)),this.name="MembraneSynth",this.portamento=0;const e=W(Fr.getDefaults(),arguments);this.pitchDecay=e.pitchDecay,this.octaves=e.octaves,ke(this,["oscillator","envelope"])}static getDefaults(){return Hs(An.getDefaults(),Fi.getDefaults(),{envelope:{attack:.001,attackCurve:"exponential",decay:.4,release:1.4,sustain:.01},octaves:10,oscillator:{type:"sine"},pitchDecay:.05})}setNote(e,t){const s=this.toSeconds(t),i=this.toFrequency(e instanceof Mt?e.toFrequency():e),r=i*this.octaves;return this.oscillator.frequency.setValueAtTime(r,s),this.oscillator.frequency.exponentialRampToValueAtTime(i,s+this.toSeconds(this.pitchDecay)),this}dispose(){return super.dispose(),this}}un([Bp(0)],Fr.prototype,"octaves",void 0);un([Xn(0)],Fr.prototype,"pitchDecay",void 0);const qp=new Set;function su(n){qp.add(n)}function Up(n,e){const t=`registerProcessor("${n}", ${e})`;qp.add(t)}const Z2=` + /** + * The base AudioWorkletProcessor for use in Tone.js. Works with the [[ToneAudioWorklet]]. + */ + class ToneAudioWorkletProcessor extends AudioWorkletProcessor { + + constructor(options) { + + super(options); + /** + * If the processor was disposed or not. Keep alive until it's disposed. + */ + this.disposed = false; + /** + * The number of samples in the processing block + */ + this.blockSize = 128; + /** + * the sample rate + */ + this.sampleRate = sampleRate; + + this.port.onmessage = (event) => { + // when it receives a dispose + if (event.data === "dispose") { + this.disposed = true; + } + }; + } + } +`;su(Z2);const X2=` + /** + * Abstract class for a single input/output processor. + * has a 'generate' function which processes one sample at a time + */ + class SingleIOProcessor extends ToneAudioWorkletProcessor { + + constructor(options) { + super(Object.assign(options, { + numberOfInputs: 1, + numberOfOutputs: 1 + })); + /** + * Holds the name of the parameter and a single value of that + * parameter at the current sample + * @type { [name: string]: number } + */ + this.params = {} + } + + /** + * Generate an output sample from the input sample and parameters + * @abstract + * @param input number + * @param channel number + * @param parameters { [name: string]: number } + * @returns number + */ + generate(){} + + /** + * Update the private params object with the + * values of the parameters at the given index + * @param parameters { [name: string]: Float32Array }, + * @param index number + */ + updateParams(parameters, index) { + for (const paramName in parameters) { + const param = parameters[paramName]; + if (param.length > 1) { + this.params[paramName] = parameters[paramName][index]; + } else { + this.params[paramName] = parameters[paramName][0]; + } + } + } + + /** + * Process a single frame of the audio + * @param inputs Float32Array[][] + * @param outputs Float32Array[][] + */ + process(inputs, outputs, parameters) { + const input = inputs[0]; + const output = outputs[0]; + // get the parameter values + const channelCount = Math.max(input && input.length || 0, output.length); + for (let sample = 0; sample < this.blockSize; sample++) { + this.updateParams(parameters, sample); + for (let channel = 0; channel < channelCount; channel++) { + const inputSample = input && input.length ? input[channel][sample] : 0; + output[channel][sample] = this.generate(inputSample, channel, this.params); + } + } + return !this.disposed; + } + }; +`;su(X2);const Q2=` + /** + * A multichannel buffer for use within an AudioWorkletProcessor as a delay line + */ + class DelayLine { + + constructor(size, channels) { + this.buffer = []; + this.writeHead = [] + this.size = size; + + // create the empty channels + for (let i = 0; i < channels; i++) { + this.buffer[i] = new Float32Array(this.size); + this.writeHead[i] = 0; + } + } + + /** + * Push a value onto the end + * @param channel number + * @param value number + */ + push(channel, value) { + this.writeHead[channel] += 1; + if (this.writeHead[channel] > this.size) { + this.writeHead[channel] = 0; + } + this.buffer[channel][this.writeHead[channel]] = value; + } + + /** + * Get the recorded value of the channel given the delay + * @param channel number + * @param delay number delay samples + */ + get(channel, delay) { + let readHead = this.writeHead[channel] - Math.floor(delay); + if (readHead < 0) { + readHead += this.size; + } + return this.buffer[channel][readHead]; + } + } +`;su(Q2);const J2="feedback-comb-filter",ex=` + class FeedbackCombFilterWorklet extends SingleIOProcessor { + + constructor(options) { + super(options); + this.delayLine = new DelayLine(this.sampleRate, options.channelCount || 2); + } + + static get parameterDescriptors() { + return [{ + name: "delayTime", + defaultValue: 0.1, + minValue: 0, + maxValue: 1, + automationRate: "k-rate" + }, { + name: "feedback", + defaultValue: 0.5, + minValue: 0, + maxValue: 0.9999, + automationRate: "k-rate" + }]; + } + + generate(input, channel, parameters) { + const delayedSample = this.delayLine.get(channel, parameters.delayTime * this.sampleRate); + this.delayLine.push(channel, input + delayedSample * parameters.feedback); + return delayedSample; + } + } +`;Up(J2,ex);class ta extends Wn{constructor(){super(W(ta.getDefaults(),arguments,["voice","options"])),this.name="PolySynth",this._availableVoices=[],this._activeVoices=[],this._voices=[],this._gcTimeout=-1,this._averageActiveVoices=0,this._syncedRelease=i=>this.releaseAll(i);const e=W(ta.getDefaults(),arguments,["voice","options"]);pe(!qn(e.voice),"DEPRECATED: The polyphony count is no longer the first argument.");const t=e.voice.getDefaults();this.options=Object.assign(t,e.options),this.voice=e.voice,this.maxPolyphony=e.maxPolyphony,this._dummyVoice=this._getNextAvailableVoice();const s=this._voices.indexOf(this._dummyVoice);this._voices.splice(s,1),this._gcTimeout=this.context.setInterval(this._collectGarbage.bind(this),1)}static getDefaults(){return Object.assign(Wn.getDefaults(),{maxPolyphony:32,options:{},voice:Fi})}get activeVoices(){return this._activeVoices.length}_makeVoiceAvailable(e){this._availableVoices.push(e);const t=this._activeVoices.findIndex(s=>s.voice===e);this._activeVoices.splice(t,1)}_getNextAvailableVoice(){if(this._availableVoices.length)return this._availableVoices.shift();if(this._voices.lengthMath.ceil(this._averageActiveVoices+1)){const e=this._availableVoices.shift(),t=this._voices.indexOf(e);this._voices.splice(t,1),this.context.isOffline||e.dispose()}}_triggerAttack(e,t,s){e.forEach(i=>{const r=new Er(this.context,i).toMidi(),o=this._getNextAvailableVoice();o&&(o.triggerAttack(i,t,s),this._activeVoices.push({midi:r,voice:o,released:!1}),this.log("triggerAttack",i,t))})}_triggerRelease(e,t){e.forEach(s=>{const i=new Er(this.context,s).toMidi(),r=this._activeVoices.find(({midi:o,released:a})=>o===i&&!a);r&&(r.voice.triggerRelease(t),r.released=!0,this.log("triggerRelease",s,t))})}_scheduleEvent(e,t,s,i){pe(!this.disposed,"Synth was already disposed"),s<=this.now()?e==="attack"?this._triggerAttack(t,s,i):this._triggerRelease(t,s):this.context.setTimeout(()=>{this.disposed||this._scheduleEvent(e,t,s,i)},s-this.now())}triggerAttack(e,t,s){Array.isArray(e)||(e=[e]);const i=this.toSeconds(t);return this._scheduleEvent("attack",e,i,s),this}triggerRelease(e,t){Array.isArray(e)||(e=[e]);const s=this.toSeconds(t);return this._scheduleEvent("release",e,s),this}triggerAttackRelease(e,t,s,i){const r=this.toSeconds(s);if(this.triggerAttack(e,r,i),Vt(t)){pe(Vt(e),"If the duration is an array, the notes must also be an array"),e=e;for(let o=0;o0,"The duration must be greater than 0"),this.triggerRelease(e[o],r+c)}}else{const o=this.toSeconds(t);pe(o>0,"The duration must be greater than 0"),this.triggerRelease(e,r+o)}return this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}set(e){const t=$s(e,["onsilence","context"]);return this.options=Hs(this.options,t),this._voices.forEach(s=>s.set(t)),this._dummyVoice.set(t),this}get(){return this._dummyVoice.get()}releaseAll(e){const t=this.toSeconds(e);return this._activeVoices.forEach(({voice:s})=>{s.triggerRelease(t)}),this}dispose(){return super.dispose(),this._dummyVoice.dispose(),this._voices.forEach(e=>e.dispose()),this._activeVoices=[],this._availableVoices=[],this.context.clearInterval(this._gcTimeout),this}}class Vr extends Wn{constructor(){super(W(Vr.getDefaults(),arguments,["urls","onload","baseUrl"],"urls")),this.name="Sampler",this._activeSources=new Map;const e=W(Vr.getDefaults(),arguments,["urls","onload","baseUrl"],"urls"),t={};Object.keys(e.urls).forEach(s=>{const i=parseInt(s,10);if(pe(ho(s)||qn(i)&&isFinite(i),`url key is neither a note or midi pitch: ${s}`),ho(s)){const r=new Mt(this.context,s).toMidi();t[r]=e.urls[s]}else qn(i)&&isFinite(i)&&(t[i]=e.urls[i])}),this._buffers=new Jl({urls:t,onload:e.onload,baseUrl:e.baseUrl,onerror:e.onerror}),this.attack=e.attack,this.release=e.release,this.curve=e.curve,this._buffers.loaded&&Promise.resolve().then(e.onload)}static getDefaults(){return Object.assign(Wn.getDefaults(),{attack:0,baseUrl:"",curve:"exponential",onload:Fe,onerror:Fe,release:.1,urls:{}})}_findClosest(e){let s=0;for(;s<96;){if(this._buffers.has(e+s))return-s;if(this._buffers.has(e-s))return s;s++}throw new Error(`No available buffers for note: ${e}`)}triggerAttack(e,t,s=1){return this.log("triggerAttack",e,t,s),Array.isArray(e)||(e=[e]),e.forEach(i=>{const r=Dp(new Mt(this.context,i).toFrequency()),o=Math.round(r),a=r-o,c=this._findClosest(o),l=o-c,u=this._buffers.get(l),h=Rp(c+a),d=new Pi({url:u,context:this.context,curve:this.curve,fadeIn:this.attack,fadeOut:this.release,playbackRate:h}).connect(this.output);d.start(t,0,u.duration/h,s),Vt(this._activeSources.get(o))||this._activeSources.set(o,[]),this._activeSources.get(o).push(d),d.onended=()=>{if(this._activeSources&&this._activeSources.has(o)){const f=this._activeSources.get(o),p=f.indexOf(d);p!==-1&&f.splice(p,1)}}}),this}triggerRelease(e,t){return this.log("triggerRelease",e,t),Array.isArray(e)||(e=[e]),e.forEach(s=>{const i=new Mt(this.context,s).toMidi();if(this._activeSources.has(i)&&this._activeSources.get(i).length){const r=this._activeSources.get(i);t=this.toSeconds(t),r.forEach(o=>{o.stop(t)}),this._activeSources.set(i,[])}}),this}releaseAll(e){const t=this.toSeconds(e);return this._activeSources.forEach(s=>{for(;s.length;)s.shift().stop(t)}),this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1)),this}triggerAttackRelease(e,t,s,i=1){const r=this.toSeconds(s);return this.triggerAttack(e,r,i),Vt(t)?(pe(Vt(e),"notes must be an array when duration is array"),e.forEach((o,a)=>{const c=t[Math.min(a,t.length-1)];this.triggerRelease(o,r+this.toSeconds(c))})):this.triggerRelease(e,r+this.toSeconds(t)),this}add(e,t,s){if(pe(ho(e)||isFinite(e),`note must be a pitch or midi: ${e}`),ho(e)){const i=new Mt(this.context,e).toMidi();this._buffers.add(i,t,s)}else this._buffers.add(e,t,s);return this}get loaded(){return this._buffers.loaded}dispose(){return super.dispose(),this._buffers.dispose(),this._activeSources.forEach(e=>{e.forEach(t=>t.dispose())}),this._activeSources.clear(),this}}un([Xn(0)],Vr.prototype,"attack",void 0);un([Xn(0)],Vr.prototype,"release",void 0);class na extends he{constructor(){super(Object.assign(W(na.getDefaults(),arguments,["fade"]))),this.name="CrossFade",this._panner=this.context.createStereoPanner(),this._split=this.context.createChannelSplitter(2),this._g2a=new Y2({context:this.context}),this.a=new De({context:this.context,gain:0}),this.b=new De({context:this.context,gain:0}),this.output=new De({context:this.context}),this._internalChannels=[this.a,this.b];const e=W(na.getDefaults(),arguments,["fade"]);this.fade=new qe({context:this.context,units:"normalRange",value:e.fade}),ke(this,"fade"),this.context.getConstant(1).connect(this._panner),this._panner.connect(this._split),this._panner.channelCount=1,this._panner.channelCountMode="explicit",jn(this._split,this.a.gain,0),jn(this._split,this.b.gain,1),this.fade.chain(this._g2a,this._panner.pan),this.a.connect(this.output),this.b.connect(this.output)}static getDefaults(){return Object.assign(he.getDefaults(),{fade:.5})}dispose(){return super.dispose(),this.a.dispose(),this.b.dispose(),this.output.dispose(),this.fade.dispose(),this._g2a.dispose(),this._panner.disconnect(),this._split.disconnect(),this}}class Vi extends he{constructor(e){super(e),this.name="Effect",this._dryWet=new na({context:this.context}),this.wet=this._dryWet.fade,this.effectSend=new De({context:this.context}),this.effectReturn=new De({context:this.context}),this.input=new De({context:this.context}),this.output=this._dryWet,this.input.fan(this._dryWet.a,this.effectSend),this.effectReturn.connect(this._dryWet.b),this.wet.setValueAtTime(e.wet,0),this._internalChannels=[this.effectReturn,this.effectSend],ke(this,"wet")}static getDefaults(){return Object.assign(he.getDefaults(),{wet:1})}connectEffect(e){return this._internalChannels.push(e),this.effectSend.chain(e,this.effectReturn),this}dispose(){return super.dispose(),this._dryWet.dispose(),this.effectSend.dispose(),this.effectReturn.dispose(),this.wet.dispose(),this}}class Ah extends Vi{constructor(e){super(e),this.name="LFOEffect",this._lfo=new Jo({context:this.context,frequency:e.frequency,amplitude:e.depth}),this.depth=this._lfo.amplitude,this.frequency=this._lfo.frequency,this.type=e.type,ke(this,["frequency","depth"])}static getDefaults(){return Object.assign(Vi.getDefaults(),{frequency:1,type:"sine",depth:1})}start(e){return this._lfo.start(e),this}stop(e){return this._lfo.stop(e),this}sync(){return this._lfo.sync(),this}unsync(){return this._lfo.unsync(),this}get type(){return this._lfo.type}set type(e){this._lfo.type=e}dispose(){return super.dispose(),this._lfo.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Lr extends he{constructor(){super(Object.assign(W(Lr.getDefaults(),arguments,["pan"]))),this.name="Panner",this._panner=this.context.createStereoPanner(),this.input=this._panner,this.output=this._panner;const e=W(Lr.getDefaults(),arguments,["pan"]);this.pan=new Te({context:this.context,param:this._panner.pan,value:e.pan,minValue:-1,maxValue:1}),this._panner.channelCount=e.channelCount,this._panner.channelCountMode="explicit",ke(this,"pan")}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,channelCount:1})}dispose(){return super.dispose(),this._panner.disconnect(),this.pan.dispose(),this}}class sa extends Ah{constructor(){super(W(sa.getDefaults(),arguments,["frequency"])),this.name="AutoPanner";const e=W(sa.getDefaults(),arguments,["frequency"]);this._panner=new Lr({context:this.context,channelCount:e.channelCount}),this.connectEffect(this._panner),this._lfo.connect(this._panner.pan),this._lfo.min=-1,this._lfo.max=1}static getDefaults(){return Object.assign(Ah.getDefaults(),{channelCount:1})}dispose(){return super.dispose(),this._panner.dispose(),this}}const tx="bit-crusher",nx=` + class BitCrusherWorklet extends SingleIOProcessor { + + static get parameterDescriptors() { + return [{ + name: "bits", + defaultValue: 12, + minValue: 1, + maxValue: 16, + automationRate: 'k-rate' + }]; + } + + generate(input, _channel, parameters) { + const step = Math.pow(0.5, parameters.bits - 1); + const val = step * Math.floor(input / step + 0.5); + return val; + } + } +`;Up(tx,nx);class ia extends he{constructor(){super(W(ia.getDefaults(),arguments,["channels"])),this.name="Merge";const e=W(ia.getDefaults(),arguments,["channels"]);this._merger=this.output=this.input=this.context.createChannelMerger(e.channels)}static getDefaults(){return Object.assign(he.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._merger.disconnect(),this}}class Nh extends Vi{constructor(e){super(e),this.name="FeedbackEffect",this._feedbackGain=new De({context:this.context,gain:e.feedback,units:"normalRange"}),this.feedback=this._feedbackGain.gain,ke(this,"feedback"),this.effectReturn.chain(this._feedbackGain,this.effectSend)}static getDefaults(){return Object.assign(Vi.getDefaults(),{feedback:.125})}dispose(){return super.dispose(),this._feedbackGain.dispose(),this.feedback.dispose(),this}}class ra extends Nh{constructor(){super(W(ra.getDefaults(),arguments,["delayTime","feedback"])),this.name="FeedbackDelay";const e=W(ra.getDefaults(),arguments,["delayTime","feedback"]);this._delayNode=new Zo({context:this.context,delayTime:e.delayTime,maxDelay:e.maxDelay}),this.delayTime=this._delayNode.delayTime,this.connectEffect(this._delayNode),ke(this,"delayTime")}static getDefaults(){return Object.assign(Nh.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._delayNode.dispose(),this.delayTime.dispose(),this}}class oa extends Vi{constructor(){super(W(oa.getDefaults(),arguments,["decay"])),this.name="Reverb",this._convolver=this.context.createConvolver(),this.ready=Promise.resolve();const e=W(oa.getDefaults(),arguments,["decay"]);this._decay=e.decay,this._preDelay=e.preDelay,this.generate(),this.connectEffect(this._convolver)}static getDefaults(){return Object.assign(Vi.getDefaults(),{decay:1.5,preDelay:.01})}get decay(){return this._decay}set decay(e){e=this.toSeconds(e),rn(e,.001),this._decay=e,this.generate()}get preDelay(){return this._preDelay}set preDelay(e){e=this.toSeconds(e),rn(e,0),this._preDelay=e,this.generate()}generate(){return tt(this,void 0,void 0,function*(){const e=this.ready,t=new ja(2,this._decay+this._preDelay,this.context.sampleRate),s=new Ar({context:t}),i=new Ar({context:t}),r=new ia({context:t});s.connect(r,0,0),i.connect(r,0,1);const o=new De({context:t}).toDestination();r.connect(o),s.start(0),i.start(0),o.gain.setValueAtTime(0,0),o.gain.setValueAtTime(1,this._preDelay),o.gain.exponentialApproachValueAtTime(0,this._preDelay,this.decay);const a=t.render();return this.ready=a.then(Fe),yield e,this._convolver.buffer=(yield a).get(),this})}dispose(){return super.dispose(),this._convolver.disconnect(),this}}class Je extends he{constructor(){super(W(Je.getDefaults(),arguments,["solo"])),this.name="Solo";const e=W(Je.getDefaults(),arguments,["solo"]);this.input=this.output=new De({context:this.context}),Je._allSolos.has(this.context)||Je._allSolos.set(this.context,new Set),Je._allSolos.get(this.context).add(this),this.solo=e.solo}static getDefaults(){return Object.assign(he.getDefaults(),{solo:!1})}get solo(){return this._isSoloed()}set solo(e){e?this._addSolo():this._removeSolo(),Je._allSolos.get(this.context).forEach(t=>t._updateSolo())}get muted(){return this.input.gain.value===0}_addSolo(){Je._soloed.has(this.context)||Je._soloed.set(this.context,new Set),Je._soloed.get(this.context).add(this)}_removeSolo(){Je._soloed.has(this.context)&&Je._soloed.get(this.context).delete(this)}_isSoloed(){return Je._soloed.has(this.context)&&Je._soloed.get(this.context).has(this)}_noSolos(){return!Je._soloed.has(this.context)||Je._soloed.has(this.context)&&Je._soloed.get(this.context).size===0}_updateSolo(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0}dispose(){return super.dispose(),Je._allSolos.get(this.context).delete(this),this._removeSolo(),this}}Je._allSolos=new Map;Je._soloed=new Map;class aa extends he{constructor(){super(W(aa.getDefaults(),arguments,["pan","volume"])),this.name="PanVol";const e=W(aa.getDefaults(),arguments,["pan","volume"]);this._panner=this.input=new Lr({context:this.context,pan:e.pan,channelCount:e.channelCount}),this.pan=this._panner.pan,this._volume=this.output=new Xs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=e.mute,ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,pan:0,volume:0,channelCount:1})}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this._panner.dispose(),this.pan.dispose(),this._volume.dispose(),this.volume.dispose(),this}}class Ps extends he{constructor(){super(W(Ps.getDefaults(),arguments,["volume","pan"])),this.name="Channel";const e=W(Ps.getDefaults(),arguments,["volume","pan"]);this._solo=this.input=new Je({solo:e.solo,context:this.context}),this._panVol=this.output=new aa({context:this.context,pan:e.pan,volume:e.volume,mute:e.mute,channelCount:e.channelCount}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,volume:0,mute:!1,solo:!1,channelCount:1})}get solo(){return this._solo.solo}set solo(e){this._solo.solo=e}get muted(){return this._solo.muted||this.mute}get mute(){return this._panVol.mute}set mute(e){this._panVol.mute=e}_getBus(e){return Ps.buses.has(e)||Ps.buses.set(e,new De({context:this.context})),Ps.buses.get(e)}send(e,t=0){const s=this._getBus(e),i=new De({context:this.context,units:"decibels",gain:t});return this.connect(i),i.connect(s),i}receive(e){return this._getBus(e).connect(this),this}dispose(){return super.dispose(),this._panVol.dispose(),this.pan.dispose(),this.volume.dispose(),this._solo.dispose(),this}}Ps.buses=new Map;let sx=class extends he{constructor(){super(...arguments),this.name="Listener",this.positionX=new Te({context:this.context,param:this.context.rawContext.listener.positionX}),this.positionY=new Te({context:this.context,param:this.context.rawContext.listener.positionY}),this.positionZ=new Te({context:this.context,param:this.context.rawContext.listener.positionZ}),this.forwardX=new Te({context:this.context,param:this.context.rawContext.listener.forwardX}),this.forwardY=new Te({context:this.context,param:this.context.rawContext.listener.forwardY}),this.forwardZ=new Te({context:this.context,param:this.context.rawContext.listener.forwardZ}),this.upX=new Te({context:this.context,param:this.context.rawContext.listener.upX}),this.upY=new Te({context:this.context,param:this.context.rawContext.listener.upY}),this.upZ=new Te({context:this.context,param:this.context.rawContext.listener.upZ})}static getDefaults(){return Object.assign(he.getDefaults(),{positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:-1,upX:0,upY:1,upZ:0})}dispose(){return super.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this.forwardX.dispose(),this.forwardY.dispose(),this.forwardZ.dispose(),this.upX.dispose(),this.upY.dispose(),this.upZ.dispose(),this}};qa(n=>{n.listener=new sx({context:n})});Ua(n=>{n.listener.dispose()});class ca extends he{constructor(){super(W(ca.getDefaults(),arguments,["threshold","ratio"])),this.name="Compressor",this._compressor=this.context.createDynamicsCompressor(),this.input=this._compressor,this.output=this._compressor;const e=W(ca.getDefaults(),arguments,["threshold","ratio"]);this.threshold=new Te({minValue:this._compressor.threshold.minValue,maxValue:this._compressor.threshold.maxValue,context:this.context,convert:!1,param:this._compressor.threshold,units:"decibels",value:e.threshold}),this.attack=new Te({minValue:this._compressor.attack.minValue,maxValue:this._compressor.attack.maxValue,context:this.context,param:this._compressor.attack,units:"time",value:e.attack}),this.release=new Te({minValue:this._compressor.release.minValue,maxValue:this._compressor.release.maxValue,context:this.context,param:this._compressor.release,units:"time",value:e.release}),this.knee=new Te({minValue:this._compressor.knee.minValue,maxValue:this._compressor.knee.maxValue,context:this.context,convert:!1,param:this._compressor.knee,units:"decibels",value:e.knee}),this.ratio=new Te({minValue:this._compressor.ratio.minValue,maxValue:this._compressor.ratio.maxValue,context:this.context,convert:!1,param:this._compressor.ratio,units:"positive",value:e.ratio}),ke(this,["knee","release","attack","ratio","threshold"])}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.003,knee:30,ratio:12,release:.25,threshold:-24})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.disconnect(),this.attack.dispose(),this.release.dispose(),this.threshold.dispose(),this.ratio.dispose(),this.knee.dispose(),this}}const _c=Pt().transport;Pt().destination;Pt().destination;Pt().listener;Pt().draw;Pt();class en{constructor(e=!1){this.eventMap={},this.eventsSuspended=e==!0}addListener(e,t,s={}){if(typeof e=="string"&&e.length<1||e instanceof String&&e.length<1||typeof e!="string"&&!(e instanceof String)&&e!==en.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(typeof t!="function")throw new TypeError("The callback must be a function.");const i=new Mh(e,this,t,s);return this.eventMap[e]||(this.eventMap[e]=[]),s.prepend?this.eventMap[e].unshift(i):this.eventMap[e].push(i),i}addOneTimeListener(e,t,s={}){s.remaining=1,this.addListener(e,t,s)}static get ANY_EVENT(){return Symbol.for("Any event")}hasListener(e,t){return e===void 0?this.eventMap[en.ANY_EVENT]&&this.eventMap[en.ANY_EVENT].length>0?!0:Object.entries(this.eventMap).some(([,s])=>s.length>0):this.eventMap[e]&&this.eventMap[e].length>0?t instanceof Mh?this.eventMap[e].filter(i=>i===t).length>0:typeof t=="function"?this.eventMap[e].filter(i=>i.callback===t).length>0:t==null:!1}get eventNames(){return Object.keys(this.eventMap)}getListeners(e){return this.eventMap[e]||[]}suspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!0})}unsuspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!1})}getListenerCount(e){return this.getListeners(e).length}emit(e,...t){if(typeof e!="string"&&!(e instanceof String))throw new TypeError("The 'event' parameter must be a string.");if(this.eventsSuspended)return;let s=[],i=this.eventMap[en.ANY_EVENT]||[];return this.eventMap[e]&&(i=i.concat(this.eventMap[e])),i.forEach(r=>{if(r.suspended)return;let o=[...t];Array.isArray(r.arguments)&&(o=o.concat(r.arguments)),r.remaining>0&&(s.push(r.callback.apply(r.context,o)),r.count++),--r.remaining<1&&r.remove()}),s}removeListener(e,t,s={}){if(e===void 0){this.eventMap={};return}else if(!this.eventMap[e])return;let i=this.eventMap[e].filter(r=>t&&r.callback!==t||s.remaining&&s.remaining!==r.remaining||s.context&&s.context!==r.context);i.length?this.eventMap[e]=i:delete this.eventMap[e]}async waitFor(e,t={}){return t.duration=parseInt(t.duration),(isNaN(t.duration)||t.duration<=0)&&(t.duration=1/0),new Promise((s,i)=>{let r,o=this.addListener(e,()=>{clearTimeout(r),s()},{remaining:1});t.duration!==1/0&&(r=setTimeout(()=>{o.remove(),i("The duration expired before the event was emitted.")},t.duration))})}get eventCount(){return Object.keys(this.eventMap).length}}class Mh{constructor(e,t,s,i={}){if(typeof e!="string"&&!(e instanceof String)&&e!==en.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(!t)throw new ReferenceError("The 'target' parameter is mandatory.");if(typeof s!="function")throw new TypeError("The 'callback' must be a function.");i.arguments!==void 0&&!Array.isArray(i.arguments)&&(i.arguments=[i.arguments]),i=Object.assign({context:t,remaining:1/0,arguments:void 0,duration:1/0},i),i.duration!==1/0&&setTimeout(()=>this.remove(),i.duration),this.arguments=i.arguments,this.callback=s,this.context=i.context,this.count=0,this.event=e,this.remaining=parseInt(i.remaining)>=1?parseInt(i.remaining):1/0,this.suspended=!1,this.target=t}remove(){this.target.removeListener(this.event,this.callback,{context:this.context,remaining:this.remaining})}}/** + * The `Enumerations` class contains enumerations and arrays of elements used throughout the + * library. All its properties are static and should be referenced using the class name. For + * example: `Enumerations.CHANNEL_MESSAGES`. + * + * @license Apache-2.0 + * @since 3.0.0 + */class U{static get MIDI_CHANNEL_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MESSAGES enum instead."),U.CHANNEL_MESSAGES}static get CHANNEL_MESSAGES(){return{noteoff:8,noteon:9,keyaftertouch:10,controlchange:11,programchange:12,channelaftertouch:13,pitchbend:14}}static get CHANNEL_NUMBERS(){return[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get MIDI_CHANNEL_NUMBERS(){return this.validation&&console.warn("The MIDI_CHANNEL_NUMBERS array has been deprecated. Use the Enumerations.CHANNEL_NUMBERS array instead."),[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get CHANNEL_MODE_MESSAGES(){return{allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MODE_MESSAGES enum instead."),U.CHANNEL_MODE_MESSAGES}static get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been deprecated. Use the Enumerations.CONTROL_CHANGE_MESSAGES array instead."),{bankselectcoarse:0,modulationwheelcoarse:1,breathcontrollercoarse:2,controller3:3,footcontrollercoarse:4,portamentotimecoarse:5,dataentrycoarse:6,volumecoarse:7,balancecoarse:8,controller9:9,pancoarse:10,expressioncoarse:11,effectcontrol1coarse:12,effectcontrol2coarse:13,controller14:14,controller15:15,generalpurposeslider1:16,generalpurposeslider2:17,generalpurposeslider3:18,generalpurposeslider4:19,controller20:20,controller21:21,controller22:22,controller23:23,controller24:24,controller25:25,controller26:26,controller27:27,controller28:28,controller29:29,controller30:30,controller31:31,bankselectfine:32,modulationwheelfine:33,breathcontrollerfine:34,controller35:35,footcontrollerfine:36,portamentotimefine:37,dataentryfine:38,volumefine:39,balancefine:40,controller41:41,panfine:42,expressionfine:43,effectcontrol1fine:44,effectcontrol2fine:45,controller46:46,controller47:47,controller48:48,controller49:49,controller50:50,controller51:51,controller52:52,controller53:53,controller54:54,controller55:55,controller56:56,controller57:57,controller58:58,controller59:59,controller60:60,controller61:61,controller62:62,controller63:63,holdpedal:64,portamento:65,sustenutopedal:66,softpedal:67,legatopedal:68,hold2pedal:69,soundvariation:70,resonance:71,soundreleasetime:72,soundattacktime:73,brightness:74,soundcontrol6:75,soundcontrol7:76,soundcontrol8:77,soundcontrol9:78,soundcontrol10:79,generalpurposebutton1:80,generalpurposebutton2:81,generalpurposebutton3:82,generalpurposebutton4:83,controller84:84,controller85:85,controller86:86,controller87:87,controller88:88,controller89:89,controller90:90,reverblevel:91,tremololevel:92,choruslevel:93,celestelevel:94,phaserlevel:95,databuttonincrement:96,databuttondecrement:97,nonregisteredparametercoarse:98,nonregisteredparameterfine:99,registeredparametercoarse:100,registeredparameterfine:101,controller102:102,controller103:103,controller104:104,controller105:105,controller106:106,controller107:107,controller108:108,controller109:109,controller110:110,controller111:111,controller112:112,controller113:113,controller114:114,controller115:115,controller116:116,controller117:117,controller118:118,controller119:119,allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get CONTROL_CHANGE_MESSAGES(){return[{number:0,name:"bankselectcoarse",description:"Bank Select (Coarse)",position:"msb"},{number:1,name:"modulationwheelcoarse",description:"Modulation Wheel (Coarse)",position:"msb"},{number:2,name:"breathcontrollercoarse",description:"Breath Controller (Coarse)",position:"msb"},{number:3,name:"controller3",description:"Undefined",position:"msb"},{number:4,name:"footcontrollercoarse",description:"Foot Controller (Coarse)",position:"msb"},{number:5,name:"portamentotimecoarse",description:"Portamento Time (Coarse)",position:"msb"},{number:6,name:"dataentrycoarse",description:"Data Entry (Coarse)",position:"msb"},{number:7,name:"volumecoarse",description:"Channel Volume (Coarse)",position:"msb"},{number:8,name:"balancecoarse",description:"Balance (Coarse)",position:"msb"},{number:9,name:"controller9",description:"Controller 9 (Coarse)",position:"msb"},{number:10,name:"pancoarse",description:"Pan (Coarse)",position:"msb"},{number:11,name:"expressioncoarse",description:"Expression Controller (Coarse)",position:"msb"},{number:12,name:"effectcontrol1coarse",description:"Effect Control 1 (Coarse)",position:"msb"},{number:13,name:"effectcontrol2coarse",description:"Effect Control 2 (Coarse)",position:"msb"},{number:14,name:"controller14",description:"Undefined",position:"msb"},{number:15,name:"controller15",description:"Undefined",position:"msb"},{number:16,name:"generalpurposecontroller1",description:"General Purpose Controller 1 (Coarse)",position:"msb"},{number:17,name:"generalpurposecontroller2",description:"General Purpose Controller 2 (Coarse)",position:"msb"},{number:18,name:"generalpurposecontroller3",description:"General Purpose Controller 3 (Coarse)",position:"msb"},{number:19,name:"generalpurposecontroller4",description:"General Purpose Controller 4 (Coarse)",position:"msb"},{number:20,name:"controller20",description:"Undefined",position:"msb"},{number:21,name:"controller21",description:"Undefined",position:"msb"},{number:22,name:"controller22",description:"Undefined",position:"msb"},{number:23,name:"controller23",description:"Undefined",position:"msb"},{number:24,name:"controller24",description:"Undefined",position:"msb"},{number:25,name:"controller25",description:"Undefined",position:"msb"},{number:26,name:"controller26",description:"Undefined",position:"msb"},{number:27,name:"controller27",description:"Undefined",position:"msb"},{number:28,name:"controller28",description:"Undefined",position:"msb"},{number:29,name:"controller29",description:"Undefined",position:"msb"},{number:30,name:"controller30",description:"Undefined",position:"msb"},{number:31,name:"controller31",description:"Undefined",position:"msb"},{number:32,name:"bankselectfine",description:"Bank Select (Fine)",position:"lsb"},{number:33,name:"modulationwheelfine",description:"Modulation Wheel (Fine)",position:"lsb"},{number:34,name:"breathcontrollerfine",description:"Breath Controller (Fine)",position:"lsb"},{number:35,name:"controller35",description:"Undefined",position:"lsb"},{number:36,name:"footcontrollerfine",description:"Foot Controller (Fine)",position:"lsb"},{number:37,name:"portamentotimefine",description:"Portamento Time (Fine)",position:"lsb"},{number:38,name:"dataentryfine",description:"Data Entry (Fine)",position:"lsb"},{number:39,name:"channelvolumefine",description:"Channel Volume (Fine)",position:"lsb"},{number:40,name:"balancefine",description:"Balance (Fine)",position:"lsb"},{number:41,name:"controller41",description:"Undefined",position:"lsb"},{number:42,name:"panfine",description:"Pan (Fine)",position:"lsb"},{number:43,name:"expressionfine",description:"Expression Controller (Fine)",position:"lsb"},{number:44,name:"effectcontrol1fine",description:"Effect control 1 (Fine)",position:"lsb"},{number:45,name:"effectcontrol2fine",description:"Effect control 2 (Fine)",position:"lsb"},{number:46,name:"controller46",description:"Undefined",position:"lsb"},{number:47,name:"controller47",description:"Undefined",position:"lsb"},{number:48,name:"controller48",description:"General Purpose Controller 1 (Fine)",position:"lsb"},{number:49,name:"controller49",description:"General Purpose Controller 2 (Fine)",position:"lsb"},{number:50,name:"controller50",description:"General Purpose Controller 3 (Fine)",position:"lsb"},{number:51,name:"controller51",description:"General Purpose Controller 4 (Fine)",position:"lsb"},{number:52,name:"controller52",description:"Undefined",position:"lsb"},{number:53,name:"controller53",description:"Undefined",position:"lsb"},{number:54,name:"controller54",description:"Undefined",position:"lsb"},{number:55,name:"controller55",description:"Undefined",position:"lsb"},{number:56,name:"controller56",description:"Undefined",position:"lsb"},{number:57,name:"controller57",description:"Undefined",position:"lsb"},{number:58,name:"controller58",description:"Undefined",position:"lsb"},{number:59,name:"controller59",description:"Undefined",position:"lsb"},{number:60,name:"controller60",description:"Undefined",position:"lsb"},{number:61,name:"controller61",description:"Undefined",position:"lsb"},{number:62,name:"controller62",description:"Undefined",position:"lsb"},{number:63,name:"controller63",description:"Undefined",position:"lsb"},{number:64,name:"damperpedal",description:"Damper Pedal On/Off"},{number:65,name:"portamento",description:"Portamento On/Off"},{number:66,name:"sostenuto",description:"Sostenuto On/Off"},{number:67,name:"softpedal",description:"Soft Pedal On/Off"},{number:68,name:"legatopedal",description:"Legato Pedal On/Off"},{number:69,name:"hold2",description:"Hold 2 On/Off"},{number:70,name:"soundvariation",description:"Sound Variation",position:"lsb"},{number:71,name:"resonance",description:"Resonance",position:"lsb"},{number:72,name:"releasetime",description:"Release Time",position:"lsb"},{number:73,name:"attacktime",description:"Attack Time",position:"lsb"},{number:74,name:"brightness",description:"Brightness",position:"lsb"},{number:75,name:"decaytime",description:"Decay Time",position:"lsb"},{number:76,name:"vibratorate",description:"Vibrato Rate",position:"lsb"},{number:77,name:"vibratodepth",description:"Vibrato Depth",position:"lsb"},{number:78,name:"vibratodelay",description:"Vibrato Delay",position:"lsb"},{number:79,name:"controller79",description:"Undefined",position:"lsb"},{number:80,name:"generalpurposecontroller5",description:"General Purpose Controller 5",position:"lsb"},{number:81,name:"generalpurposecontroller6",description:"General Purpose Controller 6",position:"lsb"},{number:82,name:"generalpurposecontroller7",description:"General Purpose Controller 7",position:"lsb"},{number:83,name:"generalpurposecontroller8",description:"General Purpose Controller 8",position:"lsb"},{number:84,name:"portamentocontrol",description:"Portamento Control",position:"lsb"},{number:85,name:"controller85",description:"Undefined"},{number:86,name:"controller86",description:"Undefined"},{number:87,name:"controller87",description:"Undefined"},{number:88,name:"highresolutionvelocityprefix",description:"High Resolution Velocity Prefix",position:"lsb"},{number:89,name:"controller89",description:"Undefined"},{number:90,name:"controller90",description:"Undefined"},{number:91,name:"effect1depth",description:"Effects 1 Depth (Reverb Send Level)"},{number:92,name:"effect2depth",description:"Effects 2 Depth"},{number:93,name:"effect3depth",description:"Effects 3 Depth (Chorus Send Level)"},{number:94,name:"effect4depth",description:"Effects 4 Depth"},{number:95,name:"effect5depth",description:"Effects 5 Depth"},{number:96,name:"dataincrement",description:"Data Increment"},{number:97,name:"datadecrement",description:"Data Decrement"},{number:98,name:"nonregisteredparameterfine",description:"Non-Registered Parameter Number (Fine)",position:"lsb"},{number:99,name:"nonregisteredparametercoarse",description:"Non-Registered Parameter Number (Coarse)",position:"msb"},{number:100,name:"registeredparameterfine",description:"Registered Parameter Number (Fine)",position:"lsb"},{number:101,name:"registeredparametercoarse",description:"Registered Parameter Number (Coarse)",position:"msb"},{number:102,name:"controller102",description:"Undefined"},{number:103,name:"controller103",description:"Undefined"},{number:104,name:"controller104",description:"Undefined"},{number:105,name:"controller105",description:"Undefined"},{number:106,name:"controller106",description:"Undefined"},{number:107,name:"controller107",description:"Undefined"},{number:108,name:"controller108",description:"Undefined"},{number:109,name:"controller109",description:"Undefined"},{number:110,name:"controller110",description:"Undefined"},{number:111,name:"controller111",description:"Undefined"},{number:112,name:"controller112",description:"Undefined"},{number:113,name:"controller113",description:"Undefined"},{number:114,name:"controller114",description:"Undefined"},{number:115,name:"controller115",description:"Undefined"},{number:116,name:"controller116",description:"Undefined"},{number:117,name:"controller117",description:"Undefined"},{number:118,name:"controller118",description:"Undefined"},{number:119,name:"controller119",description:"Undefined"},{number:120,name:"allsoundoff",description:"All Sound Off"},{number:121,name:"resetallcontrollers",description:"Reset All Controllers"},{number:122,name:"localcontrol",description:"Local Control On/Off"},{number:123,name:"allnotesoff",description:"All Notes Off"},{number:124,name:"omnimodeoff",description:"Omni Mode Off"},{number:125,name:"omnimodeon",description:"Omni Mode On"},{number:126,name:"monomodeon",description:"Mono Mode On"},{number:127,name:"polymodeon",description:"Poly Mode On"}]}static get REGISTERED_PARAMETERS(){return{pitchbendrange:[0,0],channelfinetuning:[0,1],channelcoarsetuning:[0,2],tuningprogram:[0,3],tuningbank:[0,4],modulationrange:[0,5],azimuthangle:[61,0],elevationangle:[61,1],gain:[61,2],distanceratio:[61,3],maximumdistance:[61,4],maximumdistancegain:[61,5],referencedistanceratio:[61,6],panspreadangle:[61,7],rollangle:[61,8]}}static get MIDI_REGISTERED_PARAMETERS(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETERS enum has been deprecated. Use the Enumerations.REGISTERED_PARAMETERS enum instead."),U.MIDI_REGISTERED_PARAMETERS}static get SYSTEM_MESSAGES(){return{sysex:240,timecode:241,songposition:242,songselect:243,tunerequest:246,tuningrequest:246,sysexend:247,clock:248,start:250,continue:251,stop:252,activesensing:254,reset:255,midimessage:0,unknownsystemmessage:-1}}static get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been deprecated. Use the Enumerations.SYSTEM_MESSAGES enum instead."),U.SYSTEM_MESSAGES}static get CHANNEL_EVENTS(){return["noteoff","controlchange","noteon","keyaftertouch","programchange","channelaftertouch","pitchbend","allnotesoff","allsoundoff","localcontrol","monomode","omnimode","resetallcontrollers","nrpn","nrpn-dataentrycoarse","nrpn-dataentryfine","nrpn-dataincrement","nrpn-datadecrement","rpn","rpn-dataentrycoarse","rpn-dataentryfine","rpn-dataincrement","rpn-datadecrement","nrpn-databuttonincrement","nrpn-databuttondecrement","rpn-databuttonincrement","rpn-databuttondecrement"]}}/** + * The `Note` class represents a single musical note such as `"D3"`, `"G#4"`, `"F-1"`, `"Gb7"`, etc. + * + * `Note` objects can be played back on a single channel by calling + * [`OutputChannel.playNote()`]{@link OutputChannel#playNote} or, on multiple channels of the same + * output, by calling [`Output.playNote()`]{@link Output#playNote}. + * + * The note has [`attack`](#attack) and [`release`](#release) velocities set at `0.5` by default. + * These can be changed by passing in the appropriate option. It is also possible to set a + * system-wide default for attack and release velocities by using the + * [`WebMidi.defaults`](WebMidi#defaults) property. + * + * If you prefer to work with raw MIDI values (`0` to `127`), you can use [`rawAttack`](#rawAttack) and + * [`rawRelease`](#rawRelease) to both get and set the values. + * + * The note may have a [`duration`](#duration). If it does, playback will be automatically stopped + * when the duration has elapsed by sending a `"noteoff"` event. By default, the duration is set to + * `Infinity`. In this case, it will never stop playing unless explicitly stopped by calling a + * method such as [`OutputChannel.stopNote()`]{@link OutputChannel#stopNote}, + * [`Output.stopNote()`]{@link Output#stopNote} or similar. + * + * @license Apache-2.0 + * @since 3.0.0 + */class Ls{constructor(e,t={}){this.duration=G.defaults.note.duration,this.attack=G.defaults.note.attack,this.release=G.defaults.note.release,t.duration!=null&&(this.duration=t.duration),t.attack!=null&&(this.attack=t.attack),t.rawAttack!=null&&(this.attack=X.from7bitToFloat(t.rawAttack)),t.release!=null&&(this.release=t.release),t.rawRelease!=null&&(this.release=X.from7bitToFloat(t.rawRelease)),Number.isInteger(e)?this.identifier=X.toNoteIdentifier(e):this.identifier=e}get identifier(){return this._name+(this._accidental||"")+this._octave}set identifier(e){const t=X.getNoteDetails(e);if(G.validation&&!e)throw new Error("Invalid note identifier");this._name=t.name,this._accidental=t.accidental,this._octave=t.octave}get name(){return this._name}set name(e){if(G.validation&&(e=e.toUpperCase(),!["C","D","E","F","G","A","B"].includes(e)))throw new Error("Invalid name value");this._name=e}get accidental(){return this._accidental}set accidental(e){if(G.validation&&(e=e.toLowerCase(),!["#","##","b","bb"].includes(e)))throw new Error("Invalid accidental value");this._accidental=e}get octave(){return this._octave}set octave(e){if(G.validation&&(e=parseInt(e),isNaN(e)))throw new Error("Invalid octave value");this._octave=e}get duration(){return this._duration}set duration(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||e===null||e<0))throw new RangeError("Invalid duration value.");this._duration=e}get attack(){return this._attack}set attack(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid attack value.");this._attack=e}get release(){return this._release}set release(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid release value.");this._release=e}get rawAttack(){return X.fromFloatTo7Bit(this._attack)}set rawAttack(e){this._attack=X.from7bitToFloat(e)}get rawRelease(){return X.fromFloatTo7Bit(this._release)}set rawRelease(e){this._release=X.from7bitToFloat(e)}get number(){return X.toNoteNumber(this.identifier)}getOffsetNumber(e=0,t=0){return G.validation&&(e=parseInt(e)||0,t=parseInt(t)||0),Math.min(Math.max(this.number+e*12+t,0),127)}}/** + * The `Utilities` class contains general-purpose utility methods. All methods are static and + * should be called using the class name. For example: `Utilities.getNoteDetails("C4")`. + * + * @license Apache-2.0 + * @since 3.0.0 + */class X{static toNoteNumber(e,t=0){if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid 'octaveOffset' value");typeof e!="string"&&(e="");const s=this.getNoteDetails(e);if(!s)throw new TypeError("Invalid note identifier");const i={C:0,D:2,E:4,F:5,G:7,A:9,B:11};let r=(s.octave+1+t)*12;if(r+=i[s.name],s.accidental&&(s.accidental.startsWith("b")?r-=s.accidental.length:r+=s.accidental.length),r<0||r>127)throw new RangeError("Invalid octaveOffset value");return r}static getNoteDetails(e){Number.isInteger(e)&&(e=this.toNoteIdentifier(e));const t=e.match(/^([CDEFGAB])(#{0,2}|b{0,2})(-?\d+)$/i);if(!t)throw new TypeError("Invalid note identifier");const s=t[1].toUpperCase(),i=parseInt(t[3]);let r=t[2].toLowerCase();return r=r===""?void 0:r,{accidental:r,identifier:s+(r||"")+i,name:s,octave:i}}static sanitizeChannels(e){let t;if(G.validation){if(e==="all")t=["all"];else if(e==="none")return[]}return Array.isArray(e)?t=e:t=[e],t.indexOf("all")>-1&&(t=U.MIDI_CHANNEL_NUMBERS),t.map(function(s){return parseInt(s)}).filter(function(s){return s>=1&&s<=16})}static toTimestamp(e){let t=!1;const s=parseFloat(e);return isNaN(s)?!1:(typeof e=="string"&&e.substring(0,1)==="+"?s>=0&&(t=G.time+s):s>=0&&(t=s),t)}static guessNoteNumber(e,t){t=parseInt(t)||0;let s=!1;if(Number.isInteger(e)&&e>=0&&e<=127)s=parseInt(e);else if(parseInt(e)>=0&&parseInt(e)<=127)s=parseInt(e);else if(typeof e=="string"||e instanceof String)try{s=this.toNoteNumber(e.trim(),t)}catch{return!1}return s}static toNoteIdentifier(e,t){if(e=parseInt(e),isNaN(e)||e<0||e>127)throw new RangeError("Invalid note number");if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid octaveOffset value");const s=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],i=Math.floor(e/12-1)+t;return s[e%12]+i.toString()}static buildNote(e,t={}){if(t.octaveOffset=parseInt(t.octaveOffset)||0,e instanceof Ls)return e;let s=this.guessNoteNumber(e,t.octaveOffset);if(s===!1)throw new TypeError(`The input could not be parsed as a note (${e})`);return t.octaveOffset=void 0,new Ls(s,t)}static buildNoteArray(e,t={}){let s=[];return Array.isArray(e)||(e=[e]),e.forEach(i=>{s.push(this.buildNote(i,t))}),s}static from7bitToFloat(e){return e===1/0&&(e=127),e=parseInt(e)||0,Math.min(Math.max(e/127,0),1)}static fromFloatTo7Bit(e){return e===1/0&&(e=1),e=parseFloat(e)||0,Math.min(Math.max(Math.round(e*127),0),127)}static fromMsbLsbToFloat(e,t=0){G.validation&&(e=Math.min(Math.max(parseInt(e)||0,0),127),t=Math.min(Math.max(parseInt(t)||0,0),127));const s=((e<<7)+t)/16383;return Math.min(Math.max(s,0),1)}static fromFloatToMsbLsb(e){G.validation&&(e=Math.min(Math.max(parseFloat(e)||0,0),1));const t=Math.round(e*16383);return{msb:t>>7,lsb:t&127}}static offsetNumber(e,t=0,s=0){if(G.validation){if(e=parseInt(e),isNaN(e))throw new Error("Invalid note number");t=parseInt(t)||0,s=parseInt(s)||0}return Math.min(Math.max(e+t*12+s,0),127)}static getPropertyByValue(e,t){return Object.keys(e).find(s=>e[s]===t)}static getCcNameByNumber(e){if(!(G.validation&&(e=parseInt(e),!(e>=0&&e<=127))))return U.CONTROL_CHANGE_MESSAGES[e].name}static getCcNumberByName(e){let t=U.CONTROL_CHANGE_MESSAGES.find(s=>s.name===e);return t?t.number:U.MIDI_CONTROL_CHANGE_MESSAGES[e]}static getChannelModeByNumber(e){if(!(e>=120&&e<=127))return!1;for(let t in U.CHANNEL_MODE_MESSAGES)if(U.CHANNEL_MODE_MESSAGES.hasOwnProperty(t)&&e===U.CHANNEL_MODE_MESSAGES[t])return t;return!1}static get isNode(){return typeof process<"u"&&process.versions!=null&&process.versions.node!=null}static get isBrowser(){return typeof window<"u"&&typeof window.document<"u"}}/** + * The `OutputChannel` class represents a single output MIDI channel. `OutputChannel` objects are + * provided by an [`Output`](Output) port which, itself, is made available by a device. The + * `OutputChannel` object is derived from the host's MIDI subsystem and should not be instantiated + * directly. + * + * All 16 `OutputChannel` objects can be found inside the parent output's + * [`channels`]{@link Output#channels} property. + * + * @param {Output} output The [`Output`](Output) this channel belongs to. + * @param {number} number The MIDI channel number (`1` - `16`). + * + * @extends EventEmitter + * @license Apache-2.0 + * @since 3.0.0 + */class ix extends en{constructor(e,t){super(),this._output=e,this._number=t,this._octaveOffset=0}destroy(){this._output=null,this._number=null,this._octaveOffset=0,this.removeListener()}send(e,t={time:0}){return this.output.send(e,t),this}sendKeyAftertouch(e,t,s={}){if(G.validation){if(s.useRawValue&&(s.rawValue=s.useRawValue),isNaN(parseFloat(t)))throw new RangeError("Invalid key aftertouch value.");if(s.rawValue){if(!(t>=0&&t<=127&&Number.isInteger(t)))throw new RangeError("Key aftertouch raw value must be an integer between 0 and 127.")}else if(!(t>=0&&t<=1))throw new RangeError("Key aftertouch value must be a float between 0 and 1.")}s.rawValue||(t=X.fromFloatTo7Bit(t));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return Array.isArray(e)||(e=[e]),X.buildNoteArray(e).forEach(r=>{this.send([(U.CHANNEL_MESSAGES.keyaftertouch<<4)+(this.number-1),r.getOffsetNumber(i),t],{time:X.toTimestamp(s.time)})}),this}sendControlChange(e,t,s={}){if(typeof e=="string"&&(e=X.getCcNumberByName(e)),Array.isArray(t)||(t=[t]),G.validation){if(e===void 0)throw new TypeError("Control change must be identified with a valid name or an integer between 0 and 127.");if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new TypeError("Control change number must be an integer between 0 and 127.");if(t=t.map(i=>{const r=Math.min(Math.max(parseInt(i),0),127);if(isNaN(r))throw new TypeError("Values must be integers between 0 and 127");return r}),t.length===2&&e>=32)throw new TypeError("To use a value array, the controller must be between 0 and 31")}return t.forEach((i,r)=>{this.send([(U.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e+r*32,t[r]],{time:X.toTimestamp(s.time)})}),this}_selectNonRegisteredParameter(e,t={}){return this.sendControlChange(99,e[0],t),this.sendControlChange(98,e[1],t),this}_deselectRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_deselectNonRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_selectRegisteredParameter(e,t={}){return this.sendControlChange(101,e[0],t),this.sendControlChange(100,e[1],t),this}_setCurrentParameter(e,t={}){return e=[].concat(e),this.sendControlChange(6,e[0],t),e.length<2?this:(this.sendControlChange(38,e[1],t),this)}sendRpnDecrement(e,t={}){if(Array.isArray(e)||(e=U.REGISTERED_PARAMETERS[e]),G.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(U.REGISTERED_PARAMETERS).forEach(i=>{U.REGISTERED_PARAMETERS[i][0]===e[0]&&U.REGISTERED_PARAMETERS[i][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(97,0,t),this._deselectRegisteredParameter(t),this}sendRpnIncrement(e,t={}){if(Array.isArray(e)||(e=U.REGISTERED_PARAMETERS[e]),G.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(U.REGISTERED_PARAMETERS).forEach(i=>{U.REGISTERED_PARAMETERS[i][0]===e[0]&&U.REGISTERED_PARAMETERS[i][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(96,0,t),this._deselectRegisteredParameter(t),this}playNote(e,t={}){this.sendNoteOn(e,t);const s=Array.isArray(e)?e:[e];for(let i of s)if(parseInt(i.duration)>0){const r={time:(X.toTimestamp(t.time)||G.time)+parseInt(i.duration),release:i.release,rawRelease:i.rawRelease};this.sendNoteOff(i,r)}else if(parseInt(t.duration)>0){const r={time:(X.toTimestamp(t.time)||G.time)+parseInt(t.duration),release:t.release,rawRelease:t.rawRelease};this.sendNoteOff(i,r)}return this}sendNoteOff(e,t={}){if(G.validation){if(t.rawRelease!=null&&!(t.rawRelease>=0&&t.rawRelease<=127))throw new RangeError("The 'rawRelease' option must be an integer between 0 and 127");if(t.release!=null&&!(t.release>=0&&t.release<=1))throw new RangeError("The 'release' option must be an number between 0 and 1");t.rawVelocity&&(t.rawRelease=t.velocity,console.warn("The 'rawVelocity' option is deprecated. Use 'rawRelease' instead.")),t.velocity&&(t.release=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawRelease!=null?s=t.rawRelease:isNaN(t.release)||(s=Math.round(t.release*127));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return X.buildNoteArray(e,{rawRelease:parseInt(s)}).forEach(r=>{this.send([(U.CHANNEL_MESSAGES.noteoff<<4)+(this.number-1),r.getOffsetNumber(i),r.rawRelease],{time:X.toTimestamp(t.time)})}),this}stopNote(e,t={}){return this.sendNoteOff(e,t)}sendNoteOn(e,t={}){if(G.validation){if(t.rawAttack!=null&&!(t.rawAttack>=0&&t.rawAttack<=127))throw new RangeError("The 'rawAttack' option must be an integer between 0 and 127");if(t.attack!=null&&!(t.attack>=0&&t.attack<=1))throw new RangeError("The 'attack' option must be an number between 0 and 1");t.rawVelocity&&(t.rawAttack=t.velocity,t.rawRelease=t.release,console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' or 'rawRelease'.")),t.velocity&&(t.attack=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawAttack!=null?s=t.rawAttack:isNaN(t.attack)||(s=Math.round(t.attack*127));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return X.buildNoteArray(e,{rawAttack:s}).forEach(r=>{this.send([(U.CHANNEL_MESSAGES.noteon<<4)+(this.number-1),r.getOffsetNumber(i),r.rawAttack],{time:X.toTimestamp(t.time)})}),this}sendChannelMode(e,t=0,s={}){if(typeof e=="string"&&(e=U.CHANNEL_MODE_MESSAGES[e]),G.validation){if(e===void 0)throw new TypeError("Invalid channel mode message name or number.");if(isNaN(e)||!(e>=120&&e<=127))throw new TypeError("Invalid channel mode message number.");if(isNaN(parseInt(t))||t<0||t>127)throw new RangeError("Value must be an integer between 0 and 127.")}return this.send([(U.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e,t],{time:X.toTimestamp(s.time)}),this}sendOmniMode(e,t={}){return e===void 0||e?this.sendChannelMode("omnimodeon",0,t):this.sendChannelMode("omnimodeoff",0,t),this}sendChannelAftertouch(e,t={}){if(G.validation){if(isNaN(parseFloat(e)))throw new RangeError("Invalid channel aftertouch value.");if(t.rawValue){if(!(e>=0&&e<=127&&Number.isInteger(e)))throw new RangeError("Channel aftertouch raw value must be an integer between 0 and 127.")}else if(!(e>=0&&e<=1))throw new RangeError("Channel aftertouch value must be a float between 0 and 1.")}return t.rawValue||(e=X.fromFloatTo7Bit(e)),this.send([(U.CHANNEL_MESSAGES.channelaftertouch<<4)+(this.number-1),Math.round(e)],{time:X.toTimestamp(t.time)}),this}sendMasterTuning(e,t={}){if(e=parseFloat(e)||0,G.validation&&!(e>-65&&e<64))throw new RangeError("The value must be a decimal number larger than -65 and smaller than 64.");let s=Math.floor(e)+64,i=e-Math.floor(e);i=Math.round((i+1)/2*16383);let r=i>>7&127,o=i&127;return this.sendRpnValue("channelcoarsetuning",s,t),this.sendRpnValue("channelfinetuning",[r,o],t),this}sendModulationRange(e,t,s={}){if(G.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(t!=null&&(!Number.isInteger(t)||!(t>=0&&t<=127)))throw new RangeError("If specified, the cents value must be an integer between 0 and 127.")}return t>=0&&t<=127||(t=0),this.sendRpnValue("modulationrange",[e,t],s),this}sendNrpnValue(e,t,s={}){if(t=[].concat(t),G.validation){if(!Array.isArray(e)||!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the NRPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the NRPN must be between 0 and 127.");t.forEach(i=>{if(!(i>=0&&i<=127))throw new RangeError("The data bytes of the NRPN must be between 0 and 127.")})}return this._selectNonRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectNonRegisteredParameter(s),this}sendPitchBend(e,t={}){if(G.validation)if(t.rawValue&&Array.isArray(e)){if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The pitch bend LSB must be an integer between 0 and 127.")}else if(t.rawValue&&!Array.isArray(e)){if(!(e>=0&&e<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.")}else{if(isNaN(e)||e===null)throw new RangeError("Invalid pitch bend value.");if(!(e>=-1&&e<=1))throw new RangeError("The pitch bend value must be a float between -1 and 1.")}let s=0,i=0;if(t.rawValue&&Array.isArray(e))s=e[0],i=e[1];else if(t.rawValue&&!Array.isArray(e))s=e;else{const r=X.fromFloatToMsbLsb((e+1)/2);s=r.msb,i=r.lsb}return this.send([(U.CHANNEL_MESSAGES.pitchbend<<4)+(this.number-1),i,s],{time:X.toTimestamp(t.time)}),this}sendPitchBendRange(e,t,s={}){if(G.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(!Number.isInteger(t)||!(t>=0&&t<=127))throw new RangeError("The cents value must be an integer between 0 and 127.")}return this.sendRpnValue("pitchbendrange",[e,t],s),this}sendProgramChange(e,t={}){if(e=parseInt(e)||0,G.validation&&!(e>=0&&e<=127))throw new RangeError("The program number must be between 0 and 127.");return this.send([(U.CHANNEL_MESSAGES.programchange<<4)+(this.number-1),e],{time:X.toTimestamp(t.time)}),this}sendRpnValue(e,t,s={}){if(Array.isArray(e)||(e=U.REGISTERED_PARAMETERS[e]),G.validation){if(!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the RPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the RPN must be between 0 and 127.");[].concat(t).forEach(i=>{if(!(i>=0&&i<=127))throw new RangeError("The data bytes of the RPN must be between 0 and 127.")})}return this._selectRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectRegisteredParameter(s),this}sendTuningBank(e,t={}){if(G.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning bank number must be between 0 and 127.");return this.sendRpnValue("tuningbank",e,t),this}sendTuningProgram(e,t={}){if(G.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning program number must be between 0 and 127.");return this.sendRpnValue("tuningprogram",e,t),this}sendLocalControl(e,t={}){return e?this.sendChannelMode("localcontrol",127,t):this.sendChannelMode("localcontrol",0,t)}sendAllNotesOff(e={}){return this.sendChannelMode("allnotesoff",0,e)}sendAllSoundOff(e={}){return this.sendChannelMode("allsoundoff",0,e)}sendResetAllControllers(e={}){return this.sendChannelMode("resetallcontrollers",0,e)}sendPolyphonicMode(e,t={}){return e==="mono"?this.sendChannelMode("monomodeon",0,t):this.sendChannelMode("polymodeon",0,t)}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get output(){return this._output}get number(){return this._number}}/** + * The `Output` class represents a single MIDI output port (not to be confused with a MIDI channel). + * A port is made available by a MIDI device. A MIDI device can advertise several input and output + * ports. Each port has 16 MIDI channels which can be accessed via the [`channels`](#channels) + * property. + * + * The `Output` object is automatically instantiated by the library according to the host's MIDI + * subsystem and should not be directly instantiated. + * + * You can access all available `Output` objects by referring to the + * [`WebMidi.outputs`](WebMidi#outputs) array or by using methods such as + * [`WebMidi.getOutputByName()`](WebMidi#getOutputByName) or + * [`WebMidi.getOutputById()`](WebMidi#getOutputById). + * + * @fires Output#opened + * @fires Output#disconnected + * @fires Output#closed + * + * @extends EventEmitter + * @license Apache-2.0 + */class Gc extends en{constructor(e){super(),this._midiOutput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new ix(this,t);this._midiOutput.onstatechange=this._onStateChange.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._midiOutput&&(this._midiOutput.onstatechange=null),await this.close(),this._midiOutput=null}_onStateChange(e){let t={timestamp:G.time};e.port.connection==="open"?(t.type="opened",t.target=this,t.port=t.target,this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",t.target=this,t.port=t.target,this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught:",e.port.connection,e.port.state)}async open(){try{return await this._midiOutput.open(),Promise.resolve(this)}catch(e){return Promise.reject(e)}}async close(){this._midiOutput?await this._midiOutput.close():await Promise.resolve()}send(e,t={time:0},s=0){if(e instanceof jp&&(e=X.isNode?e.data:e.rawData),e instanceof Uint8Array&&X.isNode&&(e=Array.from(e)),G.validation){if(!Array.isArray(e)&&!(e instanceof Uint8Array)&&(e=[e],Array.isArray(t)&&(e=e.concat(t)),t=isNaN(s)?{time:0}:{time:s}),!(parseInt(e[0])>=128&&parseInt(e[0])<=255))throw new RangeError("The first byte (status) must be an integer between 128 and 255.");e.slice(1).forEach(i=>{if(i=parseInt(i),!(i>=0&&i<=255))throw new RangeError("Data bytes must be integers between 0 and 255.")}),t||(t={time:0})}return this._midiOutput.send(e,X.toTimestamp(t.time)),this}sendSysex(e,t=[],s={}){if(e=[].concat(e),t instanceof Uint8Array){const i=new Uint8Array(1+e.length+t.length+1);i[0]=U.SYSTEM_MESSAGES.sysex,i.set(Uint8Array.from(e),1),i.set(t,1+e.length),i[i.length-1]=U.SYSTEM_MESSAGES.sysexend,this.send(i,{time:s.time})}else{const i=e.concat(t,U.SYSTEM_MESSAGES.sysexend);this.send([U.SYSTEM_MESSAGES.sysex].concat(i),{time:s.time})}return this}clear(){return this._midiOutput.clear?this._midiOutput.clear():G.validation&&console.warn("The 'clear()' method has not yet been implemented in your environment."),this}sendTimecodeQuarterFrame(e,t={}){if(G.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The value must be an integer between 0 and 127.");return this.send([U.SYSTEM_MESSAGES.timecode,e],{time:t.time}),this}sendSongPosition(e=0,t={}){e=Math.floor(e)||0;var s=e>>7&127,i=e&127;return this.send([U.SYSTEM_MESSAGES.songposition,s,i],{time:t.time}),this}sendSongSelect(e=0,t={}){if(G.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The program value must be between 0 and 127");return this.send([U.SYSTEM_MESSAGES.songselect,e],{time:t.time}),this}sendTuneRequest(e={}){return this.send([U.SYSTEM_MESSAGES.tunerequest],{time:e.time}),this}sendClock(e={}){return this.send([U.SYSTEM_MESSAGES.clock],{time:e.time}),this}sendStart(e={}){return this.send([U.SYSTEM_MESSAGES.start],{time:e.time}),this}sendContinue(e={}){return this.send([U.SYSTEM_MESSAGES.continue],{time:e.time}),this}sendStop(e={}){return this.send([U.SYSTEM_MESSAGES.stop],{time:e.time}),this}sendActiveSensing(e={}){return this.send([U.SYSTEM_MESSAGES.activesensing],{time:e.time}),this}sendReset(e={}){return this.send([U.SYSTEM_MESSAGES.reset],{time:e.time}),this}sendTuningRequest(e={}){return G.validation&&console.warn("The sendTuningRequest() method has been deprecated. Use sendTuningRequest() instead."),this.sendTuneRequest(e)}sendKeyAftertouch(e,t,s={}){return s.channels==null&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendKeyAftertouch(e,t,s)}),this}sendControlChange(e,t,s={},i={}){if(G.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const r=s;s=i,s.channels=r,s.channels==="all"&&(s.channels=U.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendControlChange(e,t,s)}),this}sendPitchBendRange(e=0,t=0,s={}){return s.channels==null&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendPitchBendRange(e,t,s)}),this}setPitchBendRange(e=0,t=0,s="all",i={}){return G.validation&&(console.warn("The setPitchBendRange() method is deprecated. Use sendPitchBendRange() instead."),i.channels=s,i.channels==="all"&&(i.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendPitchBendRange(e,t,i)}sendRpnValue(e,t,s={}){return s.channels==null&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendRpnValue(e,t,s)}),this}setRegisteredParameter(e,t=[],s="all",i={}){return G.validation&&(console.warn("The setRegisteredParameter() method is deprecated. Use sendRpnValue() instead."),i.channels=s,i.channels==="all"&&(i.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendRpnValue(e,t,i)}sendChannelAftertouch(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendChannelAftertouch(e,t)}),this}sendPitchBend(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendPitchBend(e,t)}),this}sendProgramChange(e=0,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendProgramChange(e,t)}),this}sendModulationRange(e,t,s={}){return s.channels==null&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendModulationRange(e,t,s)}),this}setModulationRange(e=0,t=0,s="all",i={}){return G.validation&&(console.warn("The setModulationRange() method is deprecated. Use sendModulationRange() instead."),i.channels=s,i.channels==="all"&&(i.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendModulationRange(e,t,i)}sendMasterTuning(e,t={}){return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendMasterTuning(e,t)}),this}setMasterTuning(e,t={},s={}){return G.validation&&(console.warn("The setMasterTuning() method is deprecated. Use sendMasterTuning() instead."),s.channels=t,s.channels==="all"&&(s.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendMasterTuning(e,s)}sendTuningProgram(e,t={}){return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningProgram(e,t)}),this}setTuningProgram(e,t="all",s={}){return G.validation&&(console.warn("The setTuningProgram() method is deprecated. Use sendTuningProgram() instead."),s.channels=t,s.channels==="all"&&(s.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendTuningProgram(e,s)}sendTuningBank(e=0,t={}){return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningBank(e,t)}),this}setTuningBank(e,t="all",s={}){return G.validation&&(console.warn("The setTuningBank() method is deprecated. Use sendTuningBank() instead."),s.channels=t,s.channels==="all"&&(s.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendTuningBank(e,s)}sendChannelMode(e,t=0,s={},i={}){if(G.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const r=s;s=i,s.channels=r,s.channels==="all"&&(s.channels=U.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendChannelMode(e,t,s)}),this}sendAllSoundOff(e={}){return e.channels==null&&(e.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllSoundOff(e)}),this}sendAllNotesOff(e={}){return e.channels==null&&(e.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllNotesOff(e)}),this}sendResetAllControllers(e={},t={}){if(G.validation&&(Array.isArray(e)||Number.isInteger(e)||e==="all")){const s=e;e=t,e.channels=s,e.channels==="all"&&(e.channels=U.MIDI_CHANNEL_NUMBERS)}return e.channels==null&&(e.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(e.channels).forEach(s=>{this.channels[s].sendResetAllControllers(e)}),this}sendPolyphonicMode(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendPolyphonicMode(e,t)}),this}sendLocalControl(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendLocalControl(e,t)}),this}sendOmniMode(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendOmniMode(e,t)}),this}sendNrpnValue(e,t,s={}){return s.channels==null&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendNrpnValue(e,t,s)}),this}setNonRegisteredParameter(e,t=[],s="all",i={}){return G.validation&&(console.warn("The setNonRegisteredParameter() method is deprecated. Use sendNrpnValue() instead."),i.channels=s,i.channels==="all"&&(i.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendNrpnValue(e,t,i)}sendRpnIncrement(e,t={}){return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnIncrement(e,t)}),this}incrementRegisteredParameter(e,t="all",s={}){return G.validation&&(console.warn("The incrementRegisteredParameter() method is deprecated. Use sendRpnIncrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendRpnIncrement(e,s)}sendRpnDecrement(e,t={}){return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnDecrement(e,t)}),this}decrementRegisteredParameter(e,t="all",s={}){return G.validation&&(console.warn("The decrementRegisteredParameter() method is deprecated. Use sendRpnDecrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=U.MIDI_CHANNEL_NUMBERS)),this.sendRpnDecrement(e,s)}sendNoteOff(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendNoteOff(e,t)}),this}stopNote(e,t){return this.sendNoteOff(e,t)}playNote(e,t={},s={}){if(G.validation&&(t.rawVelocity&&console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' instead."),t.velocity&&console.warn("The 'velocity' option is deprecated. Use 'velocity' instead."),Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].playNote(e,t)}),this}sendNoteOn(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=U.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendNoteOn(e,t)}),this}get name(){return this._midiOutput.name}get id(){return this._midiOutput.id}get connection(){return this._midiOutput.connection}get manufacturer(){return this._midiOutput.manufacturer}get state(){return this._midiOutput.state}get type(){return this._midiOutput.type}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}}/** + * The `Forwarder` class allows the forwarding of MIDI messages to predetermined outputs. When you + * call its [`forward()`](#forward) method, it will send the specified [`Message`](Message) object + * to all the outputs listed in its [`destinations`](#destinations) property. + * + * If specific channels or message types have been defined in the [`channels`](#channels) or + * [`types`](#types) properties, only messages matching the channels/types will be forwarded. + * + * While it can be manually instantiated, you are more likely to come across a `Forwarder` object as + * the return value of the [`Input.addForwarder()`](Input#addForwarder) method. + * + * @license Apache-2.0 + * @since 3.0.0 + */class kh{constructor(e=[],t={}){this.destinations=[],this.types=[...Object.keys(U.SYSTEM_MESSAGES),...Object.keys(U.CHANNEL_MESSAGES)],this.channels=U.MIDI_CHANNEL_NUMBERS,this.suspended=!1,Array.isArray(e)||(e=[e]),t.types&&!Array.isArray(t.types)&&(t.types=[t.types]),t.channels&&!Array.isArray(t.channels)&&(t.channels=[t.channels]),G.validation&&(e.forEach(s=>{if(!(s instanceof Gc))throw new TypeError("Destinations must be of type 'Output'.")}),t.types!==void 0&&t.types.forEach(s=>{if(!U.SYSTEM_MESSAGES.hasOwnProperty(s)&&!U.CHANNEL_MESSAGES.hasOwnProperty(s))throw new TypeError("Type must be a valid message type.")}),t.channels!==void 0&&t.channels.forEach(s=>{if(!U.MIDI_CHANNEL_NUMBERS.includes(s))throw new TypeError("MIDI channel must be between 1 and 16.")})),this.destinations=e,t.types&&(this.types=t.types),t.channels&&(this.channels=t.channels)}forward(e){this.suspended||this.types.includes(e.type)&&(e.channel&&!this.channels.includes(e.channel)||this.destinations.forEach(t=>{G.validation&&!(t instanceof Gc)||t.send(e)}))}}/** + * The `InputChannel` class represents a single MIDI input channel (1-16) from a single input + * device. This object is derived from the host's MIDI subsystem and should not be instantiated + * directly. + * + * All 16 `InputChannel` objects can be found inside the input's [`channels`](Input#channels) + * property. + * + * @fires InputChannel#midimessage + * @fires InputChannel#unknownmessage + * + * @fires InputChannel#noteoff + * @fires InputChannel#noteon + * @fires InputChannel#keyaftertouch + * @fires InputChannel#programchange + * @fires InputChannel#channelaftertouch + * @fires InputChannel#pitchbend + * + * @fires InputChannel#allnotesoff + * @fires InputChannel#allsoundoff + * @fires InputChannel#localcontrol + * @fires InputChannel#monomode + * @fires InputChannel#omnimode + * @fires InputChannel#resetallcontrollers + * + * @fires InputChannel#event:nrpn + * @fires InputChannel#event:nrpn-dataentrycoarse + * @fires InputChannel#event:nrpn-dataentryfine + * @fires InputChannel#event:nrpn-dataincrement + * @fires InputChannel#event:nrpn-datadecrement + * @fires InputChannel#event:rpn + * @fires InputChannel#event:rpn-dataentrycoarse + * @fires InputChannel#event:rpn-dataentryfine + * @fires InputChannel#event:rpn-dataincrement + * @fires InputChannel#event:rpn-datadecrement + * + * @fires InputChannel#controlchange + * @fires InputChannel#event:controlchange-controllerxxx + * @fires InputChannel#event:controlchange-bankselectcoarse + * @fires InputChannel#event:controlchange-modulationwheelcoarse + * @fires InputChannel#event:controlchange-breathcontrollercoarse + * @fires InputChannel#event:controlchange-footcontrollercoarse + * @fires InputChannel#event:controlchange-portamentotimecoarse + * @fires InputChannel#event:controlchange-dataentrycoarse + * @fires InputChannel#event:controlchange-volumecoarse + * @fires InputChannel#event:controlchange-balancecoarse + * @fires InputChannel#event:controlchange-pancoarse + * @fires InputChannel#event:controlchange-expressioncoarse + * @fires InputChannel#event:controlchange-effectcontrol1coarse + * @fires InputChannel#event:controlchange-effectcontrol2coarse + * @fires InputChannel#event:controlchange-generalpurposecontroller1 + * @fires InputChannel#event:controlchange-generalpurposecontroller2 + * @fires InputChannel#event:controlchange-generalpurposecontroller3 + * @fires InputChannel#event:controlchange-generalpurposecontroller4 + * @fires InputChannel#event:controlchange-bankselectfine + * @fires InputChannel#event:controlchange-modulationwheelfine + * @fires InputChannel#event:controlchange-breathcontrollerfine + * @fires InputChannel#event:controlchange-footcontrollerfine + * @fires InputChannel#event:controlchange-portamentotimefine + * @fires InputChannel#event:controlchange-dataentryfine + * @fires InputChannel#event:controlchange-channelvolumefine + * @fires InputChannel#event:controlchange-balancefine + * @fires InputChannel#event:controlchange-panfine + * @fires InputChannel#event:controlchange-expressionfine + * @fires InputChannel#event:controlchange-effectcontrol1fine + * @fires InputChannel#event:controlchange-effectcontrol2fine + * @fires InputChannel#event:controlchange-damperpedal + * @fires InputChannel#event:controlchange-portamento + * @fires InputChannel#event:controlchange-sostenuto + * @fires InputChannel#event:controlchange-softpedal + * @fires InputChannel#event:controlchange-legatopedal + * @fires InputChannel#event:controlchange-hold2 + * @fires InputChannel#event:controlchange-soundvariation + * @fires InputChannel#event:controlchange-resonance + * @fires InputChannel#event:controlchange-releasetime + * @fires InputChannel#event:controlchange-attacktime + * @fires InputChannel#event:controlchange-brightness + * @fires InputChannel#event:controlchange-decaytime + * @fires InputChannel#event:controlchange-vibratorate + * @fires InputChannel#event:controlchange-vibratodepth + * @fires InputChannel#event:controlchange-vibratodelay + * @fires InputChannel#event:controlchange-generalpurposecontroller5 + * @fires InputChannel#event:controlchange-generalpurposecontroller6 + * @fires InputChannel#event:controlchange-generalpurposecontroller7 + * @fires InputChannel#event:controlchange-generalpurposecontroller8 + * @fires InputChannel#event:controlchange-portamentocontrol + * @fires InputChannel#event:controlchange-highresolutionvelocityprefix + * @fires InputChannel#event:controlchange-effect1depth + * @fires InputChannel#event:controlchange-effect2depth + * @fires InputChannel#event:controlchange-effect3depth + * @fires InputChannel#event:controlchange-effect4depth + * @fires InputChannel#event:controlchange-effect5depth + * @fires InputChannel#event:controlchange-dataincrement + * @fires InputChannel#event:controlchange-datadecrement + * @fires InputChannel#event:controlchange-nonregisteredparameterfine + * @fires InputChannel#event:controlchange-nonregisteredparametercoarse + * @fires InputChannel#event:controlchange-registeredparameterfine + * @fires InputChannel#event:controlchange-registeredparametercoarse + * @fires InputChannel#event:controlchange-allsoundoff + * @fires InputChannel#event:controlchange-resetallcontrollers + * @fires InputChannel#event:controlchange-localcontrol + * @fires InputChannel#event:controlchange-allnotesoff + * @fires InputChannel#event:controlchange-omnimodeoff + * @fires InputChannel#event:controlchange-omnimodeon + * @fires InputChannel#event:controlchange-monomodeon + * @fires InputChannel#event:controlchange-polymodeon + * @fires InputChannel#event: + * + * @extends EventEmitter + * @license Apache-2.0 + * @since 3.0.0 + */class rx extends en{constructor(e,t){super(),this._input=e,this._number=t,this._octaveOffset=0,this._nrpnBuffer=[],this._rpnBuffer=[],this.parameterNumberEventsEnabled=!0,this.notesState=new Array(128).fill(!1)}destroy(){this._input=null,this._number=null,this._octaveOffset=0,this._nrpnBuffer=[],this.notesState=new Array(128).fill(!1),this.parameterNumberEventsEnabled=!1,this.removeListener()}_processMidiMessageEvent(e){const t=Object.assign({},e);t.port=this.input,t.target=this,t.type="midimessage",this.emit(t.type,t),this._parseEventForStandardMessages(t)}_parseEventForStandardMessages(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmessage";const s=e.message.dataBytes[0],i=e.message.dataBytes[1];if(t.type==="noteoff"||t.type==="noteon"&&i===0)this.notesState[s]=!1,t.type="noteoff",t.note=new Ls(X.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset),{rawAttack:0,rawRelease:i}),t.value=X.from7bitToFloat(i),t.rawValue=i,t.velocity=t.note.release,t.rawVelocity=t.note.rawRelease;else if(t.type==="noteon")this.notesState[s]=!0,t.note=new Ls(X.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset),{rawAttack:i}),t.value=X.from7bitToFloat(i),t.rawValue=i,t.velocity=t.note.attack,t.rawVelocity=t.note.rawAttack;else if(t.type==="keyaftertouch")t.note=new Ls(X.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset)),t.value=X.from7bitToFloat(i),t.rawValue=i,t.identifier=t.note.identifier,t.key=t.note.number,t.rawKey=s;else if(t.type==="controlchange"){t.controller={number:s,name:U.CONTROL_CHANGE_MESSAGES[s].name,description:U.CONTROL_CHANGE_MESSAGES[s].description,position:U.CONTROL_CHANGE_MESSAGES[s].position},t.subtype=t.controller.name||"controller"+s,t.value=X.from7bitToFloat(i),t.rawValue=i;const r=Object.assign({},t);r.type=`${t.type}-controller${s}`,delete r.subtype,this.emit(r.type,r);const o=Object.assign({},t);o.type=`${t.type}-`+U.CONTROL_CHANGE_MESSAGES[s].name,delete o.subtype,o.type.indexOf("controller")!==0&&this.emit(o.type,o),t.message.dataBytes[0]>=120&&this._parseChannelModeMessage(t),this.parameterNumberEventsEnabled&&this._isRpnOrNrpnController(t.message.dataBytes[0])&&this._parseEventForParameterNumber(t)}else t.type==="programchange"?(t.value=s,t.rawValue=t.value):t.type==="channelaftertouch"?(t.value=X.from7bitToFloat(s),t.rawValue=s):t.type==="pitchbend"?(t.value=((i<<7)+s-8192)/8192,t.rawValue=(i<<7)+s):t.type="unknownmessage";this.emit(t.type,t)}_parseChannelModeMessage(e){const t=Object.assign({},e);t.type=t.controller.name,t.type==="localcontrol"&&(t.value=t.message.data[2]===127,t.rawValue=t.message.data[2]),t.type==="omnimodeon"?(t.type="omnimode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="omnimodeoff"&&(t.type="omnimode",t.value=!1,t.rawValue=t.message.data[2]),t.type==="monomodeon"?(t.type="monomode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="polymodeon"&&(t.type="monomode",t.value=!1,t.rawValue=t.message.data[2]),this.emit(t.type,t)}_parseEventForParameterNumber(e){const t=e.message.dataBytes[0],s=e.message.dataBytes[1];t===99||t===101?(this._nrpnBuffer=[],this._rpnBuffer=[],t===99?this._nrpnBuffer=[e.message]:s!==127&&(this._rpnBuffer=[e.message])):t===98||t===100?t===98?(this._rpnBuffer=[],this._nrpnBuffer.length===1?this._nrpnBuffer.push(e.message):this._nrpnBuffer=[]):(this._nrpnBuffer=[],this._rpnBuffer.length===1&&s!==127?this._rpnBuffer.push(e.message):this._rpnBuffer=[]):(t===6||t===38||t===96||t===97)&&(this._rpnBuffer.length===2?this._dispatchParameterNumberEvent("rpn",this._rpnBuffer[0].dataBytes[1],this._rpnBuffer[1].dataBytes[1],e):this._nrpnBuffer.length===2?this._dispatchParameterNumberEvent("nrpn",this._nrpnBuffer[0].dataBytes[1],this._nrpnBuffer[1].dataBytes[1],e):(this._nrpnBuffer=[],this._rpnBuffer=[]))}_isRpnOrNrpnController(e){return e===6||e===38||e===96||e===97||e===98||e===99||e===100||e===101}_dispatchParameterNumberEvent(e,t,s,i){e=e==="nrpn"?"nrpn":"rpn";const r={target:i.target,timestamp:i.timestamp,message:i.message,parameterMsb:t,parameterLsb:s,value:X.from7bitToFloat(i.message.dataBytes[1]),rawValue:i.message.dataBytes[1]};e==="rpn"?r.parameter=Object.keys(U.REGISTERED_PARAMETERS).find(c=>U.REGISTERED_PARAMETERS[c][0]===t&&U.REGISTERED_PARAMETERS[c][1]===s):r.parameter=(t<<7)+s;const o=U.CONTROL_CHANGE_MESSAGES[i.message.dataBytes[0]].name;r.type=`${e}-${o}`,this.emit(r.type,r);const a=Object.assign({},r);a.type==="nrpn-dataincrement"?a.type="nrpn-databuttonincrement":a.type==="nrpn-datadecrement"?a.type="nrpn-databuttondecrement":a.type==="rpn-dataincrement"?a.type="rpn-databuttonincrement":a.type==="rpn-datadecrement"&&(a.type="rpn-databuttondecrement"),this.emit(a.type,a),r.type=e,r.subtype=o,this.emit(r.type,r)}getChannelModeByNumber(e){return G.validation&&(console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class."),e=Math.floor(e)),X.getChannelModeByNumber(e)}getCcNameByNumber(e){if(G.validation&&(console.warn("The 'getCcNameByNumber()' method has been moved to the 'Utilities' class."),e=parseInt(e),!(e>=0&&e<=127)))throw new RangeError("Invalid control change number.");return X.getCcNameByNumber(e)}getNoteState(e){e instanceof Ls&&(e=e.identifier);const t=X.guessNoteNumber(e,G.octaveOffset+this.input.octaveOffset+this.octaveOffset);return this.notesState[t]}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get input(){return this._input}get number(){return this._number}get nrpnEventsEnabled(){return this.parameterNumberEventsEnabled}set nrpnEventsEnabled(e){this.validation&&(e=!!e),this.parameterNumberEventsEnabled=e}}/** + * The `Message` class represents a single MIDI message. It has several properties that make it + * easy to make sense of the binary data it contains. + * + * @license Apache-2.0 + * @since 3.0.0 + */class jp{constructor(e){this.rawData=e,this.data=Array.from(this.rawData),this.statusByte=this.rawData[0],this.rawDataBytes=this.rawData.slice(1),this.dataBytes=this.data.slice(1),this.isChannelMessage=!1,this.isSystemMessage=!1,this.command=void 0,this.channel=void 0,this.manufacturerId=void 0,this.type=void 0,this.statusByte<240?(this.isChannelMessage=!0,this.command=this.statusByte>>4,this.channel=(this.statusByte&15)+1):(this.isSystemMessage=!0,this.command=this.statusByte),this.isChannelMessage?this.type=X.getPropertyByValue(U.CHANNEL_MESSAGES,this.command):this.isSystemMessage&&(this.type=X.getPropertyByValue(U.SYSTEM_MESSAGES,this.command)),this.statusByte===U.SYSTEM_MESSAGES.sysex&&(this.dataBytes[0]===0?(this.manufacturerId=this.dataBytes.slice(0,3),this.dataBytes=this.dataBytes.slice(3,this.rawDataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(3,this.rawDataBytes.length-1)):(this.manufacturerId=[this.dataBytes[0]],this.dataBytes=this.dataBytes.slice(1,this.dataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(1,this.rawDataBytes.length-1)))}}/** + * The `Input` class represents a single MIDI input port. This object is automatically instantiated + * by the library according to the host's MIDI subsystem and does not need to be directly + * instantiated. Instead, you can access all `Input` objects by referring to the + * [`WebMidi.inputs`](WebMidi#inputs) array. You can also retrieve inputs by using methods such as + * [`WebMidi.getInputByName()`](WebMidi#getInputByName) and + * [`WebMidi.getInputById()`](WebMidi#getInputById). + * + * Note that a single MIDI device may expose several inputs and/or outputs. + * + * **Important**: the `Input` class does not directly fire channel-specific MIDI messages + * (such as [`noteon`](InputChannel#event:noteon) or + * [`controlchange`](InputChannel#event:controlchange), etc.). The [`InputChannel`](InputChannel) + * object does that. However, you can still use the + * [`Input.addListener()`](#addListener) method to listen to channel-specific events on multiple + * [`InputChannel`](InputChannel) objects at once. + * + * @fires Input#opened + * @fires Input#disconnected + * @fires Input#closed + * @fires Input#midimessage + * + * @fires Input#sysex + * @fires Input#timecode + * @fires Input#songposition + * @fires Input#songselect + * @fires Input#tunerequest + * @fires Input#clock + * @fires Input#start + * @fires Input#continue + * @fires Input#stop + * @fires Input#activesensing + * @fires Input#reset + * + * @fires Input#unknownmidimessage + * + * @extends EventEmitter + * @license Apache-2.0 + */class ox extends en{constructor(e){super(),this._midiInput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new rx(this,t);this._forwarders=[],this._midiInput.onstatechange=this._onStateChange.bind(this),this._midiInput.onmidimessage=this._onMidiMessage.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._forwarders=[],this._midiInput&&(this._midiInput.onstatechange=null,this._midiInput.onmidimessage=null),await this.close(),this._midiInput=null}_onStateChange(e){let t={timestamp:G.time,target:this,port:this};e.port.connection==="open"?(t.type="opened",this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught: ",e.port.connection,e.port.state)}_onMidiMessage(e){const t=new jp(e.data),s={port:this,target:this,message:t,timestamp:e.timeStamp,type:"midimessage",data:t.data,rawData:t.data,statusByte:t.data[0],dataBytes:t.dataBytes};this.emit("midimessage",s),t.isSystemMessage?this._parseEvent(s):t.isChannelMessage&&this.channels[t.channel]._processMidiMessageEvent(s),this._forwarders.forEach(i=>i.forward(t))}_parseEvent(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmidimessage",t.type==="songselect"&&(t.song=e.data[1]+1,t.value=e.data[1],t.rawValue=t.value),this.emit(t.type,t)}async open(){try{await this._midiInput.open()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}async close(){if(!this._midiInput)return Promise.resolve(this);try{await this._midiInput.close()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}getChannelModeByNumber(){G.validation&&console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class.")}addListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=t!=null?[].concat(t):void 0;t=s,s={channels:i}}if(U.CHANNEL_EVENTS.includes(e)){s.channels===void 0&&(s.channels=U.MIDI_CHANNEL_NUMBERS);let i=[];return X.sanitizeChannels(s.channels).forEach(r=>{i.push(this.channels[r].addListener(e,t,s))}),i}else return super.addListener(e,t,s)}addOneTimeListener(e,t,s={}){return s.remaining=1,this.addListener(e,t,s)}on(e,t,s,i){return this.addListener(e,t,s,i)}hasListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=[].concat(t);t=s,s={channels:i}}return U.CHANNEL_EVENTS.includes(e)?(s.channels===void 0&&(s.channels=U.MIDI_CHANNEL_NUMBERS),X.sanitizeChannels(s.channels).every(i=>this.channels[i].hasListener(e,t))):super.hasListener(e,t)}removeListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=[].concat(t);t=s,s={channels:i}}if(s.channels===void 0&&(s.channels=U.MIDI_CHANNEL_NUMBERS),e==null)return X.sanitizeChannels(s.channels).forEach(i=>{this.channels[i]&&this.channels[i].removeListener()}),super.removeListener();U.CHANNEL_EVENTS.includes(e)?X.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].removeListener(e,t,s)}):super.removeListener(e,t,s)}addForwarder(e,t={}){let s;return e instanceof kh?s=e:s=new kh(e,t),this._forwarders.push(s),s}removeForwarder(e){this._forwarders=this._forwarders.filter(t=>t!==e)}hasForwarder(e){return this._forwarders.includes(e)}get name(){return this._midiInput.name}get id(){return this._midiInput.id}get connection(){return this._midiInput.connection}get manufacturer(){return this._midiInput.manufacturer}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get state(){return this._midiInput.state}get type(){return this._midiInput.type}get nrpnEventsEnabled(){return G.validation&&console.warn("The 'nrpnEventsEnabled' property has been moved to the 'InputChannel' class."),!1}}/** + * The `WebMidi` object makes it easier to work with the low-level Web MIDI API. Basically, it + * simplifies sending outgoing MIDI messages and reacting to incoming MIDI messages. + * + * When using the WebMidi.js library, you should know that the `WebMidi` class has already been + * instantiated. You cannot instantiate it yourself. If you use the **IIFE** version, you should + * simply use the global object called `WebMidi`. If you use the **CJS** (CommonJS) or **ESM** (ES6 + * module) version, you get an already-instantiated object when you import the module. + * + * @fires WebMidi#connected + * @fires WebMidi#disabled + * @fires WebMidi#disconnected + * @fires WebMidi#enabled + * @fires WebMidi#error + * @fires WebMidi#midiaccessgranted + * @fires WebMidi#portschanged + * + * @extends EventEmitter + * @license Apache-2.0 + */class ax extends en{constructor(){super(),this.defaults={note:{attack:X.from7bitToFloat(64),release:X.from7bitToFloat(64),duration:1/0}},this.interface=null,this.validation=!0,this._inputs=[],this._disconnectedInputs=[],this._outputs=[],this._disconnectedOutputs=[],this._stateChangeQueue=[],this._octaveOffset=0}async enable(e={},t=!1){if(X.isNode){try{window.navigator}catch{let a=await Object.getPrototypeOf(async function(){}).constructor(` + let jzz = await import("jzz"); + return jzz.default; + `)();global.navigator||(global.navigator={}),Object.assign(global.navigator,a)}try{}catch{global.performance=await Object.getPrototypeOf(async function(){}).constructor(` + let perf_hooks = await import("perf_hooks"); + return perf_hooks.performance; + `)()}}if(this.validation=e.validation!==!1,this.validation&&(typeof e=="function"&&(e={callback:e,sysex:t}),t&&(e.sysex=!0)),this.enabled)return typeof e.callback=="function"&&e.callback(),Promise.resolve();const s={timestamp:this.time,target:this,type:"error",error:void 0},i={timestamp:this.time,target:this,type:"midiaccessgranted"},r={timestamp:this.time,target:this,type:"enabled"};try{typeof e.requestMIDIAccessFunction=="function"?this.interface=await e.requestMIDIAccessFunction({sysex:e.sysex,software:e.software}):this.interface=await navigator.requestMIDIAccess({sysex:e.sysex,software:e.software})}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}this.emit("midiaccessgranted",i),this.interface.onstatechange=this._onInterfaceStateChange.bind(this);try{await this._updateInputsAndOutputs()}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}return this.emit("enabled",r),typeof e.callback=="function"&&e.callback(),Promise.resolve(this)}async disable(){return this.interface&&(this.interface.onstatechange=void 0),this._destroyInputsAndOutputs().then(()=>{navigator&&typeof navigator.close=="function"&&navigator.close(),this.interface=null;let e={timestamp:this.time,target:this,type:"disabled"};this.emit("disabled",e),this.removeListener()})}getInputById(e,t={disconnected:!1}){if(this.validation){if(!this.enabled)throw new Error("WebMidi is not enabled.");if(!e)return}if(t.disconnected){for(let s=0;s=0&&e<=127?X.getNoteDetails(X.offsetNumber(e,this.octaveOffset)).octave:!1}sanitizeChannels(e){return this.validation&&console.warn("The sanitizeChannels() method has been moved to the utilities class."),X.sanitizeChannels(e)}toMIDIChannels(e){return this.validation&&console.warn("The toMIDIChannels() method has been deprecated. Use Utilities.sanitizeChannels() instead."),X.sanitizeChannels(e)}guessNoteNumber(e){return this.validation&&console.warn("The guessNoteNumber() method has been deprecated. Use Utilities.guessNoteNumber() instead."),X.guessNoteNumber(e,this.octaveOffset)}getValidNoteArray(e,t={}){return this.validation&&console.warn("The getValidNoteArray() method has been moved to the Utilities.buildNoteArray()"),X.buildNoteArray(e,t)}convertToTimestamp(e){return this.validation&&console.warn("The convertToTimestamp() method has been moved to Utilities.toTimestamp()."),X.toTimestamp(e)}async _destroyInputsAndOutputs(){let e=[];return this.inputs.forEach(t=>e.push(t.destroy())),this.outputs.forEach(t=>e.push(t.destroy())),Promise.all(e).then(()=>{this._inputs=[],this._outputs=[]})}_onInterfaceStateChange(e){this._updateInputsAndOutputs();let t={timestamp:e.timeStamp,type:e.port.state,target:this};if(e.port.state==="connected"&&e.port.connection==="open"){e.port.type==="output"?t.port=this.getOutputById(e.port.id):e.port.type==="input"&&(t.port=this.getInputById(e.port.id)),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}else if(e.port.state==="disconnected"&&e.port.connection==="pending"){e.port.type==="input"?t.port=this.getInputById(e.port.id,{disconnected:!0}):e.port.type==="output"&&(t.port=this.getOutputById(e.port.id,{disconnected:!0})),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}}async _updateInputsAndOutputs(){return Promise.all([this._updateInputs(),this._updateOutputs()])}async _updateInputs(){if(!this.interface)return;for(let t=this._inputs.length-1;t>=0;t--){const s=this._inputs[t];Array.from(this.interface.inputs.values()).find(r=>r===s._midiInput)||(this._disconnectedInputs.push(s),this._inputs.splice(t,1))}let e=[];return this.interface.inputs.forEach(t=>{if(!this._inputs.find(s=>s._midiInput===t)){let s=this._disconnectedInputs.find(i=>i._midiInput===t);s||(s=new ox(t)),this._inputs.push(s),e.push(s.open())}}),Promise.all(e)}async _updateOutputs(){if(!this.interface)return;for(let t=this._outputs.length-1;t>=0;t--){const s=this._outputs[t];Array.from(this.interface.outputs.values()).find(r=>r===s._midiOutput)||(this._disconnectedOutputs.push(s),this._outputs.splice(t,1))}let e=[];return this.interface.outputs.forEach(t=>{if(!this._outputs.find(s=>s._midiOutput===t)){let s=this._disconnectedOutputs.find(i=>i._midiOutput===t);s||(s=new Gc(t)),this._outputs.push(s),e.push(s.open())}}),Promise.all(e)}get enabled(){return this.interface!==null}get inputs(){return this._inputs}get isNode(){return this.validation&&console.warn("WebMidi.isNode has been deprecated. Use Utilities.isNode instead."),X.isNode}get isBrowser(){return this.validation&&console.warn("WebMidi.isBrowser has been deprecated. Use Utilities.isBrowser instead."),X.isBrowser}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get outputs(){return this._outputs}get supported(){return typeof navigator<"u"&&navigator.requestMIDIAccess}get sysexEnabled(){return!!(this.interface&&this.interface.sysexEnabled)}get time(){return performance.now()}get version(){return"3.1.8"}get flavour(){return"esm"}get CHANNEL_EVENTS(){return this.validation&&console.warn("The CHANNEL_EVENTS enum has been moved to Enumerations.CHANNEL_EVENTS."),U.CHANNEL_EVENTS}get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been moved to Enumerations.SYSTEM_MESSAGES."),U.SYSTEM_MESSAGES}get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been moved to Enumerations.CHANNEL_MODE_MESSAGES."),U.CHANNEL_MODE_MESSAGES}get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been replaced by the Enumerations.CONTROL_CHANGE_MESSAGES array."),U.MIDI_CONTROL_CHANGE_MESSAGES}get MIDI_REGISTERED_PARAMETER(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETER enum has been moved to Enumerations.REGISTERED_PARAMETERS."),U.REGISTERED_PARAMETERS}get NOTES(){return this.validation&&console.warn("The NOTES enum has been deprecated."),["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"]}}const G=new ax;G.constructor=null;function Xi(n){return Nd()?(Ym(n),!0):!1}function Ut(n){return typeof n=="function"?n():w(n)}const iu=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const cx=Object.prototype.toString,lx=n=>cx.call(n)==="[object Object]",yc=(n,e,t)=>Math.min(t,Math.max(e,n)),lr=()=>{},ux=hx();function hx(){var n,e;return iu&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function dx(n,e){function t(...s){return new Promise((i,r)=>{Promise.resolve(n(()=>e.apply(this,s),{fn:e,thisArg:this,args:s})).then(i).catch(r)})}return t}const Wp=n=>n();function fx(n=Wp){const e=Oe(!0);function t(){e.value=!1}function s(){e.value=!0}const i=(...r)=>{e.value&&n(...r)};return{isActive:Ur(e),pause:t,resume:s,eventFilter:i}}function px(n){return n||jr()}function mx(...n){if(n.length!==1)return Tg(...n);const e=n[0];return typeof e=="function"?Ur(wg(()=>({get:e,set:lr}))):Oe(e)}function gx(n,e,t={}){const{eventFilter:s=Wp,...i}=t;return mt(n,dx(s,e),i)}function _x(n,e,t={}){const{eventFilter:s,...i}=t,{eventFilter:r,pause:o,resume:a,isActive:c}=fx(s);return{stop:gx(n,e,{...i,eventFilter:r}),pause:o,resume:a,isActive:c}}function ru(n,e=!0,t){px()?xs(n,t):e?n():Hi(n)}function $t(n){var e;const t=Ut(n);return(e=t==null?void 0:t.$el)!=null?e:t}const on=iu?window:void 0,yx=iu?window.document:void 0;function Tn(...n){let e,t,s,i;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,s,i]=n,e=on):[e,t,s,i]=n,!e)return lr;Array.isArray(t)||(t=[t]),Array.isArray(s)||(s=[s]);const r=[],o=()=>{r.forEach(u=>u()),r.length=0},a=(u,h,d,f)=>(u.addEventListener(h,d,f),()=>u.removeEventListener(h,d,f)),c=mt(()=>[$t(e),Ut(i)],([u,h])=>{if(o(),!u)return;const d=lx(h)?{...h}:h;r.push(...t.flatMap(f=>s.map(p=>a(u,f,p,d))))},{immediate:!0,flush:"post"}),l=()=>{c(),o()};return Xi(l),l}let Oh=!1;function vx(n,e,t={}){const{window:s=on,ignore:i=[],capture:r=!0,detectIframe:o=!1}=t;if(!s)return lr;ux&&!Oh&&(Oh=!0,Array.from(s.document.body.children).forEach(d=>d.addEventListener("click",lr)),s.document.documentElement.addEventListener("click",lr));let a=!0;const c=d=>i.some(f=>{if(typeof f=="string")return Array.from(s.document.querySelectorAll(f)).some(p=>p===d.target||d.composedPath().includes(p));{const p=$t(f);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[Tn(s,"click",d=>{const f=$t(n);if(!(!f||f===d.target||d.composedPath().includes(f))){if(d.detail===0&&(a=!c(d)),!a){a=!0;return}e(d)}},{passive:!0,capture:r}),Tn(s,"pointerdown",d=>{const f=$t(n);a=!c(d)&&!!(f&&!d.composedPath().includes(f))},{passive:!0}),o&&Tn(s,"blur",d=>{setTimeout(()=>{var f;const p=$t(n);((f=s.document.activeElement)==null?void 0:f.tagName)==="IFRAME"&&!(p!=null&&p.contains(s.document.activeElement))&&e(d)},0)})].filter(Boolean);return()=>u.forEach(d=>d())}function wx(n){return typeof n=="function"?n:typeof n=="string"?e=>e.key===n:Array.isArray(n)?e=>n.includes(e.key):()=>!0}function ou(...n){let e,t,s={};n.length===3?(e=n[0],t=n[1],s=n[2]):n.length===2?typeof n[1]=="object"?(e=!0,t=n[0],s=n[1]):(e=n[0],t=n[1]):(e=!0,t=n[0]);const{target:i=on,eventName:r="keydown",passive:o=!1,dedupe:a=!1}=s,c=wx(e);return Tn(i,r,u=>{u.repeat&&Ut(a)||c(u)&&t(u)},o)}function So(n,e,t={}){return ou(n,e,{...t,eventName:"keydown"})}function bx(){const n=Oe(!1);return jr()&&xs(()=>{n.value=!0}),n}function Ga(n){const e=bx();return de(()=>(e.value,!!n()))}function au(n,e={}){const{immediate:t=!0,fpsLimit:s=void 0,window:i=on}=e,r=Oe(!1),o=s?1e3/s:null;let a=0,c=null;function l(d){if(!r.value||!i)return;const f=d-(a||d);if(o&&ft&&"matchMedia"in t&&typeof t.matchMedia=="function");let i;const r=Oe(!1),o=l=>{r.value=l.matches},a=()=>{i&&("removeEventListener"in i?i.removeEventListener("change",o):i.removeListener(o))},c=tf(()=>{s.value&&(a(),i=t.matchMedia(Ut(n)),"addEventListener"in i?i.addEventListener("change",o):i.addListener(o),r.value=i.matches)});return Xi(()=>{c(),a(),i=void 0}),r}const po=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},mo="__vueuse_ssr_handlers__",Tx=Sx();function Sx(){return mo in po||(po[mo]=po[mo]||{}),po[mo]}function Hp(n,e){return Tx[n]||e}function Ex(n){return n==null?"any":n instanceof Set?"set":n instanceof Map?"map":n instanceof Date?"date":typeof n=="boolean"?"boolean":typeof n=="string"?"string":typeof n=="object"?"object":Number.isNaN(n)?"any":"number"}const Cx={boolean:{read:n=>n==="true",write:n=>String(n)},object:{read:n=>JSON.parse(n),write:n=>JSON.stringify(n)},number:{read:n=>Number.parseFloat(n),write:n=>String(n)},any:{read:n=>n,write:n=>String(n)},string:{read:n=>n,write:n=>String(n)},map:{read:n=>new Map(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n.entries()))},set:{read:n=>new Set(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n))},date:{read:n=>new Date(n),write:n=>n.toISOString()}},Ih="vueuse-storage";function Et(n,e,t,s={}){var i;const{flush:r="pre",deep:o=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:l=!1,shallow:u,window:h=on,eventFilter:d,onError:f=I=>{console.error(I)},initOnMounted:p}=s,m=(u?Wd:Oe)(typeof e=="function"?e():e);if(!t)try{t=Hp("getDefaultStorage",()=>{var I;return(I=on)==null?void 0:I.localStorage})()}catch(I){f(I)}if(!t)return m;const _=Ut(e),g=Ex(_),v=(i=s.serializer)!=null?i:Cx[g],{pause:T,resume:x}=_x(m,()=>y(m.value),{flush:r,deep:o,eventFilter:d});return h&&a&&ru(()=>{Tn(h,"storage",E),Tn(h,Ih,N),p&&E()}),p||E(),m;function y(I){try{if(I==null)t.removeItem(n);else{const k=v.write(I),D=t.getItem(n);D!==k&&(t.setItem(n,k),h&&h.dispatchEvent(new CustomEvent(Ih,{detail:{key:n,oldValue:D,newValue:k,storageArea:t}})))}}catch(k){f(k)}}function A(I){const k=I?I.newValue:t.getItem(n);if(k==null)return c&&_!=null&&t.setItem(n,v.write(_)),_;if(!I&&l){const D=v.read(k);return typeof l=="function"?l(D,_):g==="object"&&!Array.isArray(D)?{..._,...D}:D}else return typeof k!="string"?k:v.read(k)}function N(I){E(I.detail)}function E(I){if(!(I&&I.storageArea!==t)){if(I&&I.key==null){m.value=_;return}if(!(I&&I.key!==n)){T();try{(I==null?void 0:I.newValue)!==v.write(m.value)&&(m.value=A(I))}catch(k){f(k)}finally{I?Hi(x):x()}}}}}function zp(n){return xx("(prefers-color-scheme: dark)",n)}function Ax(n={}){const{selector:e="html",attribute:t="class",initialValue:s="auto",window:i=on,storage:r,storageKey:o="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:l,disableTransition:u=!0}=n,h={auto:"",light:"light",dark:"dark",...n.modes||{}},d=zp({window:i}),f=de(()=>d.value?"dark":"light"),p=c||(o==null?mx(s):Et(o,s,r,{window:i,listenToStorageChanges:a})),m=de(()=>p.value==="auto"?f.value:p.value),_=Hp("updateHTMLAttrs",(x,y,A)=>{const N=typeof x=="string"?i==null?void 0:i.document.querySelector(x):$t(x);if(!N)return;let E;if(u&&(E=i.document.createElement("style"),E.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),i.document.head.appendChild(E)),y==="class"){const I=A.split(/\s/g);Object.values(h).flatMap(k=>(k||"").split(/\s/g)).filter(Boolean).forEach(k=>{I.includes(k)?N.classList.add(k):N.classList.remove(k)})}else N.setAttribute(y,A);u&&(i.getComputedStyle(E).opacity,document.head.removeChild(E))});function g(x){var y;_(e,t,(y=h[x])!=null?y:x)}function v(x){n.onChanged?n.onChanged(x,g):g(x)}mt(m,v,{flush:"post",immediate:!0}),ru(()=>v(m.value));const T=de({get(){return l?p.value:m.value},set(x){p.value=x}});try{return Object.assign(T,{store:p,system:f,state:m})}catch{return T}}function Nx(n,e,t={}){const{window:s=on,...i}=t;let r;const o=Ga(()=>s&&"MutationObserver"in s),a=()=>{r&&(r.disconnect(),r=void 0)},c=mt(()=>$t(n),h=>{a(),o.value&&s&&h&&(r=new MutationObserver(e),r.observe(h,i))},{immediate:!0}),l=()=>r==null?void 0:r.takeRecords(),u=()=>{a(),c()};return Xi(u),{isSupported:o,stop:u,takeRecords:l}}function Mx(n={}){const{valueDark:e="dark",valueLight:t="",window:s=on}=n,i=Ax({...n,onChanged:(a,c)=>{var l;n.onChanged?(l=n.onChanged)==null||l.call(n,a==="dark",c,a):c(a)},modes:{dark:e,light:t}}),r=de(()=>i.system?i.system.value:zp({window:s}).value?"dark":"light");return de({get(){return i.value==="dark"},set(a){const c=a?"dark":"light";r.value===c?i.value="auto":i.value=c}})}function kx(n,e,t={}){const{window:s=on,...i}=t;let r;const o=Ga(()=>s&&"ResizeObserver"in s),a=()=>{r&&(r.disconnect(),r=void 0)},c=de(()=>Array.isArray(n)?n.map(h=>$t(h)):[$t(n)]),l=mt(c,h=>{if(a(),o.value&&s){r=new ResizeObserver(e);for(const d of h)d&&r.observe(d,i)}},{immediate:!0,flush:"post",deep:!0}),u=()=>{a(),l()};return Xi(u),{isSupported:o,stop:u}}function Ox(n,e={}){const{reset:t=!0,windowResize:s=!0,windowScroll:i=!0,immediate:r=!0}=e,o=Oe(0),a=Oe(0),c=Oe(0),l=Oe(0),u=Oe(0),h=Oe(0),d=Oe(0),f=Oe(0);function p(){const m=$t(n);if(!m){t&&(o.value=0,a.value=0,c.value=0,l.value=0,u.value=0,h.value=0,d.value=0,f.value=0);return}const _=m.getBoundingClientRect();o.value=_.height,a.value=_.bottom,c.value=_.left,l.value=_.right,u.value=_.top,h.value=_.width,d.value=_.x,f.value=_.y}return kx(n,p),mt(()=>$t(n),m=>!m&&p()),Nx(n,p,{attributeFilter:["style","class"]}),i&&Tn("scroll",p,{capture:!0,passive:!0}),s&&Tn("resize",p,{passive:!0}),ru(()=>{r&&p()}),{height:o,bottom:a,left:c,right:l,top:u,width:h,x:d,y:f,update:p}}const Rh=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Dh(n,e={}){const{document:t=yx,autoExit:s=!1}=e,i=de(()=>{var g;return(g=$t(n))!=null?g:t==null?void 0:t.querySelector("html")}),r=Oe(!1),o=de(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(g=>t&&g in t||i.value&&g in i.value)),a=de(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(g=>t&&g in t||i.value&&g in i.value)),c=de(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(g=>t&&g in t||i.value&&g in i.value)),l=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(g=>t&&g in t),u=Ga(()=>i.value&&t&&o.value!==void 0&&a.value!==void 0&&c.value!==void 0),h=()=>l?(t==null?void 0:t[l])===i.value:!1,d=()=>{if(c.value){if(t&&t[c.value]!=null)return t[c.value];{const g=i.value;if((g==null?void 0:g[c.value])!=null)return!!g[c.value]}}return!1};async function f(){if(!(!u.value||!r.value)){if(a.value)if((t==null?void 0:t[a.value])!=null)await t[a.value]();else{const g=i.value;(g==null?void 0:g[a.value])!=null&&await g[a.value]()}r.value=!1}}async function p(){if(!u.value||r.value)return;d()&&await f();const g=i.value;o.value&&(g==null?void 0:g[o.value])!=null&&(await g[o.value](),r.value=!0)}async function m(){await(r.value?f():p())}const _=()=>{const g=d();(!g||g&&h())&&(r.value=g)};return Tn(t,Rh,_,!1),Tn(()=>$t(i),Rh,_,!1),s&&Xi(f),{isSupported:u,isFullscreen:r,enter:p,exit:f,toggle:m}}const P=Lt({enabled:!1,initiated:!1,keyboardInitiated:!1,offset:-1,out:!0,inputs:{},outputs:{},forwards:{},playing:!1,channels:{},channel:Et("global-midi-channel",1),note:null,time:0,duration:0,maxDuration:3e3,message:null,log:[],cc:{},clock:0,filter:Et("global-midi-filter",{}),available:de(()=>Object.entries(P.outputs).length>0),total:{hits:0,dur:0,duration:de(()=>P.total.dur+P.duration),notes:[0,0,0,0,0,0,0,0,0,0,0,0],durations:[0,0,0,0,0,0,0,0,0,0,0,0],durs:de(()=>P.total.durations.map((n,e)=>({pitch:e,dur:n})).filter(n=>n.dur>0)),reset(){P.total.hits=0,P.total.dur=0,P.total.notes=new Array(12).fill(0),P.total.durations=new Array(12).fill(0)}}}),hi={KeyA:{note:"C",offset:0},KeyW:{note:"C#",offset:0},KeyS:{note:"D",offset:0},KeyE:{note:"D#",offset:0},KeyD:{note:"E",offset:0},KeyF:{note:"F",offset:0},KeyT:{note:"F#",offset:0},KeyG:{note:"G",offset:0},KeyY:{note:"G#",offset:0},KeyH:{note:"A",offset:0},KeyU:{note:"A#",offset:0},KeyJ:{note:"B",offset:0},KeyK:{note:"C",offset:1},KeyO:{note:"C#",offset:1},KeyL:{note:"D",offset:1},KeyP:{note:"D#",offset:1},Semicolon:{note:"E",offset:1},Quote:{note:"F",offset:1},BracketRight:{note:"F#",offset:1}};function Ix(){P.keyboardInitiated||(document.addEventListener("keydown",n=>{n.code=="KeyZ"&&P.offset--,n.code=="KeyX"&&P.offset++,!(n.repeat||!hi[n.code])&&(n.ctrlKey||n.altKey||n.metaKey||((n.code=="Slash"||n.code=="Quote")&&n.preventDefault(),Ph(hi[n.code].note,hi[n.code].offset)))}),document.addEventListener("keyup",n=>{hi[n.code]&&Ph(hi[n.code].note,hi[n.code].offset,!0)}),So("Enter",()=>P.total.reset()),P.keyboardInitiated=!0)}function Ph(n,e,t){let s=n+(4+e+P.offset);const i=new Ls(s,{attack:t?0:1}),r={type:t?"noteoff":"noteon",note:i,port:{id:"PC Keyboard"},timestamp:P.time,target:{number:0}};Kc(r)}au(()=>{var n,e,t;P.time=G.time,((n=P==null?void 0:P.note)==null?void 0:n.velocity)>0?P.duration=G.time-((e=P==null?void 0:P.note)==null?void 0:e.timestamp):(P.total.dur+=P.duration,P.total.durations[((t=P==null?void 0:P.note)==null?void 0:t.pitch)||0]+=P.duration,P.duration=0)});mt(()=>P.duration,n=>{n>P.maxDuration&&P.total.reset()});function oi(){return xs(()=>{G.supported&&Rx()}),tf(()=>{if(!P.out)return;let n=Object.values(G.outputs);P.playing?n.forEach(e=>{e.sendContinue()}):n.forEach(e=>{e.sendStop()})}),{midi:P,midiAttack:Px,midiRelease:Vx,midiOnce:Lx,setCC:Bx,WebMidi:G}}function Rx(){P.initiated||(G.enable(),G.addListener("enabled",n=>{P.enabled=!0,$h()}),G.addListener("connected",n=>{$h()}),G.addListener("disconnected",n=>{delete P[n.port.type+"s"][n.port.id]}),P.initiated=!0)}function $h(){P.inputs=Lt({}),G.inputs.forEach(n=>{P.enabled=!0,P.inputs[n.id]={name:n.name,manufacturer:n.manufacturer,forwarder:n.addForwarder(),event:null,note:null,cc:null},n.removeListener(),n.addListener("start",()=>{P.playing=!0}),n.addListener("stop",()=>{P.playing=!1,P.channels={}}),n.addListener("midimessage",e=>{var t;((t=e==null?void 0:e.message)==null?void 0:t.type)!="clock"&&(P.inputs[n.id].event=e,P.message=e.message,P.log.unshift(e),P.log.length>100&&P.log.pop())}),n.addListener("noteon",e=>{P.inputs[n.id].note=Kc(e)},{channels:"all"}),n.addListener("noteoff",e=>{P.inputs[n.id].note=Kc(e)},{channels:"all"}),n.addListener("controlchange",e=>{const t=Dx(e);t&&(P.inputs[n.id].cc=t,P.cc=t)},{channels:"all"}),n.addListener("clock",e=>{P.clock=e.timestamp})}),P.outputs=Lt({}),G.outputs.forEach(n=>{P.outputs[n.id]={name:n.name,manufacturer:n.manufacturer}})}function Kc(n){let e=n.note;if(e.port=n.port.id,e.type=n.type,e.timestamp=P.time,e.channel=n.target.number,n.type=="noteoff")e.velocity=0;else{e.velocity=100,P.total.hits++;let t=(n.note.number+3)%12;P.total.notes[t]=P.total.notes[t]+1}if(e.pitch=(e.number+3)%12,e.octA=Math.floor((e.number+3)/12)-1,!P.filter[e.channel])return Gp(e.channel),P.channels[e.channel].notes[e.number]=e,P.note=e,e}function Dx(n){if(P.filter[n.target.number])return;let e={channel:n.target.number,timestamp:n.timestamp,number:n.controller.number,value:n.value,raw:n.rawValue,port:n.port.id};return Gp(e.channel),P.channels[e.channel].cc[e.number]=e,e}function Gp(n){P.channels[n]||(P.channels[n]={num:n,activeNotes:{},notes:{},cc:{}})}function Kp(n,e,t){var s,i,r;(r=(i=(s=P.channels)==null?void 0:s[n])==null?void 0:i.notes)!=null&&r[e]&&(P.channels[n].notes[e].velocity=t)}function Px(n,e){if(!P.out)return;let t=(n==null?void 0:n.channel)||P.channel;Kp(t,n==null?void 0:n.number,100),G.outputs.forEach(s=>{s.playNote(n.number,{channels:t,...e})})}function $x(n,e){P.out&&G.outputs.forEach(t=>{t.playNote(n,{channels:P.channel,...e})})}function Fx(n,e){P.out&&(n?G.outputs.forEach(t=>{t.stopNote(n,{channels:P.channel,...e})}):G.outputs.forEach(t=>{t.sendAllNotesOff(),t.sendAllSoundOff({time:"+1"})}))}function Vx(n){if(P.out)if(n){let e=(n==null?void 0:n.channel)||P.channel;Kp(e,n==null?void 0:n.number,0),G.outputs.forEach(t=>{t.stopNote(n.number,{channels:e})})}else G.outputs.forEach(e=>{e.sendAllNotesOff(),e.sendAllSoundOff({time:"+1"})})}function Lx(n,e){!P.out||P.filter[P.channel]||($x(n,e),setTimeout(()=>{Fx(n,e)},300))}function Bx(n,e){P.out&&G.outputs.forEach(t=>{t.sendControlChange(Number(n.number),e,n.channel)})}function qx(n,e){var r,o;const t=G.outputs.find(a=>a.id==e),s=P.inputs[n].forwarder.destinations,i=s.indexOf(t);i==-1?(s.push(t),P.forwards[n]=P.forwards[n]||{},P.forwards[n][e]=!0):(s.splice(i,1),(o=(r=P.forwards)==null?void 0:r[n])==null||delete o[e])}function Yc(n,e,t){if(typeof n=="function"||Gs(n))return de(()=>yc(Ut(n),Ut(e),Ut(t)));const s=Oe(n);return de({get(){return s.value=yc(s.value,Ut(e),Ut(t))},set(i){s.value=yc(i,Ut(e),Ut(t))}})}const Ie={},Me=Lt({midi:!0,bpm:Yc(Et("tempo-bpm",90),10,500),quantize:Et("quantize","@8n"),octave:Yc(Et("synth-transpose",0),-2,2),transpose:de(()=>Me.octave*12),initiated:!1,params:{oscillator:{type:Et("synth-osc","sawtooth8")},volume:-20,envelope:{attack:.005,decay:.3,sustain:.4,release:.8},filterEnvelope:{attack:.001,decay:.7,sustain:.5,release:1,baseFrequency:60,octaves:5}}});function Yp(){return Me.initiated||(So("zя".split(""),n=>{Me.octave--}),So("xч".split(""),n=>{Me.octave++}),So("Escape",()=>vc()),_c.bpm.set(Me.bpm),_c.start(),mt(()=>Me.bpm,n=>{_c.bpm.rampTo(n,2)}),mt(()=>Me.params,n=>{Ie.poly&&Ie.poly.set(n)},{deep:!0}),mt(()=>P.note,n=>{Me.midi&&(n.velocity>0?Fh(Sh(n.number).toFrequency(),n.velocity/127):Vh(Sh(n.number).toFrequency()))}),mt(()=>P.playing,n=>{n||vc()})),{init:ai,synth:Ie,synthOptions:Me,synthOnce:Ux,synthAttack:Fh,synthRelease:Vh,synthReleaseAll:vc}}function ai(){V2(),!(Ie!=null&&Ie.poly)&&(Ie.compressor=new ca().toDestination(),Ie.pan=new sa({depth:.4,frequency:"8n",wet:.7}).connect(Ie.compressor),Ie.reverb=new oa(2.5).connect(Ie.pan),Ie.poly=new ta(ea,Me.params).connect(Ie.pan),Ie.delay=new ra({delayTime:"8n",wet:.3,feedback:.3,maxDelay:"8n"}).toDestination(),Ie.poly.connect(Ie.reverb),Ie.poly.connect(Ie.delay),Ie.poly.connect(Ie.pan),Ie.pan.start(),Me.initiated=!0)}function Ux(n="A4",e="8n",t){if(!Ie.poly||Me.mute)return ai();Ie.poly.triggerAttackRelease(n,e),Ie.poly.releaseAll(Me.quantize)}function Fh(n,e){if(!Ie.poly||Me.mute)return ai();Ie.poly.triggerAttack($p(n).transpose(Me.transpose),Me.quantize,e)}function Vh(n){if(!Ie.poly||Me.mute)return ai();Ie.poly.triggerRelease($p(n).transpose(Me.transpose),Me.quantize)}function vc(){if(!Ie.poly||Me.mute)return ai();Ie.poly.releaseAll(Me.quantize)}const jx={key:0,class:"text-center absolute z-500 p-4 rounded-xl shadow-xl bg-light-200 mx-auto dark_bg-dark-200 min-w-80",style:{left:"50%",top:"50%",transform:"translate(-50%, -50%)"}},Wx=V("h2",{class:"text-center text-2xl my-4"},"Let's play music with touch ",-1),Hx={key:0,class:"p-4 flex flex-col gap-2"},zx={class:"button p-4 flex items-center",href:"https://chrome.google.com",target:"_blank"},Gx=V("div",{class:"ml-2"},"Google Chrome for Desktop or Android",-1),Kx={class:"button p-4 flex items-center",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},Yx=V("div",{class:"ml-2"},"Web MIDI Browser for iOS",-1),Zx={class:"button p-4 flex items-center",href:"https://caniuse.com/?search=midi",target:"_blank"},Xx=V("div",{class:"ml-2"},"Other options",-1),Qx=V("div",{class:"mt-4"},"Or play notes with your PC keyboard ",-1),Jx=V("img",{src:f1},null,-1),eT={key:1,class:"px-4"},tT=["disabled","id","onUpdate:modelValue"],nT=["for"],sT={__name:"start",setup(n){const e=Oe(!1),t=Lt({browser:{text:"MIDI enabled browser",checked:de(()=>P==null?void 0:P.enabled),disabled:!0},controller:{text:"TouchMe (or any other MIDI controller)",checked:Et("touch-me",!1)},usb:{text:"USB cable (you have it in your package)",checked:Et("usb-cable",!1)},adapter:{text:"Special adapter, if your device doesn’t have a usb port ",checked:Et("usb-adapter",!1)},friend:{text:"Your best friend ",checked:Et("your-friend",!1)}});return(s,i)=>{const r=d1,o=a1,a=n1;return w(Me).initiated?ut("",!0):(K(),ee("div",jx,[Wx,w(P).enabled?(K(),ee("div",eT,[(K(!0),ee(Re,null,yt(w(t),(c,l)=>(K(),ee("div",{class:"flex items-center my-4",key:l},[At(V("input",{class:"transform scale-200",type:"checkbox",disabled:c.disabled,id:l,"onUpdate:modelValue":u=>c.checked=u},null,8,tT),[[r0,c.checked]]),V("label",{class:"ml-4",for:l},Ke(c.text),9,nT)]))),128))])):(K(),ee("div",Hx,[vr("This interactive experience needs Web MIDI API support. Unfortunately, your current browser doesn't provide it. Is it Firefox or Safari? Please, use another one here."),V("a",zx,[xe(r,{class:"text-2xl"}),Gx]),V("a",Kx,[xe(o,{class:"text-2xl"}),Yx]),V("a",Zx,[xe(a,{class:"text-2xl"}),Xx]),Qx,Jx])),V("button",{class:"button mx-auto w-full font-bold",onClick:i[0]||(i[0]=c=>{w(ai)(),e.value=!0})},"Start")]))}}},iT={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},rT=V("path",{fill:"currentColor",d:"M16 3C8.832 3 3 8.832 3 16s5.832 13 13 13s13-5.832 13-13S23.168 3 16 3m0 2c6.086 0 11 4.914 11 11s-4.914 11-11 11S5 22.086 5 16S9.914 5 16 5m-3.781 5.781L10.78 12.22L14.562 16l-3.78 3.781l1.437 1.438L16 17.437l3.781 3.782l1.438-1.438L17.437 16l3.782-3.781l-1.438-1.438L16 14.562z"},null,-1),oT=[rT];function aT(n,e){return K(),ee("svg",iT,[...oT])}const cT={name:"la-times-circle",render:aT},lT={class:"-mt-3 mb-1 font-bold"},uT=V("div",{class:"absolute bottom-1 text-xs"},"BPM",-1),hT={__name:"bpm",setup(n){const e=[60,80,100,120];function t(){let s=e.findIndex(i=>i==Me.bpm);Me.bpm=e[++s%e.length]}return(s,i)=>(K(),ee("button",{class:"button relative",onClick:i[0]||(i[0]=r=>t())},[V("div",lT,Ke(w(Me).bpm),1),uT]))}},dT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},fT=V("g",{fill:"currentColor"},[V("path",{d:"M128 64v64H24Zm104 64H128v64Z",opacity:".2"}),V("path",{d:"m236.19 134.81l-104 64A8 8 0 0 1 120 192V78.32l-91.81 56.49a8 8 0 0 1-8.38-13.62l104-64A8 8 0 0 1 136 64v113.68l91.81-56.49a8 8 0 0 1 8.38 13.62"})],-1),pT=[fT];function mT(n,e){return K(),ee("svg",dT,[...pT])}const gT={name:"ph-wave-sawtooth-duotone",render:mT},_T={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},yT=V("g",{fill:"currentColor"},[V("path",{d:"M128 72v56H24V72Zm0 56v56h104v-56Z",opacity:".2"}),V("path",{d:"M240 128v56a8 8 0 0 1-8 8H128a8 8 0 0 1-8-8V80H32v48a8 8 0 0 1-16 0V72a8 8 0 0 1 8-8h104a8 8 0 0 1 8 8v104h88v-48a8 8 0 0 1 16 0"})],-1),vT=[yT];function wT(n,e){return K(),ee("svg",_T,[...vT])}const bT={name:"ph-wave-square-duotone",render:wT},xT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},TT=V("g",{fill:"currentColor"},[V("path",{d:"m76 56l52 72H24Zm156 72H128l52 72Z",opacity:".2"}),V("path",{d:"m238.48 132.68l-52 72a8 8 0 0 1-13 0L76 69.66l-45.51 63a8 8 0 1 1-13-9.36l52-72a8 8 0 0 1 13 0l97.51 135l45.51-63a8 8 0 1 1 13 9.36Z"})],-1),ST=[TT];function ET(n,e){return K(),ee("svg",xT,[...ST])}const CT={name:"ph-wave-triangle-duotone",render:ET},AT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},NT=V("g",{fill:"currentColor"},[V("path",{d:"M232 128c-52 110.85-78 55.43-104 0Zm-208 0h104c-26-55.43-52-110.85-104 0",opacity:".2"}),V("path",{d:"M239.24 131.4c-22 46.8-41.4 68.6-61.2 68.6c-25.1 0-40.73-33.32-57.28-68.6C107.7 103.56 92.9 72 78 72c-16.4 0-36.31 37.21-46.72 59.4a8 8 0 0 1-14.48-6.8C38.71 77.8 58.16 56 78 56c25.1 0 40.73 33.32 57.28 68.6C148.3 152.44 163.1 184 178 184c16.4 0 36.31-37.21 46.72-59.4a8 8 0 0 1 14.48 6.8Z"})],-1),MT=[NT];function kT(n,e){return K(),ee("svg",AT,[...MT])}const OT={name:"ph-wave-sine-duotone",render:kT},IT={__name:"oscillator",setup(n){const e={sine:"SIN",triangle:"TRI",square8:"SQR",sawtooth8:"SAW"};function t(){let a=Object.keys(e),c=a.findIndex(l=>l==i.params.oscillator.type);i.params.oscillator.type=a[++c%a.length]}const s=de(()=>i.params.oscillator.type),{synthOptions:i,synthOnce:r,init:o}=Yp();return(a,c)=>{const l=OT,u=CT,h=bT,d=gT;return K(),ee("div",{class:"button flex-auto flex justify-center m-1 cursor-pointer",onClick:c[0]||(c[0]=f=>{var p,m;t(),w(r)((m=(p=w(P))==null?void 0:p.note)==null?void 0:m.identifier),!w(i).initiated&&w(o)()})},[s.value=="sine"?(K(),et(l,{key:0})):ut("",!0),s.value=="triangle"?(K(),et(u,{key:1})):ut("",!0),s.value=="square8"?(K(),et(h,{key:2})):ut("",!0),s.value=="sawtooth8"?(K(),et(d,{key:3})):ut("",!0)])}}},RT=["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"];function rt(n=0,e,t=1,s=1){return e=e||Math.floor(n/12)+4,`hsla(${n%12*30},${t*100}%,${Math.abs(e+2)*8}%,${s})`}function DT(n=0,e=12,t=35,s=100,i=100){let r=(n-e/4)/(e/2)*Math.PI,o=t*Math.cos(r)+s/2,a=t*Math.sin(r)+i/2;return{x:o,y:a}}const ws={},Ka=(n,e)=>{const t=n.__vccOpts||n;for(const[s,i]of e)t[s]=i;return t},PT={class:"flex flex-col gap-1 mb-4 overflow-x-scroll font-mono pt-4"},$T={class:"txt whitespace-nowrap"},FT={class:"txt"},VT={class:"txt"},LT={class:"txt text-center"},BT={class:"txt text-right"},Zp={__name:"log",setup(n){Oe(!1);const{midi:e,midiAttack:t,midiRelease:s,setCC:i}=oi();return(r,o)=>(K(),ee("div",PT,[xe(e0,{name:"fall",mode:"out-in"},{default:tn(()=>[(K(!0),ee(Re,null,yt(w(e).log,a=>{var c,l;return K(),ee("div",{class:"flex text-xs fall whitespace-nowrap justify-between",key:a},[V("div",{class:"p-2",style:Be({backgroundColor:w(rt)(a.message.dataBytes[0]+3||0)})},null,4),V("div",$T,Ke(w(X).toNoteIdentifier(a.message.dataBytes[0]||1)),1),V("div",FT,Ke((c=a.message)==null?void 0:c.type),1),V("div",VT,Ke((a.message.dataBytes[1]/127).toFixed(2)),1),V("div",LT,Ke(a.data.join(",")),1),V("div",BT,"CH"+Ke((l=a.message)==null?void 0:l.channel),1)])}),128))]),_:1})]))}};typeof ws=="function"&&ws(Zp);const qT=Ka(Zp,[["__scopeId","data-v-5ef71097"]]),UT=n=>(Ta("data-v-b0381278"),n=n(),Sa(),n),jT={class:"p-4 shadow-lg rounded-2xl bg-light-900 dark_bg-dark-300 relative border-2 shadow-lg",style:{flex:"1 1 200px"}},WT={class:"flex justify-between flex-wrap gap-1"},HT={class:"flex-col"},zT={class:"text-sm"},GT={class:"text-xl font-bold"},KT={class:"flex-col text-xs font-mono flex gap-2 text-center"},YT={key:1,class:"display"},ZT={class:"flex flex-wrap gap-3 mt-4 items-center"},XT=UT(()=>V("div",{class:"text-xs"},"TO",-1)),QT=["onClick"],JT={class:"text-sm"},eS={__name:"input",props:{input:Object,iid:[Number,String]},setup(n){const e=n,{midi:t}=oi(),s=de(()=>{var i,r,o;return((r=(i=e.input)==null?void 0:i.note)==null?void 0:r.velocity)>0?rt((o=e.input.note)==null?void 0:o.pitch,null,1,.4):"#7773"});return(i,r)=>{var o,a,c,l,u,h,d,f,p,m,_,g,v,T,x,y;return K(),ee("div",jT,[V("div",WT,[V("div",HT,[V("div",zT,Ke(n.input.manufacturer),1),V("div",GT,Ke(n.input.name),1)]),V("div",KT,[n.input.note?(K(),ee("div",{key:0,class:"display",style:Be({backgroundColor:w(s)})},[V("div",{class:"indicator",style:Be({transform:`scale(${(a=(o=n.input)==null?void 0:o.note)==null?void 0:a.attack},1)`})},null,4),V("i",null,"CH"+Ke((l=(c=n.input)==null?void 0:c.note)==null?void 0:l.channel),1),V("div",{class:"px-1 rounded-sm",style:Be({backgroundColor:w(s)})},Ke((h=(u=n.input)==null?void 0:u.note)==null?void 0:h.identifier),5),V("i",null,Ke((f=(d=n.input)==null?void 0:d.note)==null?void 0:f.number),1)],4)):ut("",!0),n.input.cc?(K(),ee("div",YT,[V("div",{class:"indicator",style:Be({transform:`scale(${(m=(p=n.input)==null?void 0:p.cc)==null?void 0:m.value},1)`})},null,4),V("i",null,"CH"+Ke((g=(_=n.input)==null?void 0:_.cc)==null?void 0:g.channel),1),V("i",null,"CC"+Ke((T=(v=n.input)==null?void 0:v.cc)==null?void 0:T.number),1),V("i",null,Ke((y=(x=n.input)==null?void 0:x.cc)==null?void 0:y.raw),1)])):ut("",!0)])]),V("div",ZT,[XT,(K(!0),ee(Re,null,yt(w(t).outputs,(A,N)=>{var E,I;return At((K(),ee("button",{class:bs(["px-2 shadow-sm rounded-xl bg-light-200 dark_bg-dark-500 cursor-pointer border-2 border-transparent select-none",{active:(I=(E=w(t).forwards)==null?void 0:E[n.iid])==null?void 0:I[N]}]),onClick:k=>w(qx)(n.iid,N),key:N},[V("div",JT,Ke(A.name),1)],10,QT)),[[Do,n.input.name!=A.name]])}),128))])])}}},tS=Ka(eS,[["__scopeId","data-v-b0381278"]]),cu=n=>(Ta("data-v-27bfda27"),n=n(),Sa(),n),nS={class:"z-40 flex flex-col gap-2"},sS={key:0,class:"p-2 border border-red-500 text-red-500"},iS=cu(()=>V("a",{class:"font-normal underline",href:"https://caniuse.com/?search=midi",target:"_blank"},"compatible browser ",-1)),rS=cu(()=>V("span",null,"or ",-1)),oS=cu(()=>V("a",{class:"font-normal underline",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},"Web MIDI Browser on iOS",-1)),aS={key:1,class:"flex flex-wrap gap-4 justify-center"},cS={__name:"panel",props:{toChannel:{type:Boolean,default:!0}},setup(n){return ou(" ",e=>{e.preventDefault(),P.playing=!P.playing}),(e,t)=>{var r;const s=tS,i=qT;return K(),ee("div",nS,[(r=w(P))!=null&&r.enabled?(K(),ee("div",aS,[(K(!0),ee(Re,null,yt(w(P).inputs,(o,a)=>(K(),et(s,{input:o,iid:a,key:a},null,8,["input","iid"]))),128))])):(K(),ee("div",sS,[vr("MIDI is not available. Use a "),iS,rS,oS])),xe(i,{class:"max-h-40vh mt-6"})])}}},lS=Ka(cS,[["__scopeId","data-v-27bfda27"]]),uS={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},hS=V("path",{fill:"currentColor",d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781l1.44 1.439L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z"},null,-1),dS=[hS];function fS(n,e){return K(),ee("svg",uS,[...dS])}const pS={name:"la-times",render:fS},mS={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},gS=V("path",{d:"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2zm8.182 10c0-3.82-2.635-7.039-6.182-7.934V6h-4V4.066C6.453 4.96 3.818 8.18 3.818 12c0 4.51 3.673 8.182 8.182 8.182c4.51 0 8.182-3.673 8.182-8.182zM7 10.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm10 0a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm-8.636 3.637a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zm7.272 0a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zM12 15.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728z",fill:"currentColor"},null,-1),_S=[gS];function yS(n,e){return K(),ee("svg",mS,[..._S])}const vS={name:"mdi-midi-input",render:yS},wS={class:"p-0"},bS={__name:"state",setup(n){const e=Et("global-midi-panel",!1),t=Oe(null);vx(t,()=>{e.value=!1});const{midi:s}=oi();return(i,r)=>{var l,u;const o=vS,a=pS,c=lS;return K(),ee("div",wS,[V("button",{class:"button text-2xl",onClick:r[0]||(r[0]=l0(h=>e.value=!w(e),["stop"])),"aria-label":"Toggle MIDI panel"},[xe(o,{class:"transition-all duration-200",style:Be({opacity:w(s).enabled?1:.2,color:w(rt)(w(s).enabled?(l=w(s).note)==null?void 0:l.pitch:0,(u=w(s).note)==null?void 0:u.octA)})},null,8,["style"])]),xe(Ra,{name:"fade"},{default:tn(()=>[w(e)?(K(),ee("div",{key:0,class:"panel",ref_key:"target",ref:t},[V("div",{class:"button cursor-pointer p-1 absolute top-4 right-4 z-100",onClick:r[1]||(r[1]=h=>e.value=!1)},[xe(a)]),xe(c)],512)):ut("",!0)]),_:1})])}}},xS={style:{"vertical-align":"middle"},viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},TS=x_('',9),SS=[TS];function ES(n,e){return K(),ee("svg",xS,[...SS])}const CS={name:"ion-ios-sunny",render:ES},AS={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},NS=V("path",{fill:"currentColor",d:"M13.503 5.414a15.076 15.076 0 0 0 11.593 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3"},null,-1),MS=[NS];function kS(n,e){return K(),ee("svg",AS,[...MS])}const OS={name:"carbon-moon",render:kS},go=Mx();Lt({initiated:!1,mute:Et("mute",!1),volume:Yc(Et("main-vol",1),0,1)});const IS={__name:"dark",setup(n){return(e,t)=>{const s=OS,i=CS;return K(),ee("button",{class:"button",onClick:t[0]||(t[0]=r=>go.value=!w(go)),"aria-label":"Toggle dark mode"},[At(xe(s,null,null,512),[[Do,w(go)]]),At(xe(i,null,null,512),[[Do,!w(go)]])])}}},RS={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},DS=V("path",{fill:"currentColor",d:"M4 4v9h2V6h7V4zm15 0v2h7v7h2V4zM4 19v9h9v-2H6v-7zm22 0v7h-7v2h9v-9z"},null,-1),PS=[DS];function $S(n,e){return K(),ee("svg",RS,[...PS])}const FS={name:"la-expand",render:$S},VS={__name:"fullscreen",props:["el"],setup(n){const e=n,t=Oe();xs(()=>{Hi(()=>{e.el?t.value=e.el:t.value=document.getElementById("screen"),s.value=Dh(t.value)})});const s=Oe();function i(){s.value||(s.value=Dh(t.value)),s.value.toggle()}const r=de(()=>{var o;return(o=s.value)==null?void 0:o.isSupported});return(o,a)=>{const c=FS;return At((K(),ee("button",{class:"button",onClick:a[0]||(a[0]=l=>i())},[xe(c)],512)),[[Do,w(r)]])}}},LS=n=>(Ta("data-v-9f417c45"),n=n(),Sa(),n),BS={class:"flex gap-4 absolute flex-col right-2 bottom-2 top-20 text-xl items-center opacity-40 hover_opacity-100 transition justify-between items-center"},qS={class:"flex-0 flex flex-col gap-1"},US=LS(()=>V("div",{class:"flex-auto"},null,-1)),jS={class:"flex-0 flex flex-col items-center gap-2"},WS={__name:"overlay",setup(n){const e=[-2,-1,0,1,2],t=["+0","@4n","@8n","@16n","@32n"],{synthReleaseAll:s}=Yp();function i(){let o=e.findIndex(a=>a==Me.octave);Me.octave=e[++o%e.length]}function r(){let o=t.findIndex(a=>a==Me.quantize);Me.quantize=t[++o%t.length]}return(o,a)=>{const c=VS,l=IS,u=bS,h=IT,d=hT,f=cT,p=Jd("tooltip");return K(),ee("div",BS,[V("div",qS,[At(xe(c,null,null,512),[[p,"Toggle fullscreen mode",void 0,{left:!0}]]),At(xe(l,null,null,512),[[p,"Toggle dark mode",void 0,{left:!0}]]),At(xe(u,null,null,512),[[p,"MIDI state",void 0,{left:!0}]])]),US,V("div",jS,[At(xe(h,null,null,512),[[p,"Synth oscillator type",void 0,{left:!0}]]),At((K(),ee("button",{class:"button w-16 font-bold select-none",onClick:a[0]||(a[0]=m=>i()),"aria-label":"Octave offset"},[vr(Ke(w(Me).octave>0?"+":"")+Ke(w(Me).octave),1)])),[[p,"Octave offset",void 0,{left:!0}]]),At((K(),ee("button",{class:"button font-bold text-sm w-16 select-none",onClick:r,"aria-label":"Synth quantize"},[vr(Ke(w(Me).quantize),1)])),[[p,"Synth quantize",void 0,{left:!0}]]),At(xe(d,null,null,512),[[p,"Increment tempo",void 0,{left:!0}]]),At((K(),ee("button",{class:"button w-16",onClick:a[1]||(a[1]=m=>w(s)("+1n"))},[xe(f)])),[[p,"Turn off all synth voices",void 0,{left:!0}]])])])}}},HS=Ka(WS,[["__scopeId","data-v-9f417c45"]]),zS=.5*(Math.sqrt(3)-1),tr=(3-Math.sqrt(3))/6,Lh=n=>Math.floor(n)|0,Bh=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]);function Xp(n=Math.random){const e=GS(n),t=new Float64Array(e).map(i=>Bh[i%12*2]),s=new Float64Array(e).map(i=>Bh[i%12*2+1]);return function(r,o){let a=0,c=0,l=0;const u=(r+o)*zS,h=Lh(r+u),d=Lh(o+u),f=(h+d)*tr,p=h-f,m=d-f,_=r-p,g=o-m;let v,T;_>g?(v=1,T=0):(v=0,T=1);const x=_-v+tr,y=g-T+tr,A=_-1+2*tr,N=g-1+2*tr,E=h&255,I=d&255;let k=.5-_*_-g*g;if(k>=0){const F=E+e[I],H=t[F],se=s[F];k*=k,a=k*k*(H*_+se*g)}let D=.5-x*x-y*y;if(D>=0){const F=E+v+e[I+T],H=t[F],se=s[F];D*=D,c=D*D*(H*x+se*y)}let M=.5-A*A-N*N;if(M>=0){const F=E+1+e[I+1],H=t[F],se=s[F];M*=M,l=M*M*(H*A+se*N)}return 70*(a+c+l)}}function GS(n){const t=new Uint8Array(512);for(let s=0;s<512/2;s++)t[s]=s;for(let s=0;s<512/2-1;s++){const i=s+~~(n()*(256-s)),r=t[s];t[s]=t[i],t[i]=r}for(let s=256;s<512;s++)t[s]=t[s-256];return t}var _e=function(n,e,t){if(!e.has(n))throw new TypeError("attempted to set private field on non-instance");return e.set(n,t),t},ie=function(n,e){if(!e.has(n))throw new TypeError("attempted to get private field on non-instance");return e.get(n)},is,Os,Zt,pi,rr,dn,fn,pn,mn,gn,_n,yn,vn,Is,mi,rs,Eo,os;const KS=function(n){var e=131,t=137,s=0;n+="x";var i=Math.floor(9007199254740991/t);for(let r=0;ri&&(s=Math.floor(s/t)),s=s*e+n.charCodeAt(r);return s},re="0123456789abcdef".split(""),YS=[-2147483648,8388608,32768,128],Yt=[24,16,8,0],_o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],lt=[];class ZS{constructor(e=!1,t=!1){is.set(this,void 0),Os.set(this,void 0),Zt.set(this,void 0),pi.set(this,void 0),rr.set(this,void 0),dn.set(this,void 0),fn.set(this,void 0),pn.set(this,void 0),mn.set(this,void 0),gn.set(this,void 0),_n.set(this,void 0),yn.set(this,void 0),vn.set(this,void 0),Is.set(this,void 0),mi.set(this,void 0),rs.set(this,void 0),Eo.set(this,0),os.set(this,void 0),this.init(e,t)}init(e,t){t?(lt[0]=lt[16]=lt[1]=lt[2]=lt[3]=lt[4]=lt[5]=lt[6]=lt[7]=lt[8]=lt[9]=lt[10]=lt[11]=lt[12]=lt[13]=lt[14]=lt[15]=0,_e(this,Os,lt)):_e(this,Os,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e?(_e(this,dn,3238371032),_e(this,fn,914150663),_e(this,pn,812702999),_e(this,mn,4144912697),_e(this,gn,4290775857),_e(this,_n,1750603025),_e(this,yn,1694076839),_e(this,vn,3204075428)):(_e(this,dn,1779033703),_e(this,fn,3144134277),_e(this,pn,1013904242),_e(this,mn,2773480762),_e(this,gn,1359893119),_e(this,_n,2600822924),_e(this,yn,528734635),_e(this,vn,1541459225)),_e(this,is,_e(this,os,_e(this,Zt,_e(this,mi,0)))),_e(this,pi,_e(this,Is,!1)),_e(this,rr,!0),_e(this,rs,e)}update(e){if(ie(this,pi))return this;let t;e instanceof ArrayBuffer?t=new Uint8Array(e):t=e;let s=0;const i=t.length,r=ie(this,Os);for(;s>2]|=t[s]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|a&63)<=57344?(r[o>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<=64?(_e(this,is,r[16]),_e(this,os,o-64),this.hash(),_e(this,Is,!0)):_e(this,os,o)}return ie(this,Zt)>4294967295&&(_e(this,mi,ie(this,mi)+(ie(this,Zt)/4294967296<<0)),_e(this,Zt,ie(this,Zt)%4294967296)),this}finalize(){if(ie(this,pi))return;_e(this,pi,!0);const e=ie(this,Os),t=ie(this,Eo);e[16]=ie(this,is),e[t>>2]|=YS[t&3],_e(this,is,e[16]),t>=56&&(ie(this,Is)||this.hash(),e[0]=ie(this,is),e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=ie(this,mi)<<3|ie(this,Zt)>>>29,e[15]=ie(this,Zt)<<3,this.hash()}hash(){let e=ie(this,dn),t=ie(this,fn),s=ie(this,pn),i=ie(this,mn),r=ie(this,gn),o=ie(this,_n),a=ie(this,yn),c=ie(this,vn);const l=ie(this,Os);let u,h,d,f,p,m,_,g,v,T;for(let x=16;x<64;++x)f=l[x-15],u=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,f=l[x-2],h=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,l[x]=l[x-16]+u+l[x-7]+h<<0;T=t&s;for(let x=0;x<64;x+=4)ie(this,rr)?(ie(this,rs)?(_=300032,f=l[0]-1413257819,c=f-150054599<<0,i=f+24177077<<0):(_=704751109,f=l[0]-210244248,c=f-1521486534<<0,i=f+143694565<<0),_e(this,rr,!1)):(u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),h=(r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7),_=e&t,d=_^e&s^T,m=r&o^~r&a,f=c+h+m+_o[x]+l[x],p=u+d,c=i+f<<0,i=f+p<<0),u=(i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10),h=(c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7),g=i&e,d=g^i&t^_,m=c&r^~c&o,f=a+h+m+_o[x+1]+l[x+1],p=u+d,a=s+f<<0,s=f+p<<0,u=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),h=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),v=s&i,d=v^s&e^g,m=a&c^~a&r,f=o+h+m+_o[x+2]+l[x+2],p=u+d,o=t+f<<0,t=f+p<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),h=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),T=t&s,d=T^t&i^v,m=o&a^~o&c,f=r+h+m+_o[x+3]+l[x+3],p=u+d,r=e+f<<0,e=f+p<<0;_e(this,dn,ie(this,dn)+e<<0),_e(this,fn,ie(this,fn)+t<<0),_e(this,pn,ie(this,pn)+s<<0),_e(this,mn,ie(this,mn)+i<<0),_e(this,gn,ie(this,gn)+r<<0),_e(this,_n,ie(this,_n)+o<<0),_e(this,yn,ie(this,yn)+a<<0),_e(this,vn,ie(this,vn)+c<<0)}hex(){this.finalize();const e=ie(this,dn),t=ie(this,fn),s=ie(this,pn),i=ie(this,mn),r=ie(this,gn),o=ie(this,_n),a=ie(this,yn),c=ie(this,vn);let l=re[e>>28&15]+re[e>>24&15]+re[e>>20&15]+re[e>>16&15]+re[e>>12&15]+re[e>>8&15]+re[e>>4&15]+re[e&15]+re[t>>28&15]+re[t>>24&15]+re[t>>20&15]+re[t>>16&15]+re[t>>12&15]+re[t>>8&15]+re[t>>4&15]+re[t&15]+re[s>>28&15]+re[s>>24&15]+re[s>>20&15]+re[s>>16&15]+re[s>>12&15]+re[s>>8&15]+re[s>>4&15]+re[s&15]+re[i>>28&15]+re[i>>24&15]+re[i>>20&15]+re[i>>16&15]+re[i>>12&15]+re[i>>8&15]+re[i>>4&15]+re[i&15]+re[r>>28&15]+re[r>>24&15]+re[r>>20&15]+re[r>>16&15]+re[r>>12&15]+re[r>>8&15]+re[r>>4&15]+re[r&15]+re[o>>28&15]+re[o>>24&15]+re[o>>20&15]+re[o>>16&15]+re[o>>12&15]+re[o>>8&15]+re[o>>4&15]+re[o&15]+re[a>>28&15]+re[a>>24&15]+re[a>>20&15]+re[a>>16&15]+re[a>>12&15]+re[a>>8&15]+re[a>>4&15]+re[a&15];return ie(this,rs)||(l+=re[c>>28&15]+re[c>>24&15]+re[c>>20&15]+re[c>>16&15]+re[c>>12&15]+re[c>>8&15]+re[c>>4&15]+re[c&15]),l}toString(){return this.hex()}digest(){this.finalize();const e=ie(this,dn),t=ie(this,fn),s=ie(this,pn),i=ie(this,mn),r=ie(this,gn),o=ie(this,_n),a=ie(this,yn),c=ie(this,vn),l=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,s>>24&255,s>>16&255,s>>8&255,s&255,i>>24&255,i>>16&255,i>>8&255,i&255,r>>24&255,r>>16&255,r>>8&255,r&255,o>>24&255,o>>16&255,o>>8&255,o&255,a>>24&255,a>>16&255,a>>8&255,a&255];return ie(this,rs)||l.push(c>>24&255,c>>16&255,c>>8&255,c&255),l}array(){return this.digest()}arrayBuffer(){this.finalize();const e=new ArrayBuffer(ie(this,rs)?28:32),t=new DataView(e);return t.setUint32(0,ie(this,dn)),t.setUint32(4,ie(this,fn)),t.setUint32(8,ie(this,pn)),t.setUint32(12,ie(this,mn)),t.setUint32(16,ie(this,gn)),t.setUint32(20,ie(this,_n)),t.setUint32(24,ie(this,yn)),ie(this,rs)||t.setUint32(28,ie(this,vn)),e}}is=new WeakMap,Os=new WeakMap,Zt=new WeakMap,pi=new WeakMap,rr=new WeakMap,dn=new WeakMap,fn=new WeakMap,pn=new WeakMap,mn=new WeakMap,gn=new WeakMap,_n=new WeakMap,yn=new WeakMap,vn=new WeakMap,Is=new WeakMap,mi=new WeakMap,rs=new WeakMap,Eo=new WeakMap,os=new WeakMap;function XS(n){const e=new ZS;return e.update(n),parseInt(e.hex().substring(0,8),16)}const QS=function(n){var e="#";return n.forEach(function(t){t<16&&(e+=0),e+=t.toString(16)}),e},JS=function(n,e,t){n/=360;var s=t<.5?t*(1+e):t+e-t*e,i=2*t-s;return[n+1/3,n,n-1/3].map(function(r){return r<0&&r++,r>1&&r--,r<1/6?r=i+(s-i)*6*r:r<.5?r=s:r<2/3?r=i+(s-i)*6*(2/3-r):r=i,Math.round(r*255)})};class eE{constructor(e={}){const[t,s]=[e.lightness,e.saturation].map(function(i){return i=i!==void 0?i:[.35,.5,.65],Array.isArray(i)?i.concat():[i]});this.L=t,this.S=s,typeof e.hue=="number"&&(e.hue={min:e.hue,max:e.hue}),typeof e.hue=="object"&&!Array.isArray(e.hue)&&(e.hue=[e.hue]),typeof e.hue>"u"&&(e.hue=[]),this.hueRanges=e.hue.map(function(i){return{min:typeof i.min>"u"?0:i.min,max:typeof i.max>"u"?360:i.max}}),this.hash=XS,typeof e.hash=="function"&&(this.hash=e.hash),e.hash==="bkdr"&&(this.hash=KS)}hsl(e){var t,s,i,r=this.hash(e),o=727;if(this.hueRanges.length){const a=this.hueRanges[r%this.hueRanges.length];t=r/this.hueRanges.length%o*(a.max-a.min)/o+a.min}else t=r%359;return r=Math.ceil(r/360),s=this.S[r%this.S.length],r=Math.ceil(r/this.S.length),i=this.L[r%this.L.length],[t,s,i]}rgb(e){var t=this.hsl(e);return JS.apply(this,t)}hex(e){var t=this.rgb(e);return QS(t)}}const tE="modulepreload",nE=function(n){return"/"+n},qh={},ci=function(e,t,s){let i=Promise.resolve();if(t&&t.length>0){const r=document.getElementsByTagName("link");i=Promise.all(t.map(o=>{if(o=nE(o),o in qh)return;qh[o]=!0;const a=o.endsWith(".css"),c=a?'[rel="stylesheet"]':"";if(!!s)for(let h=r.length-1;h>=0;h--){const d=r[h];if(d.href===o&&(!a||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${c}`))return;const u=document.createElement("link");if(u.rel=a?"stylesheet":tE,a||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),a)return new Promise((h,d)=>{u.addEventListener("load",h),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})}))}return i.then(()=>e()).catch(r=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=r,window.dispatchEvent(o),!o.defaultPrevented)throw r})},sE=()=>ci(()=>Promise.resolve().then(()=>GA),void 0),iE=()=>ci(()=>Promise.resolve().then(()=>eN),void 0),rE=()=>ci(()=>Promise.resolve().then(()=>oN),void 0),oE=()=>ci(()=>Promise.resolve().then(()=>gN),void 0),aE=()=>ci(()=>Promise.resolve().then(()=>CN),void 0),cE=()=>ci(()=>Promise.resolve().then(()=>RN),void 0),lE=()=>ci(()=>Promise.resolve().then(()=>BN),void 0),Zc=[{name:"stats",path:"/stats",component:sE,props:!0},{name:"spiral",path:"/spiral",component:iE,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"rose",path:"/rose",component:rE,props:!0},{name:"level",path:"/level",component:oE,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"index",path:"/",component:aE,props:!0,title:"Floating",subtitle:"by Chromatone"},{name:"donut",path:"/donut",component:cE,props:!0},{name:"cross",path:"/cross",component:lE,props:!0}],Uh=Oe(),uE=Et("active-scene","Rose");function Es(){const{width:n,height:e}=Ox(Uh);return{visual:Uh,width:n,height:e,activeScene:uE}}/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const gi=typeof window<"u";function hE(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const $e=Object.assign;function wc(n,e){const t={};for(const s in e){const i=e[s];t[s]=an(i)?i.map(n):n(i)}return t}const ur=()=>{},an=Array.isArray,dE=/\/$/,fE=n=>n.replace(dE,"");function bc(n,e,t="/"){let s,i={},r="",o="";const a=e.indexOf("#");let c=e.indexOf("?");return a=0&&(c=-1),c>-1&&(s=e.slice(0,c),r=e.slice(c+1,a>-1?a:e.length),i=n(r)),a>-1&&(s=s||e.slice(0,a),o=e.slice(a,e.length)),s=_E(s??e,t),{fullPath:s+(r&&"?")+r+o,path:s,query:i,hash:o}}function pE(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function jh(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function mE(n,e,t){const s=e.matched.length-1,i=t.matched.length-1;return s>-1&&s===i&&Li(e.matched[s],t.matched[i])&&Qp(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function Li(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function Qp(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const t in n)if(!gE(n[t],e[t]))return!1;return!0}function gE(n,e){return an(n)?Wh(n,e):an(e)?Wh(e,n):n===e}function Wh(n,e){return an(e)?n.length===e.length&&n.every((t,s)=>t===e[s]):n.length===1&&n[0]===e}function _E(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),s=n.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let r=t.length-1,o,a;for(o=0;o1&&r--;else break;return t.slice(0,r).join("/")+"/"+s.slice(o-(o===s.length?1:0)).join("/")}var Br;(function(n){n.pop="pop",n.push="push"})(Br||(Br={}));var hr;(function(n){n.back="back",n.forward="forward",n.unknown=""})(hr||(hr={}));function yE(n){if(!n)if(gi){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),fE(n)}const vE=/^[^#]+#/;function wE(n,e){return n.replace(vE,"#")+e}function bE(n,e){const t=document.documentElement.getBoundingClientRect(),s=n.getBoundingClientRect();return{behavior:e.behavior,left:s.left-t.left-(e.left||0),top:s.top-t.top-(e.top||0)}}const Ya=()=>({left:window.pageXOffset,top:window.pageYOffset});function xE(n){let e;if("el"in n){const t=n.el,s=typeof t=="string"&&t.startsWith("#"),i=typeof t=="string"?s?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!i)return;e=bE(i,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function Hh(n,e){return(history.state?history.state.position-e:-1)+n}const Xc=new Map;function TE(n,e){Xc.set(n,e)}function SE(n){const e=Xc.get(n);return Xc.delete(n),e}let EE=()=>location.protocol+"//"+location.host;function Jp(n,e){const{pathname:t,search:s,hash:i}=e,r=n.indexOf("#");if(r>-1){let a=i.includes(n.slice(r))?n.slice(r).length:1,c=i.slice(a);return c[0]!=="/"&&(c="/"+c),jh(c,"")}return jh(t,n)+s+i}function CE(n,e,t,s){let i=[],r=[],o=null;const a=({state:d})=>{const f=Jp(n,location),p=t.value,m=e.value;let _=0;if(d){if(t.value=f,e.value=d,o&&o===p){o=null;return}_=m?d.position-m.position:0}else s(f);i.forEach(g=>{g(t.value,p,{delta:_,type:Br.pop,direction:_?_>0?hr.forward:hr.back:hr.unknown})})};function c(){o=t.value}function l(d){i.push(d);const f=()=>{const p=i.indexOf(d);p>-1&&i.splice(p,1)};return r.push(f),f}function u(){const{history:d}=window;d.state&&d.replaceState($e({},d.state,{scroll:Ya()}),"")}function h(){for(const d of r)d();r=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:h}}function zh(n,e,t,s=!1,i=!1){return{back:n,current:e,forward:t,replaced:s,position:window.history.length,scroll:i?Ya():null}}function AE(n){const{history:e,location:t}=window,s={value:Jp(n,t)},i={value:e.state};i.value||r(s.value,{back:null,current:s.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function r(c,l,u){const h=n.indexOf("#"),d=h>-1?(t.host&&document.querySelector("base")?n:n.slice(h))+c:EE()+n+c;try{e[u?"replaceState":"pushState"](l,"",d),i.value=l}catch(f){console.error(f),t[u?"replace":"assign"](d)}}function o(c,l){const u=$e({},e.state,zh(i.value.back,c,i.value.forward,!0),l,{position:i.value.position});r(c,u,!0),s.value=c}function a(c,l){const u=$e({},i.value,e.state,{forward:c,scroll:Ya()});r(u.current,u,!0);const h=$e({},zh(s.value,c,null),{position:u.position+1},l);r(c,h,!1),s.value=c}return{location:s,state:i,push:a,replace:o}}function NE(n){n=yE(n);const e=AE(n),t=CE(n,e.state,e.location,e.replace);function s(r,o=!0){o||t.pauseListeners(),history.go(r)}const i=$e({location:"",base:n,go:s,createHref:wE.bind(null,n)},e,t);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function ME(n){return n=location.host?n||location.pathname+location.search:"",n.includes("#")||(n+="#"),NE(n)}function kE(n){return typeof n=="string"||n&&typeof n=="object"}function em(n){return typeof n=="string"||typeof n=="symbol"}const ns={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},tm=Symbol("");var Gh;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(Gh||(Gh={}));function Bi(n,e){return $e(new Error,{type:n,[tm]:!0},e)}function In(n,e){return n instanceof Error&&tm in n&&(e==null||!!(n.type&e))}const Kh="[^/]+?",OE={sensitive:!1,strict:!1,start:!0,end:!0},IE=/[.+*?^${}()[\]/\\]/g;function RE(n,e){const t=$e({},OE,e),s=[];let i=t.start?"^":"";const r=[];for(const l of n){const u=l.length?[]:[90];t.strict&&!l.length&&(i+="/");for(let h=0;he.length?e.length===1&&e[0]===80?1:-1:0}function PE(n,e){let t=0;const s=n.score,i=e.score;for(;t0&&e[e.length-1]<0}const $E={type:0,value:""},FE=/[a-zA-Z0-9_]/;function VE(n){if(!n)return[[]];if(n==="/")return[[$E]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(f){throw new Error(`ERR (${t})/"${l}": ${f}`)}let t=0,s=t;const i=[];let r;function o(){r&&i.push(r),r=[]}let a=0,c,l="",u="";function h(){l&&(t===0?r.push({type:0,value:l}):t===1||t===2||t===3?(r.length>1&&(c==="*"||c==="+")&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):e("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{o(v)}:ur}function o(u){if(em(u)){const h=s.get(u);h&&(s.delete(u),t.splice(t.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=t.indexOf(u);h>-1&&(t.splice(h,1),u.record.name&&s.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return t}function c(u){let h=0;for(;h=0&&(u.record.path!==t[h].record.path||!nm(u,t[h]));)h++;t.splice(h,0,u),u.record.name&&!Xh(u)&&s.set(u.record.name,u)}function l(u,h){let d,f={},p,m;if("name"in u&&u.name){if(d=s.get(u.name),!d)throw Bi(1,{location:u});m=d.record.name,f=$e(Zh(h.params,d.keys.filter(v=>!v.optional).map(v=>v.name)),u.params&&Zh(u.params,d.keys.map(v=>v.name))),p=d.stringify(f)}else if("path"in u)p=u.path,d=t.find(v=>v.re.test(p)),d&&(f=d.parse(p),m=d.record.name);else{if(d=h.name?s.get(h.name):t.find(v=>v.re.test(h.path)),!d)throw Bi(1,{location:u,currentLocation:h});m=d.record.name,f=$e({},h.params,u.params),p=d.stringify(f)}const _=[];let g=d;for(;g;)_.unshift(g.record),g=g.parent;return{name:m,path:p,params:f,matched:_,meta:jE(_)}}return n.forEach(u=>r(u)),{addRoute:r,resolve:l,removeRoute:o,getRoutes:a,getRecordMatcher:i}}function Zh(n,e){const t={};for(const s of e)s in n&&(t[s]=n[s]);return t}function qE(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:UE(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function UE(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const s in n.components)e[s]=typeof t=="object"?t[s]:t;return e}function Xh(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function jE(n){return n.reduce((e,t)=>$e(e,t.meta),{})}function Qh(n,e){const t={};for(const s in n)t[s]=s in e?e[s]:n[s];return t}function nm(n,e){return e.children.some(t=>t===n||nm(n,t))}const sm=/#/g,WE=/&/g,HE=/\//g,zE=/=/g,GE=/\?/g,im=/\+/g,KE=/%5B/g,YE=/%5D/g,rm=/%5E/g,ZE=/%60/g,om=/%7B/g,XE=/%7C/g,am=/%7D/g,QE=/%20/g;function lu(n){return encodeURI(""+n).replace(XE,"|").replace(KE,"[").replace(YE,"]")}function JE(n){return lu(n).replace(om,"{").replace(am,"}").replace(rm,"^")}function Qc(n){return lu(n).replace(im,"%2B").replace(QE,"+").replace(sm,"%23").replace(WE,"%26").replace(ZE,"`").replace(om,"{").replace(am,"}").replace(rm,"^")}function eC(n){return Qc(n).replace(zE,"%3D")}function tC(n){return lu(n).replace(sm,"%23").replace(GE,"%3F")}function nC(n){return n==null?"":tC(n).replace(HE,"%2F")}function la(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function sC(n){const e={};if(n===""||n==="?")return e;const s=(n[0]==="?"?n.slice(1):n).split("&");for(let i=0;ir&&Qc(r)):[s&&Qc(s)]).forEach(r=>{r!==void 0&&(e+=(e.length?"&":"")+t,r!=null&&(e+="="+r))})}return e}function iC(n){const e={};for(const t in n){const s=n[t];s!==void 0&&(e[t]=an(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return e}const rC=Symbol(""),ed=Symbol(""),Za=Symbol(""),uu=Symbol(""),Jc=Symbol("");function nr(){let n=[];function e(s){return n.push(s),()=>{const i=n.indexOf(s);i>-1&&n.splice(i,1)}}function t(){n=[]}return{add:e,list:()=>n.slice(),reset:t}}function hs(n,e,t,s,i){const r=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((o,a)=>{const c=h=>{h===!1?a(Bi(4,{from:t,to:e})):h instanceof Error?a(h):kE(h)?a(Bi(2,{from:e,to:h})):(r&&s.enterCallbacks[i]===r&&typeof h=="function"&&r.push(h),o())},l=n.call(s&&s.instances[i],e,t,c);let u=Promise.resolve(l);n.length<3&&(u=u.then(c)),u.catch(h=>a(h))})}function xc(n,e,t,s){const i=[];for(const r of n)for(const o in r.components){let a=r.components[o];if(!(e!=="beforeRouteEnter"&&!r.instances[o]))if(oC(a)){const l=(a.__vccOpts||a)[e];l&&i.push(hs(l,t,s,r,o))}else{let c=a();i.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${r.path}"`));const u=hE(l)?l.default:l;r.components[o]=u;const d=(u.__vccOpts||u)[e];return d&&hs(d,t,s,r,o)()}))}}return i}function oC(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function td(n){const e=nn(Za),t=nn(uu),s=de(()=>e.resolve(w(n.to))),i=de(()=>{const{matched:c}=s.value,{length:l}=c,u=c[l-1],h=t.matched;if(!u||!h.length)return-1;const d=h.findIndex(Li.bind(null,u));if(d>-1)return d;const f=nd(c[l-2]);return l>1&&nd(u)===f&&h[h.length-1].path!==f?h.findIndex(Li.bind(null,c[l-2])):d}),r=de(()=>i.value>-1&&uC(t.params,s.value.params)),o=de(()=>i.value>-1&&i.value===t.matched.length-1&&Qp(t.params,s.value.params));function a(c={}){return lC(c)?e[w(n.replace)?"replace":"push"](w(n.to)).catch(ur):Promise.resolve()}return{route:s,href:de(()=>s.value.href),isActive:r,isExactActive:o,navigate:a}}const aC=Gn({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:td,setup(n,{slots:e}){const t=Lt(td(n)),{options:s}=nn(Za),i=de(()=>({[sd(n.activeClass,s.linkActiveClass,"router-link-active")]:t.isActive,[sd(n.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const r=e.default&&e.default(t);return n.custom?r:Ia("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:i.value},r)}}}),cC=aC;function lC(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function uC(n,e){for(const t in e){const s=e[t],i=n[t];if(typeof s=="string"){if(s!==i)return!1}else if(!an(i)||i.length!==s.length||s.some((r,o)=>r!==i[o]))return!1}return!0}function nd(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const sd=(n,e,t)=>n??e??t,hC=Gn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const s=nn(Jc),i=de(()=>n.route||s.value),r=nn(ed,0),o=de(()=>{let l=w(r);const{matched:u}=i.value;let h;for(;(h=u[l])&&!h.components;)l++;return l}),a=de(()=>i.value.matched[o.value]);vo(ed,de(()=>o.value+1)),vo(rC,a),vo(Jc,i);const c=Oe();return mt(()=>[c.value,a.value,n.name],([l,u,h],[d,f,p])=>{u&&(u.instances[h]=l,f&&f!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),l&&u&&(!f||!Li(u,f)||!d)&&(u.enterCallbacks[h]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=i.value,u=n.name,h=a.value,d=h&&h.components[u];if(!d)return id(t.default,{Component:d,route:l});const f=h.props[u],p=f?f===!0?l.params:typeof f=="function"?f(l):f:null,_=Ia(d,$e({},p,e,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(h.instances[u]=null)},ref:c}));return id(t.default,{Component:_,route:l})||_}}});function id(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const dC=hC;function fC(n){const e=BE(n.routes,n),t=n.parseQuery||sC,s=n.stringifyQuery||Jh,i=n.history,r=nr(),o=nr(),a=nr(),c=Wd(ns);let l=ns;gi&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=wc.bind(null,$=>""+$),h=wc.bind(null,nC),d=wc.bind(null,la);function f($,L){let J,oe;return em($)?(J=e.getRecordMatcher($),oe=L):oe=$,e.addRoute(oe,J)}function p($){const L=e.getRecordMatcher($);L&&e.removeRoute(L)}function m(){return e.getRoutes().map($=>$.record)}function _($){return!!e.getRecordMatcher($)}function g($,L){if(L=$e({},L||c.value),typeof $=="string"){const O=bc(t,$,L.path),C=e.resolve({path:O.path},L),R=i.createHref(O.fullPath);return $e(O,C,{params:d(C.params),hash:la(O.hash),redirectedFrom:void 0,href:R})}let J;if("path"in $)J=$e({},$,{path:bc(t,$.path,L.path).path});else{const O=$e({},$.params);for(const C in O)O[C]==null&&delete O[C];J=$e({},$,{params:h(O)}),L.params=h(L.params)}const oe=e.resolve(J,L),Ee=$.hash||"";oe.params=u(d(oe.params));const b=pE(s,$e({},$,{hash:JE(Ee),path:oe.path})),S=i.createHref(b);return $e({fullPath:b,hash:Ee,query:s===Jh?iC($.query):$.query||{}},oe,{redirectedFrom:void 0,href:S})}function v($){return typeof $=="string"?bc(t,$,c.value.path):$e({},$)}function T($,L){if(l!==$)return Bi(8,{from:L,to:$})}function x($){return N($)}function y($){return x($e(v($),{replace:!0}))}function A($){const L=$.matched[$.matched.length-1];if(L&&L.redirect){const{redirect:J}=L;let oe=typeof J=="function"?J($):J;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=v(oe):{path:oe},oe.params={}),$e({query:$.query,hash:$.hash,params:"path"in oe?{}:$.params},oe)}}function N($,L){const J=l=g($),oe=c.value,Ee=$.state,b=$.force,S=$.replace===!0,O=A(J);if(O)return N($e(v(O),{state:typeof O=="object"?$e({},Ee,O.state):Ee,force:b,replace:S}),L||J);const C=J;C.redirectedFrom=L;let R;return!b&&mE(s,oe,J)&&(R=Bi(16,{to:C,from:oe}),ue(oe,oe,!0,!1)),(R?Promise.resolve(R):k(C,oe)).catch(B=>In(B)?In(B,2)?B:me(B):ne(B,C,oe)).then(B=>{if(B){if(In(B,2))return N($e({replace:S},v(B.to),{state:typeof B.to=="object"?$e({},Ee,B.to.state):Ee,force:b}),L||C)}else B=M(C,oe,!0,S,Ee);return D(C,oe,B),B})}function E($,L){const J=T($,L);return J?Promise.reject(J):Promise.resolve()}function I($){const L=it.values().next().value;return L&&typeof L.runWithContext=="function"?L.runWithContext($):$()}function k($,L){let J;const[oe,Ee,b]=pC($,L);J=xc(oe.reverse(),"beforeRouteLeave",$,L);for(const O of oe)O.leaveGuards.forEach(C=>{J.push(hs(C,$,L))});const S=E.bind(null,$,L);return J.push(S),be(J).then(()=>{J=[];for(const O of r.list())J.push(hs(O,$,L));return J.push(S),be(J)}).then(()=>{J=xc(Ee,"beforeRouteUpdate",$,L);for(const O of Ee)O.updateGuards.forEach(C=>{J.push(hs(C,$,L))});return J.push(S),be(J)}).then(()=>{J=[];for(const O of b)if(O.beforeEnter)if(an(O.beforeEnter))for(const C of O.beforeEnter)J.push(hs(C,$,L));else J.push(hs(O.beforeEnter,$,L));return J.push(S),be(J)}).then(()=>($.matched.forEach(O=>O.enterCallbacks={}),J=xc(b,"beforeRouteEnter",$,L),J.push(S),be(J))).then(()=>{J=[];for(const O of o.list())J.push(hs(O,$,L));return J.push(S),be(J)}).catch(O=>In(O,8)?O:Promise.reject(O))}function D($,L,J){a.list().forEach(oe=>I(()=>oe($,L,J)))}function M($,L,J,oe,Ee){const b=T($,L);if(b)return b;const S=L===ns,O=gi?history.state:{};J&&(oe||S?i.replace($.fullPath,$e({scroll:S&&O&&O.scroll},Ee)):i.push($.fullPath,Ee)),c.value=$,ue($,L,J,S),me()}let F;function H(){F||(F=i.listen(($,L,J)=>{if(!we.listening)return;const oe=g($),Ee=A(oe);if(Ee){N($e(Ee,{replace:!0}),oe).catch(ur);return}l=oe;const b=c.value;gi&&TE(Hh(b.fullPath,J.delta),Ya()),k(oe,b).catch(S=>In(S,12)?S:In(S,2)?(N(S.to,oe).then(O=>{In(O,20)&&!J.delta&&J.type===Br.pop&&i.go(-1,!1)}).catch(ur),Promise.reject()):(J.delta&&i.go(-J.delta,!1),ne(S,oe,b))).then(S=>{S=S||M(oe,b,!1),S&&(J.delta&&!In(S,8)?i.go(-J.delta,!1):J.type===Br.pop&&In(S,20)&&i.go(-1,!1)),D(oe,b,S)}).catch(ur)}))}let se=nr(),Q=nr(),Z;function ne($,L,J){me($);const oe=Q.list();return oe.length?oe.forEach(Ee=>Ee($,L,J)):console.error($),Promise.reject($)}function ae(){return Z&&c.value!==ns?Promise.resolve():new Promise(($,L)=>{se.add([$,L])})}function me($){return Z||(Z=!$,H(),se.list().forEach(([L,J])=>$?J($):L()),se.reset()),$}function ue($,L,J,oe){const{scrollBehavior:Ee}=n;if(!gi||!Ee)return Promise.resolve();const b=!J&&SE(Hh($.fullPath,0))||(oe||!J)&&history.state&&history.state.scroll||null;return Hi().then(()=>Ee($,L,b)).then(S=>S&&xE(S)).catch(S=>ne(S,$,L))}const ye=$=>i.go($);let st;const it=new Set,we={currentRoute:c,listening:!0,addRoute:f,removeRoute:p,hasRoute:_,getRoutes:m,resolve:g,options:n,push:x,replace:y,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:r.add,beforeResolve:o.add,afterEach:a.add,onError:Q.add,isReady:ae,install($){const L=this;$.component("RouterLink",cC),$.component("RouterView",dC),$.config.globalProperties.$router=L,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>w(c)}),gi&&!st&&c.value===ns&&(st=!0,x(i.location).catch(Ee=>{}));const J={};for(const Ee in ns)Object.defineProperty(J,Ee,{get:()=>c.value[Ee],enumerable:!0});$.provide(Za,L),$.provide(uu,Bd(J)),$.provide(Jc,c);const oe=$.unmount;it.add($),$.unmount=function(){it.delete($),it.size<1&&(l=ns,F&&F(),F=null,c.value=ns,st=!1,Z=!1),oe()}}};function be($){return $.reduce((L,J)=>L.then(()=>I(J)),Promise.resolve())}return we}function pC(n,e){const t=[],s=[],i=[],r=Math.max(e.matched.length,n.matched.length);for(let o=0;oLi(l,a))?s.push(a):t.push(a));const c=n.matched[o];c&&(e.matched.find(l=>Li(l,c))||i.push(c))}return[t,s,i]}function mC(){return nn(Za)}function gC(){return nn(uu)}const _C={class:"flex flex-col h-100vh w-full"},yC={key:0,class:"absolute bottom-20 text-center flex flex-col items-center w-full"},vC={class:"text-sm"},wC={class:"h-full w-full"},bC=["viewBox"],xC=V("defs",null,[V("filter",{id:"noiseFilter"},[V("feTurbulence",{type:"fractalNoise",basefrequency:"6.29",numoctaves:"6",stitchtiles:"stitch"})])],-1),TC=["width","height"],SC={class:"absolute left-0 top-10 flex flex-col gap-2 m-2 opacity-20 hover_opacity-100 transition"},EC={__name:"app",setup(n){const{midi:e}=oi(),t=gC(),s=mC(),i=Oe(0),r=Xp(),o=Oe();au(()=>{i.value++,o.value=r(1,i.value/2e3)});const a=new eE({saturation:[.05,.28,.62],lightness:[.75,.87,.9]}),c=de(()=>a.hex(Math.random()*1e5+"a")),l=de(()=>a.hex(Math.random()*1e5+"b"));de(()=>`linear-gradient(${o.value*360}deg, ${c.value}, ${l.value})`);const{visual:u,width:h,height:d}=Es(),f=Oe(!1);mt(()=>e.total.hits,m=>{m==0&&s.push(p())}),ou([" ","Enter"],()=>{ai(),s.push(p())});function p(){let m,_,g,v;for(let T=0;T<20&&(m=Math.random(),_=Object.values(Zc),g=m*_.length,v=_[Math.floor(g)].path,!!t.path.includes(v));T++);return f.value=!0,v}return xs(()=>{Ix()}),(m,_)=>{const g=HS,v=sT,T=Ks("router-view"),x=X0,y=z0,A=B0,N=P0,E=k0,I=E0,k=w0,D=Ks("router-link"),M=Jd("tooltip");return K(),ee("div",_C,[xe(g),w(f)?ut("",!0):(K(),ee("div",yC,[V("div",vC,"Hold any note more than "+Ke(w(e).maxDuration/1e3)+" seconds or press Enter/Spacebar to randomly change current scene.",1)])),xe(v),V("div",wC,[(K(),ee("svg",{class:"h-full w-full",id:"visual",ref_key:"visual",ref:u,version:"1.1",baseProfile:"full",viewBox:`0 0 ${w(h)} ${w(d)}`,xmlns:"http://www.w3.org/2000/svg"},[xC,V("rect",{filter:"url(#noiseFilter)",fill:"hsl(20,70%,60%)",opacity:"0.1",width:w(h),height:w(d)},null,8,TC),xe(T,null,{default:tn(({Component:F})=>[xe(Ra,{name:"fade",mode:"out-in"},{default:tn(()=>[(K(),et(Hg,null,[(K(),et(Fg(F),{id:"content"}))],1024))]),_:2},1024)]),_:1})],8,bC)),V("div",SC,[(K(!0),ee(Re,null,yt(w(Zc),(F,H)=>At((K(),et(D,{class:bs(["button p-2 cursor-pointer text-3xl",{active:m.$route.path==F.path}]),key:F.path,onClick:_[0]||(_[0]=se=>f.value=!0),to:F},{default:tn(()=>[F.name=="index"?(K(),et(x,{key:0})):ut("",!0),F.name=="level"?(K(),et(y,{key:1})):ut("",!0),F.name=="rose"?(K(),et(A,{key:2})):ut("",!0),F.name=="cross"?(K(),et(N,{key:3})):ut("",!0),F.name=="donut"?(K(),et(E,{key:4})):ut("",!0),F.name=="stats"?(K(),et(I,{key:5})):ut("",!0),F.name=="spiral"?(K(),et(k,{key:6})):ut("",!0)]),_:2},1032,["to","class"])),[[M,F.name.charAt(0).toUpperCase()+F.name.slice(1)+" scene",void 0,{right:!0}]])),128))])])])}}};function Qn(n){return n.split("-")[0]}function Ai(n){return n.split("-")[1]}function eo(n){return["top","bottom"].includes(Qn(n))?"x":"y"}function hu(n){return n==="y"?"height":"width"}function rd(n){let{reference:e,floating:t,placement:s}=n;const i=e.x+e.width/2-t.width/2,r=e.y+e.height/2-t.height/2;let o;switch(Qn(s)){case"top":o={x:i,y:e.y-t.height};break;case"bottom":o={x:i,y:e.y+e.height};break;case"right":o={x:e.x+e.width,y:r};break;case"left":o={x:e.x-t.width,y:r};break;default:o={x:e.x,y:e.y}}const a=eo(s),c=hu(a);switch(Ai(s)){case"start":o[a]=o[a]-(e[c]/2-t[c]/2);break;case"end":o[a]=o[a]+(e[c]/2-t[c]/2);break}return o}const CC=async(n,e,t)=>{const{placement:s="bottom",strategy:i="absolute",middleware:r=[],platform:o}=t;let a=await o.getElementRects({reference:n,floating:e,strategy:i}),{x:c,y:l}=rd({...a,placement:s}),u=s,h={};for(let d=0;d({name:"arrow",options:n,async fn(e){const{element:t,padding:s=0}=n??{},{x:i,y:r,placement:o,rects:a,platform:c}=e;if(t==null)return{};const l=cm(s),u={x:i,y:r},h=Qn(o),d=eo(h),f=hu(d),p=await c.getDimensions({element:t}),m=d==="y"?"top":"left",_=d==="y"?"bottom":"right",g=a.reference[f]+a.reference[d]-u[d]-a.floating[f],v=u[d]-a.reference[d],T=await c.getOffsetParent({element:t}),x=T?d==="y"?T.clientHeight||0:T.clientWidth||0:0,y=g/2-v/2,A=l[m],N=x-p[f]-l[_],E=x/2-p[f]/2+y,I=tl(A,E,N);return{data:{[d]:I,centerOffset:E-I}}}}),kC={left:"right",right:"left",bottom:"top",top:"bottom"};function ua(n){return n.replace(/left|right|bottom|top/g,e=>kC[e])}function lm(n,e){const t=Ai(n)==="start",s=eo(n),i=hu(s);let r=s==="x"?t?"right":"left":t?"bottom":"top";return e.reference[i]>e.floating[i]&&(r=ua(r)),{main:r,cross:ua(r)}}const OC={start:"end",end:"start"};function nl(n){return n.replace(/start|end/g,e=>OC[e])}const IC=["top","right","bottom","left"],RC=IC.reduce((n,e)=>n.concat(e,e+"-start",e+"-end"),[]);function DC(n,e,t){return(n?[...t.filter(i=>Ai(i)===n),...t.filter(i=>Ai(i)!==n)]:t.filter(i=>Qn(i)===i)).filter(i=>n?Ai(i)===n||(e?nl(i)!==i:!1):!0)}const PC=function(n){return n===void 0&&(n={}),{name:"autoPlacement",options:n,async fn(e){var t,s,i,r,o,a;const{x:c,y:l,rects:u,middlewareData:h,placement:d}=e,{alignment:f=null,allowedPlacements:p=RC,autoAlignment:m=!0,..._}=n;if((t=h.autoPlacement)!=null&&t.skip)return{};const g=DC(f,m,p),v=await Xa(e,_),T=(s=(i=h.autoPlacement)==null?void 0:i.index)!=null?s:0,x=g[T],{main:y,cross:A}=lm(x,u);if(d!==x)return{x:c,y:l,reset:{placement:g[0]}};const N=[v[Qn(x)],v[y],v[A]],E=[...(r=(o=h.autoPlacement)==null?void 0:o.overflows)!=null?r:[],{placement:x,overflows:N}],I=g[T+1];if(I)return{data:{index:T+1,overflows:E},reset:{placement:I}};const k=E.slice().sort((M,F)=>M.overflows[0]-F.overflows[0]),D=(a=k.find(M=>{let{overflows:F}=M;return F.every(H=>H<=0)}))==null?void 0:a.placement;return{data:{skip:!0},reset:{placement:D??k[0].placement}}}}};function $C(n){const e=ua(n);return[nl(n),e,nl(e)]}const FC=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(e){var t,s;const{placement:i,middlewareData:r,rects:o,initialPlacement:a}=e;if((t=r.flip)!=null&&t.skip)return{};const{mainAxis:c=!0,crossAxis:l=!0,fallbackPlacements:u,fallbackStrategy:h="bestFit",flipAlignment:d=!0,...f}=n,p=Qn(i),_=u||(p===a||!d?[ua(a)]:$C(a)),g=[a,..._],v=await Xa(e,f),T=[];let x=((s=r.flip)==null?void 0:s.overflows)||[];if(c&&T.push(v[p]),l){const{main:E,cross:I}=lm(i,o);T.push(v[E],v[I])}if(x=[...x,{placement:i,overflows:T}],!T.every(E=>E<=0)){var y,A;const E=((y=(A=r.flip)==null?void 0:A.index)!=null?y:0)+1,I=g[E];if(I)return{data:{index:E,overflows:x},reset:{placement:I}};let k="bottom";switch(h){case"bestFit":{var N;const D=(N=x.slice().sort((M,F)=>M.overflows.filter(H=>H>0).reduce((H,se)=>H+se,0)-F.overflows.filter(H=>H>0).reduce((H,se)=>H+se,0))[0])==null?void 0:N.placement;D&&(k=D);break}case"initialPlacement":k=a;break}return{data:{skip:!0},reset:{placement:k}}}return{}}}};function VC(n){let{placement:e,rects:t,value:s}=n;const i=Qn(e),r=["left","top"].includes(i)?-1:1,o=typeof s=="function"?s({...t,placement:e}):s,{mainAxis:a,crossAxis:c}=typeof o=="number"?{mainAxis:o,crossAxis:0}:{mainAxis:0,crossAxis:0,...o};return eo(i)==="x"?{x:c,y:a*r}:{x:a*r,y:c}}const LC=function(n){return n===void 0&&(n=0),{name:"offset",options:n,fn(e){const{x:t,y:s,placement:i,rects:r}=e,o=VC({placement:i,rects:r,value:n});return{x:t+o.x,y:s+o.y,data:o}}}};function BC(n){return n==="x"?"y":"x"}const qC=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(e){const{x:t,y:s,placement:i}=e,{mainAxis:r=!0,crossAxis:o=!1,limiter:a={fn:_=>{let{x:g,y:v}=_;return{x:g,y:v}}},...c}=n,l={x:t,y:s},u=await Xa(e,c),h=eo(Qn(i)),d=BC(h);let f=l[h],p=l[d];if(r){const _=h==="y"?"top":"left",g=h==="y"?"bottom":"right",v=f+u[_],T=f-u[g];f=tl(v,f,T)}if(o){const _=d==="y"?"top":"left",g=d==="y"?"bottom":"right",v=p+u[_],T=p-u[g];p=tl(v,p,T)}const m=a.fn({...e,[h]:f,[d]:p});return{...m,data:{x:m.x-t,y:m.y-s}}}}},UC=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(e){var t;const{placement:s,rects:i,middlewareData:r}=e,{apply:o,...a}=n;if((t=r.size)!=null&&t.skip)return{};const c=await Xa(e,a),l=Qn(s),u=Ai(s)==="end";let h,d;l==="top"||l==="bottom"?(h=l,d=u?"left":"right"):(d=l,h=u?"top":"bottom");const f=Rs(c.left,0),p=Rs(c.right,0),m=Rs(c.top,0),_=Rs(c.bottom,0),g={height:i.floating.height-(["left","right"].includes(s)?2*(m!==0||_!==0?m+_:Rs(c.top,c.bottom)):c[h]),width:i.floating.width-(["top","bottom"].includes(s)?2*(f!==0||p!==0?f+p:Rs(c.left,c.right)):c[d])};return o==null||o({...g,...i}),{data:{skip:!0},reset:{rects:!0}}}}};function du(n){return(n==null?void 0:n.toString())==="[object Window]"}function Cs(n){if(n==null)return window;if(!du(n)){const e=n.ownerDocument;return e&&e.defaultView||window}return n}function Qa(n){return Cs(n).getComputedStyle(n)}function Hn(n){return du(n)?"":n?(n.nodeName||"").toLowerCase():""}function zn(n){return n instanceof Cs(n).HTMLElement}function ha(n){return n instanceof Cs(n).Element}function jC(n){return n instanceof Cs(n).Node}function um(n){const e=Cs(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function Ja(n){const{overflow:e,overflowX:t,overflowY:s}=Qa(n);return/auto|scroll|overlay|hidden/.test(e+s+t)}function WC(n){return["table","td","th"].includes(Hn(n))}function hm(n){const e=navigator.userAgent.toLowerCase().includes("firefox"),t=Qa(n);return t.transform!=="none"||t.perspective!=="none"||t.contain==="paint"||["transform","perspective"].includes(t.willChange)||e&&t.willChange==="filter"||e&&(t.filter?t.filter!=="none":!1)}const od=Math.min,dr=Math.max,da=Math.round;function qi(n,e){e===void 0&&(e=!1);const t=n.getBoundingClientRect();let s=1,i=1;return e&&zn(n)&&(s=n.offsetWidth>0&&da(t.width)/n.offsetWidth||1,i=n.offsetHeight>0&&da(t.height)/n.offsetHeight||1),{width:t.width/s,height:t.height/i,top:t.top/i,right:t.right/s,bottom:t.bottom/i,left:t.left/s,x:t.left/s,y:t.top/i}}function As(n){return((jC(n)?n.ownerDocument:n.document)||window.document).documentElement}function ec(n){return du(n)?{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}:{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function dm(n){return qi(As(n)).left+ec(n).scrollLeft}function HC(n){const e=qi(n);return da(e.width)!==n.offsetWidth||da(e.height)!==n.offsetHeight}function zC(n,e,t){const s=zn(e),i=As(e),r=qi(n,s&&HC(e));let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(s||!s&&t!=="fixed")if((Hn(e)!=="body"||Ja(i))&&(o=ec(e)),zn(e)){const c=qi(e,!0);a.x=c.x+e.clientLeft,a.y=c.y+e.clientTop}else i&&(a.x=dm(i));return{x:r.left+o.scrollLeft-a.x,y:r.top+o.scrollTop-a.y,width:r.width,height:r.height}}function tc(n){return Hn(n)==="html"?n:n.assignedSlot||n.parentNode||(um(n)?n.host:null)||As(n)}function ad(n){return!zn(n)||getComputedStyle(n).position==="fixed"?null:n.offsetParent}function GC(n){let e=tc(n);for(;zn(e)&&!["html","body"].includes(Hn(e));){if(hm(e))return e;e=e.parentNode}return null}function sl(n){const e=Cs(n);let t=ad(n);for(;t&&WC(t)&&getComputedStyle(t).position==="static";)t=ad(t);return t&&(Hn(t)==="html"||Hn(t)==="body"&&getComputedStyle(t).position==="static"&&!hm(t))?e:t||GC(n)||e}function cd(n){return{width:n.offsetWidth,height:n.offsetHeight}}function KC(n){let{rect:e,offsetParent:t,strategy:s}=n;const i=zn(t),r=As(t);if(t===r)return e;let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if((i||!i&&s!=="fixed")&&((Hn(t)!=="body"||Ja(r))&&(o=ec(t)),zn(t))){const c=qi(t,!0);a.x=c.x+t.clientLeft,a.y=c.y+t.clientTop}return{...e,x:e.x-o.scrollLeft+a.x,y:e.y-o.scrollTop+a.y}}function YC(n){const e=Cs(n),t=As(n),s=e.visualViewport;let i=t.clientWidth,r=t.clientHeight,o=0,a=0;return s&&(i=s.width,r=s.height,Math.abs(e.innerWidth/s.scale-s.width)<.01&&(o=s.offsetLeft,a=s.offsetTop)),{width:i,height:r,x:o,y:a}}function ZC(n){var e;const t=As(n),s=ec(n),i=(e=n.ownerDocument)==null?void 0:e.body,r=dr(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=dr(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);let a=-s.scrollLeft+dm(n);const c=-s.scrollTop;return Qa(i||t).direction==="rtl"&&(a+=dr(t.clientWidth,i?i.clientWidth:0)-r),{width:r,height:o,x:a,y:c}}function fm(n){return["html","body","#document"].includes(Hn(n))?n.ownerDocument.body:zn(n)&&Ja(n)?n:fm(tc(n))}function fa(n,e){var t;e===void 0&&(e=[]);const s=fm(n),i=s===((t=n.ownerDocument)==null?void 0:t.body),r=Cs(s),o=i?[r].concat(r.visualViewport||[],Ja(s)?s:[]):s,a=e.concat(o);return i?a:a.concat(fa(tc(o)))}function XC(n,e){const t=e.getRootNode==null?void 0:e.getRootNode();if(n.contains(e))return!0;if(t&&um(t)){let s=e;do{if(s&&n===s)return!0;s=s.parentNode||s.host}while(s)}return!1}function QC(n){const e=qi(n),t=e.top+n.clientTop,s=e.left+n.clientLeft;return{top:t,left:s,x:s,y:t,right:s+n.clientWidth,bottom:t+n.clientHeight,width:n.clientWidth,height:n.clientHeight}}function ld(n,e){return e==="viewport"?el(YC(n)):ha(e)?QC(e):el(ZC(As(n)))}function JC(n){const e=fa(tc(n)),s=["absolute","fixed"].includes(Qa(n).position)&&zn(n)?sl(n):n;return ha(s)?e.filter(i=>ha(i)&&XC(i,s)&&Hn(i)!=="body"):[]}function eA(n){let{element:e,boundary:t,rootBoundary:s}=n;const r=[...t==="clippingParents"?JC(e):[].concat(t),s],o=r[0],a=r.reduce((c,l)=>{const u=ld(e,l);return c.top=dr(u.top,c.top),c.right=od(u.right,c.right),c.bottom=od(u.bottom,c.bottom),c.left=dr(u.left,c.left),c},ld(e,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}const tA={getElementRects:n=>{let{reference:e,floating:t,strategy:s}=n;return{reference:zC(e,sl(t),s),floating:{...cd(t),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:n=>KC(n),getOffsetParent:n=>{let{element:e}=n;return sl(e)},isElement:n=>ha(n),getDocumentElement:n=>{let{element:e}=n;return As(e)},getClippingClientRect:n=>eA(n),getDimensions:n=>{let{element:e}=n;return cd(e)},getClientRects:n=>{let{element:e}=n;return e.getClientRects()}},nA=(n,e,t)=>CC(n,e,{platform:tA,...t});var sA=Object.defineProperty,iA=Object.defineProperties,rA=Object.getOwnPropertyDescriptors,ud=Object.getOwnPropertySymbols,oA=Object.prototype.hasOwnProperty,aA=Object.prototype.propertyIsEnumerable,hd=(n,e,t)=>e in n?sA(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Fn=(n,e)=>{for(var t in e||(e={}))oA.call(e,t)&&hd(n,t,e[t]);if(ud)for(var t of ud(e))aA.call(e,t)&&hd(n,t,e[t]);return n},to=(n,e)=>iA(n,rA(e));function pm(n,e){for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(typeof e[t]=="object"&&n[t]?pm(n[t],e[t]):n[t]=e[t])}const zs={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:n=>[...n,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function Ui(n,e){let t=zs.themes[n]||{},s;do s=t[e],typeof s>"u"?t.$extend?t=zs.themes[t.$extend]||{}:(t=null,s=zs[e]):t=null;while(t);return s}function cA(n){const e=[n];let t=zs.themes[n]||{};do t.$extend&&!t.$resetCss?(e.push(t.$extend),t=zs.themes[t.$extend]||{}):t=null;while(t);return e.map(s=>`v-popper--theme-${s}`)}let ji=!1;if(typeof window<"u"){ji=!1;try{const n=Object.defineProperty({},"passive",{get(){ji=!0}});window.addEventListener("test",null,n)}catch{}}let mm=!1;typeof window<"u"&&typeof navigator<"u"&&(mm=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const gm=["auto","top","bottom","left","right"].reduce((n,e)=>n.concat([e,`${e}-start`,`${e}-end`]),[]),dd={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},fd={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function lA(n,e){const t=n.indexOf(e);t!==-1&&n.splice(t,1)}function Tc(){return new Promise(n=>requestAnimationFrame(()=>{requestAnimationFrame(n)}))}const xn=[];let di=null,il=function(){};typeof window<"u"&&(il=window.Element);function Pe(n){return function(e){return Ui(e.theme,n)}}var _m=()=>Gn({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Pe("disabled")},placement:{type:String,default:Pe("placement"),validator:n=>gm.includes(n)},delay:{type:[String,Number,Object],default:Pe("delay")},distance:{type:[Number,String],default:Pe("distance")},skidding:{type:[Number,String],default:Pe("skidding")},triggers:{type:Array,default:Pe("triggers")},showTriggers:{type:[Array,Function],default:Pe("showTriggers")},hideTriggers:{type:[Array,Function],default:Pe("hideTriggers")},popperTriggers:{type:Array,default:Pe("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:Pe("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:Pe("popperHideTriggers")},container:{type:[String,Object,il,Boolean],default:Pe("container")},boundary:{type:[String,il],default:Pe("boundary")},strategy:{type:String,validator:n=>["absolute","fixed"].includes(n),default:Pe("strategy")},autoHide:{type:Boolean,default:Pe("autoHide")},handleResize:{type:Boolean,default:Pe("handleResize")},instantMove:{type:Boolean,default:Pe("instantMove")},eagerMount:{type:Boolean,default:Pe("eagerMount")},popperClass:{type:[String,Array,Object],default:Pe("popperClass")},computeTransformOrigin:{type:Boolean,default:Pe("computeTransformOrigin")},autoMinSize:{type:Boolean,default:Pe("autoMinSize")},autoMaxSize:{type:Boolean,default:Pe("autoMaxSize")},preventOverflow:{type:Boolean,default:Pe("preventOverflow")},overflowPadding:{type:[Number,String],default:Pe("overflowPadding")},arrowPadding:{type:[Number,String],default:Pe("arrowPadding")},arrowOverflow:{type:Boolean,default:Pe("arrowOverflow")},flip:{type:Boolean,default:Pe("flip")},shift:{type:Boolean,default:Pe("shift")},shiftCrossAxis:{type:Boolean,default:Pe("shiftCrossAxis")}},emits:["show","hide","update:shown","apply-show","apply-hide","close-group","close-directive","auto-hide","resize","dispose"],data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null}}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:to(Fn({},this.classes),{popperClass:this.popperClass}),result:this.result}}},watch:Fn({shown:"$_autoShowHide",disabled(n){n?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())}},["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((n,e)=>(n[e]="$_computePosition",n),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(n=>n.toString(36).substring(2,10)).join("_")}`},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:n=null,skipDelay:e=!1,force:t=!1}={}){(t||!this.disabled)&&(this.$_scheduleShow(n,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0)},hide({event:n=null,skipDelay:e=!1}={}){this.$_scheduleHide(n,e),this.$emit("hide"),this.$emit("update:shown",!1)},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(n=>n.nodeType===n.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var n;if(this.$_isDisposed)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(LC({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");t?e.middleware.push(PC({alignment:(n=this.placement.split("-")[1])!=null?n:""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(qC({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(FC({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(MC({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:i,rects:r,middlewareData:o})=>{let a;const{centerOffset:c}=o.arrow;return i.startsWith("top")||i.startsWith("bottom")?a=Math.abs(c)>r.reference.width/2:a=Math.abs(c)>r.reference.height/2,{data:{overflow:a}}}}),this.autoMinSize&&e.middleware.push({name:"autoMinSize",fn:({rects:i,placement:r,middlewareData:o})=>{var a;if((a=o.autoMinSize)!=null&&a.skip)return{};let c,l;return r.startsWith("top")||r.startsWith("bottom")?c=i.reference.width:l=i.reference.height,this.$_innerNode.style.minWidth=c!=null?`${c}px`:null,this.$_innerNode.style.minHeight=l!=null?`${l}px`:null,{data:{skip:!0},reset:{rects:!0}}}}),this.autoMaxSize&&e.middleware.push(UC({boundary:this.boundary,padding:this.overflowPadding,apply:({width:i,height:r})=>{this.$_innerNode.style.maxWidth=i!=null?`${i}px`:null,this.$_innerNode.style.maxHeight=r!=null?`${r}px`:null}}));const s=await nA(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:s.x,y:s.y,placement:s.placement,strategy:s.strategy,arrow:Fn(Fn({},s.middlewareData.arrow),s.middlewareData.arrowOverflow)})},$_scheduleShow(n=null,e=!1){if(this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),di&&this.instantMove&&di.instantMove){di.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(n=null,e=!1){this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(di=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(n){const e=this.delay;return parseInt(e&&e[n]||e||0)},async $_applyShow(n=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=n,!this.isShown&&(this.$_ensureTeleport(),await Tc(),await this.$_computePosition(),await this.$_applyShowEffect())},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(".v-popper__wrapper"),s=t.parentNode.getBoundingClientRect(),i=e.x+e.width/2-(s.left+t.offsetLeft),r=e.y+e.height/2-(s.top+t.offsetTop);this.result.transformOrigin=`${i}px ${r}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const n=this.showGroup;if(n){let e;for(let t=0;t{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await Tc(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let n=this.container;if(typeof n=="string"?n=window.document.querySelector(n):n===!1&&(n=this.$_targetNodes[0].parentNode),!n)throw new Error("No container for popover: "+this.container);n.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const n=(i,r,o)=>{this.$_events.push({targetNodes:i,eventType:r,handler:o}),i.forEach(a=>a.addEventListener(r,o,ji?{passive:!0}:void 0))},e=(i,r,o,a,c)=>{let l=o;a!=null&&(l=typeof a=="function"?a(l):a),l.forEach(u=>{const h=r[u];h&&n(i,h,c)})},t=i=>{this.isShown&&!this.$_hideInProgress||(i.usedByTooltip=!0,!this.$_preventShow&&this.show({event:i}))};e(this.$_targetNodes,dd,this.triggers,this.showTriggers,t),e([this.$_popperNode],dd,this.popperTriggers,this.popperShowTriggers,t);const s=i=>{i.usedByTooltip||this.hide({event:i})};e(this.$_targetNodes,fd,this.triggers,this.hideTriggers,s),e([this.$_popperNode],fd,this.popperTriggers,this.popperHideTriggers,s),n([...fa(this.$_referenceNode),...fa(this.$_popperNode)],"scroll",()=>{this.$_computePosition()})},$_removeEventListeners(){this.$_events.forEach(({targetNodes:n,eventType:e,handler:t})=>{n.forEach(s=>s.removeEventListener(e,t))}),this.$_events=[]},$_handleGlobalClose(n,e=!1){this.$_showFrameLocked||(this.hide({event:n}),n.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(n,e){for(const t of this.$_targetNodes){const s=t.getAttribute(n);s&&(t.removeAttribute(n),t.setAttribute(e,s))}},$_applyAttrsToTarget(n){for(const e of this.$_targetNodes)for(const t in n){const s=n[t];s==null?e.removeAttribute(t):e.setAttribute(t,s)}}},render(){return this.$slots.default(this.slotData)}});typeof document<"u"&&typeof window<"u"&&(mm?(document.addEventListener("touchstart",pd,ji?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",hA,ji?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",pd,!0),window.addEventListener("click",uA,!0)),window.addEventListener("resize",dA));function pd(n){for(let e=0;e{(n.closeAllPopover||n.closePopover&&r||s.autoHide&&!r)&&s.$_handleGlobalClose(n,e)})}}function dA(n){for(let e=0;e0)return parseInt(n.substring(e+5,n.indexOf(".",e)),10);var t=n.indexOf("Trident/");if(t>0){var s=n.indexOf("rv:");return parseInt(n.substring(s+3,n.indexOf(".",s)),10)}var i=n.indexOf("Edge/");return i>0?parseInt(n.substring(i+5,n.indexOf(".",i)),10):-1}let Co;function rl(){rl.init||(rl.init=!0,Co=fA()!==-1)}var nc={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){rl(),Hi(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const n=document.createElement("object");this._resizeObject=n,n.setAttribute("aria-hidden","true"),n.setAttribute("tabindex",-1),n.onload=this.addResizeHandlers,n.type="text/html",Co&&this.$el.appendChild(n),n.data="about:blank",Co||this.$el.appendChild(n)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!Co&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const pA=Og();Ta("data-v-b329ee4c");const mA={class:"resize-observer",tabindex:"-1"};Sa();const gA=pA((n,e,t,s,i,r)=>(K(),et("div",mA)));nc.render=gA;nc.__scopeId="data-v-b329ee4c";nc.__file="src/components/ResizeObserver.vue";var vm={computed:{themeClass(){return cA(this.theme)}}},fu=(n,e)=>{const t=n.__vccOpts||n;for(const[s,i]of e)t[s]=i;return t};const _A=Gn({name:"VPopperContent",components:{ResizeObserver:nc},mixins:[vm],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(n){return n!=null&&!isNaN(n)?`${n}px`:null}}}),yA=["id","aria-hidden","tabindex","data-popper-placement"],vA={ref:"inner",class:"v-popper__inner"},wA=V("div",{class:"v-popper__arrow-outer"},null,-1),bA=V("div",{class:"v-popper__arrow-inner"},null,-1),xA=[wA,bA];function TA(n,e,t,s,i,r){const o=Ks("ResizeObserver");return K(),ee("div",{id:n.popperId,ref:"popover",class:bs(["v-popper__popper",[n.themeClass,n.classes.popperClass,{"v-popper__popper--shown":n.shown,"v-popper__popper--hidden":!n.shown,"v-popper__popper--show-from":n.classes.showFrom,"v-popper__popper--show-to":n.classes.showTo,"v-popper__popper--hide-from":n.classes.hideFrom,"v-popper__popper--hide-to":n.classes.hideTo,"v-popper__popper--skip-transition":n.skipTransition,"v-popper__popper--arrow-overflow":n.result.arrow.overflow}]]),style:Be({position:n.result.strategy,transform:`translate3d(${Math.round(n.result.x)}px,${Math.round(n.result.y)}px,0)`}),"aria-hidden":n.shown?"false":"true",tabindex:n.autoHide?0:void 0,"data-popper-placement":n.result.placement,onKeyup:e[1]||(e[1]=h0(a=>n.autoHide&&n.$emit("hide"),["esc"]))},[V("div",{class:"v-popper__wrapper",style:Be({transformOrigin:n.result.transformOrigin})},[V("div",vA,[n.mounted?(K(),ee(Re,{key:0},[V("div",null,[Oo(n.$slots,"default")]),n.handleResize?(K(),et(o,{key:0,onNotify:e[0]||(e[0]=a=>n.$emit("resize",a))})):ut("",!0)],64)):ut("",!0)],512),V("div",{ref:"arrow",class:"v-popper__arrow-container",style:Be({left:n.toPx(n.result.arrow.x),top:n.toPx(n.result.arrow.y)})},xA,4)],4)],46,yA)}var wm=fu(_A,[["render",TA]]),bm={methods:{show(...n){return this.$refs.popper.show(...n)},hide(...n){return this.$refs.popper.hide(...n)},dispose(...n){return this.$refs.popper.dispose(...n)},onResize(...n){return this.$refs.popper.onResize(...n)}}};const SA=Gn({name:"VPopperWrapper",components:{Popper:_m(),PopperContent:wm},mixins:[bm,vm],inheritAttrs:!1,props:{theme:{type:String,default:null}},computed:{finalTheme(){var n;return(n=this.theme)!=null?n:this.$options.vPopperTheme},popperAttrs(){const n=Fn({},this.$attrs);return delete n.class,delete n.style,n}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(n=>n!==this.$refs.popperContent.$el)}}});function EA(n,e,t,s,i,r){const o=Ks("PopperContent"),a=Ks("Popper");return K(),et(a,Ma({ref:"popper"},n.popperAttrs,{theme:n.finalTheme,"target-nodes":n.getTargetNodes,"reference-node":()=>n.$refs.reference,"popper-node":()=>n.$refs.popperContent.$el}),{default:tn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,show:f,hide:p,handleResize:m,onResize:_,classes:g,result:v})=>[V("div",{ref:"reference",class:bs(["v-popper",[n.$attrs.class,n.themeClass,{"v-popper--shown":l}]]),style:Be(n.$attrs.style)},[Oo(n.$slots,"default",{shown:l,show:f,hide:p}),xe(o,{ref:"popperContent","popper-id":c,theme:n.finalTheme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":m,classes:g,result:v,onHide:p,onResize:_},{default:tn(()=>[Oo(n.$slots,"popper",{shown:l,hide:p})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])],6)]),_:3},16,["theme","target-nodes","reference-node","popper-node"])}var pu=fu(SA,[["render",EA]]);const md=Gn(to(Fn({},pu),{name:"VDropdown",vPopperTheme:"dropdown"})),gd=Gn(to(Fn({},pu),{name:"VMenu",vPopperTheme:"menu"})),_d=Gn(to(Fn({},pu),{name:"VTooltip",vPopperTheme:"tooltip"})),CA=Gn({name:"VTooltipDirective",components:{Popper:_m(),PopperContent:wm},mixins:[bm],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:n=>Ui(n.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:n=>Ui(n.theme,"loadingContent")}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(n){if(typeof this.content=="function"&&this.$_isShown&&(n||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,t=this.content(this);t.then?t.then(s=>this.onResult(e,s)):this.onResult(e,t)}},onResult(n,e){n===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}}),AA=["innerHTML"],NA=["textContent"];function MA(n,e,t,s,i,r){const o=Ks("PopperContent"),a=Ks("Popper");return K(),et(a,Ma({ref:"popper"},n.$attrs,{theme:n.theme,"popper-node":()=>n.$refs.popperContent.$el,onApplyShow:n.onShow,onApplyHide:n.onHide}),{default:tn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,hide:f,handleResize:p,onResize:m,classes:_,result:g})=>[xe(o,{ref:"popperContent",class:bs({"v-popper--tooltip-loading":n.loading}),"popper-id":c,theme:n.theme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":p,classes:_,result:g,onHide:f,onResize:m},{default:tn(()=>[n.html?(K(),ee("div",{key:0,innerHTML:n.finalContent},null,8,AA)):(K(),ee("div",{key:1,textContent:Ke(n.finalContent)},null,8,NA))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","popper-node","onApplyShow","onApplyHide"])}var kA=fu(CA,[["render",MA]]);const xm="v-popper--has-tooltip";function OA(n,e){let t=n.placement;if(!t&&e)for(const s of gm)e[s]&&(t=s);return t||(t=Ui(n.theme||"tooltip","placement")),t}function Tm(n,e,t){let s;const i=typeof e;return i==="string"?s={content:e}:e&&i==="object"?s=e:s={content:!1},s.placement=OA(s,t),s.targetNodes=()=>[n],s.referenceNode=()=>n,s}let Sc,qr,IA=0;function RA(){if(Sc)return;qr=Oe([]),Sc=If({name:"VTooltipDirectiveApp",setup(){return{directives:qr}},render(){return this.directives.map(e=>Ia(kA,to(Fn({},e.options),{shown:e.shown.value||e.options.shown,key:e.id})))},devtools:{hide:!0}});const n=document.createElement("div");document.body.appendChild(n),Sc.mount(n)}function DA(n,e,t){RA();const s=Oe(Tm(n,e,t)),i=Oe(!1),r={id:IA++,options:s,shown:i};return qr.value.push(r),n.classList&&n.classList.add(xm),n.$_popper={options:s,item:r,show(){i.value=!0},hide(){i.value=!1}}}function Sm(n){if(n.$_popper){const e=qr.value.indexOf(n.$_popper.item);e!==-1&&qr.value.splice(e,1),delete n.$_popper,delete n.$_popperOldShown,delete n.$_popperMountTarget}n.classList&&n.classList.remove(xm)}function yd(n,{value:e,oldValue:t,modifiers:s}){const i=Tm(n,e,s);if(!i.content||Ui(i.theme||"tooltip","disabled"))Sm(n);else{let r;n.$_popper?(r=n.$_popper,r.options.value=i):r=DA(n,e,s),typeof e.shown<"u"&&e.shown!==n.$_popperOldShown&&(n.$_popperOldShown=e.shown,e.shown?r.show():r.hide())}}var PA={beforeMount:yd,updated:yd,beforeUnmount(n){Sm(n)}};function vd(n){n.addEventListener("click",Em),n.addEventListener("touchstart",Cm,ji?{passive:!0}:!1)}function wd(n){n.removeEventListener("click",Em),n.removeEventListener("touchstart",Cm),n.removeEventListener("touchend",Am),n.removeEventListener("touchcancel",Nm)}function Em(n){const e=n.currentTarget;n.closePopover=!e.$_vclosepopover_touch,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function Cm(n){if(n.changedTouches.length===1){const e=n.currentTarget;e.$_vclosepopover_touch=!0;const t=n.changedTouches[0];e.$_vclosepopover_touchPoint=t,e.addEventListener("touchend",Am),e.addEventListener("touchcancel",Nm)}}function Am(n){const e=n.currentTarget;if(e.$_vclosepopover_touch=!1,n.changedTouches.length===1){const t=n.changedTouches[0],s=e.$_vclosepopover_touchPoint;n.closePopover=Math.abs(t.screenY-s.screenY)<20&&Math.abs(t.screenX-s.screenX)<20,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Nm(n){const e=n.currentTarget;e.$_vclosepopover_touch=!1}var $A={beforeMount(n,{value:e,modifiers:t}){n.$_closePopoverModifiers=t,(typeof e>"u"||e)&&vd(n)},updated(n,{value:e,oldValue:t,modifiers:s}){n.$_closePopoverModifiers=s,e!==t&&(typeof e>"u"||e?vd(n):wd(n))},beforeUnmount(n){wd(n)}};function FA(n,e={}){n.$_vTooltipInstalled||(n.$_vTooltipInstalled=!0,pm(zs,e),n.directive("tooltip",PA),n.directive("close-popper",$A),n.component("v-tooltip",_d),n.component("VTooltip",_d),n.component("v-dropdown",md),n.component("VDropdown",md),n.component("v-menu",gd),n.component("VMenu",gd))}const VA={version:"2.0.0-y.0",install:FA,options:zs},LA=fC({history:ME(),routes:[...Zc],scrollBehavior(n,e,t){return t||{top:0,behavior:"smooth"}}}),mu=If(EC);mu.use(LA);mu.use(VA);mu.mount("#touchme-app");const BA={class:"stats"},qA={class:"grid"},UA=["x","y","width","height","transform-origin","fill"],jA=["transform"],WA=["height","width","fill","transform-origin"],HA=["x","y"],zA={__name:"stats",setup(n){const{width:e,height:t}=Es();return(s,i)=>(K(),ee("g",BA,[V("g",qA,[(K(),ee(Re,null,yt(10,(r,o)=>V("g",{class:"note",key:r},[(K(),ee(Re,null,yt(12,(a,c)=>{var l,u,h,d,f,p,m,_,g;return V("rect",{style:Be([{transition:"all 300ms ease-out"},`transform: scale(1,${a-4+r*12==((u=(l=w(P))==null?void 0:l.note)==null?void 0:u.number)&&((d=(h=w(P))==null?void 0:h.note)!=null&&d.attack)?((f=w(P))==null?void 0:f.duration)/300+1:1})`]),key:c,x:c*w(e)/12,y:w(t)-w(t)/9*o,width:w(e)/12,height:w(t)/9,"transform-origin":`${w(e)/12} ${w(t)-w(t)/9*(o-.5)}`,fill:w(rt)(c+12*a,3,1,a-4+r*12==((m=(p=w(P))==null?void 0:p.note)==null?void 0:m.number)&&((g=(_=w(P))==null?void 0:_.note)!=null&&g.attack)?1:.05)},null,12,UA)}),64))])),64))]),(K(!0),ee(Re,null,yt(w(P).total.durations,(r,o)=>(K(),ee("g",{class:"stat",key:o,transform:`translate(${o*w(e)/12})`},[V("rect",{x:0,y:0,height:w(t),width:w(e)/12,fill:w(rt)(o,2),"transform-origin":`0 ${w(t)}`,style:Be([{transition:"all 200ms ease-out"},`transform: scale(1,${r/w(P).total.duration||0})`])},null,12,WA),V("text",{x:w(e)/24,y:w(t)-20,"text-anchor":"middle",fill:"currentColor"},Ke(w(RT)[o]),9,HA)],8,jA))),128))]))}},GA=Object.freeze(Object.defineProperty({__proto__:null,default:zA},Symbol.toStringTag,{value:"Module"})),KA={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},YA=["cx","cy","fill","transform-origin"],ZA={class:"ticks"},XA=["transform-origin"],QA=["x1","x2","stroke-width","stroke","transform-origin","transform"],JA=["x1","y1","x2","transform-origin"],Mm={__name:"spiral",setup(n){const{width:e,height:t}=Es(),{midi:s}=oi();return de(()=>(s.time/1e3).toFixed()),(i,r)=>{var o,a,c,l;return K(),ee("g",KA,[V("circle",{class:"center",style:Be([{transition:"all 400ms ease-out"},{transform:`scale(${((o=w(s).note)==null?void 0:o.attack)*w(s).duration/20+1})`}]),cx:w(e)/2,cy:w(t)/2,fill:((a=w(s).note)==null?void 0:a.attack)>0?w(rt)((((c=w(s).note)==null?void 0:c.number)-9)%12):"currentColor",r:5,"transform-origin":`${w(e)/2} ${w(t)/2}`},null,12,YA),V("g",ZA,[(K(),ee(Re,null,yt(120,u=>{var h,d,f,p;return V("g",{key:u,"transform-origin":`${w(e)/2} ${w(t)/2}`,style:Be({transform:`rotate(${u-60}deg)`})},[V("line",{style:{transition:"all 400ms ease-out"},x1:w(e)/2,x2:w(e)/2,y1:10,y2:100,"stroke-width":((h=w(s).note)==null?void 0:h.number)==u&&((d=w(s).note)!=null&&d.attack)?50*(1+w(s).duration/1e3):2,stroke:((f=w(s).note)==null?void 0:f.number)==u&&((p=w(s).note)!=null&&p.attack)?w(rt)((u+3)%12):"currentColor","stroke-linecap":"round","transform-origin":`${w(e)/2} ${w(t)/2}`,transform:`rotate(${u*w(s).time/2e4}) scale(${1-u/120*w(s).time/5e5})`},null,8,QA)],12,XA)}),64))]),V("line",{class:"arrow",style:Be([{transition:"all 400ms ease-out"},{transform:`rotate(${((l=w(s).note)==null?void 0:l.number)*(1+w(s).time/2e4)-60}deg)`}]),x1:w(e)/2,y1:w(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:w(e)/2,y2:20,"transform-origin":`${w(e)/2} ${w(t)/2}`},null,12,JA)])}}};typeof ws=="function"&&ws(Mm);const eN=Object.freeze(Object.defineProperty({__proto__:null,default:Mm},Symbol.toStringTag,{value:"Module"})),tN=["x1","x2","y1","y2","stroke-width","stroke","transform-origin","transform"],nN=["cx","cy","fill","transform-origin"],sN=["x1","x2","y1","y2","transform-origin","transform"],iN=["cx","cy","transform-origin","fill"],rN={__name:"rose",setup(n){const{width:e,height:t}=Es(),s=de(()=>new Array(12).fill(1).map((r,o)=>P.total.notes[o]?DT(o,12,P.total.notes[o]/P.total.hits*e.value*1.2+50,e.value,t.value):{})),i=de(()=>{const r=s.value.filter(a=>a.x&&a.y);return r.map((a,c)=>({x1:a.x,y1:a.y,x2:r[c==r.length-1?0:c+1].x,y2:r[c==r.length-1?0:c+1].y}))});return(r,o)=>{var a,c,l,u,h,d;return K(),ee("g",null,[(K(),ee(Re,null,yt(12,(f,p)=>{var m,_,g,v;return V("line",{style:{transition:"all 500ms ease-out"},key:f,x1:w(e)/2,x2:w(e)/2,y1:w(t)/2,y2:-w(t)/2,"stroke-linecap":"round","stroke-width":((_=(m=w(P))==null?void 0:m.note)==null?void 0:_.pitch)==p&&((v=(g=w(P))==null?void 0:g.note)!=null&&v.attack)?w(P).duration/10:2,stroke:w(rt)(p,4),"transform-origin":`${w(e)/2} ${w(t)/2}`,transform:`rotate(${30*p})`},null,8,tN)}),64)),(K(!0),ee(Re,null,yt(w(s),(f,p)=>(K(),ee("circle",{class:"mix-blend-multiply dark_mix-blend-difference",style:Be([{transition:"all 400ms ease-out"},`transform: scale(${50*w(P).total.durations[p]/w(P).total.duration})`]),key:p,cx:f.x||w(e)/2,r:10,cy:f.y||w(t)/2,fill:w(rt)(p),"stroke-width":"4","transform-origin":`${f.x} ${f.y}`},null,12,nN))),128)),(K(!0),ee(Re,null,yt(w(i),f=>(K(),ee("line",Ma({class:"mix-blend-exclusion",style:{transition:"all 300ms ease-out"},key:f},f,{stroke:"currentColor","stroke-width":"4","stroke-linecap":"round"}),null,16))),128)),V("line",{class:"mix-blend-difference",style:{transition:"all 300ms ease-out"},x1:w(e)/2,x2:w(e)/2,y1:w(t)/2-w(P).duration/5-100,y2:w(t)/2,"transform-origin":`${w(e)/2} ${w(t)/2}`,transform:`rotate(${30*((c=(a=w(P))==null?void 0:a.note)==null?void 0:c.pitch)||0})`,stroke:"white","stroke-width":"4","stroke-linecap":"round"},null,8,sN),V("circle",{style:Be([{transition:"all 200ms ease-out"},`transform: scale(${w(P).duration/1e3})`]),cx:w(e)/2,cy:w(t)/2,r:30,"transform-origin":`${w(e)/2} ${w(t)/2}`,fill:w(rt)((u=(l=w(P))==null?void 0:l.note)==null?void 0:u.pitch,3,(d=(h=w(P))==null?void 0:h.note)==null?void 0:d.attack)},null,12,iN)])}}},oN=Object.freeze(Object.defineProperty({__proto__:null,default:rN},Symbol.toStringTag,{value:"Module"})),aN={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},cN={class:"ticks"},lN=["transform-origin"],uN=["x1","x2","stroke-width","stroke"],hN=["x1","y1","x2","transform-origin"],dN=["cx","cy","fill","transform-origin"],fN=["fill"],pN=["x","y","transform-origin","transform"],mN=["width","x","y","transform-origin","transform"],km={__name:"level",setup(n){const{width:e,height:t}=Es(),{midi:s}=oi();return de(()=>(s.time/1e3).toFixed()),(i,r)=>{var o,a,c,l,u,h,d,f,p;return K(),ee("g",aN,[V("g",cN,[(K(),ee(Re,null,yt(120,m=>{var _,g,v,T;return V("g",{key:m,"transform-origin":`${w(e)/2} ${w(t)/2}`,style:Be({transform:`rotate(${m-60}deg)`})},[V("line",{x1:w(e)/2,x2:w(e)/2,y1:10,y2:70,"stroke-width":((_=w(s).note)==null?void 0:_.number)==m&&((g=w(s).note)!=null&&g.attack)?2+50*w(s).duration/1e3:2,stroke:((v=w(s).note)==null?void 0:v.number)==m&&((T=w(s).note)!=null&&T.attack)?w(rt)((m+3)%12):"currentColor","stroke-linecap":"round"},null,8,uN)],12,lN)}),64))]),V("line",{class:"arrow transition",x1:w(e)/2,y1:w(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:w(e)/2,y2:20,"transform-origin":`${w(e)/2} ${w(t)/2}`,style:Be({transform:`rotate(${((o=w(s).note)==null?void 0:o.number)-60}deg)`})},null,12,hN),V("circle",{class:"center transition",cx:w(e)/2,cy:w(t)/2,fill:((a=w(s).note)==null?void 0:a.attack)>0?w(rt)((((c=w(s).note)==null?void 0:c.number)-9)%12):"currentColor",r:5,"transform-origin":`${w(e)/2} ${w(t)/2}`,style:Be({transform:`scale(${((l=w(s).note)==null?void 0:l.attack)*10+1})`})},null,12,dN),V("g",{fill:((u=w(s).note)==null?void 0:u.attack)>0?w(rt)((((h=w(s).note)==null?void 0:h.number)-9)%12):"currentColor"},[V("text",{class:"transition font-bold","text-anchor":"middle","alignment-baseline":"central",x:w(e)/2,y:w(t)/2*1.5,"font-size":"4em","transform-origin":`${w(e)/2} ${w(t)/2*1.5}`,transform:`scale(${((f=(d=w(s))==null?void 0:d.note)==null?void 0:f.attack)||0})`},Ke(((p=w(s).note)==null?void 0:p.identifier)||""),9,pN),V("rect",{width:w(e)/2,x:w(e)/2-w(e)/4,y:w(t)/2*1.6,height:300,"transform-origin":`${w(e)/2} ${w(t)/2*1.5}`,transform:`scale(${w(s).duration/2e3} 1)`},null,8,mN)],8,fN)])}}};typeof ws=="function"&&ws(km);const gN=Object.freeze(Object.defineProperty({__proto__:null,default:km},Symbol.toStringTag,{value:"Module"})),_N=["viewBox"],yN=V("defs",null,[V("filter",{id:"blur",x:"-300%",y:"-300%",width:"600%",height:"600%"},[V("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"50"})])],-1),vN=["width","height"],wN=["stroke-width","stroke","x1","x2","y1","y2"],bN=V("circle",{"stroke-width":"2",stroke:"white",fill:"hsl(30,90%,80%)",r:"30"},null,-1),xN=V("circle",{r:"3",cx:"20"},null,-1),TN=V("circle",{r:"3",cx:"10"},null,-1),SN=[bN,xN,TN],EN=["cx","cy","r","fill","opacity"],Om={__name:"index",setup(n){const{width:e,height:t}=Es(),{midi:s}=oi(),i=Xp();function r(){const a=Lt({x:100,y:100,angle:0}),c=Oe(0),l=Math.random();return au(()=>{c.value++,a.x=(i(l*100,c.value/2e3)+1)/2,a.y=(i(l*200,c.value/2e3)+1)/2,a.angle=(i(l*300,c.value/2e3)+1)/2}),a}const o=Lt([]);return o.push(r()),o.push(r()),(a,c)=>{var l,u,h,d,f,p,m,_,g,v;return K(),ee("svg",{class:"h-full",id:"visual",version:"1.1",baseProfile:"full",viewBox:`0 0 ${w(e)} ${w(t)}`,xmlns:"http://www.w3.org/2000/svg"},[yN,V("rect",{opacity:"0.1",width:w(e),height:w(t)},null,8,vN),V("line",{style:{transition:"stroke-width 0.2s ease-out"},"stroke-width":((u=(l=w(s))==null?void 0:l.note)==null?void 0:u.number)*((d=(h=w(s))==null?void 0:h.note)==null?void 0:d.velocity)/200*w(s).duration/100,stroke:w(rt)(((p=(f=w(s))==null?void 0:f.note)==null?void 0:p.number)-21),"stroke-linecap":"round",x1:w(o)[0].x*w(e),x2:w(o)[1].x*w(e),y1:w(o)[0].y*w(t),y2:w(o)[1].y*w(t)},null,8,wN),(K(!0),ee(Re,null,yt(w(o),T=>(K(),ee("g",{style:Be([{transition:"transform 0.1s ease-out"},`transform: translate(${T.x*w(e)}px,${T.y*w(t)}px) rotate(${T.angle*360}deg) scale(${w(s).duration/1e3+1})`]),key:T},SN,4))),128)),V("circle",{cx:(w(o)[0].x+w(o)[1].x)*w(e)/2,cy:(w(o)[0].y+w(o)[1].y)*w(t)/2,r:w(s).duration/20+25,fill:w(rt)(((_=(m=w(s))==null?void 0:m.note)==null?void 0:_.number)-9),opacity:.75*((v=(g=w(s))==null?void 0:g.note)==null?void 0:v.attack)||0},null,8,EN)],8,_N)}}};typeof ws=="function"&&ws(Om);const CN=Object.freeze(Object.defineProperty({__proto__:null,default:Om},Symbol.toStringTag,{value:"Module"})),AN=["d","fill","stroke","stroke-width","fill-opacity","transform-origin"],NN={__name:"ring",props:{fill:{type:String,default:"gray"},stroke:{type:String,default:"none"},sWidth:{type:Number,default:0},cx:{type:Number,default:500},cy:{type:Number,default:500},radius:{type:Number,default:450},from:{type:Number,default:0},to:{type:Number,default:360},thickness:{type:Number,default:100},op:{type:Number,default:1},round:{type:Boolean,default:!1}},setup(n){const e=n,t=Lt({from:de(()=>e.from<=e.to?e.from:e.to),to:de(()=>e.from>e.to?e.from:e.to),start:de(()=>s(t.to)),end:de(()=>s(t.from)),largeArcFlag:de(()=>t.to-t.from<=180?"0":"1"),cutout:de(()=>e.radius-e.thickness),start2:de(()=>s(t.to,t.cutout)),end2:de(()=>s(t.from,t.cutout))});function s(a=0,c=e.radius){return o(e.cx,e.cy,c,a)}const i=de(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"L",t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"L",t.start.x,t.start.y,"Z"].join(" ")),r=de(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.start.x,t.start.y,"Z"].join(" "));function o(a,c,l,u){var h=(u-90)*Math.PI/180;return{x:a+l*Math.cos(h),y:c+l*Math.sin(h)}}return(a,c)=>(K(),ee("path",{style:{transition:"all 200ms ease-out"},d:n.round?w(r):w(i),fill:n.fill,stroke:n.stroke,"stroke-width":n.sWidth,"fill-rule":"evenodd","stroke-linejoin":"round","fill-opacity":n.op,"transform-origin":`${n.cx} ${n.cy}`},[Oo(a.$slots,"default")],8,AN))}},MN={class:"donut"},kN=["cx","cy","transform","transform-origin","fill"],ON=["x","y"],IN={__name:"donut",setup(n){const{width:e,height:t}=Es(),s=de(()=>(t.value2*Math.PI*s.value);const i=de(()=>P.total.durations.reduce((a,c)=>a+c)||1),r=de(()=>P.total.durations.map(a=>a/i.value)),o=de(()=>{let a=0;const c=[0];return r.value.forEach(l=>{a+=Number(l),c.push(a)}),c});return(a,c)=>{var u,h,d,f,p,m,_,g;const l=NN;return K(),ee("g",MN,[(K(!0),ee(Re,null,yt(w(r),(v,T)=>(K(),ee("g",null,[xe(l,{style:{transition:"all 500ms ease-out"},cx:w(e)/2,cy:w(t)/2,radius:w(s),fill:w(rt)(T),from:w(o)[T]*360,to:(w(o)[T]+w(r)[T])*360,thickness:w(e)/3},null,8,["cx","cy","radius","fill","from","to","thickness"])]))),256)),V("circle",{style:{transition:"all 200ms ease-out"},cx:w(e)/2,cy:w(t)/2,r:30,opacity:"0.9",transform:`scale(${((h=(u=w(P))==null?void 0:u.note)==null?void 0:h.attack)*w(P).duration/500+1||1})`,"transform-origin":`${w(e)/2} ${w(t)/2}`,fill:w(rt)((f=(d=w(P))==null?void 0:d.note)==null?void 0:f.pitch,3,(m=(p=w(P))==null?void 0:p.note)==null?void 0:m.attack)},null,8,kN),V("text",{x:w(e)/2,y:w(t)/2+8,"text-anchor":"middle","font-size":"14"},Ke((g=(_=w(P))==null?void 0:_.note)==null?void 0:g.identifier),9,ON)])}}},RN=Object.freeze(Object.defineProperty({__proto__:null,default:IN},Symbol.toStringTag,{value:"Module"})),DN={class:"cross"},PN=["x","height","transform-origin","fill"],$N=["x2","stroke","stroke-width","transform-origin"],FN=["cx","cy","transform-origin","fill","opacity"],VN=["transform-origin","width","height"],LN={__name:"cross",setup(n){const{width:e,height:t}=Es();return(s,i)=>{var r,o,a,c,l,u;return K(),ee("g",DN,[V("rect",{style:Be([{transition:"all 300ms ease-in-out"},`transform: scale(${w(P).duration/60}, 1)`]),x:w(e)/2-50,y:0,height:w(t),width:100,"transform-origin":`${w(e)/2} 0`,fill:w(rt)(((o=(r=w(P))==null?void 0:r.note)==null?void 0:o.pitch)-24+7)},null,12,PN),V("line",{class:"mix-blend-multiply dark_mix-blend-difference",style:Be([{transition:"all 300ms ease-in-out"},`transform: translateY(${(127-((c=(a=w(P))==null?void 0:a.note)==null?void 0:c.number))/127*w(t)||0}px)`]),x1:0,x2:w(e),y1:0,y2:0,stroke:w(rt)((u=(l=w(P))==null?void 0:l.note)==null?void 0:u.pitch),"stroke-width":w(P).duration,"transform-origin":`${w(e)/2} 0`},null,12,$N),(K(),ee(Re,null,yt(127,h=>{var d,f,p,m;return V("circle",{style:Be([{transition:"all 300ms ease-in-out"},`transform: scale(${((f=(d=w(P))==null?void 0:d.note)==null?void 0:f.number)==h?w(P).duration/50:1})`]),key:h,cx:w(e)/2,cy:(127-h)/127*w(t)||0,"transform-origin":`${w(e)/2} ${(127-h)/127*w(t)||0}`,r:60,fill:w(rt)((h+3)%12),opacity:((m=(p=w(P))==null?void 0:p.note)==null?void 0:m.number)==h?.9:0},null,12,FN)}),64)),V("rect",{class:"mix-blend-exclusion",style:Be([{transition:"all 100ms ease-in-out"},`transform: scale(1,${w(P).total.duration/w(P).time})`]),fill:"white",opacity:"0.1",x:0,y:0,"transform-origin":`0 ${w(t)}`,width:w(e),height:w(t)},null,12,VN)])}}},BN=Object.freeze(Object.defineProperty({__proto__:null,default:LN},Symbol.toStringTag,{value:"Module"})); +//# sourceMappingURL=index-o4uTN3ka.js.map +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} \ No newline at end of file diff --git a/assets/index-o4uTN3ka.js.map b/assets/index-o4uTN3ka.js.map new file mode 100644 index 0000000..87d73d9 --- /dev/null +++ b/assets/index-o4uTN3ka.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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CD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,mBACN,YAAa,iCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,sBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,oBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,wBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,iBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,UACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,kBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,QACN,YAAa,eACd,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,kBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,cACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,kCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,6BACN,YAAa,yCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,2CACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,0BACN,YAAa,qCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,4BACN,YAAa,uCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IAC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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","isRegExp","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","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","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","lastDirtyLevel","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","_shallow","receiver","isReadonly2","shallow","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","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","CustomRefImpl","factory","customRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","source","defaultValue","propertyToRef","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","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","withScopeId","_id","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","watchEffect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","once","onTrack","onTrigger","_cb","unwatch","forceTrigger","isMultiSource","isShallow$1","traverse","s","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","queuePostRenderEffect","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","path","segments","depth","currentDepth","withDirectives","directives","internalInstance","getExposeProxy","bindings","dir","modifiers","invokeDirectiveHook","oldBindings","binding","hook","leaveCbKey","enterCbKey","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","BaseTransitionImpl","getCurrentInstance","prevTransitionKey","children","getTransitionRawChildren","child","rawProps","mode","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","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","KeepAliveImpl","sharedContext","current","parentSuspense","patch","move","_unmount","createElement","storageContainer","container","anchor","namespace","instance2","vnodeHook","invokeVNodeHook","unmount","resetShapeFlag","pruneCache","filter","pruneCacheEntry","include","exclude","matches","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","subTree","da","rawVNode","isVNode","max","cachedVNode","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","index","renderSlot","fallback","noSlotted","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","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","currentApp","parentProvides","treatDefaultAsFactory","initProps","isStateful","InternalObjectKey","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","match","isSameType","expectedTypes","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","n1","n2","parentComponent","slotScopeIds","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","unmountChildren","needCallTransitionHooks","needTransition","scopeId","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","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","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","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","computed$1","propsOrChildren","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","node","selector","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","vShowOldKey","vShow","setDisplay","CSS_VAR_TEXT","patchStyle","isCssString","setStyle","currentDisplay","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","assignKey","vModelCheckbox","modelValue","elementValue","getValue","checked","assign","found","filtered","getCheckboxValue","setChecked","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","createExtendedExponentialRampToValueAutomationEvent","endTime","insertTime","createExtendedLinearRampToValueAutomationEvent","createSetValueAutomationEvent","startTime","createSetValueCurveAutomationEvent","getTargetValueAtTime","time","valueAtStartTime","timeConstant","isExponentialRampToValueAutomationEvent","automationEvent","isLinearRampToValueAutomationEvent","isAnyRampToValueAutomationEvent","isSetValueAutomationEvent","isSetValueCurveAutomationEvent","getValueOfAutomationEventAtIndexAtTime","automationEvents","getEndTimeAndValueOfPreviousAutomationEvent","currentAutomationEvent","nextAutomationEvent","isCancelAndHoldAutomationEvent","isCancelScheduledValuesAutomationEvent","getEventTime","getExponentialRampValueAtTime","getLinearRampValueAtTime","interpolateValue","theoreticIndex","lowerIndex","upperIndex","getValueCurveValueAtTime","isSetTargetAutomationEvent","AutomationEventList","eventTime","removedAutomationEvent","lastAutomationEvent","startValue","truncatedAutomationEvent","previousAutomationEvent","persistentAutomationEvent","remainingAutomationEvents","firstRemainingAutomationEvent","indexOfNextEvent","indexOfCurrentEvent","createCancelAndHoldAutomationEvent","cancelTime","createCancelScheduledValuesAutomationEvent","createExponentialRampToValueAutomationEvent","createLinearRampToValueAutomationEvent","createSetTargetAutomationEvent","createAbortError","createAddActiveInputConnectionToAudioNode","insertElementInSet","activeInputs","output","input","eventListener","ignoreDuplicates","activeInputConnection","createAddAudioNodeConnections","audioNodeConnectionsStore","audioNode","audioNodeRenderer","nativeAudioNode","createAddAudioParamConnections","audioParamConnectionsStore","audioParam","audioParamRenderer","ACTIVE_AUDIO_NODE_STORE","AUDIO_NODE_CONNECTIONS_STORE","AUDIO_NODE_STORE","AUDIO_PARAM_CONNECTIONS_STORE","AUDIO_PARAM_STORE","CONTEXT_STORE","EVENT_LISTENERS","CYCLE_COUNTERS","NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS","NODE_TO_PROCESSOR_MAPS","isConstructible","constructible","IMPORT_STATEMENT_REGEX","splitImportStatements","url","importStatements","sourceWithoutImportStatements","unresolvedUrl","importStatementWithResolvedUrl","verifyParameterDescriptors","parameterDescriptors","verifyProcessorCtor","processorCtor","createAddAudioWorkletModule","cacheTestResult","createNotSupportedError","evaluateSource","exposeCurrentFrameAndCurrentTime","fetchSource","getNativeContext","getOrCreateBackupOfflineAudioContext","isNativeOfflineAudioContext","nativeAudioWorkletNodeConstructor","ongoingRequests","resolvedRequests","testAudioWorkletProcessorPostMessageSupport","window","moduleURL","resolvedRequestsOfContext","ongoingRequestsOfContext","promiseOfOngoingRequest","nativeContext","promise","absoluteUrl","wrappedSource","evaluateAudioWorkletGlobalScope","nodeNameToProcessorConstructorMap","isSupportingPostMessage","currentIndex","blob","backupOfflineAudioContext","nativeContextOrBackupOfflineAudioContext","updatedResolvedRequestsOfContext","updatedOngoingRequestsOfContext","getValueForKey","map","pickElementFromSet","predicate","matchingElements","matchingElement","deletePassiveInputConnectionToAudioNode","passiveInputs","passiveInputConnections","matchingConnection","passiveInputConnection","getEventListenersOfAudioNode","setInternalStateToActive","isAudioWorkletNode","setInternalStateToPassive","setInternalStateToPassiveWhenNecessary","connections","createAddConnectionToAudioNode","addActiveInputConnectionToAudioNode","addPassiveInputConnectionToAudioNode","connectNativeAudioNodeToNativeAudioNode","deleteActiveInputConnectionToAudioNode","disconnectNativeAudioNodeFromNativeAudioNode","getAudioNodeConnections","getAudioNodeTailTime","getNativeAudioNode","isActiveAudioNode","isPartOfACycle","isPassiveAudioNode","tailTimeTimeoutIds","destination","isOffline","outputs","eventListeners","isActive","nativeDestinationAudioNode","nativeSourceAudioNode","partialConnection","tailTime","tailTimeTimeoutId","outputConnection","createAddPassiveInputConnectionToAudioNode","createAddSilentConnection","createNativeGainNode","nativeAudioScheduledSourceNode","nativeGainNode","disconnect","createAddUnrenderedAudioWorkletNode","getUnrenderedAudioWorkletNodes","audioWorkletNode","DEFAULT_OPTIONS","createAnalyserNodeConstructor","audionNodeConstructor","createAnalyserNodeRenderer","createIndexSizeError","createNativeAnalyserNode","mergedOptions","nativeAnalyserNode","analyserNodeRenderer","maxDecibels","minDecibels","array","isOwnedByContext","createAnalyserNodeRendererFactory","renderInputsOfAudioNode","renderedNativeAnalyserNodes","createAnalyserNode","nativeOfflineAudioContext","renderedNativeAnalyserNode","testAudioBufferCopyChannelMethodsOutOfBoundsSupport","nativeAudioBuffer","wrapAudioBufferGetChannelDataMethod","audioBuffer","getChannelData","channel","createAudioBufferConstructor","audioBufferStore","nativeAudioBufferConstructor","nativeOfflineAudioContextConstructor","testNativeAudioBufferConstructorSupport","wrapAudioBufferCopyChannelMethods","wrapAudioBufferCopyChannelMethodsOutOfBounds","AudioBuffer","length","numberOfChannels","sampleRate","MOST_NEGATIVE_SINGLE_FLOAT","MOST_POSITIVE_SINGLE_FLOAT","createAudioBufferSourceNodeConstructor","audioNodeConstructor","createAudioBufferSourceNodeRenderer","createAudioParam","createInvalidStateError","createNativeAudioBufferSourceNode","wrapEventListener","nativeAudioBufferSourceNode","audioBufferSourceNodeRenderer","wrappedListener","nativeOnEnded","when","offset","resetInternalStateToPassive","createAudioBufferSourceNodeRendererFactory","connectAudioParam","renderAutomation","renderedNativeAudioBufferSourceNodes","stop","createAudioBufferSourceNode","nativeAudioBufferSourceNodeIsOwnedByContext","renderedNativeAudioBufferSourceNode","isAudioBufferSourceNode","isBiquadFilterNode","isConstantSourceNode","isGainNode","isOscillatorNode","isStereoPannerNode","getAudioParamConnections","deactivateActiveAudioNodeInputConnections","trace","audioParams","audioParamConnections","deactivateAudioGraph","isValidLatencyHint","latencyHint","createAudioContextConstructor","baseAudioContextConstructor","createUnknownError","mediaElementAudioSourceNodeConstructor","mediaStreamAudioDestinationNodeConstructor","mediaStreamAudioSourceNodeConstructor","mediaStreamTrackAudioSourceNodeConstructor","nativeAudioContextConstructor","nativeAudioContext","revokeState","mediaElement","mediaStream","mediaStreamTrack","reject","resolvePromise","createAudioDestinationNodeConstructor","createAudioDestinationNodeRenderer","createNativeAudioDestinationNode","channelCount","nativeAudioDestinationNode","audioDestinationNodeRenderer","renderedNativeAudioDestinationNodes","createAudioDestinationNode","renderedNativeAudioDestinationNode","createAudioListenerFactory","createNativeChannelMergerNode","createNativeConstantSourceNode","createNativeScriptProcessorNode","getFirstSample","overwriteAccessors","nativeListener","createFakeAudioParams","buffer","channelMergerNode","isScriptProcessorNodeCreated","lastOrientation","lastPosition","createScriptProcessorNode","scriptProcessorNode","inputBuffer","orientation","positon","createSetOrientation","createSetPosition","createFakeAudioParam","setValue","constantSourceNode","cancelAndHoldAtTime","cancelScheduledValues","exponentialRampToValueAtTime","linearRampToValueAtTime","setTargetAtTime","setValueAtTime","setValueCurveAtTime","forwardX","forwardY","forwardZ","positionX","positionY","positionZ","upX","upY","upZ","isAudioNode","audioNodeOrAudioParam","isAudioNodeOutputConnection","element","lmnt","addActiveInputConnectionToAudioParam","addPassiveInputConnectionToAudioParam","isNativeAudioNodeFaker","nativeAudioNodeOrNativeAudioNodeFaker","fakeNativeDestinationAudioNode","deleteActiveInputConnection","activeInputConnections","deleteActiveInputConnectionToAudioParam","deleteEventListenerOfAudioNode","deletePassiveInputConnectionToAudioParam","getNativeAudioParam","testAudioNodeDisconnectMethodSupport","analyzer","dummy","ones","channelData","chnnlDt","sample","visitEachAudioNodeOnce","cycles","visitor","counts","cycle","count","isNativeAudioNode","nativeAudioNodeOrAudioParam","wrapAudioNodeDisconnectMethod","connect","returnValue","connectionsToDestination","connection","destinationOrOutput","filteredConnections","addConnectionToAudioParamOfAudioContext","nativeAudioParam","deleteInputConnectionOfAudioNode","deleteInputConnectionOfAudioParam","deleteInputsOfAudioNode","listener","deleteInputsOfAudioParam","deleteAnyConnection","audioNodeConnectionsOfSource","destinations","deleteConnectionAtOutput","deleteConnectionToDestination","createAudioNodeConstructor","addAudioNodeConnections","addConnectionToAudioNode","createIncrementCycleCounter","createInvalidAccessError","decrementCycleCounter","detectCycles","eventTargetConstructor","isNativeAudioContext","isNativeAudioParam","isPassive","createAudioParamFactory","addAudioParamConnections","audioParamAudioNodeStore","audioParamStore","createAudioParamRenderer","setValueAtTimeUntilPossible","isAudioParamOfOfflineAudioContext","maxValue","minValue","automationEventList","previousLastEvent","currentLastEvent","convertedValues","firstSample","lastSample","numberOfInterpolatedValues","interpolatedValues","timeOfLastSample","ReadOnlyMap","parameters","createAudioWorkletNodeConstructor","addUnrenderedAudioWorkletNode","createAudioWorkletNodeRenderer","createNativeAudioWorkletNode","getBackupOfflineAudioContext","sanitizeAudioWorkletNodeOptions","setActiveAudioWorkletNodeInputs","testAudioWorkletNodeOptionsClonability","processorConstructor","nativeAudioWorkletNode","audioWorkletNodeRenderer","nm","nativeOnProcessorError","copyFromChannel","channelNumber","bufferOffset","slicedInput","copyToChannel","createNestedArrays","x","y","arrays","getAudioWorkletProcessor","nodeToProcessorMap","processBuffer","renderedBuffer","outputChannelCount","numberOfInputChannels","numberOfOutputChannels","sum","processedBuffer","audioNodeConnections","audioWorkletProcessor","inputs","prmtrs","potentiallyEmptyInputs","activeSourceFlag","outputChannelSplitterNodeOutput","error","createAudioWorkletNodeRendererFactory","connectMultipleOutputs","createNativeChannelSplitterNode","deleteUnrenderedAudioWorkletNode","disconnectMultipleOutputs","renderNativeOfflineAudioContext","renderedNativeAudioNodes","processedBufferPromise","createAudioNode","nativeOutputNodes","nativeAudioWorkletNodeIsOwnedByContext","outputChannelSplitterNode","outputChannelMergerNodes","outputGainNode","numberOfParameters","partialOfflineAudioContext","gainNodes","inputChannelSplitterNodes","constantSourceNodes","inputChannelMergerNode","gainNode","audioBufferSourceNode","outputChannelMergerNode","renderedNativeAudioWorkletNodeOrGainNode","createBaseAudioContextConstructor","addAudioWorkletModule","analyserNodeConstructor","audioBufferConstructor","audioBufferSourceNodeConstructor","biquadFilterNodeConstructor","channelMergerNodeConstructor","channelSplitterNodeConstructor","constantSourceNodeConstructor","convolverNodeConstructor","decodeAudioData","delayNodeConstructor","dynamicsCompressorNodeConstructor","gainNodeConstructor","iIRFilterNodeConstructor","minimalBaseAudioContextConstructor","oscillatorNodeConstructor","pannerNodeConstructor","periodicWaveConstructor","stereoPannerNodeConstructor","waveShaperNodeConstructor","_nativeContext","numberOfInputs","numberOfOutputs","maxDelayTime","feedforward","feedback","real","imag","constraints","audioData","successCallback","errorCallback","createBiquadFilterNodeConstructor","createBiquadFilterNodeRenderer","createNativeBiquadFilterNode","setAudioNodeTailTime","nativeBiquadFilterNode","biquadFilterNodeRenderer","frequencyHz","magResponse","phaseResponse","createBiquadFilterNodeRendererFactory","renderedNativeBiquadFilterNodes","createBiquadFilterNode","nativeBiquadFilterNodeIsOwnedByContext","renderedNativeBiquadFilterNode","createCacheTestResult","ongoingTests","testResults","tester","test","cachedTestResult","ongoingTest","synchronousTestResult","finalTestResult","createChannelMergerNodeConstructor","createChannelMergerNodeRenderer","nativeChannelMergerNode","channelMergerNodeRenderer","createChannelMergerNodeRendererFactory","renderedNativeAudioNode","createChannelSplitterNodeConstructor","createChannelSplitterNodeRenderer","sanitizeChannelSplitterOptions","nativeChannelSplitterNode","channelSplitterNodeRenderer","createChannelSplitterNodeRendererFactory","createConnectAudioParam","renderInputsOfAudioParam","createConnectMultipleOutputs","outputAudioNodes","outputAudioNode","createConnectedNativeAudioBufferSourceNodeFactory","createConstantSourceNodeConstructor","createConstantSourceNodeRendererFactory","nativeConstantSourceNode","constantSourceNodeRenderer","renderedNativeConstantSourceNodes","createConstantSourceNode","nativeConstantSourceNodeIsOwnedByContext","renderedNativeConstantSourceNode","createConvertNumberToUnsignedLong","unit32Array","createConvolverNodeConstructor","createConvolverNodeRenderer","createNativeConvolverNode","nativeConvolverNode","convolverNodeRenderer","createConvolverNodeRendererFactory","renderedNativeConvolverNodes","createConvolverNode","renderedNativeConvolverNode","createCreateNativeOfflineAudioContext","createDataCloneError","detachArrayBuffer","arrayBuffer","port1","port2","closeAndResolve","createDecodeAudioData","createEncodingError","detachedArrayBuffers","isNativeContext","testPromiseSupport","anyContext","complete","fail","createDecrementCycleCounter","cycleCounters","cycleCounter","nativeDestinationAudioParam","createDelayNodeConstructor","createDelayNodeRenderer","createNativeDelayNode","nativeDelayNode","delayNodeRenderer","createDelayNodeRendererFactory","renderedNativeDelayNodes","createDelayNode","nativeDelayNodeIsOwnedByContext","renderedNativeDelayNode","createDeleteActiveInputConnectionToAudioNode","createDeleteUnrenderedAudioWorkletNode","isDelayNode","createDetectCycles","chain","nextLink","mergedCycles","nestedCycles","getOutputAudioNodeAtIndex","createDisconnectMultipleOutputs","createDynamicsCompressorNodeConstructor","createDynamicsCompressorNodeRenderer","createNativeDynamicsCompressorNode","nativeDynamicsCompressorNode","dynamicsCompressorNodeRenderer","previousChannelCount","createDynamicsCompressorNodeRendererFactory","renderedNativeDynamicsCompressorNodes","createDynamicsCompressorNode","nativeDynamicsCompressorNodeIsOwnedByContext","renderedNativeDynamicsCompressorNode","createEvaluateSource","head","script","originalOnErrorHandler","removeErrorEventListenerAndRevokeUrl","message","src","lineno","colno","createEventTargetConstructor","_nativeEventTarget","wrappedEventListener","createExposeCurrentFrameAndCurrentTime","currentTime","createFetchSource","response","createGainNodeConstructor","createGainNodeRenderer","gainNodeRenderer","createGainNodeRendererFactory","renderedNativeGainNodes","createGainNode","nativeGainNodeIsOwnedByContext","renderedNativeGainNode","createGetActiveAudioWorkletNodeInputs","activeAudioWorkletNodeInputsStore","createGetAudioNodeRenderer","createGetAudioNodeTailTime","audioNodeTailTimeStore","createGetAudioParamRenderer","createGetBackupOfflineAudioContext","backupOfflineAudioContextStore","createGetNativeContext","contextStore","createGetOrCreateBackupOfflineAudioContext","createGetUnrenderedAudioWorkletNodes","unrenderedAudioWorkletNodeStore","unrenderedAudioWorkletNodes","wrapIIRFilterNodeGetFrequencyResponseMethod","nativeIIRFilterNode","getFrequencyResponse","createIIRFilterNodeConstructor","createNativeIIRFilterNode","createIIRFilterNodeRenderer","iirFilterNodeRenderer","filterBuffer","feedbackLength","feedforwardLength","minLength","xBuffer","yBuffer","bufferIndex","bufferLength","inputLength","filterFullBuffer","convertedFeedback","convertedFeedforward","filteredBuffer","createIIRFilterNodeRendererFactory","filteredBufferPromise","nativeIIRFilterNodeIsOwnedByContext","createIncrementCycleCounterFactory","createIsAnyAudioContext","anything","createIsAnyAudioNode","audioNodeStore","createIsAnyAudioParam","createIsAnyOfflineAudioContext","createIsNativeAudioContext","createIsNativeAudioNode","createIsNativeAudioParam","createIsNativeContext","createIsNativeOfflineAudioContext","createIsSecureContext","createMediaElementAudioSourceNodeConstructor","createNativeMediaElementAudioSourceNode","nativeMediaElementAudioSourceNode","createMediaStreamAudioDestinationNodeConstructor","createNativeMediaStreamAudioDestinationNode","nativeMediaStreamAudioDestinationNode","createMediaStreamAudioSourceNodeConstructor","createNativeMediaStreamAudioSourceNode","nativeMediaStreamAudioSourceNode","createMediaStreamTrackAudioSourceNodeConstructor","createNativeMediaStreamTrackAudioSourceNode","nativeMediaStreamTrackAudioSourceNode","createMinimalBaseAudioContextConstructor","audioDestinationNodeConstructor","createAudioListener","nativeOnStateChange","uint32Array","createMonitorConnections","whenConnected","whenDisconnected","wasDisconnected","wasConnected","isDisconnected","assignNativeAudioNodeOption","option","assignNativeAudioNodeOptions","testAnalyserNodeGetFloatTimeDomainDataMethodSupport","wrapAnalyserNodeGetFloatTimeDomainDataMethod","byteTimeDomainData","createNativeAnalyserNodeFactory","createNativeAudioBufferConstructor","assignNativeAudioNodeAudioParamValue","wrapAudioBufferSourceNodeStartMethodConsecutiveCalls","isScheduled","wrapAudioScheduledSourceNodeStartMethodNegativeParameters","wrapAudioScheduledSourceNodeStopMethodNegativeParameters","createNativeAudioBufferSourceNodeFactory","addSilentConnection","testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport","testAudioBufferSourceNodeStartMethodOffsetClampingSupport","testAudioBufferSourceNodeStopMethodNullifiedBufferSupport","testAudioScheduledSourceNodeStartMethodNegativeParametersSupport","testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport","testAudioScheduledSourceNodeStopMethodNegativeParametersSupport","wrapAudioBufferSourceNodeStartMethodOffsetClampling","wrapAudioBufferSourceNodeStopMethodNullifiedBuffer","wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls","createNativeAudioContextConstructor","createNativeAudioDestinationNodeFactory","isNodeOfNativeOfflineAudioContext","createNativeAudioWorkletNodeConstructor","testClonabilityOfAudioWorkletNodeOptions","audioWorkletNodeOptions","createNativeAudioWorkletNodeFactory","createNativeAudioWorkletNodeFaker","monitorConnections","baseLatency","patchedEventListeners","onprocessorerror","unpatchedEventListener","patchedEventListener","computeBufferSize","cloneAudioWorkletNodeOptions","createAudioWorkletProcessorPromise","clonedAudioWorkletNodeOptions","createAudioWorkletProcessor","audioWorkletProcessorPromise","createNativeAudioWorkletNodeFakerFactory","getActiveAudioWorkletNodeInputs","messageChannel","bufferSize","parameterMap","channelInterpretation","nativeAudioWorkletNodeFaker","onmessage","dWrkltPrcssr","disconnectOutputsGraph","activeInputIndexes","outputBuffer","isConnected","disconnectFakeGraph","connectFakeGraph","createNativeChannelMergerNodeFactory","wrapChannelMergerNode","wrapChannelSplitterNode","channelSplitterNode","createNativeConstantSourceNodeFactory","createNativeConstantSourceNodeFaker","interceptConnections","original","interceptor","createNativeConstantSourceNodeFakerFactory","audioNodeOptions","nativeConstantSourceNodeFaker","createNativeConvolverNodeFactory","createNativeDynamicsCompressorNodeFactory","createNativeIIRFilterNodeFactory","createNativeIIRFilterNodeFaker","divide","denominator","multiply","evaluatePolynomial","coefficient","z","createNativeIIRFilterNodeFakerFactory","channelCountMode","bufferIndexes","xBuffers","yBuffers","nyquist","omega","numerator","audioStreamTracks","filteredAudioStreamTracks","createNativeMediaStreamTrackAudioSourceNodeFactory","createNativeOfflineAudioContextConstructor","createNativeOscillatorNodeFactory","nativeOscillatorNode","createNativePannerNodeFactory","createNativePannerNodeFaker","nativePannerNode","createNativePannerNodeFakerFactory","createNativeWaveShaperNode","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","orientationX","orientationY","orientationZ","panningModel","refDistance","rolloffFactor","pannerNode","SINGLE_CHANNEL_OPTIONS","inputGainNode","orientationXGainNode","orientationYGainNode","orientationZGainNode","positionXGainNode","positionYGainNode","positionZGainNode","waveShaperNode","nativePannerNodeFaker","createNativePeriodicWaveFactory","disableNormalization","convertedImag","convertedReal","nativePeriodicWave","createNativeStereoPannerNodeFactory","createNativeStereoPannerNodeFaker","nativeStereoPannerNode","createNativeStereoPannerNodeFakerFactory","DC_CURVE","HALF_PI","SINGLE_CHANNEL_WAVE_SHAPER_OPTIONS","buildInternalGraphForMono","panGainNode","leftWaveShaperCurve","rightWaveShaperCurve","leftGainNode","leftWaveShaperNode","panWaveShaperNode","rightGainNode","rightWaveShaperNode","buildInternalGraphForStereo","leftInputForLeftOutputWaveShaperCurve","leftInputForRightOutputWaveShaperCurve","rightInputForLeftOutputWaveShaperCurve","rightInputForRightOutputWaveShaperCurve","centerIndex","leftInputForLeftOutputGainNode","leftInputForLeftOutputWaveShaperNode","leftInputForRightOutputGainNode","leftInputForRightOutputWaveShaperNode","rightInputForLeftOutputGainNode","rightInputForLeftOutputWaveShaperNode","rightInputForRightOutputGainNode","rightInputForRightOutputWaveShaperNode","buildInternalGraph","pan","connectGraph","disconnectGraph","nativeStereoPannerNodeFakerFactory","createNativeWaveShaperNodeFactory","createConnectedNativeAudioBufferSourceNode","createNativeWaveShaperNodeFaker","isDCCurve","nativeWaveShaperNode","curve","disconnectNativeAudioBufferSourceNode","createNativeWaveShaperNodeFakerFactory","oversample","negativeWaveShaperNode","positiveWaveShaperNode","invertGainNode","revertGainNode","unmodifiedCurve","nativeWaveShaperNodeFaker","curveLength","negativeCurve","positiveCurve","createOfflineAudioContextConstructor","createNativeOfflineAudioContext","startRendering","delayStateChangeEvent","createOscillatorNodeConstructor","createNativeOscillatorNode","createOscillatorNodeRenderer","oscillatorNodeRenderer","periodicWave","createOscillatorNodeRendererFactory","renderedNativeOscillatorNodes","createOscillatorNode","nativeOscillatorNodeIsOwnedByContext","renderedNativeOscillatorNode","createPannerNodeConstructor","createNativePannerNode","createPannerNodeRenderer","pannerNodeRenderer","createPannerNodeRendererFactory","renderedBufferPromise","commonAudioNodeOptions","commonNativePannerNodeOptions","nativePannerNodeIsOwnedByContext","nativeConstantSourceNodes","channelDatas","gateGainNode","partialPannerNode","renderedNativeGainNodeOrNativePannerNode","createPeriodicWaveConstructor","createNativePeriodicWave","periodicWaveStore","sanitizePeriodicWaveOptions","PeriodicWave","createRenderAutomation","getAudioParamRenderer","createRenderInputsOfAudioNode","getAudioNodeRenderer","allRenderingPromises","renderingPromises","createRenderInputsOfAudioParam","createRenderNativeOfflineAudioContext","testOfflineAudioContextCurrentTimeSupport","isOfflineAudioContextCurrentTimeSupported","createSetActiveAudioWorkletNodeInputs","createSetAudioNodeTailTime","createStartRendering","createStereoPannerNodeConstructor","createNativeStereoPannerNode","createStereoPannerNodeRenderer","stereoPannerNodeRenderer","createStereoPannerNodeRendererFactory","renderedNativeStereoPannerNodes","createStereoPannerNode","nativeStereoPannerNodeIsOwnedByContext","renderedNativeStereoPannerNode","createTestAudioBufferConstructorSupport","createTestAudioWorkletProcessorPostMessageSupport","offlineAudioContext","isEmittingMessageEvents","isEmittingProcessorErrorEvents","oscillator","createTestOfflineAudioContextCurrentTimeSupport","createWaveShaperNodeConstructor","createWaveShaperNodeRenderer","waveShaperNodeRenderer","createWaveShaperNodeRendererFactory","renderedNativeWaveShaperNodes","createWaveShaperNode","renderedNativeWaveShaperNode","createWindow","createWrapAudioBufferCopyChannelMethods","convertNumberToUnsignedLong","channelNumberAsNumber","bufferOffsetAsNumber","audioBufferLength","destinationLength","sourceLength","createWrapAudioBufferCopyChannelMethodsOutOfBounds","createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer","nullifiedBuffer","createWrapChannelMergerNode","property","createGetter","createSetter","prototype","wrapAudioBufferSourceNodeStartMethodOffsetClamping","clampedOffset","disconnectGainNode","isStopped","createConstantSourceNodeRenderer","isSecureContext","audioContextConstructor","audioWorkletNodeConstructor","offlineAudioContextConstructor","isAnyAudioContext","isAnyAudioNode","isAnyAudioParam","isAnyOfflineAudioContext","isUndef","isDefined","isNumber","isNote","assert","statement","assertRange","gte","lte","assertContextRunning","warn","isInsideScheduledCallback","printedScheduledWarning","enterScheduledCallback","insideCallback","assertUsedScheduleTime","defaultLogger","log","createAudioContext","stdAudioContext","createOfflineAudioContext","channels","stdOfflineAudioContext","theWindow","hasAudioContext","createAudioWorkletNode","stdAudioWorkletNode","__decorate","decorators","desc","__awaiter","_arguments","P","generator","adopt","fulfilled","step","rejected","Ticker","updateInterval","contextSampleRate","blobUrl","worker","interval","isAudioParam","isOfflineAudioContext","isAudioContext","isAudioBuffer","noCopy","deepMerge","sources","deepEquals","arrayA","arrayB","optionsFromArguments","defaults","argsArray","objKey","opts","getDefaultsFromInstance","defaultArg","given","omitFromObject","omit","Tone","EPSILON","GT","GTE","EQ","LT","clamp","min","Timeline","lastValue","param","after","beginning","midPoint","nextEvent","testEvent","lowerBound","upperBound","notifyNewContext","onContextInit","initializeContext","notifyCloseContext","onContextClose","closeContext","Emitter","eventName","boundCallback","eventList","constr","BaseContext","Context","_b","feedForward","stream","t","constant","now","firstEvent","intervalFn","DummyContext","_numberOfChannels","_length","_sampleRate","_numberOfInputs","_numberOfOutputs","_maxDelayTime","_feedForward","_feedback","_real","_imag","_constraints","_stream","_element","_audioData","_name","_options","_url","_fn","_timeout","_interval","_val","_d","readOnly","writable","noOp","ToneAudioBuffer","getContext","doneLoading","isMultidimensional","multiChannelArray","chanNum","outputArray","numChannels","channelArray","startSamples","endSamples","retBuffer","rev","extensions","extension","ext","baseUrl","location","OfflineContext","asynchronous","yieldEvery","dummyContext","globalContext","setContext","disposeOld","printString","dbToGain","db","gainToDb","gain","intervalToFrequencyRatio","A4","getA4","setA4","freq","ftom","frequency","ftomf","mtof","midi","TimeBaseClass","units","dot","numericValue","scalar","q","total","typeName","quantity","expr","matching","beats","seconds","ticks","TimeClass","capture","quantTo","subdiv","percent","subdivision","testNotations","power","closest","closestSeconds","notation","notationSeconds","quarterTime","quarters","measures","sixteenths","sixteenthString","FrequencyClass","pitch","octave","noteNumber","noteToScaleIndex","intervals","scaleIndexToNote","Frequency","TransportTimeClass","ToneWithContext","attribute","member","StateTimeline","initial","Param","computedTime","previous","previousVal","beforeValue","currentVal","rampTime","scaling","startingValue","segTime","valueAtTime","previousEvent","subdivisions","t0","v0","v1","t1","ToneAudioNode","nodeList","outputNum","inputNum","nodes","connectSeries","first","srcNode","dstNode","outputNumber","inputNumber","Gain","OneShotSource","fadeInTime","fadeOutTime","additionalTail","disposeCallback","ToneConstantSource","Signal","connectSignal","convert","overridden","signal","TickParam","computedValue","prevEvent","rampVal","ticksUntilTime","computedVal","segmentDur","val0","val1","onTheLineEvent","currentTick","tick","delta","sol1","sol2","computedDuration","startTicks","TickSignal","TickSource","stopEvent","memoizedEvent","tmpEvent","lastState","elapsedTicks","eventToMemoize","periodStartTime","offsetEvent","elapsedSeconds","absoluteTicks","lastStateEvent","maxStartTime","ticksAtStart","nextTickTime","Clock","Delay","maxDelayInSeconds","ToneAudioBuffers","onerror","MidiClass","Midi","TicksClass","Draw","IntervalTimeline","IntervalNode","results","replacement","balance","temp","isLeftChild","pivotNode","allNodes","low","high","point","Volume","mute","Destination","TimelineValue","SignalOperator","WaveShaper","mapping","oversampling","isOverSampleType","Pow","exponent","TransportEvent","transport","tickDuration","TransportRepeatEvent","Transport","tickTime","progress","amount","eventId","timeline","computedAfter","offsetTicks","timeSig","startPosition","endPosition","loop","remainingTick","ppq","transportPos","remainingTicks","ratio","sourceValue","scaleFactor","scaleBefore","reciprocal","scaleAfter","ratioSignal","syncedSignal","Source","sched","stateEvent","startOffset","ToneBufferSource","computedOffset","loopEnd","loopStart","loopDuration","computedDur","Noise","_noiseBuffers","rate","BUFFER_LENGTH","NUM_CHANNELS","_noiseCache","channelNum","lastOut","white","b0","b1","b2","b3","b4","b5","b6","generateWaveform","ToneOscillatorNode","Oscillator","description","oscProps","isBasicType","partials","wave","baseType","partial","fullPartials","phase","periodicWaveSize","partialCount","piFactor","twoPi","testPositions","AudioToGain","Multiply","AMOscillator","FMOscillator","PulseOscillator","FatOscillator","osc","iterator","spread","PWMOscillator","OmniOscillatorSourceMap","OmniOscillator","prefix","oscType","OscConstructor","oldOsc","sType","sourceType","mType","Add","Scale","Zero","LFO","currentMin","currentMax","range","valueMap","propertyKey","timeRange","Player","origDuration","GainToAudio","Envelope","direction","curveName","EnvelopeCurves","curveDef","velocity","attack","decay","currentValue","attackRate","decayValue","decayStart","release","attackPortion","envelopeDuration","sustainTime","totalDuration","cosineCurve","rippleCurve","rippleCurveFreq","sineWave","stairsCurve","steps","sineCurve","bounceCurve","invertCurve","out","reverseCurve","Instrument","changed","timePosition","originalMethod","note","Monophonic","computedFrequency","portTime","AmplitudeEnvelope","Synth","computedAttack","computedDecay","BiquadFilter","freqValues","magValues","phaseValues","filterClone","Filter","rolloff","rolloffNum","possibilities","cascadingCount","totalResponse","FrequencyEnvelope","octaves","MonoSynth","MembraneSynth","hertz","maxNote","workletContext","addToWorklet","classOrFunction","registerProcessor","classDesc","processor","toneAudioWorkletProcessor","singleIOProcess","delayLine","workletName","feedbackCombFilter","PolySynth","voice","activeVoiceIndex","firstAvail","notes","midiNote","released","durationSeconds","sanitizedOptions","Sampler","urlMap","mid","midiFloat","remainder","difference","closestNote","playbackRate","CrossFade","Effect","LFOEffect","Panner","AutoPanner","bitCrusherWorklet","Merge","FeedbackEffect","FeedbackDelay","Reverb","previousReady","noiseL","noiseR","merge","renderPromise","Solo","solo","PanVol","Channel","volume","bus","sendKnob","Listener","Compressor","EventEmitter","eventsSuspended","listeners","params","Enumerations","Note","wm","Utilities","fragments","octaveOffset","semitoneOffset","identifier","accidental","ch","parsed","msb","lsb","multiplied","cm","OutputChannel","pressure","controller","parameter","valid","noteOffOptions","nVelocity","command","coarse","fine","semitones","cents","nrpn","program","rpn","Output","midiOutput","legacy","Message","identification","Forwarder","InputChannel","data1","data2","numberedEvent","namedEvent","paramMsb","paramLsb","subtype","legacyEvent","Input","midiInput","forwarder","WebMidi","jzz","errorEvent","midiAccessGrantedEvent","enabledEvent","promises","portsChangedEvent","nInput","nOutput","tryOnScopeDispose","toValue","isClient","toString","noop","isIOS","getIsIOS","createFilterWrapper","bypassFilter","invoke","pausableFilter","extendFilter","pause","resume","eventFilter","getLifeCycleTarget","toRef$1","watchWithFilter","watchPausable","tryOnMounted","sync","unrefElement","elRef","plain","defaultWindow","defaultDocument","useEventListener","events","cleanups","options2","stopWatch","optionsClone","_iOSWorkaround","onClickOutside","ignore","detectIframe","shouldListen","shouldIgnore","target2","createKeyPredicate","keyFilter","onKeyStroke","passive","dedupe","onKeyDown","useMounted","useSupported","useRafFn","fpsLimit","intervalLimit","previousFrameTimestamp","rafId","timestamp","useMediaQuery","query","isSupported","mediaQuery","_global","globalKey","handlers","getHandlers","getSSRHandler","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","storage","listenToStorageChanges","writeDefaults","mergeDefaults","onError","initOnMounted","_a2","serializer","pauseWatch","resumeWatch","pausableWatch","write","updateFromCustomEvent","serialized","read","usePreferredDark","useColorMode","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","defaultOnChanged","onChanged","auto","useMutationObserver","mutationOptions","observer","takeRecords","useDark","valueDark","valueLight","mode2","defaultHandler","modeVal","useResizeObserver","observerOptions","targets","els","_el","useElementBounding","reset","windowResize","windowScroll","height","bottom","left","right","top","width","rect","ele","eventHandlers","useFullscreen","document","autoExit","targetRef","isFullscreen","requestMethod","exitMethod","fullscreenEnabled","fullscreenElementMethod","isCurrentElementFullScreen","isElementFullScreen","exit","enter","toggle","handlerCallback","isElementFullScreenValue","noteKeys","useKeyboard","playMidi","off","title","ev","noteInOn","_c","dur","useMidi","setupMidi","outs","midiAttack","midiRelease","midiOnce","setCC","initMidi","cc","ccIn","createChannel","setVelocity","midiPlay","midiStop","forwardMidi","iid","oid","useClamp","_value","value2","synth","synthOptions","useSynth","synthReleaseAll","bpm","synthAttack","synthRelease","play","init","synthOnce","started","bpms","types","pitchColor","alpha","getCircleCoord","radius","angle","block0","__props","color","panel","isDark","full","supported","cycleOctaves","oct","F2","G2","fastFloor","grad2","createNoise2D","random","perm","buildPermutationTable","permGrad2x","permGrad2y","n0","X0","Y0","x0","y0","i1","j1","x1","y1","x2","y2","ii","jj","gi0","g0x","g0y","gi1","g1x","g1y","t2","gi2","g2x","g2y","aux","__classPrivateFieldSet","privateMap","__classPrivateFieldGet","_block","_blocks","_bytes","_finalized","_first","_h0","_h1","_h2","_h3","_h4","_h5","_h6","_h7","_hashed","_hBytes","_is224","_lastByteIndex","_start","BKDRHash","seed","seed2","hash","MAX_SAFE_INTEGER","HEX_CHARS","EXTRA","SHIFT","K","blocks","Sha256","is224","sharedMemory","msg","code","f","s0","maj","ab","cd","bc","h0","h1","h3","h4","h5","h6","h7","hex","dataView","Sha256ToInt","sha256","RGB2HEX","RGBArray","HSL2RGB","H","S","L","ColorHash","hueResolution","hsl","rgb","__pages_import_0__","__vitePreload","stats","__pages_import_1__","spiral","__pages_import_2__","rose","__pages_import_3__","level","__pages_import_4__","__pages_import_5__","donut","__pages_import_6__","cross","routes","visual","activeScene","useScene","isBrowser","isESModule","applyToParams","newParams","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","searchString","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","position","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","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","optional","regexp","re","subPattern","parse","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","parser","matcher","createRouterMatcher","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","partialOptions","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","decode","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","enterCallbackArray","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","link","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","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","runWithContext","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorListeners","ready","list","isReady","scrollBehavior","reactiveRoute","unmountApp","recordFrom","recordTo","useRouter","useRoute","noise2D","getColor","color1","color2","hits","randomScene","rnd","scs","scenes","getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","_ref","reference","floating","commonX","commonY","coords","mainAxis","computePosition","config","strategy","middleware","platform","rects","statefulPlacement","middlewareData","nextX","nextY","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","detectOverflow","middlewareArguments","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","elementClientRect","within","min$1","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","hash$1","getOppositePlacement","getAlignmentSides","isStart","mainAlignmentSide","getOppositeAlignmentPlacement","basePlacements","allPlacements","acc","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentPlacement","main","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","getBoundingClientRect","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","_node$ownerDocument","scrollParent","isBody","updatedList","contains","rootNode","getInnerBoundingClientRect","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","_ref2","_ref3","_ref4","_ref5","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","getDefaultConfig","theme","themeConfig","getThemeClasses","supportsPassive","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","shownPoppers","hidingPopper","Element","defaultPropFactory","PrivatePopper","skipDelay","isPlacementAuto","centerOffset","delay","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","addListeners2","targetNodes","eventType","addEvents","eventMap","commonTriggers","customTrigger","triggers","handleShow","handleHide","touch","attrFrom","attrTo","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","_withId","_hoisted_1$2","_ctx","_cache","$props","$setup","$data","$options","PrivateThemeClass","_export_sfc","sfc","_sfc_main$5","_hoisted_1$1","_hoisted_2$1","_hoisted_3","createElementVNode","_hoisted_4","_hoisted_5","_sfc_render$2","_component_ResizeObserver","$event","PrivatePopperContent","PrivatePopperMethods","_sfc_main$4","_sfc_render$1","_component_PopperContent","_component_Popper","popperId","isShown","shouldMountContent","autoHide","show","hide","handleResize","onResize","classes","PrivatePopperWrapper","_sfc_main$3","_sfc_main$2","_sfc_main$1","_sfc_main","fetchId","_hoisted_1","_hoisted_2","_sfc_render","PrivateTooltipDirective","TARGET_CLASS","getPlacement","pos","getOptions","directiveApp","ensureDirectiveApp","mountTarget","createTooltip","shown","destroyTooltip","bind","PrivateVTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","firstTouch","PrivateVClosePopper","install","savedPosition","App","FloatingVue","lines","active","useActor","actor","actors","arc","getPolar","polarToCartesian","pill","centerX","centerY","angleInDegrees","angleInRadians","totalDur","parts","part"],"sources":["../../node_modules/.pnpm/@vue+shared@3.4.3/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/.pnpm/@vue+reactivity@3.4.3/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-core@3.4.3/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-dom@3.4.3/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/version.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-target-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/any-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-of-automation-event-at-index-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-end-time-and-value-of-previous-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-event-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-exponential-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-linear-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/interpolate-value.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-curve-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-target-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/classes/automation-event-list.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-target-automation-event.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/abort-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/globals.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-constructible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/split-import-statements.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-worklet-module.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-value-for-key.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/pick-element-from-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-active.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive-when-necessary.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-silent-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-owned-by-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/index-size-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-get-channel-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/constants.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-active-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-buffer-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/constant-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/oscillator-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/stereo-panner-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-active-audio-node-input-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-audio-graph.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-valid-latency-hint.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-listener-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node-output-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/insert-element-in-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node-faker.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/connect-native-audio-node-to-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/disconnect-native-audio-node-from-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-part-of-a-cycle.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-passive-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-node-disconnect-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/visit-each-audio-node-once.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-node-disconnect-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/read-only-map.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-from-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-to-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-nested-arrays.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/cache-test-result.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connected-native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convert-number-to-unsigned-long.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/create-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/data-clone-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/detach-array-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decode-audio-data.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decrement-cycle-counter.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/detect-cycles.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/disconnect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/encoding-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/evaluate-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/event-target-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/expose-current-frame-and-current-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/fetch-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-state-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-or-create-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-unrendered-audio-worklet-nodes.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-access-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-iir-filter-node-get-frequency-response-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/filter-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/increment-cycle-counter-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-secure-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-element-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-track-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/minimal-base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-promise-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/monitor-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-option.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-analyser-node-get-float-time-domain-data-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-analyser-node-get-float-time-domain-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-analyser-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-audio-param-value.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-start-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-clonability-of-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/compute-buffer-size.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/clone-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor-promise.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-merger-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/intercept-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-convolver-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-dynamics-compressor-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-element-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-track-audio-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-oscillator-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-periodic-wave-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-script-processor-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/not-supported-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/periodic-wave-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-automation.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/start-rendering.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-buffer-constructor-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-worklet-processor-post-message-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-offline-audio-context-current-time-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/unknown-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/window.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-source-node-stop-method-nullified-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-channel-merger-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-first-sample.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-dc-curve.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/overwrite-accessors.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-channel-splitter-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-periodic-wave-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-value-at-time-until-possible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-offset-clamping-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-stop-method-nullified-buffer-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-start-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-worklet-node-options-clonability.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-offset-clamping.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-event-listener.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/module.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Debug.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/AudioContext.js","../../node_modules/.pnpm/tslib@2.4.0/node_modules/tslib/tslib.es6.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Ticker.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/AdvancedTypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Defaults.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Tone.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Math.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Timeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ContextInitialization.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Emitter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/BaseContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Context.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/DummyContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Interface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffer.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/OfflineContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Global.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Conversions.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TimeBase.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Time.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Frequency.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TransportTime.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneWithContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/StateTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Param.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Gain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/OneShotSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/ToneConstantSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Signal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickParam.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSignal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Clock.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Delay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffers.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Midi.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Ticks.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Draw.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/IntervalTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Volume.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Destination.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TimelineValue.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/SignalOperator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/WaveShaper.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Pow.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportRepeatEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Transport.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Source.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/ToneBufferSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Noise.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OscillatorInterface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/ToneOscillatorNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/Oscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/AudioToGain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Multiply.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/AMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PulseOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FatOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PWMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OmniOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Add.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Scale.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Zero.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/LFO.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Decorator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/Player.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/GainToAudio.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/Envelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Instrument.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Monophonic.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/AmplitudeEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Synth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/BiquadFilter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/Filter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/FrequencyEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MonoSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MembraneSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/WorkletGlobalScope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/SingleIOProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/DelayLine.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/FeedbackCombFilter.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/PolySynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Sampler.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/CrossFade.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Effect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/LFOEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Panner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/AutoPanner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/BitCrusher.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Merge.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackDelay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Reverb.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Solo.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/PanVol.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Channel.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Listener.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/dynamics/Compressor.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/index.js","../../node_modules/.pnpm/webmidi@3.1.8/node_modules/webmidi/dist/esm/webmidi.esm.js","../../node_modules/.pnpm/@vueuse+shared@10.7.1_vue@3.4.3/node_modules/@vueuse/shared/index.mjs","../../node_modules/.pnpm/@vueuse+core@10.7.1_vue@3.4.3/node_modules/@vueuse/core/index.mjs","../../src/use/midi.js","../../node_modules/.pnpm/@vueuse+math@10.7.1_vue@3.4.3/node_modules/@vueuse/math/index.mjs","../../src/use/synth.js","../../src/components/state/start.vue","../../src/components/state/bpm.vue","../../src/components/state/oscillator.vue","../../src/use/chromatone.js","../../../../../../../../../@vite-plugin-pages/route-block","../../src/components/midi/log.vue","../../src/components/midi/input.vue","../../src/components/midi/panel.vue","../../src/components/midi/state.vue","../../src/use/state.js","../../src/components/state/fullscreen.vue","../../src/components/state/overlay.vue","../../node_modules/.pnpm/simplex-noise@4.0.1/node_modules/simplex-noise/dist/esm/simplex-noise.js","../../node_modules/.pnpm/color-hash@2.0.2/node_modules/color-hash/dist/esm.js","../../../../../../../../../@vite-plugin-pages/generated-pages?id=~pages","../../src/use/scene.js","../../node_modules/.pnpm/vue-router@4.2.5_vue@3.4.3/node_modules/vue-router/dist/vue-router.mjs","../../src/app.vue","../../node_modules/.pnpm/@floating-ui+core@0.3.1/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../node_modules/.pnpm/@floating-ui+dom@0.1.10/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../../node_modules/.pnpm/floating-vue@2.0.0-y.0_vue@3.4.3/node_modules/floating-vue/dist/floating-vue.es.js","../../src/main.js","../../src/scenes/stats.vue","../../src/scenes/spiral.vue","../../src/scenes/rose.vue","../../src/scenes/level.vue","../../src/scenes/index.vue","../../src/components/scene/ring.vue","../../src/scenes/donut.vue","../../src/scenes/cross.vue"],"sourcesContent":["function 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) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\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 const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\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);\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 = /^-?>||--!>| 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 isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\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, 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","import { 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 = 3;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._queryings = 0;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n this._queryings++;\n pauseTracking();\n for (const dep of this.deps) {\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 2) {\n break;\n }\n }\n }\n resetTracking();\n this._queryings--;\n }\n return this._dirtyLevel >= 2;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 3 : 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 var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\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 && 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 if (!effect2.allowRecurse && effect2._runnings) {\n continue;\n }\n if (effect2._dirtyLevel < dirtyLevel && (!effect2._runnings || dirtyLevel !== 2)) {\n const lastDirtyLevel = effect2._dirtyLevel;\n effect2._dirtyLevel = dirtyLevel;\n if (lastDirtyLevel === 0 && (!effect2._queryings || dirtyLevel !== 2)) {\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.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 3,\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 var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.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 const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _shallow = false) {\n this._isReadonly = _isReadonly;\n this._shallow = _shallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, shallow = this._shallow;\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 shallow;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? 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 (shallow) {\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(shallow = false) {\n super(false, shallow);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._shallow) {\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(shallow = false) {\n super(true, shallow);\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 console.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 = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\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 console.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 console.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 isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\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(this, 1)\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 trackRefValue(self);\n if (!self._cacheable || self.effect.dirty) {\n if (hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 2);\n }\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 console.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 if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n ref2.dep || (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 = 3, 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, 3, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 3, !!(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 console.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","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, customRef, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, 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, isSet, isMap, isPlainObject, hasChanged, remove, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr } 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.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 let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\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 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}\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/errors/#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 callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\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)];\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 activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\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};\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 props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\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 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 props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\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);\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);\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 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);\n if (!childRoot) {\n return [vnode, void 0];\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) {\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 }\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 if (!el)\n return;\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 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 ` 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 == null ? void 0 : 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 suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\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 next(activeBranch),\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 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(` 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 const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.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 var _a;\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\") && !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 = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = isShallow$1(source) || deep === false ? () => traverse(source, 1) : () => traverse(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s, isShallow$1(s) || deep === false ? 1 : void 0);\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 (instance && instance.isUnmounted) {\n return;\n }\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 unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.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 cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\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, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, 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 const internalInstance = currentRenderingInstance;\n if (internalInstance === 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(internalInstance) || internalInstance.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 let prevTransitionKey;\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 \" 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\"))\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 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 let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\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 return isKeepAlive(vnode) ? (\n // #7121 ensure get the child component subtree in case\n // it's been replaced during HMR\n !!(process.env.NODE_ENV !== \"production\") && vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0\n ) : vnode;\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 setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\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 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, \"get\", key);\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\n\n\n","\n\n","\n\n\n\n","export const midiA = 69\n\nexport const notes = ['A', 'A#', 'B', 'C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#',]\n\n\nexport function pitchNoteOctave(pitch) {\n return {\n note: pitch > 0 ? pitch % 12 : 12 + (pitch % 12),\n octave: Math.floor(pitch / 12) + 4,\n }\n}\n\nexport function pitchFreq(\n pitch = 0,\n octave = 3,\n middleA = 440,\n tuning = 'equal',\n) {\n let hz = 0\n const justCents = [0, 112, 204, 316, 386, 498, 590, 702, 814, 884, 1017, 1088]\n if (tuning == 'equal') {\n hz = Number(middleA * Math.pow(2, octave - 3 + pitch / 12))\n }\n if (tuning == 'just') {\n let diff = Number(Math.pow(Math.pow(2, 1 / 1200), justCents[pitch]))\n hz = Number(middleA * Math.pow(2, octave - 4) * diff)\n }\n return hz\n}\n\nexport function pitchColor(pitch = 0, octave, velocity = 1, alpha = 1) {\n octave = octave || Math.floor(pitch / 12) + 4\n return `hsla(${(pitch % 12) * 30},${velocity * 100}%,${Math.abs(octave + 2) * 8\n }%,${alpha})`\n}\n\nexport function freqColor(freq) {\n return pitchColor(freqPitch(freq))\n}\n\nexport function freqPitch(freq, middleA = 440) {\n return 12 * (Math.log(freq / middleA) / Math.log(2))\n}\n\nexport function isInChroma(chroma, tonic, note) {\n return chroma.split('')[(24 + note - tonic) % 12] == '1'\n}\n\nexport function getCircleCoord(n = 0, total = 12, radius = 35, width = 100, height = 100) {\n let angle = ((n - total / 4) / (total / 2)) * Math.PI // Calculate the angle at which the element will be placed.\n // For a semicircle, we would use (i / numNodes) * Math.PI.\n let x = radius * Math.cos(angle) + width / 2 // Calculate the x position of the element.\n let y = radius * Math.sin(angle) + height / 2 // Calculate the y position of the element.\n return { x, y }\n}\n\nexport function rotateArray(arr, count = 1) {\n return [...arr.slice(count, arr.length), ...arr.slice(0, count)]\n}\n\nexport function clampNum(main, delta, min = 0, max = 100) {\n return Math.max(min, Math.min(Number(main) + Number(delta), max));\n}","export default {};","\n\n\n\n\n\n\n\ntitle: Log\nsubtitle: by Chromatone \n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n","import { useDark } from '@vueuse/core'\nimport { getDestination, gainToDb } from 'tone'\n\nexport const isDark = useDark()\n\nconst audio = reactive({\n initiated: false,\n mute: useStorage('mute', false),\n volume: useClamp(useStorage('main-vol', 1), 0, 1),\n})\n\n\nexport function useAudio() {\n if (!audio.initiated) {\n watchEffect(() => {\n getDestination().mute = audio.mute\n })\n\n watchEffect(() => {\n getDestination().volume.targetRampTo(gainToDb(audio.volume), 0.1)\n })\n }\n audio.initiated = true\n return audio\n}","\n\n\n\n","\n\n\n\n","/*\n * A fast javascript implementation of simplex noise by Jonas Wagner\n\nBased on a speed-improved simplex noise algorithm for 2D, 3D and 4D in Java.\nWhich is based on example code by Stefan Gustavson (stegu@itn.liu.se).\nWith Optimisations by Peter Eastman (peastman@drizzle.stanford.edu).\nBetter rank ordering method by Stefan Gustavson in 2012.\n\n Copyright (c) 2022 Jonas Wagner\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n// these #__PURE__ comments help uglifyjs with dead code removal\n// \nconst F2 = 0.5 * (Math.sqrt(3.0) - 1.0);\nconst G2 = (3.0 - Math.sqrt(3.0)) / 6.0;\nconst F3 = 1.0 / 3.0;\nconst G3 = 1.0 / 6.0;\nconst F4 = (Math.sqrt(5.0) - 1.0) / 4.0;\nconst G4 = (5.0 - Math.sqrt(5.0)) / 20.0;\n// I'm really not sure why this | 0 (basically a coercion to int)\n// is making this faster but I get ~5 million ops/sec more on the\n// benchmarks across the board or a ~10% speedup.\nconst fastFloor = (x) => Math.floor(x) | 0;\nconst grad2 = new Float64Array([1, 1,\n -1, 1,\n 1, -1,\n -1, -1,\n 1, 0,\n -1, 0,\n 1, 0,\n -1, 0,\n 0, 1,\n 0, -1,\n 0, 1,\n 0, -1]);\n// double seems to be faster than single or int's\n// probably because most operations are in double precision\nconst grad3 = new Float64Array([1, 1, 0,\n -1, 1, 0,\n 1, -1, 0,\n -1, -1, 0,\n 1, 0, 1,\n -1, 0, 1,\n 1, 0, -1,\n -1, 0, -1,\n 0, 1, 1,\n 0, -1, 1,\n 0, 1, -1,\n 0, -1, -1]);\n// double is a bit quicker here as well\nconst grad4 = new Float64Array([0, 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1,\n 0, -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1,\n 1, 0, 1, 1, 1, 0, 1, -1, 1, 0, -1, 1, 1, 0, -1, -1,\n -1, 0, 1, 1, -1, 0, 1, -1, -1, 0, -1, 1, -1, 0, -1, -1,\n 1, 1, 0, 1, 1, 1, 0, -1, 1, -1, 0, 1, 1, -1, 0, -1,\n -1, 1, 0, 1, -1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, -1,\n 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1, 0,\n -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1, 0]);\n/**\n * Creates a 2D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction2D}\n */\nexport function createNoise2D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating this yields a little ~3% performance improvement.\n const permGrad2x = new Float64Array(perm).map(v => grad2[(v % 12) * 2]);\n const permGrad2y = new Float64Array(perm).map(v => grad2[(v % 12) * 2 + 1]);\n return function noise2D(x, y) {\n // if(!isFinite(x) || !isFinite(y)) return 0;\n let n0 = 0; // Noise contributions from the three corners\n let n1 = 0;\n let n2 = 0;\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y) * F2; // Hairy factor for 2D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const t = (i + j) * G2;\n const X0 = i - t; // Unskew the cell origin back to (x,y) space\n const Y0 = j - t;\n const x0 = x - X0; // The x,y distances from the cell origin\n const y0 = y - Y0;\n // For the 2D case, the simplex shape is an equilateral triangle.\n // Determine which simplex we are in.\n let i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords\n if (x0 > y0) {\n i1 = 1;\n j1 = 0;\n } // lower triangle, XY order: (0,0)->(1,0)->(1,1)\n else {\n i1 = 0;\n j1 = 1;\n } // upper triangle, YX order: (0,0)->(0,1)->(1,1)\n // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and\n // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where\n // c = (3-sqrt(3))/6\n const x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords\n const y1 = y0 - j1 + G2;\n const x2 = x0 - 1.0 + 2.0 * G2; // Offsets for last corner in (x,y) unskewed coords\n const y2 = y0 - 1.0 + 2.0 * G2;\n // Work out the hashed gradient indices of the three simplex corners\n const ii = i & 255;\n const jj = j & 255;\n // Calculate the contribution from the three corners\n let t0 = 0.5 - x0 * x0 - y0 * y0;\n if (t0 >= 0) {\n const gi0 = ii + perm[jj];\n const g0x = permGrad2x[gi0];\n const g0y = permGrad2y[gi0];\n t0 *= t0;\n // n0 = t0 * t0 * (grad2[gi0] * x0 + grad2[gi0 + 1] * y0); // (x,y) of grad3 used for 2D gradient\n n0 = t0 * t0 * (g0x * x0 + g0y * y0);\n }\n let t1 = 0.5 - x1 * x1 - y1 * y1;\n if (t1 >= 0) {\n const gi1 = ii + i1 + perm[jj + j1];\n const g1x = permGrad2x[gi1];\n const g1y = permGrad2y[gi1];\n t1 *= t1;\n // n1 = t1 * t1 * (grad2[gi1] * x1 + grad2[gi1 + 1] * y1);\n n1 = t1 * t1 * (g1x * x1 + g1y * y1);\n }\n let t2 = 0.5 - x2 * x2 - y2 * y2;\n if (t2 >= 0) {\n const gi2 = ii + 1 + perm[jj + 1];\n const g2x = permGrad2x[gi2];\n const g2y = permGrad2y[gi2];\n t2 *= t2;\n // n2 = t2 * t2 * (grad2[gi2] * x2 + grad2[gi2 + 1] * y2);\n n2 = t2 * t2 * (g2x * x2 + g2y * y2);\n }\n // Add contributions from each corner to get the final noise value.\n // The result is scaled to return values in the interval [-1,1].\n return 70.0 * (n0 + n1 + n2);\n };\n}\n/**\n * Creates a 3D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction3D}\n */\nexport function createNoise3D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating these seems to yield a speedup of over 15%\n const permGrad3x = new Float64Array(perm).map(v => grad3[(v % 12) * 3]);\n const permGrad3y = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 1]);\n const permGrad3z = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 2]);\n return function noise3D(x, y, z) {\n let n0, n1, n2, n3; // Noise contributions from the four corners\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y + z) * F3; // Very nice and simple skew factor for 3D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const t = (i + j + k) * G3;\n const X0 = i - t; // Unskew the cell origin back to (x,y,z) space\n const Y0 = j - t;\n const Z0 = k - t;\n const x0 = x - X0; // The x,y,z distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n // For the 3D case, the simplex shape is a slightly irregular tetrahedron.\n // Determine which simplex we are in.\n let i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords\n let i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords\n if (x0 >= y0) {\n if (y0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 1;\n k2 = 0;\n } // X Y Z order\n else if (x0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // X Z Y order\n else {\n i1 = 0;\n j1 = 0;\n k1 = 1;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // Z X Y order\n }\n else { // x0 grad4[(v % 32) * 4]);\n const permGrad4y = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 1]);\n const permGrad4z = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 2]);\n const permGrad4w = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 3]);\n return function noise4D(x, y, z, w) {\n let n0, n1, n2, n3, n4; // Noise contributions from the five corners\n // Skew the (x,y,z,w) space to determine which cell of 24 simplices we're in\n const s = (x + y + z + w) * F4; // Factor for 4D skewing\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const l = fastFloor(w + s);\n const t = (i + j + k + l) * G4; // Factor for 4D unskewing\n const X0 = i - t; // Unskew the cell origin back to (x,y,z,w) space\n const Y0 = j - t;\n const Z0 = k - t;\n const W0 = l - t;\n const x0 = x - X0; // The x,y,z,w distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n const w0 = w - W0;\n // For the 4D case, the simplex is a 4D shape I won't even try to describe.\n // To find out which of the 24 possible simplices we're in, we need to\n // determine the magnitude ordering of x0, y0, z0 and w0.\n // Six pair-wise comparisons are performed between each possible pair\n // of the four coordinates, and the results are used to rank the numbers.\n let rankx = 0;\n let ranky = 0;\n let rankz = 0;\n let rankw = 0;\n if (x0 > y0)\n rankx++;\n else\n ranky++;\n if (x0 > z0)\n rankx++;\n else\n rankz++;\n if (x0 > w0)\n rankx++;\n else\n rankw++;\n if (y0 > z0)\n ranky++;\n else\n rankz++;\n if (y0 > w0)\n ranky++;\n else\n rankw++;\n if (z0 > w0)\n rankz++;\n else\n rankw++;\n // simplex[c] is a 4-vector with the numbers 0, 1, 2 and 3 in some order.\n // Many values of c will never occur, since e.g. x>y>z>w makes x= 3 ? 1 : 0;\n const j1 = ranky >= 3 ? 1 : 0;\n const k1 = rankz >= 3 ? 1 : 0;\n const l1 = rankw >= 3 ? 1 : 0;\n // The integer offsets for the third simplex corner\n const i2 = rankx >= 2 ? 1 : 0;\n const j2 = ranky >= 2 ? 1 : 0;\n const k2 = rankz >= 2 ? 1 : 0;\n const l2 = rankw >= 2 ? 1 : 0;\n // The integer offsets for the fourth simplex corner\n const i3 = rankx >= 1 ? 1 : 0;\n const j3 = ranky >= 1 ? 1 : 0;\n const k3 = rankz >= 1 ? 1 : 0;\n const l3 = rankw >= 1 ? 1 : 0;\n // The fifth corner has all coordinate offsets = 1, so no need to compute that.\n const x1 = x0 - i1 + G4; // Offsets for second corner in (x,y,z,w) coords\n const y1 = y0 - j1 + G4;\n const z1 = z0 - k1 + G4;\n const w1 = w0 - l1 + G4;\n const x2 = x0 - i2 + 2.0 * G4; // Offsets for third corner in (x,y,z,w) coords\n const y2 = y0 - j2 + 2.0 * G4;\n const z2 = z0 - k2 + 2.0 * G4;\n const w2 = w0 - l2 + 2.0 * G4;\n const x3 = x0 - i3 + 3.0 * G4; // Offsets for fourth corner in (x,y,z,w) coords\n const y3 = y0 - j3 + 3.0 * G4;\n const z3 = z0 - k3 + 3.0 * G4;\n const w3 = w0 - l3 + 3.0 * G4;\n const x4 = x0 - 1.0 + 4.0 * G4; // Offsets for last corner in (x,y,z,w) coords\n const y4 = y0 - 1.0 + 4.0 * G4;\n const z4 = z0 - 1.0 + 4.0 * G4;\n const w4 = w0 - 1.0 + 4.0 * G4;\n // Work out the hashed gradient indices of the five simplex corners\n const ii = i & 255;\n const jj = j & 255;\n const kk = k & 255;\n const ll = l & 255;\n // Calculate the contribution from the five corners\n let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0;\n if (t0 < 0)\n n0 = 0.0;\n else {\n const gi0 = ii + perm[jj + perm[kk + perm[ll]]];\n t0 *= t0;\n n0 = t0 * t0 * (permGrad4x[gi0] * x0 + permGrad4y[gi0] * y0 + permGrad4z[gi0] * z0 + permGrad4w[gi0] * w0);\n }\n let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1;\n if (t1 < 0)\n n1 = 0.0;\n else {\n const gi1 = ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]];\n t1 *= t1;\n n1 = t1 * t1 * (permGrad4x[gi1] * x1 + permGrad4y[gi1] * y1 + permGrad4z[gi1] * z1 + permGrad4w[gi1] * w1);\n }\n let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2;\n if (t2 < 0)\n n2 = 0.0;\n else {\n const gi2 = ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]];\n t2 *= t2;\n n2 = t2 * t2 * (permGrad4x[gi2] * x2 + permGrad4y[gi2] * y2 + permGrad4z[gi2] * z2 + permGrad4w[gi2] * w2);\n }\n let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3;\n if (t3 < 0)\n n3 = 0.0;\n else {\n const gi3 = ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]];\n t3 *= t3;\n n3 = t3 * t3 * (permGrad4x[gi3] * x3 + permGrad4y[gi3] * y3 + permGrad4z[gi3] * z3 + permGrad4w[gi3] * w3);\n }\n let t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4;\n if (t4 < 0)\n n4 = 0.0;\n else {\n const gi4 = ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]];\n t4 *= t4;\n n4 = t4 * t4 * (permGrad4x[gi4] * x4 + permGrad4y[gi4] * y4 + permGrad4z[gi4] * z4 + permGrad4w[gi4] * w4);\n }\n // Sum up and scale the result to cover the range [-1,1]\n return 27.0 * (n0 + n1 + n2 + n3 + n4);\n };\n}\n/**\n * Builds a random permutation table.\n * This is exported only for (internal) testing purposes.\n * Do not rely on this export.\n * @private\n */\nexport function buildPermutationTable(random) {\n const tableSize = 512;\n const p = new Uint8Array(tableSize);\n for (let i = 0; i < tableSize / 2; i++) {\n p[i] = i;\n }\n for (let i = 0; i < tableSize / 2 - 1; i++) {\n const r = i + ~~(random() * (256 - i));\n const aux = p[i];\n p[i] = p[r];\n p[r] = aux;\n }\n for (let i = 256; i < tableSize; i++) {\n p[i] = p[i - 256];\n }\n return p;\n}\n//# sourceMappingURL=simplex-noise.js.map","// deno-fmt-ignore-file\n// deno-lint-ignore-file\n// This code was bundled using `deno bundle` and it's not recommended to edit it manually\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n};\nvar _block, _blocks, _bytes, _finalized, _first, _h0, _h1, _h2, _h3, _h4, _h5, _h6, _h7, _hashed, _hBytes, _is224, _lastByteIndex, _start;\nconst BKDRHash = function (str) {\n var seed = 131;\n var seed2 = 137;\n var hash = 0;\n str += 'x';\n var MAX_SAFE_INTEGER = Math.floor(9007199254740991 / seed2);\n for (let i = 0; i < str.length; i++) {\n if (hash > MAX_SAFE_INTEGER) {\n hash = Math.floor(hash / seed2);\n }\n hash = hash * seed + str.charCodeAt(i);\n }\n return hash;\n};\nconst HEX_CHARS = \"0123456789abcdef\".split(\"\");\nconst EXTRA = [\n -2147483648,\n 8388608,\n 32768,\n 128\n];\nconst SHIFT = [\n 24,\n 16,\n 8,\n 0\n];\nconst K = [\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n];\nconst blocks = [];\nclass Sha256 {\n constructor(is224 = false, sharedMemory = false) {\n _block.set(this, void 0);\n _blocks.set(this, void 0);\n _bytes.set(this, void 0);\n _finalized.set(this, void 0);\n _first.set(this, void 0);\n _h0.set(this, void 0);\n _h1.set(this, void 0);\n _h2.set(this, void 0);\n _h3.set(this, void 0);\n _h4.set(this, void 0);\n _h5.set(this, void 0);\n _h6.set(this, void 0);\n _h7.set(this, void 0);\n _hashed.set(this, void 0);\n _hBytes.set(this, void 0);\n _is224.set(this, void 0);\n _lastByteIndex.set(this, 0);\n _start.set(this, void 0);\n this.init(is224, sharedMemory);\n }\n init(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n __classPrivateFieldSet(this, _blocks, blocks);\n }\n else {\n __classPrivateFieldSet(this, _blocks, [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]);\n }\n if (is224) {\n __classPrivateFieldSet(this, _h0, 0xc1059ed8);\n __classPrivateFieldSet(this, _h1, 0x367cd507);\n __classPrivateFieldSet(this, _h2, 0x3070dd17);\n __classPrivateFieldSet(this, _h3, 0xf70e5939);\n __classPrivateFieldSet(this, _h4, 0xffc00b31);\n __classPrivateFieldSet(this, _h5, 0x68581511);\n __classPrivateFieldSet(this, _h6, 0x64f98fa7);\n __classPrivateFieldSet(this, _h7, 0xbefa4fa4);\n }\n else {\n __classPrivateFieldSet(this, _h0, 0x6a09e667);\n __classPrivateFieldSet(this, _h1, 0xbb67ae85);\n __classPrivateFieldSet(this, _h2, 0x3c6ef372);\n __classPrivateFieldSet(this, _h3, 0xa54ff53a);\n __classPrivateFieldSet(this, _h4, 0x510e527f);\n __classPrivateFieldSet(this, _h5, 0x9b05688c);\n __classPrivateFieldSet(this, _h6, 0x1f83d9ab);\n __classPrivateFieldSet(this, _h7, 0x5be0cd19);\n }\n __classPrivateFieldSet(this, _block, __classPrivateFieldSet(this, _start, __classPrivateFieldSet(this, _bytes, __classPrivateFieldSet(this, _hBytes, 0))));\n __classPrivateFieldSet(this, _finalized, __classPrivateFieldSet(this, _hashed, false));\n __classPrivateFieldSet(this, _first, true);\n __classPrivateFieldSet(this, _is224, is224);\n }\n update(message) {\n if (__classPrivateFieldGet(this, _finalized)) {\n return this;\n }\n let msg;\n if (message instanceof ArrayBuffer) {\n msg = new Uint8Array(message);\n }\n else {\n msg = message;\n }\n let index = 0;\n const length = msg.length;\n const blocks = __classPrivateFieldGet(this, _blocks);\n while (index < length) {\n let i;\n if (__classPrivateFieldGet(this, _hashed)) {\n __classPrivateFieldSet(this, _hashed, false);\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n if (typeof msg !== \"string\") {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n blocks[i >> 2] |= msg[index] << SHIFT[i++ & 3];\n }\n }\n else {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n let code = msg.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n }\n else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else {\n code = 0x10000 + ((code & 0x3ff) << 10 | msg.charCodeAt(++index) & 0x3ff);\n blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n }\n }\n __classPrivateFieldSet(this, _lastByteIndex, i);\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) + (i - __classPrivateFieldGet(this, _start)));\n if (i >= 64) {\n __classPrivateFieldSet(this, _block, blocks[16]);\n __classPrivateFieldSet(this, _start, i - 64);\n this.hash();\n __classPrivateFieldSet(this, _hashed, true);\n }\n else {\n __classPrivateFieldSet(this, _start, i);\n }\n }\n if (__classPrivateFieldGet(this, _bytes) > 4294967295) {\n __classPrivateFieldSet(this, _hBytes, __classPrivateFieldGet(this, _hBytes) + (__classPrivateFieldGet(this, _bytes) / 4294967296 << 0));\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) % 4294967296);\n }\n return this;\n }\n finalize() {\n if (__classPrivateFieldGet(this, _finalized)) {\n return;\n }\n __classPrivateFieldSet(this, _finalized, true);\n const blocks = __classPrivateFieldGet(this, _blocks);\n const i = __classPrivateFieldGet(this, _lastByteIndex);\n blocks[16] = __classPrivateFieldGet(this, _block);\n blocks[i >> 2] |= EXTRA[i & 3];\n __classPrivateFieldSet(this, _block, blocks[16]);\n if (i >= 56) {\n if (!__classPrivateFieldGet(this, _hashed)) {\n this.hash();\n }\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = __classPrivateFieldGet(this, _hBytes) << 3 | __classPrivateFieldGet(this, _bytes) >>> 29;\n blocks[15] = __classPrivateFieldGet(this, _bytes) << 3;\n this.hash();\n }\n hash() {\n let a = __classPrivateFieldGet(this, _h0);\n let b = __classPrivateFieldGet(this, _h1);\n let c = __classPrivateFieldGet(this, _h2);\n let d = __classPrivateFieldGet(this, _h3);\n let e = __classPrivateFieldGet(this, _h4);\n let f = __classPrivateFieldGet(this, _h5);\n let g = __classPrivateFieldGet(this, _h6);\n let h = __classPrivateFieldGet(this, _h7);\n const blocks = __classPrivateFieldGet(this, _blocks);\n let s0;\n let s1;\n let maj;\n let t1;\n let t2;\n let ch;\n let ab;\n let da;\n let cd;\n let bc;\n for (let j = 16; j < 64; ++j) {\n t1 = blocks[j - 15];\n s0 = (t1 >>> 7 | t1 << 25) ^ (t1 >>> 18 | t1 << 14) ^ t1 >>> 3;\n t1 = blocks[j - 2];\n s1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n bc = b & c;\n for (let j1 = 0; j1 < 64; j1 += 4) {\n if (__classPrivateFieldGet(this, _first)) {\n if (__classPrivateFieldGet(this, _is224)) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n }\n else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n __classPrivateFieldSet(this, _first, false);\n }\n else {\n s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);\n s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);\n ab = a & b;\n maj = ab ^ a & c ^ bc;\n ch = e & f ^ ~e & g;\n t1 = h + s1 + ch + K[j1] + blocks[j1];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = (d >>> 2 | d << 30) ^ (d >>> 13 | d << 19) ^ (d >>> 22 | d << 10);\n s1 = (h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7);\n da = d & a;\n maj = da ^ d & b ^ ab;\n ch = h & e ^ ~h & f;\n t1 = g + s1 + ch + K[j1 + 1] + blocks[j1 + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = (c >>> 2 | c << 30) ^ (c >>> 13 | c << 19) ^ (c >>> 22 | c << 10);\n s1 = (g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7);\n cd = c & d;\n maj = cd ^ c & a ^ da;\n ch = g & h ^ ~g & e;\n t1 = f + s1 + ch + K[j1 + 2] + blocks[j1 + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = (b >>> 2 | b << 30) ^ (b >>> 13 | b << 19) ^ (b >>> 22 | b << 10);\n s1 = (f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7);\n bc = b & c;\n maj = bc ^ b & d ^ cd;\n ch = f & g ^ ~f & h;\n t1 = e + s1 + ch + K[j1 + 3] + blocks[j1 + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n __classPrivateFieldSet(this, _h0, __classPrivateFieldGet(this, _h0) + a << 0);\n __classPrivateFieldSet(this, _h1, __classPrivateFieldGet(this, _h1) + b << 0);\n __classPrivateFieldSet(this, _h2, __classPrivateFieldGet(this, _h2) + c << 0);\n __classPrivateFieldSet(this, _h3, __classPrivateFieldGet(this, _h3) + d << 0);\n __classPrivateFieldSet(this, _h4, __classPrivateFieldGet(this, _h4) + e << 0);\n __classPrivateFieldSet(this, _h5, __classPrivateFieldGet(this, _h5) + f << 0);\n __classPrivateFieldSet(this, _h6, __classPrivateFieldGet(this, _h6) + g << 0);\n __classPrivateFieldSet(this, _h7, __classPrivateFieldGet(this, _h7) + h << 0);\n }\n hex() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n let hex = HEX_CHARS[h0 >> 28 & 0x0f] + HEX_CHARS[h0 >> 24 & 0x0f] + HEX_CHARS[h0 >> 20 & 0x0f] + HEX_CHARS[h0 >> 16 & 0x0f] + HEX_CHARS[h0 >> 12 & 0x0f] + HEX_CHARS[h0 >> 8 & 0x0f] + HEX_CHARS[h0 >> 4 & 0x0f] + HEX_CHARS[h0 & 0x0f] + HEX_CHARS[h1 >> 28 & 0x0f] + HEX_CHARS[h1 >> 24 & 0x0f] + HEX_CHARS[h1 >> 20 & 0x0f] + HEX_CHARS[h1 >> 16 & 0x0f] + HEX_CHARS[h1 >> 12 & 0x0f] + HEX_CHARS[h1 >> 8 & 0x0f] + HEX_CHARS[h1 >> 4 & 0x0f] + HEX_CHARS[h1 & 0x0f] + HEX_CHARS[h2 >> 28 & 0x0f] + HEX_CHARS[h2 >> 24 & 0x0f] + HEX_CHARS[h2 >> 20 & 0x0f] + HEX_CHARS[h2 >> 16 & 0x0f] + HEX_CHARS[h2 >> 12 & 0x0f] + HEX_CHARS[h2 >> 8 & 0x0f] + HEX_CHARS[h2 >> 4 & 0x0f] + HEX_CHARS[h2 & 0x0f] + HEX_CHARS[h3 >> 28 & 0x0f] + HEX_CHARS[h3 >> 24 & 0x0f] + HEX_CHARS[h3 >> 20 & 0x0f] + HEX_CHARS[h3 >> 16 & 0x0f] + HEX_CHARS[h3 >> 12 & 0x0f] + HEX_CHARS[h3 >> 8 & 0x0f] + HEX_CHARS[h3 >> 4 & 0x0f] + HEX_CHARS[h3 & 0x0f] + HEX_CHARS[h4 >> 28 & 0x0f] + HEX_CHARS[h4 >> 24 & 0x0f] + HEX_CHARS[h4 >> 20 & 0x0f] + HEX_CHARS[h4 >> 16 & 0x0f] + HEX_CHARS[h4 >> 12 & 0x0f] + HEX_CHARS[h4 >> 8 & 0x0f] + HEX_CHARS[h4 >> 4 & 0x0f] + HEX_CHARS[h4 & 0x0f] + HEX_CHARS[h5 >> 28 & 0x0f] + HEX_CHARS[h5 >> 24 & 0x0f] + HEX_CHARS[h5 >> 20 & 0x0f] + HEX_CHARS[h5 >> 16 & 0x0f] + HEX_CHARS[h5 >> 12 & 0x0f] + HEX_CHARS[h5 >> 8 & 0x0f] + HEX_CHARS[h5 >> 4 & 0x0f] + HEX_CHARS[h5 & 0x0f] + HEX_CHARS[h6 >> 28 & 0x0f] + HEX_CHARS[h6 >> 24 & 0x0f] + HEX_CHARS[h6 >> 20 & 0x0f] + HEX_CHARS[h6 >> 16 & 0x0f] + HEX_CHARS[h6 >> 12 & 0x0f] + HEX_CHARS[h6 >> 8 & 0x0f] + HEX_CHARS[h6 >> 4 & 0x0f] + HEX_CHARS[h6 & 0x0f];\n if (!__classPrivateFieldGet(this, _is224)) {\n hex += HEX_CHARS[h7 >> 28 & 0x0f] + HEX_CHARS[h7 >> 24 & 0x0f] + HEX_CHARS[h7 >> 20 & 0x0f] + HEX_CHARS[h7 >> 16 & 0x0f] + HEX_CHARS[h7 >> 12 & 0x0f] + HEX_CHARS[h7 >> 8 & 0x0f] + HEX_CHARS[h7 >> 4 & 0x0f] + HEX_CHARS[h7 & 0x0f];\n }\n return hex;\n }\n toString() {\n return this.hex();\n }\n digest() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n const arr = [\n h0 >> 24 & 0xff,\n h0 >> 16 & 0xff,\n h0 >> 8 & 0xff,\n h0 & 0xff,\n h1 >> 24 & 0xff,\n h1 >> 16 & 0xff,\n h1 >> 8 & 0xff,\n h1 & 0xff,\n h2 >> 24 & 0xff,\n h2 >> 16 & 0xff,\n h2 >> 8 & 0xff,\n h2 & 0xff,\n h3 >> 24 & 0xff,\n h3 >> 16 & 0xff,\n h3 >> 8 & 0xff,\n h3 & 0xff,\n h4 >> 24 & 0xff,\n h4 >> 16 & 0xff,\n h4 >> 8 & 0xff,\n h4 & 0xff,\n h5 >> 24 & 0xff,\n h5 >> 16 & 0xff,\n h5 >> 8 & 0xff,\n h5 & 0xff,\n h6 >> 24 & 0xff,\n h6 >> 16 & 0xff,\n h6 >> 8 & 0xff,\n h6 & 0xff\n ];\n if (!__classPrivateFieldGet(this, _is224)) {\n arr.push(h7 >> 24 & 0xff, h7 >> 16 & 0xff, h7 >> 8 & 0xff, h7 & 0xff);\n }\n return arr;\n }\n array() {\n return this.digest();\n }\n arrayBuffer() {\n this.finalize();\n const buffer = new ArrayBuffer(__classPrivateFieldGet(this, _is224) ? 28 : 32);\n const dataView = new DataView(buffer);\n dataView.setUint32(0, __classPrivateFieldGet(this, _h0));\n dataView.setUint32(4, __classPrivateFieldGet(this, _h1));\n dataView.setUint32(8, __classPrivateFieldGet(this, _h2));\n dataView.setUint32(12, __classPrivateFieldGet(this, _h3));\n dataView.setUint32(16, __classPrivateFieldGet(this, _h4));\n dataView.setUint32(20, __classPrivateFieldGet(this, _h5));\n dataView.setUint32(24, __classPrivateFieldGet(this, _h6));\n if (!__classPrivateFieldGet(this, _is224)) {\n dataView.setUint32(28, __classPrivateFieldGet(this, _h7));\n }\n return buffer;\n }\n}\n_block = new WeakMap(), _blocks = new WeakMap(), _bytes = new WeakMap(), _finalized = new WeakMap(), _first = new WeakMap(), _h0 = new WeakMap(), _h1 = new WeakMap(), _h2 = new WeakMap(), _h3 = new WeakMap(), _h4 = new WeakMap(), _h5 = new WeakMap(), _h6 = new WeakMap(), _h7 = new WeakMap(), _hashed = new WeakMap(), _hBytes = new WeakMap(), _is224 = new WeakMap(), _lastByteIndex = new WeakMap(), _start = new WeakMap();\nfunction Sha256ToInt(s) {\n const sha256 = new Sha256();\n sha256.update(s);\n return parseInt(sha256.hex().substring(0, 8), 16);\n}\nconst RGB2HEX = function (RGBArray) {\n var hex = '#';\n RGBArray.forEach(function (value) {\n if (value < 16) {\n hex += 0;\n }\n hex += value.toString(16);\n });\n return hex;\n};\nconst HSL2RGB = function (H, S, L) {\n H /= 360;\n var q = L < 0.5 ? L * (1 + S) : L + S - L * S;\n var p = 2 * L - q;\n return [\n H + 1 / 3,\n H,\n H - 1 / 3\n ].map(function (color) {\n if (color < 0) {\n color++;\n }\n if (color > 1) {\n color--;\n }\n if (color < 1 / 6) {\n color = p + (q - p) * 6 * color;\n }\n else if (color < 0.5) {\n color = q;\n }\n else if (color < 2 / 3) {\n color = p + (q - p) * 6 * (2 / 3 - color);\n }\n else {\n color = p;\n }\n return Math.round(color * 255);\n });\n};\nclass ColorHash {\n constructor(options = {}) {\n const [L, S] = [\n options.lightness,\n options.saturation\n ].map(function (param) {\n param = param !== undefined ? param : [\n 0.35,\n 0.5,\n 0.65\n ];\n return Array.isArray(param) ? param.concat() : [\n param\n ];\n });\n this.L = L;\n this.S = S;\n if (typeof options.hue === 'number') {\n options.hue = {\n min: options.hue,\n max: options.hue\n };\n }\n if (typeof options.hue === 'object' && !Array.isArray(options.hue)) {\n options.hue = [\n options.hue\n ];\n }\n if (typeof options.hue === 'undefined') {\n options.hue = [];\n }\n this.hueRanges = options.hue.map(function (range) {\n return {\n min: typeof range.min === 'undefined' ? 0 : range.min,\n max: typeof range.max === 'undefined' ? 360 : range.max\n };\n });\n this.hash = Sha256ToInt;\n if (typeof options.hash === 'function') {\n this.hash = options.hash;\n }\n if (options.hash === 'bkdr') {\n this.hash = BKDRHash;\n }\n }\n hsl(str) {\n var H, S, L;\n var hash = this.hash(str);\n var hueResolution = 727;\n if (this.hueRanges.length) {\n const range = this.hueRanges[hash % this.hueRanges.length];\n H = hash / this.hueRanges.length % hueResolution * (range.max - range.min) / hueResolution + range.min;\n }\n else {\n H = hash % 359;\n }\n hash = Math.ceil(hash / 360);\n S = this.S[hash % this.S.length];\n hash = Math.ceil(hash / this.S.length);\n L = this.L[hash % this.L.length];\n return [\n H,\n S,\n L\n ];\n }\n rgb(str) {\n var hsl = this.hsl(str);\n return HSL2RGB.apply(this, hsl);\n }\n hex(str) {\n var rgb = this.rgb(str);\n return RGB2HEX(rgb);\n }\n}\nexport { ColorHash as default };\n","const __pages_import_0__ = () => import(\"/src/scenes/stats.vue\");\nconst __pages_import_1__ = () => import(\"/src/scenes/spiral.vue\");\nconst __pages_import_2__ = () => import(\"/src/scenes/rose.vue\");\nconst __pages_import_3__ = () => import(\"/src/scenes/level.vue\");\nconst __pages_import_4__ = () => import(\"/src/scenes/index.vue\");\nconst __pages_import_5__ = () => import(\"/src/scenes/donut.vue\");\nconst __pages_import_6__ = () => import(\"/src/scenes/cross.vue\");\n\nconst routes = [{\"name\":\"stats\",\"path\":\"/stats\",\"component\":__pages_import_0__,\"props\":true},{\"name\":\"spiral\",\"path\":\"/spiral\",\"component\":__pages_import_1__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"rose\",\"path\":\"/rose\",\"component\":__pages_import_2__,\"props\":true},{\"name\":\"level\",\"path\":\"/level\",\"component\":__pages_import_3__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"index\",\"path\":\"/\",\"component\":__pages_import_4__,\"props\":true,\"title\":\"Floating\",\"subtitle\":\"by Chromatone\"},{\"name\":\"donut\",\"path\":\"/donut\",\"component\":__pages_import_5__,\"props\":true},{\"name\":\"cross\",\"path\":\"/cross\",\"component\":__pages_import_6__,\"props\":true}];\n\nexport default routes;","import { pitchColor, getCircleCoord, notes } from '~/use/chromatone'\nimport { useElementBounding, useStorage } from \"@vueuse/core\";\n\nconst visual = ref()\n\nexport const activeScene = useStorage('active-scene', 'Rose')\n\nexport function useScene() {\n const { width, height } = useElementBounding(visual)\n return { visual, width, height, activeScene }\n}\n","/*!\n * vue-router v4.2.5\n * (c) 2023 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 window !== '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\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,\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\n // ensure we use at least the last element in the toSegments\n .slice(toPosition - (toPosition === toSegments.length ? 1 : 0))\n .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 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.pageXOffset,\n top: window.pageYOffset,\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.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\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://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 `` 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\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};\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 ('path' in to)\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()\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 // TODO: only keep optional params coming from a parent record\n matcher.keys.filter(k => !k.optional).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 ('path' in location) {\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 * Encoding Rules ␣ = Space Path: ␣ \" < > # ? { } Query: ␣ \" < > # & = Hash: ␣ \"\n * < > `\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\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) {\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 = 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) {\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 && guards.push(guardToPromiseFn(guard, to, from, record, name));\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 && guardToPromiseFn(guard, to, from, record, name)();\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 ``.\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 const route = computed(() => router.resolve(unref(props.to)));\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 };\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 }, { 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 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 backgroundColor = ORANGE_400;\n let tooltip = '';\n 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: devtoolsData.route.path,\n textColor: 0,\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;\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 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 let matcherLocation;\n // path could be relative in object as well\n if ('path' in rawLocation) {\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 \"${'path' in rawLocation ? 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 !('path' in newTargetLocation) &&\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: 'path' in newTargetLocation ? {} : 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);\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","\n\n\n\n\n\n\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __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));\nimport { defineComponent, pushScopeId, popScopeId, nextTick, openBlock, createBlock, withScopeId, resolveComponent, createElementBlock, normalizeClass, normalizeStyle, withKeys, createElementVNode, Fragment, renderSlot, createCommentVNode, mergeProps, withCtx, createVNode, toDisplayString, ref, createApp, h } from \"vue\";\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function(props) {\n return getDefaultConfig(props.theme, prop);\n };\n}\nvar PrivatePopper = () => defineComponent({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: Boolean,\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n }\n },\n emits: [\n \"show\",\n \"hide\",\n \"update:shown\",\n \"apply-show\",\n \"apply-hide\",\n \"close-group\",\n \"close-directive\",\n \"auto-hide\",\n \"resize\",\n \"dispose\"\n ],\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n }\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.result\n };\n }\n },\n watch: __spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n },\n triggers() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n }\n }, [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n if (force || !this.disabled) {\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false } = {}) {\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize) {\n options2.middleware.push({\n name: \"autoMinSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoMinSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style.minWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.minHeight = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize) {\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n },\n async $_applyHide(skipTransition = false) {\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const addListeners2 = (targetNodes, eventType, handler) => {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n };\n const addEvents = (targetNodes, eventMap, commonTriggers, customTrigger, handler) => {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n addListeners2(targetNodes, eventType, handler);\n }\n });\n };\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n addEvents(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n addEvents([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event });\n };\n addEvents(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide);\n addEvents([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide);\n addListeners2([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n },\n $_removeEventListeners() {\n this.$_events.forEach(({ targetNodes, eventType, handler }) => {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n });\n this.$_events = [];\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n const contains = popper.$_mouseDownContains || popperContent.contains(event.target);\n requestAnimationFrame(() => {\n if (event.closeAllPopover || event.closePopover && contains || popper.autoHide && !contains) {\n popper.$_handleGlobalClose(event, touch);\n }\n });\n }\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nlet isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n initCompat();\n nextTick(() => {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n if (this.emitOnMount) {\n this.emitSize();\n }\n });\n const object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nconst _withId = /* @__PURE__ */ withScopeId(\"data-v-b329ee4c\");\npushScopeId(\"data-v-b329ee4c\");\nconst _hoisted_1$2 = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\npopScopeId();\nconst render = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {\n return openBlock(), createBlock(\"div\", _hoisted_1$2);\n});\nscript.render = render;\nscript.__scopeId = \"data-v-b329ee4c\";\nscript.__file = \"src/components/ResizeObserver.vue\";\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst _sfc_main$5 = defineComponent({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: script\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n});\nconst _hoisted_1$1 = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"];\nconst _hoisted_2$1 = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n};\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1);\nconst _hoisted_5 = [\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ResizeObserver = resolveComponent(\"ResizeObserver\");\n return openBlock(), createElementBlock(\"div\", {\n id: _ctx.popperId,\n ref: \"popover\",\n class: normalizeClass([\"v-popper__popper\", [\n _ctx.themeClass,\n _ctx.classes.popperClass,\n {\n \"v-popper__popper--shown\": _ctx.shown,\n \"v-popper__popper--hidden\": !_ctx.shown,\n \"v-popper__popper--show-from\": _ctx.classes.showFrom,\n \"v-popper__popper--show-to\": _ctx.classes.showTo,\n \"v-popper__popper--hide-from\": _ctx.classes.hideFrom,\n \"v-popper__popper--hide-to\": _ctx.classes.hideTo,\n \"v-popper__popper--skip-transition\": _ctx.skipTransition,\n \"v-popper__popper--arrow-overflow\": _ctx.result.arrow.overflow\n }\n ]]),\n style: normalizeStyle({\n position: _ctx.result.strategy,\n transform: `translate3d(${Math.round(_ctx.result.x)}px,${Math.round(_ctx.result.y)}px,0)`\n }),\n \"aria-hidden\": _ctx.shown ? \"false\" : \"true\",\n tabindex: _ctx.autoHide ? 0 : void 0,\n \"data-popper-placement\": _ctx.result.placement,\n onKeyup: _cache[1] || (_cache[1] = withKeys(($event) => _ctx.autoHide && _ctx.$emit(\"hide\"), [\"esc\"]))\n }, [\n createElementVNode(\"div\", {\n class: \"v-popper__wrapper\",\n style: normalizeStyle({\n transformOrigin: _ctx.result.transformOrigin\n })\n }, [\n createElementVNode(\"div\", _hoisted_2$1, [\n _ctx.mounted ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _ctx.handleResize ? (openBlock(), createBlock(_component_ResizeObserver, {\n key: 0,\n onNotify: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"resize\", $event))\n })) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ], 512),\n createElementVNode(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: normalizeStyle({\n left: _ctx.toPx(_ctx.result.arrow.x),\n top: _ctx.toPx(_ctx.result.arrow.y)\n })\n }, _hoisted_5, 4)\n ], 4)\n ], 46, _hoisted_1$1);\n}\nvar PrivatePopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar PopperWrapper_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$4 = defineComponent({\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: null\n }\n },\n computed: {\n finalTheme() {\n var _a;\n return (_a = this.theme) != null ? _a : this.$options.vPopperTheme;\n },\n popperAttrs() {\n const result = __spreadValues({}, this.$attrs);\n delete result.class;\n delete result.style;\n return result;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.popperAttrs, {\n theme: _ctx.finalTheme,\n \"target-nodes\": _ctx.getTargetNodes,\n \"reference-node\": () => _ctx.$refs.reference,\n \"popper-node\": () => _ctx.$refs.popperContent.$el\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n show,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createElementVNode(\"div\", {\n ref: \"reference\",\n class: normalizeClass([\"v-popper\", [\n _ctx.$attrs.class,\n _ctx.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ]]),\n style: normalizeStyle(_ctx.$attrs.style)\n }, [\n renderSlot(_ctx.$slots, \"default\", {\n shown: isShown,\n show,\n hide\n }),\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n \"popper-id\": popperId,\n theme: _ctx.finalTheme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"popper\", {\n shown: isShown,\n hide\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ], 6)\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"reference-node\", \"popper-node\"]);\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$1]]);\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$3 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}));\nconst _sfc_main$2 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}));\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$1 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}));\nconst _sfc_main = defineComponent({\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (props) => getDefaultConfig(props.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (props) => getDefaultConfig(props.theme, \"loadingContent\")\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent() {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n});\nconst _hoisted_1 = [\"innerHTML\"];\nconst _hoisted_2 = [\"textContent\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.$attrs, {\n theme: _ctx.theme,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n onApplyShow: _ctx.onShow,\n onApplyHide: _ctx.onHide\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n class: normalizeClass({\n \"v-popper--tooltip-loading\": _ctx.loading\n }),\n \"popper-id\": popperId,\n theme: _ctx.theme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n _ctx.html ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n innerHTML: _ctx.finalContent\n }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n textContent: toDisplayString(_ctx.finalContent)\n }, null, 8, _hoisted_2))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nlet directiveApp;\nlet directives;\nlet uid = 0;\nfunction ensureDirectiveApp() {\n if (directiveApp)\n return;\n directives = ref([]);\n directiveApp = createApp({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives\n };\n },\n render() {\n return this.directives.map((directive) => {\n return h(PrivateTooltipDirective, __spreadProps(__spreadValues({}, directive.options), {\n shown: directive.shown.value || directive.options.shown,\n key: directive.id\n }));\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n directiveApp.mount(mountTarget);\n}\nfunction createTooltip(el, value, modifiers) {\n ensureDirectiveApp();\n const options2 = ref(getOptions(el, value, modifiers));\n const shown = ref(false);\n const item = {\n id: uid++,\n options: options2,\n shown\n };\n directives.value.push(item);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n const result = el.$_popper = {\n options: options2,\n item,\n show() {\n shown.value = true;\n },\n hide() {\n shown.value = false;\n }\n };\n return result;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n const index = directives.value.indexOf(el.$_popper.item);\n if (index !== -1)\n directives.value.splice(index, 1);\n delete el.$_popper;\n delete el.$_popperOldShown;\n delete el.$_popperMountTarget;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let directive;\n if (el.$_popper) {\n directive = el.$_popper;\n directive.options.value = options2;\n } else {\n directive = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? directive.show() : directive.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n beforeMount: bind,\n updated: bind,\n beforeUnmount(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n beforeMount(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n updated(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n beforeUnmount(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = _sfc_main$3;\nconst Menu = _sfc_main$2;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = _sfc_main$1;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", _sfc_main$1);\n app.component(\"VTooltip\", _sfc_main$1);\n app.component(\"v-dropdown\", _sfc_main$3);\n app.component(\"VDropdown\", _sfc_main$3);\n app.component(\"v-menu\", _sfc_main$2);\n app.component(\"VMenu\", _sfc_main$2);\n}\nconst plugin = {\n version: \"2.0.0-y.0\",\n install,\n options: config\n};\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","import { createApp } from \"vue\";\nimport App from \"./app.vue\";\n\nimport '@unocss/reset/tailwind.css'\nimport 'uno.css'\nimport './styles/index.css'\nimport 'floating-vue/dist/style.css'\n\nimport { createRouter, createWebHashHistory } from \"vue-router\";\nimport FloatingVue from 'floating-vue'\n\nimport routes from \"~pages\";\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes: [...routes],\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition;\n } else {\n return { top: 0, behavior: \"smooth\" };\n }\n },\n});\n\nconst app = createApp(App);\napp.use(router)\napp.use(FloatingVue)\n\n\napp.mount(\"#touchme-app\");\n\n","\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n\n\ntitle: Floating\nsubtitle: by Chromatone \n","\n\n\n\n","\n\n\n","\n\n"],"file":"assets/index-o4uTN3ka.js"} \ No newline at end of file diff --git a/assets/style-edf63a0d.css b/assets/style-edf63a0d.css deleted file mode 100644 index 5128542..0000000 --- a/assets/style-edf63a0d.css +++ /dev/null @@ -1 +0,0 @@ -.txt[data-v-5ef71097]{padding:.25rem;flex:10 1 30px}.active[data-v-b0381278]{--un-border-opacity:1;border-color:rgba(50,50,50,var(--un-border-opacity))}.display[data-v-b0381278]{position:relative;width:16ch;display:flex;justify-content:space-between;overflow:hidden;border-width:1px;border-color:#4a4a4a80;border-radius:.5rem;padding-left:.25rem;padding-right:.25rem;padding-top:2px;padding-bottom:2px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.indicator[data-v-b0381278]{position:absolute;top:0;left:0;height:100%;width:100%;transform-origin:left;border-right-width:1px;border-color:#4a4a4a80;--un-bg-opacity:1;background-color:rgba(74,74,74,var(--un-bg-opacity));--un-bg-opacity:.2;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}input.ch[data-v-27bfda27]{width:2.5em;background-color:transparent;padding-left:.5rem}nav button[data-v-9f417c45]{font-size:1.5rem;line-height:2rem}.app{position:relative;position:absolute;min-height:100%;width:100%;display:flex;flex-direction:column;align-items:center;overflow-y:scroll;text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.8s}.nav{width:100%;display:flex;flex:1 1 0%;align-items:center;border-radius:.5rem;background-color:#4a4a4a66;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button{display:flex;flex:1 1 auto;align-items:center;justify-content:center;border-radius:.75rem;--un-bg-opacity:1;background-color:rgba(246,246,246,var(--un-bg-opacity));padding:1rem;opacity:.9;--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button:hover{--un-bg-opacity:1;background-color:rgba(253,253,253,var(--un-bg-opacity))}.button.active{--un-bg-opacity:1;background-color:rgba(74,74,74,var(--un-bg-opacity));--un-text-opacity:1;color:rgba(250,250,250,var(--un-text-opacity))}.panel{position:absolute;right:.5rem;bottom:.5rem;z-index:20;margin:1rem;max-width:24rem;max-height:80vh;display:flex;flex-direction:column;align-items:center;gap:.5rem;overflow:hidden;overflow-y:scroll;border-radius:.75rem;--un-bg-opacity:1;background-color:rgba(248,249,250,var(--un-bg-opacity));--un-bg-opacity:.9;padding:1rem;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}html{line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.left-0{left:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-20{top:5rem}.top-4{top:1rem}.z-100{z-index:100}.z-20{z-index:20}.z-40{z-index:40}.z-500{z-index:500}.grid{display:grid}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.-mt-3{margin-top:-.75rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.h-100vh{height:100vh}.h-full{height:100%}.max-h-40vh{max-height:40vh}.max-h-80vh{max-height:80vh}.max-w-sm{max-width:24rem}.min-h-full{min-height:100%}.min-w-80{min-width:20rem}.w-16{width:4rem}.w-16ch{width:16ch}.w-2\.5em{width:2.5em}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.origin-left{transform-origin:left}.scale-200{--un-scale-x:2;--un-scale-y:2;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.whitespace-nowrap{white-space:nowrap}.b,.border,.border-1{border-width:1px}.border-2{border-width:2px}.border-r-1{border-right-width:1px}.border-dark-200{--un-border-opacity:1;border-color:rgba(50,50,50,var(--un-border-opacity))}.border-dark-50\/50{border-color:#4a4a4a80}.border-red-500{--un-border-opacity:1;border-color:rgba(239,68,68,var(--un-border-opacity))}.border-transparent{border-color:transparent}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.bg-dark-50{--un-bg-opacity:1;background-color:rgba(74,74,74,var(--un-bg-opacity))}.bg-dark-50\/40{background-color:#4a4a4a66}.bg-light-200{--un-bg-opacity:1;background-color:rgba(250,250,250,var(--un-bg-opacity))}.bg-light-300{--un-bg-opacity:1;background-color:rgba(248,249,250,var(--un-bg-opacity))}.bg-light-400{--un-bg-opacity:1;background-color:rgba(246,246,246,var(--un-bg-opacity))}.bg-light-50{--un-bg-opacity:1;background-color:rgba(253,253,253,var(--un-bg-opacity))}.bg-light-900{--un-bg-opacity:1;background-color:rgba(221,225,227,var(--un-bg-opacity))}.bg-transparent{background-color:transparent}.bg-opacity-20{--un-bg-opacity:.2}.bg-opacity-90{--un-bg-opacity:.9}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2px{padding-top:2px;padding-bottom:2px}.pl-2{padding-left:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-light-200{--un-text-opacity:1;color:rgba(250,250,250,var(--un-text-opacity))}.text-red-500{--un-text-opacity:1;color:rgba(239,68,68,var(--un-text-opacity))}.underline{text-decoration-line:underline}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-90{opacity:.9}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.blur{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-800ms{transition-duration:.8s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--font-family-base: "Circe", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Fira mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace}@font-face{font-family:Circe;font-style:normal;font-weight:100;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraLight.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:200;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Light.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:400;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Regular.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:600;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Bold.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:800;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraBold.woff) format("woff")}html{overflow-y:scroll;scroll-behavior:smooth;-webkit-hyphens:auto;hyphens:auto;transition:all .6s ease;overscroll-behavior-y:none}body{min-width:320px;min-height:100vh;line-height:1.4;font-family:var(--font-family-base);font-size:18px;font-weight:400;direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:all .6s ease;overscroll-behavior-y:none}#touchme-app{--un-bg-opacity:1;background-color:rgba(241,243,245,var(--un-bg-opacity));--un-text-opacity:1;color:rgba(74,74,74,var(--un-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.6s;transition-timing-function:cubic-bezier(0,0,.2,1)}.header-anchor{display:none}hr{border-bottom:1px solid currentColor;margin:4em 0}h1,h2,h3,h4,h5,h6{line-height:1.25}h1,h2,h3,h4,h5,h6,strong,b{font-weight:800}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{text-decoration:none;color:var(--c-link);transition:color .14s ease-in-out;font-weight:700}a:hover{text-decoration:underline;color:var(--c-link-hover)}.external-link{opacity:.9}.external-link:after{content:"";display:inline-block;width:1em;height:1em;opacity:.5;margin-bottom:-1px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1sYSIgd2lkdGg9IjFlbSIgaGVpZ2h0PSIxZW0iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9InRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7Ij48cGF0aCBkPSJNMTggNXYyaDUuNTYzTDExLjI4IDE5LjI4MWwxLjQzOCAxLjQzOEwyNSA4LjQzN1YxNGgyVjV6TTUgOXYxOGgxOFYxNGwtMiAydjlIN1YxMWg5bDItMnoiIGZpbGw9ImN1cnJlbnRDb2xvciI+PC9wYXRoPjwvc3ZnPg==)}.fullscreen-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;--un-bg-opacity:1;background-color:rgba(246,246,246,var(--un-bg-opacity));--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.fullscreen-container:fullscreen{overflow-y:scroll}.list-enter-active{transition:all .3s ease-out}.list-enter-from{opacity:0;z-index:20;transform:translateY(-100%)}.list-leave-to{opacity:0;transform:translateY(30px)}.list-leave-active{transition:all .4s ease-in}.list-move{transition:transform .8s ease-in-out}.list-item{z-index:1}.panel-enter-active{transition:all .1s ease-out}.panel-enter-from{opacity:0;z-index:-20;transform:translateY(-100%)}.panel-leave-to{opacity:0;transform:translateY(-100px)}.panel-leave-active{transition:all .4s ease-in}.panel-move{transition:transform .8s ease-in-out}.panel-item{z-index:-20}.slide-enter-active,.slide-leave-active{transition:all .75s ease-out}.slide-enter-to{transform:translate(0)}.slide-enter-from{transform:translate(-100%)}.slide-leave-to{transform:translate(100%)}.slide-leave-from{transform:translate(0)}.scale-slide-enter-active,.scale-slide-leave-active{transition:all .85s ease}.scale-slide-enter-from{top:-100%}.scale-slide-enter-to{top:0%}.scale-slide-leave-from{transform:scale(1)}.scale-slide-leave-to{transform:scale(.8)}.fade-enter-active{transition:all .5s ease}.fade-leave-active,.fade-leave-to,.fade-enter-from{opacity:0}.fall{background-color:#ccc3}.fall-enter-active{transition:all .9s ease-out}.fall-leave-active,.fall-leave-to{transform:scale(.95)}.fall-enter-from{background-color:#fff;transform:translatey(-10px)}.dark .fall-enter-from{background-color:#000}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper{width:max-content}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c} diff --git a/assets/style-uZhXG-BA.css b/assets/style-uZhXG-BA.css new file mode 100644 index 0000000..cc3478f --- /dev/null +++ b/assets/style-uZhXG-BA.css @@ -0,0 +1 @@ +.txt[data-v-5ef71097]{padding:.25rem;flex:10 1 30px}.active[data-v-b0381278]{--un-border-opacity:1;border-color:rgb(50 50 50 / var(--un-border-opacity))}.display[data-v-b0381278]{position:relative;width:16ch;display:flex;justify-content:space-between;overflow:hidden;border-width:1px;border-color:#4a4a4a80;border-radius:.5rem;padding-left:.25rem;padding-right:.25rem;padding-top:2px;padding-bottom:2px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.indicator[data-v-b0381278]{position:absolute;top:0;left:0;height:100%;width:100%;transform-origin:left;border-right-width:1px;border-color:#4a4a4a80;--un-bg-opacity:1;background-color:rgb(74 74 74 / var(--un-bg-opacity));--un-bg-opacity:.2;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}input.ch[data-v-27bfda27]{width:2.5em;background-color:transparent;padding-left:.5rem}nav button[data-v-9f417c45]{font-size:1.5rem;line-height:2rem}.app{position:relative;position:absolute;min-height:100%;width:100%;display:flex;flex-direction:column;align-items:center;overflow-y:scroll;text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.8s}.nav{width:100%;display:flex;flex:1 1 0%;align-items:center;border-radius:.5rem;background-color:#4a4a4a66;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button{display:flex;flex:1 1 auto;align-items:center;justify-content:center;border-radius:.75rem;--un-bg-opacity:1;background-color:rgb(246 246 246 / var(--un-bg-opacity));padding:1rem;opacity:.9;--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button:hover{--un-bg-opacity:1;background-color:rgb(253 253 253 / var(--un-bg-opacity))}.button.active{--un-bg-opacity:1;background-color:rgb(74 74 74 / var(--un-bg-opacity));--un-text-opacity:1;color:rgb(250 250 250 / var(--un-text-opacity))}.panel{position:absolute;right:.5rem;bottom:.5rem;z-index:20;margin:1rem;max-width:24rem;max-height:80vh;display:flex;flex-direction:column;align-items:center;gap:.5rem;overflow:hidden;overflow-y:scroll;border-radius:.75rem;--un-bg-opacity:1;background-color:rgb(248 249 250 / var(--un-bg-opacity));--un-bg-opacity:.9;padding:1rem;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}:before,:after{--un-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.left-0{left:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-20{top:5rem}.top-4{top:1rem}.z-100{z-index:100}.z-20{z-index:20}.z-40{z-index:40}.z-500{z-index:500}.grid{display:grid}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.-mt-3{margin-top:-.75rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.h-100vh{height:100vh}.h-full{height:100%}.max-h-40vh{max-height:40vh}.max-h-80vh{max-height:80vh}.max-w-sm{max-width:24rem}.min-h-full{min-height:100%}.min-w-80{min-width:20rem}.w-16{width:4rem}.w-16ch{width:16ch}.w-2\.5em{width:2.5em}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.origin-left{transform-origin:left}.scale-200{--un-scale-x:2;--un-scale-y:2;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.whitespace-nowrap{white-space:nowrap}.b,.border,.border-1{border-width:1px}.border-2{border-width:2px}.border-r-1{border-right-width:1px}.border-dark-200{--un-border-opacity:1;border-color:rgb(50 50 50 / var(--un-border-opacity))}.border-dark-50\/50{border-color:#4a4a4a80}.border-red-500{--un-border-opacity:1;border-color:rgb(239 68 68 / var(--un-border-opacity))}.border-transparent{border-color:transparent}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.bg-dark-50{--un-bg-opacity:1;background-color:rgb(74 74 74 / var(--un-bg-opacity))}.bg-dark-50\/40{background-color:#4a4a4a66}.bg-light-200{--un-bg-opacity:1;background-color:rgb(250 250 250 / var(--un-bg-opacity))}.bg-light-300{--un-bg-opacity:1;background-color:rgb(248 249 250 / var(--un-bg-opacity))}.bg-light-400{--un-bg-opacity:1;background-color:rgb(246 246 246 / var(--un-bg-opacity))}.bg-light-50{--un-bg-opacity:1;background-color:rgb(253 253 253 / var(--un-bg-opacity))}.bg-light-900{--un-bg-opacity:1;background-color:rgb(221 225 227 / var(--un-bg-opacity))}.bg-transparent{background-color:transparent}.bg-opacity-20{--un-bg-opacity:.2}.bg-opacity-90{--un-bg-opacity:.9}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2px{padding-top:2px;padding-bottom:2px}.pl-2{padding-left:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-light-200{--un-text-opacity:1;color:rgb(250 250 250 / var(--un-text-opacity))}.text-red-500{--un-text-opacity:1;color:rgb(239 68 68 / var(--un-text-opacity))}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.underline{text-decoration-line:underline}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-90{opacity:.9}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.blur{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-800ms{transition-duration:.8s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--font-family-base: "Circe", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Fira mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace}@font-face{font-family:Circe;font-style:normal;font-weight:100;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraLight.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:200;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Light.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:400;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Regular.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:600;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Bold.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:800;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraBold.woff) format("woff")}html{overflow-y:scroll;scroll-behavior:smooth;-webkit-hyphens:auto;hyphens:auto;transition:all .6s ease;overscroll-behavior-y:none}body{min-width:320px;min-height:100vh;line-height:1.4;font-family:var(--font-family-base);font-size:18px;font-weight:400;direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:all .6s ease;overscroll-behavior-y:none}#touchme-app{--un-bg-opacity:1;background-color:rgb(241 243 245 / var(--un-bg-opacity));--un-text-opacity:1;color:rgb(74 74 74 / var(--un-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.6s;transition-timing-function:cubic-bezier(0,0,.2,1)}.header-anchor{display:none}hr{border-bottom:1px solid currentColor;margin:4em 0}h1,h2,h3,h4,h5,h6{line-height:1.25}h1,h2,h3,h4,h5,h6,strong,b{font-weight:800}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{text-decoration:none;color:var(--c-link);transition:color .14s ease-in-out;font-weight:700}a:hover{text-decoration:underline;color:var(--c-link-hover)}.external-link{opacity:.9}.external-link:after{content:"";display:inline-block;width:1em;height:1em;opacity:.5;margin-bottom:-1px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1sYSIgd2lkdGg9IjFlbSIgaGVpZ2h0PSIxZW0iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9InRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7Ij48cGF0aCBkPSJNMTggNXYyaDUuNTYzTDExLjI4IDE5LjI4MWwxLjQzOCAxLjQzOEwyNSA4LjQzN1YxNGgyVjV6TTUgOXYxOGgxOFYxNGwtMiAydjlIN1YxMWg5bDItMnoiIGZpbGw9ImN1cnJlbnRDb2xvciI+PC9wYXRoPjwvc3ZnPg==)}.fullscreen-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;--un-bg-opacity:1;background-color:rgb(246 246 246 / var(--un-bg-opacity));--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.fullscreen-container:fullscreen{overflow-y:scroll}.list-enter-active{transition:all .3s ease-out}.list-enter-from{opacity:0;z-index:20;transform:translateY(-100%)}.list-leave-to{opacity:0;transform:translateY(30px)}.list-leave-active{transition:all .4s ease-in}.list-move{transition:transform .8s ease-in-out}.list-item{z-index:1}.panel-enter-active{transition:all .1s ease-out}.panel-enter-from{opacity:0;z-index:-20;transform:translateY(-100%)}.panel-leave-to{opacity:0;transform:translateY(-100px)}.panel-leave-active{transition:all .4s ease-in}.panel-move{transition:transform .8s ease-in-out}.panel-item{z-index:-20}.slide-enter-active,.slide-leave-active{transition:all .75s ease-out}.slide-enter-to{transform:translate(0)}.slide-enter-from{transform:translate(-100%)}.slide-leave-to{transform:translate(100%)}.slide-leave-from{transform:translate(0)}.scale-slide-enter-active,.scale-slide-leave-active{transition:all .85s ease}.scale-slide-enter-from{top:-100%}.scale-slide-enter-to{top:0%}.scale-slide-leave-from{transform:scale(1)}.scale-slide-leave-to{transform:scale(.8)}.fade-enter-active{transition:all .5s ease}.fade-leave-active,.fade-leave-to,.fade-enter-from{opacity:0}.fall{background-color:#ccc3}.fall-enter-active{transition:all .9s ease-out}.fall-leave-active,.fall-leave-to{transform:scale(.95)}.fall-enter-from{background-color:#fff;transform:translatey(-10px)}.dark .fall-enter-from{background-color:#000}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper{width:max-content}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c} diff --git a/index.html b/index.html index 19c56a1..a6ee704 100644 --- a/index.html +++ b/index.html @@ -17,13 +17,12 @@ - - + +
Loading...
-