@webqit/oohtml 4.5.5 → 4.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +2 -2
- package/dist/main.js.map +2 -2
- package/dist/main.lite.js +3 -3
- package/dist/main.lite.js.map +2 -2
- package/package.json +2 -2
package/dist/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var Pr=Object.defineProperty;var fn=(e,t,i)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var vi=(e,t)=>{for(var i in t)Pr(e,i,{get:t[i],enumerable:!0})};var G=(e,t,i)=>(fn(e,typeof t!="symbol"?t+"":t,i),i),Ir=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};var J=(e,t,i)=>(Ir(e,t,"read from private field"),i?i.call(e):t.get(e)),_e=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},se=(e,t,i,r)=>(Ir(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);var or={};vi(or,{AsyncQuantumFunction:()=>Ms,AsyncQuantumScript:()=>ge,Observer:()=>R,QuantumAsyncFunction:()=>_a,QuantumAsyncScript:()=>Ea,QuantumFunction:()=>Sa,QuantumModule:()=>ze,QuantumScript:()=>We,State:()=>Yt});var ji={};vi(ji,{any:()=>In,apply:()=>Ri,batch:()=>qi,construct:()=>Li,defineProperties:()=>$n,defineProperty:()=>Oe,deleteProperties:()=>Ln,deleteProperty:()=>Te,get:()=>It,getOwnPropertyDescriptor:()=>ei,getOwnPropertyDescriptors:()=>Tn,getPrototypeOf:()=>Ti,has:()=>ii,intercept:()=>On,isExtensible:()=>Ni,map:()=>Nn,observe:()=>Fi,ownKeys:()=>$i,path:()=>An,preventExtensions:()=>Di,reduce:()=>Vi,set:()=>Wt,setPrototypeOf:()=>Mi,subtree:()=>Pn});function V(e){return!Array.isArray(e)&&typeof e=="object"&&e}function ne(e){return typeof e}function L(e){return Array.isArray(e)}function ae(e){return typeof e=="function"}function Ee(e){return e===null||e===""}function kt(e){return arguments.length&&(e===void 0||typeof e>"u")}function q(e){return Array.isArray(e)||typeof e=="object"&&e||ae(e)}function Si(e){return Ee(e)||kt(e)||e===!1||e===0||q(e)&&!Object.keys(e).length}function F(e){return ae(e)||e&&{}.toString.call(e)==="[object function]"}function Ce(e){return e instanceof Number||typeof e=="number"}function ut(e){return Ce(e)||e!==!0&&e!==!1&&e!==null&&e!==""&&!isNaN(e*1)}function oe(e){return e instanceof String||typeof e=="string"&&e!==null}function _i(e){return!oe(e)&&!kt(e.length)}function Je(e,...t){return t.forEach(i=>{e.indexOf(i)<0&&e.push(i)}),e}function Ei(r,t){t=t||Object.prototype,t=t&&!L(t)?[t]:t;for(var i=[],r=r;r&&(!t||t.indexOf(r)<0)&&r.name!=="default";)i.push(r),r=r?Object.getPrototypeOf(r):null;return i}function Ci(e,t){var i=[];return Ei(e,t).forEach(r=>{Je(i,...Object.getOwnPropertyNames(r))}),i}function bt(e,t,i=!1,r=!1,s=!1){var n=0,a=e.shift();if((ut(a)||a===!0||a===!1)&&(n=a,a=e.shift()),!e.length)throw new Error("_merge() requires two or more array/objects.");return e.forEach((o,c)=>{!q(o)&&!F(o)||(i?Ci(o):Object.keys(o)).forEach(u=>{if(!!t(u,a,o,c)){var l=a[u],f=o[u];if((L(l)&&L(f)||V(l)&&V(f))&&(n===!0||n>0))a[u]=L(l)&&L(f)?[]:{},bt([ut(n)?n-1:n,a[u],l,f],t,i,r,s);else if(L(a)&&L(o))r?a[u]=f:a.push(f);else try{s?Object.defineProperty(a,u,Object.getOwnPropertyDescriptor(o,u)):a[u]=o[u]}catch{}}})}),a}function ke(...e){return bt(e,(t,i,r)=>!0,!1,!1,!1)}function it(e,...t){if(!e||!["object","function"].includes(typeof e))throw new Error("Argument #1 must be of type object");let i=e[Symbol.for("wq")];if(i||(i=new Ze,Object.defineProperty(e,Symbol.for("wq"),{value:i,enumerable:!1,configurable:!1,writable:!1})),!t.length)return i;let r,s;for(;r=t.shift();)(s=i)&&!(i=i.get(r))&&(i=new Ze,s.set(r,i));return i}var Ze=class extends Map{};function W(e,t=!0){return L(e)?e:!t&&V(e)?[e]:e!==!1&&e!==0&&Si(e)?[]:_i(e)?Array.prototype.slice.call(e):V(e)?Object.values(e):[e]}var U=(e,...t)=>it(e,"observerAPI",...t),ue=(e,t)=>e instanceof Promise?e.then(t):t(e),ti={};var Ht=class{constructor(t,i){this.registry=t,Object.assign(this,{...i,target:t.target}),this.params.signal&&this.params.signal.addEventListener("abort",()=>this.remove())}remove(){return this.removed=!0,this.registry.removeRegistration(this)}};var Ae=class extends Ht{constructor(){super(...arguments),this.emit.currentRegistration=this,Object.defineProperty(this,"abortController",{value:new AbortController}),Object.defineProperty(this,"signal",{value:this.abortController.signal}),ti.setMaxListeners?.(0,this.signal)}remove(){this.abortController.abort(),super.remove()}fire(t){if(this.emit.recursionTarget&&!["inject","force-async","force-sync"].includes(this.params.recursions))return;let i=t,r=this.filter;if(r!==1/0&&(r=W(r,!1))&&(i=t.filter(n=>r.includes(n.key))),this.params.diff&&(i=i.filter(n=>n.type!=="set"||n.value!==n.oldValue)),!i.length)return;if(["inject","defer"].includes(this.params.recursions)){if(this.emit.recursionTarget){this.emit.recursionTarget.push(...i);return}this.emit.recursionTarget=this.params.recursions==="inject"?i:[]}let s=this.filter===1/0||Array.isArray(this.filter)?this.emit(i,this):this.emit(i[0],this);return ue(s,n=>{let a=this.emit.recursionTarget;return delete this.emit.recursionTarget,this.params.recursions==="defer"&&a?.length?this.emit.currentRegistration.fire(a):n})}};var Ut=class{constructor(t){this.target=t,this.entries=[]}addRegistration(t){return this.entries.push(t),t}removeRegistration(t){this.entries=this.entries.filter(i=>i!==t)}static _getInstance(t,i,r=!0,s=this.__namespace){if(!q(i))throw new Error(`Subject must be of type object; "${ne(i)}" given!`);let n=this;return s&&U(globalThis,"observerAPI","namespaces").has(t+"-"+s)&&(n=U(globalThis,"observerAPI","namespaces").get(t+"-"+s),t+="-"+s),!U(i,"registry").has(t)&&r&&U(i,"registry").set(t,new n(i)),U(i,"registry").get(t)}static _namespace(t,i,r=null){if(t+="-"+i,arguments.length===2)return U(globalThis,"observerAPI","namespaces").get(t);if(!(r.prototype instanceof this))throw new Error(`The implementation of the namespace ${this.name}.${i} must be a subclass of ${this.name}.`);U(globalThis,"observerAPI","namespaces").set(t,r),r.__namespace=i}};var X=class{constructor(t,i){if(this.target=t,!i.operation)throw new Error("Descriptor operation must be given in definition!");Object.assign(this,i)}};var At=class extends Ut{static getInstance(t,i=!0,r=null){return super._getInstance("listeners",...arguments)}static namespace(t,i=null){return super._namespace("listeners",...arguments)}constructor(t){super(t),this.batches=[]}addRegistration(t,i,r){return super.addRegistration(new Ae(this,{filter:t,emit:i,params:r}))}emit(t,{eventsArePropertyDescriptors:i=!1,eventIsArrayMethodDescriptor:r=!1}={}){if(this.batches.length){let s=this.batches[0].params.arrayMethodName;this.batches[0].snapshots.push({events:[...t],arrayMethodName:s,eventsArePropertyDescriptors:i,eventIsArrayMethodDescriptor:r});return}this.$emit(this.entries,[{events:t,eventsArePropertyDescriptors:i,eventIsArrayMethodDescriptor:r}])}$emit(t,i){let r=0,s=0,n=0;for(let l of t)r+=1,l.params.withPropertyDescriptors&&(s+=1),l.params.withArrayMethodDescriptors&&(n+=1);let a=[],o=[],c=[],u=[];for(let l of i){let f=l.arrayMethodName,p=l.eventsArePropertyDescriptors,g=l.eventIsArrayMethodDescriptor;for(let m of l.events)if(f&&(m.operation=f),s&&(n&&a.push(m),g||n!==r&&o.push(m)),s!==r){let S=m;if(p){let{target:E,type:y,...b}=m;S=new X(E,{type:"set",...b}),Object.defineProperty(S,"value","get"in b.value?{get:()=>b.value.get()}:{value:b.value.value}),b.oldValue&&Object.defineProperty(S,"oldValue","get"in b.oldValue?{get:()=>b.oldValue.get()}:{value:b.oldValue.value})}n&&c.push(S),g||n!==r&&u.push(S)}}for(let l of t)l.params.withPropertyDescriptors?l.params.withArrayMethodDescriptors?a.length&&l.fire(a):o.length&&l.fire(o):l.params.withArrayMethodDescriptors?c.length&&l.fire(c):u.length&&l.fire(u)}batch(t,i={}){this.batches.unshift({entries:[...this.entries],snapshots:[],params:i});let r=t();return ue(r,s=>{let n=this.batches.shift();return n.snapshots.length&&this.$emit(n.entries,n.snapshots),s})}};var Pe=class extends Ht{exec(t,i,r){return this.running||!this.traps[t.operation]?i(...Array.prototype.slice.call(arguments,2)):(this.running=!0,this.traps[t.operation](t,r,(...s)=>(this.running=!1,i(...s))))}};var Pt=class extends Ut{static getInstance(t,i=!0,r=null){return super._getInstance("traps",...arguments)}static namespace(t,i=null){return super._namespace("traps",...arguments)}addRegistration(t){return super.addRegistration(new Pe(this,t))}emit(t,i=null){let r=this;return function s(n,...a){let o=r.entries[n];return o?o.exec(t,(...c)=>s(n+1,...c),...a):i?i(t,...a):a[0]}(0)}};var Oi={};vi(Oi,{accessorize:()=>Cn,proxy:()=>Pi,unaccessorize:()=>kn,unproxy:()=>Ie});var Mr=Symbol("wqOriginal");function Cn(e,t,i={}){e=Ii(e);let r=U(e,"accessorizedProps");function s(c){let u,l=e;do u=Object.getOwnPropertyDescriptor(l,c);while(!u&&(l=Object.getPrototypeOf(l)));return u?{proto:l,descriptor:u}:{descriptor:{value:void 0,configurable:!0,enumerable:!0,writable:!0}}}function n(c){if(r.has(c+""))return!0;let u=s(c);u.getValue=function(p=!1){return p?this.descriptor:this.descriptor.get?this.descriptor.get():this.descriptor.value},u.setValue=function(p,g=!1){if(this.dirty=!0,g){this.descriptor=p;return}return this.descriptor.set?this.descriptor.set(p)!==!1:(this.descriptor.value=p,!0)},u.intact=function(){let p=Object.getOwnPropertyDescriptor(e,c);return p?.get===f.get&&p?.set===f.set&&r.get(c+"")===this},u.restore=function(){return this.intact()?(this.proto&&this.proto!==e||!this.proto&&!this.dirty?delete e[c]:Object.defineProperty(e,c,this.descriptor),r.delete(c+""),!0):!1},r.set(isNaN(c)?c:parseInt(c),u);let{enumerable:l=!0}=u.descriptor,f={enumerable:l,configurable:!0};("value"in u.descriptor||u.descriptor.set)&&(f.set=function(p){return Wt(this,c,p,i)}),("value"in u.descriptor||u.descriptor.get)&&(f.get=function(){return It(this,c,i)});try{return Object.defineProperty(e,c,f),!0}catch{return r.delete(c+""),!1}}let o=(Array.isArray(t)?t:t===void 0?Object.keys(e):[t]).map(n);return t===void 0||Array.isArray(t)?o:o[0]}function kn(e,t,i={}){e=Ii(e);let r=U(e,"accessorizedProps");function s(o){return r.has(o+"")?r.get(o+"").restore():!0}let a=(Array.isArray(t)?t:t===void 0?Object.keys(e):[t]).map(s);return t===void 0||Array.isArray(t)?a:a[0]}function Pi(e,t={},i=void 0){let r=Ii(e);if(typeof t.membrane=="boolean")throw new Error("The params.membrane parameter cannot be of type boolean.");if(t.membrane&&U(r,"membraneRef").has(t.membrane))return U(r,"membraneRef").get(t.membrane);let s={apply:(o,c,u)=>Ri(o,c,u,void 0,t),construct:(o,c,u=null)=>Li(o,c,u,t),defineProperty:(o,c,u)=>Oe(o,c,u,t),deleteProperty:(o,c)=>Te(o,c,t),get:(o,c,u=null)=>{if(c===Mr)return r;let l={...t,receiver:u},f=It(o,c,l);return Array.isArray(o)&&typeof f=="function"&&!/^class\s?|\{\s\[native\scode\]\s\}$/.test(Function.prototype.toString.call(f))?Pi(f,{...t,arrayMethodName:c,membrane:u},i):t.chainable&&q(f)&&c!=="prototype"&&!(typeof f=="function"&&/^class\s?|\{\s\[native\scode\]\s\}$/.test(Function.prototype.toString.call(f)))?Pi(f,t,i):f},getOwnPropertyDescriptor:(o,c)=>ei(o,c,t),getPrototypeOf:o=>Ti(o,t),has:(o,c)=>ii(o,c,t),isExtensible:o=>Ni(o,t),ownKeys:o=>$i(o,t),preventExtensions:o=>Di(o,t),set:(o,c,u,l=null)=>Wt(o,c,u,{...t,receiver:l}),setPrototypeOf:(o,c)=>Mi(o,c,t)},n=i?.(s)||s,a=new Proxy(r,n);return t.membrane&&U(r,"membraneRef").set(t.membrane,a),a}function Ie(e){return e&&e[Mr]||e}function Ii(e){if(!e||!q(e))throw new Error("Target must be of type object!");return Ie(e)}var Ne=class extends Array{};function An(...e){return new Ne(...e)}var zt=class extends Array{};function Pn(){return new zt}function In(){return 1/0}function Vi(e,t,i,r=n=>n,s={}){let n=t instanceof zt;if(!(!n&&!t?.length))return function a(o,c,u,l){let f=l||c[u.level]instanceof zt,p=f?1/0:c[u.level],g=f?!1:u.level===c.length-1;return o instanceof X&&o.operation!=="get"?u={...u,probe:"always"}:u.probe!=="always"&&(u={...u,probe:!g}),i(o,p,(m,...S)=>{let E=w=>{w instanceof X&&(w.path="key"in w?[w.key]:[],o instanceof X&&(w.path="key"in w?o.path.concat(w.key):o.path.slice(0),Object.defineProperty(w,"context",{get:()=>o,configurable:!0})))},y=S[0]||{},b=w=>{if(w instanceof X&&"argumentsList"in w)return;let v=wt(w,!1);return ue(v,x=>(w instanceof X?w.value=x:w=x,a(w,c,{...u,...y,keyInParent:w.key,level:u.level+1},f)))};if($e(p)&&Array.isArray(m)){if(m.forEach(E),g)return r(m,...S);f&&m[0]instanceof X&&(m[0].operation!=="get"||s.asGet)&&r(m,...S);for(let w of m)b(w);return}return E(m),g?r(m,...S):b(m)},u)}(e,t.slice(0),{...s,level:0},n)}function Fi(e,t,i,r={}){let s=wt(e,!r.level);if(F(arguments[1])&&([,i,r={}]=arguments,t=1/0),!F(i))throw new Error(`Handler must be a function; "${ne(i)}" given!`);if(t instanceof Ne||t instanceof zt)return Vi(s,t,Fi,i,r);if(r={...r,descripted:!0},delete r.live,!q(s))return r.probe&&It(s,t,i,r)||void 0;let n=Dr(s,t,i,r);return r.probe?It(s,t,n,r):n()}function On(e,t,i={}){let r=wt(e);return V(t)||([,,,i={}]=arguments,t={[arguments[1]]:arguments[2]}),Pt.getInstance(r,!0,i.namespace).addRegistration({traps:t,params:i})}function ei(e,t,i=s=>s,r={}){return mt(e,"getOwnPropertyDescriptor",{key:t},i,r)}function Tn(e,t,i=s=>s,r={}){return mt(e,"getOwnPropertyDescriptors",{key:t},i,r)}function Ti(e,t=r=>r,i={}){return mt(e,"getPrototypeOf",{},t,i)}function Ni(e,t=r=>r,i={}){return mt(e,"isExtensible",{},t,i)}function $i(e,t=r=>r,i={}){return mt(e,"ownKeys",{},t,i)}function ii(e,t,i=s=>s,r={}){return mt(e,"has",{key:t},i,r)}function It(e,t,i=s=>s,r={}){let s,n=wt(e,!r.level);return V(i)?[r,i]=[i,a=>a]:r.live&&(s=!0),t instanceof Ne||t instanceof zt?Vi(n,t,It,i,{...r,asGet:!0}):Rn(n,t,a=>{let o=[...a];return function c(u,l,f){if(!l.length)return f(u);let p=l.shift();if(!["string","number","symbol"].includes(typeof p))throw new Error(`Property name/key ${p} invalid.`);function g(E,y=void 0){let b=x=>(E.value=x,c([...u,r.live||r.descripted?E:x],l,f));if(arguments.length>1)return b(y);if(!q(n))return b(n?.[E.key]);let w=U(n,"accessorizedProps",!1),v=w&&w.get(E.key);if(v&&v.intact())return b(v.getValue(r.withPropertyDescriptors));if(r.withPropertyDescriptors){let x=Object.getOwnPropertyDescriptor(n,E.key);return b(x)}return b(Reflect.get(n,E.key))}let m=new X(n,{type:"get",key:p,value:void 0,operation:"get",related:o});if(!q(n))return g(m);let S=Pt.getInstance(n,!1,r.namespace);return S?S.emit(m,g):g(m)}([],a.slice(0),c=>{let u=$e(t)?c:c[0];return s&&q(n)?Dr(n,t,i,r,e.key)(u):i(u)})},r)}function qi(e,t,i={}){let r=wt(e);return At.getInstance(r,!0,i.namespace).batch(t,i)}function Nn(e,t,i={}){t=wt(t),e=wt(e);let r=(i.only||[]).slice(0),s=(i.except||[]).slice(0),n=Object.keys(i.spread?[...e]:e).map(u=>isNaN(u)?u:parseInt(u)),a=r.length?r.filter(u=>n.includes(u)):n.filter(u=>!s.includes(u)),o=u=>!Array.isArray(t)||isNaN(u)?u:u-s.filter(l=>l<u).length,c=u=>{let l=ei(e,u,i);"value"in l&&l.writable&&l.enumerable&&l.configurable?Wt(t,o(u),l.value,i):(l.enumerable||i.onlyEnumerable===!1)&&Oe(t,u,{...l,configurable:!0},i)};return qi(t,()=>{a.forEach(c)}),Fi(e,u=>{u.filter(l=>r.length?r.includes(l.key):!s.includes(l.key)).forEach(l=>{if(l.type==="delete")return Te(t,o(l.key),i);if(l.type==="def"){(l.value.enumerable||i.onlyEnumerable===!1)&&Oe(t,o(l.key),{...l.value,configurable:!0},i);return}c(l.key)})},{...i,withPropertyDescriptors:!0})}function Wt(e,t,i,r=a=>a,s={},n=!1){let a=wt(e),o=[[t,i]];V(t)&&([,,r=u=>u,s={},n=!1]=arguments,o=Object.entries(t)),V(r)&&([n,s,r]=[typeof s=="boolean"?s:n,r,u=>u]);let c=o.map(([u])=>u);return function u(l,f,p){if(!f.length)return p(l);let[g,m]=f.shift();function S(y,b=void 0){let w=C=>(y.status=C,u(l.concat(y),f,p));if(arguments.length>1)return w(y,b);let v=U(a,"accessorizedProps",!1),x=v&&v.get(y.key);return y.type==="def"?(x&&!x.restore()&&w(!1),Object.defineProperty(a,y.key,y.value),w(!0)):x&&x.intact()?w(x.setValue(y.value)):w(Reflect.set(a,y.key,y.value))}function E(y,b){if(s.diff&&m===b)return u(l,f,p);let w=new X(a,{type:n?"def":"set",key:g,value:m,isUpdate:y,oldValue:b,related:[...c],operation:n?"defineProperty":"set",detail:s.detail}),v=Pt.getInstance(a,!1,s.namespace);return v?v.emit(w,S):S(w)}return ii(a,g,y=>{if(!y)return E(y);if(g==="length"&&Array.isArray(a)&&U(a).has("$length"))return E(!0,U(a).get("$length"));let b={...s,withPropertyDescriptors:n};return It(a,g,w=>E(y,w),b)},s)}([],o.slice(0),u=>{let l=At.getInstance(a,!1,s.namespace);return l&&l.emit(u,{eventsArePropertyDescriptors:!!n}),r($e(t)?u.map(f=>f.status):u[0]?.status)})}function Oe(e,t,i,r=n=>n,s={}){return Wt(e,t,i,r,s,!0)}function $n(e,t,i=s=>s,r={}){return Wt(e,t,i,r,!0)}function Te(e,t,i=s=>s,r={}){let s=wt(e);V(i)&&([r,i]=[i,o=>o]);let n=W(t,!1),a=[...n];return function o(c,u,l){if(!u.length)return l(c);let f=u.shift();function p(m,S=void 0){let E=w=>(m.status=w,o(c.concat(m),u,l));if(arguments.length>1)return E(m,S);let y=U(s,"accessorizedProps",!1),b=y&&y.get(m.key);return b&&!b.restore()&&E(!1),E(Reflect.deleteProperty(s,m.key))}function g(m){let S=new X(s,{type:"delete",key:f,oldValue:m,related:[...a],operation:"deleteProperty",detail:r.detail}),E=Pt.getInstance(s,!1,r.namespace);return E?E.emit(S,p):p(S)}return It(s,f,g,r)}([],n.slice(0),o=>{let c=At.getInstance(s,!1,r.namespace);return c&&c.emit(o),i($e(t)?o.map(u=>u.status):o[0].status)})}function Ln(e,t,i=s=>s,r={}){return Te(...arguments)}function Li(e,t,i=null,r=n=>n,s={}){return mt(e,"construct",arguments.length>2?{argumentsList:t,newTarget:i}:{argumentsList:t},r,s)}function Ri(e,t,i,r=n=>n,s={}){let n=Ie(t),a;if(Array.isArray(t)){if(s.arrayMethodName){let o=new X(n,{operation:s.arrayMethodName,argumentsList:i});At.getInstance(n,!1,s.namespace)?.emit([o],{eventIsArrayMethodDescriptor:!0})}U(n).set("$length",n.length),a=qi(n,()=>mt(e,"apply",{thisArgument:t,argumentsList:i},r,s),s),U(n).delete("$length")}else a=mt(e,"apply",{thisArgument:n,argumentsList:i},r,s);return a}function Mi(e,t,i=s=>s,r={}){return mt(e,"setPrototypeOf",{proto:t},i,r)}function Di(e,t=r=>r,i={}){return mt(e,"preventExtensions",{},t,i)}function Dr(e,t,i,r={}){let s=new AbortController;ti.setMaxListeners?.(0,s.signal),r.signal&&r.signal.addEventListener("abort",()=>s.abort());let n={...r,signal:s.signal},a=At.getInstance(e,!0,n.namespace),o=new Map;return function c(u=[],l=null){let f,p,g;if($e(t)){if(l){g=!0,p=l;for(let m of u)o.get(m.key)?.remove(),o.delete(m.key)}else p=a.addRegistration(t,c,n);f={signal:p.signal,childRegistrations:o}}else l?.remove(),p=a.addRegistration(t,c,n),f={signal:p.signal};if(n.childRegistrations&&n.keyInParent&&n.childRegistrations.set(n.keyInParent,p),arguments.length){let m=i(u,f);if(arguments.length>1)return m}return s}}function mt(e,t,i={},r=n=>n,s={}){e=wt(e),V(r)&&([s,r]=[r,c=>c]);function n(c,u){return arguments.length>1?r(u):r((Reflect[t]||Object[t])(e,...Object.values(i)))}let a=new X(e,{operation:t,...i}),o=Pt.getInstance(e,!1,s.namespace);return o?o.emit(a,n):n(a)}function $e(e){return e===1/0||Array.isArray(e)}function wt(e,t=!0,i=!0){if((!e||!q(e))&&t)throw new Error(`Object must be of type object or array! "${ne(e)}" given.`);return e instanceof X&&(e.type==="def"&&i?e=typeof e.value.get=="function"?e.value.get():e.value.value:e=e.value),e&&Ie(e)}function Rn(e,t,i,r={}){return t===1/0?r.level&&!q(e)?i([]):i(Object.entries(Object.getOwnPropertyDescriptors(e)).filter(([,s])=>s.writable!==!1&&!s.get&&!s.set).map(([s])=>s)):i(W(t,!1))}var Mn={...ji,...Oi},R=Mn;var Bi=(e,...t)=>{let i=t.pop();if(e.constructor.name==="AsyncFunction")return at(e.call(...t),i);try{return i(e.call(...t))}catch(r){return i(void 0,r)}},at=(e,t)=>e instanceof Promise?e.then(t).catch(i=>t(void 0,i)):t(e),Hi=e=>typeof e=="object"&&e||typeof e=="function";function Ui(e){let t=typeof e[e.length-1]=="object"?e.pop():{},i=e.pop()||"";return t.functionParams=e,{source:i,params:t}}var Vr={};var Dn=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239],Hr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191],Vn="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",Ur="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",Wi={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},zi="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Fn={5:zi,"5module":zi+" export import",6:zi+" const class extends export import super"},qn=/^in(stanceof)?$/,jn=new RegExp("["+Ur+"]"),Bn=new RegExp("["+Ur+Vn+"]");function Gi(e,t){for(var i=65536,r=0;r<t.length;r+=2){if(i+=t[r],i>e)return!1;if(i+=t[r+1],i>=e)return!0}return!1}function Tt(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&jn.test(String.fromCharCode(e)):t===!1?!1:Gi(e,Hr)}function ce(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Bn.test(String.fromCharCode(e)):t===!1?!1:Gi(e,Hr)||Gi(e,Dn)}var M=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function ct(e,t){return new M(e,{beforeExpr:!0,binop:t})}var lt={beforeExpr:!0},rt={startsExpr:!0},Yi={};function $(e,t){return t===void 0&&(t={}),t.keyword=e,Yi[e]=new M(e,t)}var h={num:new M("num",rt),regexp:new M("regexp",rt),string:new M("string",rt),name:new M("name",rt),privateId:new M("privateId",rt),eof:new M("eof"),bracketL:new M("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new M("]"),braceL:new M("{",{beforeExpr:!0,startsExpr:!0}),braceR:new M("}"),parenL:new M("(",{beforeExpr:!0,startsExpr:!0}),parenR:new M(")"),comma:new M(",",lt),semi:new M(";",lt),colon:new M(":",lt),dot:new M("."),question:new M("?",lt),questionDot:new M("?."),arrow:new M("=>",lt),template:new M("template"),invalidTemplate:new M("invalidTemplate"),ellipsis:new M("...",lt),backQuote:new M("`",rt),dollarBraceL:new M("${",{beforeExpr:!0,startsExpr:!0}),eq:new M("=",{beforeExpr:!0,isAssign:!0}),assign:new M("_=",{beforeExpr:!0,isAssign:!0}),incDec:new M("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new M("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ct("||",1),logicalAND:ct("&&",2),bitwiseOR:ct("|",3),bitwiseXOR:ct("^",4),bitwiseAND:ct("&",5),equality:ct("==/!=/===/!==",6),relational:ct("</>/<=/>=",7),bitShift:ct("<</>>/>>>",8),plusMin:new M("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ct("%",10),star:ct("*",10),slash:ct("/",10),starstar:new M("**",{beforeExpr:!0}),coalesce:ct("??",1),_break:$("break"),_case:$("case",lt),_catch:$("catch"),_continue:$("continue"),_debugger:$("debugger"),_default:$("default",lt),_do:$("do",{isLoop:!0,beforeExpr:!0}),_else:$("else",lt),_finally:$("finally"),_for:$("for",{isLoop:!0}),_function:$("function",rt),_if:$("if"),_return:$("return",lt),_switch:$("switch"),_throw:$("throw",lt),_try:$("try"),_var:$("var"),_const:$("const"),_while:$("while",{isLoop:!0}),_with:$("with"),_new:$("new",{beforeExpr:!0,startsExpr:!0}),_this:$("this",rt),_super:$("super",rt),_class:$("class",rt),_extends:$("extends",lt),_export:$("export"),_import:$("import",rt),_null:$("null",rt),_true:$("true",rt),_false:$("false",rt),_in:$("in",{beforeExpr:!0,binop:7}),_instanceof:$("instanceof",{beforeExpr:!0,binop:7}),_typeof:$("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:$("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:$("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},ft=/\r\n?|\n|\u2028|\u2029/,Hn=new RegExp(ft.source,"g");function le(e){return e===10||e===13||e===8232||e===8233}function Wr(e,t,i){i===void 0&&(i=e.length);for(var r=t;r<i;r++){var s=e.charCodeAt(r);if(le(s))return r<i-1&&s===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var zr=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,ht=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,Qr=Object.prototype,Un=Qr.hasOwnProperty,Wn=Qr.toString,De=Object.hasOwn||function(e,t){return Un.call(e,t)},Fr=Array.isArray||function(e){return Wn.call(e)==="[object Array]"};function Qt(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}function Mt(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var zn=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Re=function(t,i){this.line=t,this.column=i};Re.prototype.offset=function(t){return new Re(this.line,this.column+t)};var oi=function(t,i,r){this.start=i,this.end=r,t.sourceFile!==null&&(this.source=t.sourceFile)};function Gr(e,t){for(var i=1,r=0;;){var s=Wr(e,r,t);if(s<0)return new Re(i,t-r);++i,r=s}}var Xi={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},qr=!1;function Qn(e){var t={};for(var i in Xi)t[i]=e&&De(e,i)?e[i]:Xi[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!qr&&typeof console=="object"&&console.warn&&(qr=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
|
|
1
|
+
(()=>{var Pr=Object.defineProperty;var fn=(e,t,i)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var vi=(e,t)=>{for(var i in t)Pr(e,i,{get:t[i],enumerable:!0})};var G=(e,t,i)=>(fn(e,typeof t!="symbol"?t+"":t,i),i),Ir=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};var J=(e,t,i)=>(Ir(e,t,"read from private field"),i?i.call(e):t.get(e)),_e=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},se=(e,t,i,r)=>(Ir(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);var or={};vi(or,{AsyncQuantumFunction:()=>Ms,AsyncQuantumScript:()=>ge,Observer:()=>R,QuantumAsyncFunction:()=>_a,QuantumAsyncScript:()=>Ea,QuantumFunction:()=>Sa,QuantumModule:()=>ze,QuantumScript:()=>We,State:()=>Yt});var ji={};vi(ji,{any:()=>In,apply:()=>Ri,batch:()=>qi,construct:()=>Li,defineProperties:()=>$n,defineProperty:()=>Oe,deleteProperties:()=>Ln,deleteProperty:()=>Te,get:()=>It,getOwnPropertyDescriptor:()=>ei,getOwnPropertyDescriptors:()=>Tn,getPrototypeOf:()=>Ti,has:()=>ii,intercept:()=>On,isExtensible:()=>Ni,map:()=>Nn,observe:()=>Fi,ownKeys:()=>$i,path:()=>An,preventExtensions:()=>Di,reduce:()=>Vi,set:()=>Wt,setPrototypeOf:()=>Mi,subtree:()=>Pn});function V(e){return!Array.isArray(e)&&typeof e=="object"&&e}function ne(e){return typeof e}function L(e){return Array.isArray(e)}function ae(e){return typeof e=="function"}function Ee(e){return e===null||e===""}function kt(e){return arguments.length&&(e===void 0||typeof e>"u")}function q(e){return Array.isArray(e)||typeof e=="object"&&e||ae(e)}function Si(e){return Ee(e)||kt(e)||e===!1||e===0||q(e)&&!Object.keys(e).length}function F(e){return ae(e)||e&&{}.toString.call(e)==="[object function]"}function Ce(e){return e instanceof Number||typeof e=="number"}function ut(e){return Ce(e)||e!==!0&&e!==!1&&e!==null&&e!==""&&!isNaN(e*1)}function oe(e){return e instanceof String||typeof e=="string"&&e!==null}function _i(e){return!oe(e)&&!kt(e.length)}function Je(e,...t){return t.forEach(i=>{e.indexOf(i)<0&&e.push(i)}),e}function Ei(r,t){t=t||Object.prototype,t=t&&!L(t)?[t]:t;for(var i=[],r=r;r&&(!t||t.indexOf(r)<0)&&r.name!=="default";)i.push(r),r=r?Object.getPrototypeOf(r):null;return i}function Ci(e,t){var i=[];return Ei(e,t).forEach(r=>{Je(i,...Object.getOwnPropertyNames(r))}),i}function bt(e,t,i=!1,r=!1,s=!1){var n=0,a=e.shift();if((ut(a)||a===!0||a===!1)&&(n=a,a=e.shift()),!e.length)throw new Error("_merge() requires two or more array/objects.");return e.forEach((o,c)=>{!q(o)&&!F(o)||(i?Ci(o):Object.keys(o)).forEach(u=>{if(!!t(u,a,o,c)){var l=a[u],f=o[u];if((L(l)&&L(f)||V(l)&&V(f))&&(n===!0||n>0))a[u]=L(l)&&L(f)?[]:{},bt([ut(n)?n-1:n,a[u],l,f],t,i,r,s);else if(L(a)&&L(o))r?a[u]=f:a.push(f);else try{s?Object.defineProperty(a,u,Object.getOwnPropertyDescriptor(o,u)):a[u]=o[u]}catch{}}})}),a}function ke(...e){return bt(e,(t,i,r)=>!0,!1,!1,!1)}function it(e,...t){if(!e||!["object","function"].includes(typeof e))throw new Error("Argument #1 must be of type object");let i=e[Symbol.for("wq")];if(i||(i=new Ze,Object.defineProperty(e,Symbol.for("wq"),{value:i,enumerable:!1,configurable:!1,writable:!1})),!t.length)return i;let r,s;for(;r=t.shift();)(s=i)&&!(i=i.get(r))&&(i=new Ze,s.set(r,i));return i}var Ze=class extends Map{};function W(e,t=!0){return L(e)?e:!t&&V(e)?[e]:e!==!1&&e!==0&&Si(e)?[]:_i(e)?Array.prototype.slice.call(e):V(e)?Object.values(e):[e]}var U=(e,...t)=>it(e,"observerAPI",...t),ue=(e,t)=>e instanceof Promise?e.then(t):t(e),ti={};var Ht=class{constructor(t,i){this.registry=t,Object.assign(this,{...i,target:t.target}),this.params.signal&&this.params.signal.addEventListener("abort",()=>this.remove())}remove(){return this.removed=!0,this.registry.removeRegistration(this)}};var Ae=class extends Ht{constructor(){super(...arguments),this.emit.currentRegistration=this,Object.defineProperty(this,"abortController",{value:new AbortController}),Object.defineProperty(this,"signal",{value:this.abortController.signal}),ti.setMaxListeners?.(0,this.signal)}remove(){this.abortController.abort(),super.remove()}fire(t){if(this.emit.recursionTarget&&!["inject","force-async","force-sync"].includes(this.params.recursions))return;let i=t,r=this.filter;if(r!==1/0&&(r=W(r,!1))&&(i=t.filter(n=>r.includes(n.key))),this.params.diff&&(i=i.filter(n=>n.type!=="set"||n.value!==n.oldValue)),!i.length)return;if(["inject","defer"].includes(this.params.recursions)){if(this.emit.recursionTarget){this.emit.recursionTarget.push(...i);return}this.emit.recursionTarget=this.params.recursions==="inject"?i:[]}let s=this.filter===1/0||Array.isArray(this.filter)?this.emit(i,this):this.emit(i[0],this);return ue(s,n=>{let a=this.emit.recursionTarget;return delete this.emit.recursionTarget,this.params.recursions==="defer"&&a?.length?this.emit.currentRegistration.fire(a):n})}};var Ut=class{constructor(t){this.target=t,this.entries=[]}addRegistration(t){return this.entries.push(t),t}removeRegistration(t){this.entries=this.entries.filter(i=>i!==t)}static _getInstance(t,i,r=!0,s=this.__namespace){if(!q(i))throw new Error(`Subject must be of type object; "${ne(i)}" given!`);let n=this;return s&&U(globalThis,"observerAPI","namespaces").has(t+"-"+s)&&(n=U(globalThis,"observerAPI","namespaces").get(t+"-"+s),t+="-"+s),!U(i,"registry").has(t)&&r&&U(i,"registry").set(t,new n(i)),U(i,"registry").get(t)}static _namespace(t,i,r=null){if(t+="-"+i,arguments.length===2)return U(globalThis,"observerAPI","namespaces").get(t);if(!(r.prototype instanceof this))throw new Error(`The implementation of the namespace ${this.name}.${i} must be a subclass of ${this.name}.`);U(globalThis,"observerAPI","namespaces").set(t,r),r.__namespace=i}};var X=class{constructor(t,i){if(this.target=t,!i.operation)throw new Error("Descriptor operation must be given in definition!");Object.assign(this,i)}};var At=class extends Ut{static getInstance(t,i=!0,r=null){return super._getInstance("listeners",...arguments)}static namespace(t,i=null){return super._namespace("listeners",...arguments)}constructor(t){super(t),this.batches=[]}addRegistration(t,i,r){return super.addRegistration(new Ae(this,{filter:t,emit:i,params:r}))}emit(t,{eventsArePropertyDescriptors:i=!1,eventIsArrayMethodDescriptor:r=!1}={}){if(this.batches.length){let s=this.batches[0].params.arrayMethodName;this.batches[0].snapshots.push({events:[...t],arrayMethodName:s,eventsArePropertyDescriptors:i,eventIsArrayMethodDescriptor:r});return}this.$emit(this.entries,[{events:t,eventsArePropertyDescriptors:i,eventIsArrayMethodDescriptor:r}])}$emit(t,i){let r=0,s=0,n=0;for(let l of t)r+=1,l.params.withPropertyDescriptors&&(s+=1),l.params.withArrayMethodDescriptors&&(n+=1);let a=[],o=[],c=[],u=[];for(let l of i){let f=l.arrayMethodName,p=l.eventsArePropertyDescriptors,g=l.eventIsArrayMethodDescriptor;for(let m of l.events)if(f&&(m.operation=f),s&&(n&&a.push(m),g||n!==r&&o.push(m)),s!==r){let S=m;if(p){let{target:E,type:y,...b}=m;S=new X(E,{type:"set",...b}),Object.defineProperty(S,"value","get"in b.value?{get:()=>b.value.get()}:{value:b.value.value}),b.oldValue&&Object.defineProperty(S,"oldValue","get"in b.oldValue?{get:()=>b.oldValue.get()}:{value:b.oldValue.value})}n&&c.push(S),g||n!==r&&u.push(S)}}for(let l of t)l.params.withPropertyDescriptors?l.params.withArrayMethodDescriptors?a.length&&l.fire(a):o.length&&l.fire(o):l.params.withArrayMethodDescriptors?c.length&&l.fire(c):u.length&&l.fire(u)}batch(t,i={}){this.batches.unshift({entries:[...this.entries],snapshots:[],params:i});let r=t();return ue(r,s=>{let n=this.batches.shift();return n.snapshots.length&&this.$emit(n.entries,n.snapshots),s})}};var Pe=class extends Ht{exec(t,i,r){return this.running||!this.traps[t.operation]?i(...Array.prototype.slice.call(arguments,2)):(this.running=!0,this.traps[t.operation](t,r,(...s)=>(this.running=!1,i(...s))))}};var Pt=class extends Ut{static getInstance(t,i=!0,r=null){return super._getInstance("traps",...arguments)}static namespace(t,i=null){return super._namespace("traps",...arguments)}addRegistration(t){return super.addRegistration(new Pe(this,t))}emit(t,i=null){let r=this;return function s(n,...a){let o=r.entries[n];return o?o.exec(t,(...c)=>s(n+1,...c),...a):i?i(t,...a):a[0]}(0)}};var Oi={};vi(Oi,{accessorize:()=>Cn,proxy:()=>Pi,unaccessorize:()=>kn,unproxy:()=>Ie});var Mr=Symbol("wqOriginal");function Cn(e,t,i={}){e=Ii(e);let r=U(e,"accessorizedProps");function s(c){let u,l=e;do u=Object.getOwnPropertyDescriptor(l,c);while(!u&&(l=Object.getPrototypeOf(l)));return u?{proto:l,descriptor:u}:{descriptor:{value:void 0,configurable:!0,enumerable:!0,writable:!0}}}function n(c){if(r.has(c+""))return!0;let u=s(c);u.getValue=function(p=!1){return p?this.descriptor:this.descriptor.get?this.descriptor.get():this.descriptor.value},u.setValue=function(p,g=!1){if(this.dirty=!0,g){this.descriptor=p;return}return this.descriptor.set?this.descriptor.set(p)!==!1:(this.descriptor.value=p,!0)},u.intact=function(){let p=Object.getOwnPropertyDescriptor(e,c);return p?.get===f.get&&p?.set===f.set&&r.get(c+"")===this},u.restore=function(){return this.intact()?(this.proto&&this.proto!==e||!this.proto&&!this.dirty?delete e[c]:Object.defineProperty(e,c,this.descriptor),r.delete(c+""),!0):!1},r.set(isNaN(c)?c:parseInt(c),u);let{enumerable:l=!0}=u.descriptor,f={enumerable:l,configurable:!0};("value"in u.descriptor||u.descriptor.set)&&(f.set=function(p){return Wt(this,c,p,i)}),("value"in u.descriptor||u.descriptor.get)&&(f.get=function(){return It(this,c,i)});try{return Object.defineProperty(e,c,f),!0}catch{return r.delete(c+""),!1}}let o=(Array.isArray(t)?t:t===void 0?Object.keys(e):[t]).map(n);return t===void 0||Array.isArray(t)?o:o[0]}function kn(e,t,i={}){e=Ii(e);let r=U(e,"accessorizedProps");function s(o){return r.has(o+"")?r.get(o+"").restore():!0}let a=(Array.isArray(t)?t:t===void 0?Object.keys(e):[t]).map(s);return t===void 0||Array.isArray(t)?a:a[0]}function Pi(e,t={},i=void 0){let r=Ii(e);if(typeof t.membrane=="boolean")throw new Error("The params.membrane parameter cannot be of type boolean.");if(t.membrane&&U(r,"membraneRef").has(t.membrane))return U(r,"membraneRef").get(t.membrane);let s={apply:(o,c,u)=>Ri(o,c,u,void 0,t),construct:(o,c,u=null)=>Li(o,c,u,t),defineProperty:(o,c,u)=>Oe(o,c,u,t),deleteProperty:(o,c)=>Te(o,c,t),get:(o,c,u=null)=>{if(c===Mr)return r;let l={...t,receiver:u},f=It(o,c,l);return Array.isArray(o)&&typeof f=="function"&&c!=="constructor"?Pi(f,{...t,arrayMethodName:c,membrane:u},i):t.chainable&&q(f)&&c!=="prototype"&&!(typeof f=="function"&&/^class\s?|\{\s\[native\scode\]\s\}$/.test(Function.prototype.toString.call(f)))?Pi(f,t,i):f},getOwnPropertyDescriptor:(o,c)=>ei(o,c,t),getPrototypeOf:o=>Ti(o,t),has:(o,c)=>ii(o,c,t),isExtensible:o=>Ni(o,t),ownKeys:o=>$i(o,t),preventExtensions:o=>Di(o,t),set:(o,c,u,l=null)=>Wt(o,c,u,{...t,receiver:l}),setPrototypeOf:(o,c)=>Mi(o,c,t)},n=i?.(s)||s,a=new Proxy(r,n);return t.membrane&&U(r,"membraneRef").set(t.membrane,a),a}function Ie(e){return e&&e[Mr]||e}function Ii(e){if(!e||!q(e))throw new Error("Target must be of type object!");return Ie(e)}var Ne=class extends Array{};function An(...e){return new Ne(...e)}var zt=class extends Array{};function Pn(){return new zt}function In(){return 1/0}function Vi(e,t,i,r=n=>n,s={}){let n=t instanceof zt;if(!(!n&&!t?.length))return function a(o,c,u,l){let f=l||c[u.level]instanceof zt,p=f?1/0:c[u.level],g=f?!1:u.level===c.length-1;return o instanceof X&&o.operation!=="get"?u={...u,probe:"always"}:u.probe!=="always"&&(u={...u,probe:!g}),i(o,p,(m,...S)=>{let E=w=>{w instanceof X&&(w.path="key"in w?[w.key]:[],o instanceof X&&(w.path="key"in w?o.path.concat(w.key):o.path.slice(0),Object.defineProperty(w,"context",{get:()=>o,configurable:!0})))},y=S[0]||{},b=w=>{if(w instanceof X&&"argumentsList"in w)return;let v=wt(w,!1);return ue(v,x=>(w instanceof X?w.value=x:w=x,a(w,c,{...u,...y,keyInParent:w.key,level:u.level+1},f)))};if($e(p)&&Array.isArray(m)){if(m.forEach(E),g)return r(m,...S);f&&m[0]instanceof X&&(m[0].operation!=="get"||s.asGet)&&r(m,...S);for(let w of m)b(w);return}return E(m),g?r(m,...S):b(m)},u)}(e,t.slice(0),{...s,level:0},n)}function Fi(e,t,i,r={}){let s=wt(e,!r.level);if(F(arguments[1])&&([,i,r={}]=arguments,t=1/0),!F(i))throw new Error(`Handler must be a function; "${ne(i)}" given!`);if(t instanceof Ne||t instanceof zt)return Vi(s,t,Fi,i,r);if(r={...r,descripted:!0},delete r.live,!q(s))return r.probe&&It(s,t,i,r)||void 0;let n=Dr(s,t,i,r);return r.probe?It(s,t,n,r):n()}function On(e,t,i={}){let r=wt(e);return V(t)||([,,,i={}]=arguments,t={[arguments[1]]:arguments[2]}),Pt.getInstance(r,!0,i.namespace).addRegistration({traps:t,params:i})}function ei(e,t,i=s=>s,r={}){return mt(e,"getOwnPropertyDescriptor",{key:t},i,r)}function Tn(e,t,i=s=>s,r={}){return mt(e,"getOwnPropertyDescriptors",{key:t},i,r)}function Ti(e,t=r=>r,i={}){return mt(e,"getPrototypeOf",{},t,i)}function Ni(e,t=r=>r,i={}){return mt(e,"isExtensible",{},t,i)}function $i(e,t=r=>r,i={}){return mt(e,"ownKeys",{},t,i)}function ii(e,t,i=s=>s,r={}){return mt(e,"has",{key:t},i,r)}function It(e,t,i=s=>s,r={}){let s,n=wt(e,!r.level);return V(i)?[r,i]=[i,a=>a]:r.live&&(s=!0),t instanceof Ne||t instanceof zt?Vi(n,t,It,i,{...r,asGet:!0}):Rn(n,t,a=>{let o=[...a];return function c(u,l,f){if(!l.length)return f(u);let p=l.shift();if(!["string","number","symbol"].includes(typeof p))throw new Error(`Property name/key ${p} invalid.`);function g(E,y=void 0){let b=x=>(E.value=x,c([...u,r.live||r.descripted?E:x],l,f));if(arguments.length>1)return b(y);if(!q(n))return b(n?.[E.key]);let w=U(n,"accessorizedProps",!1),v=w&&w.get(E.key);if(v&&v.intact())return b(v.getValue(r.withPropertyDescriptors));if(r.withPropertyDescriptors){let x=Object.getOwnPropertyDescriptor(n,E.key);return b(x)}return b(Reflect.get(n,E.key))}let m=new X(n,{type:"get",key:p,value:void 0,operation:"get",related:o});if(!q(n))return g(m);let S=Pt.getInstance(n,!1,r.namespace);return S?S.emit(m,g):g(m)}([],a.slice(0),c=>{let u=$e(t)?c:c[0];return s&&q(n)?Dr(n,t,i,r,e.key)(u):i(u)})},r)}function qi(e,t,i={}){let r=wt(e);return At.getInstance(r,!0,i.namespace).batch(t,i)}function Nn(e,t,i={}){t=wt(t),e=wt(e);let r=(i.only||[]).slice(0),s=(i.except||[]).slice(0),n=Object.keys(i.spread?[...e]:e).map(u=>isNaN(u)?u:parseInt(u)),a=r.length?r.filter(u=>n.includes(u)):n.filter(u=>!s.includes(u)),o=u=>!Array.isArray(t)||isNaN(u)?u:u-s.filter(l=>l<u).length,c=u=>{let l=ei(e,u,i);"value"in l&&l.writable&&l.enumerable&&l.configurable?Wt(t,o(u),l.value,i):(l.enumerable||i.onlyEnumerable===!1)&&Oe(t,u,{...l,configurable:!0},i)};return qi(t,()=>{a.forEach(c)}),Fi(e,u=>{u.filter(l=>r.length?r.includes(l.key):!s.includes(l.key)).forEach(l=>{if(l.type==="delete")return Te(t,o(l.key),i);if(l.type==="def"){(l.value.enumerable||i.onlyEnumerable===!1)&&Oe(t,o(l.key),{...l.value,configurable:!0},i);return}c(l.key)})},{...i,withPropertyDescriptors:!0})}function Wt(e,t,i,r=a=>a,s={},n=!1){let a=wt(e),o=[[t,i]];V(t)&&([,,r=u=>u,s={},n=!1]=arguments,o=Object.entries(t)),V(r)&&([n,s,r]=[typeof s=="boolean"?s:n,r,u=>u]);let c=o.map(([u])=>u);return function u(l,f,p){if(!f.length)return p(l);let[g,m]=f.shift();function S(y,b=void 0){let w=C=>(y.status=C,u(l.concat(y),f,p));if(arguments.length>1)return w(y,b);let v=U(a,"accessorizedProps",!1),x=v&&v.get(y.key);return y.type==="def"?(x&&!x.restore()&&w(!1),Object.defineProperty(a,y.key,y.value),w(!0)):x&&x.intact()?w(x.setValue(y.value)):w(Reflect.set(a,y.key,y.value))}function E(y,b){if(s.diff&&m===b)return u(l,f,p);let w=new X(a,{type:n?"def":"set",key:g,value:m,isUpdate:y,oldValue:b,related:[...c],operation:n?"defineProperty":"set",detail:s.detail}),v=Pt.getInstance(a,!1,s.namespace);return v?v.emit(w,S):S(w)}return ii(a,g,y=>{if(!y)return E(y);if(g==="length"&&Array.isArray(a)&&U(a).has("$length"))return E(!0,U(a).get("$length"));let b={...s,withPropertyDescriptors:n};return It(a,g,w=>E(y,w),b)},s)}([],o.slice(0),u=>{let l=At.getInstance(a,!1,s.namespace);return l&&l.emit(u,{eventsArePropertyDescriptors:!!n}),r($e(t)?u.map(f=>f.status):u[0]?.status)})}function Oe(e,t,i,r=n=>n,s={}){return Wt(e,t,i,r,s,!0)}function $n(e,t,i=s=>s,r={}){return Wt(e,t,i,r,!0)}function Te(e,t,i=s=>s,r={}){let s=wt(e);V(i)&&([r,i]=[i,o=>o]);let n=W(t,!1),a=[...n];return function o(c,u,l){if(!u.length)return l(c);let f=u.shift();function p(m,S=void 0){let E=w=>(m.status=w,o(c.concat(m),u,l));if(arguments.length>1)return E(m,S);let y=U(s,"accessorizedProps",!1),b=y&&y.get(m.key);return b&&!b.restore()&&E(!1),E(Reflect.deleteProperty(s,m.key))}function g(m){let S=new X(s,{type:"delete",key:f,oldValue:m,related:[...a],operation:"deleteProperty",detail:r.detail}),E=Pt.getInstance(s,!1,r.namespace);return E?E.emit(S,p):p(S)}return It(s,f,g,r)}([],n.slice(0),o=>{let c=At.getInstance(s,!1,r.namespace);return c&&c.emit(o),i($e(t)?o.map(u=>u.status):o[0].status)})}function Ln(e,t,i=s=>s,r={}){return Te(...arguments)}function Li(e,t,i=null,r=n=>n,s={}){return mt(e,"construct",arguments.length>2?{argumentsList:t,newTarget:i}:{argumentsList:t},r,s)}function Ri(e,t,i,r=n=>n,s={}){let n=Ie(t),a;if(Array.isArray(t)){if(s.arrayMethodName){let o=new X(n,{operation:s.arrayMethodName,argumentsList:i});At.getInstance(n,!1,s.namespace)?.emit([o],{eventIsArrayMethodDescriptor:!0})}U(n).set("$length",n.length),a=qi(n,()=>mt(e,"apply",{thisArgument:t,argumentsList:i},r,s),s),U(n).delete("$length")}else a=mt(e,"apply",{thisArgument:n,argumentsList:i},r,s);return a}function Mi(e,t,i=s=>s,r={}){return mt(e,"setPrototypeOf",{proto:t},i,r)}function Di(e,t=r=>r,i={}){return mt(e,"preventExtensions",{},t,i)}function Dr(e,t,i,r={}){let s=new AbortController;ti.setMaxListeners?.(0,s.signal),r.signal&&r.signal.addEventListener("abort",()=>s.abort());let n={...r,signal:s.signal},a=At.getInstance(e,!0,n.namespace),o=new Map;return function c(u=[],l=null){let f,p,g;if($e(t)){if(l){g=!0,p=l;for(let m of u)o.get(m.key)?.remove(),o.delete(m.key)}else p=a.addRegistration(t,c,n);f={signal:p.signal,childRegistrations:o}}else l?.remove(),p=a.addRegistration(t,c,n),f={signal:p.signal};if(n.childRegistrations&&n.keyInParent&&n.childRegistrations.set(n.keyInParent,p),arguments.length){let m=i(u,f);if(arguments.length>1)return m}return s}}function mt(e,t,i={},r=n=>n,s={}){e=wt(e),V(r)&&([s,r]=[r,c=>c]);function n(c,u){return arguments.length>1?r(u):r((Reflect[t]||Object[t])(e,...Object.values(i)))}let a=new X(e,{operation:t,...i}),o=Pt.getInstance(e,!1,s.namespace);return o?o.emit(a,n):n(a)}function $e(e){return e===1/0||Array.isArray(e)}function wt(e,t=!0,i=!0){if((!e||!q(e))&&t)throw new Error(`Object must be of type object or array! "${ne(e)}" given.`);return e instanceof X&&(e.type==="def"&&i?e=typeof e.value.get=="function"?e.value.get():e.value.value:e=e.value),e&&Ie(e)}function Rn(e,t,i,r={}){return t===1/0?r.level&&!q(e)?i([]):i(Object.entries(Object.getOwnPropertyDescriptors(e)).filter(([,s])=>s.writable!==!1&&!s.get&&!s.set).map(([s])=>s)):i(W(t,!1))}var Mn={...ji,...Oi},R=Mn;var Bi=(e,...t)=>{let i=t.pop();if(e.constructor.name==="AsyncFunction")return at(e.call(...t),i);try{return i(e.call(...t))}catch(r){return i(void 0,r)}},at=(e,t)=>e instanceof Promise?e.then(t).catch(i=>t(void 0,i)):t(e),Hi=e=>typeof e=="object"&&e||typeof e=="function";function Ui(e){let t=typeof e[e.length-1]=="object"?e.pop():{},i=e.pop()||"";return t.functionParams=e,{source:i,params:t}}var Vr={};var Dn=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239],Hr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191],Vn="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",Ur="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",Wi={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},zi="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Fn={5:zi,"5module":zi+" export import",6:zi+" const class extends export import super"},qn=/^in(stanceof)?$/,jn=new RegExp("["+Ur+"]"),Bn=new RegExp("["+Ur+Vn+"]");function Gi(e,t){for(var i=65536,r=0;r<t.length;r+=2){if(i+=t[r],i>e)return!1;if(i+=t[r+1],i>=e)return!0}return!1}function Tt(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&jn.test(String.fromCharCode(e)):t===!1?!1:Gi(e,Hr)}function ce(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Bn.test(String.fromCharCode(e)):t===!1?!1:Gi(e,Hr)||Gi(e,Dn)}var M=function(t,i){i===void 0&&(i={}),this.label=t,this.keyword=i.keyword,this.beforeExpr=!!i.beforeExpr,this.startsExpr=!!i.startsExpr,this.isLoop=!!i.isLoop,this.isAssign=!!i.isAssign,this.prefix=!!i.prefix,this.postfix=!!i.postfix,this.binop=i.binop||null,this.updateContext=null};function ct(e,t){return new M(e,{beforeExpr:!0,binop:t})}var lt={beforeExpr:!0},rt={startsExpr:!0},Yi={};function $(e,t){return t===void 0&&(t={}),t.keyword=e,Yi[e]=new M(e,t)}var h={num:new M("num",rt),regexp:new M("regexp",rt),string:new M("string",rt),name:new M("name",rt),privateId:new M("privateId",rt),eof:new M("eof"),bracketL:new M("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new M("]"),braceL:new M("{",{beforeExpr:!0,startsExpr:!0}),braceR:new M("}"),parenL:new M("(",{beforeExpr:!0,startsExpr:!0}),parenR:new M(")"),comma:new M(",",lt),semi:new M(";",lt),colon:new M(":",lt),dot:new M("."),question:new M("?",lt),questionDot:new M("?."),arrow:new M("=>",lt),template:new M("template"),invalidTemplate:new M("invalidTemplate"),ellipsis:new M("...",lt),backQuote:new M("`",rt),dollarBraceL:new M("${",{beforeExpr:!0,startsExpr:!0}),eq:new M("=",{beforeExpr:!0,isAssign:!0}),assign:new M("_=",{beforeExpr:!0,isAssign:!0}),incDec:new M("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new M("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ct("||",1),logicalAND:ct("&&",2),bitwiseOR:ct("|",3),bitwiseXOR:ct("^",4),bitwiseAND:ct("&",5),equality:ct("==/!=/===/!==",6),relational:ct("</>/<=/>=",7),bitShift:ct("<</>>/>>>",8),plusMin:new M("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ct("%",10),star:ct("*",10),slash:ct("/",10),starstar:new M("**",{beforeExpr:!0}),coalesce:ct("??",1),_break:$("break"),_case:$("case",lt),_catch:$("catch"),_continue:$("continue"),_debugger:$("debugger"),_default:$("default",lt),_do:$("do",{isLoop:!0,beforeExpr:!0}),_else:$("else",lt),_finally:$("finally"),_for:$("for",{isLoop:!0}),_function:$("function",rt),_if:$("if"),_return:$("return",lt),_switch:$("switch"),_throw:$("throw",lt),_try:$("try"),_var:$("var"),_const:$("const"),_while:$("while",{isLoop:!0}),_with:$("with"),_new:$("new",{beforeExpr:!0,startsExpr:!0}),_this:$("this",rt),_super:$("super",rt),_class:$("class",rt),_extends:$("extends",lt),_export:$("export"),_import:$("import",rt),_null:$("null",rt),_true:$("true",rt),_false:$("false",rt),_in:$("in",{beforeExpr:!0,binop:7}),_instanceof:$("instanceof",{beforeExpr:!0,binop:7}),_typeof:$("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:$("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:$("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},ft=/\r\n?|\n|\u2028|\u2029/,Hn=new RegExp(ft.source,"g");function le(e){return e===10||e===13||e===8232||e===8233}function Wr(e,t,i){i===void 0&&(i=e.length);for(var r=t;r<i;r++){var s=e.charCodeAt(r);if(le(s))return r<i-1&&s===13&&e.charCodeAt(r+1)===10?r+2:r+1}return-1}var zr=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,ht=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,Qr=Object.prototype,Un=Qr.hasOwnProperty,Wn=Qr.toString,De=Object.hasOwn||function(e,t){return Un.call(e,t)},Fr=Array.isArray||function(e){return Wn.call(e)==="[object Array]"};function Qt(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}function Mt(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}var zn=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Re=function(t,i){this.line=t,this.column=i};Re.prototype.offset=function(t){return new Re(this.line,this.column+t)};var oi=function(t,i,r){this.start=i,this.end=r,t.sourceFile!==null&&(this.source=t.sourceFile)};function Gr(e,t){for(var i=1,r=0;;){var s=Wr(e,r,t);if(s<0)return new Re(i,t-r);++i,r=s}}var Xi={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},qr=!1;function Qn(e){var t={};for(var i in Xi)t[i]=e&&De(e,i)?e[i]:Xi[i];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!qr&&typeof console=="object"&&console.warn&&(qr=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
|
|
2
2
|
Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),Fr(t.onToken)){var r=t.onToken;t.onToken=function(s){return r.push(s)}}return Fr(t.onComment)&&(t.onComment=Gn(t,t.onComment)),t}function Gn(e,t){return function(i,r,s,n,a,o){var c={type:i?"Block":"Line",value:r,start:s,end:n};e.locations&&(c.loc=new oi(this,a,o)),e.ranges&&(c.range=[s,n]),t.push(c)}}var Me=1,he=2,Ji=4,Xr=8,Kr=16,Yr=32,Zi=64,Jr=128,Ve=256,tr=Me|he|Ve;function er(e,t){return he|(e?Ji:0)|(t?Xr:0)}var si=0,ir=1,Ot=2,Zr=3,ts=4,es=5,z=function(t,i,r){this.options=t=Qn(t),this.sourceFile=t.sourceFile,this.keywords=Qt(Fn[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var s="";t.allowReserved!==!0&&(s=Wi[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(s+=" await")),this.reservedWords=Qt(s);var n=(s?s+" ":"")+Wi.strict;this.reservedWordsStrict=Qt(n),this.reservedWordsStrictBind=Qt(n+" "+Wi.strictBind),this.input=String(i),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf(`
|
|
3
3
|
`,r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(ft).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=h.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(Me),this.regexpState=null,this.privateNameStack=[]},vt={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};z.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)};vt.inFunction.get=function(){return(this.currentVarScope().flags&he)>0};vt.inGenerator.get=function(){return(this.currentVarScope().flags&Xr)>0&&!this.currentVarScope().inClassFieldInit};vt.inAsync.get=function(){return(this.currentVarScope().flags&Ji)>0&&!this.currentVarScope().inClassFieldInit};vt.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&Ve)return!1;if(t.flags&he)return(t.flags&Ji)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction};vt.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&Zi)>0||i||this.options.allowSuperOutsideMethod};vt.allowDirectSuper.get=function(){return(this.currentThisScope().flags&Jr)>0};vt.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())};vt.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,i=e.inClassFieldInit;return(t&(he|Ve))>0||i};vt.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&Ve)>0};z.extend=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];for(var r=this,s=0;s<t.length;s++)r=t[s](r);return r};z.parse=function(t,i){return new this(i,t).parse()};z.parseExpressionAt=function(t,i,r){var s=new this(r,t,i);return s.nextToken(),s.parseExpression()};z.tokenizer=function(t,i){return new this(i,t)};Object.defineProperties(z.prototype,vt);var Z=z.prototype,Xn=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;Z.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){ht.lastIndex=e,e+=ht.exec(this.input)[0].length;var t=Xn.exec(this.input.slice(e));if(!t)return!1;if((t[1]||t[2])==="use strict"){ht.lastIndex=e+t[0].length;var i=ht.exec(this.input),r=i.index+i[0].length,s=this.input.charAt(r);return s===";"||s==="}"||ft.test(i[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(s)||s==="!"&&this.input.charAt(r+1)==="=")}e+=t[0].length,ht.lastIndex=e,e+=ht.exec(this.input)[0].length,this.input[e]===";"&&e++}};Z.eat=function(e){return this.type===e?(this.next(),!0):!1};Z.isContextual=function(e){return this.type===h.name&&this.value===e&&!this.containsEsc};Z.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1};Z.expectContextual=function(e){this.eatContextual(e)||this.unexpected()};Z.canInsertSemicolon=function(){return this.type===h.eof||this.type===h.braceR||ft.test(this.input.slice(this.lastTokEnd,this.start))};Z.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0};Z.semicolon=function(){!this.eat(h.semi)&&!this.insertSemicolon()&&this.unexpected()};Z.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0};Z.expect=function(e){this.eat(e)||this.unexpected()};Z.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};var ui=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};Z.checkPatternErrors=function(e,t){if(!!e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var i=t?e.parenthesizedAssign:e.parenthesizedBind;i>-1&&this.raiseRecoverable(i,t?"Assigning to rvalue":"Parenthesized pattern")}};Z.checkExpressionErrors=function(e,t){if(!e)return!1;var i=e.shorthandAssign,r=e.doubleProto;if(!t)return i>=0||r>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),r>=0&&this.raiseRecoverable(r,"Redefinition of __proto__ property")};Z.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")};Z.isSimpleAssignTarget=function(e){return e.type==="ParenthesizedExpression"?this.isSimpleAssignTarget(e.expression):e.type==="Identifier"||e.type==="MemberExpression"};var I=z.prototype;I.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==h.eof;){var i=this.parseStatement(null,!0,t);e.body.push(i)}if(this.inModule)for(var r=0,s=Object.keys(this.undefinedExports);r<s.length;r+=1){var n=s[r];this.raiseRecoverable(this.undefinedExports[n].start,"Export '"+n+"' is not defined")}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType,this.finishNode(e,"Program")};var rr={kind:"loop"},Kn={kind:"switch"};I.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;ht.lastIndex=this.pos;var t=ht.exec(this.input),i=this.pos+t[0].length,r=this.input.charCodeAt(i);if(r===91||r===92)return!0;if(e)return!1;if(r===123||r>55295&&r<56320)return!0;if(Tt(r,!0)){for(var s=i+1;ce(r=this.input.charCodeAt(s),!0);)++s;if(r===92||r>55295&&r<56320)return!0;var n=this.input.slice(i,s);if(!qn.test(n))return!0}return!1};I.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;ht.lastIndex=this.pos;var e=ht.exec(this.input),t=this.pos+e[0].length,i;return!ft.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(ce(i=this.input.charCodeAt(t+8))||i>55295&&i<56320))};I.parseStatement=function(e,t,i){var r=this.type,s=this.startNode(),n;switch(this.isLet(e)&&(r=h._var,n="let"),r){case h._break:case h._continue:return this.parseBreakContinueStatement(s,r.keyword);case h._debugger:return this.parseDebuggerStatement(s);case h._do:return this.parseDoStatement(s);case h._for:return this.parseForStatement(s);case h._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!e);case h._class:return e&&this.unexpected(),this.parseClass(s,!0);case h._if:return this.parseIfStatement(s);case h._return:return this.parseReturnStatement(s);case h._switch:return this.parseSwitchStatement(s);case h._throw:return this.parseThrowStatement(s);case h._try:return this.parseTryStatement(s);case h._const:case h._var:return n=n||this.value,e&&n!=="var"&&this.unexpected(),this.parseVarStatement(s,n);case h._while:return this.parseWhileStatement(s);case h._with:return this.parseWithStatement(s);case h.braceL:return this.parseBlock(!0,s);case h.semi:return this.parseEmptyStatement(s);case h._export:case h._import:if(this.options.ecmaVersion>10&&r===h._import){ht.lastIndex=this.pos;var a=ht.exec(this.input),o=this.pos+a[0].length,c=this.input.charCodeAt(o);if(c===40||c===46)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===h._import?this.parseImport(s):this.parseExport(s,i);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!e);var u=this.value,l=this.parseExpression();return r===h.name&&l.type==="Identifier"&&this.eat(h.colon)?this.parseLabeledStatement(s,u,l,e):this.parseExpressionStatement(s,l)}};I.parseBreakContinueStatement=function(e,t){var i=t==="break";this.next(),this.eat(h.semi)||this.insertSemicolon()?e.label=null:this.type!==h.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var r=0;r<this.labels.length;++r){var s=this.labels[r];if((e.label==null||s.name===e.label.name)&&(s.kind!=null&&(i||s.kind==="loop")||e.label&&i))break}return r===this.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,i?"BreakStatement":"ContinueStatement")};I.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")};I.parseDoStatement=function(e){return this.next(),this.labels.push(rr),e.body=this.parseStatement("do"),this.labels.pop(),this.expect(h._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(h.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")};I.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(rr),this.enterScope(0),this.expect(h.parenL),this.type===h.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var i=this.isLet();if(this.type===h._var||this.type===h._const||i){var r=this.startNode(),s=i?"let":this.value;return this.next(),this.parseVar(r,!0,s),this.finishNode(r,"VariableDeclaration"),(this.type===h._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&r.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===h._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,r)):(t>-1&&this.unexpected(t),this.parseFor(e,r))}var n=this.isContextual("let"),a=!1,o=new ui,c=this.parseExpression(t>-1?"await":!0,o);return this.type===h._in||(a=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===h._in?t>-1&&this.unexpected(t):e.await=t>-1),n&&a&&this.raise(c.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(c,!1,o),this.checkLValPattern(c),this.parseForIn(e,c)):(this.checkExpressionErrors(o,!0),t>-1&&this.unexpected(t),this.parseFor(e,c))};I.parseFunctionStatement=function(e,t,i){return this.next(),this.parseFunction(e,Le|(i?0:Ki),!1,t)};I.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(h._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")};I.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(h.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")};I.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(h.braceL),this.labels.push(Kn),this.enterScope(0);for(var t,i=!1;this.type!==h.braceR;)if(this.type===h._case||this.type===h._default){var r=this.type===h._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,t.test=null),this.expect(h.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")};I.parseThrowStatement=function(e){return this.next(),ft.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Yn=[];I.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===h._catch){var t=this.startNode();if(this.next(),this.eat(h.parenL)){t.param=this.parseBindingAtom();var i=t.param.type==="Identifier";this.enterScope(i?Yr:0),this.checkLValPattern(t.param,i?ts:Ot),this.expect(h.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(h._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")};I.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")};I.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(rr),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")};I.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")};I.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")};I.parseLabeledStatement=function(e,t,i,r){for(var s=0,n=this.labels;s<n.length;s+=1){var a=n[s];a.name===t&&this.raise(i.start,"Label '"+t+"' is already declared")}for(var o=this.type.isLoop?"loop":this.type===h._switch?"switch":null,c=this.labels.length-1;c>=0;c--){var u=this.labels[c];if(u.statementStart===e.start)u.statementStart=this.start,u.kind=o;else break}return this.labels.push({name:t,kind:o,statementStart:this.start}),e.body=this.parseStatement(r?r.indexOf("label")===-1?r+"label":r:"label"),this.labels.pop(),e.label=i,this.finishNode(e,"LabeledStatement")};I.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")};I.parseBlock=function(e,t,i){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(h.braceL),e&&this.enterScope(0);this.type!==h.braceR;){var r=this.parseStatement(null);t.body.push(r)}return i&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")};I.parseFor=function(e,t){return e.init=t,this.expect(h.semi),e.test=this.type===h.semi?null:this.parseExpression(),this.expect(h.semi),e.update=this.type===h.parenR?null:this.parseExpression(),this.expect(h.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")};I.parseForIn=function(e,t){var i=this.type===h._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!i||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(h.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,i?"ForInStatement":"ForOfStatement")};I.parseVar=function(e,t,i){for(e.declarations=[],e.kind=i;;){var r=this.startNode();if(this.parseVarId(r,i),this.eat(h.eq)?r.init=this.parseMaybeAssign(t):i==="const"&&!(this.type===h._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():r.id.type!=="Identifier"&&!(t&&(this.type===h._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):r.init=null,e.declarations.push(this.finishNode(r,"VariableDeclarator")),!this.eat(h.comma))break}return e};I.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?ir:Ot,!1)};var Le=1,Ki=2,is=4;I.parseFunction=function(e,t,i,r,s){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!r)&&(this.type===h.star&&t&Ki&&this.unexpected(),e.generator=this.eat(h.star)),this.options.ecmaVersion>=8&&(e.async=!!r),t&Le&&(e.id=t&is&&this.type!==h.name?null:this.parseIdent(),e.id&&!(t&Ki)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?ir:Ot:Zr));var n=this.yieldPos,a=this.awaitPos,o=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(er(e.async,e.generator)),t&Le||(e.id=this.type===h.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,i,!1,s),this.yieldPos=n,this.awaitPos=a,this.awaitIdentPos=o,this.finishNode(e,t&Le?"FunctionDeclaration":"FunctionExpression")};I.parseFunctionParams=function(e){this.expect(h.parenL),e.params=this.parseBindingList(h.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()};I.parseClass=function(e,t){this.next();var i=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var r=this.enterClassBody(),s=this.startNode(),n=!1;for(s.body=[],this.expect(h.braceL);this.type!==h.braceR;){var a=this.parseClassElement(e.superClass!==null);a&&(s.body.push(a),a.type==="MethodDefinition"&&a.kind==="constructor"?(n&&this.raise(a.start,"Duplicate constructor in the same class"),n=!0):a.key&&a.key.type==="PrivateIdentifier"&&Jn(r,a)&&this.raiseRecoverable(a.key.start,"Identifier '#"+a.key.name+"' has already been declared"))}return this.strict=i,this.next(),e.body=this.finishNode(s,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")};I.parseClassElement=function(e){if(this.eat(h.semi))return null;var t=this.options.ecmaVersion,i=this.startNode(),r="",s=!1,n=!1,a="method",o=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(h.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===h.star?o=!0:r="static"}if(i.static=o,!r&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===h.star)&&!this.canInsertSemicolon()?n=!0:r="async"),!r&&(t>=9||!n)&&this.eat(h.star)&&(s=!0),!r&&!n&&!s){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?a=c:r=c)}if(r?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=r,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),t<13||this.type===h.parenL||a!=="method"||s||n){var u=!i.static&&ni(i,"constructor"),l=u&&e;u&&a!=="method"&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=u?"constructor":a,this.parseClassMethod(i,s,n,l)}else this.parseClassField(i);return i};I.isClassElementNameStart=function(){return this.type===h.name||this.type===h.privateId||this.type===h.num||this.type===h.string||this.type===h.bracketL||this.type.keyword};I.parseClassElementName=function(e){this.type===h.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)};I.parseClassMethod=function(e,t,i,r){var s=e.key;e.kind==="constructor"?(t&&this.raise(s.start,"Constructor can't be a generator"),i&&this.raise(s.start,"Constructor can't be an async method")):e.static&&ni(e,"prototype")&&this.raise(s.start,"Classes may not have a static property named prototype");var n=e.value=this.parseMethod(t,i,r);return e.kind==="get"&&n.params.length!==0&&this.raiseRecoverable(n.start,"getter should have no params"),e.kind==="set"&&n.params.length!==1&&this.raiseRecoverable(n.start,"setter should have exactly one param"),e.kind==="set"&&n.params[0].type==="RestElement"&&this.raiseRecoverable(n.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")};I.parseClassField=function(e){if(ni(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&ni(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(h.eq)){var t=this.currentThisScope(),i=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=i}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")};I.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(Ve|Zi);this.type!==h.braceR;){var i=this.parseStatement(null);e.body.push(i)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")};I.parseClassId=function(e,t){this.type===h.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,Ot,!1)):(t===!0&&this.unexpected(),e.id=null)};I.parseClassSuper=function(e){e.superClass=this.eat(h._extends)?this.parseExprSubscripts(null,!1):null};I.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared};I.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,i=e.used,r=this.privateNameStack.length,s=r===0?null:this.privateNameStack[r-1],n=0;n<i.length;++n){var a=i[n];De(t,a.name)||(s?s.used.push(a):this.raiseRecoverable(a.start,"Private field '#"+a.name+"' must be declared in an enclosing class"))}};function Jn(e,t){var i=t.key.name,r=e[i],s="true";return t.type==="MethodDefinition"&&(t.kind==="get"||t.kind==="set")&&(s=(t.static?"s":"i")+t.kind),r==="iget"&&s==="iset"||r==="iset"&&s==="iget"||r==="sget"&&s==="sset"||r==="sset"&&s==="sget"?(e[i]="true",!1):r?!0:(e[i]=s,!1)}function ni(e,t){var i=e.computed,r=e.key;return!i&&(r.type==="Identifier"&&r.name===t||r.type==="Literal"&&r.value===t)}I.parseExport=function(e,t){if(this.next(),this.eat(h.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==h.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(h._default)){this.checkExport(t,"default",this.lastTokStart);var i;if(this.type===h._function||(i=this.isAsyncFunction())){var r=this.startNode();this.next(),i&&this.next(),e.declaration=this.parseFunction(r,Le|is,!1,i)}else if(this.type===h._class){var s=this.startNode();e.declaration=this.parseClass(s,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==h.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var n=0,a=e.specifiers;n<a.length;n+=1){var o=a[n];this.checkUnreserved(o.local),this.checkLocalExport(o.local),o.local.type==="Literal"&&this.raise(o.local.start,"A string literal cannot be used as an exported binding without `from`.")}e.source=null}this.semicolon()}return this.finishNode(e,"ExportNamedDeclaration")};I.checkExport=function(e,t,i){!e||(typeof t!="string"&&(t=t.type==="Identifier"?t.name:t.value),De(e,t)&&this.raiseRecoverable(i,"Duplicate export '"+t+"'"),e[t]=!0)};I.checkPatternExport=function(e,t){var i=t.type;if(i==="Identifier")this.checkExport(e,t,t.start);else if(i==="ObjectPattern")for(var r=0,s=t.properties;r<s.length;r+=1){var n=s[r];this.checkPatternExport(e,n)}else if(i==="ArrayPattern")for(var a=0,o=t.elements;a<o.length;a+=1){var c=o[a];c&&this.checkPatternExport(e,c)}else i==="Property"?this.checkPatternExport(e,t.value):i==="AssignmentPattern"?this.checkPatternExport(e,t.left):i==="RestElement"?this.checkPatternExport(e,t.argument):i==="ParenthesizedExpression"&&this.checkPatternExport(e,t.expression)};I.checkVariableExport=function(e,t){if(!!e)for(var i=0,r=t;i<r.length;i+=1){var s=r[i];this.checkPatternExport(e,s.id)}};I.shouldParseExportStatement=function(){return this.type.keyword==="var"||this.type.keyword==="const"||this.type.keyword==="class"||this.type.keyword==="function"||this.isLet()||this.isAsyncFunction()};I.parseExportSpecifiers=function(e){var t=[],i=!0;for(this.expect(h.braceL);!this.eat(h.braceR);){if(i)i=!1;else if(this.expect(h.comma),this.afterTrailingComma(h.braceR))break;var r=this.startNode();r.local=this.parseModuleExportName(),r.exported=this.eatContextual("as")?this.parseModuleExportName():r.local,this.checkExport(e,r.exported,r.exported.start),t.push(this.finishNode(r,"ExportSpecifier"))}return t};I.parseImport=function(e){return this.next(),this.type===h.string?(e.specifiers=Yn,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),e.source=this.type===h.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")};I.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===h.name){var i=this.startNode();if(i.local=this.parseIdent(),this.checkLValSimple(i.local,Ot),e.push(this.finishNode(i,"ImportDefaultSpecifier")),!this.eat(h.comma))return e}if(this.type===h.star){var r=this.startNode();return this.next(),this.expectContextual("as"),r.local=this.parseIdent(),this.checkLValSimple(r.local,Ot),e.push(this.finishNode(r,"ImportNamespaceSpecifier")),e}for(this.expect(h.braceL);!this.eat(h.braceR);){if(t)t=!1;else if(this.expect(h.comma),this.afterTrailingComma(h.braceR))break;var s=this.startNode();s.imported=this.parseModuleExportName(),this.eatContextual("as")?s.local=this.parseIdent():(this.checkUnreserved(s.imported),s.local=s.imported),this.checkLValSimple(s.local,Ot),e.push(this.finishNode(s,"ImportSpecifier"))}return e};I.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===h.string){var e=this.parseLiteral(this.value);return zn.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)};I.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)};I.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var yt=z.prototype;yt.toAssignable=function(e,t,i){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var r=0,s=e.properties;r<s.length;r+=1){var n=s[r];this.toAssignable(n,t),n.type==="RestElement"&&(n.argument.type==="ArrayPattern"||n.argument.type==="ObjectPattern")&&this.raise(n.argument.start,"Unexpected token")}break;case"Property":e.kind!=="init"&&this.raise(e.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(e.value,t);break;case"ArrayExpression":e.type="ArrayPattern",i&&this.checkPatternErrors(i,!0),this.toAssignableList(e.elements,t);break;case"SpreadElement":e.type="RestElement",this.toAssignable(e.argument,t),e.argument.type==="AssignmentPattern"&&this.raise(e.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":e.operator!=="="&&this.raise(e.left.end,"Only '=' operator can be used for specifying default value."),e.type="AssignmentPattern",delete e.operator,this.toAssignable(e.left,t);break;case"ParenthesizedExpression":this.toAssignable(e.expression,t,i);break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!t)break;default:this.raise(e.start,"Assigning to rvalue")}else i&&this.checkPatternErrors(i,!0);return e};yt.toAssignableList=function(e,t){for(var i=e.length,r=0;r<i;r++){var s=e[r];s&&this.toAssignable(s,t)}if(i){var n=e[i-1];this.options.ecmaVersion===6&&t&&n&&n.type==="RestElement"&&n.argument.type!=="Identifier"&&this.unexpected(n.argument.start)}return e};yt.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")};yt.parseRestBinding=function(){var e=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==h.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,"RestElement")};yt.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case h.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(h.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case h.braceL:return this.parseObj(!0)}return this.parseIdent()};yt.parseBindingList=function(e,t,i){for(var r=[],s=!0;!this.eat(e);)if(s?s=!1:this.expect(h.comma),t&&this.type===h.comma)r.push(null);else{if(i&&this.afterTrailingComma(e))break;if(this.type===h.ellipsis){var n=this.parseRestBinding();this.parseBindingListItem(n),r.push(n),this.type===h.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}else{var a=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(a),r.push(a)}}return r};yt.parseBindingListItem=function(e){return e};yt.parseMaybeDefault=function(e,t,i){if(i=i||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(h.eq))return i;var r=this.startNodeAt(e,t);return r.left=i,r.right=this.parseMaybeAssign(),this.finishNode(r,"AssignmentPattern")};yt.checkLValSimple=function(e,t,i){t===void 0&&(t=si);var r=t!==si;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(r?"Binding ":"Assigning to ")+e.name+" in strict mode"),r&&(t===Ot&&e.name==="let"&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),i&&(De(i,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),i[e.name]=!0),t!==es&&this.declareName(e.name,t,e.start));break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":r&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return r&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,i);default:this.raise(e.start,(r?"Binding":"Assigning to")+" rvalue")}};yt.checkLValPattern=function(e,t,i){switch(t===void 0&&(t=si),e.type){case"ObjectPattern":for(var r=0,s=e.properties;r<s.length;r+=1){var n=s[r];this.checkLValInnerPattern(n,t,i)}break;case"ArrayPattern":for(var a=0,o=e.elements;a<o.length;a+=1){var c=o[a];c&&this.checkLValInnerPattern(c,t,i)}break;default:this.checkLValSimple(e,t,i)}};yt.checkLValInnerPattern=function(e,t,i){switch(t===void 0&&(t=si),e.type){case"Property":this.checkLValInnerPattern(e.value,t,i);break;case"AssignmentPattern":this.checkLValPattern(e.left,t,i);break;case"RestElement":this.checkLValPattern(e.argument,t,i);break;default:this.checkLValPattern(e,t,i)}};var gt=function(t,i,r,s,n){this.token=t,this.isExpr=!!i,this.preserveSpace=!!r,this.override=s,this.generator=!!n},j={b_stat:new gt("{",!1),b_expr:new gt("{",!0),b_tmpl:new gt("${",!1),p_stat:new gt("(",!1),p_expr:new gt("(",!0),q_tmpl:new gt("`",!0,!0,function(e){return e.tryReadTemplateToken()}),f_stat:new gt("function",!1),f_expr:new gt("function",!0),f_expr_gen:new gt("function",!0,!1,null,!0),f_gen:new gt("function",!1,!1,null,!0)},fe=z.prototype;fe.initialContext=function(){return[j.b_stat]};fe.curContext=function(){return this.context[this.context.length-1]};fe.braceIsBlock=function(e){var t=this.curContext();return t===j.f_expr||t===j.f_stat?!0:e===h.colon&&(t===j.b_stat||t===j.b_expr)?!t.isExpr:e===h._return||e===h.name&&this.exprAllowed?ft.test(this.input.slice(this.lastTokEnd,this.start)):e===h._else||e===h.semi||e===h.eof||e===h.parenR||e===h.arrow?!0:e===h.braceL?t===j.b_stat:e===h._var||e===h._const||e===h.name?!1:!this.exprAllowed};fe.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if(t.token==="function")return t.generator}return!1};fe.updateContext=function(e){var t,i=this.type;i.keyword&&e===h.dot?this.exprAllowed=!1:(t=i.updateContext)?t.call(this,e):this.exprAllowed=i.beforeExpr};fe.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)};h.parenR.updateContext=h.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var e=this.context.pop();e===j.b_stat&&this.curContext().token==="function"&&(e=this.context.pop()),this.exprAllowed=!e.isExpr};h.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?j.b_stat:j.b_expr),this.exprAllowed=!0};h.dollarBraceL.updateContext=function(){this.context.push(j.b_tmpl),this.exprAllowed=!0};h.parenL.updateContext=function(e){var t=e===h._if||e===h._for||e===h._with||e===h._while;this.context.push(t?j.p_stat:j.p_expr),this.exprAllowed=!0};h.incDec.updateContext=function(){};h._function.updateContext=h._class.updateContext=function(e){e.beforeExpr&&e!==h._else&&!(e===h.semi&&this.curContext()!==j.p_stat)&&!(e===h._return&&ft.test(this.input.slice(this.lastTokEnd,this.start)))&&!((e===h.colon||e===h.braceL)&&this.curContext()===j.b_stat)?this.context.push(j.f_expr):this.context.push(j.f_stat),this.exprAllowed=!1};h.backQuote.updateContext=function(){this.curContext()===j.q_tmpl?this.context.pop():this.context.push(j.q_tmpl),this.exprAllowed=!1};h.star.updateContext=function(e){if(e===h._function){var t=this.context.length-1;this.context[t]===j.f_expr?this.context[t]=j.f_expr_gen:this.context[t]=j.f_gen}this.exprAllowed=!0};h.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==h.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var T=z.prototype;T.checkPropClash=function(e,t,i){if(!(this.options.ecmaVersion>=9&&e.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var r=e.key,s;switch(r.type){case"Identifier":s=r.name;break;case"Literal":s=String(r.value);break;default:return}var n=e.kind;if(this.options.ecmaVersion>=6){s==="__proto__"&&n==="init"&&(t.proto&&(i?i.doubleProto<0&&(i.doubleProto=r.start):this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),t.proto=!0);return}s="$"+s;var a=t[s];if(a){var o;n==="init"?o=this.strict&&a.init||a.get||a.set:o=a.init||a[n],o&&this.raiseRecoverable(r.start,"Redefinition of property")}else a=t[s]={init:!1,get:!1,set:!1};a[n]=!0}};T.parseExpression=function(e,t){var i=this.start,r=this.startLoc,s=this.parseMaybeAssign(e,t);if(this.type===h.comma){var n=this.startNodeAt(i,r);for(n.expressions=[s];this.eat(h.comma);)n.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(n,"SequenceExpression")}return s};T.parseMaybeAssign=function(e,t,i){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var r=!1,s=-1,n=-1,a=-1;t?(s=t.parenthesizedAssign,n=t.trailingComma,a=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new ui,r=!0);var o=this.start,c=this.startLoc;(this.type===h.parenL||this.type===h.name)&&(this.potentialArrowAt=this.start,this.potentialArrowInForAwait=e==="await");var u=this.parseMaybeConditional(e,t);if(i&&(u=i.call(this,u,o,c)),this.type.isAssign){var l=this.startNodeAt(o,c);return l.operator=this.value,this.type===h.eq&&(u=this.toAssignable(u,!1,t)),r||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=u.start&&(t.shorthandAssign=-1),this.type===h.eq?this.checkLValPattern(u):this.checkLValSimple(u),l.left=u,this.next(),l.right=this.parseMaybeAssign(e),a>-1&&(t.doubleProto=a),this.finishNode(l,"AssignmentExpression")}else r&&this.checkExpressionErrors(t,!0);return s>-1&&(t.parenthesizedAssign=s),n>-1&&(t.trailingComma=n),u};T.parseMaybeConditional=function(e,t){var i=this.start,r=this.startLoc,s=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return s;if(this.eat(h.question)){var n=this.startNodeAt(i,r);return n.test=s,n.consequent=this.parseMaybeAssign(),this.expect(h.colon),n.alternate=this.parseMaybeAssign(e),this.finishNode(n,"ConditionalExpression")}return s};T.parseExprOps=function(e,t){var i=this.start,r=this.startLoc,s=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||s.start===i&&s.type==="ArrowFunctionExpression"?s:this.parseExprOp(s,i,r,-1,e)};T.parseExprOp=function(e,t,i,r,s){var n=this.type.binop;if(n!=null&&(!s||this.type!==h._in)&&n>r){var a=this.type===h.logicalOR||this.type===h.logicalAND,o=this.type===h.coalesce;o&&(n=h.logicalAND.binop);var c=this.value;this.next();var u=this.start,l=this.startLoc,f=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,s),u,l,n,s),p=this.buildBinary(t,i,e,f,c,a||o);return(a&&this.type===h.coalesce||o&&(this.type===h.logicalOR||this.type===h.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(p,t,i,r,s)}return e};T.buildBinary=function(e,t,i,r,s,n){r.type==="PrivateIdentifier"&&this.raise(r.start,"Private identifier can only be left side of binary expression");var a=this.startNodeAt(e,t);return a.left=i,a.operator=s,a.right=r,this.finishNode(a,n?"LogicalExpression":"BinaryExpression")};T.parseMaybeUnary=function(e,t,i,r){var s=this.start,n=this.startLoc,a;if(this.isContextual("await")&&this.canAwait)a=this.parseAwait(r),t=!0;else if(this.type.prefix){var o=this.startNode(),c=this.type===h.incDec;o.operator=this.value,o.prefix=!0,this.next(),o.argument=this.parseMaybeUnary(null,!0,c,r),this.checkExpressionErrors(e,!0),c?this.checkLValSimple(o.argument):this.strict&&o.operator==="delete"&&o.argument.type==="Identifier"?this.raiseRecoverable(o.start,"Deleting local variable in strict mode"):o.operator==="delete"&&rs(o.argument)?this.raiseRecoverable(o.start,"Private fields can not be deleted"):t=!0,a=this.finishNode(o,c?"UpdateExpression":"UnaryExpression")}else if(!t&&this.type===h.privateId)(r||this.privateNameStack.length===0)&&this.unexpected(),a=this.parsePrivateIdent(),this.type!==h._in&&this.unexpected();else{if(a=this.parseExprSubscripts(e,r),this.checkExpressionErrors(e))return a;for(;this.type.postfix&&!this.canInsertSemicolon();){var u=this.startNodeAt(s,n);u.operator=this.value,u.prefix=!1,u.argument=a,this.checkLValSimple(a),this.next(),a=this.finishNode(u,"UpdateExpression")}}if(!i&&this.eat(h.starstar))if(t)this.unexpected(this.lastTokStart);else return this.buildBinary(s,n,a,this.parseMaybeUnary(null,!1,!1,r),"**",!1);else return a};function rs(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&rs(e.expression)}T.parseExprSubscripts=function(e,t){var i=this.start,r=this.startLoc,s=this.parseExprAtom(e,t);if(s.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return s;var n=this.parseSubscripts(s,i,r,!1,t);return e&&n.type==="MemberExpression"&&(e.parenthesizedAssign>=n.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=n.start&&(e.parenthesizedBind=-1),e.trailingComma>=n.start&&(e.trailingComma=-1)),n};T.parseSubscripts=function(e,t,i,r,s){for(var n=this.options.ecmaVersion>=8&&e.type==="Identifier"&&e.name==="async"&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.potentialArrowAt===e.start,a=!1;;){var o=this.parseSubscript(e,t,i,r,n,a,s);if(o.optional&&(a=!0),o===e||o.type==="ArrowFunctionExpression"){if(a){var c=this.startNodeAt(t,i);c.expression=o,o=this.finishNode(c,"ChainExpression")}return o}e=o}};T.parseSubscript=function(e,t,i,r,s,n,a){var o=this.options.ecmaVersion>=11,c=o&&this.eat(h.questionDot);r&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var u=this.eat(h.bracketL);if(u||c&&this.type!==h.parenL&&this.type!==h.backQuote||this.eat(h.dot)){var l=this.startNodeAt(t,i);l.object=e,u?(l.property=this.parseExpression(),this.expect(h.bracketR)):this.type===h.privateId&&e.type!=="Super"?l.property=this.parsePrivateIdent():l.property=this.parseIdent(this.options.allowReserved!=="never"),l.computed=!!u,o&&(l.optional=c),e=this.finishNode(l,"MemberExpression")}else if(!r&&this.eat(h.parenL)){var f=new ui,p=this.yieldPos,g=this.awaitPos,m=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var S=this.parseExprList(h.parenR,this.options.ecmaVersion>=8,!1,f);if(s&&!c&&!this.canInsertSemicolon()&&this.eat(h.arrow))return this.checkPatternErrors(f,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=p,this.awaitPos=g,this.awaitIdentPos=m,this.parseArrowExpression(this.startNodeAt(t,i),S,!0,a);this.checkExpressionErrors(f,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=g||this.awaitPos,this.awaitIdentPos=m||this.awaitIdentPos;var E=this.startNodeAt(t,i);E.callee=e,E.arguments=S,o&&(E.optional=c),e=this.finishNode(E,"CallExpression")}else if(this.type===h.backQuote){(c||n)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var y=this.startNodeAt(t,i);y.tag=e,y.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(y,"TaggedTemplateExpression")}return e};T.parseExprAtom=function(e,t){this.type===h.slash&&this.readRegexp();var i,r=this.potentialArrowAt===this.start;switch(this.type){case h._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type===h.parenL&&!this.allowDirectSuper&&this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==h.dot&&this.type!==h.bracketL&&this.type!==h.parenL&&this.unexpected(),this.finishNode(i,"Super");case h._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case h.name:var s=this.start,n=this.startLoc,a=this.containsEsc,o=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&o.name==="async"&&!this.canInsertSemicolon()&&this.eat(h._function))return this.overrideContext(j.f_expr),this.parseFunction(this.startNodeAt(s,n),0,!1,!0,t);if(r&&!this.canInsertSemicolon()){if(this.eat(h.arrow))return this.parseArrowExpression(this.startNodeAt(s,n),[o],!1,t);if(this.options.ecmaVersion>=8&&o.name==="async"&&this.type===h.name&&!a&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return o=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(h.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,n),[o],!0,t)}return o;case h.regexp:var c=this.value;return i=this.parseLiteral(c.value),i.regex={pattern:c.pattern,flags:c.flags},i;case h.num:case h.string:return this.parseLiteral(this.value);case h._null:case h._true:case h._false:return i=this.startNode(),i.value=this.type===h._null?null:this.type===h._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case h.parenL:var u=this.start,l=this.parseParenAndDistinguishExpression(r,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),l;case h.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(h.bracketR,!0,!0,e),this.finishNode(i,"ArrayExpression");case h.braceL:return this.overrideContext(j.b_expr),this.parseObj(!1,e);case h._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case h._class:return this.parseClass(this.startNode(),!1);case h._new:return this.parseNew();case h.backQuote:return this.parseTemplate();case h._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}};T.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case h.parenL:return this.parseDynamicImport(e);case h.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}};T.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(h.parenR)){var t=this.start;this.eat(h.comma)&&this.eat(h.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")};T.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")};T.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")};T.parseParenExpression=function(){this.expect(h.parenL);var e=this.parseExpression();return this.expect(h.parenR),e};T.parseParenAndDistinguishExpression=function(e,t){var i=this.start,r=this.startLoc,s,n=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var a=this.start,o=this.startLoc,c=[],u=!0,l=!1,f=new ui,p=this.yieldPos,g=this.awaitPos,m;for(this.yieldPos=0,this.awaitPos=0;this.type!==h.parenR;)if(u?u=!1:this.expect(h.comma),n&&this.afterTrailingComma(h.parenR,!0)){l=!0;break}else if(this.type===h.ellipsis){m=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===h.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}else c.push(this.parseMaybeAssign(!1,f,this.parseParenItem));var S=this.lastTokEnd,E=this.lastTokEndLoc;if(this.expect(h.parenR),e&&!this.canInsertSemicolon()&&this.eat(h.arrow))return this.checkPatternErrors(f,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=p,this.awaitPos=g,this.parseParenArrowList(i,r,c,t);(!c.length||l)&&this.unexpected(this.lastTokStart),m&&this.unexpected(m),this.checkExpressionErrors(f,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=g||this.awaitPos,c.length>1?(s=this.startNodeAt(a,o),s.expressions=c,this.finishNodeAt(s,"SequenceExpression",S,E)):s=c[0]}else s=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(i,r);return y.expression=s,this.finishNode(y,"ParenthesizedExpression")}else return s};T.parseParenItem=function(e){return e};T.parseParenArrowList=function(e,t,i,r){return this.parseArrowExpression(this.startNodeAt(e,t),i,!1,r)};var Zn=[];T.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(h.dot)){e.meta=t;var i=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),i&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var r=this.start,s=this.startLoc,n=this.type===h._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),r,s,!0,!1),n&&e.callee.type==="ImportExpression"&&this.raise(r,"Cannot use new with import()"),this.eat(h.parenL)?e.arguments=this.parseExprList(h.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Zn,this.finishNode(e,"NewExpression")};T.parseTemplateElement=function(e){var t=e.isTagged,i=this.startNode();return this.type===h.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
|
|
4
4
|
`),cooked:this.value},this.next(),i.tail=this.type===h.backQuote,this.finishNode(i,"TemplateElement")};T.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var i=this.startNode();this.next(),i.expressions=[];var r=this.parseTemplateElement({isTagged:t});for(i.quasis=[r];!r.tail;)this.type===h.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(h.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(h.braceR),i.quasis.push(r=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(i,"TemplateLiteral")};T.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===h.name||this.type===h.num||this.type===h.string||this.type===h.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===h.star)&&!ft.test(this.input.slice(this.lastTokEnd,this.start))};T.parseObj=function(e,t){var i=this.startNode(),r=!0,s={};for(i.properties=[],this.next();!this.eat(h.braceR);){if(r)r=!1;else if(this.expect(h.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(h.braceR))break;var n=this.parseProperty(e,t);e||this.checkPropClash(n,s,t),i.properties.push(n)}return this.finishNode(i,e?"ObjectPattern":"ObjectExpression")};T.parseProperty=function(e,t){var i=this.startNode(),r,s,n,a;if(this.options.ecmaVersion>=9&&this.eat(h.ellipsis))return e?(i.argument=this.parseIdent(!1),this.type===h.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(i,"RestElement")):(i.argument=this.parseMaybeAssign(!1,t),this.type===h.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(i,"SpreadElement"));this.options.ecmaVersion>=6&&(i.method=!1,i.shorthand=!1,(e||t)&&(n=this.start,a=this.startLoc),e||(r=this.eat(h.star)));var o=this.containsEsc;return this.parsePropertyName(i),!e&&!o&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(i)?(s=!0,r=this.options.ecmaVersion>=9&&this.eat(h.star),this.parsePropertyName(i)):s=!1,this.parsePropertyValue(i,e,r,s,n,a,t,o),this.finishNode(i,"Property")};T.parsePropertyValue=function(e,t,i,r,s,n,a,o){if((i||r)&&this.type===h.colon&&this.unexpected(),this.eat(h.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===h.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(i,r);else if(!t&&!o&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==h.comma&&this.type!==h.braceR&&this.type!==h.eq){(i||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var c=e.kind==="get"?0:1;if(e.value.params.length!==c){var u=e.value.start;e.kind==="get"?this.raiseRecoverable(u,"getter should have no params"):this.raiseRecoverable(u,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((i||r)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=s),e.kind="init",t?e.value=this.parseMaybeDefault(s,n,this.copyNode(e.key)):this.type===h.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),e.value=this.parseMaybeDefault(s,n,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()};T.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(h.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(h.bracketR),e.key;e.computed=!1}return e.key=this.type===h.num||this.type===h.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")};T.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)};T.parseMethod=function(e,t,i){var r=this.startNode(),s=this.yieldPos,n=this.awaitPos,a=this.awaitIdentPos;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=e),this.options.ecmaVersion>=8&&(r.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(er(t,r.generator)|Zi|(i?Jr:0)),this.expect(h.parenL),r.params=this.parseBindingList(h.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1,!0,!1),this.yieldPos=s,this.awaitPos=n,this.awaitIdentPos=a,this.finishNode(r,"FunctionExpression")};T.parseArrowExpression=function(e,t,i,r){var s=this.yieldPos,n=this.awaitPos,a=this.awaitIdentPos;return this.enterScope(er(i,!1)|Kr),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,r),this.yieldPos=s,this.awaitPos=n,this.awaitIdentPos=a,this.finishNode(e,"ArrowFunctionExpression")};T.parseFunctionBody=function(e,t,i,r){var s=t&&this.type!==h.braceL,n=this.strict,a=!1;if(s)e.body=this.parseMaybeAssign(r),e.expression=!0,this.checkParams(e,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!n||o)&&(a=this.strictDirective(this.end),a&&o&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var c=this.labels;this.labels=[],a&&(this.strict=!0),this.checkParams(e,!n&&!a&&!t&&!i&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,es),e.body=this.parseBlock(!1,void 0,a&&!n),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=c}this.exitScope()};T.isSimpleParamList=function(e){for(var t=0,i=e;t<i.length;t+=1){var r=i[t];if(r.type!=="Identifier")return!1}return!0};T.checkParams=function(e,t){for(var i=Object.create(null),r=0,s=e.params;r<s.length;r+=1){var n=s[r];this.checkLValInnerPattern(n,ir,t?null:i)}};T.parseExprList=function(e,t,i,r){for(var s=[],n=!0;!this.eat(e);){if(n)n=!1;else if(this.expect(h.comma),t&&this.afterTrailingComma(e))break;var a=void 0;i&&this.type===h.comma?a=null:this.type===h.ellipsis?(a=this.parseSpread(r),r&&this.type===h.comma&&r.trailingComma<0&&(r.trailingComma=this.start)):a=this.parseMaybeAssign(!1,r),s.push(a)}return s};T.checkUnreserved=function(e){var t=e.start,i=e.end,r=e.name;if(this.inGenerator&&r==="yield"&&this.raiseRecoverable(t,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&r==="await"&&this.raiseRecoverable(t,"Cannot use 'await' as identifier inside an async function"),this.currentThisScope().inClassFieldInit&&r==="arguments"&&this.raiseRecoverable(t,"Cannot use 'arguments' in class field initializer"),this.inClassStaticBlock&&(r==="arguments"||r==="await")&&this.raise(t,"Cannot use "+r+" in class static initialization block"),this.keywords.test(r)&&this.raise(t,"Unexpected keyword '"+r+"'"),!(this.options.ecmaVersion<6&&this.input.slice(t,i).indexOf("\\")!==-1)){var s=this.strict?this.reservedWordsStrict:this.reservedWords;s.test(r)&&(!this.inAsync&&r==="await"&&this.raiseRecoverable(t,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(t,"The keyword '"+r+"' is reserved"))}};T.parseIdent=function(e){var t=this.startNode();return this.type===h.name?t.name=this.value:this.type.keyword?(t.name=this.type.keyword,(t.name==="class"||t.name==="function")&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop()):this.unexpected(),this.next(!!e),this.finishNode(t,"Identifier"),e||(this.checkUnreserved(t),t.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=t.start)),t};T.parsePrivateIdent=function(){var e=this.startNode();return this.type===h.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,"PrivateIdentifier"),this.privateNameStack.length===0?this.raise(e.start,"Private field '#"+e.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(e),e};T.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===h.semi||this.canInsertSemicolon()||this.type!==h.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(h.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,"YieldExpression")};T.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,"AwaitExpression")};var ai=z.prototype;ai.raise=function(e,t){var i=Gr(this.input,e);t+=" ("+i.line+":"+i.column+")";var r=new SyntaxError(t);throw r.pos=e,r.loc=i,r.raisedAt=this.pos,r};ai.raiseRecoverable=ai.raise;ai.curPosition=function(){if(this.options.locations)return new Re(this.curLine,this.pos-this.lineStart)};var Dt=z.prototype,ta=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};Dt.enterScope=function(e){this.scopeStack.push(new ta(e))};Dt.exitScope=function(){this.scopeStack.pop()};Dt.treatFunctionsAsVarInScope=function(e){return e.flags&he||!this.inModule&&e.flags&Me};Dt.declareName=function(e,t,i){var r=!1;if(t===Ot){var s=this.currentScope();r=s.lexical.indexOf(e)>-1||s.functions.indexOf(e)>-1||s.var.indexOf(e)>-1,s.lexical.push(e),this.inModule&&s.flags&Me&&delete this.undefinedExports[e]}else if(t===ts){var n=this.currentScope();n.lexical.push(e)}else if(t===Zr){var a=this.currentScope();this.treatFunctionsAsVar?r=a.lexical.indexOf(e)>-1:r=a.lexical.indexOf(e)>-1||a.var.indexOf(e)>-1,a.functions.push(e)}else for(var o=this.scopeStack.length-1;o>=0;--o){var c=this.scopeStack[o];if(c.lexical.indexOf(e)>-1&&!(c.flags&Yr&&c.lexical[0]===e)||!this.treatFunctionsAsVarInScope(c)&&c.functions.indexOf(e)>-1){r=!0;break}if(c.var.push(e),this.inModule&&c.flags&Me&&delete this.undefinedExports[e],c.flags&tr)break}r&&this.raiseRecoverable(i,"Identifier '"+e+"' has already been declared")};Dt.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)};Dt.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]};Dt.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&tr)return t}};Dt.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&tr&&!(t.flags&Kr))return t}};var ci=function(t,i,r){this.type="",this.start=i,this.end=0,t.options.locations&&(this.loc=new oi(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[i,0])},Fe=z.prototype;Fe.startNode=function(){return new ci(this,this.start,this.startLoc)};Fe.startNodeAt=function(e,t){return new ci(this,e,t)};function ss(e,t,i,r){return e.type=t,e.end=i,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=i),e}Fe.finishNode=function(e,t){return ss.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)};Fe.finishNodeAt=function(e,t,i,r){return ss.call(this,e,t,i,r)};Fe.copyNode=function(e){var t=new ci(this,e.start,this.startLoc);for(var i in e)t[i]=e[i];return t};var ns="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",as=ns+" Extended_Pictographic",os=as,us=os+" EBase EComp EMod EPres ExtPict",cs=us,ea=cs,ia={9:ns,10:as,11:os,12:us,13:cs,14:ea},jr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",ls="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",hs=ls+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",fs=hs+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",ps=fs+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",ds=ps+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",ra=ds+" Kawi Nag_Mundari Nagm",sa={9:ls,10:hs,11:fs,12:ps,13:ds,14:ra},ms={};function na(e){var t=ms[e]={binary:Qt(ia[e]+" "+jr),nonBinary:{General_Category:Qt(jr),Script:Qt(sa[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(ri=0,Qi=[9,10,11,12,13,14];ri<Qi.length;ri+=1)Br=Qi[ri],na(Br);var Br,ri,Qi,A=z.prototype,Nt=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":""),this.unicodeProperties=ms[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};Nt.prototype.reset=function(t,i,r){var s=r.indexOf("u")!==-1;this.start=t|0,this.source=i+"",this.flags=r,this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchN=s&&this.parser.options.ecmaVersion>=9};Nt.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)};Nt.prototype.at=function(t,i){i===void 0&&(i=!1);var r=this.source,s=r.length;if(t>=s)return-1;var n=r.charCodeAt(t);if(!(i||this.switchU)||n<=55295||n>=57344||t+1>=s)return n;var a=r.charCodeAt(t+1);return a>=56320&&a<=57343?(n<<10)+a-56613888:n};Nt.prototype.nextIndex=function(t,i){i===void 0&&(i=!1);var r=this.source,s=r.length;if(t>=s)return s;var n=r.charCodeAt(t),a;return!(i||this.switchU)||n<=55295||n>=57344||t+1>=s||(a=r.charCodeAt(t+1))<56320||a>57343?t+1:t+2};Nt.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)};Nt.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)};Nt.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)};Nt.prototype.eat=function(t,i){return i===void 0&&(i=!1),this.current(i)===t?(this.advance(i),!0):!1};A.validateRegExpFlags=function(e){for(var t=e.validFlags,i=e.flags,r=0;r<i.length;r++){var s=i.charAt(r);t.indexOf(s)===-1&&this.raise(e.start,"Invalid regular expression flag"),i.indexOf(s,r+1)>-1&&this.raise(e.start,"Duplicate regular expression flag")}};A.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))};A.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,i=e.backReferenceNames;t<i.length;t+=1){var r=i[t];e.groupNames.indexOf(r)===-1&&e.raise("Invalid named capture referenced")}};A.regexp_disjunction=function(e){for(this.regexp_alternative(e);e.eat(124);)this.regexp_alternative(e);this.regexp_eatQuantifier(e,!0)&&e.raise("Nothing to repeat"),e.eat(123)&&e.raise("Lone quantifier brackets")};A.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););};A.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise("Invalid quantifier"),!0):(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))?(this.regexp_eatQuantifier(e),!0):!1};A.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var i=!1;if(this.options.ecmaVersion>=9&&(i=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!i,!0}return e.pos=t,!1};A.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1};A.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)};A.regexp_eatBracedQuantifier=function(e,t){var i=e.pos;if(e.eat(123)){var r=0,s=-1;if(this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue),e.eat(125)))return s!==-1&&s<r&&!t&&e.raise("numbers out of order in {} quantifier"),!0;e.switchU&&!t&&e.raise("Incomplete quantifier"),e.pos=i}return!1};A.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)};A.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1};A.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)&&e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise("Unterminated group")}e.pos=t}return!1};A.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1};A.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)};A.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1};A.regexp_eatSyntaxCharacter=function(e){var t=e.current();return gs(t)?(e.lastIntValue=t,e.advance(),!0):!1};function gs(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}A.regexp_eatPatternCharacters=function(e){for(var t=e.pos,i=0;(i=e.current())!==-1&&!gs(i);)e.advance();return e.pos!==t};A.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1};A.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}};A.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1};A.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Mt(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Mt(e.lastIntValue);return!0}return!1};A.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,r=e.current(i);return e.advance(i),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(r=e.lastIntValue),aa(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function aa(e){return Tt(e,!0)||e===36||e===95}A.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,i=this.options.ecmaVersion>=11,r=e.current(i);return e.advance(i),r===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,i)&&(r=e.lastIntValue),oa(r)?(e.lastIntValue=r,!0):(e.pos=t,!1)};function oa(e){return ce(e,!0)||e===36||e===95||e===8204||e===8205}A.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)};A.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var i=e.lastIntValue;if(e.switchU)return i>e.maxBackReference&&(e.maxBackReference=i),!0;if(i<=e.numCapturingParens)return!0;e.pos=t}return!1};A.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1};A.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)};A.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1};A.regexp_eatZero=function(e){return e.current()===48&&!li(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1};A.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1};A.regexp_eatControlLetter=function(e){var t=e.current();return ys(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function ys(e){return e>=65&&e<=90||e>=97&&e<=122}A.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var i=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var s=e.lastIntValue;if(r&&s>=55296&&s<=56319){var n=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(a>=56320&&a<=57343)return e.lastIntValue=(s-55296)*1024+(a-56320)+65536,!0}e.pos=n,e.lastIntValue=s}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&ua(e.lastIntValue))return!0;r&&e.raise("Invalid unicode escape"),e.pos=i}return!1};function ua(e){return e>=0&&e<=1114111}A.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1};A.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};A.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(ca(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1};function ca(e){return e===100||e===68||e===115||e===83||e===119||e===87}A.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var i=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,i,r),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,s),!0}return!1};A.regexp_validateUnicodePropertyNameAndValue=function(e,t,i){De(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(i)||e.raise("Invalid property value")};A.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")};A.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";xs(t=e.current());)e.lastStringValue+=Mt(t),e.advance();return e.lastStringValue!==""};function xs(e){return ys(e)||e===95}A.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";la(t=e.current());)e.lastStringValue+=Mt(t),e.advance();return e.lastStringValue!==""};function la(e){return xs(e)||li(e)}A.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)};A.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1};A.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var i=e.lastIntValue;e.switchU&&(t===-1||i===-1)&&e.raise("Invalid character class"),t!==-1&&i!==-1&&t>i&&e.raise("Range out of order in character class")}}};A.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var i=e.current();(i===99||vs(i))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var r=e.current();return r!==93?(e.lastIntValue=r,e.advance(),!0):!1};A.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)};A.regexp_eatClassControlLetter=function(e){var t=e.current();return li(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1};A.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1};A.regexp_eatDecimalDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;li(i=e.current());)e.lastIntValue=10*e.lastIntValue+(i-48),e.advance();return e.pos!==t};function li(e){return e>=48&&e<=57}A.regexp_eatHexDigits=function(e){var t=e.pos,i=0;for(e.lastIntValue=0;bs(i=e.current());)e.lastIntValue=16*e.lastIntValue+ws(i),e.advance();return e.pos!==t};function bs(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ws(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}A.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var i=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+i*8+e.lastIntValue:e.lastIntValue=t*8+i}else e.lastIntValue=t;return!0}return!1};A.regexp_eatOctalDigit=function(e){var t=e.current();return vs(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function vs(e){return e>=48&&e<=55}A.regexp_eatFixedHexDigits=function(e,t){var i=e.pos;e.lastIntValue=0;for(var r=0;r<t;++r){var s=e.current();if(!bs(s))return e.pos=i,!1;e.lastIntValue=16*e.lastIntValue+ws(s),e.advance()}return!0};var sr=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new oi(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},N=z.prototype;N.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new sr(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()};N.getToken=function(){return this.next(),new sr(this)};typeof Symbol<"u"&&(N[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===h.eof,value:t}}}});N.nextToken=function(){var e=this.curContext();if((!e||!e.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(h.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())};N.readToken=function(e){return Tt(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)};N.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888};N.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(i===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(var r=void 0,s=t;(r=Wr(this.input,s,this.pos))>-1;)++this.curLine,s=this.lineStart=r;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,i),t,this.pos,e,this.curPosition())};N.skipLineComment=function(e){for(var t=this.pos,i=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!le(r);)r=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,i,this.curPosition())};N.skipSpace=function(){t:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(e>8&&e<14||e>=5760&&zr.test(String.fromCharCode(e)))++this.pos;else break t}}};N.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=e,this.value=t,this.updateContext(i)};N.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(h.ellipsis)):(++this.pos,this.finishToken(h.dot))};N.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(h.assign,2):this.finishOp(h.slash,1)};N.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),i=1,r=e===42?h.star:h.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++i,r=h.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(h.assign,i+1):this.finishOp(r,i)};N.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var i=this.input.charCodeAt(this.pos+2);if(i===61)return this.finishOp(h.assign,3)}return this.finishOp(e===124?h.logicalOR:h.logicalAND,2)}return t===61?this.finishOp(h.assign,2):this.finishOp(e===124?h.bitwiseOR:h.bitwiseAND,1)};N.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(h.assign,2):this.finishOp(h.bitwiseXOR,1)};N.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||ft.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(h.incDec,2):t===61?this.finishOp(h.assign,2):this.finishOp(h.plusMin,1)};N.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),i=1;return t===e?(i=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+i)===61?this.finishOp(h.assign,i+1):this.finishOp(h.bitShift,i)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(i=2),this.finishOp(h.relational,i))};N.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(h.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(h.arrow)):this.finishOp(e===61?h.eq:h.prefix,1)};N.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(h.questionDot,2)}if(t===63){if(e>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(h.assign,3)}return this.finishOp(h.coalesce,2)}}return this.finishOp(h.question,1)};N.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),Tt(t,!0)||t===92))return this.finishToken(h.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Mt(t)+"'")};N.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(h.parenL);case 41:return++this.pos,this.finishToken(h.parenR);case 59:return++this.pos,this.finishToken(h.semi);case 44:return++this.pos,this.finishToken(h.comma);case 91:return++this.pos,this.finishToken(h.bracketL);case 93:return++this.pos,this.finishToken(h.bracketR);case 123:return++this.pos,this.finishToken(h.braceL);case 125:return++this.pos,this.finishToken(h.braceR);case 58:return++this.pos,this.finishToken(h.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(h.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(h.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Mt(e)+"'")};N.finishOp=function(e,t){var i=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,i)};N.readRegexp=function(){for(var e,t,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var r=this.input.charAt(this.pos);if(ft.test(r)&&this.raise(i,"Unterminated regular expression"),e)e=!1;else{if(r==="[")t=!0;else if(r==="]"&&t)t=!1;else if(r==="/"&&!t)break;e=r==="\\"}++this.pos}var s=this.input.slice(i,this.pos);++this.pos;var n=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(n);var o=this.regexpState||(this.regexpState=new Nt(this));o.reset(i,s,a),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var c=null;try{c=new RegExp(s,a)}catch{}return this.finishToken(h.regexp,{pattern:s,flags:a,value:c})};N.readInt=function(e,t,i){for(var r=this.options.ecmaVersion>=12&&t===void 0,s=i&&this.input.charCodeAt(this.pos)===48,n=this.pos,a=0,o=0,c=0,u=t??1/0;c<u;++c,++this.pos){var l=this.input.charCodeAt(this.pos),f=void 0;if(r&&l===95){s&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),o===95&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),c===0&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),o=l;continue}if(l>=97?f=l-97+10:l>=65?f=l-65+10:l>=48&&l<=57?f=l-48:f=1/0,f>=e)break;o=l,a=a*e+f}return r&&o===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===n||t!=null&&this.pos-n!==t?null:a};function ha(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Ss(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}N.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var i=this.readInt(e);return i==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(i=Ss(this.input.slice(t,this.pos)),++this.pos):Tt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(h.num,i)};N.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var i=this.pos-t>=2&&this.input.charCodeAt(t)===48;i&&this.strict&&this.raise(t,"Invalid number");var r=this.input.charCodeAt(this.pos);if(!i&&!e&&this.options.ecmaVersion>=11&&r===110){var s=Ss(this.input.slice(t,this.pos));return++this.pos,Tt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(h.num,s)}i&&/[89]/.test(this.input.slice(t,this.pos))&&(i=!1),r===46&&!i&&(++this.pos,this.readInt(10),r=this.input.charCodeAt(this.pos)),(r===69||r===101)&&!i&&(r=this.input.charCodeAt(++this.pos),(r===43||r===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),Tt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var n=ha(this.input.slice(t,this.pos),i);return this.finishToken(h.num,n)};N.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var i=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(i,"Code point out of bounds")}else t=this.readHexChar(4);return t};N.readString=function(e){for(var t="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var r=this.input.charCodeAt(this.pos);if(r===e)break;r===92?(t+=this.input.slice(i,this.pos),t+=this.readEscapedChar(!1),i=this.pos):r===8232||r===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(le(r)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(i,this.pos++),this.finishToken(h.string,t)};var _s={};N.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===_s)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1};N.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw _s;this.raise(e,t)};N.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(i===96||i===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===h.template||this.type===h.invalidTemplate)?i===36?(this.pos+=2,this.finishToken(h.dollarBraceL)):(++this.pos,this.finishToken(h.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(h.template,e));if(i===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(le(i)){switch(e+=this.input.slice(t,this.pos),++this.pos,i){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=`
|
|
@@ -8,7 +8,7 @@ Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=1
|
|
|
8
8
|
`,a):(e.write("/*"),ma(e,a.value,i,r),e.write("*/"+r))}}function ga(e){let t=e;for(;t!=null;){let{type:i}=t;if(i[0]==="C"&&i[1]==="a")return!0;if(i[0]==="M"&&i[1]==="e"&&i[2]==="m")t=t.object;else return!1}}function nr(e,t){let{generator:i}=e,{declarations:r}=t;e.write(t.kind+" ");let{length:s}=r;if(s>0){i.VariableDeclarator(r[0],e);for(let n=1;n<s;n++)e.write(", "),i.VariableDeclarator(r[n],e)}}var Cs,ks,As,Ps,Is,Os,ya={Program(e,t){let i=t.indent.repeat(t.indentLevel),{lineEnd:r,writeComments:s}=t;s&&e.comments!=null&&tt(t,e.comments,i,r);let n=e.body,{length:a}=n;for(let o=0;o<a;o++){let c=n[o];s&&c.comments!=null&&tt(t,c.comments,i,r),t.write(i),this[c.type](c,t),t.write(r)}s&&e.trailingComments!=null&&tt(t,e.trailingComments,i,r)},BlockStatement:Os=function(e,t){let i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:s}=t,n=i+t.indent;t.write("{");let a=e.body;if(a!=null&&a.length>0){t.write(r),s&&e.comments!=null&&tt(t,e.comments,n,r);let{length:o}=a;for(let c=0;c<o;c++){let u=a[c];s&&u.comments!=null&&tt(t,u.comments,n,r),t.write(n),this[u.type](u,t),t.write(r)}t.write(i)}else s&&e.comments!=null&&(t.write(r),tt(t,e.comments,n,r),t.write(i));s&&e.trailingComments!=null&&tt(t,e.trailingComments,n,r),t.write("}"),t.indentLevel--},ClassBody:Os,StaticBlock(e,t){t.write("static "),this.BlockStatement(e,t)},EmptyStatement(e,t){t.write(";")},ExpressionStatement(e,t){let i=t.expressionsPrecedence[e.expression.type];i===xt||i===3&&e.expression.left.type[0]==="O"?(t.write("("),this[e.expression.type](e.expression,t),t.write(")")):this[e.expression.type](e.expression,t),t.write(";")},IfStatement(e,t){t.write("if ("),this[e.test.type](e.test,t),t.write(") "),this[e.consequent.type](e.consequent,t),e.alternate!=null&&(t.write(" else "),this[e.alternate.type](e.alternate,t))},LabeledStatement(e,t){this[e.label.type](e.label,t),t.write(": "),this[e.body.type](e.body,t)},BreakStatement(e,t){t.write("break"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},ContinueStatement(e,t){t.write("continue"),e.label!=null&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},WithStatement(e,t){t.write("with ("),this[e.object.type](e.object,t),t.write(") "),this[e.body.type](e.body,t)},SwitchStatement(e,t){let i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:s}=t;t.indentLevel++;let n=i+t.indent,a=n+t.indent;t.write("switch ("),this[e.discriminant.type](e.discriminant,t),t.write(") {"+r);let{cases:o}=e,{length:c}=o;for(let u=0;u<c;u++){let l=o[u];s&&l.comments!=null&&tt(t,l.comments,n,r),l.test?(t.write(n+"case "),this[l.test.type](l.test,t),t.write(":"+r)):t.write(n+"default:"+r);let{consequent:f}=l,{length:p}=f;for(let g=0;g<p;g++){let m=f[g];s&&m.comments!=null&&tt(t,m.comments,a,r),t.write(a),this[m.type](m,t),t.write(r)}}t.indentLevel-=2,t.write(i+"}")},ReturnStatement(e,t){t.write("return"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t)),t.write(";")},ThrowStatement(e,t){t.write("throw "),this[e.argument.type](e.argument,t),t.write(";")},TryStatement(e,t){if(t.write("try "),this[e.block.type](e.block,t),e.handler){let{handler:i}=e;i.param==null?t.write(" catch "):(t.write(" catch ("),this[i.param.type](i.param,t),t.write(") ")),this[i.body.type](i.body,t)}e.finalizer&&(t.write(" finally "),this[e.finalizer.type](e.finalizer,t))},WhileStatement(e,t){t.write("while ("),this[e.test.type](e.test,t),t.write(") "),this[e.body.type](e.body,t)},DoWhileStatement(e,t){t.write("do "),this[e.body.type](e.body,t),t.write(" while ("),this[e.test.type](e.test,t),t.write(");")},ForStatement(e,t){if(t.write("for ("),e.init!=null){let{init:i}=e;i.type[0]==="V"?nr(t,i):this[i.type](i,t)}t.write("; "),e.test&&this[e.test.type](e.test,t),t.write("; "),e.update&&this[e.update.type](e.update,t),t.write(") "),this[e.body.type](e.body,t)},ForInStatement:Cs=function(e,t){t.write(`for ${e.await?"await ":""}(`);let{left:i}=e;i.type[0]==="V"?nr(t,i):this[i.type](i,t),t.write(e.type[3]==="I"?" in ":" of "),this[e.right.type](e.right,t),t.write(") "),this[e.body.type](e.body,t)},ForOfStatement:Cs,DebuggerStatement(e,t){t.write("debugger;",e)},FunctionDeclaration:ks=function(e,t){t.write((e.async?"async ":"")+(e.generator?"function* ":"function ")+(e.id?e.id.name:""),e),pe(t,e.params),t.write(" "),this[e.body.type](e.body,t)},FunctionExpression:ks,VariableDeclaration(e,t){nr(t,e),t.write(";")},VariableDeclarator(e,t){this[e.id.type](e.id,t),e.init!=null&&(t.write(" = "),this[e.init.type](e.init,t))},ClassDeclaration(e,t){if(t.write("class "+(e.id?`${e.id.name} `:""),e),e.superClass){t.write("extends ");let{superClass:i}=e,{type:r}=i,s=t.expressionsPrecedence[r];(r[0]!=="C"||r[1]!=="l"||r[5]!=="E")&&(s===xt||s<t.expressionsPrecedence.ClassExpression)?(t.write("("),this[e.superClass.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ")}this.ClassBody(e.body,t)},ImportDeclaration(e,t){t.write("import ");let{specifiers:i,attributes:r}=e,{length:s}=i,n=0;if(s>0){for(;n<s;){n>0&&t.write(", ");let a=i[n],o=a.type[6];if(o==="D")t.write(a.local.name,a),n++;else if(o==="N")t.write("* as "+a.local.name,a),n++;else break}if(n<s){for(t.write("{");;){let a=i[n],{name:o}=a.imported;if(t.write(o,a),o!==a.local.name&&t.write(" as "+a.local.name),++n<s)t.write(", ");else break}t.write("}")}t.write(" from ")}if(this.Literal(e.source,t),r&&r.length>0){t.write(" with { ");for(let a=0;a<r.length;a++)this.ImportAttribute(r[a],t),a<r.length-1&&t.write(", ");t.write(" }")}t.write(";")},ImportAttribute(e,t){this.Identifier(e.key,t),t.write(": "),this.Literal(e.value,t)},ImportExpression(e,t){t.write("import("),this[e.source.type](e.source,t),t.write(")")},ExportDefaultDeclaration(e,t){t.write("export default "),this[e.declaration.type](e.declaration,t),t.expressionsPrecedence[e.declaration.type]!=null&&e.declaration.type[0]!=="F"&&t.write(";")},ExportNamedDeclaration(e,t){if(t.write("export "),e.declaration)this[e.declaration.type](e.declaration,t);else{t.write("{");let{specifiers:i}=e,{length:r}=i;if(r>0)for(let s=0;;){let n=i[s],{name:a}=n.local;if(t.write(a,n),a!==n.exported.name&&t.write(" as "+n.exported.name),++s<r)t.write(", ");else break}if(t.write("}"),e.source&&(t.write(" from "),this.Literal(e.source,t)),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let s=0;s<e.attributes.length;s++)this.ImportAttribute(e.attributes[s],t),s<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")}},ExportAllDeclaration(e,t){if(e.exported!=null?t.write("export * as "+e.exported.name+" from "):t.write("export * from "),this.Literal(e.source,t),e.attributes&&e.attributes.length>0){t.write(" with { ");for(let i=0;i<e.attributes.length;i++)this.ImportAttribute(e.attributes[i],t),i<e.attributes.length-1&&t.write(", ");t.write(" }")}t.write(";")},MethodDefinition(e,t){e.static&&t.write("static ");let i=e.kind[0];(i==="g"||i==="s")&&t.write(e.kind+" "),e.value.async&&t.write("async "),e.value.generator&&t.write("*"),e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),pe(t,e.value.params),t.write(" "),this[e.value.body.type](e.value.body,t)},ClassExpression(e,t){this.ClassDeclaration(e,t)},ArrowFunctionExpression(e,t){t.write(e.async?"async ":"",e);let{params:i}=e;i!=null&&(i.length===1&&i[0].type[0]==="I"?t.write(i[0].name,i[0]):pe(t,e.params)),t.write(" => "),e.body.type[0]==="O"?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression(e,t){t.write("this",e)},Super(e,t){t.write("super",e)},RestElement:As=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:As,YieldExpression(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression(e,t){t.write("await ",e),fi(t,e.argument,e)},TemplateLiteral(e,t){let{quasis:i,expressions:r}=e;t.write("`");let{length:s}=r;for(let a=0;a<s;a++){let o=r[a],c=i[a];t.write(c.value.raw,c),t.write("${"),this[o.type](o,t),t.write("}")}let n=i[i.length-1];t.write(n.value.raw,n),t.write("`")},TemplateElement(e,t){t.write(e.value.raw,e)},TaggedTemplateExpression(e,t){fi(t,e.tag,e),this[e.quasi.type](e.quasi,t)},ArrayExpression:Is=function(e,t){if(t.write("["),e.elements.length>0){let{elements:i}=e,{length:r}=i;for(let s=0;;){let n=i[s];if(n!=null&&this[n.type](n,t),++s<r)t.write(", ");else{n==null&&t.write(", ");break}}}t.write("]")},ArrayPattern:Is,ObjectExpression(e,t){let i=t.indent.repeat(t.indentLevel++),{lineEnd:r,writeComments:s}=t,n=i+t.indent;if(t.write("{"),e.properties.length>0){t.write(r),s&&e.comments!=null&&tt(t,e.comments,n,r);let a=","+r,{properties:o}=e,{length:c}=o;for(let u=0;;){let l=o[u];if(s&&l.comments!=null&&tt(t,l.comments,n,r),t.write(n),this[l.type](l,t),++u<c)t.write(a);else break}t.write(r),s&&e.trailingComments!=null&&tt(t,e.trailingComments,n,r),t.write(i+"}")}else s?e.comments!=null?(t.write(r),tt(t,e.comments,n,r),e.trailingComments!=null&&tt(t,e.trailingComments,n,r),t.write(i+"}")):e.trailingComments!=null?(t.write(r),tt(t,e.trailingComments,n,r),t.write(i+"}")):t.write("}"):t.write("}");t.indentLevel--},Property(e,t){e.method||e.kind[0]!=="i"?this.MethodDefinition(e,t):(e.shorthand||(e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),t.write(": ")),this[e.value.type](e.value,t))},PropertyDefinition(e,t){if(e.static&&t.write("static "),e.computed&&t.write("["),this[e.key.type](e.key,t),e.computed&&t.write("]"),e.value==null){e.key.type[0]!=="F"&&t.write(";");return}t.write(" = "),this[e.value.type](e.value,t),t.write(";")},ObjectPattern(e,t){if(t.write("{"),e.properties.length>0){let{properties:i}=e,{length:r}=i;for(let s=0;this[i[s].type](i[s],t),++s<r;)t.write(", ")}t.write("}")},SequenceExpression(e,t){pe(t,e.expressions)},UnaryExpression(e,t){if(e.prefix){let{operator:i,argument:r,argument:{type:s}}=e;t.write(i);let n=Ts(t,r,e);!n&&(i.length>1||s[0]==="U"&&(s[1]==="n"||s[1]==="p")&&r.prefix&&r.operator[0]===i&&(i==="+"||i==="-"))&&t.write(" "),n?(t.write(i.length>1?" (":"("),this[s](r,t),t.write(")")):this[s](r,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:Ps=function(e,t){let i=e.operator==="in";i&&t.write("("),fi(t,e.left,e,!1),t.write(" "+e.operator+" "),fi(t,e.right,e,!0),i&&t.write(")")},LogicalExpression:Ps,ConditionalExpression(e,t){let{test:i}=e,r=t.expressionsPrecedence[i.type];r===xt||r<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[i.type](i,t),t.write(")")):this[i.type](i,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression(e,t){t.write("new ");let i=t.expressionsPrecedence[e.callee.type];i===xt||i<t.expressionsPrecedence.CallExpression||ga(e.callee)?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),pe(t,e.arguments)},CallExpression(e,t){let i=t.expressionsPrecedence[e.callee.type];i===xt||i<t.expressionsPrecedence.CallExpression?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),e.optional&&t.write("?."),pe(t,e.arguments)},ChainExpression(e,t){this[e.expression.type](e.expression,t)},MemberExpression(e,t){let i=t.expressionsPrecedence[e.object.type];i===xt||i<t.expressionsPrecedence.MemberExpression?(t.write("("),this[e.object.type](e.object,t),t.write(")")):this[e.object.type](e.object,t),e.computed?(e.optional&&t.write("?."),t.write("["),this[e.property.type](e.property,t),t.write("]")):(e.optional?t.write("?."):t.write("."),this[e.property.type](e.property,t))},MetaProperty(e,t){t.write(e.meta.name+"."+e.property.name,e)},Identifier(e,t){t.write(e.name,e)},PrivateIdentifier(e,t){t.write(`#${e.name}`,e)},Literal(e,t){e.raw!=null?t.write(e.raw,e):e.regex!=null?this.RegExpLiteral(e,t):e.bigint!=null?t.write(e.bigint+"n",e):t.write(pa(e.value),e)},RegExpLiteral(e,t){let{regex:i}=e;t.write(`/${i.pattern}/${i.flags}`,e)}},xa={};var ar=class{constructor(t){let i=t??xa;this.output="",i.output!=null?(this.output=i.output,this.write=this.writeToStream):this.output="",this.generator=i.generator!=null?i.generator:ya,this.expressionsPrecedence=i.expressionsPrecedence!=null?i.expressionsPrecedence:da,this.indent=i.indent!=null?i.indent:" ",this.lineEnd=i.lineEnd!=null?i.lineEnd:`
|
|
9
9
|
`,this.indentLevel=i.startingIndentLevel!=null?i.startingIndentLevel:0,this.writeComments=i.comments?i.comments:!1,i.sourceMap!=null&&(this.write=i.output==null?this.writeAndMap:this.writeToStreamAndMap,this.sourceMap=i.sourceMap,this.line=1,this.column=0,this.lineEndSize=this.lineEnd.split(`
|
|
10
10
|
`).length-1,this.mapping={original:null,generated:this,name:void 0,source:i.sourceMap.file||i.sourceMap._file})}write(t){this.output+=t}writeToStream(t){this.output.write(t)}writeAndMap(t,i){this.output+=t,this.map(t,i)}writeToStreamAndMap(t,i){this.output.write(t),this.map(t,i)}map(t,i){if(i!=null){let{type:n}=i;if(n[0]==="L"&&n[2]==="n"){this.column=0,this.line++;return}if(i.loc!=null){let{mapping:a}=this;a.original=i.loc.start,a.name=i.name,this.sourceMap.addMapping(a)}if(n[0]==="T"&&n[8]==="E"||n[0]==="L"&&n[1]==="i"&&typeof i.value=="string"){let{length:a}=t,{column:o,line:c}=this;for(let u=0;u<a;u++)t[u]===`
|
|
11
|
-
`?(o=0,c++):o++;this.column=o,this.line=c;return}}let{length:r}=t,{lineEnd:s}=this;r>0&&(this.lineEndSize>0&&(s.length===1?t[r-1]===s:t.endsWith(s))?(this.line+=this.lineEndSize,this.column=0):this.column+=r)}toString(){return this.output}};function Ns(e,t){let i=new ar(t);return i.generator[e.type](e,i),i.output}var $t=class{type="Identifier";whitelist=[];blacklist=[];constructor(t){this.whitelist[0]=t}get name(){return this.whitelist[0]}noConflict(t){let i=this.whitelist.indexOf(t);if(i===-1)return!1;this.blacklist.push(this.whitelist.splice(i,1)),this.whitelist.length||(this.whitelist=this.blacklist.map(r=>{let s;do{let n=String.fromCharCode(0|Math.random()*26+97);s=`${r}${n}`}while(this.blacklist.includes(s));return s}))}};var d={throwStmt(e){return{type:"ThrowStatement",argument:e}},tryStmt(e,t,i,r){return{type:"TryStatement",block:e,handler:t,finalizer:i,guardedHandlers:r}},catchClause(e,t){return{type:"CatchClause",param:e,body:t}},exprStmt(e){return{type:"ExpressionStatement",expression:e}},blockStmt(e){return{type:"BlockStatement",body:e}},labeledStmt(e,t){return{type:"LabeledStatement",label:e,body:t}},withStmt(e,t){return{type:"WithStatement",object:e,body:t}},ifStmt(e,t,i){return this.conditionalExpr(e,t,i,"IfStatement")},switchStmt(e,t,i=!1){return{type:"SwitchStatement",discriminant:e,cases:t}},switchCase(e,t){return{type:"SwitchCase",test:e,consequent:t}},whileStmt(e,t){return{type:"WhileStatement",test:e,body:t}},doWhileStmt(e,t){return{type:"DoWhileStatement",test:e,body:t}},forStmt(e,t,i,r){return{type:"ForStatement",init:e,test:t,update:i,body:r}},forInStmt(e,t,i){return{type:"ForInStatement",left:e,right:t,body:i}},forOfStmt(e,t,i){return{type:"ForOfStatement",left:e,right:t,body:i}},breakStmt(e=null){return{type:"BreakStatement",label:e}},continueStmt(e=null){return{type:"ContinueStatement",label:e}},returnStmt(e){return{type:"ReturnStatement",argument:e}},yieldExpr(e,t=!1){return{type:"YieldExpression",argument:e,delegate:t}},awaitExpr(e){return{type:"AwaitExpression",argument:e}},varDeclaration(e,t){return{type:"VariableDeclaration",kind:e,declarations:t}},varDeclarator(e,t=null){return{type:"VariableDeclarator",id:e,init:t}},funcDeclaration(e,t,i,r=!1,s=!1,n=!1){return this.func("FunctionDeclaration",...arguments)},sequenceExpr(e){return{type:"SequenceExpression",expressions:e}},parensExpr(e){return{type:"ParenthesizedExpression",expression:e}},logicalExpr(e,t,i){return{type:"LogicalExpression",operator:e,left:t,right:i}},binaryExpr(e,t,i){return{type:"BinaryExpression",operator:e,left:t,right:i}},unaryExpr(e,t,i=!0){return{type:"UnaryExpression",operator:e,argument:t,prefix:i}},updateExpr(e,t,i=!1){return{type:"UpdateExpression",operator:e,argument:t,prefix:i}},assignmentExpr(e,t,i="="){return{type:"AssignmentExpression",operator:i,left:e,right:t}},assignmentPattern(e,t){return{type:"AssignmentPattern",left:e,right:t}},thisExpr(){return{type:"ThisExpression"}},conditionalExpr(e,t,i,r="ConditionalExpression"){return{type:r,test:e,consequent:t,alternate:i}},arrayExpr(e){return{type:"ArrayExpression",elements:e}},arrayPattern(e){return{type:"ArrayPattern",elements:e}},objectExpr(e){return{type:"ObjectExpression",properties:e}},objectPattern(e){return{type:"ObjectPattern",properties:e}},chainExpr(e){return{type:"ChainExpression",expression:e}},callExpr(e,t,i=!1){return{type:"CallExpression",callee:e,arguments:t,optional:i}},newExpr(e,t){return{type:"NewExpression",callee:e,arguments:t}},taggedTemplateExpr(e,t){return{type:"TaggedTemplateExpression",tag:e,quasi:t}},memberExpr(e,t,i=!1,r=!1){return{type:"MemberExpression",object:e,property:t,computed:i,optional:r}},funcExpr(e,t,i,r=!1,s=!1,n=!1){return this.func("FunctionExpression",...arguments)},arrowFuncExpr(e,t,i,r=!1,s=!1,n=!1){return this.func("ArrowFunctionExpression",...arguments)},func(e,t,i,r,s=!1,n=!1,a=!1){return{type:e,id:t,params:i,body:r,async:s,expression:n,generator:a}},identifier(e){return{type:"Identifier",name:e}},property(e,t,i="init",r=!1,s=!1,n=!1){return{type:"Property",key:e,value:t,kind:i,shorthand:r,computed:s,method:n}},classDeclaration(e,t,i=null){return this.class("ClassDeclaration",...arguments)},classExpression(e,t,i=null){return this.class("ClassExpression",...arguments)},class(e,t,i,r=null){return{type:e,id:t,body:i,superClass:r}},methodDefinition(e,t,i="method",r=!1,s=!1){return{type:"MethodDefinition",key:e,value:t,kind:i,static:r,computed:s}},propertyDefinition(e,t,i=!1,r=!1){return{type:"PropertyDefinition",key:e,value:t,static:i,computed:r}},spreadElement(e){return{type:"SpreadElement",argument:e}},literal(e){if(typeof e=="object"&&!("name"in e)&&!("value"in e))throw new Error('Objects that convert to literals must have a "name" or "value" property.');return typeof e=="object"?{type:"Literal",get value(){return"name"in e?e.name:e.value}}:{type:"Literal",value:e}},templateLiteral(e,t){return{type:"TemplateLiteral",quasis:e,expressions:t}},comments(e){let t={};return Object.defineProperty(t,"toString",{value:()=>e}),Object.defineProperty(t,"trim",{value:function(){return this.toString()}}),[{type:"Line",value:t}]},withLoc(e,...t){return["start","end"].forEach(i=>{let r=i==="start"?t[0]:t[t.length-1];e[i]=r[i],r.loc&&(e.loc=e.loc||{},e.loc[i]=r.loc?.[i])}),e},invert(e){return this.unaryExpr("!",e)},clone(e){return e={...e},delete e.start,delete e.end,e}};var de=class{type="BlockStatement";$body=[];constructor(t){this.body=t}get body(){return this.$body}set body(t){this.$body=t,d.withLoc(this,...t)}};var qe=class{constructor(t,{type:i}){this.context=t,Object.assign(this,{type:i}),this.vars=new Set,this.$qIdentifiers=new Map,this.$qIdentifiersCursors={...this.context?.$qIdentifiersCursors||{}},this.locations=[]}index(t,i=!1){if(!this.type.includes("Function")&&this.context)return this.context.index(...arguments);let r=["start","end"].map(s=>{let n=[d.literal(t[s])];return i&&t.loc&&(n.push(d.literal(t.loc[s].line)),n.push(d.literal(t.loc[s].column))),d.arrayExpr(n)});return this.locations.push(d.arrayExpr(r)),d.literal(this.locations.length-1)}get$qIdentifier(t,i=!0,r=!1){let s=this.$qIdentifiers.get(t);if(!s){if(i&&this.context)return this.context.get$qIdentifier(t,i);r&&(typeof this.$qIdentifiersCursors[t]>"u"&&(this.$qIdentifiersCursors[t]=0),t+=this.$qIdentifiersCursors[t]++),this.$qIdentifiers.set(t,s=new $t(t))}return s}getRandomIdentifier(t,i=!0){return this.get$qIdentifier(t,i,!0)}$qIdentifiersNoConflict(t){for(let[,i]of this.$qIdentifiers)i.noConflict(t);this.context&&this.context.$qIdentifiersNoConflict(t)}push(t,i,r=!1){let s;return["var","update"].includes(i)&&(s=this.find(t,!1))&&s.type!=="const"?s.willUpdate=!0:(i!=="update"||!this.context)&&(t instanceof $t||this.$qIdentifiersNoConflict(t.name+""),this.vars.add({identifier:t,type:i,willUpdate:r||i==="update"})),this.context&&(i==="update"||i==="var"&&!this.type.includes("Function"))?this.context.push(t,i):!0}find(t,i=!0){let r;for(let s of this.vars)if(s.identifier.name+""==t.name+""){r=s;break}return!r&&i?this.context?.find(t,i):r}};var je=class{history=[];scopes=[];functionTypes=["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"];loopTypes=["DoWhileStatement","WhileStatement","ForStatement","ForOfStatement","ForInStatement"];labeledTypes=["SwitchStatement","LabeledStatement"];topLevelAwait=!1;topLevelArgsKeyword=!1;constructor(t={}){this.params=t}pushScope(t,i){let r=new qe(this.currentScope,t);this.scopes.unshift(r);let s=i();return this.scopes.shift(),s}get currentScope(){return this.scopes[0]}pushHistory(t,i){this.history.unshift(t);let r=i();return this.history.shift(),r}get currentEntry(){return this.history[0]}serialize(t,i={}){return Ns(t,{comments:!0,...i})}transform(t){if(t.type!=="Program")throw new Error('AST must be of type "Program".');return this.pushScope(t,()=>{let i=this.transformNodes(t.body,{static:!t.isQuantumProgram}),r={...t,body:i};r.body.length&&(r.body[0].comments=d.comments("Program body"));let s=d.exprStmt(d.assignmentExpr(this.$path("locations"),d.arrayExpr(this.currentScope.locations)));if(s.comments=d.comments("Location data"),r.body.unshift(s),this.exports.size){this.exports.forEach(u=>{r.body.push(d.exprStmt(this.$call("export",...u)))});let c=d.memberExpr(d.identifier("Promise"),d.identifier("all"));r.body.push(d.exprStmt(d.awaitExpr(d.callExpr(c,[this.$path("$promises.exports")]))))}let n=this.currentScope.get$qIdentifier("$q").name,a=this.serialize(r,{startingIndentLevel:this.params.startingIndentLevel}),o=this.params.base64?btoa(this.params.base64.replace("%0",n+"").replace("%1",a)):"";return{identifier:n,compiledSource:a,compiledSourceBase64:o,originalSource:t.originalSource,isQuantumProgram:t.isQuantumProgram,topLevelAwait:this.topLevelAwait,toString(c=void 0){return c==="base64"?this.compiledSourceBase64:this.compiledSource}}})}transformNodes(t,i={}){let r=(t=t.filter(o=>o)).length,[s,n,a]=t.reduce(([o,c,u],l)=>l?.type==="ImportDeclaration"?[o.concat(l),c,u]:l?.type==="FunctionDeclaration"?[o,c.concat(l),u]:[o,c,u.concat(l)],[[],[],[]]);return t=[...s,...n,...a],function o(c,u){if(u===r)return c;let[l,f]=this.transformNode(t[u],i,!0);if(c=c.concat(l||[]),u===s.length-1){let p=d.memberExpr(d.identifier("Promise"),d.identifier("all"));c=c.concat(d.exprStmt(d.awaitExpr(d.callExpr(p,[this.$path("$promises.imports")]))))}if(["ReturnStatement","BreakStatement","ContinueStatement"].includes(t[u].type))return c;if(f.flowControl?.size&&f.node.type==="IfStatement"){let p=t.slice(u+1);if(p.length){let g=new de(p);return c.concat(this.transformNode(g))}}return o.call(this,c,u+1)}.call(this,[],0)}transformNode(t,i={},r=!1){if(typeof t!="object"||!t)return t;let s={static:this.currentEntry?.static,mode:this.currentEntry?.mode,...i,parentNode:this.currentEntry?.node,node:t,hoistedAwaitKeyword:!1,flowControl:new Map},n=this.pushHistory(s,()=>this[`transform${t.type}`]?this[`transform${t.type}`].call(this,t):Object.keys(t).reduce((a,o)=>{let c=Array.isArray(t[o])?this.transformNodes(t[o],i):this.transformNode(t[o],i);return{...a,[o]:c}},{}));return r?[n,s]:n}$serial(t){return this.currentScope.index(t,this.params.locations)}$path(t){return t.split(".").reduce((i,r)=>d.memberExpr(i,d.identifier(r)),this.currentScope.get$qIdentifier("$q"))}$trail(){return this.currentEntry.trail?[d.literal(this.currentEntry.trail)]:[]}$call(t,...i){return d.callExpr(this.$path(t),i)}$typed(t,i,r=null){let s=r?[d.literal(r)]:[];return this.$call("typed",d.literal(t),i,...s)}$obj(t){let i=Object.entries(t).map(([r,s])=>d.property(d.identifier(r),Array.isArray(s)?d.arrayExpr(s):s));return d.objectExpr(i)}$closure(...t){let i=t.pop(),r=t.pop()||[];return i.type==="EmptyStatement"&&(i=d.blockStmt([])),d.arrowFuncExpr(null,r,i,this.currentEntry.hoistedAwaitKeyword)}$var(t,i,r,s,...n){let a=s?this.$closure([this.currentScope.get$qIdentifier("$q")],s):d.identifier("undefined"),o=this.$call(t,d.literal(r),i,a,...n);return a.async&&(o=d.awaitExpr(o)),d.exprStmt(o)}$update(t,i,...r){let s=this.$closure(i);return this.$call("update",d.literal(t.name),s,...r)}$autorun(t,...i){let r=i.pop(),s=i.pop(),n=i.pop()||{},a=Object.keys(n).length?[this.$obj(n)]:[],o=this.$closure([this.currentScope.get$qIdentifier("$q")],r),c=this.$call("autorun",d.literal(t),...a,s,o);return o.async&&(c=d.awaitExpr(c)),d.exprStmt(c)}$iteration(t,i,r){let s=d.literal(t),n=this.currentEntry.parentNode?.label?d.literal(this.currentEntry.parentNode.label.name):d.identifier("null"),a={kind:s,label:n},o=d.blockStmt(r);return this.$autorun("iteration",a,i,o)}hoistAwaitKeyword(){for(let t of this.history)if(t.hoistedAwaitKeyword=!0,t.node.type.includes("Function"))return;this.topLevelAwait=!0}hoistArgumentsKeyword(){let t=["FunctionDeclaration","FunctionExpression"];if(!this.history.some(i=>t.includes(i.node.type)))return this.topLevelArgsKeyword=!0,!0}hoistExitStatement(t,i={}){for(let r of this.history){let s=()=>r.node?.type==="SwitchStatement"&&t.value==="break"&&i.name==="null",n=()=>r.parentNode?.type==="LabeledStatement"&&this.loopTypes.includes(r.parentNode.body.type)&&i.value===r.parentNode.label.name,a=()=>this.loopTypes.includes(r.node.type)&&i.name==="null";if(s())return r.node;if(n()||a())return r.flowControl.set(t,{...i,endpoint:!0}),r.node;if(r.node.type.includes("Function"))return;r.flowControl.set(t,i)}}transformFunctionDeclaration(t){return this.transformFunction(d.funcDeclaration,...arguments)}transformFunctionExpression(t){return this.transformFunction(d.funcExpr,...arguments)}transformArrowFunctionExpression(t){return this.transformFunction(d.arrowFuncExpr,...arguments)}transformFunction(t,i){if(i.generator&&i.isQuantumFunction)throw new Error("Generator functions cannot be quantum functions.");let r=this.$serial(i),{id:s,params:n,body:a}=i;[s,n,a]=this.pushScope(i,()=>{let m=[];s&&this.currentScope.push(s,"self");let S=n.map(b=>{if(b.type==="AssignmentPattern"&&i.isQuantumFunction){let w=this.currentScope.getRandomIdentifier("$rand",!1),v=this.transformSignal(w,"param"),x=d.varDeclarator(b.left,d.withLoc(d.logicalExpr("||",w,b.right),b));return m.push(...this.transformNode(d.varDeclaration("let",[d.withLoc(x,b)]),{static:!i.isQuantumFunction})),v}return this.transformSignal(b,"param")}),E=this.transformNodes(a.type==="BlockStatement"?a.body:[d.returnStmt(a)],{static:!i.isQuantumFunction});m.push(...E),m.length&&(m[0].comments=d.comments("Function body"));let y=d.exprStmt(d.assignmentExpr(this.$path("locations"),d.arrayExpr(this.currentScope.locations)));return y.comments=d.comments("Location data"),m.unshift(y),[s,S,d.blockStmt(m)]});let o=this.currentScope.get$qIdentifier("$q"),c=this.$closure([o],a),u=d.literal(i.isQuantumFunction?"QuantumFunction":i.isHandler?"HandlerFunction":i.isFinalizer?"FinalizerFunction":"RegularFunction"),l=d.literal(i.type==="FunctionDeclaration"?"Declaration":"Expression"),f=d.blockStmt([d.returnStmt(this.$call("runtime.spawn",u,d.thisExpr(),c,o))]),p=m=>this.$call("function",u,l,r,m),g=t.call(d,s,n,f,i.async,i.expresion,i.generator);if(i.type==="FunctionDeclaration"){if(this.currentScope.push(s,"static"),g=[g,d.exprStmt(p(s))],this.currentEntry.isExport){let m=[d.literal(s),r];this.currentEntry.isExport==="as-default"&&m.push(d.literal("default")),this.exports.add([d.arrayExpr(m)])}}else this.currentEntry.isMethod||(g=p(g));return g}transformClassDeclaration(t){return this.transformClass(d.classDeclaration,...arguments)}transformClassExpression(t){return this.transformClass(d.classExpression,...arguments)}transformClass(t,i){let{id:r,body:s,superClass:n}=i;n&&(n=this.transformNode(n));let a=new Set;s=this.pushScope(i,()=>(r&&this.currentScope.push(r,"self"),this.transformNode(s,{methods:a})));let o=d.literal(i.type==="ClassDeclaration"?"Declaration":"Expression"),c=l=>{let f=d.arrayExpr([...a].map(p=>this.$obj(p)));return this.$call("class",o,l,f)},u=t.call(d,r,s,n);if(i.type==="ClassDeclaration"){if(this.currentScope.push(r,"static"),u=[u,d.exprStmt(c(r))],this.currentEntry.isExport){let l=[d.literal(r),this.$serial(i)];this.currentEntry.isExport==="as-default"&&l.push(d.literal("default")),this.exports.add([d.arrayExpr(l)])}}else u=c(u);return u}transformMethodDefinition(t){let{key:i,value:r}=t;t.computed&&(i=this.transformNode(i));let s=this.transformNode(r,{static:!0,isMethod:!0});return this.currentEntry.methods.add({name:t.computed?i:d.literal(i),static:d.identifier(t.static),isQuantumFunction:d.identifier(r.isQuantumFunction||!1),serial:this.$serial(t)}),d.methodDefinition(i,s,t.kind,t.static,t.computed)}transformPropertyDefinition(t){let{key:i,value:r}=t;return t.computed&&(i=this.transformNode(i)),r=this.transformNode(r),d.exprStmt(d.propertyDefinition(i,r,t.static,t.computed))}exports=new Set;transformExportDefaultDeclaration(t){return this.handleExports(...arguments)}transformExportNamedDeclaration(t){return this.handleExports(...arguments)}transformExportAllDeclaration(t){return this.handleExports(...arguments)}handleExports(t){if(t.type==="ExportAllDeclaration"){let r=[d.literal("*"),this.$serial(t.exported||t),d.literal(t.exported?.name||t.exported?.value||"")];this.exports.add([d.arrayExpr(r),this.$obj({source:t.source,serial:this.$serial(t)})]);return}let i=r=>r.map(s=>{let n=[d.literal(s.local.name),this.$serial(s)],a=s.exported.name||s.exported.value;return a!==s.local.name&&n.push(d.literal(a)),d.arrayExpr(n)});if(t.source){this.exports.add(i(t.specifiers).concat(this.$obj({source:t.source,serial:this.$serial(t)})));return}if(t.type==="ExportNamedDeclaration"&&t.specifiers.length){this.exports.add(i(t.specifiers));return}if(t.type==="ExportDefaultDeclaration"&&["Identifier","ThisExpression"].includes(t.declaration.type)){let r=[d.literal(t.declaration.name||"this"),this.$serial(t),d.literal("default")];this.exports.add([d.arrayExpr(r)]);return}return this.transformNode(t.declaration,{isExport:t.type==="ExportDefaultDeclaration"?"as-default":!0})}transformImportDeclaration(t){let i=t.specifiers.map(r=>{let{imported:s,local:n}=r;this.transformSignal(n,"import"),r.type==="ImportNamespaceSpecifier"?s=d.identifier("*"):r.type==="ImportDefaultSpecifier"&&(s=d.identifier("default"));let a=s.name||s.value||"",o=[d.literal(a),this.$serial(r)];return a!==r.local.name&&o.push(d.literal(r.local.name)),d.arrayExpr(o)});return d.exprStmt(this.$call("import",...i.concat(this.$obj({source:t.source,serial:this.$serial(t)}))))}transformImportExpression(t){return this.$call("import",this.$obj({source:t.source,isDynamic:d.identifier("true"),serial:this.$serial(t)}))}transformSignal(t,i,r=null){return t.type==="Identifier"?(this.currentScope.push(t,i,["let","param"].includes(i)),r?.add(t),t):this.transformNode(t,{mode:i,static:!0,signals:r})}transformThisExpression(t){return this.transformIdentifier(...arguments)}transformIdentifier(t){let i=this.currentScope.find(t);!i&&t.name&&this.currentScope.$qIdentifiersNoConflict(t.name);let r=[];return t.hint?r.push(this.$obj({[t.hint]:d.identifier(!0)})):this.currentEntry.mode,t.type==="ThisExpression"||["param","self"].includes(i?.type)||["arguments"].includes(t.name)?this.currentEntry.trail?this.$call("obj",t,...this.$trail(),...r):t:(this.history.forEach(s=>s.refs?.add(t)),this.$call("ref",d.literal(t),...this.$trail(),...r))}transformMemberExpression(t){let{object:i,property:r,computed:s,optional:n}=t;s&&(r=this.transformNode(r));let a=this.transformNode(i,{trail:(this.currentEntry.trail||0)+1});return i.typed&&(a=this.$typed(i.typed,a,d.literal(r))),d.memberExpr(a,r,s,n)}transformVariableDeclaration(t){let i=this.currentEntry.isExport;return t.declarations.reduce((s,n)=>["ObjectPattern","ArrayPattern"].includes(n.id.type)?s.concat(this.expandPattern(n.id,n.init)):s.concat(n),[]).reduce((s,n)=>{let a=this.$serial(n),o=this.transformNode(n.init);this.transformSignal(n.id,t.kind,this.currentEntry.signals);let c=[];n.restOf&&(o=this.$typed(n.init.typed,o),c.push(this.$obj({restOf:n.restOf,type:d.literal(n.init.typed==="iterable"?"array":"object")})));let u=s.concat(this.$var(t.kind,a,n.id,o,...c));if(i&&!(n.id instanceof $t)){let l=[d.literal(n.id),a];this.exports.add([d.arrayExpr(l)])}return u},[])}transformAssignmentExpression(t){let r=!this.currentEntry.static&&this.history[1].node.type==="ExpressionStatement",{left:s,right:n}=t,a=(c,u)=>(u=this.transformNode(u),c=this.transformNode(c),d.assignmentExpr(c,u,t.operator));if(["MemberExpression","ChainExpression"].includes(s.type))return a(s,n);if(["ObjectPattern","ArrayPattern"].includes(s.type)){let c=n,u=this.expandPattern(s,n,r).reduce((l,f)=>{if(f.id.originalB&&(c=f.id),f.type==="AssignmentExpression")return l.concat(a(f.left,f.right));let p=this.transformNode(f.init);if(f.id instanceof $t){let m=this.$serial(f);return l.concat(this.$var("let",m,f.id,p))}this.transformSignal(f.id,"update",this.currentEntry.signals);let g=[];return f.restOf&&(p=this.$typed(f.init.typed,p),g.push(this.$obj({restOf:f.restOf,type:d.literal(f.init.typed==="iterable"?"array":"object")}))),l.concat(this.$update(f.id,p,...g))},[]);return r?u:d.sequenceExpr(u.concat(c))}n=this.transformNode(n),this.transformSignal(s,"update",this.currentEntry.signals);let o=this.currentScope.getRandomIdentifier("$current",!1);return this.$call("update",d.literal(s),this.$closure([o],d.assignmentExpr(o,n,t.operator.replace("====",""))))}transformAssignmentPattern(t){let{left:i,right:r}=t;return r=this.transformNode(r),["MemberExpression","ChainExpression"].includes(i.type)?i=this.transformNode(i,{static:!0}):i=this.transformSignal(i,this.currentEntry.mode,this.currentEntry.signals),d.assignmentPattern(i,r)}expandPattern(t,i,r=!0){let s=[],n=this;if(!["Identifier","Literal"].includes(i.type)&&r){let a=d.withLoc(n.currentScope.getRandomIdentifier("$rand",!1),i);a.originalB=!0,i.typed=t.type==="ObjectPattern"?"desctructurable":"iterable",s.push(d.withLoc(d.varDeclarator(a,i),i)),i=a}return function a(o,c,u){c.typed=u?"desctructurable":"iterable";let l=[];for(let f=0;f<o.length;f++){let p=o[f],g=f,m=p;if(p===null){l.push(f);continue}if(p.type==="RestElement"){let b=d.withLoc(d.varDeclarator(p.argument,c),p);b.restOf=l.map(w=>d.literal(w)),s.push(b);continue}u?{key:g,value:m}=p:g=d.literal(g);let S,E;m.type==="AssignmentPattern"?(S=m.right,m.left.type==="Identifier"?E=m.left:m=m.left):m.type==="Identifier"&&(E=m);let y=d.memberExpr(c,g,u?p.computed:!0);if(S&&(y=d.logicalExpr("||",y,S)),E)s.push(d.withLoc(d.varDeclarator(E,y),p)),l.push(g);else if(m.type==="MemberExpression"||m.type==="ChainExpression"&&(m=m.expression))s.push(d.withLoc(d.assignmentExpr(m,y),p));else if(m.elements||m.properties){let b=(m.properties?m.properties:m.elements).length>1;if(r&&b){let w=n.currentScope.getRandomIdentifier("$rand",!1);s.push(d.withLoc(d.varDeclarator(w,y),p)),y=w}a(m.elements||m.properties,y,m.properties&&!0)}}}(t.elements||t.properties,i,t.properties&&!0),s}transformUpdateExpression(t){if(t.argument.type==="Identifier"){this.transformSignal(t.argument,"update",this.currentEntry.signals);let i=this.currentScope.getRandomIdentifier("$current",!1),r=d.binaryExpr(t.operator==="--"?"-":"+",i,d.literal(1),!0),s=(t.prefix?"pre":"post")+(t.operator==="--"?"dec":"inc");return this.$call("update",d.literal(t.argument.name),this.$closure([i],r),this.$obj({kind:d.literal(s)}))}return d.updateExpr(t.operator,this.transformNode(t.argument),t.prefix)}transformUnaryExpression(t){return t.operator==="typeof"&&t.argument.type==="Identifier"&&(t.argument.hint="isTypeCheck"),d.unaryExpr(t.operator,this.transformNode(t.argument))}transformIfStatement(t){let i=this.$serial(t),{test:r,consequent:s,alternate:n}=t;r=this.transformNode(t.test),s=this.pushScope(t,()=>this.transformNodes(s.type==="BlockStatement"?s.body:[s])),n&&(n=[].concat(this.transformNode(n))[0]);let a=d.ifStmt(r,d.blockStmt(s),n);return this.$autorun("block",{static:d.identifier(this.currentEntry.static)},i,d.blockStmt([a]))}transformSwitchStatement(t){let i=this.$serial(t);return this.pushScope(t,()=>{let r=this.transformNode(t.discriminant),s=t.cases.map(a=>{let o=this.transformNode(a.test),c=this.transformNodes(a.consequent);return d.switchCase(o,c)}),n=d.switchStmt(r,s);return this.$autorun("switch",{static:d.identifier(this.currentEntry.static)},i,d.blockStmt([n]))})}transformTryStatement(t){return this.pushScope(t,()=>{let i=this.$serial(t),{block:r,handler:s,finalizer:n}=t,a=this.transformNodes(r.body),o={};if(s){let{start:c,end:u}=s,l=d.arrowFuncExpr(null,[s.param],s.body);o.handler=this.transformNode({...l,isHandler:!0,start:c,end:u},{static:!0})}if(n){let{start:c,end:u}=n,l=d.arrowFuncExpr(null,[],n.body);o.finalizer=this.transformNode({...l,isFinalizer:!0,start:c,end:u},{static:!0})}return this.$autorun("block",o,i,d.blockStmt(a))})}transformWhileStatement(t){return this.transformLoopStmtA(d.whileStmt,...arguments)}transformDoWhileStatement(t){return this.transformLoopStmtA(d.doWhileStmt,...arguments)}transformForStatement(t){return this.transformLoopStmtA(d.forStmt,...arguments)}transformLoopStmtA(t,i){let r=i.type==="WhileStatement"?"while":i.type==="DoWhileStatement"?"do-while":"for",s=this.$serial(i);return this.pushScope(i,()=>{let n=this.currentScope.get$qIdentifier("$q"),a,o={kind:d.literal(r),label:this.currentEntry.parentNode?.label?d.literal(this.currentEntry.parentNode.label.name):d.identifier("null"),static:d.identifier(this.currentEntry.static)};if(r==="for"){let u=d.blockStmt([].concat(this.transformNode(i.init)||[]));o.init=this.$closure([n],u);let l=this.transformNode(i.test);o.test=this.$closure([n],l);let f=this.transformNode(i.update);o.advance=this.$closure([n],f),a=p=>t.call(d,u,l,f,p)}else{let u=this.transformNode(i.test);o.test=this.$closure([n],u),a=l=>t.call(d,u,l)}let c=d.blockStmt(this.transformNodes(i.body.type==="BlockStatement"?i.body.body:[i.body]));return this.$autorun("iteration",o,s,c)})}transformForOfStatement(t){return this.transformLoopStmtB(d.forOfStmt,...arguments)}transformForInStatement(t){return this.transformLoopStmtB(d.forInStmt,...arguments)}transformLoopStmtB(t,i){let r=i.type==="ForInStatement"?"for-in":"for-of",s=this.$serial(i),n=this.transformNode(i.right);return this.pushScope(i,()=>{let a=this.currentScope.get$qIdentifier("$q"),o=this.currentScope.get$qIdentifier(r==="for-of"?"$val":"$key",!1),c={kind:d.literal(r),label:this.currentEntry.parentNode?.label?d.literal(this.currentEntry.parentNode.label.name):d.identifier("null"),parameters:this.$closure([a],d.arrayExpr([d.literal(o),n])),static:d.identifier(this.currentEntry.static)},u;if(i.left.type==="VariableDeclaration"){let f=d.withLoc(d.varDeclarator(i.left.declarations[0].id,o),i.left);u=d.varDeclaration(i.left.kind,[f])}else u=d.withLoc(d.assignmentExpr(i.left,o),i.left);let l=d.blockStmt(this.transformNodes([u].concat(i.body.type==="BlockStatement"?i.body.body:i.body)));return this.$autorun("iteration",c,s,l)})}transformBreakStatement(t){return this.transformExitStmt(d.breakStmt,...arguments)}transformContinueStatement(t){return this.transformExitStmt(d.continueStmt,...arguments)}transformExitStmt(t,i){let r=i.type==="BreakStatement"?"break":"continue",s=d.literal(r),n=i.label?d.literal(i.label.name):d.identifier("null");return this.hoistExitStatement(s,n),this.currentEntry.parentNode?.type==="SwitchStatement"?t.call(d):d.exprStmt(this.$call(r,n))}transformReturnStatement(t){let i=new Set,r=this.transformNode(t.argument,{refs:i}),s=d.literal("return"),n=r?[s,r]:[s];this.hoistExitStatement(...n);let a=this.$call("return",...n.slice(1));if(!i.size)return d.exprStmt(a);let o=this.$serial(t);return this.$autorun("return",o,a)}transformBlockStatement(t){let i=this.$serial(t);if(t instanceof de){let r=this.transformNodes(t.body,{static:!1});return this.$autorun("downstream",i,d.blockStmt(r))}return this.pushScope(t,()=>{let r=d.blockStmt(this.transformNodes(t.body));return this.$autorun("block",{static:d.identifier(this.currentEntry.static)},i,r)})}transformLabeledStatement(t){this.currentScope.push(t.label,"const");let i=[].concat(this.transformNode(t.body));return[d.labeledStmt(t.label,i.shift()),...i]}transformExpressionStatement(t){let i=this.$serial(t),r=this.transformNode(t.expression);return[].concat(r||[]).reduce((n,a)=>a.type==="VariableDeclaration"||a.type.endsWith("Statement")?n.concat(a):n.concat(this.$autorun("stmt",{static:d.identifier(this.currentEntry.static)},i,a)),[])}transformAwaitExpression(t){this.hoistAwaitKeyword();let i=this.transformNode(t.argument);return d.awaitExpr(i)}transformSequenceExpression(t){let i=t.expressions.reduce((r,s,n)=>r.concat(this.transformNode(s,{trail:n===t.expressions.length-1?this.currentEntry.trail:void 0})),[]);return this.history[1].node.type==="ExpressionStatement"?i:d.sequenceExpr(i)}transformConditionalExpression(t){let{test:i,consequent:r,alternate:s}=t;return i=this.transformNode(i),r=this.transformNode(r,{trail:this.currentEntry.trail}),s=this.transformNode(s,{trail:this.currentEntry.trail}),d.conditionalExpr(i,r,s)}transformLogicalExpression(t){let{left:i,right:r}=t;return i=this.transformNode(i,{trail:this.currentEntry.trail}),r=this.transformNode(r,{trail:this.currentEntry.trail}),d.logicalExpr(t.operator,i,r)}transformBinaryExpression(t){let{left:i,right:r}=t;i=this.transformNode(i),r=this.transformNode(r);let s=d.binaryExpr(t.operator,i,r);return this.currentEntry.trail?this.$call("obj",s,...this.$trail()):s}transformCallExpression(t){return this.transformCallExpr(d.callExpr,...arguments)}transformNewExpression(t){return this.transformCallExpr(d.newExpr,...arguments)}transformCallExpr(t,i){let r=this.transformNode(i.callee,{mode:"callee"}),s=i.arguments.map(a=>this.transformNode(a)),n=t.call(d,r,s,i.optional);return this.currentEntry.trail?this.$call("obj",n,...this.$trail()):n}transformObjectExpression(t){let i=d.objectExpr(t.properties.map(r=>this.transformNode(r)));return this.currentEntry.trail?this.$call("obj",i,...this.$trail()):i}transformProperty(t){let{key:i,value:r}=t;return t.computed&&(i=this.transformNode(i)),r=this.transformNode(r),d.property(i,r,t.kind,!1,t.computed,!1)}transformArrayExpression(t){let i=d.arrayExpr(t.elements.map(r=>this.transformNode(r)));return this.currentEntry.trail?this.$call("obj",i,...this.$trail()):i}transformTaggedTemplateExpression(t){let[i,r]=this.transformNodes([t.tag,t.quasi]),s=d.taggedTemplateExpr(i,r);return this.currentEntry.trail?this.$call("obj",s,...this.$trail()):s}transformTemplateLiteral(t){let i=t.expressions.map(s=>this.transformNode(s)),r=d.templateLiteral(t.quasis,i);return this.currentEntry.trail?this.$call("obj",r,...this.$trail()):r}};var $s=new Map;function Ls(e,t={}){let i=`${e}${JSON.stringify(t)}`,r=$s.get(i);if(!r){try{r=Es.parse(e,t)}catch(s){let n=`${s.message||s}`,{pos:a,loc:{line:o,column:c}={}}=s,l=[{expr:e.slice(Math.max(0,a-15),a+15),line:o,column:c},{source:e}];throw t.inBrowser&&console.error(l),new(globalThis[s.name]||Error)(n,{cause:l})}$s.set(i,r)}return r}function Rs(e,t={}){return new je(t).transform(e)}function me(...e){let t,i={runtimeParams:va,compilerParams:wa,parserParams:ba};for(;t=e.shift();){let{runtimeParams:r={},compilerParams:{globalsNoObserve:s=[],globalsOnlyPathsExcept:n=[],...a}={},parserParams:o={}}=t;i={runtimeParams:{...i.runtimeParams,...r},compilerParams:{...i.compilerParams,globalsNoObserve:[...i.compilerParams.globalsNoObserve,...s],globalsOnlyPathsExcept:[...i.compilerParams.globalsOnlyPathsExcept,...n],...a},parserParams:{...i.parserParams,...o}},e.devMode}return i}var ba={ecmaVersion:"latest",allowReturnOutsideFunction:!0,allowAwaitOutsideFunction:!1,allowSuperOutsideMethod:!1,preserveParens:!1,locations:!0},wa={globalsNoObserve:["arguments","debugger"],globalsOnlyPathsExcept:[],originalSource:!0,locations:!0,compact:2},va={apiVersion:3};var Be=Object.create(null);var Gt=class extends EventTarget{managedAlways=new Set;managedOnce=new Set;constructor(){super(),Vr.setMaxListeners?.(0,this)}fire(t){return this.dispatchEvent(new Event(t,{cancelable:!0}))}on(...t){return this.addEventListener(...t),()=>this.removeEventListener(...t)}abort(t=!1){this.managedAlways.forEach(i=>i.abort?i.abort(t):i(t)),this.managedOnce.forEach(i=>i.abort?i.abort(t):i(t)),this.managedOnce.clear(),this.fire("abort")}manage(t){this.managedAlways.add(t)}once(t){this.managedOnce.add(t)}};var Xt=class extends Gt{subscribers=new Set;signals=new Map;constructor(t,i,r){super(),this.context=t,this.context?.once(()=>this.abort()),this.once(()=>this.watchMode(!1)),this.type=i,this.state=r}get name(){return[...this.context?.signals.keys()||[]].find(t=>this.context.signals.get(t)===this)}signal(t,i="prop"){let r=this.signals.get(t);return r||(r=new Xt(this,i,i==="object"?t:Hi(this.state)?R.get(this.state,t):void 0),this.signals.set(t,r),this.signals.size===1&&this.watchMode(),r.once(()=>{this.signals.delete(t),this.signals.size||this.watchMode(!1)})),r}subscribe(t){this.subscribers.add(t),t.once(()=>{this.subscribers.delete(t),this.subscribers.size||this.abort()})}watchMode(t=!0){this.mutationsWatch?.abort(),!(!t||!this.signals.size||!Hi(this.state))&&(this.mutationsWatch=R.observe(this.state,i=>{let r={map:new Map,add(n,a){for(let o of n)o.spec.beforeSchedule?.(a)!==!1&&(this.map.has(o.runtime)||this.map.set(o.runtime,new Set),this.map.get(o.runtime).add(o))}};for(let n of i){let a=this.signals.get(n.key);!a||(r.add(a.subscribers,n),a.refresh(n.value))}let s=r.map.size?[...r.map].sort((n,a)=>n.$serial>a.$serial?-1:1):r.map;for(let[n,a]of s)n.state!=="aborted"&&n.schedule(...a)},{recursions:"force-sync"}))}refresh(t){this.state=t;for(let[i,r]of this.signals)r.refresh(R.get(this.state??{},i));this.watchMode()}};var et=class extends Xt{symbols=new Map;constructor(t,i,r=void 0){super(t,i,r||Object.create(null))}};var St=class extends Gt{state;constructor(t,i,r,s,n,a){super(),t?.once(this),this.context=t,this.type=i,this.spec=r||{},this.scope=n,t?.scope!==n&&this.manage(n),this.serial=s,a&&(this.closure=a),t?.type==="iteration"?this.path=t.path.concat(this.spec.index):t?.type==="round"?this.path=t.path.concat(this.serial):this.path=(t?.path||[]).slice(0,-1).concat(this.serial),this.flowControl=new Map}get runtime(){return this.context.runtime}contains(t){return this===t.context||t.context&&this.contains(t.context)}order(t){if(!t)return this;let[i,r]=t.path.length<this.path.length?[t,this]:[this,t];return i.path.reduce((s,n,a)=>s&&n<=r.path[a],!0)&&i||r}beforeExecute(){this.state="running";let t=this.flowControl;return this.flowControl=new Map,t}execute(t=null){return this.runtime.thread.unshift(this),at(this.beforeExecute(),i=>Bi(this.closure,this,this,(r,s)=>s?this.throw(s,[this.serial,this.context?.serial],s.code):(this.spec.complete&&(r=this.spec.complete(r,this)),this.afterExecute(i),this.runtime.thread.shift(),t?t(r,this):r)))}throw(t,i,r){if(this.type==="function"&&["HandlerFunction","FinalizerFunction"].includes(this.$params.executionMode))return this.$params.lexicalContext.throw(t,i,r);if(this.spec.handler)return this.spec.handler(t);if(this.type!=="function"&&this.context)return this.context.throw(t,i,r);if(t.cause)throw t;let s=`${t.message||t}`,n=r!==null?`[${r}]: ${s}`:s,a=i.map(l=>l!==-1&&this.extractSource(l,!0)).filter(l=>l);a.push({source:this.runtime.$params.originalSource});let o=globalThis[t.name],c=new(o||Error)(n,{cause:a}),u=this.runtime.$params.sourceType==="module"&&this.$params.experimentalFeatures!==!1&&this.$params.exportNamespace||this.$params.fileName;throw u&&(c.fileName=u),r&&(c.code=r),c}afterExecute(t){this.state="complete";let i=this.flowControl;this.spec.finalizer&&this.spec.finalizer(),this.handleDownstream(i.size,t.size),this.handleRightstream(i.size,t.size);for(let r of["break","continue","return"])i.has(r)&&!i.get(r).endpoint?this.hoistFlowControl(r,i.get(r).arg):t.has(r)&&!t.get(r).endpoint&&this.hoistFlowControl(r,t.get(r).arg,!0)}typed(t,i,r=void 0){let s=Array.isArray(i)?"array":i===null?"null":typeof i;if(s===t||t==="iterable"&&i?.[Symbol.iterator]||t==="desctructurable"&&!["undefined","null"].includes(s))return i;throw t==="iterable"?new Error("value is not iterable."):t==="desctructurable"?new Error((r?`Cannot access ${r}; `:"")+"object not desctructurable."):new Error(`value must be of type ${t}.`)}let(t,i,r,s={}){return this.var(t,i,r,{...s,kind:"let"})}const(t,i,r,s={}){return this.var(t,i,r,{...s,kind:"const"})}var(t,i,r,s={}){s={kind:"var",...s},r||(r=()=>{});let n=s.restOf?(...o)=>{try{return r(...o)}catch(c){throw new Error(`Cannot declare ${t}; ${c.message}`)}}:r,a=(o,c)=>{let u=c.scope;if(s.kind==="var")for(;!["module","function"].includes(u.type)&&!R.has(u.state,t)&&u.context;)u=u.context;else u.type==="this"&&u.context&&(u=u.context);let l=u.symbols.get(t);if(l&&(l.kind!==s.kind||s.kind==="let"&&l.serial!==i))throw new Error(`Identifier "${t}" has already been declared.`);l?.reader?.abort(),l={serial:i,kind:s.kind};let f=o;return s.restOf&&(s.type==="array"?f=[]:f={},l.reader=R.map(o,f,{except:s.restOf,spread:s.type==="array"}),c.once(l.reader)),u.symbols.set(t,l),R.set(u.state,t,f),f};return this.autorun(s.kind,{complete:a,...s},i,n)}update(t,i,r={}){let s=this.scope;for(;s&&!R.has(s.state,t);)s=s.context;if(!s)throw new ReferenceError(`${t} is not defined.`);let n=s.symbols.get(t);if(n?.kind==="const")throw new ReferenceError(`Assignment to constant variable "${t}".`);let a=R.get(s.state,t),o=r.restOf?(...c)=>{try{return i(...c)}catch(u){throw new Error(`Cannot update ${t}; ${u.message}`)}}:i;return Bi(o,void 0,a,(c,u)=>{if(u)return this.throw(u,[this.serial]);n?.reader?.abort();let l=c;return r.restOf&&(n=n||{},r.type==="array"?l=[]:l={},n.reader=R.map(c,l,{except:r.restOf,spread:r.type==="array"}),this.once(n.reader)),R.set(s.state,t,l),["postinc","postdec"].includes(r.kind)?a:l})}ref(t,...i){let r=0,s={};typeof i[0]=="number"?(r=i.shift(),s=i.shift()||{}):typeof i[0]=="object"&&(s=i.shift());let n=this.scope;for(;n&&!R.has(n.state,t);)n=n.context;if(!n){if(s.isTypeCheck)return;throw new Error(`${t} is not defined.`)}let a=n.symbols.get(t)?.kind,o=n.signal(t,a);return s.typed&&this.typed(s.typed,o.state,t),this.autobind(o,r,s)}obj(t,...i){let r=0,s={};return typeof i[0]=="number"?(r=i.shift(),s=i.shift()||{}):typeof i[0]=="object"&&(s=i.shift()),this.autobind(this.runtime.$objects.signal(t,"object"),r,s)}autobind(t,i,r){let s=["QuantumProgram","QuantumFunction"].includes(this.runtime.$params.executionMode),n=t.type==="const",a=this===this.runtime,o=this.state==="aborted",c=this.spec.static,u=this;return function l(f,p){if(s&&!c&&!n&&!a&&!o&&f.subscribe(u),!p||!f.state||typeof f.state!="object"){let m=f.state;return typeof f.state=="function"&&!/^class\s?/.test(Function.prototype.toString.call(f.state))&&(m=R.proxy(f.state,{membrane:f})),m}let g;return R.proxy(f.state,{},m=>({...m,get(S,E,y=null){return g?m.get(S,E,y):(g=!0,l(f.signal(E),p-1))}}))}(t,i)}autorun(t,...i){let r=i.pop(),s=i.pop(),n=i.pop()||{},a=St,o=this.scope;if(t==="iteration"){let u=this.runtime.constructor;a=r.constructor.name==="AsyncFunction"?u.AutoAsyncIterator:u.AutoIterator}["block","switch","iteration"].includes(t)&&(o=new et(o,t));let c=new a(this,t,n,s,o,r);if(t==="downstream"){if(this.downstream=c,this.flowControlApplied())return}else if(this.type==="switch"&&this.breakpoint)return;return c.execute()}function(t,i,r,s){i==="Declaration"&&R.set(this.scope.state,s.name,s);let n=this;return Object.defineProperty(s,"toString",{value:function(a=!1){if(a&&t==="QuantumFunction")return Function.prototype.toString.call(s);let o=n.runtime.extractSource(r);return o.startsWith("static ")?o.replace("static ",""):o}}),s}class(t,i,r){return t==="Declaration"&&R.set(this.scope.state,i.name,i),r.forEach(({name:s,isQuantumFunction:n,static:a,serial:o})=>{this.function(n&&"QuantumFunction"||"RegularFunction","Expression",o,a?i[s]:i.prototype[s])}),i}async import(...t){return this.runtime.import(...t)}async export(...t){return this.runtime.export(...t)}continue(t){return this.applyFlowControl("continue",t)}break(t){return this.applyFlowControl("break",t)}return(t){return this.applyFlowControl("return",t)}applyFlowControl(t,i,r=!1){let s=this.flowControl.size;if(r?this.flowControl.delete(t):this.flowControl.set(t,{arg:i}),this.type==="round"&&(this.context.breakpoint=this),this.type==="round"&&["break","continue"].includes(t)&&i===this.context?.spec.label){r||(this.flowControl.get(t).endpoint=!0),this.state!=="running"&&this.handleRightstream(this.flowControl.size,s);return}if(this.context?.type==="switch"&&t==="break"&&!i){r||(this.flowControl.get(t).endpoint=!0),this.context.breakpoint=this;return}this.state!=="running"&&(this.handleDownstream(this.flowControl.size,s),this.hoistFlowControl(...arguments))}hoistFlowControl(...t){return this.context?.applyFlowControl(...t)}flowControlApplied(t,i){return arguments.length?arguments.length===1?this.flowControl.has(t):this.flowControl.get(t)?.arg===i:this.flowControl.size||!1}handleDownstream(t,i){let r;!["block"].includes(this.type)||!(r=this.context?.downstream)||(t?r.abort():i&&(r.state="resuming",this.runtime.schedule(r)))}handleRightstream(t,i){if(this.type!=="round")return;let r=this,s=new Set;for(;r=r.nextRound;)t?r.abort():i&&r.state!=="inert"&&(r.state="resuming",s.add(r));s.size&&this.runtime.schedule(...s),!t&&i&&this.runtime.on("reflection",()=>{this.context.iterating||this.context.iterate()},{once:!0})}abort(t=!1){return t&&(this.context?.breakpoint===this&&delete this.context.breakpoint,this.flowControl.clear()),this.state=t?"inert":"aborted",super.abort(t)}};var Kt=class extends St{rounds=new Map;constructor(t,i,r,s,n,a){r.$closure=a,super(t,i,r,s,n),this.manage(()=>{delete this.breakpoint,this.rounds.clear()})}pseudorun(t){return this.runtime.iThread.unshift(this),at(t(),i=>(this.runtime.iThread.pop(),i))}createIterator(){return this.spec.kind==="for-in"?function*(){for(let t in this.iteratee)yield t}.call(this):this.spec.kind==="for-of"?function*(){for(let t of this.iteratee)yield t}.call(this):{next:()=>({done:!this.pseudorun(()=>this.spec.test(this))})}}closure(){["for-of","for-in"].includes(this.spec.kind)?([this.production,this.iteratee]=this.spec.parameters(this),this.iterator=this.createIterator(),this.iterator.original=!0,this.watchMode()):(this.spec.kind==="for"&&this.spec.init(this),this.iterator=this.createIterator()),this.iterate()}terminated(){return this.breakpoint&&!this.breakpoint.flowControlApplied("continue",this.spec.label)&&this.breakpoint.flowControlApplied()}advance(){this.spec.kind==="for"&&this.pseudorun(()=>this.spec.advance(this))}iterate(){this.iterating=!0;let t=()=>!this.terminated()&&!(this.cursor=this.iterator.next()).done,i=()=>{this.createRound(this.cursor.value).execute(),this.advance()};if(this.spec.kind==="do-while")do i();while(t());else for(;t();)i();this.iterating=!1}createRound(t){let i=this.rounds.size,r={index:i},s=["for-in","for-of"].includes(this.spec.kind)?{[this.production]:t}:{...this.scope.state},n=new et(this.scope,"round",s);this.scope.symbols.forEach((c,u)=>{n.symbols.set(u,c)});let a=new St(this,"round",r,this.serial,n,this.spec.$closure),o=this.spec.kind==="for-in"?t:i;return this.rounds.set(o,a),this.lastRound&&(this.lastRound.nextRound=a,a.prevRound=this.lastRound),this.lastRound=a,a}watchMode(){if(this.spec.static)return;let t=(i,r)=>{let s=new Set,n=new Set;for(let a of i){if(Array.isArray(this.iteratee)&&a.key==="length")continue;let o=this.spec.kind==="for-in"?a.key:a.value,c=this.spec.kind==="for-in"?a.key:parseInt(a.key),u=this.rounds.get(c);if(u)R.set(u.scope.state,this.production,o),a.type==="delete"&&(this.rounds.set(c,void 0),u.prevRound&&(u.prevRound.nextRound=u.nextRound),u.nextRound&&(u.nextRound.prevRound=u.prevRound),s.add(u));else if(a.type!=="delete"&&!a.isUpdate){if(this.spec.kind==="for-of"&&this.iterator.original&&!r.done)continue;n.add(o)}}this.runtime.on("reflection",()=>{s.forEach(a=>a.abort(!0))},{once:!0}),n.size&&(this.iterator=function*(a){yield*a,yield*n}(this.iterator),r.done&&this.iterate())};this.once(R.observe(this.iteratee,i=>{at(this.cursor,r=>t(i,r))}))}};var He=class extends Kt{async createIterator(){return this.spec.kind==="for-in"?function*(){for(let t in this.iteratee)yield t}.call(this):this.spec.kind==="for-of"?function*(){for(let t of this.iteratee)yield t}.call(this):{next:async()=>({done:!await this.pseudorun(()=>this.spec.test(this))})}}async closure(){["for-of","for-in"].includes(this.spec.kind)?([this.production,this.iteratee]=await this.spec.parameters(this),this.iterator=await this.createIterator(),this.iterator.original=!0,this.watchMode()):(this.spec.kind==="for"&&await this.spec.init(this),this.iterator=await this.createIterator()),await this.iterate()}async iterate(){let t;this.iterating=!0;let i=async()=>!this.terminated()&&(this.cursor=this.iterator.next())&&(t=await this.cursor)&&!t.done,r=async()=>{await this.createRound(t.value).execute(),await this.advance()};if(this.spec.kind==="do-while")do await r();while(await i());else for(;await i();)await r();this.iterating=!1}};var Yt=class{constructor(t){Object.defineProperty(this,"runtime",{value:t});let i={statechange:()=>{R.defineProperty(this,"value",{value:t.flowControl.get("return")?.arg,enumerable:!0,configurable:!0})}};for(let r in i)t.on(r,i[r]),i[r]();t.$params.sourceType==="module"&&Object.defineProperty(this,"exports",{value:t.exports})}dispose(){return this.runtime.abort(!0)}};var Jt=class extends St{locations=[];queue=new Set;thread=[];iThread=[];constructor(t,i,r,s,n){let{$serial:a=0,spec:o,...c}=r;super(t,i,o,-1,s,n),this.$serial=a,this.$params=c,this.$objects=new et(void 0,"objects"),this.manage(this.$objects),this.exports=Object.create(null),this.$promises={imports:[],exports:[]},this.manage(()=>{R.deleteProperties(this.exports,Object.keys(this.exports)),this.$promises.imports.splice(0),this.$promises.exports.splice(0)})}extractSource(t,i=!1){let[[r,s,n],[a]]=this.locations[t],o=this.$params.originalSource.slice(r,a);return i?{expr:o,line:s,column:n}:o}get runtime(){return this}get nowRunning(){return this.thread[0]}schedule(...t){let i=this.queue.size;for(let r of t)this.queue.add(r);if(!i)return this.flowControlDirty=!1,function r(s,n){let a;for(let o of this.queue){if(n&&n.order(o)!==n||["aborted","running"].includes(o.state)||this.iThread[0]?.contains(o)){this.queue.delete(o);continue}a=a?a.order(o):o,n||(n=a)}return a?(a.abort(),a.execute(o=>(this.queue.delete(a),r.call(this,o,a)))):(this.fire("reflection"),this.flowControlApplied()&&this.fire("statechange"),s)}.call(this,void 0,this.nowRunning)}execute(t=null){return super.execute(i=>{let s=["QuantumProgram","QuantumFunction"].includes(this.$params.executionMode)?new Yt(this):this.flowControl.get("return")?.arg;return t?t(s,this):s})}spawn(t,i,r,s=null){let n=this.nowRunning||s||this,a={...this.$params,$serial:this.$serial+1,executionMode:t,lexicalContext:s},o=new et(n.scope,"function",{this:i});return new this.constructor(n,"function",a,o,r).execute()}async import(...t){let i=t.pop(),r=typeof i=="string"?{source:i}:i,s=a=>{if(r.forExport||r.isDynamic)return a;this.assignModules(t,this.scope.state,a,i.serial)};if(this.$params.experimentalFeatures!==!1&&Be[r.source])return s(Be[r.source]);let n=(async()=>{let a=this.$params.sourceType==="module"&&this.$params.experimentalFeatures!==!1&&this.$params.exportNamespace||this.$params.fileName;try{return s({...await import(r.source)})}catch(o){o.code==="ERR_MODULE_NOT_FOUND"?this.throw(new Error(`Cannot find module "${r.source}"${a?` imported at "${a}"`:""}.`),[r.serial],o.code):this.throw(o,[r.serial],o.code)}})();return r.isDynamic||this.$promises[r.forExport?"exports":"imports"].push(n),n}async export(...t){let i=Array.isArray(t[t.length-1])?null:t.pop(),r=i?await this.import({...i,forExport:!0}):this.scope.state;this.assignModules(t,this.exports,r,i?.serial)}assignModules(t,i,r,s=null){let n=[],a=["QuantumProgram","QuantumFunction"].includes(this.$params.executionMode);for(let[o,c,u]of t){if(o==="*"&&u){(a?R:Reflect).set(i,u,r);continue}R.has(r,o)||this.throw(new Error(`The requested module does not provide an export named "${o}".`),[c,s]),(a?R:Reflect).set(i,u||o,R.get(r,o)),n.push([o,c,u])}!n.length||!a||this.once(R.observe(r,o=>{for(let[c,,u]of n)for(let l of o)c==="*"?R.set(i,l.key,l.value):l.key===c&&R.set(i,u||c,l.value)}))}afterExecute(...t){return this.$params.sourceType==="module"&&this.$params.experimentalFeatures!==!1&&this.$params.exportNamespace&&(Be[this.$params.exportNamespace]=this.exports,this.once(()=>{delete Be[this.$params.exportNamespace]})),super.afterExecute(...t)}};G(Jt,"AutoAsyncIterator",He),G(Jt,"AutoIterator",Kt);function Ue(e,t,i,r){let{env:s,functionParams:n=[],exportNamespace:a,fileName:o}=r,{parserParams:c,compilerParams:u,runtimeParams:l}=me(r),f=Object.getOwnPropertyDescriptor(globalThis,"window")?.get?.toString().includes("[native code]")??!1,p=["async-script","module"].includes(e);if(e==="module")c.sourceType=e,c.allowAwaitOutsideFunction=!0;else if(["function","async-function"].includes(e)){let m=" "+i.split(`
|
|
11
|
+
`?(o=0,c++):o++;this.column=o,this.line=c;return}}let{length:r}=t,{lineEnd:s}=this;r>0&&(this.lineEndSize>0&&(s.length===1?t[r-1]===s:t.endsWith(s))?(this.line+=this.lineEndSize,this.column=0):this.column+=r)}toString(){return this.output}};function Ns(e,t){let i=new ar(t);return i.generator[e.type](e,i),i.output}var $t=class{type="Identifier";whitelist=[];blacklist=[];constructor(t){this.whitelist[0]=t}get name(){return this.whitelist[0]}noConflict(t){let i=this.whitelist.indexOf(t);if(i===-1)return!1;this.blacklist.push(this.whitelist.splice(i,1)),this.whitelist.length||(this.whitelist=this.blacklist.map(r=>{let s;do{let n=String.fromCharCode(0|Math.random()*26+97);s=`${r}${n}`}while(this.blacklist.includes(s));return s}))}};var d={throwStmt(e){return{type:"ThrowStatement",argument:e}},tryStmt(e,t,i,r){return{type:"TryStatement",block:e,handler:t,finalizer:i,guardedHandlers:r}},catchClause(e,t){return{type:"CatchClause",param:e,body:t}},exprStmt(e){return{type:"ExpressionStatement",expression:e}},blockStmt(e){return{type:"BlockStatement",body:e}},labeledStmt(e,t){return{type:"LabeledStatement",label:e,body:t}},withStmt(e,t){return{type:"WithStatement",object:e,body:t}},ifStmt(e,t,i){return this.conditionalExpr(e,t,i,"IfStatement")},switchStmt(e,t,i=!1){return{type:"SwitchStatement",discriminant:e,cases:t}},switchCase(e,t){return{type:"SwitchCase",test:e,consequent:t}},whileStmt(e,t){return{type:"WhileStatement",test:e,body:t}},doWhileStmt(e,t){return{type:"DoWhileStatement",test:e,body:t}},forStmt(e,t,i,r){return{type:"ForStatement",init:e,test:t,update:i,body:r}},forInStmt(e,t,i){return{type:"ForInStatement",left:e,right:t,body:i}},forOfStmt(e,t,i){return{type:"ForOfStatement",left:e,right:t,body:i}},breakStmt(e=null){return{type:"BreakStatement",label:e}},continueStmt(e=null){return{type:"ContinueStatement",label:e}},returnStmt(e){return{type:"ReturnStatement",argument:e}},yieldExpr(e,t=!1){return{type:"YieldExpression",argument:e,delegate:t}},awaitExpr(e){return{type:"AwaitExpression",argument:e}},varDeclaration(e,t){return{type:"VariableDeclaration",kind:e,declarations:t}},varDeclarator(e,t=null){return{type:"VariableDeclarator",id:e,init:t}},funcDeclaration(e,t,i,r=!1,s=!1,n=!1){return this.func("FunctionDeclaration",...arguments)},sequenceExpr(e){return{type:"SequenceExpression",expressions:e}},parensExpr(e){return{type:"ParenthesizedExpression",expression:e}},logicalExpr(e,t,i){return{type:"LogicalExpression",operator:e,left:t,right:i}},binaryExpr(e,t,i){return{type:"BinaryExpression",operator:e,left:t,right:i}},unaryExpr(e,t,i=!0){return{type:"UnaryExpression",operator:e,argument:t,prefix:i}},updateExpr(e,t,i=!1){return{type:"UpdateExpression",operator:e,argument:t,prefix:i}},assignmentExpr(e,t,i="="){return{type:"AssignmentExpression",operator:i,left:e,right:t}},assignmentPattern(e,t){return{type:"AssignmentPattern",left:e,right:t}},thisExpr(){return{type:"ThisExpression"}},conditionalExpr(e,t,i,r="ConditionalExpression"){return{type:r,test:e,consequent:t,alternate:i}},arrayExpr(e){return{type:"ArrayExpression",elements:e}},arrayPattern(e){return{type:"ArrayPattern",elements:e}},objectExpr(e){return{type:"ObjectExpression",properties:e}},objectPattern(e){return{type:"ObjectPattern",properties:e}},chainExpr(e){return{type:"ChainExpression",expression:e}},callExpr(e,t,i=!1){return{type:"CallExpression",callee:e,arguments:t,optional:i}},newExpr(e,t){return{type:"NewExpression",callee:e,arguments:t}},taggedTemplateExpr(e,t){return{type:"TaggedTemplateExpression",tag:e,quasi:t}},memberExpr(e,t,i=!1,r=!1){return{type:"MemberExpression",object:e,property:t,computed:i,optional:r}},funcExpr(e,t,i,r=!1,s=!1,n=!1){return this.func("FunctionExpression",...arguments)},arrowFuncExpr(e,t,i,r=!1,s=!1,n=!1){return this.func("ArrowFunctionExpression",...arguments)},func(e,t,i,r,s=!1,n=!1,a=!1){return{type:e,id:t,params:i,body:r,async:s,expression:n,generator:a}},identifier(e){return{type:"Identifier",name:e}},property(e,t,i="init",r=!1,s=!1,n=!1){return{type:"Property",key:e,value:t,kind:i,shorthand:r,computed:s,method:n}},classDeclaration(e,t,i=null){return this.class("ClassDeclaration",...arguments)},classExpression(e,t,i=null){return this.class("ClassExpression",...arguments)},class(e,t,i,r=null){return{type:e,id:t,body:i,superClass:r}},methodDefinition(e,t,i="method",r=!1,s=!1){return{type:"MethodDefinition",key:e,value:t,kind:i,static:r,computed:s}},propertyDefinition(e,t,i=!1,r=!1){return{type:"PropertyDefinition",key:e,value:t,static:i,computed:r}},spreadElement(e){return{type:"SpreadElement",argument:e}},literal(e){if(typeof e=="object"&&!("name"in e)&&!("value"in e))throw new Error('Objects that convert to literals must have a "name" or "value" property.');return typeof e=="object"?{type:"Literal",get value(){return"name"in e?e.name:e.value}}:{type:"Literal",value:e}},templateLiteral(e,t){return{type:"TemplateLiteral",quasis:e,expressions:t}},comments(e){let t={};return Object.defineProperty(t,"toString",{value:()=>e}),Object.defineProperty(t,"trim",{value:function(){return this.toString()}}),[{type:"Line",value:t}]},withLoc(e,...t){return["start","end"].forEach(i=>{let r=i==="start"?t[0]:t[t.length-1];e[i]=r[i],r.loc&&(e.loc=e.loc||{},e.loc[i]=r.loc?.[i])}),e},invert(e){return this.unaryExpr("!",e)},clone(e){return e={...e},delete e.start,delete e.end,e}};var de=class{type="BlockStatement";$body=[];constructor(t){this.body=t}get body(){return this.$body}set body(t){this.$body=t,d.withLoc(this,...t)}};var qe=class{constructor(t,{type:i}){this.context=t,Object.assign(this,{type:i}),this.vars=new Set,this.$qIdentifiers=new Map,this.$qIdentifiersCursors={...this.context?.$qIdentifiersCursors||{}},this.locations=[]}index(t,i=!1){if(!this.type.includes("Function")&&this.context)return this.context.index(...arguments);let r=["start","end"].map(s=>{let n=[d.literal(t[s])];return i&&t.loc&&(n.push(d.literal(t.loc[s].line)),n.push(d.literal(t.loc[s].column))),d.arrayExpr(n)});return this.locations.push(d.arrayExpr(r)),d.literal(this.locations.length-1)}get$qIdentifier(t,i=!0,r=!1){let s=this.$qIdentifiers.get(t);if(!s){if(i&&this.context)return this.context.get$qIdentifier(t,i);r&&(typeof this.$qIdentifiersCursors[t]>"u"&&(this.$qIdentifiersCursors[t]=0),t+=this.$qIdentifiersCursors[t]++),this.$qIdentifiers.set(t,s=new $t(t))}return s}getRandomIdentifier(t,i=!0){return this.get$qIdentifier(t,i,!0)}$qIdentifiersNoConflict(t){for(let[,i]of this.$qIdentifiers)i.noConflict(t);this.context&&this.context.$qIdentifiersNoConflict(t)}push(t,i,r=!1){let s;return["var","update"].includes(i)&&(s=this.find(t,!1))&&s.type!=="const"?s.willUpdate=!0:(i!=="update"||!this.context)&&(t instanceof $t||this.$qIdentifiersNoConflict(t.name+""),this.vars.add({identifier:t,type:i,willUpdate:r||i==="update"})),this.context&&(i==="update"||i==="var"&&!this.type.includes("Function"))?this.context.push(t,i):!0}find(t,i=!0){let r;for(let s of this.vars)if(s.identifier.name+""==t.name+""){r=s;break}return!r&&i?this.context?.find(t,i):r}};var je=class{history=[];scopes=[];functionTypes=["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"];loopTypes=["DoWhileStatement","WhileStatement","ForStatement","ForOfStatement","ForInStatement"];labeledTypes=["SwitchStatement","LabeledStatement"];topLevelAwait=!1;topLevelArgsKeyword=!1;constructor(t={}){this.params=t}pushScope(t,i){let r=new qe(this.currentScope,t);this.scopes.unshift(r);let s=i();return this.scopes.shift(),s}get currentScope(){return this.scopes[0]}pushHistory(t,i){this.history.unshift(t);let r=i();return this.history.shift(),r}get currentEntry(){return this.history[0]}serialize(t,i={}){return Ns(t,{comments:!0,...i})}transform(t){if(t.type!=="Program")throw new Error('AST must be of type "Program".');return this.pushScope(t,()=>{let i=this.transformNodes(t.body,{static:!t.isQuantumProgram}),r={...t,body:i};r.body.length&&(r.body[0].comments=d.comments("Program body"));let s=d.exprStmt(d.assignmentExpr(this.$path("locations"),d.arrayExpr(this.currentScope.locations)));if(s.comments=d.comments("Location data"),r.body.unshift(s),this.exports.size){this.exports.forEach(u=>{r.body.push(d.exprStmt(this.$call("export",...u)))});let c=d.memberExpr(d.identifier("Promise"),d.identifier("all"));r.body.push(d.exprStmt(d.awaitExpr(d.callExpr(c,[this.$path("$promises.exports")]))))}let n=this.currentScope.get$qIdentifier("$q").name,a=this.serialize(r,{startingIndentLevel:this.params.startingIndentLevel}),o=this.params.base64?btoa(this.params.base64.replace("%0",n+"").replace("%1",a)):"";return{identifier:n,compiledSource:a,compiledSourceBase64:o,originalSource:t.originalSource,isQuantumProgram:t.isQuantumProgram,topLevelAwait:this.topLevelAwait,toString(c=void 0){return c==="base64"?this.compiledSourceBase64:this.compiledSource}}})}transformNodes(t,i={}){let r=(t=t.filter(o=>o)).length,[s,n,a]=t.reduce(([o,c,u],l)=>l?.type==="ImportDeclaration"?[o.concat(l),c,u]:l?.type==="FunctionDeclaration"?[o,c.concat(l),u]:[o,c,u.concat(l)],[[],[],[]]);return t=[...s,...n,...a],function o(c,u){if(u===r)return c;let[l,f]=this.transformNode(t[u],i,!0);if(c=c.concat(l||[]),u===s.length-1){let p=d.memberExpr(d.identifier("Promise"),d.identifier("all"));c=c.concat(d.exprStmt(d.awaitExpr(d.callExpr(p,[this.$path("$promises.imports")]))))}if(["ReturnStatement","BreakStatement","ContinueStatement"].includes(t[u].type))return c;if(f.flowControl?.size&&f.node.type==="IfStatement"){let p=t.slice(u+1);if(p.length){let g=new de(p);return c.concat(this.transformNode(g))}}return o.call(this,c,u+1)}.call(this,[],0)}transformNode(t,i={},r=!1){if(typeof t!="object"||!t)return t;let s={static:this.currentEntry?.static,mode:this.currentEntry?.mode,...i,parentNode:this.currentEntry?.node,node:t,hoistedAwaitKeyword:!1,flowControl:new Map},n=this.pushHistory(s,()=>this[`transform${t.type}`]?this[`transform${t.type}`].call(this,t):Object.keys(t).reduce((a,o)=>{let c=Array.isArray(t[o])?this.transformNodes(t[o],i):this.transformNode(t[o],i);return{...a,[o]:c}},{}));return r?[n,s]:n}$serial(t){return this.currentScope.index(t,this.params.locations)}$path(t){return t.split(".").reduce((i,r)=>d.memberExpr(i,d.identifier(r)),this.currentScope.get$qIdentifier("$q"))}$trail(){return this.currentEntry.trail?[d.literal(this.currentEntry.trail)]:[]}$call(t,...i){return d.callExpr(this.$path(t),i)}$typed(t,i,r=null){let s=r?[d.literal(r)]:[];return this.$call("typed",d.literal(t),i,...s)}$obj(t){let i=Object.entries(t).map(([r,s])=>d.property(d.identifier(r),Array.isArray(s)?d.arrayExpr(s):s));return d.objectExpr(i)}$closure(...t){let i=t.pop(),r=t.pop()||[];return i.type==="EmptyStatement"&&(i=d.blockStmt([])),d.arrowFuncExpr(null,r,i,this.currentEntry.hoistedAwaitKeyword)}$var(t,i,r,s,...n){let a=s?this.$closure([this.currentScope.get$qIdentifier("$q")],s):d.identifier("undefined"),o=this.$call(t,d.literal(r),i,a,...n);return a.async&&(o=d.awaitExpr(o)),d.exprStmt(o)}$update(t,i,...r){let s=this.$closure(i);return this.$call("update",d.literal(t.name),s,...r)}$autorun(t,...i){let r=i.pop(),s=i.pop(),n=i.pop()||{},a=Object.keys(n).length?[this.$obj(n)]:[],o=this.$closure([this.currentScope.get$qIdentifier("$q")],r),c=this.$call("autorun",d.literal(t),...a,s,o);return o.async&&(c=d.awaitExpr(c)),d.exprStmt(c)}$iteration(t,i,r){let s=d.literal(t),n=this.currentEntry.parentNode?.label?d.literal(this.currentEntry.parentNode.label.name):d.identifier("null"),a={kind:s,label:n},o=d.blockStmt(r);return this.$autorun("iteration",a,i,o)}hoistAwaitKeyword(){for(let t of this.history)if(t.hoistedAwaitKeyword=!0,t.node.type.includes("Function"))return;this.topLevelAwait=!0}hoistArgumentsKeyword(){let t=["FunctionDeclaration","FunctionExpression"];if(!this.history.some(i=>t.includes(i.node.type)))return this.topLevelArgsKeyword=!0,!0}hoistExitStatement(t,i={}){for(let r of this.history){let s=()=>r.node?.type==="SwitchStatement"&&t.value==="break"&&i.name==="null",n=()=>r.parentNode?.type==="LabeledStatement"&&this.loopTypes.includes(r.parentNode.body.type)&&i.value===r.parentNode.label.name,a=()=>this.loopTypes.includes(r.node.type)&&i.name==="null";if(s())return r.node;if(n()||a())return r.flowControl.set(t,{...i,endpoint:!0}),r.node;if(r.node.type.includes("Function"))return;r.flowControl.set(t,i)}}transformFunctionDeclaration(t){return this.transformFunction(d.funcDeclaration,...arguments)}transformFunctionExpression(t){return this.transformFunction(d.funcExpr,...arguments)}transformArrowFunctionExpression(t){return this.transformFunction(d.arrowFuncExpr,...arguments)}transformFunction(t,i){if(i.generator&&i.isQuantumFunction)throw new Error("Generator functions cannot be quantum functions.");let r=this.$serial(i),{id:s,params:n,body:a}=i;[s,n,a]=this.pushScope(i,()=>{let m=[];s&&this.currentScope.push(s,"self");let S=n.map(b=>{if(b.type==="AssignmentPattern"&&i.isQuantumFunction){let w=this.currentScope.getRandomIdentifier("$rand",!1),v=this.transformSignal(w,"param"),x=d.varDeclarator(b.left,d.withLoc(d.logicalExpr("||",w,b.right),b));return m.push(...this.transformNode(d.varDeclaration("let",[d.withLoc(x,b)]),{static:!i.isQuantumFunction})),v}return this.transformSignal(b,"param")}),E=this.transformNodes(a.type==="BlockStatement"?a.body:[d.returnStmt(a)],{static:!i.isQuantumFunction});m.push(...E),m.length&&(m[0].comments=d.comments("Function body"));let y=d.exprStmt(d.assignmentExpr(this.$path("locations"),d.arrayExpr(this.currentScope.locations)));return y.comments=d.comments("Location data"),m.unshift(y),[s,S,d.blockStmt(m)]});let o=this.currentScope.get$qIdentifier("$q"),c=this.$closure([o],a),u=d.literal(i.isQuantumFunction?"QuantumFunction":i.isHandler?"HandlerFunction":i.isFinalizer?"FinalizerFunction":"RegularFunction"),l=d.literal(i.type==="FunctionDeclaration"?"Declaration":"Expression"),f=d.blockStmt([d.returnStmt(this.$call("runtime.spawn",u,d.thisExpr(),c,o))]),p=m=>this.$call("function",u,l,r,m),g=t.call(d,s,n,f,i.async,i.expresion,i.generator);if(i.type==="FunctionDeclaration"){if(this.currentScope.push(s,"static"),g=[g,d.exprStmt(p(s))],this.currentEntry.isExport){let m=[d.literal(s),r];this.currentEntry.isExport==="as-default"&&m.push(d.literal("default")),this.exports.add([d.arrayExpr(m)])}}else this.currentEntry.isMethod||(g=p(g));return g}transformClassDeclaration(t){return this.transformClass(d.classDeclaration,...arguments)}transformClassExpression(t){return this.transformClass(d.classExpression,...arguments)}transformClass(t,i){let{id:r,body:s,superClass:n}=i;n&&(n=this.transformNode(n));let a=new Set;s=this.pushScope(i,()=>(r&&this.currentScope.push(r,"self"),this.transformNode(s,{methods:a})));let o=d.literal(i.type==="ClassDeclaration"?"Declaration":"Expression"),c=l=>{let f=d.arrayExpr([...a].map(p=>this.$obj(p)));return this.$call("class",o,l,f)},u=t.call(d,r,s,n);if(i.type==="ClassDeclaration"){if(this.currentScope.push(r,"static"),u=[u,d.exprStmt(c(r))],this.currentEntry.isExport){let l=[d.literal(r),this.$serial(i)];this.currentEntry.isExport==="as-default"&&l.push(d.literal("default")),this.exports.add([d.arrayExpr(l)])}}else u=c(u);return u}transformMethodDefinition(t){let{key:i,value:r}=t;t.computed&&(i=this.transformNode(i));let s=this.transformNode(r,{static:!0,isMethod:!0});return this.currentEntry.methods.add({name:t.computed?i:d.literal(i),static:d.identifier(t.static),isQuantumFunction:d.identifier(r.isQuantumFunction||!1),serial:this.$serial(t)}),d.methodDefinition(i,s,t.kind,t.static,t.computed)}transformPropertyDefinition(t){let{key:i,value:r}=t;return t.computed&&(i=this.transformNode(i)),r=this.transformNode(r),d.exprStmt(d.propertyDefinition(i,r,t.static,t.computed))}exports=new Set;transformExportDefaultDeclaration(t){return this.handleExports(...arguments)}transformExportNamedDeclaration(t){return this.handleExports(...arguments)}transformExportAllDeclaration(t){return this.handleExports(...arguments)}handleExports(t){if(t.type==="ExportAllDeclaration"){let r=[d.literal("*"),this.$serial(t.exported||t),d.literal(t.exported?.name||t.exported?.value||"")];this.exports.add([d.arrayExpr(r),this.$obj({source:t.source,serial:this.$serial(t)})]);return}let i=r=>r.map(s=>{let n=[d.literal(s.local.name),this.$serial(s)],a=s.exported.name||s.exported.value;return a!==s.local.name&&n.push(d.literal(a)),d.arrayExpr(n)});if(t.source){this.exports.add(i(t.specifiers).concat(this.$obj({source:t.source,serial:this.$serial(t)})));return}if(t.type==="ExportNamedDeclaration"&&t.specifiers.length){this.exports.add(i(t.specifiers));return}if(t.type==="ExportDefaultDeclaration"&&["Identifier","ThisExpression"].includes(t.declaration.type)){let r=[d.literal(t.declaration.name||"this"),this.$serial(t),d.literal("default")];this.exports.add([d.arrayExpr(r)]);return}return this.transformNode(t.declaration,{isExport:t.type==="ExportDefaultDeclaration"?"as-default":!0})}transformImportDeclaration(t){let i=t.specifiers.map(r=>{let{imported:s,local:n}=r;this.transformSignal(n,"import"),r.type==="ImportNamespaceSpecifier"?s=d.identifier("*"):r.type==="ImportDefaultSpecifier"&&(s=d.identifier("default"));let a=s.name||s.value||"",o=[d.literal(a),this.$serial(r)];return a!==r.local.name&&o.push(d.literal(r.local.name)),d.arrayExpr(o)});return d.exprStmt(this.$call("import",...i.concat(this.$obj({source:t.source,serial:this.$serial(t)}))))}transformImportExpression(t){return this.$call("import",this.$obj({source:t.source,isDynamic:d.identifier("true"),serial:this.$serial(t)}))}transformSignal(t,i,r=null){return t.type==="Identifier"?(this.currentScope.push(t,i,["let","param"].includes(i)),r?.add(t),t):this.transformNode(t,{mode:i,static:!0,signals:r})}transformThisExpression(t){return this.transformIdentifier(...arguments)}transformIdentifier(t){let i=this.currentScope.find(t);!i&&t.name&&this.currentScope.$qIdentifiersNoConflict(t.name);let r=[];return t.hint?r.push(this.$obj({[t.hint]:d.identifier(!0)})):this.currentEntry.mode,t.type==="ThisExpression"||["param","self"].includes(i?.type)||["arguments"].includes(t.name)?this.currentEntry.trail?this.$call("obj",t,...this.$trail(),...r):t:(this.history.forEach(s=>s.refs?.add(t)),this.$call("ref",d.literal(t),...this.$trail(),...r))}transformMemberExpression(t){let{object:i,property:r,computed:s,optional:n}=t;s&&(r=this.transformNode(r));let a=this.transformNode(i,{trail:(this.currentEntry.trail||0)+1});return i.typed&&(a=this.$typed(i.typed,a,d.literal(r))),d.memberExpr(a,r,s,n)}transformVariableDeclaration(t){let i=this.currentEntry.isExport;return t.declarations.reduce((s,n)=>["ObjectPattern","ArrayPattern"].includes(n.id.type)?s.concat(this.expandPattern(n.id,n.init)):s.concat(n),[]).reduce((s,n)=>{let a=this.$serial(n),o=this.transformNode(n.init);this.transformSignal(n.id,t.kind,this.currentEntry.signals);let c=[];n.restOf&&(o=this.$typed(n.init.typed,o),c.push(this.$obj({restOf:n.restOf,type:d.literal(n.init.typed==="iterable"?"array":"object")})));let u=s.concat(this.$var(t.kind,a,n.id,o,...c));if(i&&!(n.id instanceof $t)){let l=[d.literal(n.id),a];this.exports.add([d.arrayExpr(l)])}return u},[])}transformAssignmentExpression(t){let r=!this.currentEntry.static&&this.history[1].node.type==="ExpressionStatement",{left:s,right:n}=t,a=(c,u)=>(u=this.transformNode(u),c=this.transformNode(c),d.assignmentExpr(c,u,t.operator));if(["MemberExpression","ChainExpression"].includes(s.type))return a(s,n);if(["ObjectPattern","ArrayPattern"].includes(s.type)){let c=n,u=this.expandPattern(s,n,r).reduce((l,f)=>{if(f.id.originalB&&(c=f.id),f.type==="AssignmentExpression")return l.concat(a(f.left,f.right));let p=this.transformNode(f.init);if(f.id instanceof $t){let m=this.$serial(f);return l.concat(this.$var("let",m,f.id,p))}this.transformSignal(f.id,"update",this.currentEntry.signals);let g=[];return f.restOf&&(p=this.$typed(f.init.typed,p),g.push(this.$obj({restOf:f.restOf,type:d.literal(f.init.typed==="iterable"?"array":"object")}))),l.concat(this.$update(f.id,p,...g))},[]);return r?u:d.sequenceExpr(u.concat(c))}n=this.transformNode(n),this.transformSignal(s,"update",this.currentEntry.signals);let o=this.currentScope.getRandomIdentifier("$current",!1);return this.$call("update",d.literal(s),this.$closure([o],d.assignmentExpr(o,n,t.operator.replace("====",""))))}transformAssignmentPattern(t){let{left:i,right:r}=t;return r=this.transformNode(r),["MemberExpression","ChainExpression"].includes(i.type)?i=this.transformNode(i,{static:!0}):i=this.transformSignal(i,this.currentEntry.mode,this.currentEntry.signals),d.assignmentPattern(i,r)}expandPattern(t,i,r=!0){let s=[],n=this;if(!["Identifier","Literal"].includes(i.type)&&r){let a=d.withLoc(n.currentScope.getRandomIdentifier("$rand",!1),i);a.originalB=!0,i.typed=t.type==="ObjectPattern"?"desctructurable":"iterable",s.push(d.withLoc(d.varDeclarator(a,i),i)),i=a}return function a(o,c,u){c.typed=u?"desctructurable":"iterable";let l=[];for(let f=0;f<o.length;f++){let p=o[f],g=f,m=p;if(p===null){l.push(f);continue}if(p.type==="RestElement"){let b=d.withLoc(d.varDeclarator(p.argument,c),p);b.restOf=l.map(w=>d.literal(w)),s.push(b);continue}u?{key:g,value:m}=p:g=d.literal(g);let S,E;m.type==="AssignmentPattern"?(S=m.right,m.left.type==="Identifier"?E=m.left:m=m.left):m.type==="Identifier"&&(E=m);let y=d.memberExpr(c,g,u?p.computed:!0);if(S&&(y=d.logicalExpr("||",y,S)),E)s.push(d.withLoc(d.varDeclarator(E,y),p)),l.push(g);else if(m.type==="MemberExpression"||m.type==="ChainExpression"&&(m=m.expression))s.push(d.withLoc(d.assignmentExpr(m,y),p));else if(m.elements||m.properties){let b=(m.properties?m.properties:m.elements).length>1;if(r&&b){let w=n.currentScope.getRandomIdentifier("$rand",!1);s.push(d.withLoc(d.varDeclarator(w,y),p)),y=w}a(m.elements||m.properties,y,m.properties&&!0)}}}(t.elements||t.properties,i,t.properties&&!0),s}transformUpdateExpression(t){if(t.argument.type==="Identifier"){this.transformSignal(t.argument,"update",this.currentEntry.signals);let i=this.currentScope.getRandomIdentifier("$current",!1),r=d.binaryExpr(t.operator==="--"?"-":"+",i,d.literal(1),!0),s=(t.prefix?"pre":"post")+(t.operator==="--"?"dec":"inc");return this.$call("update",d.literal(t.argument.name),this.$closure([i],r),this.$obj({kind:d.literal(s)}))}return d.updateExpr(t.operator,this.transformNode(t.argument),t.prefix)}transformUnaryExpression(t){return t.operator==="typeof"&&t.argument.type==="Identifier"&&(t.argument.hint="isTypeCheck"),d.unaryExpr(t.operator,this.transformNode(t.argument))}transformIfStatement(t){let i=this.$serial(t),{test:r,consequent:s,alternate:n}=t;r=this.transformNode(t.test),s=this.pushScope(t,()=>this.transformNodes(s.type==="BlockStatement"?s.body:[s])),n&&(n=[].concat(this.transformNode(n))[0]);let a=d.ifStmt(r,d.blockStmt(s),n);return this.$autorun("block",{static:d.identifier(this.currentEntry.static)},i,d.blockStmt([a]))}transformSwitchStatement(t){let i=this.$serial(t);return this.pushScope(t,()=>{let r=this.transformNode(t.discriminant),s=t.cases.map(a=>{let o=this.transformNode(a.test),c=this.transformNodes(a.consequent);return d.switchCase(o,c)}),n=d.switchStmt(r,s);return this.$autorun("switch",{static:d.identifier(this.currentEntry.static)},i,d.blockStmt([n]))})}transformTryStatement(t){return this.pushScope(t,()=>{let i=this.$serial(t),{block:r,handler:s,finalizer:n}=t,a=this.transformNodes(r.body),o={};if(s){let{start:c,end:u}=s,l=d.arrowFuncExpr(null,[s.param],s.body);o.handler=this.transformNode({...l,isHandler:!0,start:c,end:u},{static:!0})}if(n){let{start:c,end:u}=n,l=d.arrowFuncExpr(null,[],n.body);o.finalizer=this.transformNode({...l,isFinalizer:!0,start:c,end:u},{static:!0})}return this.$autorun("block",o,i,d.blockStmt(a))})}transformWhileStatement(t){return this.transformLoopStmtA(d.whileStmt,...arguments)}transformDoWhileStatement(t){return this.transformLoopStmtA(d.doWhileStmt,...arguments)}transformForStatement(t){return this.transformLoopStmtA(d.forStmt,...arguments)}transformLoopStmtA(t,i){let r=i.type==="WhileStatement"?"while":i.type==="DoWhileStatement"?"do-while":"for",s=this.$serial(i);return this.pushScope(i,()=>{let n=this.currentScope.get$qIdentifier("$q"),a,o={kind:d.literal(r),label:this.currentEntry.parentNode?.label?d.literal(this.currentEntry.parentNode.label.name):d.identifier("null"),static:d.identifier(this.currentEntry.static)};if(r==="for"){let u=d.blockStmt([].concat(this.transformNode(i.init)||[]));o.init=this.$closure([n],u);let l=this.transformNode(i.test);o.test=this.$closure([n],l);let f=this.transformNode(i.update);o.advance=this.$closure([n],f),a=p=>t.call(d,u,l,f,p)}else{let u=this.transformNode(i.test);o.test=this.$closure([n],u),a=l=>t.call(d,u,l)}let c=d.blockStmt(this.transformNodes(i.body.type==="BlockStatement"?i.body.body:[i.body]));return this.$autorun("iteration",o,s,c)})}transformForOfStatement(t){return this.transformLoopStmtB(d.forOfStmt,...arguments)}transformForInStatement(t){return this.transformLoopStmtB(d.forInStmt,...arguments)}transformLoopStmtB(t,i){let r=i.type==="ForInStatement"?"for-in":"for-of",s=this.$serial(i),n=this.transformNode(i.right);return this.pushScope(i,()=>{let a=this.currentScope.get$qIdentifier("$q"),o=this.currentScope.get$qIdentifier(r==="for-of"?"$val":"$key",!1),c={kind:d.literal(r),label:this.currentEntry.parentNode?.label?d.literal(this.currentEntry.parentNode.label.name):d.identifier("null"),parameters:this.$closure([a],d.arrayExpr([d.literal(o),n])),static:d.identifier(this.currentEntry.static)},u;if(i.left.type==="VariableDeclaration"){let f=d.withLoc(d.varDeclarator(i.left.declarations[0].id,o),i.left);u=d.varDeclaration(i.left.kind,[f])}else u=d.withLoc(d.assignmentExpr(i.left,o),i.left);let l=d.blockStmt(this.transformNodes([u].concat(i.body.type==="BlockStatement"?i.body.body:i.body)));return this.$autorun("iteration",c,s,l)})}transformBreakStatement(t){return this.transformExitStmt(d.breakStmt,...arguments)}transformContinueStatement(t){return this.transformExitStmt(d.continueStmt,...arguments)}transformExitStmt(t,i){let r=i.type==="BreakStatement"?"break":"continue",s=d.literal(r),n=i.label?d.literal(i.label.name):d.identifier("null");return this.hoistExitStatement(s,n),this.currentEntry.parentNode?.type==="SwitchStatement"?t.call(d):d.exprStmt(this.$call(r,n))}transformReturnStatement(t){let i=new Set,r=this.transformNode(t.argument,{refs:i}),s=d.literal("return"),n=r?[s,r]:[s];this.hoistExitStatement(...n);let a=this.$call("return",...n.slice(1));if(!i.size)return d.exprStmt(a);let o=this.$serial(t);return this.$autorun("return",o,a)}transformBlockStatement(t){let i=this.$serial(t);if(t instanceof de){let r=this.transformNodes(t.body,{static:!1});return this.$autorun("downstream",i,d.blockStmt(r))}return this.pushScope(t,()=>{let r=d.blockStmt(this.transformNodes(t.body));return this.$autorun("block",{static:d.identifier(this.currentEntry.static)},i,r)})}transformLabeledStatement(t){this.currentScope.push(t.label,"const");let i=[].concat(this.transformNode(t.body));return[d.labeledStmt(t.label,i.shift()),...i]}transformExpressionStatement(t){let i=this.$serial(t),r=this.transformNode(t.expression);return[].concat(r||[]).reduce((n,a)=>a.type==="VariableDeclaration"||a.type.endsWith("Statement")?n.concat(a):n.concat(this.$autorun("stmt",{static:d.identifier(this.currentEntry.static)},i,a)),[])}transformAwaitExpression(t){this.hoistAwaitKeyword();let i=this.transformNode(t.argument);return d.awaitExpr(i)}transformSequenceExpression(t){let i=t.expressions.reduce((r,s,n)=>r.concat(this.transformNode(s,{trail:n===t.expressions.length-1?this.currentEntry.trail:void 0})),[]);return this.history[1].node.type==="ExpressionStatement"?i:d.sequenceExpr(i)}transformConditionalExpression(t){let{test:i,consequent:r,alternate:s}=t;return i=this.transformNode(i),r=this.transformNode(r,{trail:this.currentEntry.trail}),s=this.transformNode(s,{trail:this.currentEntry.trail}),d.conditionalExpr(i,r,s)}transformLogicalExpression(t){let{left:i,right:r}=t;return i=this.transformNode(i,{trail:this.currentEntry.trail}),r=this.transformNode(r,{trail:this.currentEntry.trail}),d.logicalExpr(t.operator,i,r)}transformBinaryExpression(t){let{left:i,right:r}=t;i=this.transformNode(i),r=this.transformNode(r);let s=d.binaryExpr(t.operator,i,r);return this.currentEntry.trail?this.$call("obj",s,...this.$trail()):s}transformCallExpression(t){return this.transformCallExpr(d.callExpr,...arguments)}transformNewExpression(t){return this.transformCallExpr(d.newExpr,...arguments)}transformCallExpr(t,i){let r=this.transformNode(i.callee,{mode:"callee"}),s=i.arguments.map(a=>this.transformNode(a)),n=t.call(d,r,s,i.optional);return this.currentEntry.trail?this.$call("obj",n,...this.$trail()):n}transformObjectExpression(t){let i=d.objectExpr(t.properties.map(r=>this.transformNode(r)));return this.currentEntry.trail?this.$call("obj",i,...this.$trail()):i}transformProperty(t){let{key:i,value:r}=t;return t.computed&&(i=this.transformNode(i)),r=this.transformNode(r),d.property(i,r,t.kind,!1,t.computed,!1)}transformArrayExpression(t){let i=d.arrayExpr(t.elements.map(r=>this.transformNode(r)));return this.currentEntry.trail?this.$call("obj",i,...this.$trail()):i}transformTaggedTemplateExpression(t){let[i,r]=this.transformNodes([t.tag,t.quasi]),s=d.taggedTemplateExpr(i,r);return this.currentEntry.trail?this.$call("obj",s,...this.$trail()):s}transformTemplateLiteral(t){let i=t.expressions.map(s=>this.transformNode(s)),r=d.templateLiteral(t.quasis,i);return this.currentEntry.trail?this.$call("obj",r,...this.$trail()):r}};var $s=new Map;function Ls(e,t={}){let i=`${e}${JSON.stringify(t)}`,r=$s.get(i);if(!r){try{r=Es.parse(e,t)}catch(s){let n=`${s.message||s}`,{pos:a,loc:{line:o,column:c}={}}=s,l=[{expr:e.slice(Math.max(0,a-15),a+15),line:o,column:c},{source:e}];throw t.inBrowser&&console.error(l),new(globalThis[s.name]||Error)(n,{cause:l})}$s.set(i,r)}return r}function Rs(e,t={}){return new je(t).transform(e)}function me(...e){let t,i={runtimeParams:va,compilerParams:wa,parserParams:ba};for(;t=e.shift();){let{runtimeParams:r={},compilerParams:{globalsNoObserve:s=[],globalsOnlyPathsExcept:n=[],...a}={},parserParams:o={}}=t;i={runtimeParams:{...i.runtimeParams,...r},compilerParams:{...i.compilerParams,globalsNoObserve:[...i.compilerParams.globalsNoObserve,...s],globalsOnlyPathsExcept:[...i.compilerParams.globalsOnlyPathsExcept,...n],...a},parserParams:{...i.parserParams,...o}},e.devMode}return i}var ba={ecmaVersion:"latest",allowReturnOutsideFunction:!0,allowAwaitOutsideFunction:!1,allowSuperOutsideMethod:!1,preserveParens:!1,locations:!0},wa={globalsNoObserve:["arguments","debugger"],globalsOnlyPathsExcept:[],originalSource:!0,locations:!0,compact:2},va={apiVersion:3};var Be=Object.create(null);var Gt=class extends EventTarget{managedAlways=new Set;managedOnce=new Set;constructor(){super(),Vr.setMaxListeners?.(0,this)}fire(t){return this.dispatchEvent(new Event(t,{cancelable:!0}))}on(...t){return this.addEventListener(...t),()=>this.removeEventListener(...t)}abort(t=!1){this.managedAlways.forEach(i=>i.abort?i.abort(t):i(t)),this.managedOnce.forEach(i=>i.abort?i.abort(t):i(t)),this.managedOnce.clear(),this.fire("abort")}manage(t){this.managedAlways.add(t)}once(t){this.managedOnce.add(t)}};var Xt=class extends Gt{subscribers=new Set;signals=new Map;constructor(t,i,r){super(),this.context=t,this.context?.once(()=>this.abort()),this.once(()=>this.watchMode(!1)),this.type=i,this.state=r}get name(){return[...this.context?.signals.keys()||[]].find(t=>this.context.signals.get(t)===this)}signal(t,i="prop"){let r=this.signals.get(t);return r||(r=new Xt(this,i,i==="object"?t:Hi(this.state)?R.get(this.state,t):void 0),this.signals.set(t,r),this.signals.size===1&&this.watchMode(),r.once(()=>{this.signals.delete(t),this.signals.size||this.watchMode(!1)})),r}subscribe(t){this.subscribers.add(t),t.once(()=>{this.subscribers.delete(t),this.subscribers.size||this.abort()})}watchMode(t=!0){this.mutationsWatch?.abort(),!(!t||!this.signals.size||!Hi(this.state))&&(this.mutationsWatch=R.observe(this.state,i=>{let r={map:new Map,add(n,a){for(let o of n)o.spec.beforeSchedule?.(a)!==!1&&(this.map.has(o.runtime)||this.map.set(o.runtime,new Set),this.map.get(o.runtime).add(o))}};for(let n of i){let a=this.signals.get(n.key);!a||(r.add(a.subscribers,n),a.refresh(n.value))}let s=r.map.size?[...r.map].sort((n,a)=>n.$serial>a.$serial?-1:1):r.map;for(let[n,a]of s)n.state!=="aborted"&&n.schedule(...a)},{recursions:"force-sync"}))}refresh(t){this.state=t;for(let[i,r]of this.signals)r.refresh(R.get(this.state??{},i));this.watchMode()}};var et=class extends Xt{symbols=new Map;constructor(t,i,r=void 0){super(t,i,r||Object.create(null))}};var St=class extends Gt{state;constructor(t,i,r,s,n,a){super(),t?.once(this),this.context=t,this.type=i,this.spec=r||{},this.scope=n,t?.scope!==n&&this.manage(n),this.serial=s,a&&(this.closure=a),t?.type==="iteration"?this.path=t.path.concat(this.spec.index):t?.type==="round"?this.path=t.path.concat(this.serial):this.path=(t?.path||[]).slice(0,-1).concat(this.serial),this.flowControl=new Map}get runtime(){return this.context.runtime}contains(t){return this===t.context||t.context&&this.contains(t.context)}order(t){if(!t)return this;let[i,r]=t.path.length<this.path.length?[t,this]:[this,t];return i.path.reduce((s,n,a)=>s&&n<=r.path[a],!0)&&i||r}beforeExecute(){this.state="running";let t=this.flowControl;return this.flowControl=new Map,t}execute(t=null){return this.runtime.thread.unshift(this),at(this.beforeExecute(),i=>Bi(this.closure,this,this,(r,s)=>s?this.throw(s,[this.serial,this.context?.serial],s.code):(this.spec.complete&&(r=this.spec.complete(r,this)),this.afterExecute(i),this.runtime.thread.shift(),t?t(r,this):r)))}throw(t,i,r){if(this.type==="function"&&["HandlerFunction","FinalizerFunction"].includes(this.$params.executionMode))return this.$params.lexicalContext.throw(t,i,r);if(this.spec.handler)return this.spec.handler(t);if(this.type!=="function"&&this.context)return this.context.throw(t,i,r);if(t.cause)throw t;let s=`${t.message||t}`,n=r!==null?`[${r}]: ${s}`:s,a=i.map(l=>l!==-1&&this.extractSource(l,!0)).filter(l=>l);a.push({source:this.runtime.$params.originalSource});let o=globalThis[t.name],c=new(o||Error)(n,{cause:a}),u=this.runtime.$params.sourceType==="module"&&this.$params.experimentalFeatures!==!1&&this.$params.exportNamespace||this.$params.fileName;throw u&&(c.fileName=u),r&&(c.code=r),c}afterExecute(t){this.state="complete";let i=this.flowControl;this.spec.finalizer&&this.spec.finalizer(),this.handleDownstream(i.size,t.size),this.handleRightstream(i.size,t.size);for(let r of["break","continue","return"])i.has(r)&&!i.get(r).endpoint?this.hoistFlowControl(r,i.get(r).arg):t.has(r)&&!t.get(r).endpoint&&this.hoistFlowControl(r,t.get(r).arg,!0)}typed(t,i,r=void 0){let s=Array.isArray(i)?"array":i===null?"null":typeof i;if(s===t||t==="iterable"&&i?.[Symbol.iterator]||t==="desctructurable"&&!["undefined","null"].includes(s))return i;throw t==="iterable"?new Error("value is not iterable."):t==="desctructurable"?new Error((r?`Cannot access ${r}; `:"")+"object not desctructurable."):new Error(`value must be of type ${t}.`)}let(t,i,r,s={}){return this.var(t,i,r,{...s,kind:"let"})}const(t,i,r,s={}){return this.var(t,i,r,{...s,kind:"const"})}var(t,i,r,s={}){s={kind:"var",...s},r||(r=()=>{});let n=s.restOf?(...o)=>{try{return r(...o)}catch(c){throw new Error(`Cannot declare ${t}; ${c.message}`)}}:r,a=(o,c)=>{let u=c.scope;if(s.kind==="var")for(;!["module","function"].includes(u.type)&&!R.has(u.state,t)&&u.context;)u=u.context;else u.type==="this"&&u.context&&(u=u.context);let l=u.symbols.get(t);if(l&&(l.kind!==s.kind||s.kind==="let"&&l.serial!==i))throw new Error(`Identifier "${t}" has already been declared.`);l?.reader?.abort(),l={serial:i,kind:s.kind};let f=o;return s.restOf&&(s.type==="array"?f=[]:f={},l.reader=R.map(o,f,{except:s.restOf,spread:s.type==="array"}),c.once(l.reader)),u.symbols.set(t,l),R.set(u.state,t,f),f};return this.autorun(s.kind,{complete:a,...s},i,n)}update(t,i,r={}){let s=this.scope;for(;s&&!R.has(s.state,t);)s=s.context;if(!s)throw new ReferenceError(`${t} is not defined.`);let n=s.symbols.get(t);if(n?.kind==="const")throw new ReferenceError(`Assignment to constant variable "${t}".`);let a=R.get(s.state,t),o=r.restOf?(...c)=>{try{return i(...c)}catch(u){throw new Error(`Cannot update ${t}; ${u.message}`)}}:i;return Bi(o,void 0,a,(c,u)=>{if(u)return this.throw(u,[this.serial]);n?.reader?.abort();let l=c;return r.restOf&&(n=n||{},r.type==="array"?l=[]:l={},n.reader=R.map(c,l,{except:r.restOf,spread:r.type==="array"}),this.once(n.reader)),R.set(s.state,t,l),["postinc","postdec"].includes(r.kind)?a:l})}ref(t,...i){let r=0,s={};typeof i[0]=="number"?(r=i.shift(),s=i.shift()||{}):typeof i[0]=="object"&&(s=i.shift());let n=this.scope;for(;n&&!R.has(n.state,t);)n=n.context;if(!n){if(s.isTypeCheck)return;throw new Error(`${t} is not defined.`)}let a=n.symbols.get(t)?.kind,o=n.signal(t,a);return s.typed&&this.typed(s.typed,o.state,t),this.autobind(o,r,s)}obj(t,...i){let r=0,s={};return typeof i[0]=="number"?(r=i.shift(),s=i.shift()||{}):typeof i[0]=="object"&&(s=i.shift()),this.autobind(this.runtime.$objects.signal(t,"object"),r,s)}autobind(t,i,r){let s=["QuantumProgram","QuantumFunction"].includes(this.runtime.$params.executionMode),n=t.type==="const",a=this===this.runtime,o=this.state==="aborted",c=this.spec.static,u=this;return function l(f,p={},g){if(s&&!c&&!n&&!a&&!o&&f.subscribe(u),!g||!f.state||typeof f.state!="object"){let S=f.state;return typeof f.state=="function"&&!/^class\s?/.test(Function.prototype.toString.call(f.state))&&(S=R.proxy(f.state,{...p,membrane:f})),S}let m;return R.proxy(f.state,p,S=>({...S,get(E,y,b=null){if(m)return S.get(E,y,b);m=!0;let w={...p};return Array.isArray(E)&&(w.arrayMethodName=y),l(f.signal(y),w,g-1)}}))}(t,{},i)}autorun(t,...i){let r=i.pop(),s=i.pop(),n=i.pop()||{},a=St,o=this.scope;if(t==="iteration"){let u=this.runtime.constructor;a=r.constructor.name==="AsyncFunction"?u.AutoAsyncIterator:u.AutoIterator}["block","switch","iteration"].includes(t)&&(o=new et(o,t));let c=new a(this,t,n,s,o,r);if(t==="downstream"){if(this.downstream=c,this.flowControlApplied())return}else if(this.type==="switch"&&this.breakpoint)return;return c.execute()}function(t,i,r,s){i==="Declaration"&&R.set(this.scope.state,s.name,s);let n=this;return Object.defineProperty(s,"toString",{value:function(a=!1){if(a&&t==="QuantumFunction")return Function.prototype.toString.call(s);let o=n.runtime.extractSource(r);return o.startsWith("static ")?o.replace("static ",""):o}}),s}class(t,i,r){return t==="Declaration"&&R.set(this.scope.state,i.name,i),r.forEach(({name:s,isQuantumFunction:n,static:a,serial:o})=>{this.function(n&&"QuantumFunction"||"RegularFunction","Expression",o,a?i[s]:i.prototype[s])}),i}async import(...t){return this.runtime.import(...t)}async export(...t){return this.runtime.export(...t)}continue(t){return this.applyFlowControl("continue",t)}break(t){return this.applyFlowControl("break",t)}return(t){return this.applyFlowControl("return",t)}applyFlowControl(t,i,r=!1){let s=this.flowControl.size;if(r?this.flowControl.delete(t):this.flowControl.set(t,{arg:i}),this.type==="round"&&(this.context.breakpoint=this),this.type==="round"&&["break","continue"].includes(t)&&i===this.context?.spec.label){r||(this.flowControl.get(t).endpoint=!0),this.state!=="running"&&this.handleRightstream(this.flowControl.size,s);return}if(this.context?.type==="switch"&&t==="break"&&!i){r||(this.flowControl.get(t).endpoint=!0),this.context.breakpoint=this;return}this.state!=="running"&&(this.handleDownstream(this.flowControl.size,s),this.hoistFlowControl(...arguments))}hoistFlowControl(...t){return this.context?.applyFlowControl(...t)}flowControlApplied(t,i){return arguments.length?arguments.length===1?this.flowControl.has(t):this.flowControl.get(t)?.arg===i:this.flowControl.size||!1}handleDownstream(t,i){let r;!["block"].includes(this.type)||!(r=this.context?.downstream)||(t?r.abort():i&&(r.state="resuming",this.runtime.schedule(r)))}handleRightstream(t,i){if(this.type!=="round")return;let r=this,s=new Set;for(;r=r.nextRound;)t?r.abort():i&&r.state!=="inert"&&(r.state="resuming",s.add(r));s.size&&this.runtime.schedule(...s),!t&&i&&this.runtime.on("reflection",()=>{this.context.iterating||this.context.iterate()},{once:!0})}abort(t=!1){return t&&(this.context?.breakpoint===this&&delete this.context.breakpoint,this.flowControl.clear()),this.state=t?"inert":"aborted",super.abort(t)}};var Kt=class extends St{rounds=new Map;constructor(t,i,r,s,n,a){r.$closure=a,super(t,i,r,s,n),this.manage(()=>{delete this.breakpoint,this.rounds.clear()})}pseudorun(t){return this.runtime.iThread.unshift(this),at(t(),i=>(this.runtime.iThread.pop(),i))}createIterator(){return this.spec.kind==="for-in"?function*(){for(let t in this.iteratee)yield t}.call(this):this.spec.kind==="for-of"?function*(){for(let t of this.iteratee)yield t}.call(this):{next:()=>({done:!this.pseudorun(()=>this.spec.test(this))})}}closure(){["for-of","for-in"].includes(this.spec.kind)?([this.production,this.iteratee]=this.spec.parameters(this),this.iterator=this.createIterator(),this.iterator.original=!0,this.watchMode()):(this.spec.kind==="for"&&this.spec.init(this),this.iterator=this.createIterator()),this.iterate()}terminated(){return this.breakpoint&&!this.breakpoint.flowControlApplied("continue",this.spec.label)&&this.breakpoint.flowControlApplied()}advance(){this.spec.kind==="for"&&this.pseudorun(()=>this.spec.advance(this))}iterate(){this.iterating=!0;let t=()=>!this.terminated()&&!(this.cursor=this.iterator.next()).done,i=()=>{this.createRound(this.cursor.value).execute(),this.advance()};if(this.spec.kind==="do-while")do i();while(t());else for(;t();)i();this.iterating=!1}createRound(t){let i=this.rounds.size,r={index:i},s=["for-in","for-of"].includes(this.spec.kind)?{[this.production]:t}:{...this.scope.state},n=new et(this.scope,"round",s);this.scope.symbols.forEach((c,u)=>{n.symbols.set(u,c)});let a=new St(this,"round",r,this.serial,n,this.spec.$closure),o=this.spec.kind==="for-in"?t:i;return this.rounds.set(o,a),this.lastRound&&(this.lastRound.nextRound=a,a.prevRound=this.lastRound),this.lastRound=a,a}watchMode(){if(this.spec.static)return;let t=(i,r)=>{let s=new Set,n=new Set;for(let a of i){if(Array.isArray(this.iteratee)&&a.key==="length")continue;let o=this.spec.kind==="for-in"?a.key:a.value,c=this.spec.kind==="for-in"?a.key:parseInt(a.key),u=this.rounds.get(c);if(u)R.set(u.scope.state,this.production,o),a.type==="delete"&&(this.rounds.set(c,void 0),u.prevRound&&(u.prevRound.nextRound=u.nextRound),u.nextRound&&(u.nextRound.prevRound=u.prevRound),s.add(u));else if(a.type!=="delete"&&!a.isUpdate){if(this.spec.kind==="for-of"&&this.iterator.original&&!r.done)continue;n.add(o)}}this.runtime.on("reflection",()=>{s.forEach(a=>a.abort(!0))},{once:!0}),n.size&&(this.iterator=function*(a){yield*a,yield*n}(this.iterator),r.done&&this.iterate())};this.once(R.observe(this.iteratee,i=>{at(this.cursor,r=>t(i,r))}))}};var He=class extends Kt{async createIterator(){return this.spec.kind==="for-in"?function*(){for(let t in this.iteratee)yield t}.call(this):this.spec.kind==="for-of"?function*(){for(let t of this.iteratee)yield t}.call(this):{next:async()=>({done:!await this.pseudorun(()=>this.spec.test(this))})}}async closure(){["for-of","for-in"].includes(this.spec.kind)?([this.production,this.iteratee]=await this.spec.parameters(this),this.iterator=await this.createIterator(),this.iterator.original=!0,this.watchMode()):(this.spec.kind==="for"&&await this.spec.init(this),this.iterator=await this.createIterator()),await this.iterate()}async iterate(){let t;this.iterating=!0;let i=async()=>!this.terminated()&&(this.cursor=this.iterator.next())&&(t=await this.cursor)&&!t.done,r=async()=>{await this.createRound(t.value).execute(),await this.advance()};if(this.spec.kind==="do-while")do await r();while(await i());else for(;await i();)await r();this.iterating=!1}};var Yt=class{constructor(t){Object.defineProperty(this,"runtime",{value:t});let i={statechange:()=>{R.defineProperty(this,"value",{value:t.flowControl.get("return")?.arg,enumerable:!0,configurable:!0})}};for(let r in i)t.on(r,i[r]),i[r]();t.$params.sourceType==="module"&&Object.defineProperty(this,"exports",{value:t.exports})}dispose(){return this.runtime.abort(!0)}};var Jt=class extends St{locations=[];queue=new Set;thread=[];iThread=[];constructor(t,i,r,s,n){let{$serial:a=0,spec:o,...c}=r;super(t,i,o,-1,s,n),this.$serial=a,this.$params=c,this.$objects=new et(void 0,"objects"),this.manage(this.$objects),this.exports=Object.create(null),this.$promises={imports:[],exports:[]},this.manage(()=>{R.deleteProperties(this.exports,Object.keys(this.exports)),this.$promises.imports.splice(0),this.$promises.exports.splice(0)})}extractSource(t,i=!1){let[[r,s,n],[a]]=this.locations[t],o=this.$params.originalSource.slice(r,a);return i?{expr:o,line:s,column:n}:o}get runtime(){return this}get nowRunning(){return this.thread[0]}schedule(...t){let i=this.queue.size;for(let r of t)this.queue.add(r);if(!i)return this.flowControlDirty=!1,function r(s,n){let a;for(let o of this.queue){if(n&&n.order(o)!==n||["aborted","running"].includes(o.state)||this.iThread[0]?.contains(o)){this.queue.delete(o);continue}a=a?a.order(o):o,n||(n=a)}return a?(a.abort(),a.execute(o=>(this.queue.delete(a),r.call(this,o,a)))):(this.fire("reflection"),this.flowControlApplied()&&this.fire("statechange"),s)}.call(this,void 0,this.nowRunning)}execute(t=null){return super.execute(i=>{let s=["QuantumProgram","QuantumFunction"].includes(this.$params.executionMode)?new Yt(this):this.flowControl.get("return")?.arg;return t?t(s,this):s})}spawn(t,i,r,s=null){let n=this.nowRunning||s||this,a={...this.$params,$serial:this.$serial+1,executionMode:t,lexicalContext:s},o=new et(n.scope,"function",{this:i});return new this.constructor(n,"function",a,o,r).execute()}async import(...t){let i=t.pop(),r=typeof i=="string"?{source:i}:i,s=a=>{if(r.forExport||r.isDynamic)return a;this.assignModules(t,this.scope.state,a,i.serial)};if(this.$params.experimentalFeatures!==!1&&Be[r.source])return s(Be[r.source]);let n=(async()=>{let a=this.$params.sourceType==="module"&&this.$params.experimentalFeatures!==!1&&this.$params.exportNamespace||this.$params.fileName;try{return s({...await import(r.source)})}catch(o){o.code==="ERR_MODULE_NOT_FOUND"?this.throw(new Error(`Cannot find module "${r.source}"${a?` imported at "${a}"`:""}.`),[r.serial],o.code):this.throw(o,[r.serial],o.code)}})();return r.isDynamic||this.$promises[r.forExport?"exports":"imports"].push(n),n}async export(...t){let i=Array.isArray(t[t.length-1])?null:t.pop(),r=i?await this.import({...i,forExport:!0}):this.scope.state;this.assignModules(t,this.exports,r,i?.serial)}assignModules(t,i,r,s=null){let n=[],a=["QuantumProgram","QuantumFunction"].includes(this.$params.executionMode);for(let[o,c,u]of t){if(o==="*"&&u){(a?R:Reflect).set(i,u,r);continue}R.has(r,o)||this.throw(new Error(`The requested module does not provide an export named "${o}".`),[c,s]),(a?R:Reflect).set(i,u||o,R.get(r,o)),n.push([o,c,u])}!n.length||!a||this.once(R.observe(r,o=>{for(let[c,,u]of n)for(let l of o)c==="*"?R.set(i,l.key,l.value):l.key===c&&R.set(i,u||c,l.value)}))}afterExecute(...t){return this.$params.sourceType==="module"&&this.$params.experimentalFeatures!==!1&&this.$params.exportNamespace&&(Be[this.$params.exportNamespace]=this.exports,this.once(()=>{delete Be[this.$params.exportNamespace]})),super.afterExecute(...t)}};G(Jt,"AutoAsyncIterator",He),G(Jt,"AutoIterator",Kt);function Ue(e,t,i,r){let{env:s,functionParams:n=[],exportNamespace:a,fileName:o}=r,{parserParams:c,compilerParams:u,runtimeParams:l}=me(r),f=Object.getOwnPropertyDescriptor(globalThis,"window")?.get?.toString().includes("[native code]")??!1,p=["async-script","module"].includes(e);if(e==="module")c.sourceType=e,c.allowAwaitOutsideFunction=!0;else if(["function","async-function"].includes(e)){let m=" "+i.split(`
|
|
12
12
|
`).join(`
|
|
13
13
|
`);i=`return ${e==="async-function"?"async ":""}function**(${n.join(", ")}) {
|
|
14
14
|
${m}
|