@spz-loader/playcanvas
Version:
.spz GaussianSplatting loader for PlayCanvas Engine
13 lines • 244 kB
JavaScript
(function(d,W){typeof exports=="object"&&typeof module<"u"?W(exports,require("playcanvas")):typeof define=="function"&&define.amd?define(["exports","playcanvas"],W):(d=typeof globalThis<"u"?globalThis:d||self,W(d.SpzWasmPlayCanvas={},d.pc))})(this,function(d,W){"use strict";var j=typeof document<"u"?document.currentScript:null;async function sI(F={}){var a,y,i=F,e=typeof window=="object",U=typeof WorkerGlobalScope<"u",S=typeof process=="object"&&((a=process.versions)==null?void 0:a.node)&&process.type!="renderer";if(S){const{createRequire:I}=await Promise.resolve().then(()=>UI);var k=I(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:j&&j.tagName.toUpperCase()==="SCRIPT"&&j.src||new URL("index.umd.cjs",document.baseURI).href)}var L="./this.program",m=typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:j&&j.tagName.toUpperCase()==="SCRIPT"&&j.src||new URL("index.umd.cjs",document.baseURI).href,z;if(S){var s=k("fs");m.startsWith("file:")&&k("path").dirname(k("url").fileURLToPath(m)),z=I=>(I=YI(I)?new URL(I):I,s.readFileSync(I)),1<process.argv.length&&(L=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else if(e||U){try{new URL(".",m)}catch{}U&&(z=I=>{var A=new XMLHttpRequest;return A.open("GET",I,!1),A.responseType="arraybuffer",A.send(null),new Uint8Array(A.response)})}var WA=console.log.bind(console),QA=console.error.bind(console),yA,ZA=!1,YI=I=>I.startsWith("file://"),hA,MA,CA,EA,r,v,$,X,M,pA,TA,jA,VA,XA=!1;function OA(){var I=CA.buffer;EA=new Int8Array(I),v=new Int16Array(I),i.HEAPU8=r=new Uint8Array(I),$=new Uint16Array(I),X=new Int32Array(I),M=new Uint32Array(I),i.HEAPF32=pA=new Float32Array(I),TA=new Float64Array(I),jA=new BigInt64Array(I),VA=new BigUint64Array(I)}var Z=0,_=null;function bA(I){var A;throw(A=i.onAbort)==null||A.call(i,I),I="Aborted("+I+")",QA(I),ZA=!0,I=new WebAssembly.RuntimeError(I+". Build with -sASSERTIONS for more info."),MA==null||MA(I),I}var DA;async function LI(I){if(!ArrayBuffer.isView(I))if(I==DA&&yA)I=new Uint8Array(yA);else if(z)I=z(I);else throw"both async and sync fetching of the wasm failed";return I}async function kI(I){var A=DA;try{var g=await LI(A);return await WebAssembly.instantiate(g,I)}catch(B){QA(`failed to asynchronously prepare wasm: ${B}`),bA(B)}}async function cI(I){return kI(I)}var PA=I=>{for(;0<I.length;)I.shift()(i)},uA=[],mA=[],tI=()=>{var I=i.preRun.shift();mA.push(I)},HI=I=>{if(S)return I=Buffer.from(I,"base64"),new Uint8Array(I.buffer,I.byteOffset,I.length);for(var A,g,B=0,Q=0,E=I.length,C=new Uint8Array((3*E>>2)-(I[E-2]=="=")-(I[E-1]=="="));B<E;B+=4,Q+=3)A=q[I.charCodeAt(B+1)],g=q[I.charCodeAt(B+2)],C[Q]=q[I.charCodeAt(B)]<<2|A>>4,C[Q+1]=A<<4|g>>2,C[Q+2]=g<<6|q[I.charCodeAt(B+3)];return C},iA={},NA=I=>{for(;I.length;){var A=I.pop();I.pop()(A)}};function AA(I){return this.N(M[I>>2])}var O={},p={},oA={},wA=class extends Error{constructor(I){super(I),this.name="InternalError"}},T=(I,A,g)=>{function B(D){if(D=g(D),D.length!==I.length)throw new wA("Mismatched type converter count");for(var w=0;w<I.length;++w)H(I[w],D[w])}I.forEach(D=>oA[D]=A);var Q=Array(A.length),E=[],C=0;A.forEach((D,w)=>{p.hasOwnProperty(D)?Q[w]=p[D]:(E.push(D),O.hasOwnProperty(D)||(O[D]=[]),O[D].push(()=>{Q[w]=p[D],++C,C===E.length&&B(Q)}))}),E.length===0&&B(Q)},N=I=>{for(var A="";;){var g=r[I++];if(!g)return A;A+=String.fromCharCode(g)}},R=class extends Error{constructor(I){super(I),this.name="BindingError"}},KI=I=>{throw new R(I)};function rI(I,A,g={}){var B=A.name;if(!I)throw new R(`type "${B}" must have a positive integer typeid pointer`);if(p.hasOwnProperty(I)){if(g.wa)return;throw new R(`Cannot register type '${B}' twice`)}p[I]=A,delete oA[I],O.hasOwnProperty(I)&&(A=O[I],delete O[I],A.forEach(Q=>Q()))}function H(I,A,g={}){return rI(I,A,g)}var zA=(I,A,g)=>{switch(A){case 1:return g?B=>EA[B]:B=>r[B];case 2:return g?B=>v[B>>1]:B=>$[B>>1];case 4:return g?B=>X[B>>2]:B=>M[B>>2];case 8:return g?B=>jA[B>>3]:B=>VA[B>>3];default:throw new TypeError(`invalid integer width (${A}): ${I}`)}},UA=I=>{throw new R(I.L.P.M.name+" instance already deleted")},SA=!1,vA=()=>{},IA=I=>typeof FinalizationRegistry>"u"?(IA=A=>A,I):(SA=new FinalizationRegistry(A=>{A=A.L,--A.count.value,A.count.value===0&&(A.S?A.W.Y(A.S):A.P.M.Y(A.O))}),IA=A=>{var g=A.L;return g.S&&SA.register(A,{L:g},A),A},vA=A=>{SA.unregister(A)},IA(I));function FA(){}var GA=(I,A)=>Object.defineProperty(A,"name",{value:I}),$A={},_A=(I,A,g)=>{if(I[A].R===void 0){var B=I[A];I[A]=function(...Q){if(!I[A].R.hasOwnProperty(Q.length))throw new R(`Function '${g}' called with an invalid number of arguments (${Q.length}) - expects one of (${I[A].R})!`);return I[A].R[Q.length].apply(this,Q)},I[A].R=[],I[A].R[B.aa]=B}},JA=(I,A,g)=>{if(i.hasOwnProperty(I)){if(g===void 0||i[I].R!==void 0&&i[I].R[g]!==void 0)throw new R(`Cannot register public name '${I}' twice`);if(_A(i,I,I),i[I].R.hasOwnProperty(g))throw new R(`Cannot register multiple overloads of a function with the same number of arguments (${g})!`);i[I].R[g]=A}else i[I]=A,i[I].aa=g},nI=I=>{I=I.replace(/[^a-zA-Z0-9_]/g,"$");var A=I.charCodeAt(0);return 48<=A&&57>=A?`_${I}`:I};function eI(I,A,g,B,Q,E,C,D){this.name=I,this.constructor=A,this.$=g,this.Y=B,this.U=Q,this.ra=E,this.ea=C,this.pa=D,this.ya=[]}var YA=(I,A,g)=>{for(;A!==g;){if(!A.ea)throw new R(`Expected null or instance of ${g.name}, got an instance of ${A.name}`);I=A.ea(I),A=A.U}return I},LA=I=>{if(I===null)return"null";var A=typeof I;return A==="object"||A==="array"||A==="function"?I.toString():""+I};function qI(I,A){if(A===null){if(this.ha)throw new R(`null is not a valid ${this.name}`);return 0}if(!A.L)throw new R(`Cannot pass "${LA(A)}" as a ${this.name}`);if(!A.L.O)throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);return YA(A.L.O,A.L.P.M,this.M)}function fI(I,A){if(A===null){if(this.ha)throw new R(`null is not a valid ${this.name}`);if(this.ga){var g=this.ia();return I!==null&&I.push(this.Y,g),g}return 0}if(!A||!A.L)throw new R(`Cannot pass "${LA(A)}" as a ${this.name}`);if(!A.L.O)throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.fa&&A.L.P.fa)throw new R(`Cannot convert argument of type ${A.L.W?A.L.W.name:A.L.P.name} to parameter type ${this.name}`);if(g=YA(A.L.O,A.L.P.M,this.M),this.ga){if(A.L.S===void 0)throw new R("Passing raw pointer to smart pointer is illegal");switch(this.Da){case 0:if(A.L.W===this)g=A.L.S;else throw new R(`Cannot convert argument of type ${A.L.W?A.L.W.name:A.L.P.name} to parameter type ${this.name}`);break;case 1:g=A.L.S;break;case 2:if(A.L.W===this)g=A.L.S;else{var B=A.clone();g=this.za(g,KA(()=>B.delete())),I!==null&&I.push(this.Y,g)}break;default:throw new R("Unsupporting sharing policy")}}return g}function dI(I,A){if(A===null){if(this.ha)throw new R(`null is not a valid ${this.name}`);return 0}if(!A.L)throw new R(`Cannot pass "${LA(A)}" as a ${this.name}`);if(!A.L.O)throw new R(`Cannot pass deleted object as a pointer of type ${this.name}`);if(A.L.P.fa)throw new R(`Cannot convert argument of type ${A.L.P.name} to parameter type ${this.name}`);return YA(A.L.O,A.L.P.M,this.M)}var AI=(I,A,g)=>A===g?I:g.U===void 0?null:(I=AI(I,A,g.U),I===null?null:g.pa(I)),lI={},xI=(I,A)=>{if(A===void 0)throw new R("ptr should not be undefined");for(;I.U;)A=I.ea(A),I=I.U;return lI[A]},aA=(I,A)=>{if(!A.P||!A.O)throw new wA("makeClassHandle requires ptr and ptrType");if(!!A.W!=!!A.S)throw new wA("Both smartPtrType and smartPtr must be specified");return A.count={value:1},IA(Object.create(I,{L:{value:A,writable:!0}}))};function sA(I,A,g,B,Q,E,C,D,w,G,o){this.name=I,this.M=A,this.ha=g,this.fa=B,this.ga=Q,this.xa=E,this.Da=C,this.na=D,this.ia=w,this.za=G,this.Y=o,Q||A.U!==void 0?this.T=fI:(this.T=B?qI:dI,this.V=null)}var II=(I,A,g)=>{if(!i.hasOwnProperty(I))throw new wA("Replacing nonexistent public symbol");i[I].R!==void 0&&g!==void 0?i[I].R[g]=A:(i[I]=A,i[I].aa=g)},gI,n=(I,A)=>{I=N(I);var g=gI.get(A);if(typeof g!="function")throw new R(`unknown function pointer with signature ${I}: ${A}`);return g};class WI extends Error{}var BI=I=>{I=GI(I);var A=N(I);return x(I),A},RA=(I,A)=>{function g(E){Q[E]||p[E]||(oA[E]?oA[E].forEach(g):(B.push(E),Q[E]=!0))}var B=[],Q={};throw A.forEach(g),new WI(`${I}: `+B.map(BI).join([", "]))},kA=(I,A)=>{for(var g=[],B=0;B<I;B++)g.push(M[A+4*B>>2]);return g};function QI(I){for(var A=1;A<I.length;++A)if(I[A]!==null&&I[A].V===void 0)return!0;return!1}function cA(I,A,g,B,Q,E){var C=A.length;if(2>C)throw new R("argTypes array size mismatch! Must at least get return value and 'this' types!");var D=A[1]!==null&&g!==null,w=QI(A);g=!A[0].ma;var G=A[0],o=A[1];for(B=[I,KI,B,Q,NA,G.N.bind(G),o==null?void 0:o.T.bind(o)],Q=2;Q<C;++Q)G=A[Q],B.push(G.T.bind(G));if(!w)for(Q=D?1:2;Q<A.length;++Q)A[Q].V!==null&&B.push(A[Q].V);for(w=QI(A),Q=A.length-2,o=[],G=["fn"],D&&G.push("thisWired"),C=0;C<Q;++C)o.push(`arg${C}`),G.push(`arg${C}Wired`);o=o.join(","),G=G.join(","),o=`return function (${o}) {
`,w&&(o+=`var destructors = [];
`);var h=w?"destructors":"null",c="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");for(D&&(o+=`var thisWired = toClassParamWire(${h}, this);
`),C=0;C<Q;++C){var J=`toArg${C}Wire`;o+=`var arg${C}Wired = ${J}(${h}, arg${C});
`,c.push(J)}if(o+=(g||E?"var rv = ":"")+`invoker(${G});
`,w)o+=`runDestructors(destructors);
`;else for(C=D?1:2;C<A.length;++C)E=C===1?"thisWired":"arg"+(C-2)+"Wired",A[C].V!==null&&(o+=`${E}_dtor(${E});
`,c.push(`${E}_dtor`));return g&&(o+=`var ret = fromRetWire(rv);
return ret;
`),A=new Function(c,o+`}
`)(...B),GA(I,A)}for(var CI=I=>{I=I.trim();const A=I.indexOf("(");return A===-1?I:I.slice(0,A)},EI=[],b=[0,1,,1,null,1,!0,1,!1,1],tA=I=>{9<I&&--b[I+1]===0&&(b[I]=void 0,EI.push(I))},HA=I=>{if(!I)throw new R(`Cannot use deleted val. handle = ${I}`);return b[I]},KA=I=>{switch(I){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const A=EI.pop()||b.length;return b[A]=I,b[A+1]=1,A}},DI={name:"emscripten::val",N:I=>{var A=HA(I);return tA(I),A},T:(I,A)=>KA(A),X:AA,V:null},ZI=(I,A,g)=>{switch(A){case 1:return g?function(B){return this.N(EA[B])}:function(B){return this.N(r[B])};case 2:return g?function(B){return this.N(v[B>>1])}:function(B){return this.N($[B>>1])};case 4:return g?function(B){return this.N(X[B>>2])}:function(B){return this.N(M[B>>2])};default:throw new TypeError(`invalid integer width (${A}): ${I}`)}},iI=(I,A)=>{var g=p[I];if(g===void 0)throw I=`${A} has unknown type ${BI(I)}`,new R(I);return g},pI=(I,A)=>{switch(A){case 4:return function(g){return this.N(pA[g>>2])};case 8:return function(g){return this.N(TA[g>>3])};default:throw new TypeError(`invalid float width (${A}): ${I}`)}},TI=Object.assign({optional:!0},DI),P=(I,A,g)=>{var B=r;if(!(0<g))return 0;var Q=A;g=A+g-1;for(var E=0;E<I.length;++E){var C=I.codePointAt(E);if(127>=C){if(A>=g)break;B[A++]=C}else if(2047>=C){if(A+1>=g)break;B[A++]=192|C>>6,B[A++]=128|C&63}else if(65535>=C){if(A+2>=g)break;B[A++]=224|C>>12,B[A++]=128|C>>6&63,B[A++]=128|C&63}else{if(A+3>=g)break;B[A++]=240|C>>18,B[A++]=128|C>>12&63,B[A++]=128|C>>6&63,B[A++]=128|C&63,E++}}return B[A]=0,A-Q},oI=I=>{for(var A=0,g=0;g<I.length;++g){var B=I.charCodeAt(g);127>=B?A++:2047>=B?A+=2:55296<=B&&57343>=B?(A+=4,++g):A+=3}return A},wI=new TextDecoder,rA=(I,A,g,B)=>{if(g=A+g,B)return g;for(;I[A]&&!(A>=g);)++A;return A},jI=new TextDecoder("utf-16le"),VI=(I,A,g)=>(I>>=1,jI.decode($.subarray(I,rA($,I,A/2,g)))),XI=(I,A,g)=>{if(g??(g=2147483647),2>g)return 0;g-=2;var B=A;g=g<2*I.length?g/2:I.length;for(var Q=0;Q<g;++Q)v[A>>1]=I.charCodeAt(Q),A+=2;return v[A>>1]=0,A-B},OI=I=>2*I.length,bI=(I,A,g)=>{var B="";I>>=2;for(var Q=0;!(Q>=A/4);Q++){var E=M[I+Q];if(!E&&!g)break;B+=String.fromCodePoint(E)}return B},PI=(I,A,g)=>{if(g??(g=2147483647),4>g)return 0;var B=A;g=B+g-4;for(var Q=0;Q<I.length;++Q){var E=I.codePointAt(Q);if(65535<E&&Q++,X[A>>2]=E,A+=4,A+4>g)break}return X[A>>2]=0,A-B},uI=I=>{for(var A=0,g=0;g<I.length;++g)65535<I.codePointAt(g)&&g++,A+=4;return A},nA=[],mI=I=>{var A=nA.length;return nA.push(I),A},zI=(I,A)=>{for(var g=Array(I),B=0;B<I;++B)g[B]=iI(M[A+4*B>>2],`parameter ${B}`);return g},vI=(I,A,g)=>{var B=[];return I=I(B,g),B.length&&(M[A>>2]=KA(B)),I},$I={},_I=I=>{var A=$I[I];return A===void 0?N(I):A},eA={},FI=()=>{if(!qA){var I={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8",_:L||"./this.program"},A;for(A in eA)eA[A]===void 0?delete I[A]:I[A]=eA[A];var g=[];for(A in I)g.push(`${A}=${I[A]}`);qA=g}return qA},qA,Ag=[null,[],[]],q=new Uint8Array(123),l=25;0<=l;--l)q[48+l]=52+l,q[65+l]=l,q[97+l]=26+l;q[43]=62,q[47]=63,(()=>{let I=FA.prototype;Object.assign(I,{isAliasOf:function(g){if(!(this instanceof FA&&g instanceof FA))return!1;var B=this.L.P.M,Q=this.L.O;g.L=g.L;var E=g.L.P.M;for(g=g.L.O;B.U;)Q=B.ea(Q),B=B.U;for(;E.U;)g=E.ea(g),E=E.U;return B===E&&Q===g},clone:function(){if(this.L.O||UA(this),this.L.da)return this.L.count.value+=1,this;var g=IA,B=Object,Q=B.create,E=Object.getPrototypeOf(this),C=this.L;return g=g(Q.call(B,E,{L:{value:{count:C.count,ba:C.ba,da:C.da,O:C.O,P:C.P,S:C.S,W:C.W}}})),g.L.count.value+=1,g.L.ba=!1,g},delete(){if(this.L.O||UA(this),this.L.ba&&!this.L.da)throw new R("Object already scheduled for deletion");vA(this);var g=this.L;--g.count.value,g.count.value===0&&(g.S?g.W.Y(g.S):g.P.M.Y(g.O)),this.L.da||(this.L.S=void 0,this.L.O=void 0)},isDeleted:function(){return!this.L.O},deleteLater:function(){if(this.L.O||UA(this),this.L.ba&&!this.L.da)throw new R("Object already scheduled for deletion");return this.L.ba=!0,this}});const A=Symbol.dispose;A&&(I[A]=I.delete)})(),Object.assign(sA.prototype,{sa(I){return this.na&&(I=this.na(I)),I},ka(I){var A;(A=this.Y)==null||A.call(this,I)},X:AA,N:function(I){function A(){return this.ga?aA(this.M.$,{P:this.xa,O:g,W:this,S:I}):aA(this.M.$,{P:this,O:I})}var g=this.sa(I);if(!g)return this.ka(I),null;var B=xI(this.M,g);if(B!==void 0)return B.L.count.value===0?(B.L.O=g,B.L.S=I,B.clone()):(B=B.clone(),this.ka(I),B);if(B=this.M.ra(g),B=$A[B],!B)return A.call(this);B=this.fa?B.oa:B.pointerType;var Q=AI(g,this.M,B.M);return Q===null?A.call(this):this.ga?aA(B.M.$,{P:B,O:Q,W:this,S:I}):aA(B.M.$,{P:B,O:Q})}}),i.print&&(WA=i.print),i.printErr&&(QA=i.printErr),i.wasmBinary&&(yA=i.wasmBinary),i.thisProgram&&(L=i.thisProgram);var GI,fA,x,Ig={x:()=>bA(""),q:I=>{var A=iA[I];delete iA[I];var g=A.ia,B=A.Y,Q=A.la,E=Q.map(C=>C.va).concat(Q.map(C=>C.Ba));T([I],E,C=>{var D={};return Q.forEach((w,G)=>{var o=C[G],h=w.ta,c=w.ua,J=C[G+Q.length],Y=w.Aa,K=w.Ca;D[w.qa]={read:f=>o.N(h(c,f)),write:(f,gA)=>{var t=[];Y(K,f,J.T(t,gA)),NA(t)},optional:C[G].optional}}),[{name:A.name,N:w=>{var G={},o;for(o in D)G[o]=D[o].read(w);return B(w),G},T:(w,G)=>{for(var o in D)if(!(o in G||D[o].optional))throw new TypeError(`Missing field: "${o}"`);var h=g();for(o in D)D[o].write(h,G[o]);return w!==null&&w.push(B,h),h},X:AA,V:B}]})},n:(I,A,g,B,Q)=>{A=N(A),B=B===0n;let E=C=>C;if(B){const C=8*g;E=D=>BigInt.asUintN(C,D),Q=E(Q)}H(I,{name:A,N:E,T:(C,D)=>(typeof D=="number"&&(D=BigInt(D)),D),X:zA(A,g,!B),V:null})},B:(I,A,g,B)=>{A=N(A),H(I,{name:A,N:function(Q){return!!Q},T:function(Q,E){return E?g:B},X:function(Q){return this.N(r[Q])},V:null})},j:(I,A,g,B,Q,E,C,D,w,G,o,h,c)=>{o=N(o),E=n(Q,E),D&&(D=n(C,D)),G&&(G=n(w,G)),c=n(h,c);var J=nI(o);JA(J,function(){RA(`Cannot construct ${o} due to unbound types`,[B])}),T([I,A,g],B?[B]:[],Y=>{if(Y=Y[0],B)var K=Y.M,f=K.$;else f=FA.prototype;Y=GA(o,function(...lA){if(Object.getPrototypeOf(this)!==gA)throw new R(`Use 'new' to construct ${o}`);if(t.Z===void 0)throw new R(`${o} has no accessible constructor`);var aI=t.Z[lA.length];if(aI===void 0)throw new R(`Tried to invoke ctor of ${o} with invalid number of parameters (${lA.length}) - expected (${Object.keys(t.Z).toString()}) parameters instead!`);return aI.apply(this,lA)});var gA=Object.create(f,{constructor:{value:Y}});Y.prototype=gA;var t=new eI(o,Y,gA,c,K,E,D,G);if(t.U){var BA;(BA=t.U).ja??(BA.ja=[]),t.U.ja.push(t)}return K=new sA(o,t,!0,!1,!1),BA=new sA(o+"*",t,!1,!1,!1),f=new sA(o+" const*",t,!1,!0,!1),$A[I]={pointerType:BA,oa:f},II(J,Y),[K,BA,f]})},g:(I,A,g,B,Q,E)=>{var C=kA(A,g);Q=n(B,Q),T([],[I],D=>{D=D[0];var w=`constructor ${D.name}`;if(D.M.Z===void 0&&(D.M.Z=[]),D.M.Z[A-1]!==void 0)throw new R(`Cannot register multiple constructors with identical number of parameters (${A-1}) for class '${D.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return D.M.Z[A-1]=()=>{RA(`Cannot construct ${D.name} due to unbound types`,C)},T([],C,G=>(G.splice(1,0,null),D.M.Z[A-1]=cA(w,G,null,Q,E),[])),[]})},b:(I,A,g,B,Q,E,C,D,w)=>{var G=kA(g,B);A=N(A),A=CI(A),E=n(Q,E),T([],[I],o=>{function h(){RA(`Cannot call ${c} due to unbound types`,G)}o=o[0];var c=`${o.name}.${A}`;A.startsWith("@@")&&(A=Symbol[A.substring(2)]),D&&o.M.ya.push(A);var J=o.M.$,Y=J[A];return Y===void 0||Y.R===void 0&&Y.className!==o.name&&Y.aa===g-2?(h.aa=g-2,h.className=o.name,J[A]=h):(_A(J,A,c),J[A].R[g-2]=h),T([],G,K=>(K=cA(c,K,o,E,C,w),J[A].R===void 0?(K.aa=g-2,J[A]=K):J[A].R[g-2]=K,[])),[]})},z:I=>H(I,DI),r:(I,A,g,B)=>{function Q(){}A=N(A),Q.values={},H(I,{name:A,constructor:Q,N:function(E){return this.constructor.values[E]},T:(E,C)=>C.value,X:ZI(A,g,B),V:null}),JA(A,Q)},d:(I,A,g)=>{var B=iI(I,"enum");A=N(A),I=B.constructor,B=Object.create(B.constructor.prototype,{value:{value:g},constructor:{value:GA(`${B.name}_${A}`,function(){})}}),I.values[g]=B,I[A]=B},m:(I,A,g)=>{A=N(A),H(I,{name:A,N:B=>B,T:(B,Q)=>Q,X:pI(A,g),V:null})},l:(I,A,g,B,Q,E,C)=>{var D=kA(A,g);I=N(I),I=CI(I),Q=n(B,Q),JA(I,function(){RA(`Cannot call ${I} due to unbound types`,D)},A-1),T([],D,w=>(w=[w[0],null].concat(w.slice(1)),II(I,cA(I,w,null,Q,E,C),A-1),[]))},c:(I,A,g,B,Q)=>{A=N(A);let E=D=>D;if(B===0){var C=32-8*g;E=D=>D<<C>>>C,Q=E(Q)}H(I,{name:A,N:E,T:(D,w)=>w,X:zA(A,g,B!==0),V:null})},a:(I,A,g)=>{function B(E){return new Q(EA.buffer,M[E+4>>2],M[E>>2])}var Q=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][A];g=N(g),H(I,{name:g,N:B,X:B},{wa:!0})},h:I=>{H(I,TI)},A:(I,A)=>{A=N(A),H(I,{name:A,N(g){var B=(B=g+4)?wI.decode(r.subarray(B,rA(r,B,M[g>>2],!0))):"";return x(g),B},T(g,B){B instanceof ArrayBuffer&&(B=new Uint8Array(B));var Q=typeof B=="string";if(!(Q||ArrayBuffer.isView(B)&&B.BYTES_PER_ELEMENT==1))throw new R("Cannot pass non-string to std::string");var E=Q?oI(B):B.length,C=fA(4+E+1),D=C+4;return M[C>>2]=E,Q?P(B,D,E+1):r.set(B,D),g!==null&&g.push(x,C),C},X:AA,V(g){x(g)}})},f:(I,A,g)=>{if(g=N(g),A===2)var B=VI,Q=XI,E=OI;else B=bI,Q=PI,E=uI;H(I,{name:g,N:C=>{var D=B(C+4,M[C>>2]*A,!0);return x(C),D},T:(C,D)=>{if(typeof D!="string")throw new R(`Cannot pass non-string to C++ string type ${g}`);var w=E(D),G=fA(4+w+A);return M[G>>2]=w/A,Q(D,G+4,w+A),C!==null&&C.push(x,G),G},X:AA,V(C){x(C)}})},i:(I,A,g,B,Q,E)=>{iA[I]={name:N(A),ia:n(g,B),Y:n(Q,E),la:[]}},e:(I,A,g,B,Q,E,C,D,w,G)=>{iA[I].la.push({qa:N(A),va:g,ta:n(B,Q),ua:E,Ba:C,Aa:n(D,w),Ca:G})},C:(I,A)=>{A=N(A),H(I,{ma:!0,name:A,N:()=>{},T:()=>{}})},p:(I,A,g)=>{var[B,...Q]=zI(I,A);A=B.T.bind(B);var E=Q.map(w=>w.X.bind(w));I--;var C={toValue:HA};switch(I=E.map((w,G)=>{var o=`argFromPtr${G}`;return C[o]=w,`${o}(args${G?"+"+8*G:""})`}),g){case 0:var D="toValue(handle)";break;case 2:D="new (toValue(handle))";break;case 3:D="";break;case 1:C.getStringOrSymbol=_I,D="toValue(handle)[getStringOrSymbol(methodName)]"}return D+=`(${I})`,B.ma||(C.toReturnWire=A,C.emval_returnValue=vI,D=`return emval_returnValue(toReturnWire, destructorsRef, ${D})`),D=`return function (handle, methodName, destructorsRef, args) {
${D}
}`,g=new Function(Object.keys(C),D)(...Object.values(C)),D=`methodCaller<(${Q.map(w=>w.name)}) => ${B.name}>`,mI(GA(D,g))},E:tA,o:(I,A,g,B,Q)=>nA[I](A,g,B,Q),D:I=>{var A=HA(I);NA(A),tA(I)},s:(I,A,g,B)=>{var Q=new Date().getFullYear(),E=new Date(Q,0,1).getTimezoneOffset();Q=new Date(Q,6,1).getTimezoneOffset(),M[I>>2]=60*Math.max(E,Q),X[A>>2]=+(E!=Q),A=C=>{var D=Math.abs(C);return`UTC${0<=C?"-":"+"}${String(Math.floor(D/60)).padStart(2,"0")}${String(D%60).padStart(2,"0")}`},I=A(E),A=A(Q),Q<E?(P(I,g,17),P(A,B,17)):(P(I,B,17),P(A,g,17))},y:I=>{var A=r.length;if(I>>>=0,2147483648<I)return!1;for(var g=1;4>=g;g*=2){var B=A*(1+.2/g);B=Math.min(B,I+100663296);A:{B=(Math.min(2147483648,65536*Math.ceil(Math.max(I,B)/65536))-CA.buffer.byteLength+65535)/65536|0;try{CA.grow(B),OA();var Q=1;break A}catch{}Q=void 0}if(Q)return!0}return!1},t:(I,A)=>{var g=0,B=0,Q;for(Q of FI()){var E=A+g;M[I+B>>2]=E,g+=P(Q,E,1/0)+1,B+=4}return 0},u:(I,A)=>{var g=FI();M[I>>2]=g.length,I=0;for(var B of g)I+=oI(B)+1;return M[A>>2]=I,0},v:()=>52,w:function(){return 70},k:(I,A,g,B)=>{for(var Q=0,E=0;E<g;E++){var C=M[A>>2],D=M[A+4>>2];A+=8;for(var w=0;w<D;w++){var G=I,o=r[C+w],h=Ag[G];o===0||o===10?(G=G===1?WA:QA,o=rA(h,0),o=wI.decode(h.buffer?h.subarray(0,o):new Uint8Array(h.slice(0,o))),G(o),h.length=0):h.push(o)}Q+=D}return M[B>>2]=Q,0}},u=await async function(){var I;function A(B){var Q;return u=B.exports,CA=u.F,OA(),gI=u.H,B=u,GI=B.I,i._malloc=fA=B.J,i._free=x=B.K,Z--,(Q=i.monitorRunDependencies)==null||Q.call(i,Z),Z==0&&_&&(B=_,_=null,B()),u}Z++,(I=i.monitorRunDependencies)==null||I.call(i,Z);var g={a:Ig};return i.instantiateWasm?new Promise(B=>{i.instantiateWasm(g,(Q,E)=>{B(A(Q))})}):(DA??(DA=HI("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C0EAEKEDRQRAQZiDASEBIARBmIMBQRgQiwFFDQJBsIMBIQEgBEGwgwFBGBCLAUUNAkEAIQBBvO4BLQAARQRAA0AgAEECdCAAQcYfEKIDNgKM7gEgAEEBaiIAQQZHDQALQbzuAUEBOgAAQaTuAUGM7gEoAgA2AgALQYzuASEBIAJBCGoiAEGM7gFBGBCLAUUNAkGk7gEhASAAQaTuAUEYEIsBRQ0CQRgQNCIBRQ0BCyABIAIpAgg3AgAgASACKQIYNwIQIAEgAikCEDcCCAwBC0EAIQELIAJBIGokAEGc8QFBAToAAEGY8QEgATYCACABC80KAgV/CX4jAEHgAGsiBSQAIARC////////P4MhCiACIASFQoCAgICAgICAgH+DIQsgAkL///////8/gyIMQiCIIQ8gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCELIAMhAQwCCyABIA1CgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASANhEIAIQFQBEBCgICAgICA4P//ACELDAMLIAtCgICAgICAwP//AIQhCwwCCyABIA2EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyANQv///////z9YBEAgBUHQAGogASAMIAEgDCAMUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDWCIMQiCIIQ8gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAogAyAKIApQIggbeULAAEIAIAgbfKciCEEPaxBEIAYgCGtBEGohBiAFKQNIIQogBSkDQCEDCyAHIAlqIAZqQf//AGshBgJAIApCD4YiDkIgiEKAgICACIQiAiABQiCIIgR+IhAgA0IPhiIRQiCIIgogD0KAgASEIg1+fCIPIBBUrSAPIANCMYggDoRC/////w+DIgMgDEL/////D4MiDH58Ig4gD1StfCACIA1+fCAOIA4gEUKAgP7/D4MiDyAMfiIRIAQgCn58IhAgEVStIBAgECADIAFC/////w+DIgF+fCIQVq18fCIOVq18IAMgDX4iEiACIAx+fCIRIBJUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiANIA9+Ig0gCiAMfnwiDCABIAJ+fCICIAMgBH58IgNCIIggAiADVq0gDCANVK0gAiAMVK18fEIghoR8IgIgDlStfCACIBAgBCAPfiIMIAEgCn58IgRCIIggBCAMVK1CIIaEfCIKIBBUrSAKIANCIIZ8IgMgClStfHwiCiACVK18IAogAyAEQiCGIgIgASAPfnwiASACVK18IgIgA1StfCIEIApUrXwiA0KAgICAgIDAAINQRQRAIAZBAWohBgwBCyABQj+IIANCAYYgBEI/iIQhAyAEQgGGIAJCP4iEIQQgAUIBhiEBIAJCAYaEIQILIAZB//8BTgRAIAtCgICAgICAwP//AIQhC0IAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogASACIAZB/wBqIgYQRCAFQSBqIAQgAyAGEEQgBUEQaiABIAIgBxCKASAFIAQgAyAHEIoBIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQEgBSkDKCAFKQMYhCECIAUpAwAhBCAFKQMIDAILQgAhAQwCCyADQv///////z+DIAatQjCGhAsgC4QhCyABUCACQgBZIAJCgICAgICAgICAf1EbRQRAIAsgBEIBfCIBUK18IQsMAQsgASACQoCAgICAgICAgH+FhFBFBEAgBCEBDAELIAsgBCAEQgGDfCIBIARUrXwhCwsgACABNwMAIAAgCzcDCCAFQeAAaiQACwYAIAAQLQt8AQN/IwBBEGsiASQAIAEgADYCDCMAQRBrIgIkACAAKAIAQX9HBEAgAkEIaiACQQxqIAFBDGoQVRBVIQMDQCAAKAIAQQFGDQALIAAoAgBFBEAgAEEBNgIAIAMQ0gIgAEF/NgIACwsgAkEQaiQAIAAoAgQgAUEQaiQAQQFrCyAAIAAgAUEBazYCBCAAQeDVATYCACAAQZCtATYCACAAC/cFAQl/IwBBEGsiCSQAIAEQ1wIgCUEMaiABEFUhCCAAQQhqIgMQayACTQRAAkAgAkEBaiIAIAMQayIBSwRAIwBBIGsiCiQAAkAgACABayIHIAMoAgggAygCBGtBAnVNBEAgAyAHENkCDAELIApBDGohAQJ/IAMQayAHaiEFIwBBEGsiACQAIAAgBTYCDCAFELwCIgRNBEAgAxC5AiIFIARBAXZJBEAgACAFQQF0NgIIIABBCGogAEEMahCgASgCACEECyAAQRBqJAAgBAwBCxCMAQALIQQgAxBrIQUjAEEQayIAJAAgASADQQxqIgs2AhAgAUEANgIMIAQEfyAAQQhqIAsgBBC7AiAAKAIIIQYgACgCDAVBAAshBCABIAY2AgAgASAGIAVBAnRqIgU2AgggASAGIARBAnRqNgIMIAEgBTYCBCAAQRBqJAAjAEEQayIGJAAgASgCCCEEIAZBBGoiACABQQhqNgIIIAAgBDYCACAAIAQgB0ECdGo2AgQgACgCACEEA0AgACgCBCAERwRAIAEoAhAaIAQQugIgACAAKAIAQQRqIgQ2AgAMAQsLIAAoAgggACgCADYCACAGQRBqJAAgASgCBCADKAIAIgAgAygCBGtqIQQgAygCBCAAayIHBEAgBCAAIAf8CgAACyABIAQ2AgQgAyADKAIANgIEIAMgAUEEahDXASADQQRqIAFBCGoQ1wEgA0EIaiABQQxqENcBIAEgASgCBDYCACADEGsaIAEoAgQhAANAIAEoAggiBCAARwRAIAEgBEEEazYCCCABKAIQGgwBCwsgASgCACIABEAgASgCECAAIAEoAgwgASgCAGtBAnUQuAILCyAKQSBqJAAMAQsgACABSQRAIAMoAgAgAEECdGohACADEGsaIAMgABDYAgsLCyADIAIQggEoAgAEQCADIAIQggEoAgAQvwELIAgQrAEhACADIAIQggEgADYCACAIKAIAIQAgCEEANgIAIAAEQCAAEL8BCyAJQRBqJAALySgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQYzqASgCACIEQRAgAEELakH4A3EgAEELSRsiBkEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgJBA3QiAUG06gFqIgAgASgCvOoBIgEoAggiBUYEQEGM6gEgBEF+IAJ3cTYCAAwBCyAFIAA2AgwgACAFNgIICyABQQhqIQAgASACQQN0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KAIAKAIcEQQAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEN8BDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRAwAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQMAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEHEaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAfRSACIAFrQQVIcg0AIAEgAhDHASACQQRrIQQgABAjIgIgABAfaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtpAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABIAIgA2siA0GAAiADQYACSSIBGxCYAiABRQRAA0AgACAFQYACEEIgA0GAAmsiA0H/AUsNAAsLIAAgBSADEEILIAVBgAJqJAALBABBAAsKACAALQALQQd2CwoAIABB0PIBEHoLCgAgAEHY8gEQegvPCQIEfwR+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEUEUNACABIQMgAiEEDAELIAMgASABIANUIAkgClYgCSAKURsiCBshCiAEIAIgCBsiDEL///////8/gyEJIAIgBCAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIFRQRAIAZB4ABqIAogCSAKIAkgCVAiBRt5QsAAQgAgBRt8pyIFQQ9rEEQgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3lCwABCACAHG3ynIgdBD2sQREEQIAdrIQcgBikDUCEDIAYpA1gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAlCA4YgCkI9iIQgAiAEhSEEAn4gA0IDhiICIAUgB0YNABogBSAHayIHQf8ASwRAQgAhAUIBDAELIAZBQGsgAiABQYABIAdrEEQgBkEwaiACIAEgBxCKASAGKQM4IQEgBikDMCAGKQNAIAYpA0iEQgBSrYQLIQlCgICAgICAgASEIQsgCkIDhiEKAkAgBEIAUwRAQgAhA0IAIQQgCSAKhSABIAuFhFANAiAKIAl9IQIgCyABfSAJIApWrX0iBEL/////////A1YNASAGQSBqIAIgBCACIAQgBFAiBxt5QsAAQgAgBxt8p0EMayIHEEQgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAt8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDEKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahBEIAYgAiAEQQEgBWsQigEgBikDACAGKQMQIAYpAxiEQgBSrYQhAiAGKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAetQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUN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C14BA38gAEEANgIIIABCADcCACABKAIAIQMgASgCBCIBIANrIgRBAnUiAgRAIAAgAhCuAyAAKAIEIQIgBEUgASADRnJFBEAgAiADIAT8CgAACyAAIAIgBGo2AgQLIAALDQAgACgCACABQQJ0agsXACAAEEcEQCAAIAE2AgQPCyAAIAEQUAthAQF/IwBBEGsiAiQAIAIgADYCDAJAIAAgAUYNAANAIAIgAUEBayIBNgIIIAAgAU8NASACKAIMIAIoAggQ8wIgAiACKAIMQQFqIgA2AgwgAigCCCEBDAALAAsgAkEQaiQAC6wBAQR/IwBBEGsiByQAAkAgAEUNACAEKAIMIQYgAiABa0ECdSIIQQBKBEAgACABIAgQjQIgCEcNAQsgAyABa0ECdSIBIAZIBEAgACAHQQRqIAYgAWsiASAFEP0CIgUQIyABEI0CIQYgBRA5GiABIAZHDQELIAMgAmtBAnUiAUEASgRAIAAgAiABEI0CIAFHDQELIAQoAgwaIARBADYCDCAAIQkLIAdBEGokACAJCycBAX8jAEEQayIDJAAgAyACNgIMIABB5AAgASACENEBIANBEGokAAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEAgACACVCABIANTIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIPCyAAIAJWIAEgA1UgASADURsEQEF/DwsgACAChSABIAOFhEIAUiEECyAEC+wBAQR/IwBBEGsiBCQAIABBADYCBCMAQRBrIgUkACAEQQA6AA8gACAAKAIAQQxrKAIAahDZASEGIAAgACgCAEEMaygCAGohAwJAIAYEQCADKAJIBEAgACAAKAIAQQxrKAIAaigCSBDFAwsgBCAAIAAoAgBBDGsoAgBqENkBOgAPDAELIANBBBDVAQsgBUEQaiQAQQQhAyAELQAPBEAgACAAIAAoAgBBDGsoAgBqKAIYIgMgASACIAMoAgAoAiARAwAiATYCBEEGQQAgASACRxshAwsgACAAKAIAQQxrKAIAaiADENUBIARBEGokAAsEACAAC1ABAX4CQCADQcAAcQRAIAIgA0FAaq2IIQFCACECDAELIANFDQAgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiCECCyAAIAE3AwAgACACNwMIC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCABQQFqIQEgAEEBaiEAIAJBAWsiAg0BDAILCyAEIAVrIQMLIAMLCQBB+gsQrgIACxQBAX9BCBBTIgEgACkCADcDACABCwoAIAAgASAAa2oLGQEBfyABEMECIQIgACABNgIEIAAgAjYCAAskACAAQQJPBH8gAEECakF+cSIAIABBAWsiACAAQQJGGwVBAQsLlgEBA38CQCABELcCIQIjAEEQayIDJAAgAkH3////A00EQAJAIAIQvQEEQCAAIAIQUCAAIQQMAQsgA0EIaiACEJABQQFqEI8BIAMoAgwaIAAgAygCCCIENgIAIAAgAygCDBBcIAAgAjYCBAsgBCABIAIQZSADQQA2AgQgBCACQQJ0aiADQQRqEFYgA0EQaiQADAELEFsACwsRACAAIAEgASgCACgCLBEBAAvHAQEGfyMAQRBrIgQkACAAEPIBKAIAIQUCfyACKAIAIAAoAgBrIgNB/////wdJBEAgA0EBdAwBC0F/CyIDQQQgAxshAyABKAIAIQYgACgCACEHIAVB5ABGBH9BAAUgACgCAAsgAxDcASIIBEAgBUHkAEcEQCAAEKwBGgsgBEHjADYCBCAAIARBCGogCCAEQQRqEDYiBRDrAiAFEDUgASAAKAIAIAYgB2tqNgIAIAIgACgCACADQXxxajYCACAEQRBqJAAPCxA9AAsTACAAIAFBACAAKAIAKAI0EQMACxMAIAAgAUEA