spyret 0.2.0 → 0.3.0
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/README.md +11 -4
- package/dist/spyret-browser.amd.js +28 -28
- package/dist/spyret-browser.global.js +28 -28
- package/dist/spyret-browser.js +28 -28
- package/dist/spyret-browser.mjs +26 -26
- package/dist/spyret.global.js +10 -10
- package/dist/spyret.js +10 -10
- package/dist/spyret.mjs +9 -9
- package/dist/spyret.pyret.js +29 -29
- package/docs/BROWSER_LIBRARY.md +9 -4
- package/docs/RELEASING.md +45 -6
- package/docs/SPYTIAL_HOOKS.md +8 -10
- package/docs/SPYTIAL_LANGUAGE.md +194 -0
- package/docs/SPYTIAL_RULES_REFERENCE.md +23 -21
- package/package.json +1 -1
- package/pyret/spytial.arr +82 -392
package/dist/spyret-browser.mjs
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
var Jp=Object.create;var Rn=Object.defineProperty;var Wp=Object.getOwnPropertyDescriptor;var Qp=Object.getOwnPropertyNames;var Zp=Object.getPrototypeOf,Xp=Object.prototype.hasOwnProperty;var jn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var f=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var ed=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Qp(r))!Xp.call(e,i)&&i!==t&&Rn(e,i,{get:()=>r[i],enumerable:!(n=Wp(r,i))||n.enumerable});return e};var Mn=(e,r,t)=>(t=e!=null?Jp(Zp(e)):{},ed(r||!e||!e.__esModule?Rn(t,"default",{value:e,enumerable:!0}):t,e));var ki=f((N_,Ii)=>{"use strict";function Sm(){this.__data__=[],this.size=0}Ii.exports=Sm});var vr=f((R_,qi)=>{"use strict";function Em(e,r){return e===r||e!==e&&r!==r}qi.exports=Em});var He=f((j_,_i)=>{"use strict";var Im=vr();function km(e,r){for(var t=e.length;t--;)if(Im(e[t][0],r))return t;return-1}_i.exports=km});var Ci=f((M_,Oi)=>{"use strict";var qm=He(),_m=Array.prototype,Om=_m.splice;function Cm(e){var r=this.__data__,t=qm(r,e);if(t<0)return!1;var n=r.length-1;return t==n?r.pop():Om.call(r,t,1),--this.size,!0}Oi.exports=Cm});var Ti=f((F_,Pi)=>{"use strict";var Pm=He();function Tm(e){var r=this.__data__,t=Pm(r,e);return t<0?void 0:r[t][1]}Pi.exports=Tm});var Ri=f((L_,Ni)=>{"use strict";var Nm=He();function Rm(e){return Nm(this.__data__,e)>-1}Ni.exports=Rm});var Mi=f((D_,ji)=>{"use strict";var jm=He();function Mm(e,r){var t=this.__data__,n=jm(t,e);return n<0?(++this.size,t.push([e,r])):t[n][1]=r,this}ji.exports=Mm});var Ge=f(($_,Fi)=>{"use strict";var Fm=ki(),Lm=Ci(),Dm=Ti(),$m=Ri(),Bm=Mi();function qe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}qe.prototype.clear=Fm;qe.prototype.delete=Lm;qe.prototype.get=Dm;qe.prototype.has=$m;qe.prototype.set=Bm;Fi.exports=qe});var Di=f((B_,Li)=>{"use strict";var Vm=Ge();function Um(){this.__data__=new Vm,this.size=0}Li.exports=Um});var Bi=f((V_,$i)=>{"use strict";function Hm(e){var r=this.__data__,t=r.delete(e);return this.size=r.size,t}$i.exports=Hm});var Ui=f((U_,Vi)=>{"use strict";function Gm(e){return this.__data__.get(e)}Vi.exports=Gm});var Gi=f((H_,Hi)=>{"use strict";function Km(e){return this.__data__.has(e)}Hi.exports=Km});var St=f((G_,Ki)=>{"use strict";var zm=typeof global=="object"&&global&&global.Object===Object&&global;Ki.exports=zm});var K=f((K_,zi)=>{"use strict";var Ym=St(),Jm=typeof self=="object"&&self&&self.Object===Object&&self,Wm=Ym||Jm||Function("return this")();zi.exports=Wm});var ge=f((z_,Yi)=>{"use strict";var Qm=K(),Zm=Qm.Symbol;Yi.exports=Zm});var Zi=f((Y_,Qi)=>{"use strict";var Ji=ge(),Wi=Object.prototype,Xm=Wi.hasOwnProperty,eh=Wi.toString,Ke=Ji?Ji.toStringTag:void 0;function rh(e){var r=Xm.call(e,Ke),t=e[Ke];try{e[Ke]=void 0;var n=!0}catch{}var i=eh.call(e);return n&&(r?e[Ke]=t:delete e[Ke]),i}Qi.exports=rh});var eo=f((J_,Xi)=>{"use strict";var th=Object.prototype,nh=th.toString;function ih(e){return nh.call(e)}Xi.exports=ih});var be=f((W_,no)=>{"use strict";var ro=ge(),oh=Zi(),ah=eo(),sh="[object Null]",uh="[object Undefined]",to=ro?ro.toStringTag:void 0;function lh(e){return e==null?e===void 0?uh:sh:to&&to in Object(e)?oh(e):ah(e)}no.exports=lh});var le=f((Q_,io)=>{"use strict";function ch(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}io.exports=ch});var ze=f((Z_,oo)=>{"use strict";var fh=be(),ph=le(),dh="[object AsyncFunction]",yh="[object Function]",mh="[object GeneratorFunction]",hh="[object Proxy]";function gh(e){if(!ph(e))return!1;var r=fh(e);return r==yh||r==mh||r==dh||r==hh}oo.exports=gh});var so=f((X_,ao)=>{"use strict";var bh=K(),wh=bh["__core-js_shared__"];ao.exports=wh});var co=f((eO,lo)=>{"use strict";var Et=so(),uo=(function(){var e=/[^.]+$/.exec(Et&&Et.keys&&Et.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function vh(e){return!!uo&&uo in e}lo.exports=vh});var It=f((rO,fo)=>{"use strict";var xh=Function.prototype,Ah=xh.toString;function Sh(e){if(e!=null){try{return Ah.call(e)}catch{}try{return e+""}catch{}}return""}fo.exports=Sh});var yo=f((tO,po)=>{"use strict";var Eh=ze(),Ih=co(),kh=le(),qh=It(),_h=/[\\^$.*+?()[\]{}|]/g,Oh=/^\[object .+?Constructor\]$/,Ch=Function.prototype,Ph=Object.prototype,Th=Ch.toString,Nh=Ph.hasOwnProperty,Rh=RegExp("^"+Th.call(Nh).replace(_h,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function jh(e){if(!kh(e)||Ih(e))return!1;var r=Eh(e)?Rh:Oh;return r.test(qh(e))}po.exports=jh});var ho=f((nO,mo)=>{"use strict";function Mh(e,r){return e?.[r]}mo.exports=Mh});var ce=f((iO,go)=>{"use strict";var Fh=yo(),Lh=ho();function Dh(e,r){var t=Lh(e,r);return Fh(t)?t:void 0}go.exports=Dh});var xr=f((oO,bo)=>{"use strict";var $h=ce(),Bh=K(),Vh=$h(Bh,"Map");bo.exports=Vh});var Ye=f((aO,wo)=>{"use strict";var Uh=ce(),Hh=Uh(Object,"create");wo.exports=Hh});var Ao=f((sO,xo)=>{"use strict";var vo=Ye();function Gh(){this.__data__=vo?vo(null):{},this.size=0}xo.exports=Gh});var Eo=f((uO,So)=>{"use strict";function Kh(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}So.exports=Kh});var ko=f((lO,Io)=>{"use strict";var zh=Ye(),Yh="__lodash_hash_undefined__",Jh=Object.prototype,Wh=Jh.hasOwnProperty;function Qh(e){var r=this.__data__;if(zh){var t=r[e];return t===Yh?void 0:t}return Wh.call(r,e)?r[e]:void 0}Io.exports=Qh});var _o=f((cO,qo)=>{"use strict";var Zh=Ye(),Xh=Object.prototype,eg=Xh.hasOwnProperty;function rg(e){var r=this.__data__;return Zh?r[e]!==void 0:eg.call(r,e)}qo.exports=rg});var Co=f((fO,Oo)=>{"use strict";var tg=Ye(),ng="__lodash_hash_undefined__";function ig(e,r){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=tg&&r===void 0?ng:r,this}Oo.exports=ig});var To=f((pO,Po)=>{"use strict";var og=Ao(),ag=Eo(),sg=ko(),ug=_o(),lg=Co();function _e(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}_e.prototype.clear=og;_e.prototype.delete=ag;_e.prototype.get=sg;_e.prototype.has=ug;_e.prototype.set=lg;Po.exports=_e});var jo=f((dO,Ro)=>{"use strict";var No=To(),cg=Ge(),fg=xr();function pg(){this.size=0,this.__data__={hash:new No,map:new(fg||cg),string:new No}}Ro.exports=pg});var Fo=f((yO,Mo)=>{"use strict";function dg(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}Mo.exports=dg});var Je=f((mO,Lo)=>{"use strict";var yg=Fo();function mg(e,r){var t=e.__data__;return yg(r)?t[typeof r=="string"?"string":"hash"]:t.map}Lo.exports=mg});var $o=f((hO,Do)=>{"use strict";var hg=Je();function gg(e){var r=hg(this,e).delete(e);return this.size-=r?1:0,r}Do.exports=gg});var Vo=f((gO,Bo)=>{"use strict";var bg=Je();function wg(e){return bg(this,e).get(e)}Bo.exports=wg});var Ho=f((bO,Uo)=>{"use strict";var vg=Je();function xg(e){return vg(this,e).has(e)}Uo.exports=xg});var Ko=f((wO,Go)=>{"use strict";var Ag=Je();function Sg(e,r){var t=Ag(this,e),n=t.size;return t.set(e,r),this.size+=t.size==n?0:1,this}Go.exports=Sg});var Ar=f((vO,zo)=>{"use strict";var Eg=jo(),Ig=$o(),kg=Vo(),qg=Ho(),_g=Ko();function Oe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}Oe.prototype.clear=Eg;Oe.prototype.delete=Ig;Oe.prototype.get=kg;Oe.prototype.has=qg;Oe.prototype.set=_g;zo.exports=Oe});var Jo=f((xO,Yo)=>{"use strict";var Og=Ge(),Cg=xr(),Pg=Ar(),Tg=200;function Ng(e,r){var t=this.__data__;if(t instanceof Og){var n=t.__data__;if(!Cg||n.length<Tg-1)return n.push([e,r]),this.size=++t.size,this;t=this.__data__=new Pg(n)}return t.set(e,r),this.size=t.size,this}Yo.exports=Ng});var Sr=f((AO,Wo)=>{"use strict";var Rg=Ge(),jg=Di(),Mg=Bi(),Fg=Ui(),Lg=Gi(),Dg=Jo();function Ce(e){var r=this.__data__=new Rg(e);this.size=r.size}Ce.prototype.clear=jg;Ce.prototype.delete=Mg;Ce.prototype.get=Fg;Ce.prototype.has=Lg;Ce.prototype.set=Dg;Wo.exports=Ce});var Er=f((SO,Qo)=>{"use strict";function $g(e,r){for(var t=-1,n=e==null?0:e.length;++t<n&&r(e[t],t,e)!==!1;);return e}Qo.exports=$g});var kt=f((EO,Zo)=>{"use strict";var Bg=ce(),Vg=(function(){try{var e=Bg(Object,"defineProperty");return e({},"",{}),e}catch{}})();Zo.exports=Vg});var qt=f((IO,ea)=>{"use strict";var Xo=kt();function Ug(e,r,t){r=="__proto__"&&Xo?Xo(e,r,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[r]=t}ea.exports=Ug});var _t=f((kO,ra)=>{"use strict";var Hg=qt(),Gg=vr(),Kg=Object.prototype,zg=Kg.hasOwnProperty;function Yg(e,r,t){var n=e[r];(!(zg.call(e,r)&&Gg(n,t))||t===void 0&&!(r in e))&&Hg(e,r,t)}ra.exports=Yg});var We=f((qO,ta)=>{"use strict";var Jg=_t(),Wg=qt();function Qg(e,r,t,n){var i=!t;t||(t={});for(var o=-1,a=r.length;++o<a;){var s=r[o],u=n?n(t[s],e[s],s,t,e):void 0;u===void 0&&(u=e[s]),i?Wg(t,s,u):Jg(t,s,u)}return t}ta.exports=Qg});var ia=f((_O,na)=>{"use strict";function Zg(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n}na.exports=Zg});var Q=f((OO,oa)=>{"use strict";function Xg(e){return e!=null&&typeof e=="object"}oa.exports=Xg});var sa=f((CO,aa)=>{"use strict";var eb=be(),rb=Q(),tb="[object Arguments]";function nb(e){return rb(e)&&eb(e)==tb}aa.exports=nb});var Qe=f((PO,ca)=>{"use strict";var ua=sa(),ib=Q(),la=Object.prototype,ob=la.hasOwnProperty,ab=la.propertyIsEnumerable,sb=ua((function(){return arguments})())?ua:function(e){return ib(e)&&ob.call(e,"callee")&&!ab.call(e,"callee")};ca.exports=sb});var j=f((TO,fa)=>{"use strict";var ub=Array.isArray;fa.exports=ub});var da=f((NO,pa)=>{"use strict";function lb(){return!1}pa.exports=lb});var Te=f((Ze,Pe)=>{"use strict";var cb=K(),fb=da(),ha=typeof Ze=="object"&&Ze&&!Ze.nodeType&&Ze,ya=ha&&typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,pb=ya&&ya.exports===ha,ma=pb?cb.Buffer:void 0,db=ma?ma.isBuffer:void 0,yb=db||fb;Pe.exports=yb});var Ot=f((RO,ga)=>{"use strict";var mb=9007199254740991,hb=/^(?:0|[1-9]\d*)$/;function gb(e,r){var t=typeof e;return r=r??mb,!!r&&(t=="number"||t!="symbol"&&hb.test(e))&&e>-1&&e%1==0&&e<r}ga.exports=gb});var Ir=f((jO,ba)=>{"use strict";var bb=9007199254740991;function wb(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=bb}ba.exports=wb});var va=f((MO,wa)=>{"use strict";var vb=be(),xb=Ir(),Ab=Q(),Sb="[object Arguments]",Eb="[object Array]",Ib="[object Boolean]",kb="[object Date]",qb="[object Error]",_b="[object Function]",Ob="[object Map]",Cb="[object Number]",Pb="[object Object]",Tb="[object RegExp]",Nb="[object Set]",Rb="[object String]",jb="[object WeakMap]",Mb="[object ArrayBuffer]",Fb="[object DataView]",Lb="[object Float32Array]",Db="[object Float64Array]",$b="[object Int8Array]",Bb="[object Int16Array]",Vb="[object Int32Array]",Ub="[object Uint8Array]",Hb="[object Uint8ClampedArray]",Gb="[object Uint16Array]",Kb="[object Uint32Array]",C={};C[Lb]=C[Db]=C[$b]=C[Bb]=C[Vb]=C[Ub]=C[Hb]=C[Gb]=C[Kb]=!0;C[Sb]=C[Eb]=C[Mb]=C[Ib]=C[Fb]=C[kb]=C[qb]=C[_b]=C[Ob]=C[Cb]=C[Pb]=C[Tb]=C[Nb]=C[Rb]=C[jb]=!1;function zb(e){return Ab(e)&&xb(e.length)&&!!C[vb(e)]}wa.exports=zb});var kr=f((FO,xa)=>{"use strict";function Yb(e){return function(r){return e(r)}}xa.exports=Yb});var qr=f((Xe,Ne)=>{"use strict";var Jb=St(),Aa=typeof Xe=="object"&&Xe&&!Xe.nodeType&&Xe,er=Aa&&typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,Wb=er&&er.exports===Aa,Ct=Wb&&Jb.process,Qb=(function(){try{var e=er&&er.require&&er.require("util").types;return e||Ct&&Ct.binding&&Ct.binding("util")}catch{}})();Ne.exports=Qb});var rr=f((LO,Ia)=>{"use strict";var Zb=va(),Xb=kr(),Sa=qr(),Ea=Sa&&Sa.isTypedArray,ew=Ea?Xb(Ea):Zb;Ia.exports=ew});var Pt=f((DO,ka)=>{"use strict";var rw=ia(),tw=Qe(),nw=j(),iw=Te(),ow=Ot(),aw=rr(),sw=Object.prototype,uw=sw.hasOwnProperty;function lw(e,r){var t=nw(e),n=!t&&tw(e),i=!t&&!n&&iw(e),o=!t&&!n&&!i&&aw(e),a=t||n||i||o,s=a?rw(e.length,String):[],u=s.length;for(var l in e)(r||uw.call(e,l))&&!(a&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||ow(l,u)))&&s.push(l);return s}ka.exports=lw});var tr=f(($O,qa)=>{"use strict";var cw=Object.prototype;function fw(e){var r=e&&e.constructor,t=typeof r=="function"&&r.prototype||cw;return e===t}qa.exports=fw});var Tt=f((BO,_a)=>{"use strict";function pw(e,r){return function(t){return e(r(t))}}_a.exports=pw});var Ca=f((VO,Oa)=>{"use strict";var dw=Tt(),yw=dw(Object.keys,Object);Oa.exports=yw});var _r=f((UO,Pa)=>{"use strict";var mw=tr(),hw=Ca(),gw=Object.prototype,bw=gw.hasOwnProperty;function ww(e){if(!mw(e))return hw(e);var r=[];for(var t in Object(e))bw.call(e,t)&&t!="constructor"&&r.push(t);return r}Pa.exports=ww});var fe=f((HO,Ta)=>{"use strict";var vw=ze(),xw=Ir();function Aw(e){return e!=null&&xw(e.length)&&!vw(e)}Ta.exports=Aw});var pe=f((GO,Na)=>{"use strict";var Sw=Pt(),Ew=_r(),Iw=fe();function kw(e){return Iw(e)?Sw(e):Ew(e)}Na.exports=kw});var ja=f((KO,Ra)=>{"use strict";var qw=We(),_w=pe();function Ow(e,r){return e&&qw(r,_w(r),e)}Ra.exports=Ow});var Fa=f((zO,Ma)=>{"use strict";function Cw(e){var r=[];if(e!=null)for(var t in Object(e))r.push(t);return r}Ma.exports=Cw});var Da=f((YO,La)=>{"use strict";var Pw=le(),Tw=tr(),Nw=Fa(),Rw=Object.prototype,jw=Rw.hasOwnProperty;function Mw(e){if(!Pw(e))return Nw(e);var r=Tw(e),t=[];for(var n in e)n=="constructor"&&(r||!jw.call(e,n))||t.push(n);return t}La.exports=Mw});var Or=f((JO,$a)=>{"use strict";var Fw=Pt(),Lw=Da(),Dw=fe();function $w(e){return Dw(e)?Fw(e,!0):Lw(e)}$a.exports=$w});var Va=f((WO,Ba)=>{"use strict";var Bw=We(),Vw=Or();function Uw(e,r){return e&&Bw(r,Vw(r),e)}Ba.exports=Uw});var za=f((nr,Re)=>{"use strict";var Hw=K(),Ka=typeof nr=="object"&&nr&&!nr.nodeType&&nr,Ua=Ka&&typeof Re=="object"&&Re&&!Re.nodeType&&Re,Gw=Ua&&Ua.exports===Ka,Ha=Gw?Hw.Buffer:void 0,Ga=Ha?Ha.allocUnsafe:void 0;function Kw(e,r){if(r)return e.slice();var t=e.length,n=Ga?Ga(t):new e.constructor(t);return e.copy(n),n}Re.exports=Kw});var Ja=f((QO,Ya)=>{"use strict";function zw(e,r){var t=-1,n=e.length;for(r||(r=Array(n));++t<n;)r[t]=e[t];return r}Ya.exports=zw});var Nt=f((ZO,Wa)=>{"use strict";function Yw(e,r){for(var t=-1,n=e==null?0:e.length,i=0,o=[];++t<n;){var a=e[t];r(a,t,e)&&(o[i++]=a)}return o}Wa.exports=Yw});var Rt=f((XO,Qa)=>{"use strict";function Jw(){return[]}Qa.exports=Jw});var Cr=f((eC,Xa)=>{"use strict";var Ww=Nt(),Qw=Rt(),Zw=Object.prototype,Xw=Zw.propertyIsEnumerable,Za=Object.getOwnPropertySymbols,ev=Za?function(e){return e==null?[]:(e=Object(e),Ww(Za(e),function(r){return Xw.call(e,r)}))}:Qw;Xa.exports=ev});var rs=f((rC,es)=>{"use strict";var rv=We(),tv=Cr();function nv(e,r){return rv(e,tv(e),r)}es.exports=nv});var Pr=f((tC,ts)=>{"use strict";function iv(e,r){for(var t=-1,n=r.length,i=e.length;++t<n;)e[i+t]=r[t];return e}ts.exports=iv});var Tr=f((nC,ns)=>{"use strict";var ov=Tt(),av=ov(Object.getPrototypeOf,Object);ns.exports=av});var jt=f((iC,is)=>{"use strict";var sv=Pr(),uv=Tr(),lv=Cr(),cv=Rt(),fv=Object.getOwnPropertySymbols,pv=fv?function(e){for(var r=[];e;)sv(r,lv(e)),e=uv(e);return r}:cv;is.exports=pv});var as=f((oC,os)=>{"use strict";var dv=We(),yv=jt();function mv(e,r){return dv(e,yv(e),r)}os.exports=mv});var Mt=f((aC,ss)=>{"use strict";var hv=Pr(),gv=j();function bv(e,r,t){var n=r(e);return gv(e)?n:hv(n,t(e))}ss.exports=bv});var Ft=f((sC,us)=>{"use strict";var wv=Mt(),vv=Cr(),xv=pe();function Av(e){return wv(e,xv,vv)}us.exports=Av});var cs=f((uC,ls)=>{"use strict";var Sv=Mt(),Ev=jt(),Iv=Or();function kv(e){return Sv(e,Iv,Ev)}ls.exports=kv});var ps=f((lC,fs)=>{"use strict";var qv=ce(),_v=K(),Ov=qv(_v,"DataView");fs.exports=Ov});var ys=f((cC,ds)=>{"use strict";var Cv=ce(),Pv=K(),Tv=Cv(Pv,"Promise");ds.exports=Tv});var Lt=f((fC,ms)=>{"use strict";var Nv=ce(),Rv=K(),jv=Nv(Rv,"Set");ms.exports=jv});var gs=f((pC,hs)=>{"use strict";var Mv=ce(),Fv=K(),Lv=Mv(Fv,"WeakMap");hs.exports=Lv});var ve=f((dC,Es)=>{"use strict";var Dt=ps(),$t=xr(),Bt=ys(),Vt=Lt(),Ut=gs(),Ss=be(),je=It(),bs="[object Map]",Dv="[object Object]",ws="[object Promise]",vs="[object Set]",xs="[object WeakMap]",As="[object DataView]",$v=je(Dt),Bv=je($t),Vv=je(Bt),Uv=je(Vt),Hv=je(Ut),we=Ss;(Dt&&we(new Dt(new ArrayBuffer(1)))!=As||$t&&we(new $t)!=bs||Bt&&we(Bt.resolve())!=ws||Vt&&we(new Vt)!=vs||Ut&&we(new Ut)!=xs)&&(we=function(e){var r=Ss(e),t=r==Dv?e.constructor:void 0,n=t?je(t):"";if(n)switch(n){case $v:return As;case Bv:return bs;case Vv:return ws;case Uv:return vs;case Hv:return xs}return r});Es.exports=we});var ks=f((yC,Is)=>{"use strict";var Gv=Object.prototype,Kv=Gv.hasOwnProperty;function zv(e){var r=e.length,t=new e.constructor(r);return r&&typeof e[0]=="string"&&Kv.call(e,"index")&&(t.index=e.index,t.input=e.input),t}Is.exports=zv});var Ht=f((mC,qs)=>{"use strict";var Yv=K(),Jv=Yv.Uint8Array;qs.exports=Jv});var Nr=f((hC,Os)=>{"use strict";var _s=Ht();function Wv(e){var r=new e.constructor(e.byteLength);return new _s(r).set(new _s(e)),r}Os.exports=Wv});var Ps=f((gC,Cs)=>{"use strict";var Qv=Nr();function Zv(e,r){var t=r?Qv(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}Cs.exports=Zv});var Ns=f((bC,Ts)=>{"use strict";var Xv=/\w*$/;function ex(e){var r=new e.constructor(e.source,Xv.exec(e));return r.lastIndex=e.lastIndex,r}Ts.exports=ex});var Ls=f((wC,Fs)=>{"use strict";var Rs=ge(),js=Rs?Rs.prototype:void 0,Ms=js?js.valueOf:void 0;function rx(e){return Ms?Object(Ms.call(e)):{}}Fs.exports=rx});var $s=f((vC,Ds)=>{"use strict";var tx=Nr();function nx(e,r){var t=r?tx(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}Ds.exports=nx});var Vs=f((xC,Bs)=>{"use strict";var ix=Nr(),ox=Ps(),ax=Ns(),sx=Ls(),ux=$s(),lx="[object Boolean]",cx="[object Date]",fx="[object Map]",px="[object Number]",dx="[object RegExp]",yx="[object Set]",mx="[object String]",hx="[object Symbol]",gx="[object ArrayBuffer]",bx="[object DataView]",wx="[object Float32Array]",vx="[object Float64Array]",xx="[object Int8Array]",Ax="[object Int16Array]",Sx="[object Int32Array]",Ex="[object Uint8Array]",Ix="[object Uint8ClampedArray]",kx="[object Uint16Array]",qx="[object Uint32Array]";function _x(e,r,t){var n=e.constructor;switch(r){case gx:return ix(e);case lx:case cx:return new n(+e);case bx:return ox(e,t);case wx:case vx:case xx:case Ax:case Sx:case Ex:case Ix:case kx:case qx:return ux(e,t);case fx:return new n;case px:case mx:return new n(e);case dx:return ax(e);case yx:return new n;case hx:return sx(e)}}Bs.exports=_x});var Gt=f((AC,Hs)=>{"use strict";var Ox=le(),Us=Object.create,Cx=(function(){function e(){}return function(r){if(!Ox(r))return{};if(Us)return Us(r);e.prototype=r;var t=new e;return e.prototype=void 0,t}})();Hs.exports=Cx});var Ks=f((SC,Gs)=>{"use strict";var Px=Gt(),Tx=Tr(),Nx=tr();function Rx(e){return typeof e.constructor=="function"&&!Nx(e)?Px(Tx(e)):{}}Gs.exports=Rx});var Ys=f((EC,zs)=>{"use strict";var jx=ve(),Mx=Q(),Fx="[object Map]";function Lx(e){return Mx(e)&&jx(e)==Fx}zs.exports=Lx});var Zs=f((IC,Qs)=>{"use strict";var Dx=Ys(),$x=kr(),Js=qr(),Ws=Js&&Js.isMap,Bx=Ws?$x(Ws):Dx;Qs.exports=Bx});var eu=f((kC,Xs)=>{"use strict";var Vx=ve(),Ux=Q(),Hx="[object Set]";function Gx(e){return Ux(e)&&Vx(e)==Hx}Xs.exports=Gx});var iu=f((qC,nu)=>{"use strict";var Kx=eu(),zx=kr(),ru=qr(),tu=ru&&ru.isSet,Yx=tu?zx(tu):Kx;nu.exports=Yx});var lu=f((_C,uu)=>{"use strict";var Jx=Sr(),Wx=Er(),Qx=_t(),Zx=ja(),Xx=Va(),e0=za(),r0=Ja(),t0=rs(),n0=as(),i0=Ft(),o0=cs(),a0=ve(),s0=ks(),u0=Vs(),l0=Ks(),c0=j(),f0=Te(),p0=Zs(),d0=le(),y0=iu(),m0=pe(),h0=Or(),g0=1,b0=2,w0=4,ou="[object Arguments]",v0="[object Array]",x0="[object Boolean]",A0="[object Date]",S0="[object Error]",au="[object Function]",E0="[object GeneratorFunction]",I0="[object Map]",k0="[object Number]",su="[object Object]",q0="[object RegExp]",_0="[object Set]",O0="[object String]",C0="[object Symbol]",P0="[object WeakMap]",T0="[object ArrayBuffer]",N0="[object DataView]",R0="[object Float32Array]",j0="[object Float64Array]",M0="[object Int8Array]",F0="[object Int16Array]",L0="[object Int32Array]",D0="[object Uint8Array]",$0="[object Uint8ClampedArray]",B0="[object Uint16Array]",V0="[object Uint32Array]",O={};O[ou]=O[v0]=O[T0]=O[N0]=O[x0]=O[A0]=O[R0]=O[j0]=O[M0]=O[F0]=O[L0]=O[I0]=O[k0]=O[su]=O[q0]=O[_0]=O[O0]=O[C0]=O[D0]=O[$0]=O[B0]=O[V0]=!0;O[S0]=O[au]=O[P0]=!1;function Rr(e,r,t,n,i,o){var a,s=r&g0,u=r&b0,l=r&w0;if(t&&(a=i?t(e,n,i,o):t(e)),a!==void 0)return a;if(!d0(e))return e;var p=c0(e);if(p){if(a=s0(e),!s)return r0(e,a)}else{var d=a0(e),c=d==au||d==E0;if(f0(e))return e0(e,s);if(d==su||d==ou||c&&!i){if(a=u||c?{}:l0(e),!s)return u?n0(e,Xx(a,e)):t0(e,Zx(a,e))}else{if(!O[d])return i?e:{};a=u0(e,d,s)}}o||(o=new Jx);var m=o.get(e);if(m)return m;o.set(e,a),y0(e)?e.forEach(function(b){a.add(Rr(b,r,t,b,e,o))}):p0(e)&&e.forEach(function(b,g){a.set(g,Rr(b,r,t,g,e,o))});var y=l?u?o0:i0:u?h0:m0,h=p?void 0:y(e);return Wx(h||e,function(b,g){h&&(g=b,b=e[g]),Qx(a,g,Rr(b,r,t,g,e,o))}),a}uu.exports=Rr});var fu=f((OC,cu)=>{"use strict";var U0=lu(),H0=4;function G0(e){return U0(e,H0)}cu.exports=G0});var Kt=f((CC,pu)=>{"use strict";function K0(e){return function(){return e}}pu.exports=K0});var yu=f((PC,du)=>{"use strict";function z0(e){return function(r,t,n){for(var i=-1,o=Object(r),a=n(r),s=a.length;s--;){var u=a[e?s:++i];if(t(o[u],u,o)===!1)break}return r}}du.exports=z0});var hu=f((TC,mu)=>{"use strict";var Y0=yu(),J0=Y0();mu.exports=J0});var zt=f((NC,gu)=>{"use strict";var W0=hu(),Q0=pe();function Z0(e,r){return e&&W0(e,r,Q0)}gu.exports=Z0});var wu=f((RC,bu)=>{"use strict";var X0=fe();function eA(e,r){return function(t,n){if(t==null)return t;if(!X0(t))return e(t,n);for(var i=t.length,o=r?i:-1,a=Object(t);(r?o--:++o<i)&&n(a[o],o,a)!==!1;);return t}}bu.exports=eA});var ir=f((jC,vu)=>{"use strict";var rA=zt(),tA=wu(),nA=tA(rA);vu.exports=nA});var or=f((MC,xu)=>{"use strict";function iA(e){return e}xu.exports=iA});var Su=f((FC,Au)=>{"use strict";var oA=or();function aA(e){return typeof e=="function"?e:oA}Au.exports=aA});var Iu=f((LC,Eu)=>{"use strict";var sA=Er(),uA=ir(),lA=Su(),cA=j();function fA(e,r){var t=cA(e)?sA:uA;return t(e,lA(r))}Eu.exports=fA});var qu=f((DC,ku)=>{"use strict";ku.exports=Iu()});var Ou=f(($C,_u)=>{"use strict";var pA=ir();function dA(e,r){var t=[];return pA(e,function(n,i,o){r(n,i,o)&&t.push(n)}),t}_u.exports=dA});var Pu=f((BC,Cu)=>{"use strict";var yA="__lodash_hash_undefined__";function mA(e){return this.__data__.set(e,yA),this}Cu.exports=mA});var Nu=f((VC,Tu)=>{"use strict";function hA(e){return this.__data__.has(e)}Tu.exports=hA});var Yt=f((UC,Ru)=>{"use strict";var gA=Ar(),bA=Pu(),wA=Nu();function jr(e){var r=-1,t=e==null?0:e.length;for(this.__data__=new gA;++r<t;)this.add(e[r])}jr.prototype.add=jr.prototype.push=bA;jr.prototype.has=wA;Ru.exports=jr});var Mu=f((HC,ju)=>{"use strict";function vA(e,r){for(var t=-1,n=e==null?0:e.length;++t<n;)if(r(e[t],t,e))return!0;return!1}ju.exports=vA});var Jt=f((GC,Fu)=>{"use strict";function xA(e,r){return e.has(r)}Fu.exports=xA});var Wt=f((KC,Lu)=>{"use strict";var AA=Yt(),SA=Mu(),EA=Jt(),IA=1,kA=2;function qA(e,r,t,n,i,o){var a=t&IA,s=e.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var l=o.get(e),p=o.get(r);if(l&&p)return l==r&&p==e;var d=-1,c=!0,m=t&kA?new AA:void 0;for(o.set(e,r),o.set(r,e);++d<s;){var y=e[d],h=r[d];if(n)var b=a?n(h,y,d,r,e,o):n(y,h,d,e,r,o);if(b!==void 0){if(b)continue;c=!1;break}if(m){if(!SA(r,function(g,v){if(!EA(m,v)&&(y===g||i(y,g,t,n,o)))return m.push(v)})){c=!1;break}}else if(!(y===h||i(y,h,t,n,o))){c=!1;break}}return o.delete(e),o.delete(r),c}Lu.exports=qA});var $u=f((zC,Du)=>{"use strict";function _A(e){var r=-1,t=Array(e.size);return e.forEach(function(n,i){t[++r]=[i,n]}),t}Du.exports=_A});var Mr=f((YC,Bu)=>{"use strict";function OA(e){var r=-1,t=Array(e.size);return e.forEach(function(n){t[++r]=n}),t}Bu.exports=OA});var Ku=f((JC,Gu)=>{"use strict";var Vu=ge(),Uu=Ht(),CA=vr(),PA=Wt(),TA=$u(),NA=Mr(),RA=1,jA=2,MA="[object Boolean]",FA="[object Date]",LA="[object Error]",DA="[object Map]",$A="[object Number]",BA="[object RegExp]",VA="[object Set]",UA="[object String]",HA="[object Symbol]",GA="[object ArrayBuffer]",KA="[object DataView]",Hu=Vu?Vu.prototype:void 0,Qt=Hu?Hu.valueOf:void 0;function zA(e,r,t,n,i,o,a){switch(t){case KA:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case GA:return!(e.byteLength!=r.byteLength||!o(new Uu(e),new Uu(r)));case MA:case FA:case $A:return CA(+e,+r);case LA:return e.name==r.name&&e.message==r.message;case BA:case UA:return e==r+"";case DA:var s=TA;case VA:var u=n&RA;if(s||(s=NA),e.size!=r.size&&!u)return!1;var l=a.get(e);if(l)return l==r;n|=jA,a.set(e,r);var p=PA(s(e),s(r),n,i,o,a);return a.delete(e),p;case HA:if(Qt)return Qt.call(e)==Qt.call(r)}return!1}Gu.exports=zA});var Ju=f((WC,Yu)=>{"use strict";var zu=Ft(),YA=1,JA=Object.prototype,WA=JA.hasOwnProperty;function QA(e,r,t,n,i,o){var a=t&YA,s=zu(e),u=s.length,l=zu(r),p=l.length;if(u!=p&&!a)return!1;for(var d=u;d--;){var c=s[d];if(!(a?c in r:WA.call(r,c)))return!1}var m=o.get(e),y=o.get(r);if(m&&y)return m==r&&y==e;var h=!0;o.set(e,r),o.set(r,e);for(var b=a;++d<u;){c=s[d];var g=e[c],v=r[c];if(n)var E=a?n(v,g,c,r,e,o):n(g,v,c,e,r,o);if(!(E===void 0?g===v||i(g,v,t,n,o):E)){h=!1;break}b||(b=c=="constructor")}if(h&&!b){var T=e.constructor,M=r.constructor;T!=M&&"constructor"in e&&"constructor"in r&&!(typeof T=="function"&&T instanceof T&&typeof M=="function"&&M instanceof M)&&(h=!1)}return o.delete(e),o.delete(r),h}Yu.exports=QA});var nl=f((QC,tl)=>{"use strict";var Zt=Sr(),ZA=Wt(),XA=Ku(),eS=Ju(),Wu=ve(),Qu=j(),Zu=Te(),rS=rr(),tS=1,Xu="[object Arguments]",el="[object Array]",Fr="[object Object]",nS=Object.prototype,rl=nS.hasOwnProperty;function iS(e,r,t,n,i,o){var a=Qu(e),s=Qu(r),u=a?el:Wu(e),l=s?el:Wu(r);u=u==Xu?Fr:u,l=l==Xu?Fr:l;var p=u==Fr,d=l==Fr,c=u==l;if(c&&Zu(e)){if(!Zu(r))return!1;a=!0,p=!1}if(c&&!p)return o||(o=new Zt),a||rS(e)?ZA(e,r,t,n,i,o):XA(e,r,u,t,n,i,o);if(!(t&tS)){var m=p&&rl.call(e,"__wrapped__"),y=d&&rl.call(r,"__wrapped__");if(m||y){var h=m?e.value():e,b=y?r.value():r;return o||(o=new Zt),i(h,b,t,n,o)}}return c?(o||(o=new Zt),eS(e,r,t,n,i,o)):!1}tl.exports=iS});var Xt=f((ZC,al)=>{"use strict";var oS=nl(),il=Q();function ol(e,r,t,n,i){return e===r?!0:e==null||r==null||!il(e)&&!il(r)?e!==e&&r!==r:oS(e,r,t,n,ol,i)}al.exports=ol});var ul=f((XC,sl)=>{"use strict";var aS=Sr(),sS=Xt(),uS=1,lS=2;function cS(e,r,t,n){var i=t.length,o=i,a=!n;if(e==null)return!o;for(e=Object(e);i--;){var s=t[i];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){s=t[i];var u=s[0],l=e[u],p=s[1];if(a&&s[2]){if(l===void 0&&!(u in e))return!1}else{var d=new aS;if(n)var c=n(l,p,u,e,r,d);if(!(c===void 0?sS(p,l,uS|lS,n,d):c))return!1}}return!0}sl.exports=cS});var en=f((eP,ll)=>{"use strict";var fS=le();function pS(e){return e===e&&!fS(e)}ll.exports=pS});var fl=f((rP,cl)=>{"use strict";var dS=en(),yS=pe();function mS(e){for(var r=yS(e),t=r.length;t--;){var n=r[t],i=e[n];r[t]=[n,i,dS(i)]}return r}cl.exports=mS});var rn=f((tP,pl)=>{"use strict";function hS(e,r){return function(t){return t==null?!1:t[e]===r&&(r!==void 0||e in Object(t))}}pl.exports=hS});var yl=f((nP,dl)=>{"use strict";var gS=ul(),bS=fl(),wS=rn();function vS(e){var r=bS(e);return r.length==1&&r[0][2]?wS(r[0][0],r[0][1]):function(t){return t===e||gS(t,e,r)}}dl.exports=vS});var Lr=f((iP,ml)=>{"use strict";var xS=be(),AS=Q(),SS="[object Symbol]";function ES(e){return typeof e=="symbol"||AS(e)&&xS(e)==SS}ml.exports=ES});var Dr=f((oP,hl)=>{"use strict";var IS=j(),kS=Lr(),qS=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_S=/^\w*$/;function OS(e,r){if(IS(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||kS(e)?!0:_S.test(e)||!qS.test(e)||r!=null&&e in Object(r)}hl.exports=OS});var wl=f((aP,bl)=>{"use strict";var gl=Ar(),CS="Expected a function";function tn(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new TypeError(CS);var t=function(){var n=arguments,i=r?r.apply(this,n):n[0],o=t.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return t.cache=o.set(i,a)||o,a};return t.cache=new(tn.Cache||gl),t}tn.Cache=gl;bl.exports=tn});var xl=f((sP,vl)=>{"use strict";var PS=wl(),TS=500;function NS(e){var r=PS(e,function(n){return t.size===TS&&t.clear(),n}),t=r.cache;return r}vl.exports=NS});var Sl=f((uP,Al)=>{"use strict";var RS=xl(),jS=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,MS=/\\(\\)?/g,FS=RS(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(jS,function(t,n,i,o){r.push(i?o.replace(MS,"$1"):n||t)}),r});Al.exports=FS});var $r=f((lP,El)=>{"use strict";function LS(e,r){for(var t=-1,n=e==null?0:e.length,i=Array(n);++t<n;)i[t]=r(e[t],t,e);return i}El.exports=LS});var Cl=f((cP,Ol)=>{"use strict";var Il=ge(),DS=$r(),$S=j(),BS=Lr(),VS=1/0,kl=Il?Il.prototype:void 0,ql=kl?kl.toString:void 0;function _l(e){if(typeof e=="string")return e;if($S(e))return DS(e,_l)+"";if(BS(e))return ql?ql.call(e):"";var r=e+"";return r=="0"&&1/e==-VS?"-0":r}Ol.exports=_l});var Tl=f((fP,Pl)=>{"use strict";var US=Cl();function HS(e){return e==null?"":US(e)}Pl.exports=HS});var nn=f((pP,Nl)=>{"use strict";var GS=j(),KS=Dr(),zS=Sl(),YS=Tl();function JS(e,r){return GS(e)?e:KS(e,r)?[e]:zS(YS(e))}Nl.exports=JS});var ar=f((dP,Rl)=>{"use strict";var WS=Lr(),QS=1/0;function ZS(e){if(typeof e=="string"||WS(e))return e;var r=e+"";return r=="0"&&1/e==-QS?"-0":r}Rl.exports=ZS});var on=f((yP,jl)=>{"use strict";var XS=nn(),eE=ar();function rE(e,r){r=XS(r,e);for(var t=0,n=r.length;e!=null&&t<n;)e=e[eE(r[t++])];return t&&t==n?e:void 0}jl.exports=rE});var Fl=f((mP,Ml)=>{"use strict";var tE=on();function nE(e,r,t){var n=e==null?void 0:tE(e,r);return n===void 0?t:n}Ml.exports=nE});var Dl=f((hP,Ll)=>{"use strict";function iE(e,r){return e!=null&&r in Object(e)}Ll.exports=iE});var an=f((gP,$l)=>{"use strict";var oE=nn(),aE=Qe(),sE=j(),uE=Ot(),lE=Ir(),cE=ar();function fE(e,r,t){r=oE(r,e);for(var n=-1,i=r.length,o=!1;++n<i;){var a=cE(r[n]);if(!(o=e!=null&&t(e,a)))break;e=e[a]}return o||++n!=i?o:(i=e==null?0:e.length,!!i&&lE(i)&&uE(a,i)&&(sE(e)||aE(e)))}$l.exports=fE});var Vl=f((bP,Bl)=>{"use strict";var pE=Dl(),dE=an();function yE(e,r){return e!=null&&dE(e,r,pE)}Bl.exports=yE});var Hl=f((wP,Ul)=>{"use strict";var mE=Xt(),hE=Fl(),gE=Vl(),bE=Dr(),wE=en(),vE=rn(),xE=ar(),AE=1,SE=2;function EE(e,r){return bE(e)&&wE(r)?vE(xE(e),r):function(t){var n=hE(t,e);return n===void 0&&n===r?gE(t,e):mE(r,n,AE|SE)}}Ul.exports=EE});var sn=f((vP,Gl)=>{"use strict";function IE(e){return function(r){return r?.[e]}}Gl.exports=IE});var zl=f((xP,Kl)=>{"use strict";var kE=on();function qE(e){return function(r){return kE(r,e)}}Kl.exports=qE});var Jl=f((AP,Yl)=>{"use strict";var _E=sn(),OE=zl(),CE=Dr(),PE=ar();function TE(e){return CE(e)?_E(PE(e)):OE(e)}Yl.exports=TE});var sr=f((SP,Wl)=>{"use strict";var NE=yl(),RE=Hl(),jE=or(),ME=j(),FE=Jl();function LE(e){return typeof e=="function"?e:e==null?jE:typeof e=="object"?ME(e)?RE(e[0],e[1]):NE(e):FE(e)}Wl.exports=LE});var Zl=f((EP,Ql)=>{"use strict";var DE=Nt(),$E=Ou(),BE=sr(),VE=j();function UE(e,r){var t=VE(e)?DE:$E;return t(e,BE(r,3))}Ql.exports=UE});var ec=f((IP,Xl)=>{"use strict";var HE=Object.prototype,GE=HE.hasOwnProperty;function KE(e,r){return e!=null&&GE.call(e,r)}Xl.exports=KE});var tc=f((kP,rc)=>{"use strict";var zE=ec(),YE=an();function JE(e,r){return e!=null&&YE(e,r,zE)}rc.exports=JE});var ic=f((qP,nc)=>{"use strict";var WE=_r(),QE=ve(),ZE=Qe(),XE=j(),eI=fe(),rI=Te(),tI=tr(),nI=rr(),iI="[object Map]",oI="[object Set]",aI=Object.prototype,sI=aI.hasOwnProperty;function uI(e){if(e==null)return!0;if(eI(e)&&(XE(e)||typeof e=="string"||typeof e.splice=="function"||rI(e)||nI(e)||ZE(e)))return!e.length;var r=QE(e);if(r==iI||r==oI)return!e.size;if(tI(e))return!WE(e).length;for(var t in e)if(sI.call(e,t))return!1;return!0}nc.exports=uI});var ac=f((_P,oc)=>{"use strict";function lI(e){return e===void 0}oc.exports=lI});var uc=f((OP,sc)=>{"use strict";var cI=ir(),fI=fe();function pI(e,r){var t=-1,n=fI(e)?Array(e.length):[];return cI(e,function(i,o,a){n[++t]=r(i,o,a)}),n}sc.exports=pI});var cc=f((CP,lc)=>{"use strict";var dI=$r(),yI=sr(),mI=uc(),hI=j();function gI(e,r){var t=hI(e)?dI:mI;return t(e,yI(r,3))}lc.exports=gI});var pc=f((PP,fc)=>{"use strict";function bI(e,r,t,n){var i=-1,o=e==null?0:e.length;for(n&&o&&(t=e[++i]);++i<o;)t=r(t,e[i],i,e);return t}fc.exports=bI});var yc=f((TP,dc)=>{"use strict";function wI(e,r,t,n,i){return i(e,function(o,a,s){t=n?(n=!1,o):r(t,o,a,s)}),t}dc.exports=wI});var hc=f((NP,mc)=>{"use strict";var vI=pc(),xI=ir(),AI=sr(),SI=yc(),EI=j();function II(e,r,t){var n=EI(e)?vI:SI,i=arguments.length<3;return n(e,AI(r,4),t,i,xI)}mc.exports=II});var bc=f((RP,gc)=>{"use strict";var kI=be(),qI=j(),_I=Q(),OI="[object String]";function CI(e){return typeof e=="string"||!qI(e)&&_I(e)&&kI(e)==OI}gc.exports=CI});var vc=f((jP,wc)=>{"use strict";var PI=sn(),TI=PI("length");wc.exports=TI});var Ac=f((MP,xc)=>{"use strict";var NI="\\ud800-\\udfff",RI="\\u0300-\\u036f",jI="\\ufe20-\\ufe2f",MI="\\u20d0-\\u20ff",FI=RI+jI+MI,LI="\\ufe0e\\ufe0f",DI="\\u200d",$I=RegExp("["+DI+NI+FI+LI+"]");function BI(e){return $I.test(e)}xc.exports=BI});var Pc=f((FP,Cc)=>{"use strict";var Ec="\\ud800-\\udfff",VI="\\u0300-\\u036f",UI="\\ufe20-\\ufe2f",HI="\\u20d0-\\u20ff",GI=VI+UI+HI,KI="\\ufe0e\\ufe0f",zI="["+Ec+"]",un="["+GI+"]",ln="\\ud83c[\\udffb-\\udfff]",YI="(?:"+un+"|"+ln+")",Ic="[^"+Ec+"]",kc="(?:\\ud83c[\\udde6-\\uddff]){2}",qc="[\\ud800-\\udbff][\\udc00-\\udfff]",JI="\\u200d",_c=YI+"?",Oc="["+KI+"]?",WI="(?:"+JI+"(?:"+[Ic,kc,qc].join("|")+")"+Oc+_c+")*",QI=Oc+_c+WI,ZI="(?:"+[Ic+un+"?",un,kc,qc,zI].join("|")+")",Sc=RegExp(ln+"(?="+ln+")|"+ZI+QI,"g");function XI(e){for(var r=Sc.lastIndex=0;Sc.test(e);)++r;return r}Cc.exports=XI});var Nc=f((LP,Tc)=>{"use strict";var ek=vc(),rk=Ac(),tk=Pc();function nk(e){return rk(e)?tk(e):ek(e)}Tc.exports=nk});var jc=f((DP,Rc)=>{"use strict";var ik=_r(),ok=ve(),ak=fe(),sk=bc(),uk=Nc(),lk="[object Map]",ck="[object Set]";function fk(e){if(e==null)return 0;if(ak(e))return sk(e)?uk(e):e.length;var r=ok(e);return r==lk||r==ck?e.size:ik(e).length}Rc.exports=fk});var Fc=f(($P,Mc)=>{"use strict";var pk=Er(),dk=Gt(),yk=zt(),mk=sr(),hk=Tr(),gk=j(),bk=Te(),wk=ze(),vk=le(),xk=rr();function Ak(e,r,t){var n=gk(e),i=n||bk(e)||xk(e);if(r=mk(r,4),t==null){var o=e&&e.constructor;i?t=n?new o:[]:vk(e)?t=wk(o)?dk(hk(e)):{}:t={}}return(i?pk:yk)(e,function(a,s,u){return r(t,a,s,u)}),t}Mc.exports=Ak});var Bc=f((BP,$c)=>{"use strict";var Lc=ge(),Sk=Qe(),Ek=j(),Dc=Lc?Lc.isConcatSpreadable:void 0;function Ik(e){return Ek(e)||Sk(e)||!!(Dc&&e&&e[Dc])}$c.exports=Ik});var Hc=f((VP,Uc)=>{"use strict";var kk=Pr(),qk=Bc();function Vc(e,r,t,n,i){var o=-1,a=e.length;for(t||(t=qk),i||(i=[]);++o<a;){var s=e[o];r>0&&t(s)?r>1?Vc(s,r-1,t,n,i):kk(i,s):n||(i[i.length]=s)}return i}Uc.exports=Vc});var Kc=f((UP,Gc)=>{"use strict";function _k(e,r,t){switch(t.length){case 0:return e.call(r);case 1:return e.call(r,t[0]);case 2:return e.call(r,t[0],t[1]);case 3:return e.call(r,t[0],t[1],t[2])}return e.apply(r,t)}Gc.exports=_k});var Jc=f((HP,Yc)=>{"use strict";var Ok=Kc(),zc=Math.max;function Ck(e,r,t){return r=zc(r===void 0?e.length-1:r,0),function(){for(var n=arguments,i=-1,o=zc(n.length-r,0),a=Array(o);++i<o;)a[i]=n[r+i];i=-1;for(var s=Array(r+1);++i<r;)s[i]=n[i];return s[r]=t(a),Ok(e,this,s)}}Yc.exports=Ck});var Zc=f((GP,Qc)=>{"use strict";var Pk=Kt(),Wc=kt(),Tk=or(),Nk=Wc?function(e,r){return Wc(e,"toString",{configurable:!0,enumerable:!1,value:Pk(r),writable:!0})}:Tk;Qc.exports=Nk});var ef=f((KP,Xc)=>{"use strict";var Rk=800,jk=16,Mk=Date.now;function Fk(e){var r=0,t=0;return function(){var n=Mk(),i=jk-(n-t);if(t=n,i>0){if(++r>=Rk)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}Xc.exports=Fk});var tf=f((zP,rf)=>{"use strict";var Lk=Zc(),Dk=ef(),$k=Dk(Lk);rf.exports=$k});var of=f((YP,nf)=>{"use strict";var Bk=or(),Vk=Jc(),Uk=tf();function Hk(e,r){return Uk(Vk(e,r,Bk),e+"")}nf.exports=Hk});var sf=f((JP,af)=>{"use strict";function Gk(e,r,t,n){for(var i=e.length,o=t+(n?1:-1);n?o--:++o<i;)if(r(e[o],o,e))return o;return-1}af.exports=Gk});var lf=f((WP,uf)=>{"use strict";function Kk(e){return e!==e}uf.exports=Kk});var ff=f((QP,cf)=>{"use strict";function zk(e,r,t){for(var n=t-1,i=e.length;++n<i;)if(e[n]===r)return n;return-1}cf.exports=zk});var df=f((ZP,pf)=>{"use strict";var Yk=sf(),Jk=lf(),Wk=ff();function Qk(e,r,t){return r===r?Wk(e,r,t):Yk(e,Jk,t)}pf.exports=Qk});var mf=f((XP,yf)=>{"use strict";var Zk=df();function Xk(e,r){var t=e==null?0:e.length;return!!t&&Zk(e,r,0)>-1}yf.exports=Xk});var gf=f((eT,hf)=>{"use strict";function eq(e,r,t){for(var n=-1,i=e==null?0:e.length;++n<i;)if(t(r,e[n]))return!0;return!1}hf.exports=eq});var wf=f((rT,bf)=>{"use strict";function rq(){}bf.exports=rq});var xf=f((tT,vf)=>{"use strict";var cn=Lt(),tq=wf(),nq=Mr(),iq=1/0,oq=cn&&1/nq(new cn([,-0]))[1]==iq?function(e){return new cn(e)}:tq;vf.exports=oq});var Sf=f((nT,Af)=>{"use strict";var aq=Yt(),sq=mf(),uq=gf(),lq=Jt(),cq=xf(),fq=Mr(),pq=200;function dq(e,r,t){var n=-1,i=sq,o=e.length,a=!0,s=[],u=s;if(t)a=!1,i=uq;else if(o>=pq){var l=r?null:cq(e);if(l)return fq(l);a=!1,i=lq,u=new aq}else u=r?[]:s;e:for(;++n<o;){var p=e[n],d=r?r(p):p;if(p=t||p!==0?p:0,a&&d===d){for(var c=u.length;c--;)if(u[c]===d)continue e;r&&u.push(d),s.push(p)}else i(u,d,t)||(u!==s&&u.push(d),s.push(p))}return s}Af.exports=dq});var If=f((iT,Ef)=>{"use strict";var yq=fe(),mq=Q();function hq(e){return mq(e)&&yq(e)}Ef.exports=hq});var qf=f((oT,kf)=>{"use strict";var gq=Hc(),bq=of(),wq=Sf(),vq=If(),xq=bq(function(e){return wq(gq(e,1,vq,!0))});kf.exports=xq});var Of=f((aT,_f)=>{"use strict";var Aq=$r();function Sq(e,r){return Aq(r,function(t){return e[t]})}_f.exports=Sq});var Pf=f((sT,Cf)=>{"use strict";var Eq=Of(),Iq=pe();function kq(e){return e==null?[]:Eq(e,Iq(e))}Cf.exports=kq});var U=f((uT,Tf)=>{"use strict";var Br;if(typeof jn=="function")try{Br={clone:fu(),constant:Kt(),each:qu(),filter:Zl(),has:tc(),isArray:j(),isEmpty:ic(),isFunction:ze(),isUndefined:ac(),keys:pe(),map:cc(),reduce:hc(),size:jc(),transform:Fc(),union:qf(),values:Pf()}}catch{}Br||(Br=window._);Tf.exports=Br});var Vr=f((cT,Mf)=>{"use strict";var I=U();Mf.exports=_;var qq="\0",xe="\0",Nf="";function _(e){this._isDirected=I.has(e,"directed")?e.directed:!0,this._isMultigraph=I.has(e,"multigraph")?e.multigraph:!1,this._isCompound=I.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=I.constant(void 0),this._defaultEdgeLabelFn=I.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[xe]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}_.prototype._nodeCount=0;_.prototype._edgeCount=0;_.prototype.isDirected=function(){return this._isDirected};_.prototype.isMultigraph=function(){return this._isMultigraph};_.prototype.isCompound=function(){return this._isCompound};_.prototype.setGraph=function(e){return this._label=e,this};_.prototype.graph=function(){return this._label};_.prototype.setDefaultNodeLabel=function(e){return I.isFunction(e)||(e=I.constant(e)),this._defaultNodeLabelFn=e,this};_.prototype.nodeCount=function(){return this._nodeCount};_.prototype.nodes=function(){return I.keys(this._nodes)};_.prototype.sources=function(){var e=this;return I.filter(this.nodes(),function(r){return I.isEmpty(e._in[r])})};_.prototype.sinks=function(){var e=this;return I.filter(this.nodes(),function(r){return I.isEmpty(e._out[r])})};_.prototype.setNodes=function(e,r){var t=arguments,n=this;return I.each(e,function(i){t.length>1?n.setNode(i,r):n.setNode(i)}),this};_.prototype.setNode=function(e,r){return I.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=xe,this._children[e]={},this._children[xe][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)};_.prototype.node=function(e){return this._nodes[e]};_.prototype.hasNode=function(e){return I.has(this._nodes,e)};_.prototype.removeNode=function(e){var r=this;if(I.has(this._nodes,e)){var t=function(n){r.removeEdge(r._edgeObjs[n])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],I.each(this.children(e),function(n){r.setParent(n)}),delete this._children[e]),I.each(I.keys(this._in[e]),t),delete this._in[e],delete this._preds[e],I.each(I.keys(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this};_.prototype.setParent=function(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(I.isUndefined(r))r=xe;else{r+="";for(var t=r;!I.isUndefined(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this};_.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]};_.prototype.parent=function(e){if(this._isCompound){var r=this._parent[e];if(r!==xe)return r}};_.prototype.children=function(e){if(I.isUndefined(e)&&(e=xe),this._isCompound){var r=this._children[e];if(r)return I.keys(r)}else{if(e===xe)return this.nodes();if(this.hasNode(e))return[]}};_.prototype.predecessors=function(e){var r=this._preds[e];if(r)return I.keys(r)};_.prototype.successors=function(e){var r=this._sucs[e];if(r)return I.keys(r)};_.prototype.neighbors=function(e){var r=this.predecessors(e);if(r)return I.union(r,this.successors(e))};_.prototype.isLeaf=function(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0};_.prototype.filterNodes=function(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;I.each(this._nodes,function(o,a){e(a)&&r.setNode(a,o)}),I.each(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var n={};function i(o){var a=t.parent(o);return a===void 0||r.hasNode(a)?(n[o]=a,a):a in n?n[a]:i(a)}return this._isCompound&&I.each(r.nodes(),function(o){r.setParent(o,i(o))}),r};_.prototype.setDefaultEdgeLabel=function(e){return I.isFunction(e)||(e=I.constant(e)),this._defaultEdgeLabelFn=e,this};_.prototype.edgeCount=function(){return this._edgeCount};_.prototype.edges=function(){return I.values(this._edgeObjs)};_.prototype.setPath=function(e,r){var t=this,n=arguments;return I.reduce(e,function(i,o){return n.length>1?t.setEdge(i,o,r):t.setEdge(i,o),o}),this};_.prototype.setEdge=function(){var e,r,t,n,i=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(n=arguments[1],i=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),e=""+e,r=""+r,I.isUndefined(t)||(t=""+t);var a=ur(this._isDirected,e,r,t);if(I.has(this._edgeLabels,a))return i&&(this._edgeLabels[a]=n),this;if(!I.isUndefined(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[a]=i?n:this._defaultEdgeLabelFn(e,r,t);var s=_q(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[a]=s,Rf(this._preds[r],e),Rf(this._sucs[e],r),this._in[r][a]=s,this._out[e][a]=s,this._edgeCount++,this};_.prototype.edge=function(e,r,t){var n=arguments.length===1?fn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return this._edgeLabels[n]};_.prototype.hasEdge=function(e,r,t){var n=arguments.length===1?fn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return I.has(this._edgeLabels,n)};_.prototype.removeEdge=function(e,r,t){var n=arguments.length===1?fn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t),i=this._edgeObjs[n];return i&&(e=i.v,r=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],jf(this._preds[r],e),jf(this._sucs[e],r),delete this._in[r][n],delete this._out[e][n],this._edgeCount--),this};_.prototype.inEdges=function(e,r){var t=this._in[e];if(t){var n=I.values(t);return r?I.filter(n,function(i){return i.v===r}):n}};_.prototype.outEdges=function(e,r){var t=this._out[e];if(t){var n=I.values(t);return r?I.filter(n,function(i){return i.w===r}):n}};_.prototype.nodeEdges=function(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))};function Rf(e,r){e[r]?e[r]++:e[r]=1}function jf(e,r){--e[r]||delete e[r]}function ur(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}return i+Nf+o+Nf+(I.isUndefined(n)?qq:n)}function _q(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return n&&(s.name=n),s}function fn(e,r){return ur(e,r.v,r.w,r.name)}});var Lf=f((fT,Ff)=>{"use strict";Ff.exports="2.1.8"});var $f=f((pT,Df)=>{"use strict";Df.exports={Graph:Vr(),version:Lf()}});var Vf=f((dT,Bf)=>{"use strict";var Z=U(),Oq=Vr();Bf.exports={write:Cq,read:Nq};function Cq(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Pq(e),edges:Tq(e)};return Z.isUndefined(e.graph())||(r.value=Z.clone(e.graph())),r}function Pq(e){return Z.map(e.nodes(),function(r){var t=e.node(r),n=e.parent(r),i={v:r};return Z.isUndefined(t)||(i.value=t),Z.isUndefined(n)||(i.parent=n),i})}function Tq(e){return Z.map(e.edges(),function(r){var t=e.edge(r),n={v:r.v,w:r.w};return Z.isUndefined(r.name)||(n.name=r.name),Z.isUndefined(t)||(n.value=t),n})}function Nq(e){var r=new Oq(e.options).setGraph(e.value);return Z.each(e.nodes,function(t){r.setNode(t.v,t.value),t.parent&&r.setParent(t.v,t.parent)}),Z.each(e.edges,function(t){r.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),r}});var Hf=f((yT,Uf)=>{"use strict";var Ur=U();Uf.exports=Rq;function Rq(e){var r={},t=[],n;function i(o){Ur.has(r,o)||(r[o]=!0,n.push(o),Ur.each(e.successors(o),i),Ur.each(e.predecessors(o),i))}return Ur.each(e.nodes(),function(o){n=[],i(o),n.length&&t.push(n)}),t}});var pn=f((mT,Kf)=>{"use strict";var Gf=U();Kf.exports=H;function H(){this._arr=[],this._keyIndices={}}H.prototype.size=function(){return this._arr.length};H.prototype.keys=function(){return this._arr.map(function(e){return e.key})};H.prototype.has=function(e){return Gf.has(this._keyIndices,e)};H.prototype.priority=function(e){var r=this._keyIndices[e];if(r!==void 0)return this._arr[r].priority};H.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key};H.prototype.add=function(e,r){var t=this._keyIndices;if(e=String(e),!Gf.has(t,e)){var n=this._arr,i=n.length;return t[e]=i,n.push({key:e,priority:r}),this._decrease(i),!0}return!1};H.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key};H.prototype.decrease=function(e,r){var t=this._keyIndices[e];if(r>this._arr[t].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[t].priority+" New: "+r);this._arr[t].priority=r,this._decrease(t)};H.prototype._heapify=function(e){var r=this._arr,t=2*e,n=t+1,i=e;t<r.length&&(i=r[t].priority<r[i].priority?t:i,n<r.length&&(i=r[n].priority<r[i].priority?n:i),i!==e&&(this._swap(e,i),this._heapify(i)))};H.prototype._decrease=function(e){for(var r=this._arr,t=r[e].priority,n;e!==0&&(n=e>>1,!(r[n].priority<t));)this._swap(e,n),e=n};H.prototype._swap=function(e,r){var t=this._arr,n=this._keyIndices,i=t[e],o=t[r];t[e]=o,t[r]=i,n[o.key]=e,n[i.key]=r}});var dn=f((hT,zf)=>{"use strict";var jq=U(),Mq=pn();zf.exports=Lq;var Fq=jq.constant(1);function Lq(e,r,t,n){return Dq(e,String(r),t||Fq,n||function(i){return e.outEdges(i)})}function Dq(e,r,t,n){var i={},o=new Mq,a,s,u=function(l){var p=l.v!==a?l.v:l.w,d=i[p],c=t(l),m=s.distance+c;if(c<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+c);m<d.distance&&(d.distance=m,d.predecessor=a,o.decrease(p,m))};for(e.nodes().forEach(function(l){var p=l===r?0:Number.POSITIVE_INFINITY;i[l]={distance:p},o.add(l,p)});o.size()>0&&(a=o.removeMin(),s=i[a],s.distance!==Number.POSITIVE_INFINITY);)n(a).forEach(u);return i}});var Jf=f((gT,Yf)=>{"use strict";var $q=dn(),Bq=U();Yf.exports=Vq;function Vq(e,r,t){return Bq.transform(e.nodes(),function(n,i){n[i]=$q(e,i,r,t)},{})}});var yn=f((bT,Qf)=>{"use strict";var Wf=U();Qf.exports=Uq;function Uq(e){var r=0,t=[],n={},i=[];function o(a){var s=n[a]={onStack:!0,lowlink:r,index:r++};if(t.push(a),e.successors(a).forEach(function(p){Wf.has(n,p)?n[p].onStack&&(s.lowlink=Math.min(s.lowlink,n[p].index)):(o(p),s.lowlink=Math.min(s.lowlink,n[p].lowlink))}),s.lowlink===s.index){var u=[],l;do l=t.pop(),n[l].onStack=!1,u.push(l);while(a!==l);i.push(u)}}return e.nodes().forEach(function(a){Wf.has(n,a)||o(a)}),i}});var Xf=f((wT,Zf)=>{"use strict";var Hq=U(),Gq=yn();Zf.exports=Kq;function Kq(e){return Hq.filter(Gq(e),function(r){return r.length>1||r.length===1&&e.hasEdge(r[0],r[0])})}});var rp=f((vT,ep)=>{"use strict";var zq=U();ep.exports=Jq;var Yq=zq.constant(1);function Jq(e,r,t){return Wq(e,r||Yq,t||function(n){return e.outEdges(n)})}function Wq(e,r,t){var n={},i=e.nodes();return i.forEach(function(o){n[o]={},n[o][o]={distance:0},i.forEach(function(a){o!==a&&(n[o][a]={distance:Number.POSITIVE_INFINITY})}),t(o).forEach(function(a){var s=a.v===o?a.w:a.v,u=r(a);n[o][s]={distance:u,predecessor:o}})}),i.forEach(function(o){var a=n[o];i.forEach(function(s){var u=n[s];i.forEach(function(l){var p=u[o],d=a[l],c=u[l],m=p.distance+d.distance;m<c.distance&&(c.distance=m,c.predecessor=d.predecessor)})})}),n}});var mn=f((xT,np)=>{"use strict";var lr=U();np.exports=tp;tp.CycleException=Hr;function tp(e){var r={},t={},n=[];function i(o){if(lr.has(t,o))throw new Hr;lr.has(r,o)||(t[o]=!0,r[o]=!0,lr.each(e.predecessors(o),i),delete t[o],n.push(o))}if(lr.each(e.sinks(),i),lr.size(r)!==e.nodeCount())throw new Hr;return n}function Hr(){}Hr.prototype=new Error});var ap=f((AT,op)=>{"use strict";var ip=mn();op.exports=Qq;function Qq(e){try{ip(e)}catch(r){if(r instanceof ip.CycleException)return!1;throw r}return!0}});var hn=f((ST,up)=>{"use strict";var Gr=U();up.exports=Zq;function Zq(e,r,t){Gr.isArray(r)||(r=[r]);var n=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],o={};return Gr.each(r,function(a){if(!e.hasNode(a))throw new Error("Graph does not have node: "+a);sp(e,a,t==="post",o,n,i)}),i}function sp(e,r,t,n,i,o){Gr.has(n,r)||(n[r]=!0,t||o.push(r),Gr.each(i(r),function(a){sp(e,a,t,n,i,o)}),t&&o.push(r))}});var cp=f((ET,lp)=>{"use strict";var Xq=hn();lp.exports=e_;function e_(e,r){return Xq(e,r,"post")}});var pp=f((IT,fp)=>{"use strict";var r_=hn();fp.exports=t_;function t_(e,r){return r_(e,r,"pre")}});var mp=f((kT,yp)=>{"use strict";var dp=U(),n_=Vr(),i_=pn();yp.exports=o_;function o_(e,r){var t=new n_,n={},i=new i_,o;function a(u){var l=u.v===o?u.w:u.v,p=i.priority(l);if(p!==void 0){var d=r(u);d<p&&(n[l]=o,i.decrease(l,d))}}if(e.nodeCount()===0)return t;dp.each(e.nodes(),function(u){i.add(u,Number.POSITIVE_INFINITY),t.setNode(u)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(o=i.removeMin(),dp.has(n,o))t.setEdge(o,n[o]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(o).forEach(a)}return t}});var gp=f((qT,hp)=>{"use strict";hp.exports={components:Hf(),dijkstra:dn(),dijkstraAll:Jf(),findCycles:Xf(),floydWarshall:rp(),isAcyclic:ap(),postorder:cp(),preorder:pp(),prim:mp(),tarjan:yn(),topsort:mn()}});var gn=f((_T,wp)=>{"use strict";var bp=$f();wp.exports={Graph:bp.Graph,json:Vf(),alg:gp(),version:bp.version}});function Zn(e){return typeof e>"u"||e===null}function rd(e){return typeof e=="object"&&e!==null}function td(e){return Array.isArray(e)?e:Zn(e)?[]:[e]}function nd(e,r){var t,n,i,o;if(r)for(o=Object.keys(r),t=0,n=o.length;t<n;t+=1)i=o[t],e[i]=r[i];return e}function id(e,r){var t="",n;for(n=0;n<r;n+=1)t+=e;return t}function od(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var ad=Zn,sd=rd,ud=td,ld=id,cd=od,fd=nd,R={isNothing:ad,isObject:sd,toArray:ud,repeat:ld,isNegativeZero:cd,extend:fd};function Xn(e,r){var t="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(t+='in "'+e.mark.name+'" '),t+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(t+=`
|
|
1
|
+
var Wp=Object.create;var Rn=Object.defineProperty;var Qp=Object.getOwnPropertyDescriptor;var Zp=Object.getOwnPropertyNames;var Xp=Object.getPrototypeOf,ed=Object.prototype.hasOwnProperty;var jn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var f=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var rd=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Zp(r))!ed.call(e,i)&&i!==t&&Rn(e,i,{get:()=>r[i],enumerable:!(n=Qp(r,i))||n.enumerable});return e};var Mn=(e,r,t)=>(t=e!=null?Wp(Xp(e)):{},rd(r||!e||!e.__esModule?Rn(t,"default",{value:e,enumerable:!0}):t,e));var Ii=f((R_,ki)=>{"use strict";function Em(){this.__data__=[],this.size=0}ki.exports=Em});var vr=f((j_,qi)=>{"use strict";function km(e,r){return e===r||e!==e&&r!==r}qi.exports=km});var He=f((M_,_i)=>{"use strict";var Im=vr();function qm(e,r){for(var t=e.length;t--;)if(Im(e[t][0],r))return t;return-1}_i.exports=qm});var Pi=f((F_,Oi)=>{"use strict";var _m=He(),Om=Array.prototype,Pm=Om.splice;function Tm(e){var r=this.__data__,t=_m(r,e);if(t<0)return!1;var n=r.length-1;return t==n?r.pop():Pm.call(r,t,1),--this.size,!0}Oi.exports=Tm});var Ci=f((L_,Ti)=>{"use strict";var Cm=He();function Nm(e){var r=this.__data__,t=Cm(r,e);return t<0?void 0:r[t][1]}Ti.exports=Nm});var Ri=f((D_,Ni)=>{"use strict";var Rm=He();function jm(e){return Rm(this.__data__,e)>-1}Ni.exports=jm});var Mi=f(($_,ji)=>{"use strict";var Mm=He();function Fm(e,r){var t=this.__data__,n=Mm(t,e);return n<0?(++this.size,t.push([e,r])):t[n][1]=r,this}ji.exports=Fm});var Ge=f((B_,Fi)=>{"use strict";var Lm=Ii(),Dm=Pi(),$m=Ci(),Bm=Ri(),Vm=Mi();function qe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}qe.prototype.clear=Lm;qe.prototype.delete=Dm;qe.prototype.get=$m;qe.prototype.has=Bm;qe.prototype.set=Vm;Fi.exports=qe});var Di=f((V_,Li)=>{"use strict";var Um=Ge();function Hm(){this.__data__=new Um,this.size=0}Li.exports=Hm});var Bi=f((U_,$i)=>{"use strict";function Gm(e){var r=this.__data__,t=r.delete(e);return this.size=r.size,t}$i.exports=Gm});var Ui=f((H_,Vi)=>{"use strict";function Km(e){return this.__data__.get(e)}Vi.exports=Km});var Gi=f((G_,Hi)=>{"use strict";function zm(e){return this.__data__.has(e)}Hi.exports=zm});var St=f((K_,Ki)=>{"use strict";var Ym=typeof global=="object"&&global&&global.Object===Object&&global;Ki.exports=Ym});var K=f((z_,zi)=>{"use strict";var Jm=St(),Wm=typeof self=="object"&&self&&self.Object===Object&&self,Qm=Jm||Wm||Function("return this")();zi.exports=Qm});var ge=f((Y_,Yi)=>{"use strict";var Zm=K(),Xm=Zm.Symbol;Yi.exports=Xm});var Zi=f((J_,Qi)=>{"use strict";var Ji=ge(),Wi=Object.prototype,eh=Wi.hasOwnProperty,rh=Wi.toString,Ke=Ji?Ji.toStringTag:void 0;function th(e){var r=eh.call(e,Ke),t=e[Ke];try{e[Ke]=void 0;var n=!0}catch{}var i=rh.call(e);return n&&(r?e[Ke]=t:delete e[Ke]),i}Qi.exports=th});var eo=f((W_,Xi)=>{"use strict";var nh=Object.prototype,ih=nh.toString;function oh(e){return ih.call(e)}Xi.exports=oh});var be=f((Q_,no)=>{"use strict";var ro=ge(),ah=Zi(),sh=eo(),uh="[object Null]",lh="[object Undefined]",to=ro?ro.toStringTag:void 0;function ch(e){return e==null?e===void 0?lh:uh:to&&to in Object(e)?ah(e):sh(e)}no.exports=ch});var le=f((Z_,io)=>{"use strict";function fh(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}io.exports=fh});var ze=f((X_,oo)=>{"use strict";var ph=be(),dh=le(),yh="[object AsyncFunction]",mh="[object Function]",hh="[object GeneratorFunction]",gh="[object Proxy]";function bh(e){if(!dh(e))return!1;var r=ph(e);return r==mh||r==hh||r==yh||r==gh}oo.exports=bh});var so=f((eO,ao)=>{"use strict";var wh=K(),vh=wh["__core-js_shared__"];ao.exports=vh});var co=f((rO,lo)=>{"use strict";var Et=so(),uo=(function(){var e=/[^.]+$/.exec(Et&&Et.keys&&Et.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function xh(e){return!!uo&&uo in e}lo.exports=xh});var kt=f((tO,fo)=>{"use strict";var Ah=Function.prototype,Sh=Ah.toString;function Eh(e){if(e!=null){try{return Sh.call(e)}catch{}try{return e+""}catch{}}return""}fo.exports=Eh});var yo=f((nO,po)=>{"use strict";var kh=ze(),Ih=co(),qh=le(),_h=kt(),Oh=/[\\^$.*+?()[\]{}|]/g,Ph=/^\[object .+?Constructor\]$/,Th=Function.prototype,Ch=Object.prototype,Nh=Th.toString,Rh=Ch.hasOwnProperty,jh=RegExp("^"+Nh.call(Rh).replace(Oh,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Mh(e){if(!qh(e)||Ih(e))return!1;var r=kh(e)?jh:Ph;return r.test(_h(e))}po.exports=Mh});var ho=f((iO,mo)=>{"use strict";function Fh(e,r){return e?.[r]}mo.exports=Fh});var ce=f((oO,go)=>{"use strict";var Lh=yo(),Dh=ho();function $h(e,r){var t=Dh(e,r);return Lh(t)?t:void 0}go.exports=$h});var xr=f((aO,bo)=>{"use strict";var Bh=ce(),Vh=K(),Uh=Bh(Vh,"Map");bo.exports=Uh});var Ye=f((sO,wo)=>{"use strict";var Hh=ce(),Gh=Hh(Object,"create");wo.exports=Gh});var Ao=f((uO,xo)=>{"use strict";var vo=Ye();function Kh(){this.__data__=vo?vo(null):{},this.size=0}xo.exports=Kh});var Eo=f((lO,So)=>{"use strict";function zh(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}So.exports=zh});var Io=f((cO,ko)=>{"use strict";var Yh=Ye(),Jh="__lodash_hash_undefined__",Wh=Object.prototype,Qh=Wh.hasOwnProperty;function Zh(e){var r=this.__data__;if(Yh){var t=r[e];return t===Jh?void 0:t}return Qh.call(r,e)?r[e]:void 0}ko.exports=Zh});var _o=f((fO,qo)=>{"use strict";var Xh=Ye(),eg=Object.prototype,rg=eg.hasOwnProperty;function tg(e){var r=this.__data__;return Xh?r[e]!==void 0:rg.call(r,e)}qo.exports=tg});var Po=f((pO,Oo)=>{"use strict";var ng=Ye(),ig="__lodash_hash_undefined__";function og(e,r){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=ng&&r===void 0?ig:r,this}Oo.exports=og});var Co=f((dO,To)=>{"use strict";var ag=Ao(),sg=Eo(),ug=Io(),lg=_o(),cg=Po();function _e(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}_e.prototype.clear=ag;_e.prototype.delete=sg;_e.prototype.get=ug;_e.prototype.has=lg;_e.prototype.set=cg;To.exports=_e});var jo=f((yO,Ro)=>{"use strict";var No=Co(),fg=Ge(),pg=xr();function dg(){this.size=0,this.__data__={hash:new No,map:new(pg||fg),string:new No}}Ro.exports=dg});var Fo=f((mO,Mo)=>{"use strict";function yg(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}Mo.exports=yg});var Je=f((hO,Lo)=>{"use strict";var mg=Fo();function hg(e,r){var t=e.__data__;return mg(r)?t[typeof r=="string"?"string":"hash"]:t.map}Lo.exports=hg});var $o=f((gO,Do)=>{"use strict";var gg=Je();function bg(e){var r=gg(this,e).delete(e);return this.size-=r?1:0,r}Do.exports=bg});var Vo=f((bO,Bo)=>{"use strict";var wg=Je();function vg(e){return wg(this,e).get(e)}Bo.exports=vg});var Ho=f((wO,Uo)=>{"use strict";var xg=Je();function Ag(e){return xg(this,e).has(e)}Uo.exports=Ag});var Ko=f((vO,Go)=>{"use strict";var Sg=Je();function Eg(e,r){var t=Sg(this,e),n=t.size;return t.set(e,r),this.size+=t.size==n?0:1,this}Go.exports=Eg});var Ar=f((xO,zo)=>{"use strict";var kg=jo(),Ig=$o(),qg=Vo(),_g=Ho(),Og=Ko();function Oe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}Oe.prototype.clear=kg;Oe.prototype.delete=Ig;Oe.prototype.get=qg;Oe.prototype.has=_g;Oe.prototype.set=Og;zo.exports=Oe});var Jo=f((AO,Yo)=>{"use strict";var Pg=Ge(),Tg=xr(),Cg=Ar(),Ng=200;function Rg(e,r){var t=this.__data__;if(t instanceof Pg){var n=t.__data__;if(!Tg||n.length<Ng-1)return n.push([e,r]),this.size=++t.size,this;t=this.__data__=new Cg(n)}return t.set(e,r),this.size=t.size,this}Yo.exports=Rg});var Sr=f((SO,Wo)=>{"use strict";var jg=Ge(),Mg=Di(),Fg=Bi(),Lg=Ui(),Dg=Gi(),$g=Jo();function Pe(e){var r=this.__data__=new jg(e);this.size=r.size}Pe.prototype.clear=Mg;Pe.prototype.delete=Fg;Pe.prototype.get=Lg;Pe.prototype.has=Dg;Pe.prototype.set=$g;Wo.exports=Pe});var Er=f((EO,Qo)=>{"use strict";function Bg(e,r){for(var t=-1,n=e==null?0:e.length;++t<n&&r(e[t],t,e)!==!1;);return e}Qo.exports=Bg});var It=f((kO,Zo)=>{"use strict";var Vg=ce(),Ug=(function(){try{var e=Vg(Object,"defineProperty");return e({},"",{}),e}catch{}})();Zo.exports=Ug});var qt=f((IO,ea)=>{"use strict";var Xo=It();function Hg(e,r,t){r=="__proto__"&&Xo?Xo(e,r,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[r]=t}ea.exports=Hg});var _t=f((qO,ra)=>{"use strict";var Gg=qt(),Kg=vr(),zg=Object.prototype,Yg=zg.hasOwnProperty;function Jg(e,r,t){var n=e[r];(!(Yg.call(e,r)&&Kg(n,t))||t===void 0&&!(r in e))&&Gg(e,r,t)}ra.exports=Jg});var We=f((_O,ta)=>{"use strict";var Wg=_t(),Qg=qt();function Zg(e,r,t,n){var i=!t;t||(t={});for(var o=-1,a=r.length;++o<a;){var s=r[o],u=n?n(t[s],e[s],s,t,e):void 0;u===void 0&&(u=e[s]),i?Qg(t,s,u):Wg(t,s,u)}return t}ta.exports=Zg});var ia=f((OO,na)=>{"use strict";function Xg(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n}na.exports=Xg});var Q=f((PO,oa)=>{"use strict";function eb(e){return e!=null&&typeof e=="object"}oa.exports=eb});var sa=f((TO,aa)=>{"use strict";var rb=be(),tb=Q(),nb="[object Arguments]";function ib(e){return tb(e)&&rb(e)==nb}aa.exports=ib});var Qe=f((CO,ca)=>{"use strict";var ua=sa(),ob=Q(),la=Object.prototype,ab=la.hasOwnProperty,sb=la.propertyIsEnumerable,ub=ua((function(){return arguments})())?ua:function(e){return ob(e)&&ab.call(e,"callee")&&!sb.call(e,"callee")};ca.exports=ub});var M=f((NO,fa)=>{"use strict";var lb=Array.isArray;fa.exports=lb});var da=f((RO,pa)=>{"use strict";function cb(){return!1}pa.exports=cb});var Ce=f((Ze,Te)=>{"use strict";var fb=K(),pb=da(),ha=typeof Ze=="object"&&Ze&&!Ze.nodeType&&Ze,ya=ha&&typeof Te=="object"&&Te&&!Te.nodeType&&Te,db=ya&&ya.exports===ha,ma=db?fb.Buffer:void 0,yb=ma?ma.isBuffer:void 0,mb=yb||pb;Te.exports=mb});var Ot=f((jO,ga)=>{"use strict";var hb=9007199254740991,gb=/^(?:0|[1-9]\d*)$/;function bb(e,r){var t=typeof e;return r=r??hb,!!r&&(t=="number"||t!="symbol"&&gb.test(e))&&e>-1&&e%1==0&&e<r}ga.exports=bb});var kr=f((MO,ba)=>{"use strict";var wb=9007199254740991;function vb(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=wb}ba.exports=vb});var va=f((FO,wa)=>{"use strict";var xb=be(),Ab=kr(),Sb=Q(),Eb="[object Arguments]",kb="[object Array]",Ib="[object Boolean]",qb="[object Date]",_b="[object Error]",Ob="[object Function]",Pb="[object Map]",Tb="[object Number]",Cb="[object Object]",Nb="[object RegExp]",Rb="[object Set]",jb="[object String]",Mb="[object WeakMap]",Fb="[object ArrayBuffer]",Lb="[object DataView]",Db="[object Float32Array]",$b="[object Float64Array]",Bb="[object Int8Array]",Vb="[object Int16Array]",Ub="[object Int32Array]",Hb="[object Uint8Array]",Gb="[object Uint8ClampedArray]",Kb="[object Uint16Array]",zb="[object Uint32Array]",P={};P[Db]=P[$b]=P[Bb]=P[Vb]=P[Ub]=P[Hb]=P[Gb]=P[Kb]=P[zb]=!0;P[Eb]=P[kb]=P[Fb]=P[Ib]=P[Lb]=P[qb]=P[_b]=P[Ob]=P[Pb]=P[Tb]=P[Cb]=P[Nb]=P[Rb]=P[jb]=P[Mb]=!1;function Yb(e){return Sb(e)&&Ab(e.length)&&!!P[xb(e)]}wa.exports=Yb});var Ir=f((LO,xa)=>{"use strict";function Jb(e){return function(r){return e(r)}}xa.exports=Jb});var qr=f((Xe,Ne)=>{"use strict";var Wb=St(),Aa=typeof Xe=="object"&&Xe&&!Xe.nodeType&&Xe,er=Aa&&typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,Qb=er&&er.exports===Aa,Pt=Qb&&Wb.process,Zb=(function(){try{var e=er&&er.require&&er.require("util").types;return e||Pt&&Pt.binding&&Pt.binding("util")}catch{}})();Ne.exports=Zb});var rr=f((DO,ka)=>{"use strict";var Xb=va(),ew=Ir(),Sa=qr(),Ea=Sa&&Sa.isTypedArray,rw=Ea?ew(Ea):Xb;ka.exports=rw});var Tt=f(($O,Ia)=>{"use strict";var tw=ia(),nw=Qe(),iw=M(),ow=Ce(),aw=Ot(),sw=rr(),uw=Object.prototype,lw=uw.hasOwnProperty;function cw(e,r){var t=iw(e),n=!t&&nw(e),i=!t&&!n&&ow(e),o=!t&&!n&&!i&&sw(e),a=t||n||i||o,s=a?tw(e.length,String):[],u=s.length;for(var l in e)(r||lw.call(e,l))&&!(a&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||aw(l,u)))&&s.push(l);return s}Ia.exports=cw});var tr=f((BO,qa)=>{"use strict";var fw=Object.prototype;function pw(e){var r=e&&e.constructor,t=typeof r=="function"&&r.prototype||fw;return e===t}qa.exports=pw});var Ct=f((VO,_a)=>{"use strict";function dw(e,r){return function(t){return e(r(t))}}_a.exports=dw});var Pa=f((UO,Oa)=>{"use strict";var yw=Ct(),mw=yw(Object.keys,Object);Oa.exports=mw});var _r=f((HO,Ta)=>{"use strict";var hw=tr(),gw=Pa(),bw=Object.prototype,ww=bw.hasOwnProperty;function vw(e){if(!hw(e))return gw(e);var r=[];for(var t in Object(e))ww.call(e,t)&&t!="constructor"&&r.push(t);return r}Ta.exports=vw});var fe=f((GO,Ca)=>{"use strict";var xw=ze(),Aw=kr();function Sw(e){return e!=null&&Aw(e.length)&&!xw(e)}Ca.exports=Sw});var pe=f((KO,Na)=>{"use strict";var Ew=Tt(),kw=_r(),Iw=fe();function qw(e){return Iw(e)?Ew(e):kw(e)}Na.exports=qw});var ja=f((zO,Ra)=>{"use strict";var _w=We(),Ow=pe();function Pw(e,r){return e&&_w(r,Ow(r),e)}Ra.exports=Pw});var Fa=f((YO,Ma)=>{"use strict";function Tw(e){var r=[];if(e!=null)for(var t in Object(e))r.push(t);return r}Ma.exports=Tw});var Da=f((JO,La)=>{"use strict";var Cw=le(),Nw=tr(),Rw=Fa(),jw=Object.prototype,Mw=jw.hasOwnProperty;function Fw(e){if(!Cw(e))return Rw(e);var r=Nw(e),t=[];for(var n in e)n=="constructor"&&(r||!Mw.call(e,n))||t.push(n);return t}La.exports=Fw});var Or=f((WO,$a)=>{"use strict";var Lw=Tt(),Dw=Da(),$w=fe();function Bw(e){return $w(e)?Lw(e,!0):Dw(e)}$a.exports=Bw});var Va=f((QO,Ba)=>{"use strict";var Vw=We(),Uw=Or();function Hw(e,r){return e&&Vw(r,Uw(r),e)}Ba.exports=Hw});var za=f((nr,Re)=>{"use strict";var Gw=K(),Ka=typeof nr=="object"&&nr&&!nr.nodeType&&nr,Ua=Ka&&typeof Re=="object"&&Re&&!Re.nodeType&&Re,Kw=Ua&&Ua.exports===Ka,Ha=Kw?Gw.Buffer:void 0,Ga=Ha?Ha.allocUnsafe:void 0;function zw(e,r){if(r)return e.slice();var t=e.length,n=Ga?Ga(t):new e.constructor(t);return e.copy(n),n}Re.exports=zw});var Ja=f((ZO,Ya)=>{"use strict";function Yw(e,r){var t=-1,n=e.length;for(r||(r=Array(n));++t<n;)r[t]=e[t];return r}Ya.exports=Yw});var Nt=f((XO,Wa)=>{"use strict";function Jw(e,r){for(var t=-1,n=e==null?0:e.length,i=0,o=[];++t<n;){var a=e[t];r(a,t,e)&&(o[i++]=a)}return o}Wa.exports=Jw});var Rt=f((eP,Qa)=>{"use strict";function Ww(){return[]}Qa.exports=Ww});var Pr=f((rP,Xa)=>{"use strict";var Qw=Nt(),Zw=Rt(),Xw=Object.prototype,ev=Xw.propertyIsEnumerable,Za=Object.getOwnPropertySymbols,rv=Za?function(e){return e==null?[]:(e=Object(e),Qw(Za(e),function(r){return ev.call(e,r)}))}:Zw;Xa.exports=rv});var rs=f((tP,es)=>{"use strict";var tv=We(),nv=Pr();function iv(e,r){return tv(e,nv(e),r)}es.exports=iv});var Tr=f((nP,ts)=>{"use strict";function ov(e,r){for(var t=-1,n=r.length,i=e.length;++t<n;)e[i+t]=r[t];return e}ts.exports=ov});var Cr=f((iP,ns)=>{"use strict";var av=Ct(),sv=av(Object.getPrototypeOf,Object);ns.exports=sv});var jt=f((oP,is)=>{"use strict";var uv=Tr(),lv=Cr(),cv=Pr(),fv=Rt(),pv=Object.getOwnPropertySymbols,dv=pv?function(e){for(var r=[];e;)uv(r,cv(e)),e=lv(e);return r}:fv;is.exports=dv});var as=f((aP,os)=>{"use strict";var yv=We(),mv=jt();function hv(e,r){return yv(e,mv(e),r)}os.exports=hv});var Mt=f((sP,ss)=>{"use strict";var gv=Tr(),bv=M();function wv(e,r,t){var n=r(e);return bv(e)?n:gv(n,t(e))}ss.exports=wv});var Ft=f((uP,us)=>{"use strict";var vv=Mt(),xv=Pr(),Av=pe();function Sv(e){return vv(e,Av,xv)}us.exports=Sv});var cs=f((lP,ls)=>{"use strict";var Ev=Mt(),kv=jt(),Iv=Or();function qv(e){return Ev(e,Iv,kv)}ls.exports=qv});var ps=f((cP,fs)=>{"use strict";var _v=ce(),Ov=K(),Pv=_v(Ov,"DataView");fs.exports=Pv});var ys=f((fP,ds)=>{"use strict";var Tv=ce(),Cv=K(),Nv=Tv(Cv,"Promise");ds.exports=Nv});var Lt=f((pP,ms)=>{"use strict";var Rv=ce(),jv=K(),Mv=Rv(jv,"Set");ms.exports=Mv});var gs=f((dP,hs)=>{"use strict";var Fv=ce(),Lv=K(),Dv=Fv(Lv,"WeakMap");hs.exports=Dv});var ve=f((yP,Es)=>{"use strict";var Dt=ps(),$t=xr(),Bt=ys(),Vt=Lt(),Ut=gs(),Ss=be(),je=kt(),bs="[object Map]",$v="[object Object]",ws="[object Promise]",vs="[object Set]",xs="[object WeakMap]",As="[object DataView]",Bv=je(Dt),Vv=je($t),Uv=je(Bt),Hv=je(Vt),Gv=je(Ut),we=Ss;(Dt&&we(new Dt(new ArrayBuffer(1)))!=As||$t&&we(new $t)!=bs||Bt&&we(Bt.resolve())!=ws||Vt&&we(new Vt)!=vs||Ut&&we(new Ut)!=xs)&&(we=function(e){var r=Ss(e),t=r==$v?e.constructor:void 0,n=t?je(t):"";if(n)switch(n){case Bv:return As;case Vv:return bs;case Uv:return ws;case Hv:return vs;case Gv:return xs}return r});Es.exports=we});var Is=f((mP,ks)=>{"use strict";var Kv=Object.prototype,zv=Kv.hasOwnProperty;function Yv(e){var r=e.length,t=new e.constructor(r);return r&&typeof e[0]=="string"&&zv.call(e,"index")&&(t.index=e.index,t.input=e.input),t}ks.exports=Yv});var Ht=f((hP,qs)=>{"use strict";var Jv=K(),Wv=Jv.Uint8Array;qs.exports=Wv});var Nr=f((gP,Os)=>{"use strict";var _s=Ht();function Qv(e){var r=new e.constructor(e.byteLength);return new _s(r).set(new _s(e)),r}Os.exports=Qv});var Ts=f((bP,Ps)=>{"use strict";var Zv=Nr();function Xv(e,r){var t=r?Zv(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}Ps.exports=Xv});var Ns=f((wP,Cs)=>{"use strict";var ex=/\w*$/;function rx(e){var r=new e.constructor(e.source,ex.exec(e));return r.lastIndex=e.lastIndex,r}Cs.exports=rx});var Ls=f((vP,Fs)=>{"use strict";var Rs=ge(),js=Rs?Rs.prototype:void 0,Ms=js?js.valueOf:void 0;function tx(e){return Ms?Object(Ms.call(e)):{}}Fs.exports=tx});var $s=f((xP,Ds)=>{"use strict";var nx=Nr();function ix(e,r){var t=r?nx(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}Ds.exports=ix});var Vs=f((AP,Bs)=>{"use strict";var ox=Nr(),ax=Ts(),sx=Ns(),ux=Ls(),lx=$s(),cx="[object Boolean]",fx="[object Date]",px="[object Map]",dx="[object Number]",yx="[object RegExp]",mx="[object Set]",hx="[object String]",gx="[object Symbol]",bx="[object ArrayBuffer]",wx="[object DataView]",vx="[object Float32Array]",xx="[object Float64Array]",Ax="[object Int8Array]",Sx="[object Int16Array]",Ex="[object Int32Array]",kx="[object Uint8Array]",Ix="[object Uint8ClampedArray]",qx="[object Uint16Array]",_x="[object Uint32Array]";function Ox(e,r,t){var n=e.constructor;switch(r){case bx:return ox(e);case cx:case fx:return new n(+e);case wx:return ax(e,t);case vx:case xx:case Ax:case Sx:case Ex:case kx:case Ix:case qx:case _x:return lx(e,t);case px:return new n;case dx:case hx:return new n(e);case yx:return sx(e);case mx:return new n;case gx:return ux(e)}}Bs.exports=Ox});var Gt=f((SP,Hs)=>{"use strict";var Px=le(),Us=Object.create,Tx=(function(){function e(){}return function(r){if(!Px(r))return{};if(Us)return Us(r);e.prototype=r;var t=new e;return e.prototype=void 0,t}})();Hs.exports=Tx});var Ks=f((EP,Gs)=>{"use strict";var Cx=Gt(),Nx=Cr(),Rx=tr();function jx(e){return typeof e.constructor=="function"&&!Rx(e)?Cx(Nx(e)):{}}Gs.exports=jx});var Ys=f((kP,zs)=>{"use strict";var Mx=ve(),Fx=Q(),Lx="[object Map]";function Dx(e){return Fx(e)&&Mx(e)==Lx}zs.exports=Dx});var Zs=f((IP,Qs)=>{"use strict";var $x=Ys(),Bx=Ir(),Js=qr(),Ws=Js&&Js.isMap,Vx=Ws?Bx(Ws):$x;Qs.exports=Vx});var eu=f((qP,Xs)=>{"use strict";var Ux=ve(),Hx=Q(),Gx="[object Set]";function Kx(e){return Hx(e)&&Ux(e)==Gx}Xs.exports=Kx});var iu=f((_P,nu)=>{"use strict";var zx=eu(),Yx=Ir(),ru=qr(),tu=ru&&ru.isSet,Jx=tu?Yx(tu):zx;nu.exports=Jx});var lu=f((OP,uu)=>{"use strict";var Wx=Sr(),Qx=Er(),Zx=_t(),Xx=ja(),e0=Va(),r0=za(),t0=Ja(),n0=rs(),i0=as(),o0=Ft(),a0=cs(),s0=ve(),u0=Is(),l0=Vs(),c0=Ks(),f0=M(),p0=Ce(),d0=Zs(),y0=le(),m0=iu(),h0=pe(),g0=Or(),b0=1,w0=2,v0=4,ou="[object Arguments]",x0="[object Array]",A0="[object Boolean]",S0="[object Date]",E0="[object Error]",au="[object Function]",k0="[object GeneratorFunction]",I0="[object Map]",q0="[object Number]",su="[object Object]",_0="[object RegExp]",O0="[object Set]",P0="[object String]",T0="[object Symbol]",C0="[object WeakMap]",N0="[object ArrayBuffer]",R0="[object DataView]",j0="[object Float32Array]",M0="[object Float64Array]",F0="[object Int8Array]",L0="[object Int16Array]",D0="[object Int32Array]",$0="[object Uint8Array]",B0="[object Uint8ClampedArray]",V0="[object Uint16Array]",U0="[object Uint32Array]",O={};O[ou]=O[x0]=O[N0]=O[R0]=O[A0]=O[S0]=O[j0]=O[M0]=O[F0]=O[L0]=O[D0]=O[I0]=O[q0]=O[su]=O[_0]=O[O0]=O[P0]=O[T0]=O[$0]=O[B0]=O[V0]=O[U0]=!0;O[E0]=O[au]=O[C0]=!1;function Rr(e,r,t,n,i,o){var a,s=r&b0,u=r&w0,l=r&v0;if(t&&(a=i?t(e,n,i,o):t(e)),a!==void 0)return a;if(!y0(e))return e;var p=f0(e);if(p){if(a=u0(e),!s)return t0(e,a)}else{var d=s0(e),c=d==au||d==k0;if(p0(e))return r0(e,s);if(d==su||d==ou||c&&!i){if(a=u||c?{}:c0(e),!s)return u?i0(e,e0(a,e)):n0(e,Xx(a,e))}else{if(!O[d])return i?e:{};a=l0(e,d,s)}}o||(o=new Wx);var m=o.get(e);if(m)return m;o.set(e,a),m0(e)?e.forEach(function(b){a.add(Rr(b,r,t,b,e,o))}):d0(e)&&e.forEach(function(b,g){a.set(g,Rr(b,r,t,g,e,o))});var y=l?u?a0:o0:u?g0:h0,h=p?void 0:y(e);return Qx(h||e,function(b,g){h&&(g=b,b=e[g]),Zx(a,g,Rr(b,r,t,g,e,o))}),a}uu.exports=Rr});var fu=f((PP,cu)=>{"use strict";var H0=lu(),G0=4;function K0(e){return H0(e,G0)}cu.exports=K0});var Kt=f((TP,pu)=>{"use strict";function z0(e){return function(){return e}}pu.exports=z0});var yu=f((CP,du)=>{"use strict";function Y0(e){return function(r,t,n){for(var i=-1,o=Object(r),a=n(r),s=a.length;s--;){var u=a[e?s:++i];if(t(o[u],u,o)===!1)break}return r}}du.exports=Y0});var hu=f((NP,mu)=>{"use strict";var J0=yu(),W0=J0();mu.exports=W0});var zt=f((RP,gu)=>{"use strict";var Q0=hu(),Z0=pe();function X0(e,r){return e&&Q0(e,r,Z0)}gu.exports=X0});var wu=f((jP,bu)=>{"use strict";var eA=fe();function rA(e,r){return function(t,n){if(t==null)return t;if(!eA(t))return e(t,n);for(var i=t.length,o=r?i:-1,a=Object(t);(r?o--:++o<i)&&n(a[o],o,a)!==!1;);return t}}bu.exports=rA});var ir=f((MP,vu)=>{"use strict";var tA=zt(),nA=wu(),iA=nA(tA);vu.exports=iA});var or=f((FP,xu)=>{"use strict";function oA(e){return e}xu.exports=oA});var Su=f((LP,Au)=>{"use strict";var aA=or();function sA(e){return typeof e=="function"?e:aA}Au.exports=sA});var ku=f((DP,Eu)=>{"use strict";var uA=Er(),lA=ir(),cA=Su(),fA=M();function pA(e,r){var t=fA(e)?uA:lA;return t(e,cA(r))}Eu.exports=pA});var qu=f(($P,Iu)=>{"use strict";Iu.exports=ku()});var Ou=f((BP,_u)=>{"use strict";var dA=ir();function yA(e,r){var t=[];return dA(e,function(n,i,o){r(n,i,o)&&t.push(n)}),t}_u.exports=yA});var Tu=f((VP,Pu)=>{"use strict";var mA="__lodash_hash_undefined__";function hA(e){return this.__data__.set(e,mA),this}Pu.exports=hA});var Nu=f((UP,Cu)=>{"use strict";function gA(e){return this.__data__.has(e)}Cu.exports=gA});var Yt=f((HP,Ru)=>{"use strict";var bA=Ar(),wA=Tu(),vA=Nu();function jr(e){var r=-1,t=e==null?0:e.length;for(this.__data__=new bA;++r<t;)this.add(e[r])}jr.prototype.add=jr.prototype.push=wA;jr.prototype.has=vA;Ru.exports=jr});var Mu=f((GP,ju)=>{"use strict";function xA(e,r){for(var t=-1,n=e==null?0:e.length;++t<n;)if(r(e[t],t,e))return!0;return!1}ju.exports=xA});var Jt=f((KP,Fu)=>{"use strict";function AA(e,r){return e.has(r)}Fu.exports=AA});var Wt=f((zP,Lu)=>{"use strict";var SA=Yt(),EA=Mu(),kA=Jt(),IA=1,qA=2;function _A(e,r,t,n,i,o){var a=t&IA,s=e.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var l=o.get(e),p=o.get(r);if(l&&p)return l==r&&p==e;var d=-1,c=!0,m=t&qA?new SA:void 0;for(o.set(e,r),o.set(r,e);++d<s;){var y=e[d],h=r[d];if(n)var b=a?n(h,y,d,r,e,o):n(y,h,d,e,r,o);if(b!==void 0){if(b)continue;c=!1;break}if(m){if(!EA(r,function(g,v){if(!kA(m,v)&&(y===g||i(y,g,t,n,o)))return m.push(v)})){c=!1;break}}else if(!(y===h||i(y,h,t,n,o))){c=!1;break}}return o.delete(e),o.delete(r),c}Lu.exports=_A});var $u=f((YP,Du)=>{"use strict";function OA(e){var r=-1,t=Array(e.size);return e.forEach(function(n,i){t[++r]=[i,n]}),t}Du.exports=OA});var Mr=f((JP,Bu)=>{"use strict";function PA(e){var r=-1,t=Array(e.size);return e.forEach(function(n){t[++r]=n}),t}Bu.exports=PA});var Ku=f((WP,Gu)=>{"use strict";var Vu=ge(),Uu=Ht(),TA=vr(),CA=Wt(),NA=$u(),RA=Mr(),jA=1,MA=2,FA="[object Boolean]",LA="[object Date]",DA="[object Error]",$A="[object Map]",BA="[object Number]",VA="[object RegExp]",UA="[object Set]",HA="[object String]",GA="[object Symbol]",KA="[object ArrayBuffer]",zA="[object DataView]",Hu=Vu?Vu.prototype:void 0,Qt=Hu?Hu.valueOf:void 0;function YA(e,r,t,n,i,o,a){switch(t){case zA:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case KA:return!(e.byteLength!=r.byteLength||!o(new Uu(e),new Uu(r)));case FA:case LA:case BA:return TA(+e,+r);case DA:return e.name==r.name&&e.message==r.message;case VA:case HA:return e==r+"";case $A:var s=NA;case UA:var u=n&jA;if(s||(s=RA),e.size!=r.size&&!u)return!1;var l=a.get(e);if(l)return l==r;n|=MA,a.set(e,r);var p=CA(s(e),s(r),n,i,o,a);return a.delete(e),p;case GA:if(Qt)return Qt.call(e)==Qt.call(r)}return!1}Gu.exports=YA});var Ju=f((QP,Yu)=>{"use strict";var zu=Ft(),JA=1,WA=Object.prototype,QA=WA.hasOwnProperty;function ZA(e,r,t,n,i,o){var a=t&JA,s=zu(e),u=s.length,l=zu(r),p=l.length;if(u!=p&&!a)return!1;for(var d=u;d--;){var c=s[d];if(!(a?c in r:QA.call(r,c)))return!1}var m=o.get(e),y=o.get(r);if(m&&y)return m==r&&y==e;var h=!0;o.set(e,r),o.set(r,e);for(var b=a;++d<u;){c=s[d];var g=e[c],v=r[c];if(n)var E=a?n(v,g,c,r,e,o):n(g,v,c,e,r,o);if(!(E===void 0?g===v||i(g,v,t,n,o):E)){h=!1;break}b||(b=c=="constructor")}if(h&&!b){var C=e.constructor,F=r.constructor;C!=F&&"constructor"in e&&"constructor"in r&&!(typeof C=="function"&&C instanceof C&&typeof F=="function"&&F instanceof F)&&(h=!1)}return o.delete(e),o.delete(r),h}Yu.exports=ZA});var nl=f((ZP,tl)=>{"use strict";var Zt=Sr(),XA=Wt(),eS=Ku(),rS=Ju(),Wu=ve(),Qu=M(),Zu=Ce(),tS=rr(),nS=1,Xu="[object Arguments]",el="[object Array]",Fr="[object Object]",iS=Object.prototype,rl=iS.hasOwnProperty;function oS(e,r,t,n,i,o){var a=Qu(e),s=Qu(r),u=a?el:Wu(e),l=s?el:Wu(r);u=u==Xu?Fr:u,l=l==Xu?Fr:l;var p=u==Fr,d=l==Fr,c=u==l;if(c&&Zu(e)){if(!Zu(r))return!1;a=!0,p=!1}if(c&&!p)return o||(o=new Zt),a||tS(e)?XA(e,r,t,n,i,o):eS(e,r,u,t,n,i,o);if(!(t&nS)){var m=p&&rl.call(e,"__wrapped__"),y=d&&rl.call(r,"__wrapped__");if(m||y){var h=m?e.value():e,b=y?r.value():r;return o||(o=new Zt),i(h,b,t,n,o)}}return c?(o||(o=new Zt),rS(e,r,t,n,i,o)):!1}tl.exports=oS});var Xt=f((XP,al)=>{"use strict";var aS=nl(),il=Q();function ol(e,r,t,n,i){return e===r?!0:e==null||r==null||!il(e)&&!il(r)?e!==e&&r!==r:aS(e,r,t,n,ol,i)}al.exports=ol});var ul=f((eT,sl)=>{"use strict";var sS=Sr(),uS=Xt(),lS=1,cS=2;function fS(e,r,t,n){var i=t.length,o=i,a=!n;if(e==null)return!o;for(e=Object(e);i--;){var s=t[i];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){s=t[i];var u=s[0],l=e[u],p=s[1];if(a&&s[2]){if(l===void 0&&!(u in e))return!1}else{var d=new sS;if(n)var c=n(l,p,u,e,r,d);if(!(c===void 0?uS(p,l,lS|cS,n,d):c))return!1}}return!0}sl.exports=fS});var en=f((rT,ll)=>{"use strict";var pS=le();function dS(e){return e===e&&!pS(e)}ll.exports=dS});var fl=f((tT,cl)=>{"use strict";var yS=en(),mS=pe();function hS(e){for(var r=mS(e),t=r.length;t--;){var n=r[t],i=e[n];r[t]=[n,i,yS(i)]}return r}cl.exports=hS});var rn=f((nT,pl)=>{"use strict";function gS(e,r){return function(t){return t==null?!1:t[e]===r&&(r!==void 0||e in Object(t))}}pl.exports=gS});var yl=f((iT,dl)=>{"use strict";var bS=ul(),wS=fl(),vS=rn();function xS(e){var r=wS(e);return r.length==1&&r[0][2]?vS(r[0][0],r[0][1]):function(t){return t===e||bS(t,e,r)}}dl.exports=xS});var Lr=f((oT,ml)=>{"use strict";var AS=be(),SS=Q(),ES="[object Symbol]";function kS(e){return typeof e=="symbol"||SS(e)&&AS(e)==ES}ml.exports=kS});var Dr=f((aT,hl)=>{"use strict";var IS=M(),qS=Lr(),_S=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,OS=/^\w*$/;function PS(e,r){if(IS(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||qS(e)?!0:OS.test(e)||!_S.test(e)||r!=null&&e in Object(r)}hl.exports=PS});var wl=f((sT,bl)=>{"use strict";var gl=Ar(),TS="Expected a function";function tn(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new TypeError(TS);var t=function(){var n=arguments,i=r?r.apply(this,n):n[0],o=t.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return t.cache=o.set(i,a)||o,a};return t.cache=new(tn.Cache||gl),t}tn.Cache=gl;bl.exports=tn});var xl=f((uT,vl)=>{"use strict";var CS=wl(),NS=500;function RS(e){var r=CS(e,function(n){return t.size===NS&&t.clear(),n}),t=r.cache;return r}vl.exports=RS});var Sl=f((lT,Al)=>{"use strict";var jS=xl(),MS=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,FS=/\\(\\)?/g,LS=jS(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(MS,function(t,n,i,o){r.push(i?o.replace(FS,"$1"):n||t)}),r});Al.exports=LS});var $r=f((cT,El)=>{"use strict";function DS(e,r){for(var t=-1,n=e==null?0:e.length,i=Array(n);++t<n;)i[t]=r(e[t],t,e);return i}El.exports=DS});var Pl=f((fT,Ol)=>{"use strict";var kl=ge(),$S=$r(),BS=M(),VS=Lr(),US=1/0,Il=kl?kl.prototype:void 0,ql=Il?Il.toString:void 0;function _l(e){if(typeof e=="string")return e;if(BS(e))return $S(e,_l)+"";if(VS(e))return ql?ql.call(e):"";var r=e+"";return r=="0"&&1/e==-US?"-0":r}Ol.exports=_l});var Cl=f((pT,Tl)=>{"use strict";var HS=Pl();function GS(e){return e==null?"":HS(e)}Tl.exports=GS});var nn=f((dT,Nl)=>{"use strict";var KS=M(),zS=Dr(),YS=Sl(),JS=Cl();function WS(e,r){return KS(e)?e:zS(e,r)?[e]:YS(JS(e))}Nl.exports=WS});var ar=f((yT,Rl)=>{"use strict";var QS=Lr(),ZS=1/0;function XS(e){if(typeof e=="string"||QS(e))return e;var r=e+"";return r=="0"&&1/e==-ZS?"-0":r}Rl.exports=XS});var on=f((mT,jl)=>{"use strict";var eE=nn(),rE=ar();function tE(e,r){r=eE(r,e);for(var t=0,n=r.length;e!=null&&t<n;)e=e[rE(r[t++])];return t&&t==n?e:void 0}jl.exports=tE});var Fl=f((hT,Ml)=>{"use strict";var nE=on();function iE(e,r,t){var n=e==null?void 0:nE(e,r);return n===void 0?t:n}Ml.exports=iE});var Dl=f((gT,Ll)=>{"use strict";function oE(e,r){return e!=null&&r in Object(e)}Ll.exports=oE});var an=f((bT,$l)=>{"use strict";var aE=nn(),sE=Qe(),uE=M(),lE=Ot(),cE=kr(),fE=ar();function pE(e,r,t){r=aE(r,e);for(var n=-1,i=r.length,o=!1;++n<i;){var a=fE(r[n]);if(!(o=e!=null&&t(e,a)))break;e=e[a]}return o||++n!=i?o:(i=e==null?0:e.length,!!i&&cE(i)&&lE(a,i)&&(uE(e)||sE(e)))}$l.exports=pE});var Vl=f((wT,Bl)=>{"use strict";var dE=Dl(),yE=an();function mE(e,r){return e!=null&&yE(e,r,dE)}Bl.exports=mE});var Hl=f((vT,Ul)=>{"use strict";var hE=Xt(),gE=Fl(),bE=Vl(),wE=Dr(),vE=en(),xE=rn(),AE=ar(),SE=1,EE=2;function kE(e,r){return wE(e)&&vE(r)?xE(AE(e),r):function(t){var n=gE(t,e);return n===void 0&&n===r?bE(t,e):hE(r,n,SE|EE)}}Ul.exports=kE});var sn=f((xT,Gl)=>{"use strict";function IE(e){return function(r){return r?.[e]}}Gl.exports=IE});var zl=f((AT,Kl)=>{"use strict";var qE=on();function _E(e){return function(r){return qE(r,e)}}Kl.exports=_E});var Jl=f((ST,Yl)=>{"use strict";var OE=sn(),PE=zl(),TE=Dr(),CE=ar();function NE(e){return TE(e)?OE(CE(e)):PE(e)}Yl.exports=NE});var sr=f((ET,Wl)=>{"use strict";var RE=yl(),jE=Hl(),ME=or(),FE=M(),LE=Jl();function DE(e){return typeof e=="function"?e:e==null?ME:typeof e=="object"?FE(e)?jE(e[0],e[1]):RE(e):LE(e)}Wl.exports=DE});var Zl=f((kT,Ql)=>{"use strict";var $E=Nt(),BE=Ou(),VE=sr(),UE=M();function HE(e,r){var t=UE(e)?$E:BE;return t(e,VE(r,3))}Ql.exports=HE});var ec=f((IT,Xl)=>{"use strict";var GE=Object.prototype,KE=GE.hasOwnProperty;function zE(e,r){return e!=null&&KE.call(e,r)}Xl.exports=zE});var tc=f((qT,rc)=>{"use strict";var YE=ec(),JE=an();function WE(e,r){return e!=null&&JE(e,r,YE)}rc.exports=WE});var ic=f((_T,nc)=>{"use strict";var QE=_r(),ZE=ve(),XE=Qe(),ek=M(),rk=fe(),tk=Ce(),nk=tr(),ik=rr(),ok="[object Map]",ak="[object Set]",sk=Object.prototype,uk=sk.hasOwnProperty;function lk(e){if(e==null)return!0;if(rk(e)&&(ek(e)||typeof e=="string"||typeof e.splice=="function"||tk(e)||ik(e)||XE(e)))return!e.length;var r=ZE(e);if(r==ok||r==ak)return!e.size;if(nk(e))return!QE(e).length;for(var t in e)if(uk.call(e,t))return!1;return!0}nc.exports=lk});var ac=f((OT,oc)=>{"use strict";function ck(e){return e===void 0}oc.exports=ck});var uc=f((PT,sc)=>{"use strict";var fk=ir(),pk=fe();function dk(e,r){var t=-1,n=pk(e)?Array(e.length):[];return fk(e,function(i,o,a){n[++t]=r(i,o,a)}),n}sc.exports=dk});var cc=f((TT,lc)=>{"use strict";var yk=$r(),mk=sr(),hk=uc(),gk=M();function bk(e,r){var t=gk(e)?yk:hk;return t(e,mk(r,3))}lc.exports=bk});var pc=f((CT,fc)=>{"use strict";function wk(e,r,t,n){var i=-1,o=e==null?0:e.length;for(n&&o&&(t=e[++i]);++i<o;)t=r(t,e[i],i,e);return t}fc.exports=wk});var yc=f((NT,dc)=>{"use strict";function vk(e,r,t,n,i){return i(e,function(o,a,s){t=n?(n=!1,o):r(t,o,a,s)}),t}dc.exports=vk});var hc=f((RT,mc)=>{"use strict";var xk=pc(),Ak=ir(),Sk=sr(),Ek=yc(),kk=M();function Ik(e,r,t){var n=kk(e)?xk:Ek,i=arguments.length<3;return n(e,Sk(r,4),t,i,Ak)}mc.exports=Ik});var bc=f((jT,gc)=>{"use strict";var qk=be(),_k=M(),Ok=Q(),Pk="[object String]";function Tk(e){return typeof e=="string"||!_k(e)&&Ok(e)&&qk(e)==Pk}gc.exports=Tk});var vc=f((MT,wc)=>{"use strict";var Ck=sn(),Nk=Ck("length");wc.exports=Nk});var Ac=f((FT,xc)=>{"use strict";var Rk="\\ud800-\\udfff",jk="\\u0300-\\u036f",Mk="\\ufe20-\\ufe2f",Fk="\\u20d0-\\u20ff",Lk=jk+Mk+Fk,Dk="\\ufe0e\\ufe0f",$k="\\u200d",Bk=RegExp("["+$k+Rk+Lk+Dk+"]");function Vk(e){return Bk.test(e)}xc.exports=Vk});var Tc=f((LT,Pc)=>{"use strict";var Ec="\\ud800-\\udfff",Uk="\\u0300-\\u036f",Hk="\\ufe20-\\ufe2f",Gk="\\u20d0-\\u20ff",Kk=Uk+Hk+Gk,zk="\\ufe0e\\ufe0f",Yk="["+Ec+"]",un="["+Kk+"]",ln="\\ud83c[\\udffb-\\udfff]",Jk="(?:"+un+"|"+ln+")",kc="[^"+Ec+"]",Ic="(?:\\ud83c[\\udde6-\\uddff]){2}",qc="[\\ud800-\\udbff][\\udc00-\\udfff]",Wk="\\u200d",_c=Jk+"?",Oc="["+zk+"]?",Qk="(?:"+Wk+"(?:"+[kc,Ic,qc].join("|")+")"+Oc+_c+")*",Zk=Oc+_c+Qk,Xk="(?:"+[kc+un+"?",un,Ic,qc,Yk].join("|")+")",Sc=RegExp(ln+"(?="+ln+")|"+Xk+Zk,"g");function eI(e){for(var r=Sc.lastIndex=0;Sc.test(e);)++r;return r}Pc.exports=eI});var Nc=f((DT,Cc)=>{"use strict";var rI=vc(),tI=Ac(),nI=Tc();function iI(e){return tI(e)?nI(e):rI(e)}Cc.exports=iI});var jc=f(($T,Rc)=>{"use strict";var oI=_r(),aI=ve(),sI=fe(),uI=bc(),lI=Nc(),cI="[object Map]",fI="[object Set]";function pI(e){if(e==null)return 0;if(sI(e))return uI(e)?lI(e):e.length;var r=aI(e);return r==cI||r==fI?e.size:oI(e).length}Rc.exports=pI});var Fc=f((BT,Mc)=>{"use strict";var dI=Er(),yI=Gt(),mI=zt(),hI=sr(),gI=Cr(),bI=M(),wI=Ce(),vI=ze(),xI=le(),AI=rr();function SI(e,r,t){var n=bI(e),i=n||wI(e)||AI(e);if(r=hI(r,4),t==null){var o=e&&e.constructor;i?t=n?new o:[]:xI(e)?t=vI(o)?yI(gI(e)):{}:t={}}return(i?dI:mI)(e,function(a,s,u){return r(t,a,s,u)}),t}Mc.exports=SI});var Bc=f((VT,$c)=>{"use strict";var Lc=ge(),EI=Qe(),kI=M(),Dc=Lc?Lc.isConcatSpreadable:void 0;function II(e){return kI(e)||EI(e)||!!(Dc&&e&&e[Dc])}$c.exports=II});var Hc=f((UT,Uc)=>{"use strict";var qI=Tr(),_I=Bc();function Vc(e,r,t,n,i){var o=-1,a=e.length;for(t||(t=_I),i||(i=[]);++o<a;){var s=e[o];r>0&&t(s)?r>1?Vc(s,r-1,t,n,i):qI(i,s):n||(i[i.length]=s)}return i}Uc.exports=Vc});var Kc=f((HT,Gc)=>{"use strict";function OI(e,r,t){switch(t.length){case 0:return e.call(r);case 1:return e.call(r,t[0]);case 2:return e.call(r,t[0],t[1]);case 3:return e.call(r,t[0],t[1],t[2])}return e.apply(r,t)}Gc.exports=OI});var Jc=f((GT,Yc)=>{"use strict";var PI=Kc(),zc=Math.max;function TI(e,r,t){return r=zc(r===void 0?e.length-1:r,0),function(){for(var n=arguments,i=-1,o=zc(n.length-r,0),a=Array(o);++i<o;)a[i]=n[r+i];i=-1;for(var s=Array(r+1);++i<r;)s[i]=n[i];return s[r]=t(a),PI(e,this,s)}}Yc.exports=TI});var Zc=f((KT,Qc)=>{"use strict";var CI=Kt(),Wc=It(),NI=or(),RI=Wc?function(e,r){return Wc(e,"toString",{configurable:!0,enumerable:!1,value:CI(r),writable:!0})}:NI;Qc.exports=RI});var ef=f((zT,Xc)=>{"use strict";var jI=800,MI=16,FI=Date.now;function LI(e){var r=0,t=0;return function(){var n=FI(),i=MI-(n-t);if(t=n,i>0){if(++r>=jI)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}Xc.exports=LI});var tf=f((YT,rf)=>{"use strict";var DI=Zc(),$I=ef(),BI=$I(DI);rf.exports=BI});var of=f((JT,nf)=>{"use strict";var VI=or(),UI=Jc(),HI=tf();function GI(e,r){return HI(UI(e,r,VI),e+"")}nf.exports=GI});var sf=f((WT,af)=>{"use strict";function KI(e,r,t,n){for(var i=e.length,o=t+(n?1:-1);n?o--:++o<i;)if(r(e[o],o,e))return o;return-1}af.exports=KI});var lf=f((QT,uf)=>{"use strict";function zI(e){return e!==e}uf.exports=zI});var ff=f((ZT,cf)=>{"use strict";function YI(e,r,t){for(var n=t-1,i=e.length;++n<i;)if(e[n]===r)return n;return-1}cf.exports=YI});var df=f((XT,pf)=>{"use strict";var JI=sf(),WI=lf(),QI=ff();function ZI(e,r,t){return r===r?QI(e,r,t):JI(e,WI,t)}pf.exports=ZI});var mf=f((eC,yf)=>{"use strict";var XI=df();function eq(e,r){var t=e==null?0:e.length;return!!t&&XI(e,r,0)>-1}yf.exports=eq});var gf=f((rC,hf)=>{"use strict";function rq(e,r,t){for(var n=-1,i=e==null?0:e.length;++n<i;)if(t(r,e[n]))return!0;return!1}hf.exports=rq});var wf=f((tC,bf)=>{"use strict";function tq(){}bf.exports=tq});var xf=f((nC,vf)=>{"use strict";var cn=Lt(),nq=wf(),iq=Mr(),oq=1/0,aq=cn&&1/iq(new cn([,-0]))[1]==oq?function(e){return new cn(e)}:nq;vf.exports=aq});var Sf=f((iC,Af)=>{"use strict";var sq=Yt(),uq=mf(),lq=gf(),cq=Jt(),fq=xf(),pq=Mr(),dq=200;function yq(e,r,t){var n=-1,i=uq,o=e.length,a=!0,s=[],u=s;if(t)a=!1,i=lq;else if(o>=dq){var l=r?null:fq(e);if(l)return pq(l);a=!1,i=cq,u=new sq}else u=r?[]:s;e:for(;++n<o;){var p=e[n],d=r?r(p):p;if(p=t||p!==0?p:0,a&&d===d){for(var c=u.length;c--;)if(u[c]===d)continue e;r&&u.push(d),s.push(p)}else i(u,d,t)||(u!==s&&u.push(d),s.push(p))}return s}Af.exports=yq});var kf=f((oC,Ef)=>{"use strict";var mq=fe(),hq=Q();function gq(e){return hq(e)&&mq(e)}Ef.exports=gq});var qf=f((aC,If)=>{"use strict";var bq=Hc(),wq=of(),vq=Sf(),xq=kf(),Aq=wq(function(e){return vq(bq(e,1,xq,!0))});If.exports=Aq});var Of=f((sC,_f)=>{"use strict";var Sq=$r();function Eq(e,r){return Sq(r,function(t){return e[t]})}_f.exports=Eq});var Tf=f((uC,Pf)=>{"use strict";var kq=Of(),Iq=pe();function qq(e){return e==null?[]:kq(e,Iq(e))}Pf.exports=qq});var U=f((lC,Cf)=>{"use strict";var Br;if(typeof jn=="function")try{Br={clone:fu(),constant:Kt(),each:qu(),filter:Zl(),has:tc(),isArray:M(),isEmpty:ic(),isFunction:ze(),isUndefined:ac(),keys:pe(),map:cc(),reduce:hc(),size:jc(),transform:Fc(),union:qf(),values:Tf()}}catch{}Br||(Br=window._);Cf.exports=Br});var Vr=f((fC,Mf)=>{"use strict";var k=U();Mf.exports=_;var _q="\0",xe="\0",Nf="";function _(e){this._isDirected=k.has(e,"directed")?e.directed:!0,this._isMultigraph=k.has(e,"multigraph")?e.multigraph:!1,this._isCompound=k.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=k.constant(void 0),this._defaultEdgeLabelFn=k.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[xe]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}_.prototype._nodeCount=0;_.prototype._edgeCount=0;_.prototype.isDirected=function(){return this._isDirected};_.prototype.isMultigraph=function(){return this._isMultigraph};_.prototype.isCompound=function(){return this._isCompound};_.prototype.setGraph=function(e){return this._label=e,this};_.prototype.graph=function(){return this._label};_.prototype.setDefaultNodeLabel=function(e){return k.isFunction(e)||(e=k.constant(e)),this._defaultNodeLabelFn=e,this};_.prototype.nodeCount=function(){return this._nodeCount};_.prototype.nodes=function(){return k.keys(this._nodes)};_.prototype.sources=function(){var e=this;return k.filter(this.nodes(),function(r){return k.isEmpty(e._in[r])})};_.prototype.sinks=function(){var e=this;return k.filter(this.nodes(),function(r){return k.isEmpty(e._out[r])})};_.prototype.setNodes=function(e,r){var t=arguments,n=this;return k.each(e,function(i){t.length>1?n.setNode(i,r):n.setNode(i)}),this};_.prototype.setNode=function(e,r){return k.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=xe,this._children[e]={},this._children[xe][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)};_.prototype.node=function(e){return this._nodes[e]};_.prototype.hasNode=function(e){return k.has(this._nodes,e)};_.prototype.removeNode=function(e){var r=this;if(k.has(this._nodes,e)){var t=function(n){r.removeEdge(r._edgeObjs[n])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],k.each(this.children(e),function(n){r.setParent(n)}),delete this._children[e]),k.each(k.keys(this._in[e]),t),delete this._in[e],delete this._preds[e],k.each(k.keys(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this};_.prototype.setParent=function(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(k.isUndefined(r))r=xe;else{r+="";for(var t=r;!k.isUndefined(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this};_.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]};_.prototype.parent=function(e){if(this._isCompound){var r=this._parent[e];if(r!==xe)return r}};_.prototype.children=function(e){if(k.isUndefined(e)&&(e=xe),this._isCompound){var r=this._children[e];if(r)return k.keys(r)}else{if(e===xe)return this.nodes();if(this.hasNode(e))return[]}};_.prototype.predecessors=function(e){var r=this._preds[e];if(r)return k.keys(r)};_.prototype.successors=function(e){var r=this._sucs[e];if(r)return k.keys(r)};_.prototype.neighbors=function(e){var r=this.predecessors(e);if(r)return k.union(r,this.successors(e))};_.prototype.isLeaf=function(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0};_.prototype.filterNodes=function(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;k.each(this._nodes,function(o,a){e(a)&&r.setNode(a,o)}),k.each(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var n={};function i(o){var a=t.parent(o);return a===void 0||r.hasNode(a)?(n[o]=a,a):a in n?n[a]:i(a)}return this._isCompound&&k.each(r.nodes(),function(o){r.setParent(o,i(o))}),r};_.prototype.setDefaultEdgeLabel=function(e){return k.isFunction(e)||(e=k.constant(e)),this._defaultEdgeLabelFn=e,this};_.prototype.edgeCount=function(){return this._edgeCount};_.prototype.edges=function(){return k.values(this._edgeObjs)};_.prototype.setPath=function(e,r){var t=this,n=arguments;return k.reduce(e,function(i,o){return n.length>1?t.setEdge(i,o,r):t.setEdge(i,o),o}),this};_.prototype.setEdge=function(){var e,r,t,n,i=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(n=arguments[1],i=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),e=""+e,r=""+r,k.isUndefined(t)||(t=""+t);var a=ur(this._isDirected,e,r,t);if(k.has(this._edgeLabels,a))return i&&(this._edgeLabels[a]=n),this;if(!k.isUndefined(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[a]=i?n:this._defaultEdgeLabelFn(e,r,t);var s=Oq(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[a]=s,Rf(this._preds[r],e),Rf(this._sucs[e],r),this._in[r][a]=s,this._out[e][a]=s,this._edgeCount++,this};_.prototype.edge=function(e,r,t){var n=arguments.length===1?fn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return this._edgeLabels[n]};_.prototype.hasEdge=function(e,r,t){var n=arguments.length===1?fn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return k.has(this._edgeLabels,n)};_.prototype.removeEdge=function(e,r,t){var n=arguments.length===1?fn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t),i=this._edgeObjs[n];return i&&(e=i.v,r=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],jf(this._preds[r],e),jf(this._sucs[e],r),delete this._in[r][n],delete this._out[e][n],this._edgeCount--),this};_.prototype.inEdges=function(e,r){var t=this._in[e];if(t){var n=k.values(t);return r?k.filter(n,function(i){return i.v===r}):n}};_.prototype.outEdges=function(e,r){var t=this._out[e];if(t){var n=k.values(t);return r?k.filter(n,function(i){return i.w===r}):n}};_.prototype.nodeEdges=function(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))};function Rf(e,r){e[r]?e[r]++:e[r]=1}function jf(e,r){--e[r]||delete e[r]}function ur(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}return i+Nf+o+Nf+(k.isUndefined(n)?_q:n)}function Oq(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return n&&(s.name=n),s}function fn(e,r){return ur(e,r.v,r.w,r.name)}});var Lf=f((pC,Ff)=>{"use strict";Ff.exports="2.1.8"});var $f=f((dC,Df)=>{"use strict";Df.exports={Graph:Vr(),version:Lf()}});var Vf=f((yC,Bf)=>{"use strict";var Z=U(),Pq=Vr();Bf.exports={write:Tq,read:Rq};function Tq(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Cq(e),edges:Nq(e)};return Z.isUndefined(e.graph())||(r.value=Z.clone(e.graph())),r}function Cq(e){return Z.map(e.nodes(),function(r){var t=e.node(r),n=e.parent(r),i={v:r};return Z.isUndefined(t)||(i.value=t),Z.isUndefined(n)||(i.parent=n),i})}function Nq(e){return Z.map(e.edges(),function(r){var t=e.edge(r),n={v:r.v,w:r.w};return Z.isUndefined(r.name)||(n.name=r.name),Z.isUndefined(t)||(n.value=t),n})}function Rq(e){var r=new Pq(e.options).setGraph(e.value);return Z.each(e.nodes,function(t){r.setNode(t.v,t.value),t.parent&&r.setParent(t.v,t.parent)}),Z.each(e.edges,function(t){r.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),r}});var Hf=f((mC,Uf)=>{"use strict";var Ur=U();Uf.exports=jq;function jq(e){var r={},t=[],n;function i(o){Ur.has(r,o)||(r[o]=!0,n.push(o),Ur.each(e.successors(o),i),Ur.each(e.predecessors(o),i))}return Ur.each(e.nodes(),function(o){n=[],i(o),n.length&&t.push(n)}),t}});var pn=f((hC,Kf)=>{"use strict";var Gf=U();Kf.exports=H;function H(){this._arr=[],this._keyIndices={}}H.prototype.size=function(){return this._arr.length};H.prototype.keys=function(){return this._arr.map(function(e){return e.key})};H.prototype.has=function(e){return Gf.has(this._keyIndices,e)};H.prototype.priority=function(e){var r=this._keyIndices[e];if(r!==void 0)return this._arr[r].priority};H.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key};H.prototype.add=function(e,r){var t=this._keyIndices;if(e=String(e),!Gf.has(t,e)){var n=this._arr,i=n.length;return t[e]=i,n.push({key:e,priority:r}),this._decrease(i),!0}return!1};H.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key};H.prototype.decrease=function(e,r){var t=this._keyIndices[e];if(r>this._arr[t].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[t].priority+" New: "+r);this._arr[t].priority=r,this._decrease(t)};H.prototype._heapify=function(e){var r=this._arr,t=2*e,n=t+1,i=e;t<r.length&&(i=r[t].priority<r[i].priority?t:i,n<r.length&&(i=r[n].priority<r[i].priority?n:i),i!==e&&(this._swap(e,i),this._heapify(i)))};H.prototype._decrease=function(e){for(var r=this._arr,t=r[e].priority,n;e!==0&&(n=e>>1,!(r[n].priority<t));)this._swap(e,n),e=n};H.prototype._swap=function(e,r){var t=this._arr,n=this._keyIndices,i=t[e],o=t[r];t[e]=o,t[r]=i,n[o.key]=e,n[i.key]=r}});var dn=f((gC,zf)=>{"use strict";var Mq=U(),Fq=pn();zf.exports=Dq;var Lq=Mq.constant(1);function Dq(e,r,t,n){return $q(e,String(r),t||Lq,n||function(i){return e.outEdges(i)})}function $q(e,r,t,n){var i={},o=new Fq,a,s,u=function(l){var p=l.v!==a?l.v:l.w,d=i[p],c=t(l),m=s.distance+c;if(c<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+c);m<d.distance&&(d.distance=m,d.predecessor=a,o.decrease(p,m))};for(e.nodes().forEach(function(l){var p=l===r?0:Number.POSITIVE_INFINITY;i[l]={distance:p},o.add(l,p)});o.size()>0&&(a=o.removeMin(),s=i[a],s.distance!==Number.POSITIVE_INFINITY);)n(a).forEach(u);return i}});var Jf=f((bC,Yf)=>{"use strict";var Bq=dn(),Vq=U();Yf.exports=Uq;function Uq(e,r,t){return Vq.transform(e.nodes(),function(n,i){n[i]=Bq(e,i,r,t)},{})}});var yn=f((wC,Qf)=>{"use strict";var Wf=U();Qf.exports=Hq;function Hq(e){var r=0,t=[],n={},i=[];function o(a){var s=n[a]={onStack:!0,lowlink:r,index:r++};if(t.push(a),e.successors(a).forEach(function(p){Wf.has(n,p)?n[p].onStack&&(s.lowlink=Math.min(s.lowlink,n[p].index)):(o(p),s.lowlink=Math.min(s.lowlink,n[p].lowlink))}),s.lowlink===s.index){var u=[],l;do l=t.pop(),n[l].onStack=!1,u.push(l);while(a!==l);i.push(u)}}return e.nodes().forEach(function(a){Wf.has(n,a)||o(a)}),i}});var Xf=f((vC,Zf)=>{"use strict";var Gq=U(),Kq=yn();Zf.exports=zq;function zq(e){return Gq.filter(Kq(e),function(r){return r.length>1||r.length===1&&e.hasEdge(r[0],r[0])})}});var rp=f((xC,ep)=>{"use strict";var Yq=U();ep.exports=Wq;var Jq=Yq.constant(1);function Wq(e,r,t){return Qq(e,r||Jq,t||function(n){return e.outEdges(n)})}function Qq(e,r,t){var n={},i=e.nodes();return i.forEach(function(o){n[o]={},n[o][o]={distance:0},i.forEach(function(a){o!==a&&(n[o][a]={distance:Number.POSITIVE_INFINITY})}),t(o).forEach(function(a){var s=a.v===o?a.w:a.v,u=r(a);n[o][s]={distance:u,predecessor:o}})}),i.forEach(function(o){var a=n[o];i.forEach(function(s){var u=n[s];i.forEach(function(l){var p=u[o],d=a[l],c=u[l],m=p.distance+d.distance;m<c.distance&&(c.distance=m,c.predecessor=d.predecessor)})})}),n}});var mn=f((AC,np)=>{"use strict";var lr=U();np.exports=tp;tp.CycleException=Hr;function tp(e){var r={},t={},n=[];function i(o){if(lr.has(t,o))throw new Hr;lr.has(r,o)||(t[o]=!0,r[o]=!0,lr.each(e.predecessors(o),i),delete t[o],n.push(o))}if(lr.each(e.sinks(),i),lr.size(r)!==e.nodeCount())throw new Hr;return n}function Hr(){}Hr.prototype=new Error});var ap=f((SC,op)=>{"use strict";var ip=mn();op.exports=Zq;function Zq(e){try{ip(e)}catch(r){if(r instanceof ip.CycleException)return!1;throw r}return!0}});var hn=f((EC,up)=>{"use strict";var Gr=U();up.exports=Xq;function Xq(e,r,t){Gr.isArray(r)||(r=[r]);var n=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],o={};return Gr.each(r,function(a){if(!e.hasNode(a))throw new Error("Graph does not have node: "+a);sp(e,a,t==="post",o,n,i)}),i}function sp(e,r,t,n,i,o){Gr.has(n,r)||(n[r]=!0,t||o.push(r),Gr.each(i(r),function(a){sp(e,a,t,n,i,o)}),t&&o.push(r))}});var cp=f((kC,lp)=>{"use strict";var e_=hn();lp.exports=r_;function r_(e,r){return e_(e,r,"post")}});var pp=f((IC,fp)=>{"use strict";var t_=hn();fp.exports=n_;function n_(e,r){return t_(e,r,"pre")}});var mp=f((qC,yp)=>{"use strict";var dp=U(),i_=Vr(),o_=pn();yp.exports=a_;function a_(e,r){var t=new i_,n={},i=new o_,o;function a(u){var l=u.v===o?u.w:u.v,p=i.priority(l);if(p!==void 0){var d=r(u);d<p&&(n[l]=o,i.decrease(l,d))}}if(e.nodeCount()===0)return t;dp.each(e.nodes(),function(u){i.add(u,Number.POSITIVE_INFINITY),t.setNode(u)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(o=i.removeMin(),dp.has(n,o))t.setEdge(o,n[o]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(o).forEach(a)}return t}});var gp=f((_C,hp)=>{"use strict";hp.exports={components:Hf(),dijkstra:dn(),dijkstraAll:Jf(),findCycles:Xf(),floydWarshall:rp(),isAcyclic:ap(),postorder:cp(),preorder:pp(),prim:mp(),tarjan:yn(),topsort:mn()}});var gn=f((OC,wp)=>{"use strict";var bp=$f();wp.exports={Graph:bp.Graph,json:Vf(),alg:gp(),version:bp.version}});function Zn(e){return typeof e>"u"||e===null}function td(e){return typeof e=="object"&&e!==null}function nd(e){return Array.isArray(e)?e:Zn(e)?[]:[e]}function id(e,r){var t,n,i,o;if(r)for(o=Object.keys(r),t=0,n=o.length;t<n;t+=1)i=o[t],e[i]=r[i];return e}function od(e,r){var t="",n;for(n=0;n<r;n+=1)t+=e;return t}function ad(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var sd=Zn,ud=td,ld=nd,cd=od,fd=ad,pd=id,j={isNothing:sd,isObject:ud,toArray:ld,repeat:cd,isNegativeZero:fd,extend:pd};function Xn(e,r){var t="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(t+='in "'+e.mark.name+'" '),t+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(t+=`
|
|
2
2
|
|
|
3
|
-
`+e.mark.snippet),n+" "+t):n}function $e(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=Xn(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}$e.prototype=Object.create(Error.prototype);$e.prototype.constructor=$e;$e.prototype.toString=function(r){return this.name+": "+Xn(this,r)};var B=$e;function ct(e,r,t,n,i){var o="",a="",s=Math.floor(i/2)-1;return n-r>s&&(o=" ... ",r=n-s+o.length),t-n>s&&(a=" ...",t=n+s-a.length),{str:o+e.slice(r,t).replace(/\t/g,"\u2192")+a,pos:n-r+o.length}}function ft(e,r){return
|
|
4
|
-
`+s;for(l=ct(e.buffer,n[a],i[a],e.position,d),s+=
|
|
5
|
-
`,s+=
|
|
6
|
-
`,u=1;u<=r.linesAfter&&!(a+u>=i.length);u++)l=ct(e.buffer,n[a+u],i[a+u],e.position-(n[a]-n[a+u]),d),s+=
|
|
7
|
-
`;return s.replace(/\n$/,"")}var dd
|
|
8
|
-
\r`;function
|
|
9
|
-
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function Iy(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var si=new Array(256),ui=new Array(256);for(me=0;me<256;me++)si[me]=$n(me)?1:0,ui[me]=$n(me);var me;function
|
|
10
|
-
`,r-1))}function
|
|
3
|
+
`+e.mark.snippet),n+" "+t):n}function $e(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=Xn(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}$e.prototype=Object.create(Error.prototype);$e.prototype.constructor=$e;$e.prototype.toString=function(r){return this.name+": "+Xn(this,r)};var B=$e;function ct(e,r,t,n,i){var o="",a="",s=Math.floor(i/2)-1;return n-r>s&&(o=" ... ",r=n-s+o.length),t-n>s&&(a=" ...",t=n+s-a.length),{str:o+e.slice(r,t).replace(/\t/g,"\u2192")+a,pos:n-r+o.length}}function ft(e,r){return j.repeat(" ",r-e.length)+e}function dd(e,r){if(r=Object.create(r||null),!e.buffer)return null;r.maxLength||(r.maxLength=79),typeof r.indent!="number"&&(r.indent=1),typeof r.linesBefore!="number"&&(r.linesBefore=3),typeof r.linesAfter!="number"&&(r.linesAfter=2);for(var t=/\r?\n|\r|\0/g,n=[0],i=[],o,a=-1;o=t.exec(e.buffer);)i.push(o.index),n.push(o.index+o[0].length),e.position<=o.index&&a<0&&(a=n.length-2);a<0&&(a=n.length-1);var s="",u,l,p=Math.min(e.line+r.linesAfter,i.length).toString().length,d=r.maxLength-(r.indent+p+3);for(u=1;u<=r.linesBefore&&!(a-u<0);u++)l=ct(e.buffer,n[a-u],i[a-u],e.position-(n[a]-n[a-u]),d),s=j.repeat(" ",r.indent)+ft((e.line-u+1).toString(),p)+" | "+l.str+`
|
|
4
|
+
`+s;for(l=ct(e.buffer,n[a],i[a],e.position,d),s+=j.repeat(" ",r.indent)+ft((e.line+1).toString(),p)+" | "+l.str+`
|
|
5
|
+
`,s+=j.repeat("-",r.indent+p+3+l.pos)+`^
|
|
6
|
+
`,u=1;u<=r.linesAfter&&!(a+u>=i.length);u++)l=ct(e.buffer,n[a+u],i[a+u],e.position-(n[a]-n[a+u]),d),s+=j.repeat(" ",r.indent)+ft((e.line+u+1).toString(),p)+" | "+l.str+`
|
|
7
|
+
`;return s.replace(/\n$/,"")}var yd=dd,md=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],hd=["scalar","sequence","mapping"];function gd(e){var r={};return e!==null&&Object.keys(e).forEach(function(t){e[t].forEach(function(n){r[String(n)]=t})}),r}function bd(e,r){if(r=r||{},Object.keys(r).forEach(function(t){if(md.indexOf(t)===-1)throw new B('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.options=r,this.tag=e,this.kind=r.kind||null,this.resolve=r.resolve||function(){return!0},this.construct=r.construct||function(t){return t},this.instanceOf=r.instanceOf||null,this.predicate=r.predicate||null,this.represent=r.represent||null,this.representName=r.representName||null,this.defaultStyle=r.defaultStyle||null,this.multi=r.multi||!1,this.styleAliases=gd(r.styleAliases||null),hd.indexOf(this.kind)===-1)throw new B('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var L=bd;function Fn(e,r){var t=[];return e[r].forEach(function(n){var i=t.length;t.forEach(function(o,a){o.tag===n.tag&&o.kind===n.kind&&o.multi===n.multi&&(i=a)}),t[i]=n}),t}function wd(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},r,t;function n(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(r=0,t=arguments.length;r<t;r+=1)arguments[r].forEach(n);return e}function dt(e){return this.extend(e)}dt.prototype.extend=function(r){var t=[],n=[];if(r instanceof L)n.push(r);else if(Array.isArray(r))n=n.concat(r);else if(r&&(Array.isArray(r.implicit)||Array.isArray(r.explicit)))r.implicit&&(t=t.concat(r.implicit)),r.explicit&&(n=n.concat(r.explicit));else throw new B("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.forEach(function(o){if(!(o instanceof L))throw new B("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(o.loadKind&&o.loadKind!=="scalar")throw new B("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(o.multi)throw new B("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(o){if(!(o instanceof L))throw new B("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(dt.prototype);return i.implicit=(this.implicit||[]).concat(t),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=Fn(i,"implicit"),i.compiledExplicit=Fn(i,"explicit"),i.compiledTypeMap=wd(i.compiledImplicit,i.compiledExplicit),i};var vd=dt,xd=new L("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Ad=new L("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Sd=new L("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Ed=new vd({explicit:[xd,Ad,Sd]});function kd(e){if(e===null)return!0;var r=e.length;return r===1&&e==="~"||r===4&&(e==="null"||e==="Null"||e==="NULL")}function Id(){return null}function qd(e){return e===null}var _d=new L("tag:yaml.org,2002:null",{kind:"scalar",resolve:kd,construct:Id,predicate:qd,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Od(e){if(e===null)return!1;var r=e.length;return r===4&&(e==="true"||e==="True"||e==="TRUE")||r===5&&(e==="false"||e==="False"||e==="FALSE")}function Pd(e){return e==="true"||e==="True"||e==="TRUE"}function Td(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Cd=new L("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Od,construct:Pd,predicate:Td,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function Nd(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Rd(e){return 48<=e&&e<=55}function jd(e){return 48<=e&&e<=57}function Md(e){if(e===null)return!1;var r=e.length,t=0,n=!1,i;if(!r)return!1;if(i=e[t],(i==="-"||i==="+")&&(i=e[++t]),i==="0"){if(t+1===r)return!0;if(i=e[++t],i==="b"){for(t++;t<r;t++)if(i=e[t],i!=="_"){if(i!=="0"&&i!=="1")return!1;n=!0}return n&&i!=="_"}if(i==="x"){for(t++;t<r;t++)if(i=e[t],i!=="_"){if(!Nd(e.charCodeAt(t)))return!1;n=!0}return n&&i!=="_"}if(i==="o"){for(t++;t<r;t++)if(i=e[t],i!=="_"){if(!Rd(e.charCodeAt(t)))return!1;n=!0}return n&&i!=="_"}}if(i==="_")return!1;for(;t<r;t++)if(i=e[t],i!=="_"){if(!jd(e.charCodeAt(t)))return!1;n=!0}return!(!n||i==="_")}function Fd(e){var r=e,t=1,n;if(r.indexOf("_")!==-1&&(r=r.replace(/_/g,"")),n=r[0],(n==="-"||n==="+")&&(n==="-"&&(t=-1),r=r.slice(1),n=r[0]),r==="0")return 0;if(n==="0"){if(r[1]==="b")return t*parseInt(r.slice(2),2);if(r[1]==="x")return t*parseInt(r.slice(2),16);if(r[1]==="o")return t*parseInt(r.slice(2),8)}return t*parseInt(r,10)}function Ld(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!j.isNegativeZero(e)}var Dd=new L("tag:yaml.org,2002:int",{kind:"scalar",resolve:Md,construct:Fd,predicate:Ld,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),$d=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Bd(e){return!(e===null||!$d.test(e)||e[e.length-1]==="_")}function Vd(e){var r,t;return r=e.replace(/_/g,"").toLowerCase(),t=r[0]==="-"?-1:1,"+-".indexOf(r[0])>=0&&(r=r.slice(1)),r===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:r===".nan"?NaN:t*parseFloat(r,10)}var Ud=/^[-+]?[0-9]+e/;function Hd(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(j.isNegativeZero(e))return"-0.0";return t=e.toString(10),Ud.test(t)?t.replace("e",".e"):t}function Gd(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||j.isNegativeZero(e))}var Kd=new L("tag:yaml.org,2002:float",{kind:"scalar",resolve:Bd,construct:Vd,predicate:Gd,represent:Hd,defaultStyle:"lowercase"}),zd=Ed.extend({implicit:[_d,Cd,Dd,Kd]}),Yd=zd,ei=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),ri=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Jd(e){return e===null?!1:ei.exec(e)!==null||ri.exec(e)!==null}function Wd(e){var r,t,n,i,o,a,s,u=0,l=null,p,d,c;if(r=ei.exec(e),r===null&&(r=ri.exec(e)),r===null)throw new Error("Date resolve error");if(t=+r[1],n=+r[2]-1,i=+r[3],!r[4])return new Date(Date.UTC(t,n,i));if(o=+r[4],a=+r[5],s=+r[6],r[7]){for(u=r[7].slice(0,3);u.length<3;)u+="0";u=+u}return r[9]&&(p=+r[10],d=+(r[11]||0),l=(p*60+d)*6e4,r[9]==="-"&&(l=-l)),c=new Date(Date.UTC(t,n,i,o,a,s,u)),l&&c.setTime(c.getTime()-l),c}function Qd(e){return e.toISOString()}var Zd=new L("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Jd,construct:Wd,instanceOf:Date,represent:Qd});function Xd(e){return e==="<<"||e===null}var ey=new L("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Xd}),bt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
8
|
+
\r`;function ry(e){if(e===null)return!1;var r,t,n=0,i=e.length,o=bt;for(t=0;t<i;t++)if(r=o.indexOf(e.charAt(t)),!(r>64)){if(r<0)return!1;n+=6}return n%8===0}function ty(e){var r,t,n=e.replace(/[\r\n=]/g,""),i=n.length,o=bt,a=0,s=[];for(r=0;r<i;r++)r%4===0&&r&&(s.push(a>>16&255),s.push(a>>8&255),s.push(a&255)),a=a<<6|o.indexOf(n.charAt(r));return t=i%4*6,t===0?(s.push(a>>16&255),s.push(a>>8&255),s.push(a&255)):t===18?(s.push(a>>10&255),s.push(a>>2&255)):t===12&&s.push(a>>4&255),new Uint8Array(s)}function ny(e){var r="",t=0,n,i,o=e.length,a=bt;for(n=0;n<o;n++)n%3===0&&n&&(r+=a[t>>18&63],r+=a[t>>12&63],r+=a[t>>6&63],r+=a[t&63]),t=(t<<8)+e[n];return i=o%3,i===0?(r+=a[t>>18&63],r+=a[t>>12&63],r+=a[t>>6&63],r+=a[t&63]):i===2?(r+=a[t>>10&63],r+=a[t>>4&63],r+=a[t<<2&63],r+=a[64]):i===1&&(r+=a[t>>2&63],r+=a[t<<4&63],r+=a[64],r+=a[64]),r}function iy(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var oy=new L("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ry,construct:ty,predicate:iy,represent:ny}),ay=Object.prototype.hasOwnProperty,sy=Object.prototype.toString;function uy(e){if(e===null)return!0;var r=[],t,n,i,o,a,s=e;for(t=0,n=s.length;t<n;t+=1){if(i=s[t],a=!1,sy.call(i)!=="[object Object]")return!1;for(o in i)if(ay.call(i,o))if(!a)a=!0;else return!1;if(!a)return!1;if(r.indexOf(o)===-1)r.push(o);else return!1}return!0}function ly(e){return e!==null?e:[]}var cy=new L("tag:yaml.org,2002:omap",{kind:"sequence",resolve:uy,construct:ly}),fy=Object.prototype.toString;function py(e){if(e===null)return!0;var r,t,n,i,o,a=e;for(o=new Array(a.length),r=0,t=a.length;r<t;r+=1){if(n=a[r],fy.call(n)!=="[object Object]"||(i=Object.keys(n),i.length!==1))return!1;o[r]=[i[0],n[i[0]]]}return!0}function dy(e){if(e===null)return[];var r,t,n,i,o,a=e;for(o=new Array(a.length),r=0,t=a.length;r<t;r+=1)n=a[r],i=Object.keys(n),o[r]=[i[0],n[i[0]]];return o}var yy=new L("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:py,construct:dy}),my=Object.prototype.hasOwnProperty;function hy(e){if(e===null)return!0;var r,t=e;for(r in t)if(my.call(t,r)&&t[r]!==null)return!1;return!0}function gy(e){return e!==null?e:{}}var by=new L("tag:yaml.org,2002:set",{kind:"mapping",resolve:hy,construct:gy}),ti=Yd.extend({implicit:[Zd,ey],explicit:[oy,cy,yy,by]}),ue=Object.prototype.hasOwnProperty,yr=1,ni=2,ii=3,mr=4,pt=1,wy=2,Ln=3,vy=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,xy=/[\x85\u2028\u2029]/,Ay=/[,\[\]\{\}]/,oi=/^(?:!|!!|![a-z\-]+!)$/i,ai=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Dn(e){return Object.prototype.toString.call(e)}function W(e){return e===10||e===13}function he(e){return e===9||e===32}function V(e){return e===9||e===32||e===10||e===13}function Ee(e){return e===44||e===91||e===93||e===123||e===125}function Sy(e){var r;return 48<=e&&e<=57?e-48:(r=e|32,97<=r&&r<=102?r-97+10:-1)}function Ey(e){return e===120?2:e===117?4:e===85?8:0}function ky(e){return 48<=e&&e<=57?e-48:-1}function $n(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
9
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function Iy(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var si=new Array(256),ui=new Array(256);for(me=0;me<256;me++)si[me]=$n(me)?1:0,ui[me]=$n(me);var me;function qy(e,r){this.input=e,this.filename=r.filename||null,this.schema=r.schema||ti,this.onWarning=r.onWarning||null,this.legacy=r.legacy||!1,this.json=r.json||!1,this.listener=r.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function li(e,r){var t={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return t.snippet=yd(t),new B(r,t)}function x(e,r){throw li(e,r)}function hr(e,r){e.onWarning&&e.onWarning.call(null,li(e,r))}var Bn={YAML:function(r,t,n){var i,o,a;r.version!==null&&x(r,"duplication of %YAML directive"),n.length!==1&&x(r,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&x(r,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),a=parseInt(i[2],10),o!==1&&x(r,"unacceptable YAML version of the document"),r.version=n[0],r.checkLineBreaks=a<2,a!==1&&a!==2&&hr(r,"unsupported YAML version of the document")},TAG:function(r,t,n){var i,o;n.length!==2&&x(r,"TAG directive accepts exactly two arguments"),i=n[0],o=n[1],oi.test(i)||x(r,"ill-formed tag handle (first argument) of the TAG directive"),ue.call(r.tagMap,i)&&x(r,'there is a previously declared suffix for "'+i+'" tag handle'),ai.test(o)||x(r,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{x(r,"tag prefix is malformed: "+o)}r.tagMap[i]=o}};function se(e,r,t,n){var i,o,a,s;if(r<t){if(s=e.input.slice(r,t),n)for(i=0,o=s.length;i<o;i+=1)a=s.charCodeAt(i),a===9||32<=a&&a<=1114111||x(e,"expected valid JSON character");else vy.test(s)&&x(e,"the stream contains non-printable characters");e.result+=s}}function Vn(e,r,t,n){var i,o,a,s;for(j.isObject(t)||x(e,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(t),a=0,s=i.length;a<s;a+=1)o=i[a],ue.call(r,o)||(r[o]=t[o],n[o]=!0)}function ke(e,r,t,n,i,o,a,s,u){var l,p;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),l=0,p=i.length;l<p;l+=1)Array.isArray(i[l])&&x(e,"nested arrays are not supported inside keys"),typeof i=="object"&&Dn(i[l])==="[object Object]"&&(i[l]="[object Object]");if(typeof i=="object"&&Dn(i)==="[object Object]"&&(i="[object Object]"),i=String(i),r===null&&(r={}),n==="tag:yaml.org,2002:merge")if(Array.isArray(o))for(l=0,p=o.length;l<p;l+=1)Vn(e,r,o[l],t);else Vn(e,r,o,t);else!e.json&&!ue.call(t,i)&&ue.call(r,i)&&(e.line=a||e.line,e.lineStart=s||e.lineStart,e.position=u||e.position,x(e,"duplicated mapping key")),i==="__proto__"?Object.defineProperty(r,i,{configurable:!0,enumerable:!0,writable:!0,value:o}):r[i]=o,delete t[i];return r}function wt(e){var r;r=e.input.charCodeAt(e.position),r===10?e.position++:r===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):x(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function N(e,r,t){for(var n=0,i=e.input.charCodeAt(e.position);i!==0;){for(;he(i);)i===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(r&&i===35)do i=e.input.charCodeAt(++e.position);while(i!==10&&i!==13&&i!==0);if(W(i))for(wt(e),i=e.input.charCodeAt(e.position),n++,e.lineIndent=0;i===32;)e.lineIndent++,i=e.input.charCodeAt(++e.position);else break}return t!==-1&&n!==0&&e.lineIndent<t&&hr(e,"deficient indentation"),n}function wr(e){var r=e.position,t;return t=e.input.charCodeAt(r),!!((t===45||t===46)&&t===e.input.charCodeAt(r+1)&&t===e.input.charCodeAt(r+2)&&(r+=3,t=e.input.charCodeAt(r),t===0||V(t)))}function vt(e,r){r===1?e.result+=" ":r>1&&(e.result+=j.repeat(`
|
|
10
|
+
`,r-1))}function _y(e,r,t){var n,i,o,a,s,u,l,p,d=e.kind,c=e.result,m;if(m=e.input.charCodeAt(e.position),V(m)||Ee(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=e.input.charCodeAt(e.position+1),V(i)||t&&Ee(i)))return!1;for(e.kind="scalar",e.result="",o=a=e.position,s=!1;m!==0;){if(m===58){if(i=e.input.charCodeAt(e.position+1),V(i)||t&&Ee(i))break}else if(m===35){if(n=e.input.charCodeAt(e.position-1),V(n))break}else{if(e.position===e.lineStart&&wr(e)||t&&Ee(m))break;if(W(m))if(u=e.line,l=e.lineStart,p=e.lineIndent,N(e,!1,-1),e.lineIndent>=r){s=!0,m=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=u,e.lineStart=l,e.lineIndent=p;break}}s&&(se(e,o,a,!1),vt(e,e.line-u),o=a=e.position,s=!1),he(m)||(a=e.position+1),m=e.input.charCodeAt(++e.position)}return se(e,o,a,!1),e.result?!0:(e.kind=d,e.result=c,!1)}function Oy(e,r){var t,n,i;if(t=e.input.charCodeAt(e.position),t!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(t=e.input.charCodeAt(e.position))!==0;)if(t===39)if(se(e,n,e.position,!0),t=e.input.charCodeAt(++e.position),t===39)n=e.position,e.position++,i=e.position;else return!0;else W(t)?(se(e,n,i,!0),vt(e,N(e,!1,r)),n=i=e.position):e.position===e.lineStart&&wr(e)?x(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);x(e,"unexpected end of the stream within a single quoted scalar")}function Py(e,r){var t,n,i,o,a,s;if(s=e.input.charCodeAt(e.position),s!==34)return!1;for(e.kind="scalar",e.result="",e.position++,t=n=e.position;(s=e.input.charCodeAt(e.position))!==0;){if(s===34)return se(e,t,e.position,!0),e.position++,!0;if(s===92){if(se(e,t,e.position,!0),s=e.input.charCodeAt(++e.position),W(s))N(e,!1,r);else if(s<256&&si[s])e.result+=ui[s],e.position++;else if((a=Ey(s))>0){for(i=a,o=0;i>0;i--)s=e.input.charCodeAt(++e.position),(a=Sy(s))>=0?o=(o<<4)+a:x(e,"expected hexadecimal character");e.result+=Iy(o),e.position++}else x(e,"unknown escape sequence");t=n=e.position}else W(s)?(se(e,t,n,!0),vt(e,N(e,!1,r)),t=n=e.position):e.position===e.lineStart&&wr(e)?x(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}x(e,"unexpected end of the stream within a double quoted scalar")}function Ty(e,r){var t=!0,n,i,o,a=e.tag,s,u=e.anchor,l,p,d,c,m,y=Object.create(null),h,b,g,v;if(v=e.input.charCodeAt(e.position),v===91)p=93,m=!1,s=[];else if(v===123)p=125,m=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),v=e.input.charCodeAt(++e.position);v!==0;){if(N(e,!0,r),v=e.input.charCodeAt(e.position),v===p)return e.position++,e.tag=a,e.anchor=u,e.kind=m?"mapping":"sequence",e.result=s,!0;t?v===44&&x(e,"expected the node content, but found ','"):x(e,"missed comma between flow collection entries"),b=h=g=null,d=c=!1,v===63&&(l=e.input.charCodeAt(e.position+1),V(l)&&(d=c=!0,e.position++,N(e,!0,r))),n=e.line,i=e.lineStart,o=e.position,Ie(e,r,yr,!1,!0),b=e.tag,h=e.result,N(e,!0,r),v=e.input.charCodeAt(e.position),(c||e.line===n)&&v===58&&(d=!0,v=e.input.charCodeAt(++e.position),N(e,!0,r),Ie(e,r,yr,!1,!0),g=e.result),m?ke(e,s,y,b,h,g,n,i,o):d?s.push(ke(e,null,y,b,h,g,n,i,o)):s.push(h),N(e,!0,r),v=e.input.charCodeAt(e.position),v===44?(t=!0,v=e.input.charCodeAt(++e.position)):t=!1}x(e,"unexpected end of the stream within a flow collection")}function Cy(e,r){var t,n,i=pt,o=!1,a=!1,s=r,u=0,l=!1,p,d;if(d=e.input.charCodeAt(e.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(e.kind="scalar",e.result="";d!==0;)if(d=e.input.charCodeAt(++e.position),d===43||d===45)pt===i?i=d===43?Ln:wy:x(e,"repeat of a chomping mode identifier");else if((p=ky(d))>=0)p===0?x(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?x(e,"repeat of an indentation width identifier"):(s=r+p-1,a=!0);else break;if(he(d)){do d=e.input.charCodeAt(++e.position);while(he(d));if(d===35)do d=e.input.charCodeAt(++e.position);while(!W(d)&&d!==0)}for(;d!==0;){for(wt(e),e.lineIndent=0,d=e.input.charCodeAt(e.position);(!a||e.lineIndent<s)&&d===32;)e.lineIndent++,d=e.input.charCodeAt(++e.position);if(!a&&e.lineIndent>s&&(s=e.lineIndent),W(d)){u++;continue}if(e.lineIndent<s){i===Ln?e.result+=j.repeat(`
|
|
11
11
|
`,o?1+u:u):i===pt&&o&&(e.result+=`
|
|
12
|
-
`);break}for(n?he(d)?(l=!0,e.result+=
|
|
13
|
-
`,o?1+u:u)):l?(l=!1,e.result+=
|
|
14
|
-
`,u+1)):u===0?o&&(e.result+=" "):e.result+=
|
|
15
|
-
`,u):e.result+=
|
|
16
|
-
`,o?1+u:u),o=!0,a=!0,u=0,t=e.position;!W(d)&&d!==0;)d=e.input.charCodeAt(++e.position);se(e,t,e.position,!1)}return!0}function Un(e,r){var t,n=e.tag,i=e.anchor,o=[],a,s=!1,u;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),u=e.input.charCodeAt(e.position);u!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,x(e,"tab characters must not be used in indentation")),!(u!==45||(a=e.input.charCodeAt(e.position+1),!V(a))));){if(s=!0,e.position++,N(e,!0,-1)&&e.lineIndent<=r){o.push(null),u=e.input.charCodeAt(e.position);continue}if(t=e.line,
|
|
17
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var t=new
|
|
12
|
+
`);break}for(n?he(d)?(l=!0,e.result+=j.repeat(`
|
|
13
|
+
`,o?1+u:u)):l?(l=!1,e.result+=j.repeat(`
|
|
14
|
+
`,u+1)):u===0?o&&(e.result+=" "):e.result+=j.repeat(`
|
|
15
|
+
`,u):e.result+=j.repeat(`
|
|
16
|
+
`,o?1+u:u),o=!0,a=!0,u=0,t=e.position;!W(d)&&d!==0;)d=e.input.charCodeAt(++e.position);se(e,t,e.position,!1)}return!0}function Un(e,r){var t,n=e.tag,i=e.anchor,o=[],a,s=!1,u;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),u=e.input.charCodeAt(e.position);u!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,x(e,"tab characters must not be used in indentation")),!(u!==45||(a=e.input.charCodeAt(e.position+1),!V(a))));){if(s=!0,e.position++,N(e,!0,-1)&&e.lineIndent<=r){o.push(null),u=e.input.charCodeAt(e.position);continue}if(t=e.line,Ie(e,r,ii,!1,!0),o.push(e.result),N(e,!0,-1),u=e.input.charCodeAt(e.position),(e.line===t||e.lineIndent>r)&&u!==0)x(e,"bad indentation of a sequence entry");else if(e.lineIndent<r)break}return s?(e.tag=n,e.anchor=i,e.kind="sequence",e.result=o,!0):!1}function Ny(e,r,t){var n,i,o,a,s,u,l=e.tag,p=e.anchor,d={},c=Object.create(null),m=null,y=null,h=null,b=!1,g=!1,v;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=d),v=e.input.charCodeAt(e.position);v!==0;){if(!b&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,x(e,"tab characters must not be used in indentation")),n=e.input.charCodeAt(e.position+1),o=e.line,(v===63||v===58)&&V(n))v===63?(b&&(ke(e,d,c,m,y,null,a,s,u),m=y=h=null),g=!0,b=!0,i=!0):b?(b=!1,i=!0):x(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,v=n;else{if(a=e.line,s=e.lineStart,u=e.position,!Ie(e,t,ni,!1,!0))break;if(e.line===o){for(v=e.input.charCodeAt(e.position);he(v);)v=e.input.charCodeAt(++e.position);if(v===58)v=e.input.charCodeAt(++e.position),V(v)||x(e,"a whitespace character is expected after the key-value separator within a block mapping"),b&&(ke(e,d,c,m,y,null,a,s,u),m=y=h=null),g=!0,b=!1,i=!1,m=e.tag,y=e.result;else if(g)x(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=l,e.anchor=p,!0}else if(g)x(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=l,e.anchor=p,!0}if((e.line===o||e.lineIndent>r)&&(b&&(a=e.line,s=e.lineStart,u=e.position),Ie(e,r,mr,!0,i)&&(b?y=e.result:h=e.result),b||(ke(e,d,c,m,y,h,a,s,u),m=y=h=null),N(e,!0,-1),v=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>r)&&v!==0)x(e,"bad indentation of a mapping entry");else if(e.lineIndent<r)break}return b&&ke(e,d,c,m,y,null,a,s,u),g&&(e.tag=l,e.anchor=p,e.kind="mapping",e.result=d),g}function Ry(e){var r,t=!1,n=!1,i,o,a;if(a=e.input.charCodeAt(e.position),a!==33)return!1;if(e.tag!==null&&x(e,"duplication of a tag property"),a=e.input.charCodeAt(++e.position),a===60?(t=!0,a=e.input.charCodeAt(++e.position)):a===33?(n=!0,i="!!",a=e.input.charCodeAt(++e.position)):i="!",r=e.position,t){do a=e.input.charCodeAt(++e.position);while(a!==0&&a!==62);e.position<e.length?(o=e.input.slice(r,e.position),a=e.input.charCodeAt(++e.position)):x(e,"unexpected end of the stream within a verbatim tag")}else{for(;a!==0&&!V(a);)a===33&&(n?x(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(r-1,e.position+1),oi.test(i)||x(e,"named tag handle cannot contain such characters"),n=!0,r=e.position+1)),a=e.input.charCodeAt(++e.position);o=e.input.slice(r,e.position),Ay.test(o)&&x(e,"tag suffix cannot contain flow indicator characters")}o&&!ai.test(o)&&x(e,"tag name cannot contain such characters: "+o);try{o=decodeURIComponent(o)}catch{x(e,"tag name is malformed: "+o)}return t?e.tag=o:ue.call(e.tagMap,i)?e.tag=e.tagMap[i]+o:i==="!"?e.tag="!"+o:i==="!!"?e.tag="tag:yaml.org,2002:"+o:x(e,'undeclared tag handle "'+i+'"'),!0}function jy(e){var r,t;if(t=e.input.charCodeAt(e.position),t!==38)return!1;for(e.anchor!==null&&x(e,"duplication of an anchor property"),t=e.input.charCodeAt(++e.position),r=e.position;t!==0&&!V(t)&&!Ee(t);)t=e.input.charCodeAt(++e.position);return e.position===r&&x(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(r,e.position),!0}function My(e){var r,t,n;if(n=e.input.charCodeAt(e.position),n!==42)return!1;for(n=e.input.charCodeAt(++e.position),r=e.position;n!==0&&!V(n)&&!Ee(n);)n=e.input.charCodeAt(++e.position);return e.position===r&&x(e,"name of an alias node must contain at least one character"),t=e.input.slice(r,e.position),ue.call(e.anchorMap,t)||x(e,'unidentified alias "'+t+'"'),e.result=e.anchorMap[t],N(e,!0,-1),!0}function Ie(e,r,t,n,i){var o,a,s,u=1,l=!1,p=!1,d,c,m,y,h,b;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=mr===t||ii===t,n&&N(e,!0,-1)&&(l=!0,e.lineIndent>r?u=1:e.lineIndent===r?u=0:e.lineIndent<r&&(u=-1)),u===1)for(;Ry(e)||jy(e);)N(e,!0,-1)?(l=!0,s=o,e.lineIndent>r?u=1:e.lineIndent===r?u=0:e.lineIndent<r&&(u=-1)):s=!1;if(s&&(s=l||i),(u===1||mr===t)&&(yr===t||ni===t?h=r:h=r+1,b=e.position-e.lineStart,u===1?s&&(Un(e,b)||Ny(e,b,h))||Ty(e,h)?p=!0:(a&&Cy(e,h)||Oy(e,h)||Py(e,h)?p=!0:My(e)?(p=!0,(e.tag!==null||e.anchor!==null)&&x(e,"alias node should not have any properties")):_y(e,h,yr===t)&&(p=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):u===0&&(p=s&&Un(e,b))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&x(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),d=0,c=e.implicitTypes.length;d<c;d+=1)if(y=e.implicitTypes[d],y.resolve(e.result)){e.result=y.construct(e.result),e.tag=y.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(ue.call(e.typeMap[e.kind||"fallback"],e.tag))y=e.typeMap[e.kind||"fallback"][e.tag];else for(y=null,m=e.typeMap.multi[e.kind||"fallback"],d=0,c=m.length;d<c;d+=1)if(e.tag.slice(0,m[d].tag.length)===m[d].tag){y=m[d];break}y||x(e,"unknown tag !<"+e.tag+">"),e.result!==null&&y.kind!==e.kind&&x(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+y.kind+'", not "'+e.kind+'"'),y.resolve(e.result,e.tag)?(e.result=y.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):x(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}function Fy(e){var r=e.position,t,n,i,o=!1,a;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(a=e.input.charCodeAt(e.position))!==0&&(N(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||a!==37));){for(o=!0,a=e.input.charCodeAt(++e.position),t=e.position;a!==0&&!V(a);)a=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&x(e,"directive name must not be less than one character in length");a!==0;){for(;he(a);)a=e.input.charCodeAt(++e.position);if(a===35){do a=e.input.charCodeAt(++e.position);while(a!==0&&!W(a));break}if(W(a))break;for(t=e.position;a!==0&&!V(a);)a=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}a!==0&&wt(e),ue.call(Bn,n)?Bn[n](e,n,i):hr(e,'unknown document directive "'+n+'"')}if(N(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,N(e,!0,-1)):o&&x(e,"directives end mark is expected"),Ie(e,e.lineIndent-1,mr,!1,!0),N(e,!0,-1),e.checkLineBreaks&&xy.test(e.input.slice(r,e.position))&&hr(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&wr(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,N(e,!0,-1));return}if(e.position<e.length-1)x(e,"end of the stream or a document separator is expected");else return}function ci(e,r){e=String(e),r=r||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
17
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var t=new qy(e,r),n=e.indexOf("\0");for(n!==-1&&(t.position=n,x(t,"null byte is not allowed in input")),t.input+="\0";t.input.charCodeAt(t.position)===32;)t.lineIndent+=1,t.position+=1;for(;t.position<t.length-1;)Fy(t);return t.documents}function Ly(e,r,t){r!==null&&typeof r=="object"&&typeof t>"u"&&(t=r,r=null);var n=ci(e,t);if(typeof r!="function")return n;for(var i=0,o=n.length;i<o;i+=1)r(n[i])}function Dy(e,r){var t=ci(e,r);if(t.length!==0){if(t.length===1)return t[0];throw new B("expected a single document in the stream, but found more")}}var $y=Ly,By=Dy,fi={loadAll:$y,load:By},pi=Object.prototype.toString,di=Object.prototype.hasOwnProperty,xt=65279,Vy=9,Be=10,Uy=13,Hy=32,Gy=33,Ky=34,yt=35,zy=37,Yy=38,Jy=39,Wy=42,yi=44,Qy=45,gr=58,Zy=61,Xy=62,em=63,rm=64,mi=91,hi=93,tm=96,gi=123,nm=124,bi=125,D={};D[0]="\\0";D[7]="\\a";D[8]="\\b";D[9]="\\t";D[10]="\\n";D[11]="\\v";D[12]="\\f";D[13]="\\r";D[27]="\\e";D[34]='\\"';D[92]="\\\\";D[133]="\\N";D[160]="\\_";D[8232]="\\L";D[8233]="\\P";var im=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],om=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function am(e,r){var t,n,i,o,a,s,u;if(r===null)return{};for(t={},n=Object.keys(r),i=0,o=n.length;i<o;i+=1)a=n[i],s=String(r[a]),a.slice(0,2)==="!!"&&(a="tag:yaml.org,2002:"+a.slice(2)),u=e.compiledTypeMap.fallback[a],u&&di.call(u.styleAliases,s)&&(s=u.styleAliases[s]),t[a]=s;return t}function sm(e){var r,t,n;if(r=e.toString(16).toUpperCase(),e<=255)t="x",n=2;else if(e<=65535)t="u",n=4;else if(e<=4294967295)t="U",n=8;else throw new B("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+t+j.repeat("0",n-r.length)+r}var um=1,Ve=2;function lm(e){this.schema=e.schema||ti,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=j.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=am(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?Ve:um,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Hn(e,r){for(var t=j.repeat(" ",r),n=0,i=-1,o="",a,s=e.length;n<s;)i=e.indexOf(`
|
|
18
18
|
`,n),i===-1?(a=e.slice(n),n=s):(a=e.slice(n,i+1),n=i+1),a.length&&a!==`
|
|
19
19
|
`&&(o+=t),o+=a;return o}function mt(e,r){return`
|
|
20
|
-
`+
|
|
20
|
+
`+j.repeat(" ",e.indent*r)}function cm(e,r){var t,n,i;for(t=0,n=e.implicitTypes.length;t<n;t+=1)if(i=e.implicitTypes[t],i.resolve(r))return!0;return!1}function br(e){return e===Hy||e===Vy}function Ue(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==xt||65536<=e&&e<=1114111}function Gn(e){return Ue(e)&&e!==xt&&e!==Uy&&e!==Be}function Kn(e,r,t){var n=Gn(e),i=n&&!br(e);return(t?n:n&&e!==yi&&e!==mi&&e!==hi&&e!==gi&&e!==bi)&&e!==yt&&!(r===gr&&!i)||Gn(r)&&!br(r)&&e===yt||r===gr&&i}function fm(e){return Ue(e)&&e!==xt&&!br(e)&&e!==Qy&&e!==em&&e!==gr&&e!==yi&&e!==mi&&e!==hi&&e!==gi&&e!==bi&&e!==yt&&e!==Yy&&e!==Wy&&e!==Gy&&e!==nm&&e!==Zy&&e!==Xy&&e!==Jy&&e!==Ky&&e!==zy&&e!==rm&&e!==tm}function pm(e){return!br(e)&&e!==gr}function De(e,r){var t=e.charCodeAt(r),n;return t>=55296&&t<=56319&&r+1<e.length&&(n=e.charCodeAt(r+1),n>=56320&&n<=57343)?(t-55296)*1024+n-56320+65536:t}function wi(e){var r=/^\n* /;return r.test(e)}var vi=1,ht=2,xi=3,Ai=4,Se=5;function dm(e,r,t,n,i,o,a,s){var u,l=0,p=null,d=!1,c=!1,m=n!==-1,y=-1,h=fm(De(e,0))&&pm(De(e,e.length-1));if(r||a)for(u=0;u<e.length;l>=65536?u+=2:u++){if(l=De(e,u),!Ue(l))return Se;h=h&&Kn(l,p,s),p=l}else{for(u=0;u<e.length;l>=65536?u+=2:u++){if(l=De(e,u),l===Be)d=!0,m&&(c=c||u-y-1>n&&e[y+1]!==" ",y=u);else if(!Ue(l))return Se;h=h&&Kn(l,p,s),p=l}c=c||m&&u-y-1>n&&e[y+1]!==" "}return!d&&!c?h&&!a&&!i(e)?vi:o===Ve?Se:ht:t>9&&wi(e)?Se:a?o===Ve?Se:ht:c?Ai:xi}function ym(e,r,t,n,i){e.dump=(function(){if(r.length===0)return e.quotingType===Ve?'""':"''";if(!e.noCompatMode&&(im.indexOf(r)!==-1||om.test(r)))return e.quotingType===Ve?'"'+r+'"':"'"+r+"'";var o=e.indent*Math.max(1,t),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),s=n||e.flowLevel>-1&&t>=e.flowLevel;function u(l){return cm(e,l)}switch(dm(r,s,e.indent,a,u,e.quotingType,e.forceQuotes&&!n,i)){case vi:return r;case ht:return"'"+r.replace(/'/g,"''")+"'";case xi:return"|"+zn(r,e.indent)+Yn(Hn(r,o));case Ai:return">"+zn(r,e.indent)+Yn(Hn(mm(r,a),o));case Se:return'"'+hm(r)+'"';default:throw new B("impossible error: invalid scalar style")}})()}function zn(e,r){var t=wi(e)?String(r):"",n=e[e.length-1]===`
|
|
21
21
|
`,i=n&&(e[e.length-2]===`
|
|
22
22
|
`||e===`
|
|
23
23
|
`),o=i?"+":n?"":"-";return t+o+`
|
|
24
24
|
`}function Yn(e){return e[e.length-1]===`
|
|
25
|
-
`?e.slice(0,-1):e}function
|
|
25
|
+
`?e.slice(0,-1):e}function mm(e,r){for(var t=/(\n+)([^\n]*)/g,n=(function(){var l=e.indexOf(`
|
|
26
26
|
`);return l=l!==-1?l:e.length,t.lastIndex=l,Jn(e.slice(0,l),r)})(),i=e[0]===`
|
|
27
27
|
`||e[0]===" ",o,a;a=t.exec(e);){var s=a[1],u=a[2];o=u[0]===" ",n+=s+(!i&&!o&&u!==""?`
|
|
28
28
|
`:"")+Jn(u,r),i=o}return n}function Jn(e,r){if(e===""||e[0]===" ")return e;for(var t=/ [^ ]/g,n,i=0,o,a=0,s=0,u="";n=t.exec(e);)s=n.index,s-i>r&&(o=a>i?a:s,u+=`
|
|
29
29
|
`+e.slice(i,o),i=o+1),a=s;return u+=`
|
|
30
30
|
`,e.length-i>r&&a>i?u+=e.slice(i,a)+`
|
|
31
|
-
`+e.slice(a+1):u+=e.slice(i),u.slice(1)}function
|
|
32
|
-
`:""}var xm=vm,Am={dump:xm};function At(e,r){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+r+" instead, which is now safe by default.")}}var Si=fi.load,__=fi.loadAll,Ei=Am.dump;var O_=At("safeLoad","load"),C_=At("safeLoadAll","loadAll"),P_=At("safeDump","dump");var Lp=Mn(gn());var Kr=class{constructor(){this.eventListeners=new Map}addEventListener(r,t){this.eventListeners.has(r)||this.eventListeners.set(r,new Set),this.eventListeners.get(r).add(t)}removeEventListener(r,t){this.eventListeners.get(r)?.delete(t)}emitEvent(r){let t=this.eventListeners.get(r.type);if(t)for(let n of t)try{n(r)}catch(i){console.error("Error in data instance event listener:",i)}}};function vp(e,r,t){let n=e.atoms.length,i=Array.isArray(r?.types)?r.types:[],a=(r?.tuples?.length??0)>0&&i.length!==n;if(!a&&i.length===n)return{tuple:{...e,types:[...i]},relationTypes:[...i]};let s=Array.isArray(e.types)?e.types:[],u=e.atoms.map((l,p)=>t(l)??s[p]??"untyped");return{tuple:{...e,types:u},relationTypes:a?[]:u}}function de(e){if(!Object.prototype.hasOwnProperty.call(e,"$pyretValue"))return;let r=e.$pyretValue;if(r?.kind==="nothing"||r?.kind==="object"||r?.kind==="tuple"||r?.kind==="raw-array"||r?.kind==="table")return{kind:r.kind};if(r?.kind==="reference"&&typeof r.unrestricted=="boolean")return{kind:r.kind,unrestricted:r.unrestricted};if(r?.kind==="string-dict"&&typeof r.mutable=="boolean"&&typeof r.sealed=="boolean"&&(r.mutable||!r.sealed))return{kind:r.kind,mutable:r.mutable,sealed:r.sealed};throw new Error("Malformed reconstructed Pyret value")}function bn(e){if(!e||typeof e!="object"||"dict"in e)return!1;let r=e;return Number.isInteger(r.state)&&"value"in r&&!!r.anns&&Array.isArray(r.anns.anns)&&typeof r.anns.check=="function"&&typeof r.anns.addAnn=="function"&&Object.keys(r).every(t=>t==="state"||t==="value"||t==="anns")}function xp(e){if(bn(e)){if(e.state!==2)throw new Error("Only initialized mutable Pyret references are supported");return{kind:"reference",unrestricted:e.anns.anns.every(r=>r.ann?.name==="Any")}}}function Ap(e){return!!e.dict&&typeof e.dict=="object"&&Object.keys(e.dict).length===0&&typeof e.brand=="function"&&typeof e.extendWith=="function"&&!("updateDict"in e)&&Object.keys(e).every(r=>r==="dict"||r==="brands")}function zr(e){return typeof e=="function"||e!==null&&typeof e=="object"&&("app"in e||"meth"in e&&"full_meth"in e)}function Sp(e,r){let t=[];for(let n in e)(r||!zr(e[n]))&&t.push(n);return t}var Yr=e=>typeof e=="string"&&/^-?(0|[1-9][0-9]*)$/.test(e);function ne(e,r=1n){if(r===0n)throw new Error("Invalid Pyret rational denominator");r<0n&&(e=-e,r=-r);let t=e<0n?-e:e,n=r;for(;n!==0n;){let i=t%n;t=n,n=i}return e/=t,r/=t,r===1n?{version:1,kind:"integer",value:e.toString()}:{version:1,kind:"rational",numerator:e.toString(),denominator:r.toString()}}function Ep(e){let r=e;if(r?.version===1){if(r.kind==="integer"&&Yr(r.value))return ne(BigInt(r.value));if(r.kind==="rational"&&Yr(r.numerator)&&Yr(r.denominator))return ne(BigInt(r.numerator),BigInt(r.denominator));if(r.kind==="roughnum"&&typeof r.value=="string"&&/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:e[+-]?[0-9]+)?$/i.test(r.value)&&Number.isFinite(Number(r.value)))return{version:1,kind:"roughnum",value:r.value}}throw new Error("Malformed Pyret number")}function Ip(e){if(e.startsWith("~"))return Ep({version:1,kind:"roughnum",value:e.slice(1)});let r=/^(-?(?:0|[1-9][0-9]*))\/(-?(?:0|[1-9][0-9]*))$/.exec(e);if(r)return ne(BigInt(r[1]),BigInt(r[2]));let t=/^(-?(?:0|[1-9][0-9]*))(?:\.([0-9]+))?(?:e([+-]?[0-9]+))?$/i.exec(e);if(!t)throw new Error("Malformed Pyret number label");let n=BigInt(t[3]??"0")-BigInt(t[2]?.length??0),i=BigInt(t[1]+(t[2]??""));return n>=0n?ne(i*10n**n):ne(i,10n**-n)}function wn(e){if(typeof e=="number"&&Number.isInteger(e))return BigInt(e).toString();if(typeof e=="bigint")return e.toString();if(!e||typeof e!="object")return;let r=e;if(typeof r.isInteger=="function"&&r.isInteger()&&typeof r.isExact=="function"&&r.isExact()){let t=r.toString();if(Yr(t))return t}}function ie(e){if(e&&typeof e=="object"){if("$pyretNumber"in e)return Ep(e.$pyretNumber);if("n"in e&&"d"in e){let n=wn(e.n),i=wn(e.d);if(n!==void 0&&i!==void 0)return ne(BigInt(n),BigInt(i))}let t=e;if(typeof t.isRoughnum=="function"&&t.isRoughnum()){if(typeof t.n!="number"||!Number.isFinite(t.n))throw new Error("Invalid Pyret roughnum");return{version:1,kind:"roughnum",value:Object.is(t.n,-0)?"-0":String(t.n)}}}let r=wn(e);if(r!==void 0)return ne(BigInt(r));if(typeof e=="number"){if(!Number.isFinite(e))throw new Error("Invalid Pyret number");let[t,n="0"]=String(e).split("e"),i=t.split(".")[1]?.length??0,o=Number(n)-i,a=BigInt(t.replace(".",""));return o>=0?ne(a*10n**BigInt(o)):ne(a,10n**BigInt(-o))}}function Jr(e){switch(e.kind){case"integer":return e.value;case"rational":return`${e.numerator}/${e.denominator}`;case"roughnum":return`~${e.value}`}}function kp(e){if(e.kind==="integer"){let r=BigInt(e.value);if(r>=BigInt(Number.MIN_SAFE_INTEGER)&&r<=BigInt(Number.MAX_SAFE_INTEGER))return Number(r)}return{$pyretNumber:e}}var vn="pyret:field:v1:",xn="pyret:constructor:v1:";function qp(e,r,t){return xn+JSON.stringify([e,r,t])}function X(e){if(!e.startsWith(xn))return;let r=JSON.parse(e.slice(xn.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!r[0]||!Number.isSafeInteger(r[1])||r[1]<0||typeof r[2]!="string"||!r[2])throw new Error("Malformed Pyret constructor identity");return{scope:r[0],index:r[1],name:r[2]}}function ee(e){return X(e)?.name??e}function z(e){let{$name:r,$arity:t}=e;if(typeof r!="string"||!Number.isInteger(t)||t<-1)return;let n=e.$constructor?.$fieldNames;if(t===-1)return{name:r,arity:t,fields:[]};if(!Array.isArray(n)||n.length!==t||n.some(a=>typeof a!="string")||new Set(n).size!==n.length)throw new Error(`Invalid Pyret constructor metadata for ${r}`);let i=e.$mut_fields_mask;if(i!==void 0&&(!Array.isArray(i)||i.length!==t||i.some(a=>typeof a!="boolean")))throw new Error(`Invalid Pyret mutable field mask for ${r}`);let o=i?.flatMap((a,s)=>a?[s]:[])??[];return{name:r,arity:t,fields:n,...o.length?{mutableFields:o}:{}}}function _p(e,r){return vn+JSON.stringify([e.name,r,e.fields[r]])}function Wr(e){if(!e.startsWith(vn))return;let r=JSON.parse(e.slice(vn.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!Number.isInteger(r[1])||r[1]<0||typeof r[2]!="string")throw new Error("Malformed Pyret field ID");return{name:r[0],position:r[1],field:r[2]}}var Cp=new Set(["Number","String","Boolean"]),An=new Set([...Cp,"Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);function cr(e){if(e?.type!=="Index"||!/^(0|[1-9][0-9]*)$/.test(e.label)||!Number.isSafeInteger(Number(e.label)))throw new Error("Malformed Pyret position label");return Number(e.label)}function Op(e,r,t){if(e.has(r)&&e.get(r)!==t||[...e].some(([n,i])=>n!==r&&i===t))throw new Error("Conflicting Pyret field positions");e.set(r,t)}function fr(e,r){let t=[];for(let n=0;n<e.size;n++){if(!e.has(n))throw new Error(`Incomplete Pyret ${r}: positions must be contiguous from zero`);t.push(e.get(n))}return t}function a_(e){let r={fields:new Map,targets:new Set,constructors:new Map,objectPositions:new Map,elements:new Map,columns:new Map,rows:new Map,references:new Map,entries:new Map,mutableFields:new Map,sealed:new Set,unrestricted:new Set,nullary:new Set},t=new Map(e.getAtoms().map(n=>[n.id,n]));for(let n of e.getRelations()){let i=Wr(n.id);if(i){if(n.name!==i.field)throw new Error("Pyret field ID disagrees with its name");let o=r.constructors.get(i.name)??new Map;Op(o,i.field,i.position),r.constructors.set(i.name,o)}for(let o of n.tuples){if(!o.atoms.length||o.atoms.some(h=>!t.has(h)))throw new Error("Malformed Pyret relation tuple");let[a,s,u,l]=o.atoms,p=t.get(a).type,d=o.atoms.length;for(let h of o.atoms.slice(1))r.targets.add(h);if(!i&&p!=="Object"){if(n.name==="sealed"&&p==="MutableStringDict"){if(d!==1)throw new Error("Malformed Pyret sealed fact");r.sealed.add(a);continue}if(n.name==="unrestricted"&&p==="Reference"){if(d!==1)throw new Error("Malformed Pyret unrestricted fact");r.unrestricted.add(a);continue}if(n.name==="nullary-constructor"&&!An.has(p)){if(d!==1)throw new Error("Malformed Pyret nullary constructor fact");r.nullary.add(a);continue}if(n.name==="mutable-field"&&!An.has(p)){if(d!==2)throw new Error("Malformed Pyret mutable field positions");let h=r.mutableFields.get(a)??new Set;h.add(cr(t.get(s))),r.mutableFields.set(a,h);continue}}if(d<2)throw new Error("Malformed Pyret unary relation");if(p==="Table"){if(i)throw new Error("Pyret table relations must have opaque IDs");let h=cr(t.get(s));if(n.name==="column"&&d===3&&t.get(u)?.type==="String"){let b=r.columns.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret table column positions");b.set(h,u),r.columns.set(a,b)}else if(n.name==="row"){let b=r.rows.get(a)??new Map,g=o.atoms.slice(2);if(b.has(h)&&JSON.stringify(b.get(h))!==JSON.stringify(g))throw new Error("Conflicting Pyret table row positions");if(g.some(v=>t.get(v)?.type==="Index"))throw new Error("Pyret table cells cannot be positions");b.set(h,g),r.rows.set(a,b)}else throw new Error("Malformed Pyret table relation");continue}if(p==="StringDict"||p==="MutableStringDict"){if(n.name!=="entry"||d!==4||t.get(u)?.type!=="String")throw new Error("Malformed Pyret dictionary entry");let h=cr(t.get(s)),b=r.entries.get(a)??new Map,g=b.get(h);if(g&&(g.key!==u||g.value!==l))throw new Error("Conflicting Pyret dictionary entry positions");b.set(h,{key:u,value:l}),r.entries.set(a,b);continue}if(p==="Reference"){if(n.name!=="target"||d!==2)throw new Error("Malformed Pyret reference target");if(r.references.has(a)&&r.references.get(a)!==s)throw new Error("Conflicting Pyret reference targets");r.references.set(a,s);continue}if(p==="Tuple"||p==="RawArray"){if(n.name!=="element"||d!==3)throw new Error("Malformed Pyret indexed element");let h=cr(t.get(s)),b=r.elements.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret element positions");b.set(h,u),r.elements.set(a,b);continue}if(An.has(p)&&p!=="Object")throw new Error("Pyret primitive cannot have fields");if(i&&(p!==i.name||d!==2))throw new Error("Pyret field ID disagrees with its source constructor");if(p==="Object"){if(d!==3||i)throw new Error("Pyret object field must have a position and one value");let h=r.objectPositions.get(a)??new Map;Op(h,n.name,cr(t.get(s))),r.objectPositions.set(a,h)}let c=r.fields.get(a)??new Map,m=i?.field??n.name,y=c.get(m)??[];for(let h of p==="Object"?[u]:o.atoms.slice(1))y.includes(h)||y.push(h);c.set(m,y),r.fields.set(a,c)}}return r}function s_(e,r){switch(e.type){case"Nothing":return{kind:"nothing"};case"Object":return{kind:"object"};case"Tuple":return{kind:"tuple"};case"RawArray":return{kind:"raw-array"};case"Table":return{kind:"table"};case"Reference":return{kind:"reference",unrestricted:r.unrestricted.has(e.id)};case"StringDict":case"MutableStringDict":return{kind:"string-dict",mutable:e.type==="MutableStringDict",sealed:r.sealed.has(e.id)};default:return}}function u_(e){switch(e.type){case"Number":return kp(Ip(e.label));case"Boolean":if(e.label!=="true"&&e.label!=="false")throw new Error("Malformed Pyret boolean label");return e.label==="true";default:return e.label}}function Sn(e,r){let t=/^\d+$/.test(e),n=/^\d+$/.test(r);return t&&n?parseInt(e,10)-parseInt(r,10):e.localeCompare(r)}function l_(e,r){let n=Me.getGlobalConstructorCache().get(e);if(n&&n.length){let i=n.filter(a=>r.includes(a)),o=r.filter(a=>!n.includes(a));return[...i,...o.sort(Sn)]}return[...r].sort(Sn)}function c_(e){return e.length>0&&e.every(r=>/^\d+$/.test(r))}function Pp(e,r,t={}){let n=En(e,r===void 0?void 0:[r],t);return n.length?n[0]:null}function En(e,r,t={}){let n=new Map(e.getAtoms().map(g=>[g.id,g])),i=a_(e),{fields:o,targets:a,elements:s,references:u,entries:l}=i,p=new Map,d=0,c=new Set,m=new Map,y=g=>{if(m.has(g)){if(!t.allowContainerCycles&&p.get(g)===d&&c.size)throw new Error("Cyclic Pyret containers are not supported");return m.get(g)}let v=n.get(g);if(!v)throw new Error("Unknown Pyret atom ID: "+g);if(Cp.has(v.type)){let k=u_(v);return m.set(g,k),k}let E=s_(v,i);if(E?.kind==="nothing"){let k={$pyretValue:E};return m.set(g,k),k}if(p.set(g,d),E?.kind==="table"){let k=fr(i.columns.get(g)??new Map,"table columns").map(q=>n.get(q).label);if(new Set(k).size!==k.length)throw new Error("Duplicate Pyret table column name");let w=fr(i.rows.get(g)??new Map,"table rows");if(w.some(q=>q.length!==k.length))throw new Error("Pyret table row width must match its columns");let A=[],S={$pyretValue:E,dict:{"_header-raw-array":k,"_rows-raw-array":A}};m.set(g,S),c.add(g);for(let q of w)A.push(q.map(y));return c.delete(g),p.delete(g),S}if(E?.kind==="string-dict"){let k=l.get(g)??new Map,w=fr(k,"dictionary entries"),A={$pyretValue:E,entries:[]};m.set(g,A);let S=new Set;E.mutable&&d++;for(let q of w){let $=n.get(q.key).label;if(S.has($))throw new Error("Duplicate Pyret dictionary key");S.add($),A.entries.push([$,y(q.value)])}return E.mutable&&d--,p.delete(g),A}if(E?.kind==="reference"){let k=u.get(g);if(k===void 0)throw new Error("Incomplete Pyret reference target");let w={$pyretValue:E};return m.set(g,w),d++,w.value=y(k),d--,p.delete(g),w}if(E?.kind==="raw-array"||E?.kind==="tuple"){let k=s.get(g)??new Map,w=fr(k,"container elements"),A=[],S=E.kind==="raw-array"?A:{vals:A};m.set(g,S),c.add(g);for(let q of w)A.push(y(q));return c.delete(g),p.delete(g),S}let T=o.get(g)??new Map,M=Array.from(T.keys()),Y=i.constructors.get(v.type),J=E?void 0:i.nullary.has(g)?0:Y?.size??(M.length?void 0:-1),oe=[...i.mutableFields.get(g)??[]];if(oe.some(k=>J===void 0||k>=J))throw new Error("Malformed Pyret mutable field positions");if(!E&&J===void 0&&c_(M)){let k=[];m.set(g,k);let w=M.slice().sort(Sn);for(let A of w){let S=T.get(A)??[];k.push(S.length===1?y(S[0]):S.map(q=>y(q)))}return p.delete(g),k}let G={dict:Object.create(null),...E?.kind==="object"?{$pyretValue:E}:{$name:v.type}};m.set(g,G);let re;if(E?.kind==="object"){let k=i.objectPositions.get(g)??new Map;re=fr(new Map([...k].map(([w,A])=>[A,w])),"object fields")}else if(J!==void 0){let k=Y??new Map,w=Math.max(0,J);if(M.length!==w||k.size!==w||[...k].some(([A,S])=>S>=w||!T.has(A)))throw new Error("Incomplete Pyret constructor fields");re=[...k].sort((A,S)=>A[1]-S[1]).map(([A])=>A),G.$arity=J,G.$constructor={$fieldNames:re},oe.length&&(G.$mut_fields_mask=re.map((A,S)=>oe.includes(S)))}else re=l_(v.type,M);for(let k of re){let w=T.get(k)??[];if((E?.kind==="object"||J!==void 0)&&w.length!==1)throw new Error("Pyret constructor field must have one value");w.length===1?G.dict[k]=y(w[0]):G.dict[k]=w.map(A=>y(A))}for(let k of oe){let w=G.dict[re[k]];if(!w||typeof w!="object"||de(w)?.kind!=="reference")throw new Error("Pyret mutable field must contain a reference")}return p.delete(g),G};if(r!==void 0)return r.map(g=>{if(!n.has(g))throw new Error("Unknown Pyret root ID: "+g);return y(g)});let h=e.getAtoms().map(g=>g.id);if(!h.length)return[];let b=h.filter(g=>!a.has(g));if(b.length!==1)throw new Error("Pyret graph has no unique root; supply an explicit root ID");return[y(b[0])]}function Fe(e,r,t){if(!e||typeof e!="object"||Array.isArray(e)||!("$name"in e)||ee(String(e.$name))!==r)return!1;let n=z(e);return!!n&&!n.mutableFields?.length&&n.arity===(t.length||-1)&&n.fields.length===t.length&&n.fields.every((i,o)=>i===t[o])&&!!e.dict&&t.every(i=>Object.prototype.hasOwnProperty.call(e.dict,i))}function pr(e){let r=Fe(e,"list-set",["elems"])?"list-set":Fe(e,"tree-set",["elems"])?"tree-set":void 0;if(!r)return;let t=e.dict.elems,n=[],i=new Set,o=()=>new Error(`Malformed Pyret ${r} backing structure`);if(r==="list-set"){let a=t;for(;!Fe(a,"empty",[]);){if(!Fe(a,"link",["first","rest"])||i.has(a))throw o();i.add(a),n.push(a.dict.first),a=a.dict.rest}}else{let a=[{node:t,phase:"enter"}];for(;a.length;){let{node:s,phase:u}=a.pop();if(!Fe(s,"leaf",[])){if(!Fe(s,"branch",["value","h","left","right"]))throw o();if(u==="exit")i.delete(s);else if(u==="emit")n.push(s.dict.value);else{if(i.has(s))throw o();i.add(s),a.push({node:s,phase:"exit"},{node:s.dict.right,phase:"enter"},{node:s,phase:"emit"},{node:s.dict.left,phase:"enter"})}}}}return{kind:r,elements:n}}function Tp(e,r){return e.kind==="tree-set"?`[tree-set: ${e.elements.map(r).join(", ")}]`:"[list-set: ]"+[...e.elements].reverse().map(t=>`.add(${r(t)})`).join("")}function Qr(e){return!!e.dict&&typeof e.dict=="object"&&"_header-raw-array"in e.dict&&"_rows-raw-array"in e.dict&&(!e.brands||Object.keys(e.brands).some(r=>r.includes("brandtable")))}function Zr(e){return Array.isArray(e.$rowData)&&!!e.$underlyingTable}function Ae(e){let r=e.dict?.["_header-raw-array"],t=e.dict?.["_rows-raw-array"];if(!Array.isArray(r)||!Array.isArray(t)||Array.from(r).some(n=>typeof n!="string")||new Set(r).size!==r.length||Array.from(t).some(n=>!Array.isArray(n)||n.length!==r.length))throw new Error("Malformed Pyret table: unique string headers and rectangular rows required");return{headers:r,rows:t}}function Np(e,r,t){let{headers:n,rows:i}=Ae(e);if(!n.length)return i.length?`for fold(spytial-table from empty-table([list: ]), spytial-row from range(0, ${i.length})):
|
|
31
|
+
`+e.slice(a+1):u+=e.slice(i),u.slice(1)}function hm(e){for(var r="",t=0,n,i=0;i<e.length;t>=65536?i+=2:i++)t=De(e,i),n=D[t],!n&&Ue(t)?(r+=e[i],t>=65536&&(r+=e[i+1])):r+=n||sm(t);return r}function gm(e,r,t){var n="",i=e.tag,o,a,s;for(o=0,a=t.length;o<a;o+=1)s=t[o],e.replacer&&(s=e.replacer.call(t,String(o),s)),(te(e,r,s,!1,!1)||typeof s>"u"&&te(e,r,null,!1,!1))&&(n!==""&&(n+=","+(e.condenseFlow?"":" ")),n+=e.dump);e.tag=i,e.dump="["+n+"]"}function Wn(e,r,t,n){var i="",o=e.tag,a,s,u;for(a=0,s=t.length;a<s;a+=1)u=t[a],e.replacer&&(u=e.replacer.call(t,String(a),u)),(te(e,r+1,u,!0,!0,!1,!0)||typeof u>"u"&&te(e,r+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=mt(e,r)),e.dump&&Be===e.dump.charCodeAt(0)?i+="-":i+="- ",i+=e.dump);e.tag=o,e.dump=i||"[]"}function bm(e,r,t){var n="",i=e.tag,o=Object.keys(t),a,s,u,l,p;for(a=0,s=o.length;a<s;a+=1)p="",n!==""&&(p+=", "),e.condenseFlow&&(p+='"'),u=o[a],l=t[u],e.replacer&&(l=e.replacer.call(t,u,l)),te(e,r,u,!1,!1)&&(e.dump.length>1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),te(e,r,l,!1,!1)&&(p+=e.dump,n+=p));e.tag=i,e.dump="{"+n+"}"}function wm(e,r,t,n){var i="",o=e.tag,a=Object.keys(t),s,u,l,p,d,c;if(e.sortKeys===!0)a.sort();else if(typeof e.sortKeys=="function")a.sort(e.sortKeys);else if(e.sortKeys)throw new B("sortKeys must be a boolean or a function");for(s=0,u=a.length;s<u;s+=1)c="",(!n||i!=="")&&(c+=mt(e,r)),l=a[s],p=t[l],e.replacer&&(p=e.replacer.call(t,l,p)),te(e,r+1,l,!0,!0,!0)&&(d=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,d&&(e.dump&&Be===e.dump.charCodeAt(0)?c+="?":c+="? "),c+=e.dump,d&&(c+=mt(e,r)),te(e,r+1,p,!0,d)&&(e.dump&&Be===e.dump.charCodeAt(0)?c+=":":c+=": ",c+=e.dump,i+=c));e.tag=o,e.dump=i||"{}"}function Qn(e,r,t){var n,i,o,a,s,u;for(i=t?e.explicitTypes:e.implicitTypes,o=0,a=i.length;o<a;o+=1)if(s=i[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof r=="object"&&r instanceof s.instanceOf)&&(!s.predicate||s.predicate(r))){if(t?s.multi&&s.representName?e.tag=s.representName(r):e.tag=s.tag:e.tag="?",s.represent){if(u=e.styleMap[s.tag]||s.defaultStyle,pi.call(s.represent)==="[object Function]")n=s.represent(r,u);else if(di.call(s.represent,u))n=s.represent[u](r,u);else throw new B("!<"+s.tag+'> tag resolver accepts not "'+u+'" style');e.dump=n}return!0}return!1}function te(e,r,t,n,i,o,a){e.tag=null,e.dump=t,Qn(e,t,!1)||Qn(e,t,!0);var s=pi.call(e.dump),u=n,l;n&&(n=e.flowLevel<0||e.flowLevel>r);var p=s==="[object Object]"||s==="[object Array]",d,c;if(p&&(d=e.duplicates.indexOf(t),c=d!==-1),(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&r>0)&&(i=!1),c&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(p&&c&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),s==="[object Object]")n&&Object.keys(e.dump).length!==0?(wm(e,r,e.dump,i),c&&(e.dump="&ref_"+d+e.dump)):(bm(e,r,e.dump),c&&(e.dump="&ref_"+d+" "+e.dump));else if(s==="[object Array]")n&&e.dump.length!==0?(e.noArrayIndent&&!a&&r>0?Wn(e,r-1,e.dump,i):Wn(e,r,e.dump,i),c&&(e.dump="&ref_"+d+e.dump)):(gm(e,r,e.dump),c&&(e.dump="&ref_"+d+" "+e.dump));else if(s==="[object String]")e.tag!=="?"&&ym(e,e.dump,r,o,u);else{if(s==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new B("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(l=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?l="!"+l:l.slice(0,18)==="tag:yaml.org,2002:"?l="!!"+l.slice(18):l="!<"+l+">",e.dump=l+" "+e.dump)}return!0}function vm(e,r){var t=[],n=[],i,o;for(gt(e,t,n),i=0,o=n.length;i<o;i+=1)r.duplicates.push(t[n[i]]);r.usedDuplicates=new Array(o)}function gt(e,r,t){var n,i,o;if(e!==null&&typeof e=="object")if(i=r.indexOf(e),i!==-1)t.indexOf(i)===-1&&t.push(i);else if(r.push(e),Array.isArray(e))for(i=0,o=e.length;i<o;i+=1)gt(e[i],r,t);else for(n=Object.keys(e),i=0,o=n.length;i<o;i+=1)gt(e[n[i]],r,t)}function xm(e,r){r=r||{};var t=new lm(r);t.noRefs||vm(e,t);var n=e;return t.replacer&&(n=t.replacer.call({"":n},"",n)),te(t,0,n,!0,!0)?t.dump+`
|
|
32
|
+
`:""}var Am=xm,Sm={dump:Am};function At(e,r){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+r+" instead, which is now safe by default.")}}var Si=fi.load,O_=fi.loadAll,Ei=Sm.dump;var P_=At("safeLoad","load"),T_=At("safeLoadAll","loadAll"),C_=At("safeDump","dump");var Lp=Mn(gn());var Kr=class{constructor(){this.eventListeners=new Map}addEventListener(r,t){this.eventListeners.has(r)||this.eventListeners.set(r,new Set),this.eventListeners.get(r).add(t)}removeEventListener(r,t){this.eventListeners.get(r)?.delete(t)}emitEvent(r){let t=this.eventListeners.get(r.type);if(t)for(let n of t)try{n(r)}catch(i){console.error("Error in data instance event listener:",i)}}};function vp(e,r,t){let n=e.atoms.length,i=Array.isArray(r?.types)?r.types:[],a=(r?.tuples?.length??0)>0&&i.length!==n;if(!a&&i.length===n)return{tuple:{...e,types:[...i]},relationTypes:[...i]};let s=Array.isArray(e.types)?e.types:[],u=e.atoms.map((l,p)=>t(l)??s[p]??"untyped");return{tuple:{...e,types:u},relationTypes:a?[]:u}}function de(e){if(!Object.prototype.hasOwnProperty.call(e,"$pyretValue"))return;let r=e.$pyretValue;if(r?.kind==="nothing"||r?.kind==="object"||r?.kind==="tuple"||r?.kind==="raw-array"||r?.kind==="table")return{kind:r.kind};if(r?.kind==="reference"&&typeof r.unrestricted=="boolean")return{kind:r.kind,unrestricted:r.unrestricted};if(r?.kind==="string-dict"&&typeof r.mutable=="boolean"&&typeof r.sealed=="boolean"&&(r.mutable||!r.sealed))return{kind:r.kind,mutable:r.mutable,sealed:r.sealed};throw new Error("Malformed reconstructed Pyret value")}function bn(e){if(!e||typeof e!="object"||"dict"in e)return!1;let r=e;return Number.isInteger(r.state)&&"value"in r&&!!r.anns&&Array.isArray(r.anns.anns)&&typeof r.anns.check=="function"&&typeof r.anns.addAnn=="function"&&Object.keys(r).every(t=>t==="state"||t==="value"||t==="anns")}function xp(e){if(bn(e)){if(e.state!==2)throw new Error("Only initialized mutable Pyret references are supported");return{kind:"reference",unrestricted:e.anns.anns.every(r=>r.ann?.name==="Any")}}}function Ap(e){return!!e.dict&&typeof e.dict=="object"&&Object.keys(e.dict).length===0&&typeof e.brand=="function"&&typeof e.extendWith=="function"&&!("updateDict"in e)&&Object.keys(e).every(r=>r==="dict"||r==="brands")}function zr(e){return typeof e=="function"||e!==null&&typeof e=="object"&&("app"in e||"meth"in e&&"full_meth"in e)}function Sp(e,r){let t=[];for(let n in e)(r||!zr(e[n]))&&t.push(n);return t}var Yr=e=>typeof e=="string"&&/^-?(0|[1-9][0-9]*)$/.test(e);function ne(e,r=1n){if(r===0n)throw new Error("Invalid Pyret rational denominator");r<0n&&(e=-e,r=-r);let t=e<0n?-e:e,n=r;for(;n!==0n;){let i=t%n;t=n,n=i}return e/=t,r/=t,r===1n?{version:1,kind:"integer",value:e.toString()}:{version:1,kind:"rational",numerator:e.toString(),denominator:r.toString()}}function Ep(e){let r=e;if(r?.version===1){if(r.kind==="integer"&&Yr(r.value))return ne(BigInt(r.value));if(r.kind==="rational"&&Yr(r.numerator)&&Yr(r.denominator))return ne(BigInt(r.numerator),BigInt(r.denominator));if(r.kind==="roughnum"&&typeof r.value=="string"&&/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:e[+-]?[0-9]+)?$/i.test(r.value)&&Number.isFinite(Number(r.value)))return{version:1,kind:"roughnum",value:r.value}}throw new Error("Malformed Pyret number")}function kp(e){if(e.startsWith("~"))return Ep({version:1,kind:"roughnum",value:e.slice(1)});let r=/^(-?(?:0|[1-9][0-9]*))\/(-?(?:0|[1-9][0-9]*))$/.exec(e);if(r)return ne(BigInt(r[1]),BigInt(r[2]));let t=/^(-?(?:0|[1-9][0-9]*))(?:\.([0-9]+))?(?:e([+-]?[0-9]+))?$/i.exec(e);if(!t)throw new Error("Malformed Pyret number label");let n=BigInt(t[3]??"0")-BigInt(t[2]?.length??0),i=BigInt(t[1]+(t[2]??""));return n>=0n?ne(i*10n**n):ne(i,10n**-n)}function wn(e){if(typeof e=="number"&&Number.isInteger(e))return BigInt(e).toString();if(typeof e=="bigint")return e.toString();if(!e||typeof e!="object")return;let r=e;if(typeof r.isInteger=="function"&&r.isInteger()&&typeof r.isExact=="function"&&r.isExact()){let t=r.toString();if(Yr(t))return t}}function ie(e){if(e&&typeof e=="object"){if("$pyretNumber"in e)return Ep(e.$pyretNumber);if("n"in e&&"d"in e){let n=wn(e.n),i=wn(e.d);if(n!==void 0&&i!==void 0)return ne(BigInt(n),BigInt(i))}let t=e;if(typeof t.isRoughnum=="function"&&t.isRoughnum()){if(typeof t.n!="number"||!Number.isFinite(t.n))throw new Error("Invalid Pyret roughnum");return{version:1,kind:"roughnum",value:Object.is(t.n,-0)?"-0":String(t.n)}}}let r=wn(e);if(r!==void 0)return ne(BigInt(r));if(typeof e=="number"){if(!Number.isFinite(e))throw new Error("Invalid Pyret number");let[t,n="0"]=String(e).split("e"),i=t.split(".")[1]?.length??0,o=Number(n)-i,a=BigInt(t.replace(".",""));return o>=0?ne(a*10n**BigInt(o)):ne(a,10n**BigInt(-o))}}function Jr(e){switch(e.kind){case"integer":return e.value;case"rational":return`${e.numerator}/${e.denominator}`;case"roughnum":return`~${e.value}`}}function Ip(e){if(e.kind==="integer"){let r=BigInt(e.value);if(r>=BigInt(Number.MIN_SAFE_INTEGER)&&r<=BigInt(Number.MAX_SAFE_INTEGER))return Number(r)}return{$pyretNumber:e}}var vn="pyret:field:v1:",xn="pyret:constructor:v1:";function qp(e,r,t){return xn+JSON.stringify([e,r,t])}function X(e){if(!e.startsWith(xn))return;let r=JSON.parse(e.slice(xn.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!r[0]||!Number.isSafeInteger(r[1])||r[1]<0||typeof r[2]!="string"||!r[2])throw new Error("Malformed Pyret constructor identity");return{scope:r[0],index:r[1],name:r[2]}}function ee(e){return X(e)?.name??e}function z(e){let{$name:r,$arity:t}=e;if(typeof r!="string"||!Number.isInteger(t)||t<-1)return;let n=e.$constructor?.$fieldNames;if(t===-1)return{name:r,arity:t,fields:[]};if(!Array.isArray(n)||n.length!==t||n.some(a=>typeof a!="string")||new Set(n).size!==n.length)throw new Error(`Invalid Pyret constructor metadata for ${r}`);let i=e.$mut_fields_mask;if(i!==void 0&&(!Array.isArray(i)||i.length!==t||i.some(a=>typeof a!="boolean")))throw new Error(`Invalid Pyret mutable field mask for ${r}`);let o=i?.flatMap((a,s)=>a?[s]:[])??[];return{name:r,arity:t,fields:n,...o.length?{mutableFields:o}:{}}}function _p(e,r){return vn+JSON.stringify([e.name,r,e.fields[r]])}function Wr(e){if(!e.startsWith(vn))return;let r=JSON.parse(e.slice(vn.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!Number.isInteger(r[1])||r[1]<0||typeof r[2]!="string")throw new Error("Malformed Pyret field ID");return{name:r[0],position:r[1],field:r[2]}}var Pp=new Set(["Number","String","Boolean"]),An=new Set([...Pp,"Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);function cr(e){if(e?.type!=="Index"||!/^(0|[1-9][0-9]*)$/.test(e.label)||!Number.isSafeInteger(Number(e.label)))throw new Error("Malformed Pyret position label");return Number(e.label)}function Op(e,r,t){if(e.has(r)&&e.get(r)!==t||[...e].some(([n,i])=>n!==r&&i===t))throw new Error("Conflicting Pyret field positions");e.set(r,t)}function fr(e,r){let t=[];for(let n=0;n<e.size;n++){if(!e.has(n))throw new Error(`Incomplete Pyret ${r}: positions must be contiguous from zero`);t.push(e.get(n))}return t}function s_(e){let r={fields:new Map,targets:new Set,constructors:new Map,objectPositions:new Map,elements:new Map,columns:new Map,rows:new Map,references:new Map,entries:new Map,mutableFields:new Map,sealed:new Set,unrestricted:new Set,nullary:new Set},t=new Map(e.getAtoms().map(n=>[n.id,n]));for(let n of e.getRelations()){let i=Wr(n.id);if(i){if(n.name!==i.field)throw new Error("Pyret field ID disagrees with its name");let o=r.constructors.get(i.name)??new Map;Op(o,i.field,i.position),r.constructors.set(i.name,o)}for(let o of n.tuples){if(!o.atoms.length||o.atoms.some(h=>!t.has(h)))throw new Error("Malformed Pyret relation tuple");let[a,s,u,l]=o.atoms,p=t.get(a).type,d=o.atoms.length;for(let h of o.atoms.slice(1))r.targets.add(h);if(!i&&p!=="Object"){if(n.name==="sealed"&&p==="MutableStringDict"){if(d!==1)throw new Error("Malformed Pyret sealed fact");r.sealed.add(a);continue}if(n.name==="unrestricted"&&p==="Reference"){if(d!==1)throw new Error("Malformed Pyret unrestricted fact");r.unrestricted.add(a);continue}if(n.name==="nullary-constructor"&&!An.has(p)){if(d!==1)throw new Error("Malformed Pyret nullary constructor fact");r.nullary.add(a);continue}if(n.name==="mutable-field"&&!An.has(p)){if(d!==2)throw new Error("Malformed Pyret mutable field positions");let h=r.mutableFields.get(a)??new Set;h.add(cr(t.get(s))),r.mutableFields.set(a,h);continue}}if(d<2)throw new Error("Malformed Pyret unary relation");if(p==="Table"){if(i)throw new Error("Pyret table relations must have opaque IDs");let h=cr(t.get(s));if(n.name==="column"&&d===3&&t.get(u)?.type==="String"){let b=r.columns.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret table column positions");b.set(h,u),r.columns.set(a,b)}else if(n.name==="row"){let b=r.rows.get(a)??new Map,g=o.atoms.slice(2);if(b.has(h)&&JSON.stringify(b.get(h))!==JSON.stringify(g))throw new Error("Conflicting Pyret table row positions");if(g.some(v=>t.get(v)?.type==="Index"))throw new Error("Pyret table cells cannot be positions");b.set(h,g),r.rows.set(a,b)}else throw new Error("Malformed Pyret table relation");continue}if(p==="StringDict"||p==="MutableStringDict"){if(n.name!=="entry"||d!==4||t.get(u)?.type!=="String")throw new Error("Malformed Pyret dictionary entry");let h=cr(t.get(s)),b=r.entries.get(a)??new Map,g=b.get(h);if(g&&(g.key!==u||g.value!==l))throw new Error("Conflicting Pyret dictionary entry positions");b.set(h,{key:u,value:l}),r.entries.set(a,b);continue}if(p==="Reference"){if(n.name!=="target"||d!==2)throw new Error("Malformed Pyret reference target");if(r.references.has(a)&&r.references.get(a)!==s)throw new Error("Conflicting Pyret reference targets");r.references.set(a,s);continue}if(p==="Tuple"||p==="RawArray"){if(n.name!=="element"||d!==3)throw new Error("Malformed Pyret indexed element");let h=cr(t.get(s)),b=r.elements.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret element positions");b.set(h,u),r.elements.set(a,b);continue}if(An.has(p)&&p!=="Object")throw new Error("Pyret primitive cannot have fields");if(i&&(p!==i.name||d!==2))throw new Error("Pyret field ID disagrees with its source constructor");if(p==="Object"){if(d!==3||i)throw new Error("Pyret object field must have a position and one value");let h=r.objectPositions.get(a)??new Map;Op(h,n.name,cr(t.get(s))),r.objectPositions.set(a,h)}let c=r.fields.get(a)??new Map,m=i?.field??n.name,y=c.get(m)??[];for(let h of p==="Object"?[u]:o.atoms.slice(1))y.includes(h)||y.push(h);c.set(m,y),r.fields.set(a,c)}}return r}function u_(e,r){switch(e.type){case"Nothing":return{kind:"nothing"};case"Object":return{kind:"object"};case"Tuple":return{kind:"tuple"};case"RawArray":return{kind:"raw-array"};case"Table":return{kind:"table"};case"Reference":return{kind:"reference",unrestricted:r.unrestricted.has(e.id)};case"StringDict":case"MutableStringDict":return{kind:"string-dict",mutable:e.type==="MutableStringDict",sealed:r.sealed.has(e.id)};default:return}}function l_(e){switch(e.type){case"Number":return Ip(kp(e.label));case"Boolean":if(e.label!=="true"&&e.label!=="false")throw new Error("Malformed Pyret boolean label");return e.label==="true";default:return e.label}}function Sn(e,r){let t=/^\d+$/.test(e),n=/^\d+$/.test(r);return t&&n?parseInt(e,10)-parseInt(r,10):e.localeCompare(r)}function c_(e,r){let n=Me.getGlobalConstructorCache().get(e);if(n&&n.length){let i=n.filter(a=>r.includes(a)),o=r.filter(a=>!n.includes(a));return[...i,...o.sort(Sn)]}return[...r].sort(Sn)}function f_(e){return e.length>0&&e.every(r=>/^\d+$/.test(r))}function Tp(e,r,t={}){let n=En(e,r===void 0?void 0:[r],t);return n.length?n[0]:null}function En(e,r,t={}){let n=new Map(e.getAtoms().map(g=>[g.id,g])),i=s_(e),{fields:o,targets:a,elements:s,references:u,entries:l}=i,p=new Map,d=0,c=new Set,m=new Map,y=g=>{if(m.has(g)){if(!t.allowContainerCycles&&p.get(g)===d&&c.size)throw new Error("Cyclic Pyret containers are not supported");return m.get(g)}let v=n.get(g);if(!v)throw new Error("Unknown Pyret atom ID: "+g);if(Pp.has(v.type)){let I=l_(v);return m.set(g,I),I}let E=u_(v,i);if(E?.kind==="nothing"){let I={$pyretValue:E};return m.set(g,I),I}if(p.set(g,d),E?.kind==="table"){let I=fr(i.columns.get(g)??new Map,"table columns").map(q=>n.get(q).label);if(new Set(I).size!==I.length)throw new Error("Duplicate Pyret table column name");let w=fr(i.rows.get(g)??new Map,"table rows");if(w.some(q=>q.length!==I.length))throw new Error("Pyret table row width must match its columns");let A=[],S={$pyretValue:E,dict:{"_header-raw-array":I,"_rows-raw-array":A}};m.set(g,S),c.add(g);for(let q of w)A.push(q.map(y));return c.delete(g),p.delete(g),S}if(E?.kind==="string-dict"){let I=l.get(g)??new Map,w=fr(I,"dictionary entries"),A={$pyretValue:E,entries:[]};m.set(g,A);let S=new Set;E.mutable&&d++;for(let q of w){let $=n.get(q.key).label;if(S.has($))throw new Error("Duplicate Pyret dictionary key");S.add($),A.entries.push([$,y(q.value)])}return E.mutable&&d--,p.delete(g),A}if(E?.kind==="reference"){let I=u.get(g);if(I===void 0)throw new Error("Incomplete Pyret reference target");let w={$pyretValue:E};return m.set(g,w),d++,w.value=y(I),d--,p.delete(g),w}if(E?.kind==="raw-array"||E?.kind==="tuple"){let I=s.get(g)??new Map,w=fr(I,"container elements"),A=[],S=E.kind==="raw-array"?A:{vals:A};m.set(g,S),c.add(g);for(let q of w)A.push(y(q));return c.delete(g),p.delete(g),S}let C=o.get(g)??new Map,F=Array.from(C.keys()),Y=i.constructors.get(v.type),J=E?void 0:i.nullary.has(g)?0:Y?.size??(F.length?void 0:-1),oe=[...i.mutableFields.get(g)??[]];if(oe.some(I=>J===void 0||I>=J))throw new Error("Malformed Pyret mutable field positions");if(!E&&J===void 0&&f_(F)){let I=[];m.set(g,I);let w=F.slice().sort(Sn);for(let A of w){let S=C.get(A)??[];I.push(S.length===1?y(S[0]):S.map(q=>y(q)))}return p.delete(g),I}let G={dict:Object.create(null),...E?.kind==="object"?{$pyretValue:E}:{$name:v.type}};m.set(g,G);let re;if(E?.kind==="object"){let I=i.objectPositions.get(g)??new Map;re=fr(new Map([...I].map(([w,A])=>[A,w])),"object fields")}else if(J!==void 0){let I=Y??new Map,w=Math.max(0,J);if(F.length!==w||I.size!==w||[...I].some(([A,S])=>S>=w||!C.has(A)))throw new Error("Incomplete Pyret constructor fields");re=[...I].sort((A,S)=>A[1]-S[1]).map(([A])=>A),G.$arity=J,G.$constructor={$fieldNames:re},oe.length&&(G.$mut_fields_mask=re.map((A,S)=>oe.includes(S)))}else re=c_(v.type,F);for(let I of re){let w=C.get(I)??[];if((E?.kind==="object"||J!==void 0)&&w.length!==1)throw new Error("Pyret constructor field must have one value");w.length===1?G.dict[I]=y(w[0]):G.dict[I]=w.map(A=>y(A))}for(let I of oe){let w=G.dict[re[I]];if(!w||typeof w!="object"||de(w)?.kind!=="reference")throw new Error("Pyret mutable field must contain a reference")}return p.delete(g),G};if(r!==void 0)return r.map(g=>{if(!n.has(g))throw new Error("Unknown Pyret root ID: "+g);return y(g)});let h=e.getAtoms().map(g=>g.id);if(!h.length)return[];let b=h.filter(g=>!a.has(g));if(b.length!==1)throw new Error("Pyret graph has no unique root; supply an explicit root ID");return[y(b[0])]}function Fe(e,r,t){if(!e||typeof e!="object"||Array.isArray(e)||!("$name"in e)||ee(String(e.$name))!==r)return!1;let n=z(e);return!!n&&!n.mutableFields?.length&&n.arity===(t.length||-1)&&n.fields.length===t.length&&n.fields.every((i,o)=>i===t[o])&&!!e.dict&&t.every(i=>Object.prototype.hasOwnProperty.call(e.dict,i))}function pr(e){let r=Fe(e,"list-set",["elems"])?"list-set":Fe(e,"tree-set",["elems"])?"tree-set":void 0;if(!r)return;let t=e.dict.elems,n=[],i=new Set,o=()=>new Error(`Malformed Pyret ${r} backing structure`);if(r==="list-set"){let a=t;for(;!Fe(a,"empty",[]);){if(!Fe(a,"link",["first","rest"])||i.has(a))throw o();i.add(a),n.push(a.dict.first),a=a.dict.rest}}else{let a=[{node:t,phase:"enter"}];for(;a.length;){let{node:s,phase:u}=a.pop();if(!Fe(s,"leaf",[])){if(!Fe(s,"branch",["value","h","left","right"]))throw o();if(u==="exit")i.delete(s);else if(u==="emit")n.push(s.dict.value);else{if(i.has(s))throw o();i.add(s),a.push({node:s,phase:"exit"},{node:s.dict.right,phase:"enter"},{node:s,phase:"emit"},{node:s.dict.left,phase:"enter"})}}}}return{kind:r,elements:n}}function Cp(e,r){return e.kind==="tree-set"?`[tree-set: ${e.elements.map(r).join(", ")}]`:"[list-set: ]"+[...e.elements].reverse().map(t=>`.add(${r(t)})`).join("")}function Qr(e){return!!e.dict&&typeof e.dict=="object"&&"_header-raw-array"in e.dict&&"_rows-raw-array"in e.dict&&(!e.brands||Object.keys(e.brands).some(r=>r.includes("brandtable")))}function Zr(e){return Array.isArray(e.$rowData)&&!!e.$underlyingTable}function Ae(e){let r=e.dict?.["_header-raw-array"],t=e.dict?.["_rows-raw-array"];if(!Array.isArray(r)||!Array.isArray(t)||Array.from(r).some(n=>typeof n!="string")||new Set(r).size!==r.length||Array.from(t).some(n=>!Array.isArray(n)||n.length!==r.length))throw new Error("Malformed Pyret table: unique string headers and rectangular rows required");return{headers:r,rows:t}}function Np(e,r,t){let{headers:n,rows:i}=Ae(e);if(!n.length)return i.length?`for fold(spytial-table from empty-table([list: ]), spytial-row from range(0, ${i.length})):
|
|
33
33
|
spytial-table.add-row([raw-row: ])
|
|
34
34
|
end`:"empty-table([list: ])";let o;try{o=n.map(t)}catch{}return o?`table: ${o.join(", ")}${i.map(a=>`
|
|
35
35
|
row: `+a.map(r).join(", ")).join("")}
|
|
36
|
-
end`:`[table-from-columns: ${n.map((a,s)=>`{${r(a)}; [list: ${i.map(u=>r(u[s])).join(", ")}]}`).join(", ")}]`}function Rp(e,r,t){let n=de,i=w=>!!w&&typeof w=="object"&&!ie(w)&&n(w)?.kind!=="nothing",o=w=>{if(Array.isArray(w))return w;let A=n(w);if(A?.kind==="reference")return[w.value];if(A?.kind==="string-dict")return w.entries.map(q=>q[1]);if(A?.kind==="table")return Ae(w).rows.flat();if(Array.isArray(w.vals))return w.vals;let S=pr(w);return S?S.elements:Object.keys(w.dict??{}).map(q=>w.dict[q])},a=new Set,s=new Set,u=new Map,l=!1,p=!1,d=[e];for(;d.length;){let w=d.pop();if(!i(w))continue;if(a.has(w)){l=!0;continue}if(a.add(w),!Array.isArray(w)&&n(w)?.kind==="reference"&&s.add(w),!Array.isArray(w)){let S=n(w);S?.kind==="string-dict"&&S.mutable&&u.set(w,S),S?.kind==="table"&&(p=!0)}let A=o(w);for(let S=A.length-1;S>=0;S--)d.push(A[S])}if(!s.size&&!((u.size||p)&&l))return;let c=new Map,m=new Map,y=new Set(["nothing"]);for(let w of a){if(Array.isArray(w))continue;typeof w.$name=="string"&&y.add(ee(w.$name));let A=z(w),S=A?.mutableFields?.map(q=>A.fields[q])??[];m.set(w,S);for(let q of S){let $=w.dict[q];if(!s.has($))throw new Error("Pyret mutable field must contain a reference");if(c.has($))throw new Error("A Pyret reference shared by multiple mutable constructor fields cannot be reconstructed");c.set($,{value:w,field:q})}}let h=0,b=w=>{let A;do A=w+h++;while(y.has(A));return y.add(A),A},g=new Map,v=new Set,E=[],
|
|
36
|
+
end`:`[table-from-columns: ${n.map((a,s)=>`{${r(a)}; [list: ${i.map(u=>r(u[s])).join(", ")}]}`).join(", ")}]`}function Rp(e,r,t){let n=de,i=w=>!!w&&typeof w=="object"&&!ie(w)&&n(w)?.kind!=="nothing",o=w=>{if(Array.isArray(w))return w;let A=n(w);if(A?.kind==="reference")return[w.value];if(A?.kind==="string-dict")return w.entries.map(q=>q[1]);if(A?.kind==="table")return Ae(w).rows.flat();if(Array.isArray(w.vals))return w.vals;let S=pr(w);return S?S.elements:Object.keys(w.dict??{}).map(q=>w.dict[q])},a=new Set,s=new Set,u=new Map,l=!1,p=!1,d=[e];for(;d.length;){let w=d.pop();if(!i(w))continue;if(a.has(w)){l=!0;continue}if(a.add(w),!Array.isArray(w)&&n(w)?.kind==="reference"&&s.add(w),!Array.isArray(w)){let S=n(w);S?.kind==="string-dict"&&S.mutable&&u.set(w,S),S?.kind==="table"&&(p=!0)}let A=o(w);for(let S=A.length-1;S>=0;S--)d.push(A[S])}if(!s.size&&!((u.size||p)&&l))return;let c=new Map,m=new Map,y=new Set(["nothing"]);for(let w of a){if(Array.isArray(w))continue;typeof w.$name=="string"&&y.add(ee(w.$name));let A=z(w),S=A?.mutableFields?.map(q=>A.fields[q])??[];m.set(w,S);for(let q of S){let $=w.dict[q];if(!s.has($))throw new Error("Pyret mutable field must contain a reference");if(c.has($))throw new Error("A Pyret reference shared by multiple mutable constructor fields cannot be reconstructed");c.set($,{value:w,field:q})}}let h=0,b=w=>{let A;do A=w+h++;while(y.has(A));return y.add(A),A},g=new Map,v=new Set,E=[],C=new Map,F=w=>!i(w)||v.has(w),Y=w=>{if(!i(w))return r(w,Y);if(!v.has(w))throw new Error("Unresolved Pyret construction dependency");return g.get(w)};for(let w of a)s.has(w)||g.set(w,b("spytial-value"));if([...s].some(w=>!c.has(w)))throw new Error("Pyret reference source requires a reachable mutable constructor field for each reference");let J=new Map;for(let[w,A]of u){let S=g.get(w),q=A.sealed?b("spytial-dict"):S;E.push(`shadow ${q} = ${r({$pyretValue:{...A,sealed:!1},entries:[]},Y)}`),A.sealed&&E.push(`shadow ${S} = ${q}.seal()`),v.add(w),J.set(w,q)}let oe=new Map(J),G=()=>{for(let[w,A]of oe)if(o(w).every(F)){for(let[S,q]of w.entries)E.push(`${A}.set-now(${Y(S)}, ${Y(q)})`);oe.delete(w)}for(let[w,{owner:A,field:S}]of C)F(w.value)&&(E.push(`${A}!{${t(S)}: ${Y(w.value)}}`),C.delete(w))},re=w=>{let A=new Set,S=[w];for(;S.length;){let q=S.pop();if(!(!i(q)||A.has(q))){if(!v.has(q)||oe.has(q)||C.has(q))return!1;A.add(q),S.push(...o(q))}}return!0},I=[...a].filter(w=>!s.has(w)&&!u.has(w));for(;I.length;){G();let w=!1;for(let A=0;A<I.length;){let S=I[A],q=Array.isArray(S)?[]:m.get(S)??[],$=S;if(q.length){let ae=S,ye={...ae.dict};for(let Cn of q){let dr=ae.dict[Cn],Nn=n(dr);ye[Cn]=F(dr.value)?dr.value:Nn?.kind==="reference"&&Nn.unrestricted?null:dr.value}$={...ae,dict:ye}}if(!o($).every(F)){A++;continue}if(pr($)&&!o($).every(re)){A++;continue}let lt=g.get(S);E.push(`shadow ${lt} = ${r($,Y)}`),v.add(S);for(let ae of q){let ye=S.dict[ae];g.set(ye,`${lt}.${t(ae).trim()}`),v.add(ye),(!F(ye.value)||$.dict[ae]===null)&&C.set(ye,{owner:lt,field:ae})}I.splice(A,1),w=!0}if(!w)throw new Error("Pyret graph cannot be constructed: cycles need allocatable mutable fields and set elements need complete contents")}return G(),E.push(Y(e)),`block:
|
|
37
37
|
${E.map(w=>" "+w).join(`
|
|
38
38
|
`)}
|
|
39
|
-
end`}function Xr(e){let r=n=>{let i=e.dict?.[n];return i&&typeof i.meth=="function"&&typeof i.full_meth=="function"},t=e.$underlyingMap;if(t&&r("keys-list")&&r("get-value")&&r("unfreeze")){if(!Number.isSafeInteger(t.size)||t.size<0||typeof t.keys!="function"||typeof t.get!="function")throw new Error("Malformed Pyret string dictionary backing map");return{kind:"string-dict",mutable:!1,sealed:!1}}if(e.$underlyingDict&&r("keys-list-now")&&r("get-value-now")&&r("freeze")){if(typeof e.$underlyingDict!="object"||e.$sealed!==void 0&&typeof e.$sealed!="boolean")throw new Error("Malformed Pyret mutable string dictionary backing map");return{kind:"string-dict",mutable:!0,sealed:e.$sealed===!0}}}function et(e,r){let t;if("$pyretValue"in e)t=e.entries;else if(r.mutable)t=Object.entries(e.$underlyingDict);else{let n=e.$underlyingMap,i=n.keys();if(!Array.isArray(i)||i.some(o=>typeof o!="string"))throw new Error("Malformed Pyret dictionary keys");t=i.map(o=>[o,n.get(o)])}if(!Array.isArray(t)||t.some(n=>!Array.isArray(n)||n.length!==2||typeof n[0]!="string")||new Set(t.map(n=>n[0])).size!==t.length)throw new Error("Malformed Pyret dictionary entries");return t}function jp(e,r,t){let n=e.mutable?"mutable-string-dict":"string-dict",i=[...r];if(!e.mutable&&i.length>8){let o=u=>{let l=0;for(let p=0;p<u.length;p++)l=31*l+u.charCodeAt(p)|0;return l>>>1&1073741824|l&3221225471},a=o(i[8][0]),s=i.findIndex(([u])=>o(u)===a);i.splice(8,0,i.splice(s,1)[0])}return`[${n}: ${i.flatMap(([o,a])=>[t(o),t(a)]).join(", ")}]`+(e.sealed?".seal()":"")}function
|
|
39
|
+
end`}function Xr(e){let r=n=>{let i=e.dict?.[n];return i&&typeof i.meth=="function"&&typeof i.full_meth=="function"},t=e.$underlyingMap;if(t&&r("keys-list")&&r("get-value")&&r("unfreeze")){if(!Number.isSafeInteger(t.size)||t.size<0||typeof t.keys!="function"||typeof t.get!="function")throw new Error("Malformed Pyret string dictionary backing map");return{kind:"string-dict",mutable:!1,sealed:!1}}if(e.$underlyingDict&&r("keys-list-now")&&r("get-value-now")&&r("freeze")){if(typeof e.$underlyingDict!="object"||e.$sealed!==void 0&&typeof e.$sealed!="boolean")throw new Error("Malformed Pyret mutable string dictionary backing map");return{kind:"string-dict",mutable:!0,sealed:e.$sealed===!0}}}function et(e,r){let t;if("$pyretValue"in e)t=e.entries;else if(r.mutable)t=Object.entries(e.$underlyingDict);else{let n=e.$underlyingMap,i=n.keys();if(!Array.isArray(i)||i.some(o=>typeof o!="string"))throw new Error("Malformed Pyret dictionary keys");t=i.map(o=>[o,n.get(o)])}if(!Array.isArray(t)||t.some(n=>!Array.isArray(n)||n.length!==2||typeof n[0]!="string")||new Set(t.map(n=>n[0])).size!==t.length)throw new Error("Malformed Pyret dictionary entries");return t}function jp(e,r,t){let n=e.mutable?"mutable-string-dict":"string-dict",i=[...r];if(!e.mutable&&i.length>8){let o=u=>{let l=0;for(let p=0;p<u.length;p++)l=31*l+u.charCodeAt(p)|0;return l>>>1&1073741824|l&3221225471},a=o(i[8][0]),s=i.findIndex(([u])=>o(u)===a);i.splice(8,0,i.splice(s,1)[0])}return`[${n}: ${i.flatMap(([o,a])=>[t(o),t(a)]).join(", ")}]`+(e.sealed?".seal()":"")}function p_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&"dict"in e}function d_(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/[^\x20-\x7E]/g,r=>"\\u"+r.charCodeAt(0).toString(16).toUpperCase().padStart(4,"0"))+'"'}var y_=new Set(`and as ascending ask by cases check data descending do does-not-raise
|
|
40
40
|
else end examples extend extract false for from fun hiding if import include is is-not is-roughly
|
|
41
41
|
is-not-roughly because lam lazy let letrec load-table method module newtype of or provide provide-types
|
|
42
42
|
raises raises-other-than raises-satisfies raises-violates reactor rec ref sanitize satisfies select
|
|
43
|
-
shadow sieve spy order transform true type type-let using use var violates when`.split(/\s+/)),
|
|
43
|
+
shadow sieve spy order transform true type type-let using use var violates when`.split(/\s+/)),m_=new Set(`function break return do yield throw continue while class interface
|
|
44
44
|
type generator alias extends implements module package namespace public private protected static const
|
|
45
|
-
enum super export new try finally debug spy switch this match case with __proto__`.split(/\s+/)),m_=new Set(["block","doc","otherwise","row","sharing","source","table","then","where","with"]);function In(e){if(d_.has(e)||y_.has(e)||!/^[A-Za-z_][A-Za-z0-9_]*(?:-+[A-Za-z0-9_]+)*$/.test(e))throw new Error(`Pyret object field has no literal spelling: ${JSON.stringify(e)}`);return m_.has(e)?e+" ":e}function kn(e,r,t=n=>kn(n,r)){if(e==null)return"nothing";if(typeof e=="number")return String(e);if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return p_(e);let n=ie(e);if(n)return Jr(n);let i=de(e);if(i?.kind==="nothing")return"nothing";if(i?.kind==="table"){if(r.has(e))throw new Error("Cyclic Pyret table construction is not supported");r.add(e);let o=Np(e,t,In);return r.delete(e),o}if(i?.kind==="string-dict"){if(r.has(e))throw new Error("Cyclic immutable Pyret dictionary construction is not supported");r.add(e);let o=jp(i,e.entries,t);return r.delete(e),o}if("vals"in e&&Array.isArray(e.vals)){if(r.has(e))throw new Error("Cyclic Pyret containers are not supported");if(!e.vals.length)throw new Error("Pyret has no empty tuple literal");r.add(e);let o=`{${e.vals.map(a=>t(a)).join("; ")}${e.vals.length===1?";":""}}`;return r.delete(e),o}if(Array.isArray(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=`[raw-array: ${e.map(t).join(", ")}]`;return r.delete(e),o}if(f_(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=pr(e);if(o){let p=Tp(o,t);return r.delete(e),p}let a=ee(e.$name||"object"),s=e.dict||{},u=Object.keys(s),l=i?.kind==="object"?`{${u.map(p=>`${In(p)}: ${t(s[p])}`).join(", ")}}`:u.length||e.$arity===0?`${a}(${u.map(p=>t(s[p])).join(", ")})`:a;return r.delete(e),l}return String(e)}function rt(e,r){let t=new Map;for(let i of e.getAtoms()){let o=X(i.type);if(o){if(t.has(o.name)&&t.get(o.name)!==i.type)throw new Error(`Source reconstruction needs explicit bindings for same-named constructor ${o.name}`);t.set(o.name,i.type)}}let n=Pp(e,r);return Rp(n,(i,o)=>kn(i,new Set,o),In)??kn(n,new Set)}function tt(e){return JSON.stringify(e.atoms)}function Mp(e){let r=new Set;return e.filter(t=>{let n=tt(t);return r.has(n)?!1:(r.add(n),!0)}).map(t=>({...t,atoms:[...t.atoms],types:[...t.types]}))}function Fp(e,r=[]){if(!e.length)return[...r];let t=e[0].atoms.length;return e.some(n=>n.atoms.length!==t)?[]:Array.from({length:t},(n,i)=>{let o=new Set(e.map(a=>a.types[i]??"univ"));return o.size===1?[...o][0]:"univ"})}function qn(e,r){if(e.name!==r.name)throw new Error(`Conflicting names for relation ID ${JSON.stringify(e.id)}: ${JSON.stringify(e.name)} and ${JSON.stringify(r.name)}`)}function h_(e,r){let t=e.id,n=r.atoms;return`${t}:${n.join("->")}`}var P=class P extends Kr{constructor(t,n={},i){super();this.atoms=new Map;this.relations=new Map;this.types=new Map;this.objectToAtomId=new WeakMap;this.atomCounter=0;this.valueRelations=new Map;this.indexAtoms=new Map;this.typeLabelCounters=new Map;this.originalObjects=new Map;this.externalEvaluator=null;this.options={stringsIdempotent:n.stringsIdempotent??!0,numbersIdempotent:n.numbersIdempotent??!0,booleansIdempotent:n.booleansIdempotent??!0,showFunctions:n.showFunctions??!1},this.externalEvaluator=i||null,this.initializeBuiltinTypes(),this.isAtomicValue(t)?this.createAtomFromPrimitive(t):t!=null&&this.parseObjectIteratively(t)}static fromValues(t){let n=new P,i=new WeakSet,o=t.map(a=>{if(n.isAtomicValue(a))return n.createAtomFromPrimitive(a);if(!Array.isArray(a)&&!n.isPyretObject(a))throw new Error("Unsupported normalized Pyret root");return n.parseObjectIteratively(a,i),n.objectToAtomId.get(a)});return{instance:n,rootIds:o}}setExternalEvaluator(t){this.externalEvaluator=t}getExternalEvaluator(){return this.externalEvaluator}getOptions(){return{...this.options}}cacheConstructorPattern(t,n){if(n.length===0)return;let i=P.globalConstructorCache.get(t),o=++P.instantiationCounter;(!i||o>i.instantiation)&&P.globalConstructorCache.set(t,{pattern:[...n],instantiation:o})}static getGlobalConstructorCache(){let t=new Map;for(let[n,i]of P.globalConstructorCache)t.set(n,[...i.pattern]);return t}static getGlobalConstructorCacheWithPriority(){return new Map(P.globalConstructorCache)}static clearGlobalConstructorCache(){P.globalConstructorCache.clear()}static async fromExpression(t,n={},i){let o=await P.evaluateExpression(t,i);if(!o.success)throw new Error(`Failed to evaluate Pyret expression: ${P.formatError(o.exn)}`);if(P.isPrimitive(o.result)){let a=new P(null,n,i),s=typeof o.result=="string"?"String":typeof o.result=="number"?"Number":"Boolean",u={id:`result_${o.result}`,label:String(o.result),type:s};return a.addAtom(u),a}return new P(o.result,n,i)}static async evaluateExpression(t,n){try{let i=await n.run(t),o=P.findKeyAtAnyLevel(i,"exn");if(o!==void 0)return{success:!1,exn:o};let a=P.findKeyAtAnyLevel(i,"answer");return a!==void 0?{success:!0,result:a}:P.isPrimitive(i)?{success:!0,result:i}:{success:!1,exn:"Unable to find answer or exn in evaluation result"}}catch(i){return{success:!1,exn:i instanceof Error?i.message:"Unknown evaluation error"}}}static findKeyAtAnyLevel(t,n){if(!(!t||typeof t!="object")){if(n in t)return t[n];for(let i of Object.values(t))if(i&&typeof i=="object"){let o=P.findKeyAtAnyLevel(i,n);if(o!==void 0)return o}}}static isPrimitive(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}static formatError(t){if(!t)return"Unknown error";if(typeof t=="string")return t;if(typeof t=="object"&&t!==null){let n=t;if(n.message)return n.message;if(n.toString&&typeof n.toString=="function")return n.toString()}return String(t)}hasExternalEvaluator(){return this.externalEvaluator!==null}addAtom(t){this.atoms.set(t.id,t),this.ensureTypeExists(t.type);let n=this.types.get(t.type);n&&!n.atoms.some(i=>i.id===t.id)&&n.atoms.push(t),this.emitEvent({type:"atomAdded",data:{atom:t}})}removeAtom(t){let n=this.atoms.get(t);this.atoms.delete(t),this.types.forEach(i=>{i.atoms=i.atoms.filter(o=>o.id!==t)}),this.relations.forEach(i=>{i.tuples=i.tuples.filter(o=>!o.atoms.includes(t))}),n&&this.emitEvent({type:"atomRemoved",data:{atomId:t}})}removeRelationTuple(t,n){let i=this.relations.get(t);if(i){let o=i.tuples.length;i.tuples=i.tuples.filter(a=>!a.atoms.every((s,u)=>s===n.atoms[u])),i.tuples.length<o&&this.emitEvent({type:"relationTupleRemoved",data:{relationId:t,tuple:n}})}}reify(t){return rt(this,t)}parseObjectIteratively(t,n=new WeakSet){let i=[{obj:t}],o=(a,s,u,l)=>{if(this.isAtomicValue(a)){let p=this.createAtomFromPrimitive(a);this.addRelationTuple(u,{atoms:[...s,p],types:[]},l)}else(Array.isArray(a)||this.isPyretObject(a))&&i.push({obj:a,parentInfo:{atoms:s,relationId:u,relationName:l}})};for(let a=0;a<i.length;a++){let{obj:s,parentInfo:u}=i[a],l=this.objectToAtomId.get(s);if(l||(l=this.createAtomFromObject(s)),u&&this.addRelationTuple(u.relationId,{atoms:[...u.atoms,l],types:[]},u.relationName),n.has(s))continue;n.add(s);let p=this.valueInfo(s);if(p?.kind==="nothing")continue;if(p?.kind==="table"){this.processTableSemantics(l,s,y=>{if(this.isAtomicValue(y))return this.createAtomFromPrimitive(y);if(zr(y)||!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret table cell");let h=y,b=this.objectToAtomId.get(h)??this.createAtomFromObject(h);return i.push({obj:h}),b});continue}if(p?.kind==="string-dict"){p.sealed&&this.addValueFact("sealed",l,"MutableStringDict"),et(s,p).forEach(([h,b],g)=>{if(!this.isAtomicValue(b)&&!Array.isArray(b)&&!this.isPyretObject(b))throw new Error("Unsupported Pyret dictionary value");let v=this.valueRelationId("dictionary-entries","entry",["PyretObject","Index","String","PyretObject"]);o(b,[l,this.createIndexAtom(g),this.createAtomFromPrimitive(h)],v,"entry")});continue}if(p?.kind==="reference"){p.unrestricted&&this.addValueFact("unrestricted",l,"Reference");let y=s.value;if(!this.isAtomicValue(y)&&!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret reference target");let h=this.valueRelationId("reference-target","target",["Reference","PyretObject"]);o(y,[l],h,"target");continue}if(p?.kind==="tuple"||p?.kind==="raw-array"){let y=Array.isArray(s)?s:s.vals;for(let h=0;h<y.length;h++){let b=this.valueRelationId("sequence-elements","element",["PyretObject","Index","PyretObject"]);o(y[h],[l,this.createIndexAtom(h)],b,"element")}continue}let d=s;this.originalObjects.set(l,d);let c=z(d);c?.arity===0&&this.addValueFact("nullary-constructor",l,"PyretObject");for(let y of c?.mutableFields??[]){let h=this.valueRelationId("mutable-field","mutable-field",["PyretObject","Index"]);this.addRelationTuple(h,{atoms:[l,this.createIndexAtom(y)],types:[]},"mutable-field")}if(!d.dict||typeof d.dict!="object")continue;let m=c?.fields??(p?.kind==="object"?Sp(d.dict,this.options.showFunctions):Object.keys(d.dict));!p&&!X(this.extractType(d))&&this.cacheConstructorPattern(this.extractType(d),m),m.forEach((y,h)=>{let b=d.dict[y],g=c?_p(c,h):p?.kind==="object"?this.valueRelationId("object-field:"+y,y,["Object","Index","PyretObject"]):y;if(c&&!this.relations.has(g)&&this.relations.set(g,{id:g,name:y,types:[c.name,"PyretObject"],tuples:[]}),!this.options.showFunctions&&zr(b))return;let v=p?.kind==="object"?[l,this.createIndexAtom(h)]:[l];o(b,v,g,p?.kind==="object"?y:void 0)})}}addValueFact(t,n,i){let o=this.valueRelationId(t,t,[i]);this.addRelationTuple(o,{atoms:[n],types:[]},t)}valueRelationId(t,n,i){let o=this.valueRelations.get(t);return o||(o=globalThis.crypto?.randomUUID?.()??`relation-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${this.valueRelations.size}`,this.valueRelations.set(t,o),this.relations.set(o,{id:o,name:n,types:i,tuples:[]})),o}createIndexAtom(t){let n=this.indexAtoms.get(t);if(n)return n;let i=this.generateAtomId("Index");return this.atoms.set(i,{id:i,type:"Index",label:String(t)}),this.ensureTypeExists("Index"),this.indexAtoms.set(t,i),i}valueInfo(t){if(Array.isArray(t))return{kind:"raw-array"};if("$pyretValue"in t)return de(t);if(Zr(t))throw new Error("Standalone Pyret Row values are not supported");if(Qr(t))return{kind:"table"};let n=xp(t);if(n)return n;let i=Xr(t);if(i)return i;if(Ap(t))return{kind:"nothing"};if(Array.isArray(t.vals))return{kind:"tuple"};if(!z(t)&&t.dict&&(typeof t.updateDict=="function"||this.extractType(t)==="PyretObject"))return{kind:"object"}}processTableSemantics(t,n,i){let{headers:o,rows:a}=Ae(n),s=this.valueRelationId("table-columns","column",["Table","Index","String"]);o.forEach((l,p)=>this.addRelationTuple(s,{atoms:[t,this.createIndexAtom(p),this.createAtomFromPrimitive(l)],types:[]},"column"));let u=this.valueRelationId("table-rows:"+o.length,"row",["Table","Index",...o.map(()=>"PyretObject")]);a.forEach((l,p)=>this.addRelationTuple(u,{atoms:[t,this.createIndexAtom(p),...Array.from(l,i)],types:[]},"row"))}createAtomFromObject(t){let n=this.valueInfo(t),i=n?{nothing:"Nothing",reference:"Reference",object:"Object",tuple:"Tuple","raw-array":"RawArray",table:"Table","string-dict":n.kind==="string-dict"&&n.mutable?"MutableStringDict":"StringDict"}[n.kind]:this.extractType(t),o=this.generateAtomId(i),a={id:o,type:i,label:n?i:this.extractLabel(t)};return this.atoms.set(o,a),this.objectToAtomId.set(t,o),this.ensureTypeExists(i),o}createAtomFromPrimitive(t){let n=ie(t),i=n?"Number":this.mapPrimitiveType(t),o=n?Jr(n):String(t);if(i==="String"&&this.options.stringsIdempotent||i==="Number"&&this.options.numbersIdempotent||i==="Boolean"&&this.options.booleansIdempotent){let l=Array.from(this.atoms.values()).find(p=>p.type===i&&p.label===o);if(l)return l.id}let s=this.generateAtomId(i),u={id:s,type:i,label:o};return this.atoms.set(s,u),this.ensureTypeExists(i),s}mapPrimitiveType(t){switch(typeof t){case"number":return"Number";case"string":return"String";case"boolean":return"Boolean";default:return"Value"}}extractMostSpecificBrand(t){let n=-1,i,o;for(let a of Object.keys(t)){let s=/^\$brand([a-zA-Z_]+)(\d+)$/.exec(a);if(s){let[,u,l]=s,p=parseInt(l,10);p>n&&(n=p,i=u)}else{let u=/^\$brand_?([a-zA-Z_]+)$/.exec(a);if(u){let[,l]=u;(!o||l>o)&&(o=l)}}}return i||o}extractType(t){if(t.$name&&typeof t.$name=="string")return t.$name;if(t.brands&&typeof t.brands=="object"){let n=this.extractMostSpecificBrand(t.brands);if(n)return n}return"PyretObject"}extractLabel(t){if(t.$name&&typeof t.$name=="string")return ee(t.$name);let n=this.extractType(t),o=(this.typeLabelCounters.get(n)??0)+1;return this.typeLabelCounters.set(n,o),`${n}$${o}`}addRelationTuple(t,n,i){let o=n.atoms[0],a=n.atoms[n.atoms.length-1],s=this.atoms.get(o),u=this.atoms.get(a);if(!s||!u){console.warn(`Cannot create relation ${t}: missing atoms ${o} or ${a}`);return}let l=this.relations.get(t),p=i??l?.name??Wr(t)?.field??t;l&&qn(l,{...l,name:p});let d=vp(n,l,m=>this.atoms.get(m)?.type);l?l.types=d.relationTypes:(l={id:t,name:p,types:d.relationTypes,tuples:[]},this.relations.set(t,l)),l.tuples.some(m=>tt(m)===tt(n))||(l.tuples.push(d.tuple),this.emitEvent({type:"relationTupleAdded",data:{relationId:t,tuple:d.tuple}}))}ensureTypeExists(t){if(!this.types.has(t)){let n=X(t),i=n&&!["Number","String","Boolean","PyretObject","Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"].includes(n.name)?n.name:void 0;i&&this.ensureTypeExists(i);let o={id:t,types:i?[t,i,"PyretObject"]:[t,"PyretObject"],atoms:[],isBuiltin:this.isBuiltinType(t)};this.types.set(t,o)}}initializeBuiltinTypes(){["Number","String","Boolean","PyretObject"].forEach(n=>{let i={id:n,types:n==="PyretObject"?["PyretObject"]:[n,"PyretObject"],atoms:[],isBuiltin:!0};this.types.set(n,i)})}isBuiltinType(t){return["Number","String","Boolean","PyretObject"].includes(t)}isAtomicValue(t){return typeof t=="string"||typeof t=="boolean"||ie(t)!==void 0}isPyretObject(t){return typeof t=="object"&&t!==null&&("dict"in t||"brands"in t||"$name"in t||"vals"in t||"$pyretValue"in t||bn(t))}generateAtomId(t){return`${t?t.toLowerCase().substring(0,3):"atom"}_${++this.atomCounter}`}getAtoms(){return Array.from(this.atoms.values())}getRelations(){let t=this.relations.values();return Array.from(t)}getTypes(){return this.types.forEach(t=>{t.atoms=this.getAtoms().filter(n=>n.type===t.id||!!X(n.type)&&this.types.get(n.type)?.types.includes(t.id))}),Array.from(this.types.values())}getAtomType(t){let n=this.atoms.get(t);if(!n)throw new Error(`Atom with id '${t}' not found`);let i=this.types.get(n.type);return i||(this.ensureTypeExists(n.type),this.types.get(n.type))}generateGraph(t=!1,n=!1){let i=new Lp.Graph({directed:!0,multigraph:!0});if(this.getAtoms().forEach(o=>{i.setNode(o.id,{label:o.label})}),this.getRelations().forEach(o=>{o.tuples.forEach(a=>{if(a.atoms.length>=2){let s=a.atoms[0],u=a.atoms[a.atoms.length-1],l=a.atoms.slice(1,-1),p=o.name;if(l.length>0){let c=l.map(m=>{let y=this.atoms.get(m);return y?y.label:m});p=`${o.name}[${c.join(", ")}]`}let d=h_(o,a);i.setEdge(s,u,p,d)}})}),t||n){let o=[];i.nodes().forEach(a=>{let s=i.inEdges(a)||[],u=i.outEdges(a)||[];if(s.length===0&&u.length===0&&this.atoms.get(a)){let c=this.getAtomType(a).isBuiltin;(t||c&&n)&&o.push(a)}}),o.forEach(a=>i.removeNode(a))}return i}addFromDataInstance(t,n){if(!(t instanceof P))return!1;let i=t;for(let a of i.getRelations()){let s=this.relations.get(a.id);s&&qn(s,a)}let o=new Map;return i.getAtoms().forEach(a=>{let s=this.isBuiltinType(a.type);if(n&&s&&(a.type==="String"&&this.options.stringsIdempotent||a.type==="Number"&&this.options.numbersIdempotent||a.type==="Boolean"&&this.options.booleansIdempotent)){let c=Array.from(this.atoms.values()).find(m=>m.type===a.type&&m.label===a.label);if(c){o.set(a.id,c.id);return}}let u=this.generateAtomId(a.type);o.set(a.id,u);let l={...a,id:u};this.addAtom(l);let p=i.originalObjects.get(a.id);p&&this.originalObjects.set(u,p)}),i.getTypes().forEach(a=>{if(!this.types.has(a.id))this.types.set(a.id,{...a,atoms:a.atoms.map(s=>({...s,id:o.get(s.id)||s.id}))});else{let s=this.types.get(a.id),u=a.atoms.map(l=>({...l,id:o.get(l.id)||l.id}));s.atoms.push(...u)}}),i.getRelations().forEach(a=>{let s=a.tuples.map(l=>({atoms:l.atoms.map(p=>o.get(p)||p),types:l.types})),u=this.relations.get(a.id);u?(u.tuples=Mp([...u.tuples,...s]),u.types=Fp(u.tuples,u.types)):this.relations.set(a.id,{...a,tuples:s})}),!0}};P.globalConstructorCache=new Map,P.instantiationCounter=0;var Me=P;var Dp=Mn(gn()),nt=class{constructor(r){this.datum=r;this.atoms=new Map(r.atoms.map(t=>[t.id,t])),this.types=new Map(r.types.map(t=>[t.id,t]))}getAtoms(){return this.datum.atoms}getRelations(){return this.datum.relations}getTypes(){return this.datum.types}getAtomType(r){let t=this.atoms.get(r);if(!t)throw new Error(`Unknown captured atom ${r}`);let n=this.types.get(t.type);if(!n)throw new Error(`Unknown captured type ${t.type}`);return n}generateGraph(r=!1,t=!1){let n=new Dp.Graph({directed:!0,multigraph:!0});for(let i of this.datum.atoms)n.setNode(i.id,{label:i.label});for(let i of this.datum.relations)for(let o of i.tuples){if(o.atoms.length<2)continue;let a=o.atoms[0],s=o.atoms[o.atoms.length-1],u=o.atoms.slice(1,-1).map(p=>this.atoms.get(p).label),l=i.name+(u.length?`[${u.join(", ")}]`:"");n.setEdge(a,s,l,JSON.stringify([i.id,o.atoms]))}if(r||t)for(let i of n.nodes())!(n.nodeEdges(i)||[]).length&&(r||this.getAtomType(i).isBuiltin)&&n.removeNode(i);return n}};var it=class extends Error{constructor(t,n,i){super(`Cannot capture ${JSON.stringify(t)}${n.map(o=>`[${JSON.stringify(o)}]`).join("")}: ${i}`);this.root=t;this.path=n;this.reason=i;this.name="PyretCaptureError"}};function $p(e){let r=new Set;function t(n){if(n===null||typeof n=="string"||typeof n=="boolean"||typeof n=="number"&&Number.isFinite(n))return;let i=n&&typeof n=="object"?Object.getPrototypeOf(n):void 0;if(!n||typeof n!="object"||!Array.isArray(n)&&i!==null&&Object.getPrototypeOf(i)!==null)throw new Error("Capture metadata must contain only JSON values");if(r.has(n))throw new Error("Capture metadata must not contain cycles");r.add(n);for(let o of Reflect.ownKeys(n)){let a=Object.getOwnPropertyDescriptor(n,o);if(typeof o!="string"||a.get||a.set)throw new Error("Capture metadata must not contain symbols or accessors")}for(let o of Array.isArray(n)?Array.from(n):Object.values(n))t(o);r.delete(n)}return t(e),JSON.parse(JSON.stringify(e))}function Bp(e,r,t){if(!Array.isArray(e)||!e.length)throw new Error("Capture requires at least one named root");let n=new Set;for(let c of e){if(!c||typeof c.name!="string"||!c.name||n.has(c.name))throw new Error("Capture root names must be nonempty and unique");n.add(c.name)}let i=globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,o=new Map,a=new Map,s=[],u=(c,m,y)=>{if(o.has(c))return o.get(c);try{let h=r.observe(c);if(h.kind==="primitive")return h.value;let b;switch(h.kind){case"nothing":b={$pyretValue:{kind:"nothing"}};break;case"raw-array":b=[];break;case"tuple":b={vals:[]};break;case"object":b={$pyretValue:{kind:"object"},dict:Object.create(null)};break;case"reference":b={$pyretValue:{kind:"reference",unrestricted:!0}};break;case"string-dict":b={$pyretValue:{kind:"string-dict",mutable:h.mutable,sealed:h.sealed},entries:[]};break;case"table":b={$pyretValue:{kind:"table"},dict:Object.create(null)};break;case"constructor":{let g=JSON.stringify(h.info),v=a.get(h.identity);if(v&&v.schema!==g)throw new Error("Constructor schema changed during capture");v||(v={id:qp(i,a.size,h.info.name),schema:g},a.set(h.identity,v)),b={$name:v.id,$arity:h.info.arity,$constructor:{$fieldNames:h.info.fields.slice()},$mut_fields_mask:h.info.fields.map((E,T)=>(h.info.mutableFields??[]).includes(T)),dict:Object.create(null)};break}default:throw new Error("Unsupported adapter observation")}return o.set(c,b),s.push({carrier:b,observed:h,root:m,path:y}),b}catch(h){throw h instanceof it?h:new it(m,y,h instanceof Error?h.message:String(h))}},l=e.map(c=>u(c.value,c.name,[]));for(let c=0;c<s.length;c++){let{carrier:m,observed:y,root:h,path:b}=s[c],g=(v,...E)=>u(v,h,[...b,...E]);switch(y.kind){case"constructor":y.info.fields.forEach((v,E)=>{m.dict[v]=g(y.values[E],v)});break;case"object":y.fields.forEach(([v,E])=>{m.dict[v]=g(E,v)});break;case"raw-array":y.values.forEach((v,E)=>m.push(g(v,E)));break;case"tuple":y.values.forEach((v,E)=>m.vals.push(g(v,E)));break;case"reference":m.value=g(y.value,"target");break;case"string-dict":y.entries.forEach(([v,E])=>m.entries.push([v,g(E,v)]));break;case"table":m.dict["_header-raw-array"]=y.headers.slice(),m.dict["_rows-raw-array"]=y.rows.map((v,E)=>v.map((T,M)=>g(T,"rows",E,y.headers[M])));break}}let{instance:p,rootIds:d}=Me.fromValues(l);return $p({format:"spytial-pyret-capture",version:1,datum:{atoms:[...p.getAtoms()],relations:[...p.getRelations()],types:[...p.getTypes()]},roots:e.map((c,m)=>({name:c.name,atomId:d[m],...c.observation===void 0?{}:{observation:c.observation}})),...t===void 0?{}:{provenance:t}})}function Vp(e){let r=$p(e);if(!r||r.format!=="spytial-pyret-capture"||r.version!==1)throw new Error("Unsupported Pyret capture format/version");if(!Array.isArray(r.roots)||!r.roots.length||!r.datum||!Array.isArray(r.datum.atoms)||!Array.isArray(r.datum.relations)||!Array.isArray(r.datum.types))throw new Error("Malformed Pyret capture");let t=new Map,n=new Set(["Number","String","Boolean","Nothing","Object","Index","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);for(let c of r.datum.atoms){if(!c||typeof c.id!="string"||!c.id||t.has(c.id)||typeof c.label!="string"||typeof c.type!="string"||!n.has(c.type)&&!X(c.type))throw new Error("Malformed or duplicate Pyret capture atom");if(c.type==="Index"&&(!/^(0|[1-9][0-9]*)$/.test(c.label)||!Number.isSafeInteger(Number(c.label))))throw new Error("Malformed Pyret capture index");t.set(c.id,c)}let i=new Set,o=(c,m)=>c===m.type||c==="PyretObject"||!n.has(c)&&c===X(m.type)?.name,a=new Set;for(let c of r.datum.types){if(!c||typeof c.id!="string"||a.has(c.id)||!Array.isArray(c.types)||c.types[0]!==c.id||c.types.some(y=>typeof y!="string")||!Array.isArray(c.atoms)||typeof c.isBuiltin!="boolean")throw new Error("Malformed Pyret capture type");a.add(c.id);let m=new Set;for(let y of c.atoms){let h=y&&t.get(y.id);if(!h||m.has(y.id)||y.type!==h.type||y.label!==h.label||!o(c.id,h))throw new Error("Invalid Pyret capture type membership");m.add(y.id)}}if([...t.values()].some(c=>!a.has(c.type))||r.datum.types.some(c=>c.types.some(m=>!a.has(m))))throw new Error("Unknown Pyret capture type");for(let c of r.datum.relations){if(!c||typeof c.id!="string"||i.has(c.id)||typeof c.name!="string"||!Array.isArray(c.tuples)||!Array.isArray(c.types)||c.types.some(y=>typeof y!="string"))throw new Error("Malformed or duplicate Pyret capture relation");i.add(c.id);let m=new Set;for(let y of c.tuples){if(!y||!Array.isArray(y.atoms)||!y.atoms.length||y.atoms.some(b=>!t.has(b))||!Array.isArray(y.types)||y.types.length!==y.atoms.length||y.types.some((b,g)=>!o(b,t.get(y.atoms[g]))))throw new Error("Malformed Pyret capture tuple");let h=JSON.stringify(y.atoms);if(m.has(h))throw new Error("Duplicate Pyret capture tuple");m.add(h)}}let s=new Set;for(let c of r.roots){if(!c||typeof c.name!="string"||!c.name||s.has(c.name)||!t.has(c.atomId)||t.get(c.atomId).type==="Index")throw new Error("Invalid Pyret capture root");s.add(c.name)}let u=new nt(r.datum),l=[...t.values()].filter(c=>c.type!=="Index").map(c=>c.id),p=En(u,l,{allowContainerCycles:!0}),d=new Map(l.map((c,m)=>[c,p[m]]));return{snapshot:r,instance:u,values:new Map(r.roots.map(c=>[c.name,d.get(c.atomId)]))}}function ot(e){for(let r of["isNumber","isNothing","isDataValue","isTuple","isRef","isFunction","isMethod","isOpaque","isObject"])if(typeof e?.[r]!="function")throw new Error(`Pyret runtime lacks ${r}`);return{observe(r){if(typeof r=="string"||typeof r=="boolean")return{kind:"primitive",value:r};if(e.isNumber(r)){let n=ie(r);if(!n)throw new Error("Unsupported Pyret numeric representation");return{kind:"primitive",value:{$pyretNumber:n}}}if(e.isFunction(r))throw new Error("Unsupported Pyret function");if(e.isMethod(r))throw new Error("Unsupported Pyret method");if(e.isOpaque(r))throw new Error("Unsupported Pyret opaque value");if(e.isNothing(r))return{kind:"nothing"};if(Array.isArray(r)){if(Array.from({length:r.length},(n,i)=>i).some(n=>!(n in r)))throw new Error("Unsupported sparse raw array");return{kind:"raw-array",values:r.slice()}}let t=r;if(e.isRef(r)){if(t.state!==2)throw new Error("Unsupported Pyret reference state: only initialized mutable references are supported");if(!Array.isArray(t.anns?.anns)||!t.anns.anns.every(n=>n.ann===e.Any))throw new Error("Unsupported Pyret reference annotation: only the runtime Any annotation is supported");return{kind:"reference",value:t.value}}if(e.isTuple(r))return{kind:"tuple",values:t.vals.slice()};if(e.isDataValue(r)){let n=z(t);if(!n||!t.$constructor||typeof t.$constructor!="object")throw new Error("Invalid Pyret constructor metadata");for(let i in t.dict)if(!n.fields.includes(i)&&i!=="$fieldNames"&&!e.isMethod(t.dict[i])&&!(i==="_spytial"&&e.isFunction(t.dict[i])))throw new Error(`Unsupported extra constructor field ${JSON.stringify(i)}`);return{kind:"constructor",identity:t.$constructor,info:n,values:n.fields.map(i=>t.dict[i])}}if(e.isObject(r)){if(Zr(t))throw new Error("Unsupported standalone Pyret Row");if(Qr(t))return{kind:"table",...Ae(t)};let n=Xr(t);if(n)return{...n,entries:et(t,n)};if(t.brands&&Object.keys(t.brands).some(o=>o!=="brandCount"&&t.brands[o]===!0))throw new Error("Unsupported branded Pyret object");let i=[];for(let o in t.dict)o==="_spytial"&&(e.isFunction(t.dict[o])||e.isMethod(t.dict[o]))||i.push([o,t.dict[o]]);return{kind:"object",fields:i}}throw new Error("Unsupported value from this Pyret runtime")}}}function Up(e,r){let t=Bp([{name:"value",value:e}],ot(r)),{instance:n}=Vp(t),i;try{i=rt(n,t.roots[0].atomId)}catch(o){i="Source preview unavailable: "+(o instanceof Error?o.message:String(o))}return{snapshot:t,instance:n,sourcePreview:i}}function Hp(e){return{...e,nodes:e.nodes.map(r=>({...r,mostSpecificType:ee(r.mostSpecificType)}))}}var at={languageVersion:"2026-09-18",coreVersion:"6.3.2",enums:{TextSize:{"text-size-small":"small","text-size-normal":"normal","text-size-large":"large"},LinePattern:{"line-pattern-solid":"solid","line-pattern-dashed":"dashed","line-pattern-dotted":"dotted"},IconPlacement:{"icon-placement-full":"full","icon-placement-badge":"badge"},Direction:{"direction-above":"above","direction-below":"below","direction-left":"left","direction-right":"right","direction-directly-above":"directlyAbove","direction-directly-below":"directlyBelow","direction-directly-left":"directlyLeft","direction-directly-right":"directlyRight"},Hold:{"hold-always":"always","hold-never":"never"},Rotation:{"rotation-clockwise":"clockwise","rotation-counterclockwise":"counterclockwise"},Alignment:{"alignment-horizontal":"horizontal","alignment-vertical":"vertical"},GroupEdgeDirection:{"group-edge-direction-none":"none","group-edge-direction-togroup":"togroup","group-edge-direction-fromgroup":"fromgroup"},LayoutFlag:{"layout-flag-hide-disconnected":"hideDisconnected","layout-flag-hide-disconnected-built-ins":"hideDisconnectedBuiltIns"}},blocks:{textStyle:{name:"textStyle",typeName:"TextStyle",constructor:"text-style",fields:[{name:"size",pyretName:"size",type:"enum",required:!1,enum:"TextSize"},{name:"color",pyretName:"color",type:"color",required:!1}]},lineStyle:{name:"lineStyle",typeName:"LineStyle",constructor:"line-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"pattern",pyretName:"pattern",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1}]},fillStyle:{name:"fillStyle",typeName:"FillStyle",constructor:"fill-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1}]},borderStyle:{name:"borderStyle",typeName:"BorderStyle",constructor:"border-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"width",pyretName:"width",type:"number",required:!1,exclusiveMinimum:0}]},iconStyle:{name:"iconStyle",typeName:"IconStyle",constructor:"icon-style",fields:[{name:"path",pyretName:"path",type:"icon-path",required:!1},{name:"placement",pyretName:"placement",type:"enum",required:!1,enum:"IconPlacement"},{name:"opacity",pyretName:"opacity",type:"number",required:!1,minimum:0,maximum:1}]},ruleSource:{name:"ruleSource",typeName:"RuleSource",constructor:"rule-source",fields:[{name:"text",pyretName:"text",type:"string",required:!0},{name:"location",pyretName:"location",type:"string",required:!1}]},groupAddEdge:{name:"groupAddEdge",typeName:"GroupAddEdge",constructor:"group-add-edge",fields:[{name:"points",pyretName:"points",type:"enum",required:!1,enum:"GroupEdgeDirection"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"}]}},rules:{orientation:{name:"orientation",yamlKey:"orientation",section:"constraints",shape:"mapping",constructor:"spytial-orientation",optionsConstructor:"orientation-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"directions",pyretName:"directions",type:"enum-list",required:!0,listRules:{atMostOneOf:[["above","below"],["left","right"]],narrowsListTo:{directlyAbove:["above","directlyAbove"],directlyBelow:["below","directlyBelow"],directlyLeft:["left","directlyLeft"],directlyRight:["right","directlyRight"]}},enum:"Direction"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},cyclic:{name:"cyclic",yamlKey:"cyclic",section:"constraints",shape:"mapping",constructor:"spytial-cyclic",optionsConstructor:"cyclic-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!1,enum:"Rotation"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},align:{name:"align",yamlKey:"align",section:"constraints",shape:"mapping",constructor:"spytial-align",optionsConstructor:"align-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!0,enum:"Alignment"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},group:{name:"group",yamlKey:"group",section:"constraints",shape:"mapping",constructor:"spytial-group",optionsConstructor:"group-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"addEdge",pyretName:"add-edge",type:"block",required:!1,block:"groupAddEdge"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},size:{name:"size",yamlKey:"size",section:"constraints",shape:"mapping",constructor:"spytial-size",optionsConstructor:"size-options",fields:[{name:"width",pyretName:"width",type:"number",required:!0,exclusiveMinimum:0},{name:"height",pyretName:"height",type:"number",required:!0,exclusiveMinimum:0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideAtom:{name:"hideAtom",yamlKey:"hideAtom",section:"constraints",shape:"mapping",constructor:"spytial-hide-atom",optionsConstructor:"hide-atom-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},flag:{name:"flag",yamlKey:"flag",section:"directives",shape:"scalar",constructor:"spytial-flag",optionsConstructor:"flag-options",fields:[{name:"flag",pyretName:"name",type:"enum",required:!0,enum:"LayoutFlag"}]},atomStyle:{name:"atomStyle",yamlKey:"atomStyle",section:"directives",shape:"mapping",constructor:"spytial-atom-style",optionsConstructor:"atom-style-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"fillStyle",pyretName:"fill-style",type:"block",required:!1,block:"fillStyle"},{name:"borderStyle",pyretName:"border-style",type:"block",required:!1,block:"borderStyle"},{name:"iconStyle",pyretName:"icon-style",type:"block",required:!1,block:"iconStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeStyle:{name:"edgeStyle",yamlKey:"edgeStyle",section:"directives",shape:"mapping",constructor:"spytial-edge-style",optionsConstructor:"edge-style-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},attribute:{name:"attribute",yamlKey:"attribute",section:"directives",shape:"mapping",constructor:"spytial-attribute",optionsConstructor:"attribute-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},tag:{name:"tag",yamlKey:"tag",section:"directives",shape:"mapping",constructor:"spytial-tag",optionsConstructor:"tag-options",fields:[{name:"toTag",pyretName:"to-tag",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"value",pyretName:"value",type:"selector",required:!0},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideField:{name:"hideField",yamlKey:"hideField",section:"directives",shape:"mapping",constructor:"spytial-hide-field",optionsConstructor:"hide-field-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},inferredEdge:{name:"inferredEdge",yamlKey:"inferredEdge",section:"directives",shape:"mapping",constructor:"spytial-inferred-edge",optionsConstructor:"inferred-edge-options",fields:[{name:"name",pyretName:"name",type:"string",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"draw",pyretName:"draw",type:"string",required:!1,pattern:"^\\s*[^\\s](?:(?!->)[\\s\\S])*->(?:(?!->)[\\s\\S])*[^\\s]\\s*$"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"color",pyretName:"color",type:"color",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},icon:{name:"icon",yamlKey:"icon",section:"directives",shape:"mapping",constructor:"spytial-icon",optionsConstructor:"icon-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"path",pyretName:"path",type:"icon-path",required:!0},{name:"showLabels",pyretName:"show-labels",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},atomColor:{name:"atomColor",yamlKey:"atomColor",section:"directives",shape:"mapping",constructor:"spytial-atom-color",optionsConstructor:"atom-color-options",fields:[{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeColor:{name:"edgeColor",yamlKey:"edgeColor",section:"directives",shape:"mapping",constructor:"spytial-edge-color",optionsConstructor:"edge-color-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]}}};var Le=class extends Error{constructor(t,n){super(`${t}: ${n}`);this.path=t;this.name="SpytialSpecError"}},g_=Object.values(at.rules),b_=at.blocks,w_=at.enums;function F(e,r){throw new Le(e,r)}function st(e,r,t,n,i){if(!r.isDataValue(e))return F(t,`expected ${n}`);let o=e,a=z(o);return o.$name!==n||!a||a.fields.length!==i.length||a.fields.some((s,u)=>s!==i[u])?F(t,`expected ${n}`):o.dict}function Gp(e,r,t){let n=new Set,i=[];for(;!r.ffi.isEmpty(e);){if(!r.ffi.isLink(e))return F(t,"expected a Pyret List");if(n.has(e))return F(t,"cyclic rule list");n.add(e);let o=e.dict;i.push(o.first),e=o.rest}return i}function v_(e,r,t,n){if(r.type==="enum"||r.type==="enum-list"){let i=w_[r.enum],o=(s,u)=>{let l=s?.$name;return!l||!Object.prototype.hasOwnProperty.call(i,l)?F(u,`expected ${r.enum}`):(st(s,t,u,l,[]),i[l])};if(r.type==="enum")return o(e,n);let a=Gp(e,t,n).map((s,u)=>o(s,`${n}[${u}]`));for(let s of r.listRules?.atMostOneOf??[])s.filter(u=>a.includes(u)).length>1&&F(n,"incompatible directions");for(let[s,u]of Object.entries(r.listRules?.narrowsListTo??{}))a.includes(s)&&a.some(l=>!u.includes(l))&&F(n,"incompatible directions");return a}if(r.type==="block")return zp(e,b_[r.block],t,n);if(r.type==="boolean")return typeof e!="boolean"?F(n,"expected Boolean"):e;if(r.type==="number"||r.type==="integer"){if(!t.isNumber(e))return F(n,"expected Number");let i=t.num_to_fixnum(e);return!Number.isFinite(i)||r.type==="integer"&&!Number.isSafeInteger(i)||r.minimum!==void 0&&i<r.minimum||r.maximum!==void 0&&i>r.maximum||r.exclusiveMinimum!==void 0&&i<=r.exclusiveMinimum?F(n,"number is outside the manifest bounds"):i}return typeof e!="string"?F(n,"expected String"):r.required&&!e.trim()?F(n,"required string must not be empty"):r.pattern&&!new RegExp(r.pattern).test(e)?F(n,"string does not match the manifest pattern"):e}function Kp(e,r,t,n){let i={};for(let o of r){let a=e[o.pyretName],s=`${n}.${o.pyretName}`;if(!o.required){if(t.ffi.isNone(a))continue;t.ffi.isSome(a)||F(s,"expected Option"),a=a.dict.value}i[o.name]=v_(a,o,t,s)}return i}function zp(e,r,t,n){return Kp(st(e,t,n,r.constructor,r.fields.map(i=>i.pyretName)),r.fields,t,n)}function On(e,r=0){let t=" ".repeat(r);if(Array.isArray(e))return e.length?`
|
|
45
|
+
enum super export new try finally debug spy switch this match case with __proto__`.split(/\s+/)),h_=new Set(["block","doc","otherwise","row","sharing","source","table","then","where","with"]);function kn(e){if(y_.has(e)||m_.has(e)||!/^[A-Za-z_][A-Za-z0-9_]*(?:-+[A-Za-z0-9_]+)*$/.test(e))throw new Error(`Pyret object field has no literal spelling: ${JSON.stringify(e)}`);return h_.has(e)?e+" ":e}function In(e,r,t=n=>In(n,r)){if(e==null)return"nothing";if(typeof e=="number")return String(e);if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return d_(e);let n=ie(e);if(n)return Jr(n);let i=de(e);if(i?.kind==="nothing")return"nothing";if(i?.kind==="table"){if(r.has(e))throw new Error("Cyclic Pyret table construction is not supported");r.add(e);let o=Np(e,t,kn);return r.delete(e),o}if(i?.kind==="string-dict"){if(r.has(e))throw new Error("Cyclic immutable Pyret dictionary construction is not supported");r.add(e);let o=jp(i,e.entries,t);return r.delete(e),o}if("vals"in e&&Array.isArray(e.vals)){if(r.has(e))throw new Error("Cyclic Pyret containers are not supported");if(!e.vals.length)throw new Error("Pyret has no empty tuple literal");r.add(e);let o=`{${e.vals.map(a=>t(a)).join("; ")}${e.vals.length===1?";":""}}`;return r.delete(e),o}if(Array.isArray(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=`[raw-array: ${e.map(t).join(", ")}]`;return r.delete(e),o}if(p_(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=pr(e);if(o){let p=Cp(o,t);return r.delete(e),p}let a=ee(e.$name||"object"),s=e.dict||{},u=Object.keys(s),l=i?.kind==="object"?`{${u.map(p=>`${kn(p)}: ${t(s[p])}`).join(", ")}}`:u.length||e.$arity===0?`${a}(${u.map(p=>t(s[p])).join(", ")})`:a;return r.delete(e),l}return String(e)}function rt(e,r){let t=new Map;for(let i of e.getAtoms()){let o=X(i.type);if(o){if(t.has(o.name)&&t.get(o.name)!==i.type)throw new Error(`Source reconstruction needs explicit bindings for same-named constructor ${o.name}`);t.set(o.name,i.type)}}let n=Tp(e,r);return Rp(n,(i,o)=>In(i,new Set,o),kn)??In(n,new Set)}function tt(e){return JSON.stringify(e.atoms)}function Mp(e){let r=new Set;return e.filter(t=>{let n=tt(t);return r.has(n)?!1:(r.add(n),!0)}).map(t=>({...t,atoms:[...t.atoms],types:[...t.types]}))}function Fp(e,r=[]){if(!e.length)return[...r];let t=e[0].atoms.length;return e.some(n=>n.atoms.length!==t)?[]:Array.from({length:t},(n,i)=>{let o=new Set(e.map(a=>a.types[i]??"univ"));return o.size===1?[...o][0]:"univ"})}function qn(e,r){if(e.name!==r.name)throw new Error(`Conflicting names for relation ID ${JSON.stringify(e.id)}: ${JSON.stringify(e.name)} and ${JSON.stringify(r.name)}`)}function g_(e,r){let t=e.id,n=r.atoms;return`${t}:${n.join("->")}`}var T=class T extends Kr{constructor(t,n={},i){super();this.atoms=new Map;this.relations=new Map;this.types=new Map;this.objectToAtomId=new WeakMap;this.atomCounter=0;this.valueRelations=new Map;this.indexAtoms=new Map;this.typeLabelCounters=new Map;this.originalObjects=new Map;this.externalEvaluator=null;this.options={stringsIdempotent:n.stringsIdempotent??!0,numbersIdempotent:n.numbersIdempotent??!0,booleansIdempotent:n.booleansIdempotent??!0,showFunctions:n.showFunctions??!1},this.externalEvaluator=i||null,this.initializeBuiltinTypes(),this.isAtomicValue(t)?this.createAtomFromPrimitive(t):t!=null&&this.parseObjectIteratively(t)}static fromValues(t){let n=new T,i=new WeakSet,o=t.map(a=>{if(n.isAtomicValue(a))return n.createAtomFromPrimitive(a);if(!Array.isArray(a)&&!n.isPyretObject(a))throw new Error("Unsupported normalized Pyret root");return n.parseObjectIteratively(a,i),n.objectToAtomId.get(a)});return{instance:n,rootIds:o}}setExternalEvaluator(t){this.externalEvaluator=t}getExternalEvaluator(){return this.externalEvaluator}getOptions(){return{...this.options}}cacheConstructorPattern(t,n){if(n.length===0)return;let i=T.globalConstructorCache.get(t),o=++T.instantiationCounter;(!i||o>i.instantiation)&&T.globalConstructorCache.set(t,{pattern:[...n],instantiation:o})}static getGlobalConstructorCache(){let t=new Map;for(let[n,i]of T.globalConstructorCache)t.set(n,[...i.pattern]);return t}static getGlobalConstructorCacheWithPriority(){return new Map(T.globalConstructorCache)}static clearGlobalConstructorCache(){T.globalConstructorCache.clear()}static async fromExpression(t,n={},i){let o=await T.evaluateExpression(t,i);if(!o.success)throw new Error(`Failed to evaluate Pyret expression: ${T.formatError(o.exn)}`);if(T.isPrimitive(o.result)){let a=new T(null,n,i),s=typeof o.result=="string"?"String":typeof o.result=="number"?"Number":"Boolean",u={id:`result_${o.result}`,label:String(o.result),type:s};return a.addAtom(u),a}return new T(o.result,n,i)}static async evaluateExpression(t,n){try{let i=await n.run(t),o=T.findKeyAtAnyLevel(i,"exn");if(o!==void 0)return{success:!1,exn:o};let a=T.findKeyAtAnyLevel(i,"answer");return a!==void 0?{success:!0,result:a}:T.isPrimitive(i)?{success:!0,result:i}:{success:!1,exn:"Unable to find answer or exn in evaluation result"}}catch(i){return{success:!1,exn:i instanceof Error?i.message:"Unknown evaluation error"}}}static findKeyAtAnyLevel(t,n){if(!(!t||typeof t!="object")){if(n in t)return t[n];for(let i of Object.values(t))if(i&&typeof i=="object"){let o=T.findKeyAtAnyLevel(i,n);if(o!==void 0)return o}}}static isPrimitive(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}static formatError(t){if(!t)return"Unknown error";if(typeof t=="string")return t;if(typeof t=="object"&&t!==null){let n=t;if(n.message)return n.message;if(n.toString&&typeof n.toString=="function")return n.toString()}return String(t)}hasExternalEvaluator(){return this.externalEvaluator!==null}addAtom(t){this.atoms.set(t.id,t),this.ensureTypeExists(t.type);let n=this.types.get(t.type);n&&!n.atoms.some(i=>i.id===t.id)&&n.atoms.push(t),this.emitEvent({type:"atomAdded",data:{atom:t}})}removeAtom(t){let n=this.atoms.get(t);this.atoms.delete(t),this.types.forEach(i=>{i.atoms=i.atoms.filter(o=>o.id!==t)}),this.relations.forEach(i=>{i.tuples=i.tuples.filter(o=>!o.atoms.includes(t))}),n&&this.emitEvent({type:"atomRemoved",data:{atomId:t}})}removeRelationTuple(t,n){let i=this.relations.get(t);if(i){let o=i.tuples.length;i.tuples=i.tuples.filter(a=>!a.atoms.every((s,u)=>s===n.atoms[u])),i.tuples.length<o&&this.emitEvent({type:"relationTupleRemoved",data:{relationId:t,tuple:n}})}}reify(t){return rt(this,t)}parseObjectIteratively(t,n=new WeakSet){let i=[{obj:t}],o=(a,s,u,l)=>{if(this.isAtomicValue(a)){let p=this.createAtomFromPrimitive(a);this.addRelationTuple(u,{atoms:[...s,p],types:[]},l)}else(Array.isArray(a)||this.isPyretObject(a))&&i.push({obj:a,parentInfo:{atoms:s,relationId:u,relationName:l}})};for(let a=0;a<i.length;a++){let{obj:s,parentInfo:u}=i[a],l=this.objectToAtomId.get(s);if(l||(l=this.createAtomFromObject(s)),u&&this.addRelationTuple(u.relationId,{atoms:[...u.atoms,l],types:[]},u.relationName),n.has(s))continue;n.add(s);let p=this.valueInfo(s);if(p?.kind==="nothing")continue;if(p?.kind==="table"){this.processTableSemantics(l,s,y=>{if(this.isAtomicValue(y))return this.createAtomFromPrimitive(y);if(zr(y)||!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret table cell");let h=y,b=this.objectToAtomId.get(h)??this.createAtomFromObject(h);return i.push({obj:h}),b});continue}if(p?.kind==="string-dict"){p.sealed&&this.addValueFact("sealed",l,"MutableStringDict"),et(s,p).forEach(([h,b],g)=>{if(!this.isAtomicValue(b)&&!Array.isArray(b)&&!this.isPyretObject(b))throw new Error("Unsupported Pyret dictionary value");let v=this.valueRelationId("dictionary-entries","entry",["PyretObject","Index","String","PyretObject"]);o(b,[l,this.createIndexAtom(g),this.createAtomFromPrimitive(h)],v,"entry")});continue}if(p?.kind==="reference"){p.unrestricted&&this.addValueFact("unrestricted",l,"Reference");let y=s.value;if(!this.isAtomicValue(y)&&!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret reference target");let h=this.valueRelationId("reference-target","target",["Reference","PyretObject"]);o(y,[l],h,"target");continue}if(p?.kind==="tuple"||p?.kind==="raw-array"){let y=Array.isArray(s)?s:s.vals;for(let h=0;h<y.length;h++){let b=this.valueRelationId("sequence-elements","element",["PyretObject","Index","PyretObject"]);o(y[h],[l,this.createIndexAtom(h)],b,"element")}continue}let d=s;this.originalObjects.set(l,d);let c=z(d);c?.arity===0&&this.addValueFact("nullary-constructor",l,"PyretObject");for(let y of c?.mutableFields??[]){let h=this.valueRelationId("mutable-field","mutable-field",["PyretObject","Index"]);this.addRelationTuple(h,{atoms:[l,this.createIndexAtom(y)],types:[]},"mutable-field")}if(!d.dict||typeof d.dict!="object")continue;let m=c?.fields??(p?.kind==="object"?Sp(d.dict,this.options.showFunctions):Object.keys(d.dict));!p&&!X(this.extractType(d))&&this.cacheConstructorPattern(this.extractType(d),m),m.forEach((y,h)=>{let b=d.dict[y],g=c?_p(c,h):p?.kind==="object"?this.valueRelationId("object-field:"+y,y,["Object","Index","PyretObject"]):y;if(c&&!this.relations.has(g)&&this.relations.set(g,{id:g,name:y,types:[c.name,"PyretObject"],tuples:[]}),!this.options.showFunctions&&zr(b))return;let v=p?.kind==="object"?[l,this.createIndexAtom(h)]:[l];o(b,v,g,p?.kind==="object"?y:void 0)})}}addValueFact(t,n,i){let o=this.valueRelationId(t,t,[i]);this.addRelationTuple(o,{atoms:[n],types:[]},t)}valueRelationId(t,n,i){let o=this.valueRelations.get(t);return o||(o=globalThis.crypto?.randomUUID?.()??`relation-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${this.valueRelations.size}`,this.valueRelations.set(t,o),this.relations.set(o,{id:o,name:n,types:i,tuples:[]})),o}createIndexAtom(t){let n=this.indexAtoms.get(t);if(n)return n;let i=this.generateAtomId("Index");return this.atoms.set(i,{id:i,type:"Index",label:String(t)}),this.ensureTypeExists("Index"),this.indexAtoms.set(t,i),i}valueInfo(t){if(Array.isArray(t))return{kind:"raw-array"};if("$pyretValue"in t)return de(t);if(Zr(t))throw new Error("Standalone Pyret Row values are not supported");if(Qr(t))return{kind:"table"};let n=xp(t);if(n)return n;let i=Xr(t);if(i)return i;if(Ap(t))return{kind:"nothing"};if(Array.isArray(t.vals))return{kind:"tuple"};if(!z(t)&&t.dict&&(typeof t.updateDict=="function"||this.extractType(t)==="PyretObject"))return{kind:"object"}}processTableSemantics(t,n,i){let{headers:o,rows:a}=Ae(n),s=this.valueRelationId("table-columns","column",["Table","Index","String"]);o.forEach((l,p)=>this.addRelationTuple(s,{atoms:[t,this.createIndexAtom(p),this.createAtomFromPrimitive(l)],types:[]},"column"));let u=this.valueRelationId("table-rows:"+o.length,"row",["Table","Index",...o.map(()=>"PyretObject")]);a.forEach((l,p)=>this.addRelationTuple(u,{atoms:[t,this.createIndexAtom(p),...Array.from(l,i)],types:[]},"row"))}createAtomFromObject(t){let n=this.valueInfo(t),i=n?{nothing:"Nothing",reference:"Reference",object:"Object",tuple:"Tuple","raw-array":"RawArray",table:"Table","string-dict":n.kind==="string-dict"&&n.mutable?"MutableStringDict":"StringDict"}[n.kind]:this.extractType(t),o=this.generateAtomId(i),a={id:o,type:i,label:n?i:this.extractLabel(t)};return this.atoms.set(o,a),this.objectToAtomId.set(t,o),this.ensureTypeExists(i),o}createAtomFromPrimitive(t){let n=ie(t),i=n?"Number":this.mapPrimitiveType(t),o=n?Jr(n):String(t);if(i==="String"&&this.options.stringsIdempotent||i==="Number"&&this.options.numbersIdempotent||i==="Boolean"&&this.options.booleansIdempotent){let l=Array.from(this.atoms.values()).find(p=>p.type===i&&p.label===o);if(l)return l.id}let s=this.generateAtomId(i),u={id:s,type:i,label:o};return this.atoms.set(s,u),this.ensureTypeExists(i),s}mapPrimitiveType(t){switch(typeof t){case"number":return"Number";case"string":return"String";case"boolean":return"Boolean";default:return"Value"}}extractMostSpecificBrand(t){let n=-1,i,o;for(let a of Object.keys(t)){let s=/^\$brand([a-zA-Z_]+)(\d+)$/.exec(a);if(s){let[,u,l]=s,p=parseInt(l,10);p>n&&(n=p,i=u)}else{let u=/^\$brand_?([a-zA-Z_]+)$/.exec(a);if(u){let[,l]=u;(!o||l>o)&&(o=l)}}}return i||o}extractType(t){if(t.$name&&typeof t.$name=="string")return t.$name;if(t.brands&&typeof t.brands=="object"){let n=this.extractMostSpecificBrand(t.brands);if(n)return n}return"PyretObject"}extractLabel(t){if(t.$name&&typeof t.$name=="string")return ee(t.$name);let n=this.extractType(t),o=(this.typeLabelCounters.get(n)??0)+1;return this.typeLabelCounters.set(n,o),`${n}$${o}`}addRelationTuple(t,n,i){let o=n.atoms[0],a=n.atoms[n.atoms.length-1],s=this.atoms.get(o),u=this.atoms.get(a);if(!s||!u){console.warn(`Cannot create relation ${t}: missing atoms ${o} or ${a}`);return}let l=this.relations.get(t),p=i??l?.name??Wr(t)?.field??t;l&&qn(l,{...l,name:p});let d=vp(n,l,m=>this.atoms.get(m)?.type);l?l.types=d.relationTypes:(l={id:t,name:p,types:d.relationTypes,tuples:[]},this.relations.set(t,l)),l.tuples.some(m=>tt(m)===tt(n))||(l.tuples.push(d.tuple),this.emitEvent({type:"relationTupleAdded",data:{relationId:t,tuple:d.tuple}}))}ensureTypeExists(t){if(!this.types.has(t)){let n=X(t),i=n&&!["Number","String","Boolean","PyretObject","Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"].includes(n.name)?n.name:void 0;i&&this.ensureTypeExists(i);let o={id:t,types:i?[t,i,"PyretObject"]:[t,"PyretObject"],atoms:[],isBuiltin:this.isBuiltinType(t)};this.types.set(t,o)}}initializeBuiltinTypes(){["Number","String","Boolean","PyretObject"].forEach(n=>{let i={id:n,types:n==="PyretObject"?["PyretObject"]:[n,"PyretObject"],atoms:[],isBuiltin:!0};this.types.set(n,i)})}isBuiltinType(t){return["Number","String","Boolean","PyretObject"].includes(t)}isAtomicValue(t){return typeof t=="string"||typeof t=="boolean"||ie(t)!==void 0}isPyretObject(t){return typeof t=="object"&&t!==null&&("dict"in t||"brands"in t||"$name"in t||"vals"in t||"$pyretValue"in t||bn(t))}generateAtomId(t){return`${t?t.toLowerCase().substring(0,3):"atom"}_${++this.atomCounter}`}getAtoms(){return Array.from(this.atoms.values())}getRelations(){let t=this.relations.values();return Array.from(t)}getTypes(){return this.types.forEach(t=>{t.atoms=this.getAtoms().filter(n=>n.type===t.id||!!X(n.type)&&this.types.get(n.type)?.types.includes(t.id))}),Array.from(this.types.values())}getAtomType(t){let n=this.atoms.get(t);if(!n)throw new Error(`Atom with id '${t}' not found`);let i=this.types.get(n.type);return i||(this.ensureTypeExists(n.type),this.types.get(n.type))}generateGraph(t=!1,n=!1){let i=new Lp.Graph({directed:!0,multigraph:!0});if(this.getAtoms().forEach(o=>{i.setNode(o.id,{label:o.label})}),this.getRelations().forEach(o=>{o.tuples.forEach(a=>{if(a.atoms.length>=2){let s=a.atoms[0],u=a.atoms[a.atoms.length-1],l=a.atoms.slice(1,-1),p=o.name;if(l.length>0){let c=l.map(m=>{let y=this.atoms.get(m);return y?y.label:m});p=`${o.name}[${c.join(", ")}]`}let d=g_(o,a);i.setEdge(s,u,p,d)}})}),t||n){let o=[];i.nodes().forEach(a=>{let s=i.inEdges(a)||[],u=i.outEdges(a)||[];if(s.length===0&&u.length===0&&this.atoms.get(a)){let c=this.getAtomType(a).isBuiltin;(t||c&&n)&&o.push(a)}}),o.forEach(a=>i.removeNode(a))}return i}addFromDataInstance(t,n){if(!(t instanceof T))return!1;let i=t;for(let a of i.getRelations()){let s=this.relations.get(a.id);s&&qn(s,a)}let o=new Map;return i.getAtoms().forEach(a=>{let s=this.isBuiltinType(a.type);if(n&&s&&(a.type==="String"&&this.options.stringsIdempotent||a.type==="Number"&&this.options.numbersIdempotent||a.type==="Boolean"&&this.options.booleansIdempotent)){let c=Array.from(this.atoms.values()).find(m=>m.type===a.type&&m.label===a.label);if(c){o.set(a.id,c.id);return}}let u=this.generateAtomId(a.type);o.set(a.id,u);let l={...a,id:u};this.addAtom(l);let p=i.originalObjects.get(a.id);p&&this.originalObjects.set(u,p)}),i.getTypes().forEach(a=>{if(!this.types.has(a.id))this.types.set(a.id,{...a,atoms:a.atoms.map(s=>({...s,id:o.get(s.id)||s.id}))});else{let s=this.types.get(a.id),u=a.atoms.map(l=>({...l,id:o.get(l.id)||l.id}));s.atoms.push(...u)}}),i.getRelations().forEach(a=>{let s=a.tuples.map(l=>({atoms:l.atoms.map(p=>o.get(p)||p),types:l.types})),u=this.relations.get(a.id);u?(u.tuples=Mp([...u.tuples,...s]),u.types=Fp(u.tuples,u.types)):this.relations.set(a.id,{...a,tuples:s})}),!0}};T.globalConstructorCache=new Map,T.instantiationCounter=0;var Me=T;var Dp=Mn(gn()),nt=class{constructor(r){this.datum=r;this.atoms=new Map(r.atoms.map(t=>[t.id,t])),this.types=new Map(r.types.map(t=>[t.id,t]))}getAtoms(){return this.datum.atoms}getRelations(){return this.datum.relations}getTypes(){return this.datum.types}getAtomType(r){let t=this.atoms.get(r);if(!t)throw new Error(`Unknown captured atom ${r}`);let n=this.types.get(t.type);if(!n)throw new Error(`Unknown captured type ${t.type}`);return n}generateGraph(r=!1,t=!1){let n=new Dp.Graph({directed:!0,multigraph:!0});for(let i of this.datum.atoms)n.setNode(i.id,{label:i.label});for(let i of this.datum.relations)for(let o of i.tuples){if(o.atoms.length<2)continue;let a=o.atoms[0],s=o.atoms[o.atoms.length-1],u=o.atoms.slice(1,-1).map(p=>this.atoms.get(p).label),l=i.name+(u.length?`[${u.join(", ")}]`:"");n.setEdge(a,s,l,JSON.stringify([i.id,o.atoms]))}if(r||t)for(let i of n.nodes())!(n.nodeEdges(i)||[]).length&&(r||this.getAtomType(i).isBuiltin)&&n.removeNode(i);return n}};var it=class extends Error{constructor(t,n,i){super(`Cannot capture ${JSON.stringify(t)}${n.map(o=>`[${JSON.stringify(o)}]`).join("")}: ${i}`);this.root=t;this.path=n;this.reason=i;this.name="PyretCaptureError"}};function $p(e){let r=new Set;function t(n){if(n===null||typeof n=="string"||typeof n=="boolean"||typeof n=="number"&&Number.isFinite(n))return;let i=n&&typeof n=="object"?Object.getPrototypeOf(n):void 0;if(!n||typeof n!="object"||!Array.isArray(n)&&i!==null&&Object.getPrototypeOf(i)!==null)throw new Error("Capture metadata must contain only JSON values");if(r.has(n))throw new Error("Capture metadata must not contain cycles");r.add(n);for(let o of Reflect.ownKeys(n)){let a=Object.getOwnPropertyDescriptor(n,o);if(typeof o!="string"||a.get||a.set)throw new Error("Capture metadata must not contain symbols or accessors")}for(let o of Array.isArray(n)?Array.from(n):Object.values(n))t(o);r.delete(n)}return t(e),JSON.parse(JSON.stringify(e))}function Bp(e,r,t){if(!Array.isArray(e)||!e.length)throw new Error("Capture requires at least one named root");let n=new Set;for(let c of e){if(!c||typeof c.name!="string"||!c.name||n.has(c.name))throw new Error("Capture root names must be nonempty and unique");n.add(c.name)}let i=globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,o=new Map,a=new Map,s=[],u=(c,m,y)=>{if(o.has(c))return o.get(c);try{let h=r.observe(c);if(h.kind==="primitive")return h.value;let b;switch(h.kind){case"nothing":b={$pyretValue:{kind:"nothing"}};break;case"raw-array":b=[];break;case"tuple":b={vals:[]};break;case"object":b={$pyretValue:{kind:"object"},dict:Object.create(null)};break;case"reference":b={$pyretValue:{kind:"reference",unrestricted:!0}};break;case"string-dict":b={$pyretValue:{kind:"string-dict",mutable:h.mutable,sealed:h.sealed},entries:[]};break;case"table":b={$pyretValue:{kind:"table"},dict:Object.create(null)};break;case"constructor":{let g=JSON.stringify(h.info),v=a.get(h.identity);if(v&&v.schema!==g)throw new Error("Constructor schema changed during capture");v||(v={id:qp(i,a.size,h.info.name),schema:g},a.set(h.identity,v)),b={$name:v.id,$arity:h.info.arity,$constructor:{$fieldNames:h.info.fields.slice()},$mut_fields_mask:h.info.fields.map((E,C)=>(h.info.mutableFields??[]).includes(C)),dict:Object.create(null)};break}default:throw new Error("Unsupported adapter observation")}return o.set(c,b),s.push({carrier:b,observed:h,root:m,path:y}),b}catch(h){throw h instanceof it?h:new it(m,y,h instanceof Error?h.message:String(h))}},l=e.map(c=>u(c.value,c.name,[]));for(let c=0;c<s.length;c++){let{carrier:m,observed:y,root:h,path:b}=s[c],g=(v,...E)=>u(v,h,[...b,...E]);switch(y.kind){case"constructor":y.info.fields.forEach((v,E)=>{m.dict[v]=g(y.values[E],v)});break;case"object":y.fields.forEach(([v,E])=>{m.dict[v]=g(E,v)});break;case"raw-array":y.values.forEach((v,E)=>m.push(g(v,E)));break;case"tuple":y.values.forEach((v,E)=>m.vals.push(g(v,E)));break;case"reference":m.value=g(y.value,"target");break;case"string-dict":y.entries.forEach(([v,E])=>m.entries.push([v,g(E,v)]));break;case"table":m.dict["_header-raw-array"]=y.headers.slice(),m.dict["_rows-raw-array"]=y.rows.map((v,E)=>v.map((C,F)=>g(C,"rows",E,y.headers[F])));break}}let{instance:p,rootIds:d}=Me.fromValues(l);return $p({format:"spytial-pyret-capture",version:1,datum:{atoms:[...p.getAtoms()],relations:[...p.getRelations()],types:[...p.getTypes()]},roots:e.map((c,m)=>({name:c.name,atomId:d[m],...c.observation===void 0?{}:{observation:c.observation}})),...t===void 0?{}:{provenance:t}})}function Vp(e){let r=$p(e);if(!r||r.format!=="spytial-pyret-capture"||r.version!==1)throw new Error("Unsupported Pyret capture format/version");if(!Array.isArray(r.roots)||!r.roots.length||!r.datum||!Array.isArray(r.datum.atoms)||!Array.isArray(r.datum.relations)||!Array.isArray(r.datum.types))throw new Error("Malformed Pyret capture");let t=new Map,n=new Set(["Number","String","Boolean","Nothing","Object","Index","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);for(let c of r.datum.atoms){if(!c||typeof c.id!="string"||!c.id||t.has(c.id)||typeof c.label!="string"||typeof c.type!="string"||!n.has(c.type)&&!X(c.type))throw new Error("Malformed or duplicate Pyret capture atom");if(c.type==="Index"&&(!/^(0|[1-9][0-9]*)$/.test(c.label)||!Number.isSafeInteger(Number(c.label))))throw new Error("Malformed Pyret capture index");t.set(c.id,c)}let i=new Set,o=(c,m)=>c===m.type||c==="PyretObject"||!n.has(c)&&c===X(m.type)?.name,a=new Set;for(let c of r.datum.types){if(!c||typeof c.id!="string"||a.has(c.id)||!Array.isArray(c.types)||c.types[0]!==c.id||c.types.some(y=>typeof y!="string")||!Array.isArray(c.atoms)||typeof c.isBuiltin!="boolean")throw new Error("Malformed Pyret capture type");a.add(c.id);let m=new Set;for(let y of c.atoms){let h=y&&t.get(y.id);if(!h||m.has(y.id)||y.type!==h.type||y.label!==h.label||!o(c.id,h))throw new Error("Invalid Pyret capture type membership");m.add(y.id)}}if([...t.values()].some(c=>!a.has(c.type))||r.datum.types.some(c=>c.types.some(m=>!a.has(m))))throw new Error("Unknown Pyret capture type");for(let c of r.datum.relations){if(!c||typeof c.id!="string"||i.has(c.id)||typeof c.name!="string"||!Array.isArray(c.tuples)||!Array.isArray(c.types)||c.types.some(y=>typeof y!="string"))throw new Error("Malformed or duplicate Pyret capture relation");i.add(c.id);let m=new Set;for(let y of c.tuples){if(!y||!Array.isArray(y.atoms)||!y.atoms.length||y.atoms.some(b=>!t.has(b))||!Array.isArray(y.types)||y.types.length!==y.atoms.length||y.types.some((b,g)=>!o(b,t.get(y.atoms[g]))))throw new Error("Malformed Pyret capture tuple");let h=JSON.stringify(y.atoms);if(m.has(h))throw new Error("Duplicate Pyret capture tuple");m.add(h)}}let s=new Set;for(let c of r.roots){if(!c||typeof c.name!="string"||!c.name||s.has(c.name)||!t.has(c.atomId)||t.get(c.atomId).type==="Index")throw new Error("Invalid Pyret capture root");s.add(c.name)}let u=new nt(r.datum),l=[...t.values()].filter(c=>c.type!=="Index").map(c=>c.id),p=En(u,l,{allowContainerCycles:!0}),d=new Map(l.map((c,m)=>[c,p[m]]));return{snapshot:r,instance:u,values:new Map(r.roots.map(c=>[c.name,d.get(c.atomId)]))}}function ot(e){for(let r of["isNumber","isNothing","isDataValue","isTuple","isRef","isFunction","isMethod","isOpaque","isObject"])if(typeof e?.[r]!="function")throw new Error(`Pyret runtime lacks ${r}`);return{observe(r){if(typeof r=="string"||typeof r=="boolean")return{kind:"primitive",value:r};if(e.isNumber(r)){let n=ie(r);if(!n)throw new Error("Unsupported Pyret numeric representation");return{kind:"primitive",value:{$pyretNumber:n}}}if(e.isFunction(r))throw new Error("Unsupported Pyret function");if(e.isMethod(r))throw new Error("Unsupported Pyret method");if(e.isOpaque(r))throw new Error("Unsupported Pyret opaque value");if(e.isNothing(r))return{kind:"nothing"};if(Array.isArray(r)){if(Array.from({length:r.length},(n,i)=>i).some(n=>!(n in r)))throw new Error("Unsupported sparse raw array");return{kind:"raw-array",values:r.slice()}}let t=r;if(e.isRef(r)){if(t.state!==2)throw new Error("Unsupported Pyret reference state: only initialized mutable references are supported");if(!Array.isArray(t.anns?.anns)||!t.anns.anns.every(n=>n.ann===e.Any))throw new Error("Unsupported Pyret reference annotation: only the runtime Any annotation is supported");return{kind:"reference",value:t.value}}if(e.isTuple(r))return{kind:"tuple",values:t.vals.slice()};if(e.isDataValue(r)){let n=z(t);if(!n||!t.$constructor||typeof t.$constructor!="object")throw new Error("Invalid Pyret constructor metadata");for(let i in t.dict)if(!n.fields.includes(i)&&i!=="$fieldNames"&&!e.isMethod(t.dict[i])&&!(i==="_spytial"&&e.isFunction(t.dict[i])))throw new Error(`Unsupported extra constructor field ${JSON.stringify(i)}`);return{kind:"constructor",identity:t.$constructor,info:n,values:n.fields.map(i=>t.dict[i])}}if(e.isObject(r)){if(Zr(t))throw new Error("Unsupported standalone Pyret Row");if(Qr(t))return{kind:"table",...Ae(t)};let n=Xr(t);if(n)return{...n,entries:et(t,n)};if(t.brands&&Object.keys(t.brands).some(o=>o!=="brandCount"&&t.brands[o]===!0))throw new Error("Unsupported branded Pyret object");let i=[];for(let o in t.dict)o==="_spytial"&&(e.isFunction(t.dict[o])||e.isMethod(t.dict[o]))||i.push([o,t.dict[o]]);return{kind:"object",fields:i}}throw new Error("Unsupported value from this Pyret runtime")}}}function Up(e,r){let t=Bp([{name:"value",value:e}],ot(r)),{instance:n}=Vp(t),i;try{i=rt(n,t.roots[0].atomId)}catch(o){i="Source preview unavailable: "+(o instanceof Error?o.message:String(o))}return{snapshot:t,instance:n,sourcePreview:i}}function Hp(e){return{...e,nodes:e.nodes.map(r=>({...r,mostSpecificType:ee(r.mostSpecificType)}))}}var at={languageVersion:"2026-09-18",coreVersion:"6.3.2",enums:{TextSize:{small:"small",normal:"normal",large:"large"},LinePattern:{solid:"solid",dashed:"dashed",dotted:"dotted"},IconPlacement:{full:"full",badge:"badge"},Direction:{above:"above",below:"below",left:"left",right:"right","directly-above":"directlyAbove","directly-below":"directlyBelow","directly-left":"directlyLeft","directly-right":"directlyRight"},Hold:{always:"always",never:"never"},Rotation:{clockwise:"clockwise",counterclockwise:"counterclockwise"},Alignment:{horizontal:"horizontal",vertical:"vertical"},GroupEdgeDirection:{"no-group-edge":"none",togroup:"togroup",fromgroup:"fromgroup"},LayoutFlag:{"hide-disconnected":"hideDisconnected","hide-disconnected-built-ins":"hideDisconnectedBuiltIns"}},blocks:{textStyle:{name:"textStyle",typeName:"TextStyle",constructor:"text-style",fields:[{name:"size",pyretName:"size",type:"enum",required:!1,enum:"TextSize"},{name:"color",pyretName:"color",type:"color",required:!1}]},lineStyle:{name:"lineStyle",typeName:"LineStyle",constructor:"line-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"pattern",pyretName:"pattern",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1}]},fillStyle:{name:"fillStyle",typeName:"FillStyle",constructor:"fill-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1}]},borderStyle:{name:"borderStyle",typeName:"BorderStyle",constructor:"border-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"width",pyretName:"width",type:"number",required:!1,exclusiveMinimum:0}]},iconStyle:{name:"iconStyle",typeName:"IconStyle",constructor:"icon-style",fields:[{name:"path",pyretName:"path",type:"icon-path",required:!1},{name:"placement",pyretName:"placement",type:"enum",required:!1,enum:"IconPlacement"},{name:"opacity",pyretName:"opacity",type:"number",required:!1,minimum:0,maximum:1}]},ruleSource:{name:"ruleSource",typeName:"RuleSource",constructor:"rule-source",fields:[{name:"text",pyretName:"text",type:"string",required:!0},{name:"location",pyretName:"location",type:"string",required:!1}]},groupAddEdge:{name:"groupAddEdge",typeName:"GroupAddEdge",constructor:"group-add-edge",fields:[{name:"points",pyretName:"points",type:"enum",required:!1,enum:"GroupEdgeDirection"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"}]}},rules:{orientation:{name:"orientation",yamlKey:"orientation",section:"constraints",shape:"mapping",constructor:"spytial-orientation",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"directions",pyretName:"directions",type:"enum-list",required:!0,listRules:{atMostOneOf:[["above","below"],["left","right"]],narrowsListTo:{directlyAbove:["above","directlyAbove"],directlyBelow:["below","directlyBelow"],directlyLeft:["left","directlyLeft"],directlyRight:["right","directlyRight"]}},enum:"Direction"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},cyclic:{name:"cyclic",yamlKey:"cyclic",section:"constraints",shape:"mapping",constructor:"spytial-cyclic",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!1,enum:"Rotation"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},align:{name:"align",yamlKey:"align",section:"constraints",shape:"mapping",constructor:"spytial-align",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!0,enum:"Alignment"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},group:{name:"group",yamlKey:"group",section:"constraints",shape:"mapping",constructor:"spytial-group",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"addEdge",pyretName:"add-edge",type:"block",required:!1,block:"groupAddEdge"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},size:{name:"size",yamlKey:"size",section:"constraints",shape:"mapping",constructor:"spytial-size",fields:[{name:"width",pyretName:"width",type:"number",required:!0,exclusiveMinimum:0},{name:"height",pyretName:"height",type:"number",required:!0,exclusiveMinimum:0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideAtom:{name:"hideAtom",yamlKey:"hideAtom",section:"constraints",shape:"mapping",constructor:"spytial-hide-atom",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},flag:{name:"flag",yamlKey:"flag",section:"directives",shape:"scalar",constructor:"spytial-flag",fields:[{name:"flag",pyretName:"name",type:"enum",required:!0,enum:"LayoutFlag"}]},atomStyle:{name:"atomStyle",yamlKey:"atomStyle",section:"directives",shape:"mapping",constructor:"spytial-atom-style",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"fillStyle",pyretName:"fill-style",type:"block",required:!1,block:"fillStyle"},{name:"borderStyle",pyretName:"border-style",type:"block",required:!1,block:"borderStyle"},{name:"iconStyle",pyretName:"icon-style",type:"block",required:!1,block:"iconStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeStyle:{name:"edgeStyle",yamlKey:"edgeStyle",section:"directives",shape:"mapping",constructor:"spytial-edge-style",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},attribute:{name:"attribute",yamlKey:"attribute",section:"directives",shape:"mapping",constructor:"spytial-attribute",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},tag:{name:"tag",yamlKey:"tag",section:"directives",shape:"mapping",constructor:"spytial-tag",fields:[{name:"toTag",pyretName:"to-tag",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"value",pyretName:"value",type:"selector",required:!0},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideField:{name:"hideField",yamlKey:"hideField",section:"directives",shape:"mapping",constructor:"spytial-hide-field",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},inferredEdge:{name:"inferredEdge",yamlKey:"inferredEdge",section:"directives",shape:"mapping",constructor:"spytial-inferred-edge",fields:[{name:"name",pyretName:"name",type:"string",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"draw",pyretName:"draw",type:"string",required:!1,pattern:"^\\s*[^\\s](?:(?!->)[\\s\\S])*->(?:(?!->)[\\s\\S])*[^\\s]\\s*$"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"color",pyretName:"color",type:"color",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},icon:{name:"icon",yamlKey:"icon",section:"directives",shape:"mapping",constructor:"spytial-icon",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"path",pyretName:"path",type:"icon-path",required:!0},{name:"showLabels",pyretName:"show-labels",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},atomColor:{name:"atomColor",yamlKey:"atomColor",section:"directives",shape:"mapping",constructor:"spytial-atom-color",fields:[{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeColor:{name:"edgeColor",yamlKey:"edgeColor",section:"directives",shape:"mapping",constructor:"spytial-edge-color",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]}}};var Le=class extends Error{constructor(t,n){super(`${t}: ${n}`);this.path=t;this.name="SpytialSpecError"}},b_=Object.values(at.rules),w_=at.blocks,v_=at.enums;function R(e,r){throw new Le(e,r)}function st(e,r,t,n,i){if(!r.isDataValue(e))return R(t,`expected ${n}`);let o=e,a=z(o);return o.$name!==n||!a||a.fields.length!==i.length||a.fields.some((s,u)=>s!==i[u])?R(t,`expected ${n}`):o.dict}function Gp(e,r,t){let n=new Set,i=[];for(;!r.ffi.isEmpty(e);){if(!r.ffi.isLink(e))return R(t,"expected a Pyret List");if(n.has(e))return R(t,"cyclic rule list");n.add(e);let o=e.dict;i.push(o.first),e=o.rest}return i}function Kp(e,r,t,n){if(r.type==="enum"||r.type==="enum-list"){let i=v_[r.enum],o=(s,u)=>{let l=s?.$name;return!l||!Object.prototype.hasOwnProperty.call(i,l)?R(u,`expected ${r.enum}`):(st(s,t,u,l,[]),i[l])};if(r.type==="enum")return o(e,n);let a=Gp(e,t,n).map((s,u)=>o(s,`${n}[${u}]`));for(let s of r.listRules?.atMostOneOf??[])s.filter(u=>a.includes(u)).length>1&&R(n,"incompatible directions");for(let[s,u]of Object.entries(r.listRules?.narrowsListTo??{}))a.includes(s)&&a.some(l=>!u.includes(l))&&R(n,"incompatible directions");return a}if(r.type==="block")return x_(e,w_[r.block],t,n);if(r.type==="boolean")return typeof e!="boolean"?R(n,"expected Boolean"):e;if(r.type==="number"||r.type==="integer"){if(!t.isNumber(e))return R(n,"expected Number");let i=t.num_to_fixnum(e);return!Number.isFinite(i)||r.type==="integer"&&!Number.isSafeInteger(i)||r.minimum!==void 0&&i<r.minimum||r.maximum!==void 0&&i>r.maximum||r.exclusiveMinimum!==void 0&&i<=r.exclusiveMinimum?R(n,"number is outside the manifest bounds"):i}return typeof e!="string"?R(n,"expected String"):r.required&&!e.trim()?R(n,"required string must not be empty"):r.pattern&&!new RegExp(r.pattern).test(e)?R(n,"string does not match the manifest pattern"):e}function zp(e,r,t,n){let i={};for(let o of r){let a=`${n}.${o.pyretName}`;if(!Object.prototype.hasOwnProperty.call(e,o.pyretName)){o.required&&R(a,"missing required field");continue}i[o.name]=Kp(e[o.pyretName],o,t,a)}return i}function Yp(e,r,t,n){(!t.isObject(e)||t.isDataValue(e))&&R(n,"expected a Pyret record");let i=e.dict,o=new Set(r.map(a=>a.pyretName));for(let a of Object.keys(i))o.has(a)||R(`${n}.${a}`,"unknown field");return zp(i,r,t,n)}function x_(e,r,t,n){let i=st(e,t,n,r.constructor,["fields"]);return Yp(i.fields,r.fields,t,n)}function On(e,r=0){let t=" ".repeat(r);if(Array.isArray(e))return e.length?`
|
|
46
46
|
`+e.map(i=>`${t}- ${On(i,r+2).trimStart()}`).join(`
|
|
47
47
|
`):"[]";if(typeof e!="object")return JSON.stringify(e);let n=Object.entries(e);return n.length?`
|
|
48
48
|
`+n.map(([i,o])=>{let a=Array.isArray(o)&&o.every(s=>typeof s!="object")?JSON.stringify(o):On(o,r+2);return`${t}${JSON.stringify(i)}:${a.startsWith(`
|
|
49
49
|
`)?"":" "}${a}`}).join(`
|
|
50
|
-
`):"{}"}function
|
|
51
|
-
`}function _n(e){let r=[];for(;e;e=e.parent)r.push(e.key);return"value"+r.reverse().map(t=>`[${JSON.stringify(t)}]`).join("")}function
|
|
52
|
-
directives: []`,d=Up(n,e),c=new s.Evaluators.SGraphQueryEvaluator;c.initialize({sourceData:d.instance});let m=new s.LayoutInstance(s.parseLayoutSpec(p),c,0,!0).generateLayout(d.instance),y=Hp(m.layout),h=()=>{let g=
|
|
50
|
+
`):"{}"}function Pn(e,r){let t={constraints:[],directives:[]};for(let[n,i]of Gp(e,r,"rules").entries()){let o=`rules[${n}]`,a=i?.$name;a!=="constraint"&&a!=="directive"&&R(o,"expected SpytialRule");let s=st(i,r,o,a,["value"]).value,u=s?.$name,l=b_.find(y=>y.constructor===u);(!l||l.section!==`${a}s`)&&R(o,`invalid ${a} variant`);let p=l.fields.filter(y=>y.required),d=l.fields.filter(y=>!y.required),c=st(s,r,o,l.constructor,[...p.map(y=>y.pyretName),...l.name==="atomStyle"?["selector"]:[],...d.length?["options"]:[]]),m=zp(c,p,r,o);if(l.name==="atomStyle"){let y=d.find(h=>h.name==="selector");y||R(o,"missing atomStyle selector schema"),m.selector=Kp(c.selector,{...y,required:!0},r,`${o}.selector`)}d.length&&Object.assign(m,Yp(c.options,d.filter(y=>l.name!=="atomStyle"||y.name!=="selector"),r,`${o}.options`)),t[l.section].push({[l.yamlKey]:l.shape==="scalar"?m[l.fields[0].name]:m})}return On(t).trimStart()+`
|
|
51
|
+
`}function _n(e){let r=[];for(;e;e=e.parent)r.push(e.key);return"value"+r.reverse().map(t=>`[${JSON.stringify(t)}]`).join("")}function A_(e,r,t){let n=ot(r),i=new Set,o=new Set,a=[],s=[{value:e}];for(let c=0;c<s.length;c++){let{value:m,path:y}=s[c];if(i.has(m)||(i.add(m),r.isFunction(m)||r.isMethod(m)))continue;let h=(b,g)=>s.push({value:b,path:{parent:y,key:g}});try{if(r.isObject(m)&&r.hasField(m,"_spytial")){let g=r.getColonField(m,"_spytial");!r.isFunction(g)&&!r.isMethod(g)&&R(_n(y),"_spytial must be a function or method"),o.has(g)||(o.add(g),a.push({fn:r.getField(m,"_spytial"),path:y}))}let b=n.observe(m);switch(b.kind){case"constructor":b.values.forEach((g,v)=>h(g,b.info.fields[v]));break;case"object":b.fields.forEach(([g,v])=>h(v,g));break;case"raw-array":case"tuple":b.values.forEach(h);break;case"reference":h(b.value,"target");break;case"string-dict":b.entries.forEach(([g,v])=>h(v,g));break;case"table":b.rows.forEach((g,v)=>g.forEach((E,C)=>s.push({value:E,path:{parent:{parent:{parent:y,key:"rows"},key:v},key:b.headers[C]}})));break}}catch(b){throw b instanceof Le?b:new Le(_n(y),b instanceof Error?b.message:String(b))}}let u=[],l=0,p="value",d=()=>{if(l===a.length)return u;let c=a[l++];return p=`${_n(c.path)}._spytial`,r.safeCall(()=>c.fn.app(),m=>{try{u.push(typeof m=="string"?m:Pn(m,r))}catch(y){let h=new Le(p,y instanceof Error?y.message:String(y));throw t&&t(h),h}return d()},p)};return{next:d,documents:u,hasHooks:a.length>0,activePath:()=>p}}function Jp(e,r,t,n){let i=A_(e,r,n);return r.safeCall(i.next,()=>t(i.documents),"Spyret.collectSpytialSpec")}function S_(e){let r={constraints:[],directives:[]};return e.forEach((t,n)=>{if(!t.trim())return;let i=Si(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error(`Spytial spec ${n+1}: expected a YAML mapping`);for(let[o,a]of Object.entries(i)){if(o!=="constraints"&&o!=="directives")throw new Error(`Spytial spec ${n+1}: unknown section ${o}`);if(!Array.isArray(a))throw new Error(`Spytial spec ${n+1}: ${o} must be a list`);r[o].push(...a)}}),Ei(r)}function E_(e,r,t){let n=t.defaultView,i="spyret-diagram-view";n.customElements.get(i)||n.customElements.define(i,class extends n.HTMLElement{connectedCallback(){this.spyretConnect?.()}});let o=t.createElement(i);o.className="spyret-diagram",o.style.display="block",o.spytialCapture=e.snapshot;let a=t.createElement("pre");a.textContent=e.sourcePreview;let s=t.createElement("div");s.setAttribute("role","alert");let u=t.createElement("div"),l=t.createElement("button");l.type="button",l.textContent="Hide diagram",l.setAttribute("aria-expanded","true"),o.append(a,s,l,u);let p=0;return l.onclick=()=>{u.hidden=!u.hidden,l.textContent=u.hidden?"Show diagram":"Hide diagram",l.setAttribute("aria-expanded",String(!u.hidden)),u.hidden?(p++,u.replaceChildren()):o.spyretConnect()},o.spyretConnect=()=>{if(u.hidden)return;let d=++p,c=t.createElement("webcola-cnd-graph");c.style.cssText="display:block;width:100%;height:400px",delete o.dataset.rendered,delete o.dataset.settled,delete o.dataset.error,s.textContent="",c.addEventListener("layout-complete",()=>{d===p&&c.isConnected&&(o.dataset.settled="true")}),u.replaceChildren(c),n.requestAnimationFrame(()=>{!o.isConnected||d!==p||Promise.resolve().then(()=>c.renderLayout(r)).then(()=>{d===p&&o.isConnected&&(o.dataset.rendered="true")},m=>{d!==p||!o.isConnected||(s.textContent="Spytial: "+String(m),o.dataset.error=String(m))})})},o}function k_(e,r){function t(n,i,o){return(i==="yaml"||i==="dom")&&e.checkString(o),e.safeCall(()=>e.pauseStack(a=>{let s=a.handlers,u=s?.break,l=!1,p=()=>{l=!0,d(),u.call(s)},d=()=>{s?.break===p&&(s.break=u)};s&&(s.break=p),Promise.resolve().then(()=>r.core()).then(c=>{d(),l||a.resume(c)},c=>{d(),l||a.error(c instanceof Error?e.ffi.makeMessageException("Spyret: "+c.message):c)})}),a=>{let s=a,u=l=>{try{let p=l?S_(l):i==="rules"?Pn(o,e):String(o).trim()||`constraints: []
|
|
52
|
+
directives: []`,d=Up(n,e),c=new s.Evaluators.SGraphQueryEvaluator;c.initialize({sourceData:d.instance});let m=new s.LayoutInstance(s.parseLayoutSpec(p),c,0,!0).generateLayout(d.instance),y=Hp(m.layout),h=()=>{let g=E_(d,y,r.document);return g.dataset.specCount=String(l?.length??1),g};if(i==="dom")return h();let b=Object.freeze({});return r.registerOutput(e,b,h),e.makeOpaque(b)}catch(p){throw p instanceof Error&&e.ffi.throwMessageException("Spyret: "+p.message),p}};if(i!=="hooks")return u();try{return Jp(n,e,u,l=>e.ffi.throwMessageException("Spyret: "+l.message))}catch(l){throw l instanceof Error&&e.ffi.throwMessageException("Spyret: "+l.message),l}},"Spyret.diagram")}return e.makeModuleReturn({diagram:e.makeFunction((...n)=>n.length===1?t(n[0],"hooks"):n.length===2?t(n[0],"yaml",n[1]):e.ffi.throwMessageException("Spyret.diagram expects a value and optionally a YAML string"),"diagram"),"diagram-with-rules":e.makeFunction((n,i)=>t(n,"rules",i),"diagram-with-rules"),genlayout:e.makeFunction((n,i)=>t(n,"dom",i),"genlayout")},{})}var Tn=Symbol.for("spyret.cpo-renderer.v1");function I_(e,r,t,n){let i=e.ReprMethods?.$cpo;if(!i||typeof i.opaque!="function")throw new Error("Spyret requires the CPO output renderer or an explicit browser host");if(!i[Tn]){let o=new WeakMap,a=i.opaque;i.opaque=function(s){let u=s.val&&typeof s.val=="object"?o.get(s.val):void 0;return u?n(u()):a.call(this,s)},i[Tn]=o}i[Tn].set(r,t)}var ut=new WeakMap;function q_(e,r){let t=e.defaultView;if(t.spytialcore)return Promise.resolve(t.spytialcore);let n=ut.get(e);return n||(n=new Promise((i,o)=>{let a=e.createElement("script");a.src=r,a.onload=()=>{t.spytialcore?i(t.spytialcore):(ut.delete(e),a.remove(),o(new Error("Spytial Core did not initialize")))},a.onerror=()=>{ut.delete(e),a.remove(),o(new Error("Cannot load Spytial Core: "+r))},e.head.appendChild(a)}),ut.set(e,n)),n}function V1(e,r,t){return k_(e,{document:r,core:()=>q_(r,t),registerOutput:(n,i,o)=>I_(n,i,o,r.defaultView.jQuery)})}export{S_ as combineSpytialSpecs,V1 as createCpoModule,E_ as createDiagramView,k_ as createPyretModule,q_ as loadBrowserCore,I_ as registerCpoOutput};
|
|
53
53
|
/*! Bundled license information:
|
|
54
54
|
|
|
55
55
|
js-yaml/dist/js-yaml.mjs:
|