@snapshot-labs/snapshot.js 0.12.40 → 0.12.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/snapshot.min.js
CHANGED
|
@@ -29,4 +29,4 @@ function nv(t){const{Fp:e,mds:r,reversePartialPowIdx:i,roundConstants:n}=t,{roun
|
|
|
29
29
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const{bytesToNumberBE:lv,hexToBytes:cv}=iy,fv={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){const{Err:e}=fv;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");const r=t[1],i=t.subarray(2,r+2);if(!r||i.length!==r)throw new e("Invalid signature integer: wrong length");if(128&i[0])throw new e("Invalid signature integer: negative");if(0===i[0]&&!(128&i[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:lv(i),l:t.subarray(r+2)}},toSig(t){const{Err:e}=fv,r="string"==typeof t?cv(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let i=r.length;if(i<2||48!=r[0])throw new e("Invalid signature tag");if(r[1]!==i-2)throw new e("Invalid signature: incorrect length");const{d:n,l:o}=fv._parseInt(r.subarray(2)),{d:s,l:a}=fv._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:n,s:s}},hexFromSig(t){const e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,r=t=>{const e=t.toString(16);return 1&e.length?`0${e}`:e},i=e(r(t.s)),n=e(r(t.r)),o=i.length/2,s=n.length/2,a=r(o),h=r(s);return`30${r(s+o+4)}02${h}${n}02${a}${i}`}},dv=BigInt(0),mv=BigInt(1),pv=BigInt(2),gv=BigInt(3),yv=BigInt(4);function vv(t){const e=function(t){const e=uv(t);ry(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:r,Fp:i,a:n}=e;if(r){if(!i.eql(n,i.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:r}=e,i=e.toBytes||((t,e,i)=>{const n=e.toAffine();return Qg(Uint8Array.from([4]),r.toBytes(n.x),r.toBytes(n.y))}),n=e.fromBytes||(t=>{const e=t.subarray(1);return{x:r.fromBytes(e.subarray(0,r.BYTES)),y:r.fromBytes(e.subarray(r.BYTES,2*r.BYTES))}});function o(t){const{a:i,b:n}=e,o=r.sqr(t),s=r.mul(o,t);return r.add(r.add(s,r.mul(t,i)),n)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(t){return"bigint"==typeof t&&dv<t&&t<e.n}function a(t){if(!s(t))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function h(t){const{allowedPrivateKeyLengths:r,nByteLength:i,wrapPrivateKey:n,n:o}=e;if(r&&"bigint"!=typeof t){if(t instanceof Uint8Array&&(t=Fg(t)),"string"!=typeof t||!r.includes(t.length))throw new Error("Invalid key");t=t.padStart(2*i,"0")}let s;try{s="bigint"==typeof t?t:Vg(Jg("private key",t,i))}catch(e){throw new Error(`private key must be ${i} bytes, hex or bigint, not ${typeof t}`)}return n&&(s=Gy(s,o)),a(s),s}const u=new Map;function l(t){if(!(t instanceof c))throw new Error("ProjectivePoint expected")}class c{constructor(t,e,i){if(this.px=t,this.py=e,this.pz=i,null==t||!r.isValid(t))throw new Error("x required");if(null==e||!r.isValid(e))throw new Error("y required");if(null==i||!r.isValid(i))throw new Error("z required")}static fromAffine(t){const{x:e,y:i}=t||{};if(!t||!r.isValid(e)||!r.isValid(i))throw new Error("invalid affine point");if(t instanceof c)throw new Error("projective point not allowed");const n=t=>r.eql(t,r.ZERO);return n(e)&&n(i)?c.ZERO:new c(e,i,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){const e=r.invertBatch(t.map((t=>t.pz)));return t.map(((t,r)=>t.toAffine(e[r]))).map(c.fromAffine)}static fromHex(t){const e=c.fromAffine(n(Jg("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return c.BASE.multiply(h(t))}_setWindowSize(t){this._WINDOW_SIZE=t,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:t,y:i}=this.toAffine();if(!r.isValid(t)||!r.isValid(i))throw new Error("bad point: x or y not FE");const n=r.sqr(i),s=o(t);if(!r.eql(n,s))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:t}=this.toAffine();if(r.isOdd)return!r.isOdd(t);throw new Error("Field doesn't support isOdd")}equals(t){l(t);const{px:e,py:i,pz:n}=this,{px:o,py:s,pz:a}=t,h=r.eql(r.mul(e,a),r.mul(o,n)),u=r.eql(r.mul(i,a),r.mul(s,n));return h&&u}negate(){return new c(this.px,r.neg(this.py),this.pz)}double(){const{a:t,b:i}=e,n=r.mul(i,gv),{px:o,py:s,pz:a}=this;let h=r.ZERO,u=r.ZERO,l=r.ZERO,f=r.mul(o,o),d=r.mul(s,s),m=r.mul(a,a),p=r.mul(o,s);return p=r.add(p,p),l=r.mul(o,a),l=r.add(l,l),h=r.mul(t,l),u=r.mul(n,m),u=r.add(h,u),h=r.sub(d,u),u=r.add(d,u),u=r.mul(h,u),h=r.mul(p,h),l=r.mul(n,l),m=r.mul(t,m),p=r.sub(f,m),p=r.mul(t,p),p=r.add(p,l),l=r.add(f,f),f=r.add(l,f),f=r.add(f,m),f=r.mul(f,p),u=r.add(u,f),m=r.mul(s,a),m=r.add(m,m),f=r.mul(m,p),h=r.sub(h,f),l=r.mul(m,d),l=r.add(l,l),l=r.add(l,l),new c(h,u,l)}add(t){l(t);const{px:i,py:n,pz:o}=this,{px:s,py:a,pz:h}=t;let u=r.ZERO,f=r.ZERO,d=r.ZERO;const m=e.a,p=r.mul(e.b,gv);let g=r.mul(i,s),y=r.mul(n,a),v=r.mul(o,h),w=r.add(i,n),b=r.add(s,a);w=r.mul(w,b),b=r.add(g,y),w=r.sub(w,b),b=r.add(i,o);let M=r.add(s,h);return b=r.mul(b,M),M=r.add(g,v),b=r.sub(b,M),M=r.add(n,o),u=r.add(a,h),M=r.mul(M,u),u=r.add(y,v),M=r.sub(M,u),d=r.mul(m,b),u=r.mul(p,v),d=r.add(u,d),u=r.sub(y,d),d=r.add(y,d),f=r.mul(u,d),y=r.add(g,g),y=r.add(y,g),v=r.mul(m,v),b=r.mul(p,b),y=r.add(y,v),v=r.sub(g,v),v=r.mul(m,v),b=r.add(b,v),g=r.mul(y,b),f=r.add(f,g),g=r.mul(M,b),u=r.mul(w,u),u=r.sub(u,g),g=r.mul(w,y),d=r.mul(M,d),d=r.add(d,g),new c(u,f,d)}subtract(t){return this.add(t.negate())}is0(){return this.equals(c.ZERO)}wNAF(t){return d.wNAFCached(this,u,t,(t=>{const e=r.invertBatch(t.map((t=>t.pz)));return t.map(((t,r)=>t.toAffine(e[r]))).map(c.fromAffine)}))}multiplyUnsafe(t){const i=c.ZERO;if(t===dv)return i;if(a(t),t===mv)return this;const{endo:n}=e;if(!n)return d.unsafeLadder(this,t);let{k1neg:o,k1:s,k2neg:h,k2:u}=n.splitScalar(t),l=i,f=i,m=this;for(;s>dv||u>dv;)s&mv&&(l=l.add(m)),u&mv&&(f=f.add(m)),m=m.double(),s>>=mv,u>>=mv;return o&&(l=l.negate()),h&&(f=f.negate()),f=new c(r.mul(f.px,n.beta),f.py,f.pz),l.add(f)}multiply(t){a(t);let i,n,o=t;const{endo:s}=e;if(s){const{k1neg:t,k1:e,k2neg:a,k2:h}=s.splitScalar(o);let{p:u,f:l}=this.wNAF(e),{p:f,f:m}=this.wNAF(h);u=d.constTimeNegate(t,u),f=d.constTimeNegate(a,f),f=new c(r.mul(f.px,s.beta),f.py,f.pz),i=u.add(f),n=l.add(m)}else{const{p:t,f:e}=this.wNAF(o);i=t,n=e}return c.normalizeZ([i,n])[0]}multiplyAndAddUnsafe(t,e,r){const i=c.BASE,n=(t,e)=>e!==dv&&e!==mv&&t.equals(i)?t.multiply(e):t.multiplyUnsafe(e),o=n(this,e).add(n(t,r));return o.is0()?void 0:o}toAffine(t){const{px:e,py:i,pz:n}=this,o=this.is0();null==t&&(t=o?r.ONE:r.inv(n));const s=r.mul(e,t),a=r.mul(i,t),h=r.mul(n,t);if(o)return{x:r.ZERO,y:r.ZERO};if(!r.eql(h,r.ONE))throw new Error("invZ was invalid");return{x:s,y:a}}isTorsionFree(){const{h:t,isTorsionFree:r}=e;if(t===mv)return!0;if(r)return r(c,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:t,clearCofactor:r}=e;return t===mv?this:r?r(c,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),i(c,this,t)}toHex(t=!0){return Fg(this.toRawBytes(t))}}c.BASE=new c(e.Gx,e.Gy,r.ONE),c.ZERO=new c(r.ZERO,r.ONE,r.ZERO);const f=e.nBitLength,d=function(t,e){const r=(t,e)=>{const r=e.negate();return t?r:e},i=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:r,unsafeLadder(e,r){let i=t.ZERO,n=e;for(;r>av;)r&hv&&(i=i.add(n)),n=n.double(),r>>=hv;return i},precomputeWindow(t,e){const{windows:r,windowSize:n}=i(e),o=[];let s=t,a=s;for(let t=0;t<r;t++){a=s,o.push(a);for(let t=1;t<n;t++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(e,n,o){const{windows:s,windowSize:a}=i(e);let h=t.ZERO,u=t.BASE;const l=BigInt(2**e-1),c=2**e,f=BigInt(e);for(let t=0;t<s;t++){const e=t*a;let i=Number(o&l);o>>=f,i>a&&(i-=c,o+=hv);const s=e,d=e+Math.abs(i)-1,m=t%2!=0,p=i<0;0===i?u=u.add(r(m,n[s])):h=h.add(r(p,n[d]))}return{p:h,f:u}},wNAFCached(t,e,r,i){const n=t._WINDOW_SIZE||1;let o=e.get(t);return o||(o=this.precomputeWindow(t,n),1!==n&&e.set(t,i(o))),this.wNAF(n,o,r)}}}(c,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:c,normPrivateKeyToScalar:h,weierstrassEquation:o,isWithinCurveOrder:s}}function wv(t){const e=function(t){const e=uv(t);return ry(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:r,n:i}=e,n=r.BYTES+1,o=2*r.BYTES+1;function s(t){return Gy(t,i)}function a(t){return Jy(t,i)}const{ProjectivePoint:h,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:c}=vv({...e,toBytes(t,e,i){const n=e.toAffine(),o=r.toBytes(n.x),s=Qg;return i?s(Uint8Array.from([e.hasEvenY()?2:3]),o):s(Uint8Array.from([4]),o,r.toBytes(n.y))},fromBytes(t){const e=t.length,i=t[0],s=t.subarray(1);if(e!==n||2!==i&&3!==i){if(e===o&&4===i){return{x:r.fromBytes(s.subarray(0,r.BYTES)),y:r.fromBytes(s.subarray(r.BYTES,2*r.BYTES))}}throw new Error(`Point of length ${e} was invalid. Expected ${n} compressed bytes or ${o} uncompressed bytes`)}{const t=Vg(s);if(!(dv<(a=t)&&a<r.ORDER))throw new Error("Point is not on curve");const e=l(t);let n=r.sqrt(e);return 1==(1&i)!==((n&mv)===mv)&&(n=r.neg(n)),{x:t,y:n}}var a}}),f=t=>Fg(Zg(t,e.nByteLength));function d(t){return t>i>>mv}const m=(t,e,r)=>Vg(t.slice(e,r));class p{constructor(t,e,r){this.r=t,this.s=e,this.recovery=r,this.assertValidity()}static fromCompact(t){const r=e.nByteLength;return t=Jg("compactSignature",t,2*r),new p(m(t,0,r),m(t,r,2*r))}static fromDER(t){const{r:e,s:r}=fv.toSig(Jg("DER",t));return new p(e,r)}assertValidity(){if(!c(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!c(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new p(this.r,this.s,t)}recoverPublicKey(t){const{r:i,s:n,recovery:o}=this,u=w(Jg("msgHash",t));if(null==o||![0,1,2,3].includes(o))throw new Error("recovery id invalid");const l=2===o||3===o?i+e.n:i;if(l>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const c=0==(1&o)?"02":"03",d=h.fromHex(c+f(l)),m=a(l),p=s(-u*m),g=s(n*m),y=h.BASE.multiplyAndAddUnsafe(d,p,g);if(!y)throw new Error("point at infinify");return y.assertValidity(),y}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return qg(this.toDERHex())}toDERHex(){return fv.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return qg(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const g={isValidPrivateKey(t){try{return u(t),!0}catch(t){return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const t=iv(e.n);return function(t,e,r=!1){const i=t.length,n=rv(e),o=iv(e);if(i<16||i<o||i>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${i}`);const s=Gy(r?Vg(t):Hg(t),e-jy)+jy;return r?Gg(s,n):Zg(s,n)}(e.randomBytes(t),e.n)},precompute:(t=8,e=h.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)};function y(t){const e=t instanceof Uint8Array,r="string"==typeof t,i=(e||r)&&t.length;return e?i===n||i===o:r?i===2*n||i===2*o:t instanceof h}const v=e.bits2int||function(t){const r=Vg(t),i=8*t.length-e.nBitLength;return i>0?r>>BigInt(i):r},w=e.bits2int_modN||function(t){return s(v(t))},b=Wg(e.nBitLength);function M(t){if("bigint"!=typeof t)throw new Error("bigint expected");if(!(dv<=t&&t<b))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Zg(t,e.nByteLength)}function _(t,i,n=E){if(["recovered","canonical"].some((t=>t in n)))throw new Error("sign() legacy options not supported");const{hash:o,randomBytes:l}=e;let{lowS:f,prehash:m,extraEntropy:g}=n;null==f&&(f=!0),t=Jg("msgHash",t),m&&(t=Jg("prehashed msgHash",o(t)));const y=w(t),b=u(i),_=[M(b),M(y)];if(null!=g){const t=!0===g?l(r.BYTES):g;_.push(Jg("extraEntropy",t))}const A=Qg(..._),k=y;return{seed:A,k2sig:function(t){const e=v(t);if(!c(e))return;const r=a(e),i=h.BASE.multiply(e).toAffine(),n=s(i.x);if(n===dv)return;const o=s(r*s(k+n*b));if(o===dv)return;let u=(i.x===n?0:2)|Number(i.y&mv),l=o;return f&&d(o)&&(l=function(t){return d(t)?s(-t):t}(o),u^=1),new p(n,l,u)}}}const E={lowS:e.lowS,prehash:!1},A={lowS:e.lowS,prehash:!1};return h.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return h.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,r=!0){if(y(t))throw new Error("first arg must be private key");if(!y(e))throw new Error("second arg must be public key");return h.fromHex(e).multiply(u(t)).toRawBytes(r)},sign:function(t,r,i=E){const{seed:n,k2sig:o}=_(t,r,i),s=e;return ty(s.hash.outputLen,s.nByteLength,s.hmac)(n,o)},verify:function(t,r,i,n=A){const o=t;if(r=Jg("msgHash",r),i=Jg("publicKey",i),"strict"in n)throw new Error("options.strict was renamed to lowS");const{lowS:u,prehash:l}=n;let c,f;try{if("string"==typeof o||o instanceof Uint8Array)try{c=p.fromDER(o)}catch(t){if(!(t instanceof fv.Err))throw t;c=p.fromCompact(o)}else{if("object"!=typeof o||"bigint"!=typeof o.r||"bigint"!=typeof o.s)throw new Error("PARSE");{const{r:t,s:e}=o;c=new p(t,e)}}f=h.fromHex(i)}catch(t){if("PARSE"===t.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(u&&c.hasHighS())return!1;l&&(r=e.hash(r));const{r:d,s:m}=c,g=w(r),y=a(m),v=s(g*y),b=s(d*y),M=h.BASE.multiplyAndAddUnsafe(f,v,b)?.toAffine();return!!M&&s(M.x)===d},ProjectivePoint:h,Signature:p,utils:g}}function bv(t,e){const r=t.ORDER;let i=dv;for(let t=r-mv;t%pv===dv;t/=pv)i+=mv;const n=i,o=pv<<n-mv-mv,s=o*pv,a=(r-mv)/s,h=(a-mv)/pv,u=s-mv,l=o,c=t.pow(e,a),f=t.pow(e,(a+mv)/pv);let d=(e,r)=>{let i=c,o=t.pow(r,u),s=t.sqr(o);s=t.mul(s,r);let a=t.mul(e,s);a=t.pow(a,h),a=t.mul(a,o),o=t.mul(a,r),s=t.mul(a,e);let d=t.mul(s,o);a=t.pow(d,l);let m=t.eql(a,t.ONE);o=t.mul(s,f),a=t.mul(d,i),s=t.cmov(o,s,m),d=t.cmov(a,d,m);for(let e=n;e>mv;e--){let r=e-pv;r=pv<<r-mv;let n=t.pow(d,r);const a=t.eql(n,t.ONE);o=t.mul(s,i),i=t.mul(i,i),n=t.mul(d,i),s=t.cmov(o,s,a),d=t.cmov(n,d,a)}return{isValid:m,value:s}};if(t.ORDER%yv===gv){const r=(t.ORDER-gv)/yv,i=t.sqrt(t.neg(e));d=(e,n)=>{let o=t.sqr(n);const s=t.mul(e,n);o=t.mul(o,s);let a=t.pow(o,r);a=t.mul(a,s);const h=t.mul(a,i),u=t.mul(t.sqr(a),n),l=t.eql(u,e);return{isValid:l,value:t.cmov(h,a,l)}}}return d}var Mv=Object.freeze({__proto__:null,DER:fv,weierstrassPoints:vv,weierstrass:wv,SWUFpSqrtRatio:bv,mapToCurveSimpleSWU:function(t,e){if(Yy(t),!t.isValid(e.A)||!t.isValid(e.B)||!t.isValid(e.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");const r=bv(t,e.Z);if(!t.isOdd)throw new Error("Fp.isOdd is not implemented!");return i=>{let n,o,s,a,h,u,l,c;n=t.sqr(i),n=t.mul(n,e.Z),o=t.sqr(n),o=t.add(o,n),s=t.add(o,t.ONE),s=t.mul(s,e.B),a=t.cmov(e.Z,t.neg(o),!t.eql(o,t.ZERO)),a=t.mul(a,e.A),o=t.sqr(s),u=t.sqr(a),h=t.mul(u,e.A),o=t.add(o,h),o=t.mul(o,s),u=t.mul(u,a),h=t.mul(u,e.B),o=t.add(o,h),l=t.mul(n,s);const{isValid:f,value:d}=r(o,u);c=t.mul(n,i),c=t.mul(c,d),l=t.cmov(l,s,f),c=t.cmov(c,d,f);const m=t.isOdd(i)===t.isOdd(c);return c=t.cmov(t.neg(c),c,m),l=t.div(l,a),{x:l,y:c}}}});function _v(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Ev(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}const Av="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,kv=t=>t instanceof Uint8Array;
|
|
30
30
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function xv(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array((new TextEncoder).encode(t))}(t)),!kv(t))throw new Error("expected Uint8Array, got "+typeof t);return t}function Nv(t=32){if(Av&&"function"==typeof Av.getRandomValues)return Av.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}class Sv extends class{clone(){return this._cloneInto()}}{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");_v(t.outputLen),_v(t.blockLen)}(t);const r=xv(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,n=new Uint8Array(i);n.set(r.length>i?t.create().update(r).digest():r);for(let t=0;t<n.length;t++)n[t]^=54;this.iHash.update(n),this.oHash=t.create();for(let t=0;t<n.length;t++)n[t]^=106;this.oHash.update(n),n.fill(0)}update(t){return Ev(this),this.iHash.update(t),this}digestInto(t){Ev(this),function(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:s}=this;return t.finished=i,t.destroyed=n,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Iv=(t,e,r)=>new Sv(t,e).update(r).digest();Iv.create=(t,e)=>new Sv(t,e)
|
|
31
31
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */;const Rv=BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583"),Tv=BigInt("0x800000000000000000000000000000000000000000000000000000000000000");function Cv(t){for(;0===t[0];)t=t.subarray(1);const e=8*t.length-252,r=Vg(t);return e>0?r>>BigInt(e):r}function Pv(t){return"string"==typeof t&&1&(t=Zv(t)).length&&(t="0"+t),qg(t)}const Ov=wv({a:BigInt(1),b:BigInt("3141592653589793238462643383279502884197169399375105820974944592307816406665"),Fp:ev(BigInt("0x800000000000011000000000000000000000000000000000000000000000001")),n:Rv,nBitLength:252,Gx:BigInt("874739451078007766457464989774322083649278607533249481151382481072868806602"),Gy:BigInt("152666792071518830868575557812948353041420400780739481342941381225525861407"),h:BigInt(1),lowS:!1,...function(t){return{hash:t,hmac:(e,...r)=>Iv(t,e,function(...t){const e=new Uint8Array(t.reduce(((t,e)=>t+e.length),0));let r=0;return t.forEach((t=>{if(!kv(t))throw new Error("Uint8Array expected");e.set(t,r),r+=t.length})),e}(...r)),randomBytes:Nv}}(Ly),bits2int:Cv,bits2int_modN:t=>{const e=Vg(t).toString(16);return 63===e.length&&(t=Pv(e+"0")),Gy(Cv(t),Rv)}}),Bv=Ov;function $v(t){return Jg("","string"==typeof t?Pv(t):t)}function Uv(t){return Fg($v(t)).padStart(64,"0")}function Dv(t,e=!1){return Ov.getPublicKey(Uv(t),e)}function Lv(t){const{r:e,s:r}=t;if(e<0n||e>=Tv)throw new Error(`Signature.r should be [1, ${Tv})`);const i=Jy(r,Rv);if(i<0n||i>=Tv)throw new Error(`inv(Signature.s) should be [1, ${Tv})`)}function Fv(t){const e=$v(t);if(Vg(e)>=Tv)throw new Error(`msgHash should be [0, ${Tv})`);return e}const{CURVE:jv,ProjectivePoint:zv,Signature:qv,utils:Vv}=Ov;function Hv(t){return`0x${Fg(t.subarray(1)).replace(/^0+/gm,"")}`}function Zv(t){return t.replace(/^0x/i,"")}function Gv(t){const e=$v(t),r=2n**256n,i=r-Gy(r,Rv);for(let t=0;;t++){const r=ow(Qg(e,Kg(BigInt(t))));if(r<i)return Gy(r,Rv).toString(16);if(1e5===t)throw new Error("grindKey is broken: tried 100k vals")}}function Kv(t){return Hv(Dv(t,!0))}const Jv=2n**31n-1n,Qv=t=>Number(t&Jv);const Wv=[new zv(2089986280348253421170679821480865132823066470938446095505822317253594081284n,1713931329540660377023406109199410414810705867260802078187082345529207694986n,1n),new zv(996781205833008774514500082376783249102396023663454813447423147977397232763n,1668503676786377725805489344771023921079126552019160156920634619255970485781n,1n),new zv(2251563274489750535117886426533222435294046428347329203627021249169616184184n,1798716007562728905295480679789526322175868328062420237419143593021674992973n,1n),new zv(2138414695194151160943305727036575959195309218611738193261179310511854807447n,113410276730064486255102093846540133784865286929052426931474106396135072156n,1n),new zv(2379962749567351885752724891227938183011949129833673362440656643086021394946n,776496453633298175483985398648758586525933812536653089401905292063708816422n,1n)];function Yv(t,e){const r=[];let i=t;for(let t=0;t<248;t++)r.push(i),i=i.double();i=e;for(let t=0;t<4;t++)r.push(i),i=i.double();return r}const Xv=Yv(Wv[1],Wv[2]),tw=Yv(Wv[3],Wv[4]);function ew(t,e,r){let i=function(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t){if(!Number.isSafeInteger(t))throw new Error(`Invalid pedersenArg: ${t}`);e=BigInt(t)}else e=Vg($v(t));if(!(0n<=e&&e<Ov.CURVE.Fp.ORDER))throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${e}`);return e}(e);for(let e=0;e<252;e++){const n=r[e];if(n.equals(t))throw new Error("Same point");0n!==(1n&i)&&(t=t.add(n)),i>>=1n}return t}function rw(t,e){let r=Wv[0];return r=ew(r,t,Xv),r=ew(r,e,tw),Hv(r.toRawBytes(!0))}const iw=Wg(250),nw=t=>Vg(Cy(t))&iw,ow=t=>Vg(Ly(t)),sw=ev(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));function aw(t,e,r){const i=t.fromBytes(Ly(my(`${e}${r}`)));return t.create(i)}function hw(t,e,r,i=0){const n=[],o=[];for(let s=0;s<r;s++)n.push(aw(t,`${e}x`,i*r+s)),o.push(aw(t,`${e}y`,i*r+s));if(new Set([...n,...o]).size!==2*r)throw new Error("X and Y values are not distinct");return n.map((e=>o.map((r=>t.inv(t.sub(e,r))))))}function uw(t,e){if(Yy(t.Fp),!Number.isSafeInteger(t.rate)||!Number.isSafeInteger(t.capacity))throw new Error(`Wrong poseidon opts: ${t}`);const r=t.rate+t.capacity,i=t.roundsFull+t.roundsPartial,n=[];for(let e=0;e<i;e++){const i=[];for(let n=0;n<r;n++)i.push(aw(t.Fp,"Hades",r*e+n));n.push(i)}const o=ov({...t,t:r,sboxPower:3,reversePartialPowIdx:!0,mds:e,roundConstants:n});return o.m=r,o.rate=t.rate,o.capacity=t.capacity,o}const lw=uw({Fp:sw,rate:2,capacity:1,roundsFull:8,roundsPartial:83},[[3,1,1],[1,-1,1],[1,1,-2]].map((t=>t.map(BigInt))));function cw(t,e,r=lw){return r([t,e,2n])[0]}function fw(t,e=lw){const{m:r,rate:i}=e;if(!Array.isArray(t))throw new Error("bigint array expected in values");const n=Array.from(t);for(n.push(1n);n.length%i!=0;)n.push(0n);let o=new Array(r).fill(0n);for(let t=0;t<n.length;t+=i){for(let e=0;e<i;e++)o[e]+=n[t+e];o=e(o)}return o[0]}var dw=Object.freeze({__proto__:null,MAX_VALUE:Tv,_starkCurve:Bv,getPublicKey:Dv,getSharedSecret:function(t,e){return Ov.getSharedSecret(Uv(t),e)},sign:function(t,e,r){const i=Ov.sign(Fv(t),Uv(e),r);return Lv(i),i},verify:function(t,e,r){if(!(t instanceof qv)){const e=$v(t);try{t=qv.fromDER(e)}catch(r){if(!(r instanceof fv.Err))throw r;t=qv.fromCompact(e)}}return Lv(t),Ov.verify(t,Fv(e),$v(r))},CURVE:jv,ProjectivePoint:zv,Signature:qv,utils:Vv,grindKey:Gv,getStarkKey:Kv,ethSigToPrivate:function(t){if(130!==(t=Zv(t)).length)throw new Error("Wrong ethereum signature");return Gv(t.substring(0,64))},getAccountPath:function(t,e,r,i){const n=Qv(ow(t)),o=Qv(ow(e)),s=zg(Zv(r));return`m/2645'/${n}'/${o}'/${Qv(s)}'/${Qv(s>>31n)}'/${i}`},pedersen:rw,computeHashOnElements:(t,e=rw)=>[0,...t,t.length].reduce(((t,r)=>e(t,r))),keccak:nw,Fp251:sw,_poseidonMDS:hw,poseidonBasic:uw,poseidonCreate:function(t,e=0){const r=t.rate+t.capacity;if(!Number.isSafeInteger(e))throw new Error(`Wrong mdsAttempt=${e}`);return uw(t,hw(t.Fp,"HadesMDS",r,e))},poseidonSmall:lw,poseidonHash:cw,poseidonHashFunc:function(t,e,r=lw){return Kg(cw(Vg(t),Vg(e),r))},poseidonHashSingle:function(t,e=lw){return e([t,0n,1n])[0]},poseidonHashMany:fw});function mw(t){return pw.test(t)}var pw=/^-?[0-9]+$/;function gw(t){return yw.test(t)}var yw=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;var vw=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function ww(t){if(!function(t,e){var r=parseFloat(t),i=String(r),n=bw(t),o=bw(i);if(n===o)return!0;if(!0===(null==e?void 0:e.approx)&&!mw(t)&&o.length>=14&&n.startsWith(o.substring(0,14)))return!0;return!1}(t,{approx:!1})){if(mw(t))return vw.truncate_integer;var e=parseFloat(t);return isFinite(e)?0===e?vw.underflow:vw.truncate_float:vw.overflow}}function bw(t){return t.replace(Mw,"").replace(Ew,"").replace(Aw,"").replace(_w,"")}var Mw=/[eE][+-]?\d+$/,_w=/^-?(0*)?/,Ew=/\./,Aw=/0+$/;function kw(t){return kw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kw(t)}function xw(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,Nw(i.key),i)}}function Nw(t){var e=function(t,e){if("object"!==kw(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!==kw(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===kw(e)?e:String(e)}var Sw=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),function(t,e,r){(e=Nw(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}(this,"isLosslessNumber",!0),!gw(e))throw new Error('Invalid number (value: "'+e+'")');this.value=e}var e,r,i;return e=t,(r=[{key:"valueOf",value:function(){var t=ww(this.value);if(void 0===t||t===vw.truncate_float)return parseFloat(this.value);if(mw(this.value))return BigInt(this.value);throw new Error("Cannot safely convert to number: "+"the value '".concat(this.value,"' would ").concat(t," and become ").concat(parseFloat(this.value)))}},{key:"toString",value:function(){return this.value}}])&&xw(e.prototype,r),i&&xw(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Iw(t){return new Sw(t)}function Rw(t){return mw(t)?BigInt(t):parseFloat(t)}function Tw(t){return Tw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tw(t)}function Cw(t,e){return Pw({"":t},"",t,e)}function Pw(t,e,r,i){return Array.isArray(r)?i.call(t,e,function(t,e){for(var r=0;r<t.length;r++)t[r]=Pw(t,r+"",t[r],e);return t}(r,i)):r&&"object"===Tw(r)&&!function(t){return t&&"object"===kw(t)&&!0===t.isLosslessNumber||!1}(r)?i.call(t,e,function(t,e){return Object.keys(t).forEach((function(r){var i=Pw(t,r,t[r],e);void 0!==i?t[r]=i:delete t[r]})),t}(r,i)):i.call(t,e,r)}function Ow(t){return Ow="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ow(t)}function Bw(t){return function(t){if(Array.isArray(t))return $w(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return $w(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $w(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $w(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function Uw(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Iw,i=0,n=a();return m(n),g(),e?Cw(n,e):n;function o(){if(t.charCodeAt(i)===Gw){i++,u();for(var e={},r=!0;i<t.length&&t.charCodeAt(i)!==Kw;){r?r=!1:(f(),u());var n=i,o=l();void 0===o&&w(),u(),d();var s=a();void 0===s&&k(),Object.prototype.hasOwnProperty.call(e,o)&&!qw(s,e[o])&&b(o,n+1),e[o]=s}return t.charCodeAt(i)!==Kw&&M(),i++,e}}function s(){if(t.charCodeAt(i)===Jw){i++,u();for(var e=[],r=!0;i<t.length&&t.charCodeAt(i)!==Qw;){r?r=!1:f();var n=a();p(n),e.push(n)}return t.charCodeAt(i)!==Qw&&_(),i++,e}}function a(){var t,e,r,i,n,a;u();var f=null!==(t=null!==(e=null!==(r=null!==(i=null!==(n=null!==(a=l())&&void 0!==a?a:c())&&void 0!==n?n:o())&&void 0!==i?i:s())&&void 0!==r?r:h("true",!0))&&void 0!==e?e:h("false",!1))&&void 0!==t?t:h("null",null);return u(),f}function h(e,r){if(t.slice(i,i+e.length)===e)return i+=e.length,r}function u(){for(;Dw(t.charCodeAt(i));)i++}function l(){if(t.charCodeAt(i)===eb){i++;for(var e="";i<t.length&&t.charCodeAt(i)!==eb;){if(t.charCodeAt(i)===Zw){var r=t[i+1],n=Hw[r];void 0!==n?(e+=n,i++):"u"===r?Lw(t.charCodeAt(i+2))&&Lw(t.charCodeAt(i+3))&&Lw(t.charCodeAt(i+4))&&Lw(t.charCodeAt(i+5))?(e+=String.fromCharCode(parseInt(t.slice(i+2,i+6),16)),i+=5):x(i):A(i)}else zw(t.charCodeAt(i))?e+=t[i]:E(t[i]);i++}return v(),i++,e}}function c(){var e=i;if(t.charCodeAt(i)===ib&&(i++,y(e)),t.charCodeAt(i)===nb)i++;else if(jw(t.charCodeAt(i)))for(i++;Fw(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===hb)for(i++,y(e);Fw(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===db||t.charCodeAt(i)===fb)for(i++,t.charCodeAt(i)!==ib&&t.charCodeAt(i)!==rb||i++,y(e);Fw(t.charCodeAt(i));)i++;if(i>e)return r(t.slice(e,i))}function f(){if(t.charCodeAt(i)!==ab)throw new SyntaxError("Comma ',' expected after value ".concat(I()));i++}function d(){if(t.charCodeAt(i)!==ub)throw new SyntaxError("Colon ':' expected after property name ".concat(I()));i++}function m(t){if(void 0===t)throw new SyntaxError("JSON value expected ".concat(I()))}function p(t){if(void 0===t)throw new SyntaxError("Array item expected ".concat(I()))}function g(){if(i<t.length)throw new SyntaxError("Expected end of input ".concat(I()))}function y(e){if(!Fw(t.charCodeAt(i))){var r=t.slice(e,i);throw new SyntaxError("Invalid number '".concat(r,"', expecting a digit ").concat(I()))}}function v(){if(t.charCodeAt(i)!==eb)throw new SyntaxError("End of string '\"' expected ".concat(I()))}function w(){throw new SyntaxError("Quoted object key expected ".concat(I()))}function b(t,e){throw new SyntaxError("Duplicate key '".concat(t,"' encountered at position ").concat(e))}function M(){throw new SyntaxError("Quoted object key or end of object '}' expected ".concat(I()))}function _(){throw new SyntaxError("Array item or end of array ']' expected ".concat(I()))}function E(t){throw new SyntaxError("Invalid character '".concat(t,"' ").concat(N()))}function A(e){var r=t.slice(e,e+2);throw new SyntaxError("Invalid escape character '".concat(r,"' ").concat(N()))}function k(){throw new SyntaxError("Object value expected after ':' ".concat(N()))}function x(e){for(var r=e+2;/\w/.test(t[r]);)r++;var i=t.slice(e,r);throw new SyntaxError("Invalid unicode character '".concat(i,"' ").concat(N()))}function N(){return"at position ".concat(i)}function S(){return i<t.length?"but got '".concat(t[i],"'"):"but reached end of input"}function I(){return S()+" "+N()}}function Dw(t){return t===Ww||t===Yw||t===Xw||t===tb}function Lw(t){return t>=nb&&t<=sb||t>=lb&&t<=mb||t>=cb&&t<=pb}function Fw(t){return t>=nb&&t<=sb}function jw(t){return t>=ob&&t<=sb}function zw(t){return t>=32&&t<=1114111}function qw(t,e){return t===e||(Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((function(t,r){return qw(t,e[r])})):!(!Vw(t)||!Vw(e))&&Bw(new Set([].concat(Bw(Object.keys(t)),Bw(Object.keys(e))))).every((function(r){return qw(t[r],e[r])})))}function Vw(t){return"object"===Ow(t)&&null!==t}var Hw={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},Zw=92,Gw=123,Kw=125,Jw=91,Qw=93,Ww=32,Yw=10,Xw=9,tb=13,eb=34,rb=43,ib=45,nb=48,ob=49,sb=57,ab=44,hb=46,ub=58,lb=65,cb=97,fb=69,db=101,mb=70,pb=102;function gb(t){return gb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gb(t)}function yb(t,e,r,i){var n=function(t){if("number"==typeof t)return" ".repeat(t);if("string"==typeof t&&""!==t)return t;return}
|
|
32
|
-
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */(r);return o("function"==typeof e?e.call({"":t},"",t):t,"");function o(t,s){if(Array.isArray(i)){var a=i.find((function(e){return e.test(t)}));if(a){var h=a.stringify(t);if("string"!=typeof h||!gw(h))throw new Error("Invalid JSON number: output of a number stringifier must be a string containing a JSON number "+"(output: ".concat(h,")"));return h}}return"boolean"==typeof t||"number"==typeof t||"string"==typeof t||null===t||t instanceof Date||t instanceof Boolean||t instanceof Number||t instanceof String?JSON.stringify(t):t&&t.isLosslessNumber||"bigint"==typeof t?t.toString():Array.isArray(t)?function(t,r){if(0===t.length)return"[]";for(var i=n?r+n:void 0,s=n?"[\n":"[",a=0;a<t.length;a++){var h="function"==typeof e?e.call(t,String(a),t[a]):t[a];n&&(s+=i),s+=void 0!==h&&"function"!=typeof h?o(h,i):"null",a<t.length-1&&(s+=n?",\n":",")}return s+=n?"\n"+r+"]":"]"}(t,s):t&&"object"===gb(t)?function(t,i){if("function"==typeof t.toJSON)return yb(t.toJSON(),e,r,void 0);var s=Array.isArray(e)?e.map(String):Object.keys(t);if(0===s.length)return"{}";var a=n?i+n:void 0,h=!0,u=n?"{\n":"{";return s.forEach((function(r){var i="function"==typeof e?e.call(t,r,t[r]):t[r];if(function(t,e){return void 0!==e&&"function"!=typeof e&&"symbol"!==gb(e)}(0,i)){h?h=!1:u+=n?",\n":",";var s=JSON.stringify(r);u+=n?a+s+": ":s+":",u+=o(i,a)}})),u+=n?"\n"+i+"}":"}"}(t,s):void 0}}function vb(t){let e=t.length;for(;--e>=0;)t[e]=0}const wb=256,bb=286,Mb=30,_b=15,Eb=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Ab=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),kb=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),xb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Nb=new Array(576);vb(Nb);const Sb=new Array(60);vb(Sb);const Ib=new Array(512);vb(Ib);const Rb=new Array(256);vb(Rb);const Tb=new Array(29);vb(Tb);const Cb=new Array(Mb);function Pb(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let Ob,Bb,$b;function Ub(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}vb(Cb);const Db=t=>t<256?Ib[t]:Ib[256+(t>>>7)],Lb=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Fb=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,Lb(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)},jb=(t,e,r)=>{Fb(t,r[2*e],r[2*e+1])},zb=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},qb=(t,e,r)=>{const i=new Array(16);let n,o,s=0;for(n=1;n<=_b;n++)s=s+r[n-1]<<1,i[n]=s;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=zb(i[e]++,e))}},Vb=t=>{let e;for(e=0;e<bb;e++)t.dyn_ltree[2*e]=0;for(e=0;e<Mb;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Hb=t=>{t.bi_valid>8?Lb(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Zb=(t,e,r,i)=>{const n=2*e,o=2*r;return t[n]<t[o]||t[n]===t[o]&&i[e]<=i[r]},Gb=(t,e,r)=>{const i=t.heap[r];let n=r<<1;for(;n<=t.heap_len&&(n<t.heap_len&&Zb(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!Zb(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i},Kb=(t,e,r)=>{let i,n,o,s,a=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+a++],i+=(255&t.pending_buf[t.sym_buf+a++])<<8,n=t.pending_buf[t.sym_buf+a++],0===i?jb(t,n,e):(o=Rb[n],jb(t,o+wb+1,e),s=Eb[o],0!==s&&(n-=Tb[o],Fb(t,n,s)),i--,o=Db(i),jb(t,o,r),s=Ab[o],0!==s&&(i-=Cb[o],Fb(t,i,s)))}while(a<t.sym_next);jb(t,256,e)},Jb=(t,e)=>{const r=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,h,u=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==r[2*s]?(t.heap[++t.heap_len]=u=s,t.depth[s]=0):r[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=u<2?++u:0,r[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=u,s=t.heap_len>>1;s>=1;s--)Gb(t,r,s);h=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Gb(t,r,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,r[2*h]=r[2*s]+r[2*a],t.depth[h]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,r[2*s+1]=r[2*a+1]=h,t.heap[1]=h++,Gb(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,h=e.stat_desc.max_length;let u,l,c,f,d,m,p=0;for(f=0;f<=_b;f++)t.bl_count[f]=0;for(r[2*t.heap[t.heap_max]+1]=0,u=t.heap_max+1;u<573;u++)l=t.heap[u],f=r[2*r[2*l+1]+1]+1,f>h&&(f=h,p++),r[2*l+1]=f,l>i||(t.bl_count[f]++,d=0,l>=a&&(d=s[l-a]),m=r[2*l],t.opt_len+=m*(f+d),o&&(t.static_len+=m*(n[2*l+1]+d)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(l=t.bl_count[f];0!==l;)c=t.heap[--u],c>i||(r[2*c+1]!==f&&(t.opt_len+=(f-r[2*c+1])*r[2*c],r[2*c+1]=f),l--)}})(t,e),qb(r,u,t.bl_count)},Qb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=e[2*(i+1)+1],++a<h&&n===s||(a<u?t.bl_tree[2*n]+=a:0!==n?(n!==o&&t.bl_tree[2*n]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4))},Wb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),i=0;i<=r;i++)if(n=s,s=e[2*(i+1)+1],!(++a<h&&n===s)){if(a<u)do{jb(t,n,t.bl_tree)}while(0!=--a);else 0!==n?(n!==o&&(jb(t,n,t.bl_tree),a--),jb(t,16,t.bl_tree),Fb(t,a-3,2)):a<=10?(jb(t,17,t.bl_tree),Fb(t,a-3,3)):(jb(t,18,t.bl_tree),Fb(t,a-11,7));a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4)}};let Yb=!1;const Xb=(t,e,r,i)=>{Fb(t,0+(i?1:0),3),Hb(t),Lb(t,r),Lb(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var tM=t=>{Yb||((()=>{let t,e,r,i,n;const o=new Array(16);for(r=0,i=0;i<28;i++)for(Tb[i]=r,t=0;t<1<<Eb[i];t++)Rb[r++]=i;for(Rb[r-1]=i,n=0,i=0;i<16;i++)for(Cb[i]=n,t=0;t<1<<Ab[i];t++)Ib[n++]=i;for(n>>=7;i<Mb;i++)for(Cb[i]=n<<7,t=0;t<1<<Ab[i]-7;t++)Ib[256+n++]=i;for(e=0;e<=_b;e++)o[e]=0;for(t=0;t<=143;)Nb[2*t+1]=8,t++,o[8]++;for(;t<=255;)Nb[2*t+1]=9,t++,o[9]++;for(;t<=279;)Nb[2*t+1]=7,t++,o[7]++;for(;t<=287;)Nb[2*t+1]=8,t++,o[8]++;for(qb(Nb,287,o),t=0;t<Mb;t++)Sb[2*t+1]=5,Sb[2*t]=zb(t,5);Ob=new Pb(Nb,Eb,257,bb,_b),Bb=new Pb(Sb,Ab,0,Mb,_b),$b=new Pb(new Array(0),kb,0,19,7)})(),Yb=!0),t.l_desc=new Ub(t.dyn_ltree,Ob),t.d_desc=new Ub(t.dyn_dtree,Bb),t.bl_desc=new Ub(t.bl_tree,$b),t.bi_buf=0,t.bi_valid=0,Vb(t)},eM=(t,e,r,i)=>{let n,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<wb;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),Jb(t,t.l_desc),Jb(t,t.d_desc),s=(t=>{let e;for(Qb(t,t.dyn_ltree,t.l_desc.max_code),Qb(t,t.dyn_dtree,t.d_desc.max_code),Jb(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*xb[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),n=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=n&&(n=o)):n=o=r+5,r+4<=n&&-1!==e?Xb(t,e,r,i):4===t.strategy||o===n?(Fb(t,2+(i?1:0),3),Kb(t,Nb,Sb)):(Fb(t,4+(i?1:0),3),((t,e,r,i)=>{let n;for(Fb(t,e-257,5),Fb(t,r-1,5),Fb(t,i-4,4),n=0;n<i;n++)Fb(t,t.bl_tree[2*xb[n]+1],3);Wb(t,t.dyn_ltree,e-1),Wb(t,t.dyn_dtree,r-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),Kb(t,t.dyn_ltree,t.dyn_dtree)),Vb(t),i&&Hb(t)},rM=(t,e,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(Rb[r]+wb+1)]++,t.dyn_dtree[2*Db(e)]++),t.sym_next===t.sym_end),iM=t=>{Fb(t,2,3),jb(t,256,Nb),(t=>{16===t.bi_valid?(Lb(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)},nM={_tr_init:tM,_tr_stored_block:Xb,_tr_flush_block:eM,_tr_tally:rM,_tr_align:iM};var oM=(t,e,r,i)=>{let n=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+e[i++]|0,o=o+n|0}while(--s);n%=65521,o%=65521}return n|o<<16|0};const sM=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var aM=(t,e,r,i)=>{const n=sM,o=i+r;t^=-1;for(let r=i;r<o;r++)t=t>>>8^n[255&(t^e[r])];return-1^t},hM={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},uM={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:lM,_tr_stored_block:cM,_tr_flush_block:fM,_tr_tally:dM,_tr_align:mM}=nM,{Z_NO_FLUSH:pM,Z_PARTIAL_FLUSH:gM,Z_FULL_FLUSH:yM,Z_FINISH:vM,Z_BLOCK:wM,Z_OK:bM,Z_STREAM_END:MM,Z_STREAM_ERROR:_M,Z_DATA_ERROR:EM,Z_BUF_ERROR:AM,Z_DEFAULT_COMPRESSION:kM,Z_FILTERED:xM,Z_HUFFMAN_ONLY:NM,Z_RLE:SM,Z_FIXED:IM,Z_DEFAULT_STRATEGY:RM,Z_UNKNOWN:TM,Z_DEFLATED:CM}=uM,PM=258,OM=262,BM=42,$M=113,UM=666,DM=(t,e)=>(t.msg=hM[e],e),LM=t=>2*t-(t>4?9:0),FM=t=>{let e=t.length;for(;--e>=0;)t[e]=0},jM=t=>{let e,r,i,n=t.w_size;e=t.hash_size,i=e;do{r=t.head[--i],t.head[i]=r>=n?r-n:0}while(--e);e=n,i=e;do{r=t.prev[--i],t.prev[i]=r>=n?r-n:0}while(--e)};let zM=(t,e,r)=>(e<<t.hash_shift^r)&t.hash_mask;const qM=t=>{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},VM=(t,e)=>{fM(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,qM(t.strm)},HM=(t,e)=>{t.pending_buf[t.pending++]=e},ZM=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},GM=(t,e,r,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),r),1===t.state.wrap?t.adler=oM(t.adler,e,n,r):2===t.state.wrap&&(t.adler=aM(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)},KM=(t,e)=>{let r,i,n=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const h=t.strstart>t.w_size-OM?t.strstart-(t.w_size-OM):0,u=t.window,l=t.w_mask,c=t.prev,f=t.strstart+PM;let d=u[o+s-1],m=u[o+s];t.prev_length>=t.good_match&&(n>>=2),a>t.lookahead&&(a=t.lookahead);do{if(r=e,u[r+s]===m&&u[r+s-1]===d&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<f);if(i=PM-(f-o),o=f-PM,i>s){if(t.match_start=e,s=i,i>=a)break;d=u[o+s-1],m=u[o+s]}}}while((e=c[e&l])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead},JM=t=>{const e=t.w_size;let r,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-OM)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),jM(t),i+=e),0===t.strm.avail_in)break;if(r=GM(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=r,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=zM(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=zM(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<OM&&0!==t.strm.avail_in)},QM=(t,e)=>{let r,i,n,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,a=t.strm.avail_in;do{if(r=65535,n=t.bi_valid+42>>3,t.strm.avail_out<n)break;if(n=t.strm.avail_out-n,i=t.strstart-t.block_start,r>i+t.strm.avail_in&&(r=i+t.strm.avail_in),r>n&&(r=n),r<o&&(0===r&&e!==vM||e===pM||r!==i+t.strm.avail_in))break;s=e===vM&&r===i+t.strm.avail_in?1:0,cM(t,0,0,s),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,qM(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(GM(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?4:e!==pM&&e!==vM&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(n=t.window_size-t.strstart,t.strm.avail_in>n&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(GM(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water<t.strstart&&(t.high_water=t.strstart),n=t.bi_valid+42>>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,o=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=o||(i||e===vM)&&e!==pM&&0===t.strm.avail_in&&i<=n)&&(r=i>n?n:i,s=e===vM&&0===t.strm.avail_in&&r===i?1:0,cM(t,t.block_start,r,s),t.block_start+=r,qM(t.strm)),s?3:1)},WM=(t,e)=>{let r,i;for(;;){if(t.lookahead<OM){if(JM(t),t.lookahead<OM&&e===pM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-OM&&(t.match_length=KM(t,r)),t.match_length>=3)if(i=dM(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=zM(t,t.ins_h,t.window[t.strstart+1]);else i=dM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(VM(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2},YM=(t,e)=>{let r,i,n;for(;;){if(t.lookahead<OM){if(JM(t),t.lookahead<OM&&e===pM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-OM&&(t.match_length=KM(t,r),t.match_length<=5&&(t.strategy===xM||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=dM(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(VM(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=dM(t,0,t.window[t.strstart-1]),i&&VM(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=dM(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2};function XM(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}const t_=[new XM(0,0,0,0,QM),new XM(4,4,8,4,WM),new XM(4,5,16,8,WM),new XM(4,6,32,32,WM),new XM(4,4,16,16,YM),new XM(8,16,32,32,YM),new XM(8,16,128,128,YM),new XM(8,32,128,256,YM),new XM(32,128,258,1024,YM),new XM(32,258,258,4096,YM)];function e_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=CM,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),FM(this.dyn_ltree),FM(this.dyn_dtree),FM(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),FM(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),FM(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const r_=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==BM&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==$M&&e.status!==UM?1:0},i_=t=>{if(r_(t))return DM(t,_M);t.total_in=t.total_out=0,t.data_type=TM;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?BM:$M,t.adler=2===e.wrap?0:1,e.last_flush=-2,lM(e),bM},n_=t=>{const e=i_(t);return e===bM&&(t=>{t.window_size=2*t.w_size,FM(t.head),t.max_lazy_match=t_[t.level].max_lazy,t.good_match=t_[t.level].good_length,t.nice_match=t_[t.level].nice_length,t.max_chain_length=t_[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),e},o_=(t,e,r,i,n,o)=>{if(!t)return _M;let s=1;if(e===kM&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||r!==CM||i<8||i>15||e<0||e>9||o<0||o>IM||8===i&&1!==s)return DM(t,_M);8===i&&(i=9);const a=new e_;return t.state=a,a.strm=t,a.status=BM,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=e,a.strategy=o,a.method=r,n_(t)};var s_=(t,e)=>{if(r_(t)||e>wM||e<0)return t?DM(t,_M):_M;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===UM&&e!==vM)return DM(t,0===t.avail_out?AM:_M);const i=r.last_flush;if(r.last_flush=e,0!==r.pending){if(qM(t),0===t.avail_out)return r.last_flush=-1,bM}else if(0===t.avail_in&&LM(e)<=LM(i)&&e!==vM)return DM(t,AM);if(r.status===UM&&0!==t.avail_in)return DM(t,AM);if(r.status===BM&&0===r.wrap&&(r.status=$M),r.status===BM){let e=CM+(r.w_bits-8<<4)<<8,i=-1;if(i=r.strategy>=NM||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=i<<6,0!==r.strstart&&(e|=32),e+=31-e%31,ZM(r,e),0!==r.strstart&&(ZM(r,t.adler>>>16),ZM(r,65535&t.adler)),t.adler=1,r.status=$M,qM(t),0!==r.pending)return r.last_flush=-1,bM}if(57===r.status)if(t.adler=0,HM(r,31),HM(r,139),HM(r,8),r.gzhead)HM(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),HM(r,255&r.gzhead.time),HM(r,r.gzhead.time>>8&255),HM(r,r.gzhead.time>>16&255),HM(r,r.gzhead.time>>24&255),HM(r,9===r.level?2:r.strategy>=NM||r.level<2?4:0),HM(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(HM(r,255&r.gzhead.extra.length),HM(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=aM(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,9===r.level?2:r.strategy>=NM||r.level<2?4:0),HM(r,3),r.status=$M,qM(t),0!==r.pending)return r.last_flush=-1,bM;if(69===r.status){if(r.gzhead.extra){let e=r.pending,i=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+i>r.pending_buf_size;){let n=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=aM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=n,qM(t),0!==r.pending)return r.last_flush=-1,bM;e=0,i-=n}let n=new Uint8Array(r.gzhead.extra);r.pending_buf.set(n.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending+=i,r.gzhead.hcrc&&r.pending>e&&(t.adler=aM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i)),qM(t),0!==r.pending)return r.last_flush=-1,bM;i=0}e=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i)),qM(t),0!==r.pending)return r.last_flush=-1,bM;i=0}e=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(qM(t),0!==r.pending))return r.last_flush=-1,bM;HM(r,255&t.adler),HM(r,t.adler>>8&255),t.adler=0}if(r.status=$M,qM(t),0!==r.pending)return r.last_flush=-1,bM}if(0!==t.avail_in||0!==r.lookahead||e!==pM&&r.status!==UM){let i=0===r.level?QM(r,e):r.strategy===NM?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(JM(t),0===t.lookahead)){if(e===pM)return 1;break}if(t.match_length=0,r=dM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(VM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===SM?((t,e)=>{let r,i,n,o;const s=t.window;for(;;){if(t.lookahead<=PM){if(JM(t),t.lookahead<=PM&&e===pM)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){o=t.strstart+PM;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<o);t.match_length=PM-(o-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=dM(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=dM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(VM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2})(r,e):t_[r.level].func(r,e);if(3!==i&&4!==i||(r.status=UM),1===i||3===i)return 0===t.avail_out&&(r.last_flush=-1),bM;if(2===i&&(e===gM?mM(r):e!==wM&&(cM(r,0,0,!1),e===yM&&(FM(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),qM(t),0===t.avail_out))return r.last_flush=-1,bM}return e!==vM?bM:r.wrap<=0?MM:(2===r.wrap?(HM(r,255&t.adler),HM(r,t.adler>>8&255),HM(r,t.adler>>16&255),HM(r,t.adler>>24&255),HM(r,255&t.total_in),HM(r,t.total_in>>8&255),HM(r,t.total_in>>16&255),HM(r,t.total_in>>24&255)):(ZM(r,t.adler>>>16),ZM(r,65535&t.adler)),qM(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?bM:MM)},a_=(t,e)=>{let r=e.length;if(r_(t))return _M;const i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==BM||i.lookahead)return _M;if(1===n&&(t.adler=oM(t.adler,e,r,0)),i.wrap=0,r>=i.w_size){0===n&&(FM(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(r-i.w_size,r),0),e=t,r=i.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,JM(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=zM(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,JM(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,i.wrap=n,bM},h_={deflateInit:(t,e)=>o_(t,e,CM,15,8,RM),deflateInit2:o_,deflateReset:n_,deflateResetKeep:i_,deflateSetHeader:(t,e)=>r_(t)||2!==t.state.wrap?_M:(t.state.gzhead=e,bM),deflate:s_,deflateEnd:t=>{if(r_(t))return _M;const e=t.state.status;return t.state=null,e===$M?DM(t,EM):bM},deflateSetDictionary:a_,deflateInfo:"pako deflate (from Nodeca project)"};const u_=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var l_=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)u_(r,e)&&(t[e]=r[e])}}return t},c_=t=>{let e=0;for(let r=0,i=t.length;r<i;r++)e+=t[r].length;const r=new Uint8Array(e);for(let e=0,i=0,n=t.length;e<n;e++){let n=t[e];r.set(n,i),i+=n.length}return r};let f_=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){f_=!1}const d_=new Uint8Array(256);for(let t=0;t<256;t++)d_[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;d_[254]=d_[254]=1;var m_=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,i,n,o,s=t.length,a=0;for(n=0;n<s;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},p_=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const o=new Array(2*r);for(n=0,i=0;i<r;){let e=t[i++];if(e<128){o[n++]=e;continue}let s=d_[e];if(s>4)o[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<r;)e=e<<6|63&t[i++],s--;s>1?o[n++]=65533:e<65536?o[n++]=e:(e-=65536,o[n++]=55296|e>>10&1023,o[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&f_)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r})(o,n)},g_=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+d_[t[r]]>e?r:e};var y_=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const v_=Object.prototype.toString,{Z_NO_FLUSH:w_,Z_SYNC_FLUSH:b_,Z_FULL_FLUSH:M_,Z_FINISH:__,Z_OK:E_,Z_STREAM_END:A_,Z_DEFAULT_COMPRESSION:k_,Z_DEFAULT_STRATEGY:x_,Z_DEFLATED:N_}=uM;function S_(t){this.options=l_({level:k_,method:N_,chunkSize:16384,windowBits:15,memLevel:8,strategy:x_},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new y_,this.strm.avail_out=0;let r=h_.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==E_)throw new Error(hM[r]);if(e.header&&h_.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?m_(e.dictionary):"[object ArrayBuffer]"===v_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=h_.deflateSetDictionary(this.strm,t),r!==E_)throw new Error(hM[r]);this._dict_set=!0}}function I_(t,e){const r=new S_(e);if(r.push(t,!0),r.err)throw r.msg||hM[r.err];return r.result}S_.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize;let n,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?__:w_,"string"==typeof t?r.input=m_(t):"[object ArrayBuffer]"===v_.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(o===b_||o===M_)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(n=h_.deflate(r,o),n===A_)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),n=h_.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===E_;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},S_.prototype.onData=function(t){this.chunks.push(t)},S_.prototype.onEnd=function(t){t===E_&&(this.result=c_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var R_={Deflate:S_,deflate:I_,deflateRaw:function(t,e){return(e=e||{}).raw=!0,I_(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,I_(t,e)},constants:uM};const T_=16209;var C_=function(t,e){let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A,k;const x=t.state;r=t.next_in,A=t.input,i=r+(t.avail_in-5),n=t.next_out,k=t.output,o=n-(e-t.avail_out),s=n+(t.avail_out-257),a=x.dmax,h=x.wsize,u=x.whave,l=x.wnext,c=x.window,f=x.hold,d=x.bits,m=x.lencode,p=x.distcode,g=(1<<x.lenbits)-1,y=(1<<x.distbits)-1;t:do{d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=m[f&g];e:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,0===w)k[n++]=65535&v;else{if(!(16&w)){if(0==(64&w)){v=m[(65535&v)+(f&(1<<w)-1)];continue e}if(32&w){x.mode=16191;break t}t.msg="invalid literal/length code",x.mode=T_;break t}b=65535&v,w&=15,w&&(d<w&&(f+=A[r++]<<d,d+=8),b+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=p[f&y];r:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,!(16&w)){if(0==(64&w)){v=p[(65535&v)+(f&(1<<w)-1)];continue r}t.msg="invalid distance code",x.mode=T_;break t}if(M=65535&v,w&=15,d<w&&(f+=A[r++]<<d,d+=8,d<w&&(f+=A[r++]<<d,d+=8)),M+=f&(1<<w)-1,M>a){t.msg="invalid distance too far back",x.mode=T_;break t}if(f>>>=w,d-=w,w=n-o,M>w){if(w=M-w,w>u&&x.sane){t.msg="invalid distance too far back",x.mode=T_;break t}if(_=0,E=c,0===l){if(_+=h-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}else if(l<w){if(_+=h+l-w,w-=l,w<b){b-=w;do{k[n++]=c[_++]}while(--w);if(_=0,l<b){w=l,b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}}else if(_+=l-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}for(;b>2;)k[n++]=E[_++],k[n++]=E[_++],k[n++]=E[_++],b-=3;b&&(k[n++]=E[_++],b>1&&(k[n++]=E[_++]))}else{_=n-M;do{k[n++]=k[_++],k[n++]=k[_++],k[n++]=k[_++],b-=3}while(b>2);b&&(k[n++]=k[_++],b>1&&(k[n++]=k[_++]))}break}}break}}while(r<i&&n<s);b=d>>3,r-=b,d-=b<<3,f&=(1<<d)-1,t.next_in=r,t.next_out=n,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=n<s?s-n+257:257-(n-s),x.hold=f,x.bits=d};const P_=15,O_=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),B_=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),$_=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),U_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var D_=(t,e,r,i,n,o,s,a)=>{const h=a.bits;let u,l,c,f,d,m,p=0,g=0,y=0,v=0,w=0,b=0,M=0,_=0,E=0,A=0,k=null;const x=new Uint16Array(16),N=new Uint16Array(16);let S,I,R,T=null;for(p=0;p<=P_;p++)x[p]=0;for(g=0;g<i;g++)x[e[r+g]]++;for(w=h,v=P_;v>=1&&0===x[v];v--);if(w>v&&(w=v),0===v)return n[o++]=20971520,n[o++]=20971520,a.bits=1,0;for(y=1;y<v&&0===x[y];y++);for(w<y&&(w=y),_=1,p=1;p<=P_;p++)if(_<<=1,_-=x[p],_<0)return-1;if(_>0&&(0===t||1!==v))return-1;for(N[1]=0,p=1;p<P_;p++)N[p+1]=N[p]+x[p];for(g=0;g<i;g++)0!==e[r+g]&&(s[N[e[r+g]]++]=g);if(0===t?(k=T=s,m=20):1===t?(k=O_,T=B_,m=257):(k=$_,T=U_,m=0),A=0,g=0,p=y,d=o,b=w,M=0,c=-1,E=1<<w,f=E-1,1===t&&E>852||2===t&&E>592)return 1;for(;;){S=p-M,s[g]+1<m?(I=0,R=s[g]):s[g]>=m?(I=T[s[g]-m],R=k[s[g]-m]):(I=96,R=0),u=1<<p-M,l=1<<b,y=l;do{l-=u,n[d+(A>>M)+l]=S<<24|I<<16|R|0}while(0!==l);for(u=1<<p-1;A&u;)u>>=1;if(0!==u?(A&=u-1,A+=u):A=0,g++,0==--x[p]){if(p===v)break;p=e[r+s[g]]}if(p>w&&(A&f)!==c){for(0===M&&(M=w),d+=y,b=p-M,_=1<<b;b+M<v&&(_-=x[b+M],!(_<=0));)b++,_<<=1;if(E+=1<<b,1===t&&E>852||2===t&&E>592)return 1;c=A&f,n[c]=w<<24|b<<16|d-o|0}}return 0!==A&&(n[d+A]=p-M<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:L_,Z_BLOCK:F_,Z_TREES:j_,Z_OK:z_,Z_STREAM_END:q_,Z_NEED_DICT:V_,Z_STREAM_ERROR:H_,Z_DATA_ERROR:Z_,Z_MEM_ERROR:G_,Z_BUF_ERROR:K_,Z_DEFLATED:J_}=uM,Q_=16180,W_=16190,Y_=16191,X_=16192,tE=16194,eE=16199,rE=16200,iE=16206,nE=16209,oE=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function sE(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const aE=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<Q_||e.mode>16211?1:0},hE=t=>{if(aE(t))return H_;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Q_,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,z_},uE=t=>{if(aE(t))return H_;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,hE(t)},lE=(t,e)=>{let r;if(aE(t))return H_;const i=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?H_:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,uE(t))},cE=(t,e)=>{if(!t)return H_;const r=new sE;t.state=r,r.strm=t,r.window=null,r.mode=Q_;const i=lE(t,e);return i!==z_&&(t.state=null),i};let fE,dE,mE=!0;const pE=t=>{if(mE){fE=new Int32Array(512),dE=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(D_(1,t.lens,0,288,fE,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;D_(2,t.lens,0,32,dE,0,t.work,{bits:5}),mE=!1}t.lencode=fE,t.lenbits=9,t.distcode=dE,t.distbits=5},gE=(t,e,r,i)=>{let n;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>i&&(n=i),o.window.set(e.subarray(r-i,r-i+n),o.wnext),(i-=n)?(o.window.set(e.subarray(r-i,r),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0};var yE=(t,e)=>{let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A=0;const k=new Uint8Array(4);let x,N;const S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(aE(t)||!t.output||!t.input&&0!==t.avail_in)return H_;r=t.state,r.mode===Y_&&(r.mode=X_),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,c=a,f=h,E=z_;t:for(;;)switch(r.mode){case Q_:if(0===r.wrap){r.mode=X_;break}for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=nE;break}if((15&u)!==J_){t.msg="unknown compression method",r.mode=nE;break}if(u>>>=4,l-=4,_=8+(15&u),0===r.wbits&&(r.wbits=_),_>15||_>r.wbits){t.msg="invalid window size",r.mode=nE;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=512&u?16189:Y_,u=0,l=0;break;case 16181:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==J_){t.msg="unknown compression method",r.mode=nE;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=nE;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,k[2]=u>>>16&255,k[3]=u>>>24&255,r.check=aM(r.check,k,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>a&&(d=a),d&&(r.head&&(_=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(i.subarray(o,o+d),_)),512&r.flags&&4&r.wrap&&(r.check=aM(r.check,i,d,o)),a-=d,o+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=aM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=aM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=nE;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=Y_;break;case 16189:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}t.adler=r.check=oE(u),u=0,l=0,r.mode=W_;case W_:if(0===r.havedict)return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,V_;t.adler=r.check=1,r.mode=Y_;case Y_:if(e===F_||e===j_)break t;case X_:if(r.last){u>>>=7&l,l-=7&l,r.mode=iE;break}for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(pE(r),r.mode=eE,e===j_){u>>>=2,l-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=nE}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=nE;break}if(r.length=65535&u,u=0,l=0,r.mode=tE,e===j_)break t;case tE:r.mode=16195;case 16195:if(d=r.length,d){if(d>a&&(d=a),d>h&&(d=h),0===d)break t;n.set(i.subarray(o,o+d),s),a-=d,o+=d,h-=d,s+=d,r.length-=d;break}r.mode=Y_;break;case 16196:for(;l<14;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=nE;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.lens[S[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},E=D_(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid code lengths set",r.mode=nE;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(v<16)u>>>=g,l-=g,r.lens[r.have++]=v;else{if(16===v){for(N=g+2;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(u>>>=g,l-=g,0===r.have){t.msg="invalid bit length repeat",r.mode=nE;break}_=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===v){for(N=g+3;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=3+(7&u),u>>>=3,l-=3}else{for(N=g+7;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=11+(127&u),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=nE;break}for(;d--;)r.lens[r.have++]=_}}if(r.mode===nE)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=nE;break}if(r.lenbits=9,x={bits:r.lenbits},E=D_(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid literal/lengths set",r.mode=nE;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},E=D_(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,E){t.msg="invalid distances set",r.mode=nE;break}if(r.mode=eE,e===j_)break t;case eE:r.mode=rE;case rE:if(a>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,C_(t,f),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,r.mode===Y_&&(r.back=-1);break}for(r.back=0;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(y&&0==(240&y)){for(w=g,b=y,M=v;A=r.lencode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,r.length=v,0===y){r.mode=16205;break}if(32&y){r.back=-1,r.mode=Y_;break}if(64&y){t.msg="invalid literal/length code",r.mode=nE;break}r.extra=15&y,r.mode=16201;case 16201:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;A=r.distcode[u&(1<<r.distbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(0==(240&y)){for(w=g,b=y,M=v;A=r.distcode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,64&y){t.msg="invalid distance code",r.mode=nE;break}r.offset=v,r.extra=15&y,r.mode=16203;case 16203:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=nE;break}r.mode=16204;case 16204:if(0===h)break t;if(d=f-h,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=nE;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),p=r.window}else p=n,m=s-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{n[s++]=p[m++]}while(--d);0===r.length&&(r.mode=rE);break;case 16205:if(0===h)break t;n[s++]=r.length,h--,r.mode=rE;break;case iE:if(r.wrap){for(;l<32;){if(0===a)break t;a--,u|=i[o++]<<l,l+=8}if(f-=h,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?aM(r.check,n,f,s-f):oM(r.check,n,f,s-f)),f=h,4&r.wrap&&(r.flags?u:oE(u))!==r.check){t.msg="incorrect data check",r.mode=nE;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=nE;break}u=0,l=0}r.mode=16208;case 16208:E=q_;break t;case nE:E=Z_;break t;case 16210:return G_;default:return H_}return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,(r.wsize||f!==t.avail_out&&r.mode<nE&&(r.mode<iE||e!==L_))&&gE(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?aM(r.check,n,f,t.next_out-f):oM(r.check,n,f,t.next_out-f)),t.data_type=r.bits+(r.last?64:0)+(r.mode===Y_?128:0)+(r.mode===eE||r.mode===tE?256:0),(0===c&&0===f||e===L_)&&E===z_&&(E=K_),E},vE={inflateReset:uE,inflateReset2:lE,inflateResetKeep:hE,inflateInit:t=>cE(t,15),inflateInit2:cE,inflate:yE,inflateEnd:t=>{if(aE(t))return H_;let e=t.state;return e.window&&(e.window=null),t.state=null,z_},inflateGetHeader:(t,e)=>{if(aE(t))return H_;const r=t.state;return 0==(2&r.wrap)?H_:(r.head=e,e.done=!1,z_)},inflateSetDictionary:(t,e)=>{const r=e.length;let i,n,o;return aE(t)?H_:(i=t.state,0!==i.wrap&&i.mode!==W_?H_:i.mode===W_&&(n=1,n=oM(n,e,r,0),n!==i.check)?Z_:(o=gE(t,e,r,r),o?(i.mode=16210,G_):(i.havedict=1,z_)))},inflateInfo:"pako inflate (from Nodeca project)"};var wE=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const bE=Object.prototype.toString,{Z_NO_FLUSH:ME,Z_FINISH:_E,Z_OK:EE,Z_STREAM_END:AE,Z_NEED_DICT:kE,Z_STREAM_ERROR:xE,Z_DATA_ERROR:NE,Z_MEM_ERROR:SE}=uM;function IE(t){this.options=l_({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new y_,this.strm.avail_out=0;let r=vE.inflateInit2(this.strm,e.windowBits);if(r!==EE)throw new Error(hM[r]);if(this.header=new wE,vE.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=m_(e.dictionary):"[object ArrayBuffer]"===bE.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=vE.inflateSetDictionary(this.strm,e.dictionary),r!==EE)))throw new Error(hM[r])}function RE(t,e){const r=new IE(e);if(r.push(t),r.err)throw r.msg||hM[r.err];return r.result}IE.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?_E:ME,"[object ArrayBuffer]"===bE.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),o=vE.inflate(r,s),o===kE&&n&&(o=vE.inflateSetDictionary(r,n),o===EE?o=vE.inflate(r,s):o===NE&&(o=kE));r.avail_in>0&&o===AE&&r.state.wrap>0&&0!==t[r.next_in];)vE.inflateReset(r),o=vE.inflate(r,s);switch(o){case xE:case NE:case kE:case SE:return this.onEnd(o),this.ended=!0,!1}if(a=r.avail_out,r.next_out&&(0===r.avail_out||o===AE))if("string"===this.options.to){let t=g_(r.output,r.next_out),e=r.next_out-t,n=p_(r.output,t);r.next_out=e,r.avail_out=i-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==EE||0!==a){if(o===AE)return o=vE.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},IE.prototype.onData=function(t){this.chunks.push(t)},IE.prototype.onEnd=function(t){t===EE&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var TE={Inflate:IE,inflate:RE,inflateRaw:function(t,e){return(e=e||{}).raw=!0,RE(t,e)},ungzip:RE,constants:uM};const{Deflate:CE,deflate:PE,deflateRaw:OE,gzip:BE}=R_,{Inflate:$E,inflate:UE,inflateRaw:DE,ungzip:LE}=TE;var FE=BE,jE=LE,zE="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==$&&$||{},qE="URLSearchParams"in zE,VE="Symbol"in zE&&"iterator"in Symbol,HE="FileReader"in zE&&"Blob"in zE&&function(){try{return new Blob,!0}catch(t){return!1}}(),ZE="FormData"in zE,GE="ArrayBuffer"in zE;if(GE)var KE=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],JE=ArrayBuffer.isView||function(t){return t&&KE.indexOf(Object.prototype.toString.call(t))>-1};function QE(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function WE(t){return"string"!=typeof t&&(t=String(t)),t}function YE(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return VE&&(e[Symbol.iterator]=function(){return e}),e}function XE(t){this.map={},t instanceof XE?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function tA(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function eA(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function rA(t){var e=new FileReader,r=eA(e);return e.readAsArrayBuffer(t),r}function iA(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function nA(){return this.bodyUsed=!1,this._initBody=function(t){var e;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:HE&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:ZE&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:qE&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():GE&&HE&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=iA(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):GE&&(ArrayBuffer.prototype.isPrototypeOf(t)||JE(t))?this._bodyArrayBuffer=iA(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):qE&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},HE&&(this.blob=function(){var t=tA(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=tA(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(HE)return this.blob().then(rA);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,i,n,o=tA(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=eA(e),i=/charset=([A-Za-z0-9_-]+)/.exec(t.type),n=i?i[1]:"utf-8",e.readAsText(t,n),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),i=0;i<e.length;i++)r[i]=String.fromCharCode(e[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},ZE&&(this.formData=function(){return this.text().then(aA)}),this.json=function(){return this.text().then(JSON.parse)},this}XE.prototype.append=function(t,e){t=QE(t),e=WE(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},XE.prototype.delete=function(t){delete this.map[QE(t)]},XE.prototype.get=function(t){return t=QE(t),this.has(t)?this.map[t]:null},XE.prototype.has=function(t){return this.map.hasOwnProperty(QE(t))},XE.prototype.set=function(t,e){this.map[QE(t)]=WE(e)},XE.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},XE.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),YE(t)},XE.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),YE(t)},XE.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),YE(t)},VE&&(XE.prototype[Symbol.iterator]=XE.prototype.entries);var oA=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function sA(t,e){if(!(this instanceof sA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,n=(e=e||{}).body;if(t instanceof sA){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new XE(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new XE(e.headers)),this.method=(r=e.method||this.method||"GET",i=r.toUpperCase(),oA.indexOf(i)>-1?i:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in zE)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function aA(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),i=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(n))}})),e}function hA(t,e){if(!(this instanceof hA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new XE(e.headers),this.url=e.url||"",this._initBody(t)}sA.prototype.clone=function(){return new sA(this,{body:this._bodyInit})},nA.call(sA.prototype),nA.call(hA.prototype),hA.prototype.clone=function(){return new hA(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new XE(this.headers),url:this.url})},hA.error=function(){var t=new hA(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var uA=[301,302,303,307,308];hA.redirect=function(t,e){if(-1===uA.indexOf(e))throw new RangeError("Invalid status code");return new hA(null,{status:e,headers:{location:t}})};var lA=zE.DOMException;try{new lA}catch(DM){lA=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},lA.prototype=Object.create(Error.prototype),lA.prototype.constructor=lA}function cA(t,e){return new Promise((function(r,i){var n=new sA(t,e);if(n.signal&&n.signal.aborted)return i(new lA("Aborted","AbortError"));var o=new XMLHttpRequest;function s(){o.abort()}if(o.onload=function(){var t,e,i={statusText:o.statusText,headers:(t=o.getAllResponseHeaders()||"",e=new XE,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),i=r.shift().trim();if(i){var n=r.join(":").trim();try{e.append(i,n)}catch(t){console.warn("Response "+t.message)}}})),e)};0===n.url.indexOf("file://")&&(o.status<200||o.status>599)?i.status=200:i.status=o.status,i.url="responseURL"in o?o.responseURL:i.headers.get("X-Request-URL");var s="response"in o?o.response:o.responseText;setTimeout((function(){r(new hA(s,i))}),0)},o.onerror=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){i(new TypeError("Network request timed out"))}),0)},o.onabort=function(){setTimeout((function(){i(new lA("Aborted","AbortError"))}),0)},o.open(n.method,function(t){try{return""===t&&zE.location.href?zE.location.href:t}catch(e){return t}}(n.url),!0),"include"===n.credentials?o.withCredentials=!0:"omit"===n.credentials&&(o.withCredentials=!1),"responseType"in o&&(HE?o.responseType="blob":GE&&(o.responseType="arraybuffer")),e&&"object"==typeof e.headers&&!(e.headers instanceof XE||zE.Headers&&e.headers instanceof zE.Headers)){var a=[];Object.getOwnPropertyNames(e.headers).forEach((function(t){a.push(QE(t)),o.setRequestHeader(t,WE(e.headers[t]))})),n.headers.forEach((function(t,e){-1===a.indexOf(e)&&o.setRequestHeader(e,t)}))}else n.headers.forEach((function(t,e){o.setRequestHeader(e,t)}));n.signal&&(n.signal.addEventListener("abort",s),o.onreadystatechange=function(){4===o.readyState&&n.signal.removeEventListener("abort",s)}),o.send(void 0===n._bodyInit?null:n._bodyInit)}))}cA.polyfill=!0,zE.fetch||(zE.fetch=cA,zE.Headers=XE,zE.Request=sA,zE.Response=hA);var fA=self.fetch.bind(self),dA=o((function(t){var e,i;e=r,i=function(){function t(t){var e=[];if(0===t.length)return"";if("string"!=typeof t[0])throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var r=t.shift();t[0]=r+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var i=0;i<t.length;i++){var n=t[i];if("string"!=typeof n)throw new TypeError("Url must be a string. Received "+n);""!==n&&(i>0&&(n=n.replace(/^[\/]+/,"")),n=i<t.length-1?n.replace(/[\/]+$/,""):n.replace(/[\/]+$/,"/"),e.push(n))}var o=e.join("/"),s=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=s.shift()+(s.length>0?"?":"")+s.join("&")}return function(){return t("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},t.exports?t.exports=i():e.urljoin=i()})),mA=Object.defineProperty,pA=(t,e)=>{for(var r in e)mA(t,r,{get:e[r],enumerable:!0})};pA({},{API_VERSION:()=>FA,BN_FEE_TRANSACTION_VERSION_1:()=>BA,BN_FEE_TRANSACTION_VERSION_2:()=>$A,BN_TRANSACTION_VERSION_1:()=>PA,BN_TRANSACTION_VERSION_2:()=>OA,BaseUrl:()=>jA,HEX_STR_TRANSACTION_VERSION_1:()=>TA,HEX_STR_TRANSACTION_VERSION_2:()=>CA,IS_BROWSER:()=>gA,MASK_250:()=>DA,MASK_251:()=>LA,NetworkName:()=>zA,RPC_GOERLI_NODES:()=>ZA,RPC_MAINNET_NODES:()=>GA,StarknetChainId:()=>qA,TEXT_TO_FELT_MAX_LEN:()=>RA,TransactionHashPrefix:()=>VA,UDC:()=>HA,ZERO:()=>UA});pA({},{IS_BROWSER:()=>gA,addHexPrefix:()=>AA,arrayBufferToString:()=>yA,atobUniversal:()=>bA,btoaUniversal:()=>MA,buf2hex:()=>_A,calcByteLength:()=>xA,padLeft:()=>kA,pascalToSnake:()=>IA,removeHexPrefix:()=>EA,sanitizeBytes:()=>NA,sanitizeHex:()=>SA,stringToArrayBuffer:()=>wA,utf8ToArray:()=>vA});var gA="undefined"!=typeof window;function yA(t){return new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),"")}function vA(t){return(new TextEncoder).encode(t)}function wA(t){return vA(t)}function bA(t){return Og.decode(t)}function MA(t){return Og.encode(new Uint8Array(t))}function _A(t){return t.reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}function EA(t){return t.replace(/^0x/i,"")}function AA(t){return`0x${EA(t)}`}function kA(t,e,r="0"){return function(t,e,r,i="0"){const n=e-t.length;let o=t;if(n>0){const e=i.repeat(n);o=r?e+t:t+e}return o}(t,e,!0,r)}function xA(t,e=8){const{length:r}=t,i=r%e;return i?(r-i)/e*e+e:r}function NA(t,e=8,r="0"){return kA(t,xA(t,e),r)}function SA(t){return(t=NA(t=EA(t),2))&&(t=AA(t)),t}var IA=t=>/[a-z]/.test(t)?t.split(/(?=[A-Z])/).join("_").toUpperCase():t,RA=31,TA="0x1",CA="0x2",PA=1n,OA=2n,BA=2n**128n+PA,$A=2n**128n+OA,UA=0n,DA=2n**250n-1n,LA=2n**251n,FA=UA,jA=(t=>(t.SN_MAIN="https://alpha-mainnet.starknet.io",t.SN_GOERLI="https://alpha4.starknet.io",t))(jA||{}),zA=(t=>(t.SN_MAIN="SN_MAIN",t.SN_GOERLI="SN_GOERLI",t))(zA||{}),qA=(t=>(t.SN_MAIN="0x534e5f4d41494e",t.SN_GOERLI="0x534e5f474f45524c49",t))(qA||{}),VA=(t=>(t.DECLARE="0x6465636c617265",t.DEPLOY="0x6465706c6f79",t.DEPLOY_ACCOUNT="0x6465706c6f795f6163636f756e74",t.INVOKE="0x696e766f6b65",t.L1_HANDLER="0x6c315f68616e646c6572",t))(VA||{}),HA={ADDRESS:"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",ENTRYPOINT:"deployContract"},ZA=["https://starknet-testnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/goerli-juno/v0_5"],GA=["https://starknet-mainnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/mainnet-juno/v0_5"];pA({},{BlockStatus:()=>ik,BlockTag:()=>nk,EntryPointType:()=>YA,Litteral:()=>WA,RPC:()=>ok,SIMULATION_FLAG:()=>KA,Sequencer:()=>gk,TransactionExecutionStatus:()=>rk,TransactionFinalityStatus:()=>ek,TransactionStatus:()=>tk,TransactionType:()=>XA,Uint:()=>QA,ValidateType:()=>JA});var KA=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_EXECUTE="SKIP_EXECUTE",t))(KA||{}),JA=(t=>(t.DEPLOY="DEPLOY",t.CALL="CALL",t.INVOKE="INVOKE",t))(JA||{}),QA=(t=>(t.u8="core::integer::u8",t.u16="core::integer::u16",t.u32="core::integer::u32",t.u64="core::integer::u64",t.u128="core::integer::u128",t.u256="core::integer::u256",t))(QA||{}),WA=(t=>(t.ClassHash="core::starknet::class_hash::ClassHash",t.ContractAddress="core::starknet::contract_address::ContractAddress",t))(WA||{}),YA=(t=>(t.EXTERNAL="EXTERNAL",t.L1_HANDLER="L1_HANDLER",t.CONSTRUCTOR="CONSTRUCTOR",t))(YA||{}),XA=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE_FUNCTION",t))(XA||{}),tk=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.REJECTED="REJECTED",t.REVERTED="REVERTED",t))(tk||{}),ek=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(ek||{}),rk=(t=>(t.REJECTED="REJECTED",t.REVERTED="REVERTED",t.SUCCEEDED="SUCCEEDED",t))(rk||{}),ik=(t=>(t.PENDING="PENDING",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.REJECTED="REJECTED",t))(ik||{}),nk=(t=>(t.pending="pending",t.latest="latest",t))(nk||{}),ok={};pA(ok,{EBlockTag:()=>mk,EDataAvailabilityMode:()=>pk,ESimulationFlag:()=>lk,ETransactionExecutionStatus:()=>dk,ETransactionFinalityStatus:()=>fk,ETransactionStatus:()=>ck,ETransactionType:()=>uk,Errors:()=>ak,JRPC:()=>sk,SPEC:()=>hk});var sk={},ak={},hk={},uk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE",t.L1_HANDLER="L1_HANDLER",t))(uk||{}),lk=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_FEE_CHARGE="SKIP_FEE_CHARGE",t))(lk||{}),ck=(t=>(t.RECEIVED="RECEIVED",t.REJECTED="REJECTED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(ck||{}),fk=(t=>(t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(fk||{}),dk=(t=>(t.SUCCEEDED="SUCCEEDED",t.REVERTED="REVERTED",t))(dk||{}),mk=(t=>(t.LATEST="latest",t.PENDING="pending",t))(mk||{}),pk=(t=>(t.L1="L1",t.L2="L2",t))(pk||{}),gk={};function yk(t,e){if(!t)throw new Error(e||"Assertion failure")}function vk(t){return/^0x[0-9a-f]*$/i.test(t)}function wk(t){return BigInt(t)}function bk(t){return"bigint"==typeof t}function Mk(t){return AA(wk(t).toString(16))}pA({},{assertInRange:()=>xk,bigNumberishArrayToDecimalStringArray:()=>Nk,bigNumberishArrayToHexadecimalStringArray:()=>Sk,cleanHex:()=>kk,getDecimalString:()=>Rk,getHexString:()=>Tk,getHexStringArray:()=>Ck,hexToBytes:()=>Ok,hexToDecimalString:()=>Ak,isBigInt:()=>bk,isHex:()=>vk,isStringWholeNumber:()=>Ik,toBigInt:()=>wk,toCairoBool:()=>Pk,toHex:()=>Mk,toHexString:()=>_k,toStorageKey:()=>Ek});var _k=Mk;function Ek(t){return AA(wk(t).toString(16).padStart(64,"0"))}function Ak(t){return BigInt(AA(t)).toString(10)}var kk=t=>t.toLowerCase().replace(/^(0x)0+/,"$1");function xk(t,e,r,i=""){const n=""===i?"invalid length":`invalid ${i} length`,o=BigInt(t),s=BigInt(e),a=BigInt(r);yk(o>=s&&o<=a,`Message not signable, ${n}.`)}function Nk(t){return t.map((t=>wk(t).toString(10)))}function Sk(t){return t.map((t=>Mk(t)))}var Ik=t=>/^\d+$/.test(t);function Rk(t){if(vk(t))return Ak(t);if(Ik(t))return t;throw new Error(`${t} need to be hex-string or whole-number-string`)}function Tk(t){if(vk(t))return t;if(Ik(t))return _k(t);throw new Error(`${t} need to be hex-string or whole-number-string`)}function Ck(t){return t.map((t=>Tk(t)))}var Pk=t=>(+t).toString();function Ok(t){if(!vk(t))throw new Error(`${t} need to be a hex-string`);let e=EA(t);return e.length%2!=0&&(e=`0${e}`),qg(e)}function Bk(t){const e=EA(Mk(BigInt(t))),r=e.length%2==0?e:`0${e}`;return AA(nw(Ok(AA(r))).toString(16))}function $k(t){const e=BigInt(function(t){return AA(nw(vA(t)).toString(16))}(t));return e&DA}function Uk(t){return Mk($k(t))}function Dk(t){return vk(t)?t:Ik(t)?_k(t):Uk(t)}pA({},{getSelector:()=>Dk,getSelectorFromName:()=>Uk,keccakBn:()=>Bk,starknetKeccak:()=>$k});function Lk(t){return/^[\x00-\x7F]*$/.test(t)}function Fk(t){return t.length<=RA}function jk(t){return/^[0-9]*$/i.test(t)}function zk(t){return"string"==typeof t&&!vk(t)&&!Ik(t)}pA({},{decodeShortString:()=>Gk,encodeShortString:()=>Zk,isASCII:()=>Lk,isDecimalString:()=>jk,isLongText:()=>Vk,isShortString:()=>Fk,isShortText:()=>qk,isText:()=>zk,splitLongString:()=>Hk});var qk=t=>zk(t)&&Fk(t),Vk=t=>zk(t)&&!Fk(t);function Hk(t){const e=RegExp(`[^]{1,${RA}}`,"g");return t.match(e)||[]}function Zk(t){if(!Lk(t))throw new Error(`${t} is not an ASCII string`);if(!Fk(t))throw new Error(`${t} is too long`);return AA(t.replace(/./g,(t=>t.charCodeAt(0).toString(16))))}function Gk(t){if(!Lk(t))throw new Error(`${t} is not an ASCII string`);if(vk(t))return EA(t).replace(/.{2}/g,(t=>String.fromCharCode(parseInt(t,16))));if(jk(t))return Gk("0X".concat(BigInt(t).toString(16)));throw new Error(`${t} is not Hex or decimal`)}var Kk={};pA(Kk,{felt:()=>Mx,getAbiContractVersion:()=>vx,getArrayType:()=>gx,isCairo1Abi:()=>yx,isCairo1Type:()=>px,isLen:()=>tx,isTypeArray:()=>rx,isTypeBool:()=>fx,isTypeContractAddress:()=>dx,isTypeEnum:()=>sx,isTypeEthAddress:()=>mx,isTypeFelt:()=>ex,isTypeLitteral:()=>lx,isTypeNamedTuple:()=>nx,isTypeOption:()=>ax,isTypeResult:()=>hx,isTypeStruct:()=>ox,isTypeTuple:()=>ix,isTypeUint:()=>ux,isTypeUint256:()=>cx,tuple:()=>bx,uint256:()=>wx});pA({},{UINT_128_MAX:()=>Jk,UINT_256_MAX:()=>Qk,bnToUint256:()=>Xk,isUint256:()=>Yk,uint256ToBN:()=>Wk});var Jk=(1n<<128n)-1n,Qk=(1n<<256n)-1n;function Wk(t){return(wk(t.high)<<128n)+wk(t.low)}function Yk(t){return wk(t)<=Qk}function Xk(t){const e=wk(t);if(!Yk(e))throw new Error("Number is too large");return{low:AA((e&Jk).toString(16)),high:AA((e>>128n).toString(16))}}var tx=t=>/_len$/.test(t),ex=t=>"felt"===t||"core::felt252"===t,rx=t=>/\*/.test(t)||t.startsWith("core::array::Array::")||t.startsWith("core::array::Span::"),ix=t=>/^\(.*\)$/i.test(t),nx=t=>/\(.*\)/i.test(t)&&t.includes(":"),ox=(t,e)=>t in e,sx=(t,e)=>t in e,ax=t=>t.startsWith("core::option::Option::"),hx=t=>t.startsWith("core::result::Result::"),ux=t=>Object.values(QA).includes(t),lx=t=>Object.values(WA).includes(t),cx=t=>"core::integer::u256"===t,fx=t=>"core::bool"===t,dx=t=>"core::starknet::contract_address::ContractAddress"===t,mx=t=>"core::starknet::eth_address::EthAddress"===t,px=t=>t.includes("::"),gx=t=>px(t)?t.substring(t.indexOf("<")+1,t.lastIndexOf(">")):t.replace("*","");function yx(t){const{cairo:e}=vx(t);if(void 0===e)throw Error("Unable to determine Cairo version");return"1"===e}function vx(t){if(t.find((t=>"interface"===t.type)))return{cairo:"1",compiler:"2"};const e=t.find((t=>"function"===t.type&&(t.inputs.length||t.outputs.length)));if(!e)return{cairo:void 0,compiler:void 0};const r=e.inputs.length?e.inputs:e.outputs;return px(r[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var wx=t=>{const e=BigInt(t);if(!Yk(e))throw new Error("Number is too large");return{low:(e&Jk).toString(10),high:(e>>128n).toString(10)}},bx=(...t)=>({...t});function Mx(t){if(bk(t)||"number"==typeof t&&Number.isInteger(t))return t.toString();if(zk(t)){if(!Fk(t))throw new Error(`${t} is a long string > 31 chars, felt can store short strings, split it to array of short strings`);const e=Zk(t);return BigInt(e).toString()}if("string"==typeof t&&vk(t))return BigInt(t).toString();if("string"==typeof t&&Ik(t))return t;if("boolean"==typeof t)return""+ +t;throw new Error(`${t} can't be computed by felt()`)}var _x=class{constructor(t){const e=Object.values(t);if(0===e.length)throw new Error("This Enum must have a least 1 variant");if(1!==e.filter((t=>void 0!==t)).length)throw new Error("This Enum must have exactly one active variant");this.variant=t}unwrap(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));if(void 0!==t)return t[1]}activeVariant(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));return void 0===t?"":t[0]}},Ex=(t=>(t[t.Some=0]="Some",t[t.None=1]="None",t))(Ex||{}),Ax=class{constructor(t,e){if(!(t in Ex))throw new Error("Wrong variant : should be CairoOptionVariant.Some or .None.");if(0===t){if(void 0===e)throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=e,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){if(!this.None)return this.Some}isSome(){return!(void 0===this.Some)}isNone(){return!0===this.None}},kx=(t=>(t[t.Ok=0]="Ok",t[t.Err=1]="Err",t))(kx||{}),xx=class{constructor(t,e){if(!(t in kx))throw new Error("Wrong variant : should be CairoResultVariant.Ok or .Err.");0===t?(this.Ok=e,this.Err=void 0):(this.Ok=void 0,this.Err=e)}unwrap(){if(void 0!==this.Ok)return this.Ok;if(void 0!==this.Err)return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!(void 0===this.Ok)}isErr(){return!(void 0===this.Err)}},Nx=(t,e,r)=>{if(!bk(t[r]))throw new Error(`Data and formatter mismatch on ${r}:${e[r]}, expected response data ${r}:${t[r]} to be BN instead it is ${typeof t[r]}`)},Sx=(t,e,r)=>{throw new Error(`Unhandled formatter type on ${r}:${e[r]} for data ${r}:${t[r]}`)};function Ix(t,e,r){return Object.entries(t).reduce(((i,[n,o])=>{const s=r??e[n];if(!(n in e)&&!r)return i[n]=o,i;if("string"===s){if(Array.isArray(t[n])){const e=Ix(t[n],t[n].map((t=>s)));return i[n]=Object.values(e).join(""),i}return Nx(t,e,n),i[n]=Gk(o),i}if("number"===s)return Nx(t,e,n),i[n]=Number(o),i;if("function"==typeof s)return i[n]=s(o),i;if(Array.isArray(s)){const e=Ix(t[n],s,s[0]);return i[n]=Object.values(e),i}return"object"==typeof s?(i[n]=Ix(t[n],s),i):(Sx(t,e,n),i)}),{})}function Rx(t){const e=function(t){return t.find((t=>"interface"===t.type))?2:yx(t)?1:0}(t);if(0===e||1===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.reduce(((t,e)=>tx(e.name)?t:t+1),0)}getMethod(t){return this.abi.find((e=>e.name===t))}getLegacyFormat(){return this.abi}}(t);if(2===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.length}getMethod(t){return this.abi.find((t=>"interface"===t.type)).items.find((e=>e.name===t))}getLegacyFormat(){return this.abi.flatMap((t=>"interface"===t.type?t.items:t))}}(t);throw Error(`Unsupported ABI version ${e}`)}function Tx(t,e,r){return"constructor"===t&&!r&&!e.length}function Cx(t){if(!t.includes("("))return{subTuple:[],result:t};const e=[];let r="",i=0;for(;i<t.length;){if("("===t[i]){let n=1;const o=i;for(i++;n;)")"===t[i]&&n--,"("===t[i]&&n++,i++;e.push(t.substring(o,i)),r+=" ",i--}else r+=t[i];i++}return{subTuple:e,result:r}}function Px(t){return px(t)?function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Cx(e);return i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t))}(t):function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Cx(e);let n=i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t));return nx(t)&&(n=n.reduce(((t,e)=>t.concat(function(t){const e=t.substring(0,t.indexOf(":"));return{name:e,type:t.substring(e.length+":".length)}}(e))),[])),n}(t)}function Ox(t,e,r,i){const n=(t,e)=>{if(rx(e))return function(t,e){const r=gx(e);if("string"==typeof t)return t;return t.map((t=>n(t,r)))}(t,e);if(sx(e,i)){const r=i[e];return s(t,r)}if(ix(e))return function(t,e){const r=Px(e).reduce(((e,r,i)=>{const o=Object.keys(t),s=r=>Object.defineProperty(e,i.toString(),{enumerable:!0,value:r??t[o[i]]}),a=r?.type?r.type:r;return s(n(t[o[i]],a)),e}),{});return r}(t,e);if(mx(e))return t;if(cx(e)){const r=t;if("object"!=typeof r)return r;if(!("low"in r)||!("high"in r))throw function(t){return Error(`Your object includes the property : ${t}, containing an Uint256 object without the 'low' and 'high' keys.`)}(e);return{low:r.low,high:r.high}}if(ox(e,r)){const i=r[e].members;return o(t,i)}return t},o=(t,e)=>e.reduce(((e,r)=>{if("undefined"===t[r.name]&&(px(r.type)||!tx(r.name)))throw Error(`Your object needs a property with key : ${r.name} .`);var i;return i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i??t[r.name]}),e}),{});const s=(t,e)=>{if(hx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(",")),o=e.name.substring(e.name.indexOf(",")+1,e.name.lastIndexOf(">"));return r.isOk()?new xx(0,n(t.unwrap(),i)):new xx(1,n(t.unwrap(),o))}if(ax(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(">"));return r.isSome()?new Ax(0,n(r.unwrap(),i)):new Ax(1,{})}const r=t,i=Object.entries(r.variant).map((t=>{if(void 0===t[1])return t;const i=e.type.substring(e.type.lastIndexOf("<")+1,e.type.lastIndexOf(">"));return"()"===i?t:[t[0],n(r.unwrap(),i)]}));return new _x(Object.fromEntries(i))};return e.reduce(((e,r)=>{return tx(r.name)&&!px(r.type)||(i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i})),e;var i}),{})}function Bx(t,e){if(!0===cx(t)){const t=wx(e);return[Mx(t.low),Mx(t.high)]}return Mx(e)}function $x(t){if("object"==typeof t){const{low:e,high:r}=t;return[Mx(e),Mx(r)]}const e=wx(t);return[Mx(e.low),Mx(e.high)]}function Ux(t,e,r,i){if(void 0===t)throw Error(`Missing parameter for type ${e}`);if(Array.isArray(t)){const n=[];n.push(Mx(t.length));const o=gx(e);return t.reduce(((t,e)=>t.concat(Ux(e,o,r,i))),n)}if(r[e]&&r[e].members.length){if(cx(e))return $x(t);if("core::starknet::eth_address::EthAddress"===e)return Bx(e,t);const{members:n}=r[e],o=t;return n.reduce(((t,e)=>t.concat(Ux(o[e.name],e.type,r,i))),[])}if(ix(e)){const n=function(t,e){const r=Px(e),i=Object.values(t);if(i.length!==r.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.\n provided: ${i} \n expected: ${r}`);return r.map(((t,e)=>({element:i[e],type:t.type??t})))}(t,e);return n.reduce(((t,e)=>{const n=Ux(e.element,e.type,r,i);return t.concat(n)}),[])}if(cx(e))return $x(t);if(sx(e,i)){const{variants:n}=i[e];if(ax(e)){const e=t;if(e.isSome()){const t=n.find((t=>"Some"===t.name));if(void 0===t)throw Error("Error in abi : Option has no 'Some' variant.");const o=t.type;if("()"===o)return(0).toString();const s=Ux(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}return 1..toString()}if(hx(e)){const e=t;if(e.isOk()){const t=n.find((t=>"Ok"===t.name));if(void 0===t)throw Error("Error in abi : Result has no 'Ok' variant.");const o=t.type;if("()"===o)return(0).toString();const s=Ux(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}const o=n.find((t=>"Err"===t.name));if(void 0===o)throw Error("Error in abi : Result has no 'Err' variant.");const s=o.type;if("()"===s)return 1..toString();const a=Ux(e.unwrap(),s,r,i);return Array.isArray(a)?[1..toString(),...a]:[1..toString(),a]}const o=t,s=o.activeVariant(),a=n.find((t=>t.name===s));if(void 0===a)throw Error(`Not find in abi : Enum has no '${s}' variant.`);const h=a.type,u=n.findIndex((t=>t.name===s));if("()"===h)return u.toString();const l=Ux(o.unwrap(),h,r,i);return Array.isArray(l)?[u.toString(),...l]:[u.toString(),l]}if("object"==typeof t)throw Error(`Parameter ${t} do not align with abi parameter ${e}`);return Bx(e,t)}function Dx(t,e){let r;switch(!0){case fx(t):return r=e.next().value,Boolean(BigInt(r));case cx(t):return Wk({low:e.next().value,high:e.next().value});default:return r=e.next().value,BigInt(r)}}function Lx(t,e,r,i){if("()"===e.type)return{};if(cx(e.type)){return Wk({low:t.next().value,high:t.next().value})}if(rx(e.type)){const n=[],o={name:"",type:gx(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Lx(t,o,r,i));return n}if(r&&e.type in r&&r[e.type])return"core::starknet::eth_address::EthAddress"===e.type?Dx(e.type,t):r[e.type].members.reduce(((e,n)=>(e[n.name]=Lx(t,n,r,i),e)),{});if(i&&e.type in i&&i[e.type]){const n=Number(t.next().value),o=i[e.type].variants.reduce(((e,o,s)=>s===n?(e[o.name]=Lx(t,{name:"",type:o.type},r,i),e):(e[o.name]=void 0,e)),{});if(e.type.startsWith("core::option::Option")){const t=0===n?o.Some:void 0;return new Ax(n,t)}if(e.type.startsWith("core::result::Result")){let t;return t=0===n?o.Ok:o.Err,new xx(n,t)}return new _x(o)}if(ix(e.type)){return Px(e.type).reduce(((e,n,o)=>{const s=n?.name?n.name:o,a={name:s,type:n?.type?n.type:n};return e[s]=Lx(t,a,r,i),e}),{})}if(rx(e.type)){const n=[],o={name:"",type:gx(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Lx(t,o,r,i));return n}return Dx(e.type,t)}function Fx(t,e,r,i,n){const{name:o,type:s}=e;let a;switch(!0){case tx(o):return a=t.next().value,BigInt(a);case r&&s in r||ix(s):case i&&sx(s,i):return Lx(t,e,r,i);case rx(s):if(px(s))return Lx(t,e,r,i);const h=[];if(n&&n[`${o}_len`]){const s=n[`${o}_len`];for(;h.length<s;)h.push(Lx(t,{name:o,type:e.type.replace("*","")},r,i))}return h;default:return Dx(s,t)}}var jx=(t,e)=>{if(yk("string"==typeof t||"number"==typeof t||"bigint"==typeof t,`Validate: arg ${e.name} should be a felt typed as (String, Number or BigInt)`),"string"==typeof t&&!vk(t))return;const r=BigInt(t.toString(10));yk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)},zx=(t,e)=>{"number"==typeof t&&yk(t<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is to large to be typed as Number use (BigInt or String)"),yk("string"==typeof t||"number"==typeof t||"bigint"==typeof t||"object"==typeof t&&"low"in t&&"high"in t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (String, Number or BigInt), but is ${typeof t} ${t}.`);const r="object"==typeof t?Wk(t):wk(t);switch(e.type){case"core::integer::u8":yk(r>=0n&&r<=255n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0 - 255]`);break;case"core::integer::u16":yk(r>=0n&&r<=65535n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 65535]`);break;case"core::integer::u32":yk(r>=0n&&r<=4294967295n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 4294967295]`);break;case"core::integer::u64":yk(r>=0n&&r<=2n**64n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^64-1]`);break;case"core::integer::u128":yk(r>=0n&&r<=2n**128n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^128-1]`);break;case"core::integer::u256":yk(r>=0n&&r<=2n**256n-1n,`Validate: arg ${e.name} is ${e.type} 0 - 2^256-1`);break;case"core::starknet::class_hash::ClassHash":case"core::starknet::contract_address::ContractAddress":yk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)}},qx=(t,e)=>{yk("boolean"==typeof t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (Boolean)`)},Vx=(t,e,r)=>{if("core::integer::u256"!==e.type)if("core::starknet::eth_address::EthAddress"!==e.type)yk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type struct (${e.type}), and should be defined as js object (not array)`),r[e.type].members.forEach((({name:r})=>{yk(Object.keys(t).includes(r),`Validate: arg ${e.name} should have a property ${r}`)}));else{yk("object"!=typeof t,`EthAdress type is waiting a BigNumberish. Got ${t}`);const r=BigInt(t.toString(10));yk(r>=0n&&r<=2n**160n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^160-1]`)}else zx(t,e)},Hx=(t,e)=>{yk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type Enum (${e.type}), and should be defined as js object (not array)`);const r=Object.getOwnPropertyNames(Object.getPrototypeOf(t)),i=[...Object.getOwnPropertyNames(t),...r];if(!(ax(e.type)&&i.includes("isSome")&&i.includes("isNone")||hx(e.type)&&i.includes("isOk")&&i.includes("isErr")||i.includes("variant")&&i.includes("activeVariant")))throw new Error(`Validate Enum: argument ${e.name}, type ${e.type}, value received ${t}, is not an Enum.`)},Zx=(t,e)=>{yk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} should be a tuple (defined as object)`)},Gx=(t,e,r,i)=>{const n=gx(e.type);if(!ex(n)||!Vk(t))switch(yk(Array.isArray(t),`Validate: arg ${e.name} should be an Array`),!0){case ex(n):t.forEach((t=>jx(t,e)));break;case ix(n):t.forEach((t=>Zx(t,{name:e.name,type:n})));break;case rx(n):t.forEach((t=>Gx(t,{name:"",type:n},r,i)));break;case ox(n,r):t.forEach((t=>Vx(t,{name:e.name,type:n},r)));break;case sx(n,i):t.forEach((t=>Hx(t,{name:e.name,type:n})));break;case ux(n)||lx(n):t.forEach((t=>zx(t,e)));break;case fx(n):t.forEach((t=>qx(t,e)));break;default:throw new Error(`Validate Unhandled: argument ${e.name}, type ${e.type}, value ${t}`)}};function Kx(t,e,r,i){t.inputs.reduce(((t,n)=>{const o=e[t];switch(!0){case tx(n.name):return t;case ex(n.type):jx(o,n);break;case ux(n.type)||lx(n.type):zx(o,n);break;case fx(n.type):qx(o,n);break;case rx(n.type):Gx(o,n,r,i);break;case ox(n.type,r):Vx(o,n,r);break;case sx(n.type,i):Hx(o,n);break;case ix(n.type):Zx(o,n);break;default:throw new Error(`Validate Unhandled: argument ${n.name}, type ${n.type}, value ${o}`)}return t+1}),0)}var Jx=class{constructor(t){this.structs=Jx.getAbiStruct(t),this.enums=Jx.getAbiEnum(t),this.parser=Rx(t),this.abi=this.parser.getLegacyFormat()}validate(t,e,r=[]){if("DEPLOY"!==t){yk(this.abi.filter((e=>{if("function"!==e.type)return!1;const r="view"===e.stateMutability||"view"===e.state_mutability;return"INVOKE"===t?!r:r})).map((t=>t.name)).includes(e),("INVOKE"===t?"invocable":"viewable")+" method not found in abi")}const i=this.abi.find((r=>"DEPLOY"===t?r.name===e&&"constructor"===r.type:r.name===e&&"function"===r.type));if(Tx(e,r,i))return;const n=this.parser.methodInputsLength(i);if(r.length!==n)throw Error(`Invalid number of arguments, expected ${n} arguments, but got ${r.length}`);Kx(i,r,this.structs,this.enums)}compile(t,e){const r=this.abi.find((e=>e.name===t));if(Tx(t,e,r))return[];let i;if(Array.isArray(e))i=e;else{const t=Ox(e,r.inputs,this.structs,this.enums);i=Object.values(t),Kx(r,i,this.structs,this.enums)}const n=i[Symbol.iterator](),o=r.inputs.reduce(((t,e)=>tx(e.name)&&!px(e.type)?t:t.concat(function(t,e,r,i){const{name:n,type:o}=e;let{value:s}=t.next();switch(!0){case rx(o):if(!Array.isArray(s)&&!zk(s))throw Error(`ABI expected parameter ${n} to be array or long string, got ${s}`);return"string"==typeof s&&(s=Hk(s)),Ux(s,e.type,r,i);case"core::starknet::eth_address::EthAddress"===o:return Bx(o,s);case ox(o,r)||ix(o)||cx(o):case sx(o,i):return Ux(s,o,r,i);default:return Bx(o,s)}}(n,e,this.structs,this.enums))),[]);return Object.defineProperty(o,"__compiled__",{enumerable:!1,writable:!1,value:!0}),o}static compile(t){const e=t=>{const e=(t,r=".")=>{const i=Array.isArray(t)?[t.length.toString(),...t]:t;return Object.entries(i).flatMap((([t,n])=>{let o=n;Vk(o)&&(o=Hk(o)),"entrypoint"===t&&(o=Uk(o));const s=Array.isArray(i)&&"0"===t?"$$len":t;if(bk(o))return[[`${r}${s}`,Mx(o)]];if(Object(o)===o){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(o)),i=[...Object.getOwnPropertyNames(o),...t];if(i.includes("isSome")&&i.includes("isNone")){const t=o,i=t.isSome()?0:1;return t.isSome()?e({0:i,1:t.unwrap()},`${r}${s}.`):[[`${r}${s}`,Mx(i)]]}if(i.includes("isOk")&&i.includes("isErr")){const t=o,i=t.isOk()?0:1;return e({0:i,1:t.unwrap()},`${r}${s}.`)}if(i.includes("variant")&&i.includes("activeVariant")){const t=o,i=t.activeVariant(),n=Object.keys(t.variant).findIndex((t=>t===i));return"object"==typeof t.unwrap()&&0===Object.keys(t.unwrap()).length?[[`${r}${s}`,Mx(n)]]:e({0:n,1:t.unwrap()},`${r}${s}.`)}return e(o,`${r}${s}.`)}return[[`${r}${s}`,Mx(o)]]}))};return Object.fromEntries(e(t))};let r;if(Array.isArray(t)){const i=e({...t});r=Object.values(i)}else{const i=e(t);r=Object.values(i)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,e){const{outputs:r}=this.abi.find((e=>e.name===t)),i=e.flat()[Symbol.iterator](),n=r.flat().reduce(((t,e,r)=>{const n=e.name??r;return t[n]=Fx(i,e,this.structs,this.enums,t),t[n]&&t[`${n}_len`]&&delete t[`${n}_len`],t}),{});return 1===Object.keys(n).length&&0 in n?n[0]:n}format(t,e,r){return Ix(this.parse(t,e),r)}static getAbiStruct(t){return t.filter((t=>"struct"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{})}static getAbiEnum(t){const e=t.filter((t=>"enum"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{});return delete e["core::bool"],e}static toCalldata(t=[]){return Jx.compile(t)}static toHex(t=[]){return Jx.compile(t).map((t=>Mk(t)))}};pA({},{calculateContractAddressFromHash:()=>fN,calculateDeclareTransactionHash:()=>uN,calculateDeployAccountTransactionHash:()=>lN,calculateDeployTransactionHash:()=>hN,calculateTransactionHash:()=>cN,calculateTransactionHashCommon:()=>aN,computeCompiledClassHash:()=>vN,computeContractClassHash:()=>MN,computeHashOnElements:()=>sN,computeLegacyContractClassHash:()=>gN,computeSierraContractClassHash:()=>bN,default:()=>pN,feeTransactionVersion:()=>iN,feeTransactionVersion_2:()=>nN,formatSpaces:()=>mN,getSelector:()=>Dk,getSelectorFromName:()=>Uk,getVersionsByType:()=>oN,keccakBn:()=>Bk,poseidon:()=>sv,starknetKeccak:()=>$k,transactionVersion:()=>eN,transactionVersion_2:()=>rN});pA({},{starkCurve:()=>dw,weierstrass:()=>Mv});pA({},{parse:()=>Wx,parseAlwaysAsBig:()=>Yx,stringify:()=>Xx,stringifyAlwaysAsBig:()=>tN});var Qx=t=>{if(!mw(t))return parseFloat(t);const e=parseInt(t,10);return Number.isSafeInteger(e)?e:BigInt(t)},Wx=t=>Uw(String(t),void 0,Qx),Yx=t=>Uw(String(t),void 0,Rw),Xx=(t,e,r,i)=>yb(t,e,r,i),tN=Xx,eN=PA,rN=OA,iN=BA,nN=$A;function oN(t){return"fee"===t?{v1:iN,v2:nN}:{v1:eN,v2:rN}}function sN(t){return[...t,t.length].reduce(((t,e)=>rw(wk(t),wk(e))),0).toString()}function aN(t,e,r,i,n,o,s,a=[]){const h=sN(n);return sN([t,e,r,i,h,o,s,...a])}function hN(t,e,r,i,n="constructor"){return aN("0x6465706c6f79",r,t,Uk(n),e,0,i)}function uN(t,e,r,i,n,o,s){return aN("0x6465636c617265",r,e,0,[t],i,n,[o,...s?[s]:[]])}function lN(t,e,r,i,n,o,s,a){return aN("0x6465706c6f795f6163636f756e74",n,t,0,[e,i,...r],o,s,[a])}function cN(t,e,r,i,n,o){return aN("0x696e766f6b65",e,t,0,r,i,n,[o])}function fN(t,e,r,i){const n=sN(Jx.compile(r));return sN([Mx("0x535441524b4e45545f434f4e54524143545f41444452455353"),i,t,e,n])}function dN(t,e){return"attributes"===t||"accessible_scopes"===t?Array.isArray(e)&&0===e.length?void 0:e:"debug_info"===t?null:null===e?void 0:e}function mN(t){let e=!1;const r=[];for(const i of t)'"'===i&&!1==(r.length>0&&"\\"===r.slice(-1)[0])&&(e=!e),e?r.push(i):r.push(":"===i?": ":","===i?", ":i);return r.join("")}function pN(t){const{abi:e,program:r}=t,i=mN(Xx({abi:e,program:r},dN));return AA(nw(vA(i)).toString(16))}function gN(t){const e="string"==typeof t?Wx(t):t,r=Mk(FA),i=sN(e.entry_points_by_type.EXTERNAL.flatMap((t=>[t.selector,t.offset]))),n=sN(e.entry_points_by_type.L1_HANDLER.flatMap((t=>[t.selector,t.offset]))),o=sN(e.entry_points_by_type.CONSTRUCTOR.flatMap((t=>[t.selector,t.offset]))),s=sN(e.program.builtins.map((t=>Zk(t)))),a=pN(e),h=sN(e.program.data);return sN([r,i,n,o,s,a,h])}function yN(t){const e=t.flatMap((t=>{return[BigInt(t.selector),BigInt(t.offset),(e=t.builtins,fw(e.flatMap((t=>BigInt(Zk(t))))))];var e}));return fw(e)}function vN(t){const e=BigInt(Zk("COMPILED_CLASS_V1")),r=yN(t.entry_points_by_type.EXTERNAL),i=yN(t.entry_points_by_type.L1_HANDLER),n=yN(t.entry_points_by_type.CONSTRUCTOR),o=fw(t.bytecode.map((t=>BigInt(t))));return Mk(fw([e,r,i,n,o]))}function wN(t){return fw(t.flatMap((t=>[BigInt(t.selector),BigInt(t.function_idx)])))}function bN(t){const e=BigInt(Zk("CONTRACT_CLASS_V0.1.0")),r=wN(t.entry_points_by_type.EXTERNAL),i=wN(t.entry_points_by_type.L1_HANDLER),n=wN(t.entry_points_by_type.CONSTRUCTOR),o=function(t){const e=mN(Xx(t.abi,null));return BigInt(AA(nw(vA(e)).toString(16)))}(t),s=fw(t.sierra_program.map((t=>BigInt(t))));return Mk(fw([e,r,i,n,o,s]))}function MN(t){const e="string"==typeof t?Wx(t):t;return"sierra_program"in e?bN(e):gN(e)}function _N(t){const e="string"==typeof t?t:Xx(t);return MA(FE(e))}function EN(t){if(Array.isArray(t))return t;const e=yA(jE(bA(t)));return Wx(e)}function AN(){return Kv(Vv.randomPrivateKey())}function kN(t){return AA(t).toLowerCase()}function xN(t){if(!t)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(t))return t.map((t=>Mk(t)));try{const{r:e,s:r}=t;return[Mk(e),Mk(r)]}catch(t){throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function NN(t){return Nk(xN(t))}function SN(t){return Sk(xN(t))}function IN(t,e=.5){const r=Math.round(100*(1+e));return wk(t)*wk(r)/100n}function RN(t){return"sierra_program"in("string"==typeof t?Wx(t):t)}pA({},{compressProgram:()=>_N,decompressProgram:()=>EN,estimatedFeeToMaxFee:()=>IN,formatSignature:()=>xN,makeAddress:()=>kN,randomAddress:()=>AN,signatureToDecimalArray:()=>NN,signatureToHexArray:()=>SN});var TN="undefined"!=typeof window&&window.fetch||"undefined"!=typeof global&&global.fetch||fA;function CN(t){return new Promise((e=>{setTimeout(e,t)}))}function PN(t){const e={...t};return delete e.sierra_program_debug_info,e.abi=mN(Xx(t.abi)),e.sierra_program=mN(Xx(t.sierra_program)),e.sierra_program=_N(e.sierra_program),e}function ON(t){const e="string"==typeof t?Wx(t):t;return RN(t)?PN(e):{...e,..."program"in e&&{program:_N(e.program)}}}pA({},{createSierraContractClass:()=>PN,parseContract:()=>ON,wait:()=>CN});var BN=class extends Error{constructor(t){super(t),Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),function(t,e){const{setPrototypeOf:r}=Object;r?r(t,e):t.__proto__=e}(this,new.target.prototype),function(t,e=t.constructor){const{captureStackTrace:r}=Error;r&&r(t,e)}(this)}},$N=class extends BN{},UN=class extends $N{constructor(t,e){super(t),this.errorCode=e}},DN=class extends $N{constructor(t,e){super(t),this.errorCode=e}};pA({},{StarknetIdContract:()=>KN,getStarknetIdContract:()=>JN,useDecoded:()=>ZN,useEncoded:()=>GN});var LN="abcdefghijklmnopqrstuvwxyz0123456789-",FN=BigInt(LN.length+1),jN="这来",zN=BigInt(LN.length),qN=BigInt(jN.length),VN=BigInt(jN.length+1);function HN(t){let e=0;for(;t.endsWith(jN[jN.length-1]);)t=t.substring(0,t.length-1),e+=1;return[t,e]}function ZN(t){let e="";return t.forEach((t=>{for(;t!==UA;){const r=t%FN;if(t/=FN,r===BigInt(LN.length)){const r=t/VN;if(r===UA){const i=t%VN;t=r,e+=i===UA?LN[0]:jN[Number(i)-1]}else{e+=jN[Number(t%qN)],t/=qN}}else e+=LN[Number(r)]}const[r,i]=HN(e);i&&(e=r+(i%2==0?jN[jN.length-1].repeat(i/2-1)+jN[0]+LN[1]:jN[jN.length-1].repeat((i-1)/2+1))),e+="."})),e?e.concat("stark"):e}function GN(t){let e=BigInt(0),r=BigInt(1);if(t.endsWith(jN[0]+LN[1])){const[e,r]=HN(t.substring(0,t.length-2));t=e+jN[jN.length-1].repeat(2*(r+1))}else{const[e,r]=HN(t);r&&(t=e+jN[jN.length-1].repeat(1+2*(r-1)))}for(let i=0;i<t.length;i+=1){const n=t[i],o=LN.indexOf(n),s=BigInt(LN.indexOf(n));if(-1!==o)i===t.length-1&&t[i]===LN[0]?(e+=r*zN,r*=FN,r*=FN):(e+=r*s,r*=FN);else if(-1!==jN.indexOf(n)){e+=r*zN,r*=FN;const o=(i===t.length-1?1:0)+jN.indexOf(n);e+=r*BigInt(o),r*=qN}}return e}var KN=(t=>(t.MAINNET="0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",t.TESTNET="0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce",t))(KN||{});function JN(t){switch(t){case"0x534e5f4d41494e":return"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678";case"0x534e5f474f45524c49":return"0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce";default:throw new Error("Starknet.id is not yet deployed on this network")}}async function QN(t,e,r){const i=await t.getChainId(),n=r??JN(i);try{const r=await t.callContract({contractAddress:n,entrypoint:"address_to_domain",calldata:Jx.compile({address:e})}),i=ZN(r.result.map((t=>BigInt(t))).slice(1));if(!i)throw Error("Starkname not found");return i}catch(t){if(t instanceof Error&&"Starkname not found"===t.message)throw t;throw Error("Could not get stark name")}}async function WN(t,e,r){const i=await t.getChainId(),n=r??JN(i);try{return(await t.callContract({contractAddress:n,entrypoint:"domain_to_address",calldata:Jx.compile({domain:[GN(e.replace(".stark","")).toString(10)]})})).result[0]}catch{throw Error("Could not get address from stark name")}}var YN=Object.values(nk),XN=class{constructor(t){this.hash=null,this.number=null,this.tag=null,this.valueOf=()=>this.number,this.toString=()=>this.hash,this.setIdentifier(t)}setIdentifier(t){"string"==typeof t&&vk(t)?this.hash=t:"bigint"==typeof t?this.hash=Mk(t):"number"==typeof t?this.number=t:"string"==typeof t&&YN.includes(t)?this.tag=t:this.tag="pending"}get queryIdentifier(){return null!==this.number?`blockNumber=${this.number}`:null!==this.hash?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return null!==this.number?{block_number:this.number}:null!==this.hash?{block_hash:this.hash}:this.tag}set identifier(t){this.setIdentifier(t)}get sequencerIdentifier(){return null!==this.hash?{blockHash:this.hash}:{blockNumber:this.number??this.tag}}},tS=(t,e=!1)=>{e||console.warn("Using default public node url, please provide nodeUrl in provider options!");const r="SN_MAIN"===t?GA:ZA;return r[Math.floor(Math.random()*r.length)]},eS={"Content-Type":"application/json"},rS="pending",iS=200,nS=class{constructor(t){this.responseParser=new class{parseGetBlockResponse(t){return{timestamp:t.timestamp,block_hash:"block_hash"in t?t.block_hash:"",block_number:"block_number"in t?t.block_number:-1,new_root:"new_root"in t?t.new_root:"",parent_hash:t.parent_hash,status:"status"in t?t.status:"PENDING",transactions:t.transactions}}parseGetTransactionResponse(t){return{calldata:"calldata"in t?t.calldata:[],contract_address:"contract_address"in t?t.contract_address:"",sender_address:"sender_address"in t?t.sender_address:"",max_fee:"max_fee"in t?t.max_fee:"",nonce:"nonce"in t?t.nonce:"",signature:"signature"in t?t.signature:[],transaction_hash:t.transaction_hash,version:t.version}}parseFeeEstimateResponse(t){return{overall_fee:wk(t[0].overall_fee),gas_consumed:wk(t[0].gas_consumed),gas_price:wk(t[0].gas_price)}}parseFeeEstimateBulkResponse(t){return t.map((t=>({overall_fee:wk(t.overall_fee),gas_consumed:wk(t.gas_consumed),gas_price:wk(t.gas_price)})))}parseCallContractResponse(t){return{result:t}}parseSimulateTransactionResponse(t){return t.map((t=>({...t,suggestedMaxFee:IN(BigInt(t.fee_estimation.overall_fee))})))}parseContractClassResponse(t){return{...t,abi:"string"==typeof t.abi?JSON.parse(t.abi):t.abi}}},this.getBlockHashAndNumber=this.getBlockLatestAccepted,this.getStateUpdate=this.getBlockStateUpdate,this.traceBlockTransactions=this.getBlockTransactionsTraces,this.getTransactionCount=this.getBlockTransactionCount,this.traceTransaction=this.getTransactionTrace,this.getSimulateTransaction=this.simulateTransaction;const{nodeUrl:e,retries:r,headers:i,blockIdentifier:n,chainId:o}=t||{};Object.values(zA).includes(e)?this.nodeUrl=tS(e,t?.default):this.nodeUrl=e||tS(void 0,t?.default),this.retries=r||iS,this.headers={...eS,...i},this.blockIdentifier=n||rS,this.chainId=o}fetch(t,e,r=0){const i={id:r,jsonrpc:"2.0",method:t,...e&&{params:e}};return TN(this.nodeUrl,{method:"POST",body:Xx(i),headers:this.headers})}errorHandler(t,e,r,i){if(r){const{code:i,message:n,data:o}=r;throw new $N(`RPC: ${t} with params ${Xx(e)}\n ${i}: ${n}: ${Xx(o)}`)}if(i instanceof $N)throw i;if(i)throw Error(i.message)}async fetchEndpoint(t,e){try{const r=await this.fetch(t,e),{error:i,result:n}=await r.json();return this.errorHandler(t,e,i),n}catch(r){throw this.errorHandler(t,e,r?.response?.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.fetchEndpoint("starknet_specVersion")}async getNonceForAddress(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:r,block_id:i})}async getBlock(t=this.blockIdentifier){return this.getBlockWithTxHashes(t).then(this.responseParser.parseGetBlockResponse)}async getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}async getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}async getBlockWithTxHashes(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:e})}async getBlockWithTxs(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:e})}async getBlockStateUpdate(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:e})}async getBlockTransactionsTraces(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:e})}async getBlockTransactionCount(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:e})}async getPendingTransactions(){const{transactions:t}=await this.getBlock("pending");return Promise.all(t.map((t=>this.getTransactionByHash(t))))}async getTransaction(t){return this.getTransactionByHash(t).then(this.responseParser.parseGetTransactionResponse)}async getTransactionByHash(t){const e=Mk(t);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:e})}async getTransactionByBlockIdAndIndex(t,e){const r=new XN(t).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:r,index:e})}async getTransactionReceipt(t){const e=Mk(t);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:e})}async getTransactionTrace(t){const e=Mk(t);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:e})}async getTransactionStatus(t){const e=Mk(t);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:e})}async simulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipFeeCharge:i=!0}){const n=new XN(e).identifier,o=[];return r&&o.push(ok.ESimulationFlag.SKIP_VALIDATE),i&&o.push(ok.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:n,transactions:t.map((t=>this.buildTransaction(t))),simulation_flags:o}).then(this.responseParser.parseSimulateTransactionResponse)}async waitForTransaction(t,e){const r=Mk(t);let{retries:i}=this,n=!1,o=!1;const s=e?.retryInterval??5e3,a=e?.errorStates??[ok.ETransactionStatus.REJECTED,ok.ETransactionExecutionStatus.REVERTED],h=e?.successStates??[ok.ETransactionExecutionStatus.SUCCEEDED,ok.ETransactionStatus.ACCEPTED_ON_L2,ok.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!n;){await CN(s);try{u=await this.getTransactionStatus(r);const t=u.execution_status,e=u.finality_status;if(!e){throw new Error("waiting for transaction status")}if(h.includes(t)||h.includes(e))n=!0;else if(a.includes(t)||a.includes(e)){const r=`${t}: ${e}`,i=new Error(r);throw i.response=u,o=!0,i}}catch(t){if(t instanceof Error&&o)throw t;if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1}let l=null;for(;null===l;){try{l=await this.getTransactionReceipt(r)}catch(t){if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1,await CN(s)}return l}async getStorageAt(t,e,r=this.blockIdentifier){const i=Mk(t),n=Ek(e),o=new XN(r).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:i,key:n,block_id:o})}async getClassHashAt(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:i,contract_address:r})}async getClassByHash(t){return this.getClass(t)}async getClass(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:r,block_id:i}).then(this.responseParser.parseContractClassResponse)}async getClassAt(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:i,contract_address:r}).then(this.responseParser.parseContractClassResponse)}async getCode(t,e){throw new Error("RPC does not implement getCode function")}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClass(e,r)}if(RN(n)){if(i){return{cairo:"1",compiler:vx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async getEstimateFee(t,e,r=this.blockIdentifier){return this.getInvokeEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier){const i=new XN(r).identifier,n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier){const i=new XN(r).identifier,n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier){const i=new XN(r).identifier,n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){r&&console.warn("getEstimateFeeBulk RPC does not support skipValidate");const i=new XN(e).identifier;return this.fetchEndpoint("starknet_estimateFee",{request:t.map((t=>this.buildTransaction(t,"fee"))),block_id:i}).then(this.responseParser.parseFeeEstimateBulkResponse)}async invokeFunction(t,e){return this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:t.contractAddress,calldata:Jx.toHex(t.calldata),type:ok.ETransactionType.INVOKE,max_fee:Mk(e.maxFee||0),version:"0x1",signature:SN(t.signature),nonce:Mk(e.nonce)}})}async declareContract({contract:t,signature:e,senderAddress:r,compiledClassHash:i},n){return RN(t)?this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ok.ETransactionType.DECLARE,contract_class:{sierra_program:EN(t.sierra_program),contract_class_version:t.contract_class_version,entry_points_by_type:t.entry_points_by_type,abi:t.abi},compiled_class_hash:i||"",version:CA,max_fee:Mk(n.maxFee||0),signature:SN(e),sender_address:r,nonce:Mk(n.nonce)}}):this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ok.ETransactionType.DECLARE,contract_class:{program:t.program,entry_points_by_type:t.entry_points_by_type,abi:t.abi},version:TA,max_fee:Mk(n.maxFee||0),signature:SN(e),sender_address:r,nonce:Mk(n.nonce)}})}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:Jx.toHex(e||[]),class_hash:Mk(t),contract_address_salt:Mk(r||0),type:ok.ETransactionType.DEPLOY_ACCOUNT,max_fee:Mk(n.maxFee||0),version:Mk(n.version||0),signature:SN(i),nonce:Mk(n.nonce)}})}async callContract(t,e=this.blockIdentifier){const r=new XN(e).identifier,i=await this.fetchEndpoint("starknet_call",{request:{contract_address:t.contractAddress,entry_point_selector:Uk(t.entrypoint),calldata:Jx.toHex(t.calldata)},block_id:r});return this.responseParser.parseCallContractResponse(i)}async estimateMessageFee(t,e=this.blockIdentifier){const{from_address:r,to_address:i,entry_point_selector:n,payload:o}=t,s={from_address:Mk(r),to_address:Mk(i),entry_point_selector:Dk(n),payload:Ck(o)},a=new XN(e).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:s,block_id:a})}async getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}async getEvents(t){return this.fetchEndpoint("starknet_getEvents",{filter:t})}async getStarkName(t,e){return QN(this,t,e)}async getAddressFromStarkName(t,e){return WN(this,t,e)}buildTransaction(t,e){const r=oN(e),i={signature:SN(t.signature),nonce:Mk(t.nonce),max_fee:Mk(t.maxFee||0)};if("INVOKE_FUNCTION"===t.type)return{type:ok.ETransactionType.INVOKE,sender_address:t.contractAddress,calldata:Jx.toHex(t.calldata),version:Mk(t.version||r.v1),...i};if("DECLARE"===t.type)return RN(t.contract)?{type:t.type,contract_class:{...t.contract,sierra_program:EN(t.contract.sierra_program)},compiled_class_hash:t.compiledClassHash||"",sender_address:t.senderAddress,version:Mk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Mk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Jx.toHex(t.constructorCalldata||[]),class_hash:Mk(t.classHash),contract_address_salt:Mk(t.addressSalt||0),version:Mk(t.version||r.v1),...i};throw Error("RPC buildTransaction received unknown TransactionType")}},oS=/^(?:\w+:)?\/\/(\S+)$/,sS=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,aS=/^[^\s.]+\.\S{2,}$/;function hS(t,e,r){return function(t){if(!t)return!1;if("string"!=typeof t)return!1;const e=t.match(oS);if(!e)return!1;const r=e[1];return!(!r||!sS.test(r)&&!aS.test(r))}(r)?r:dA(t,r??e)}var uS={network:"SN_GOERLI",blockIdentifier:"pending"},lS=class{constructor(t=uS){this.responseParser=new class extends class{}{parseGetBlockResponse(t){return{...t,new_root:t.state_root,parent_hash:t.parent_block_hash,transactions:Object.values(t.transactions).map((t=>"transaction_hash"in t&&t.transaction_hash)).filter(Boolean)}}parseGetTransactionResponse(t){if("NOT_RECEIVED"===t.status&&"NOT_RECEIVED"===t.finality_status)throw new $N;return{...t,calldata:"calldata"in t.transaction?t.transaction.calldata:[],contract_class:"contract_class"in t.transaction?t.transaction.contract_class:void 0,entry_point_selector:"entry_point_selector"in t.transaction?t.transaction.entry_point_selector:void 0,max_fee:"max_fee"in t.transaction?t.transaction.max_fee:void 0,nonce:t.transaction.nonce,sender_address:"sender_address"in t.transaction?t.transaction.sender_address:void 0,signature:"signature"in t.transaction?t.transaction.signature:void 0,transaction_hash:"transaction_hash"in t.transaction?t.transaction.transaction_hash:void 0,version:"version"in t.transaction?t.transaction.version:void 0}}parseGetTransactionReceiptResponse(t){return{...t,messages_sent:t.l2_to_l1_messages,..."revert_error"in t&&{revert_reason:t.revert_error}}}parseFeeEstimateResponse(t){if("overall_fee"in t){let e={};try{e={gas_consumed:wk(t.gas_usage),gas_price:wk(t.gas_price)}}catch{}return{overall_fee:wk(t.overall_fee),...e}}return{overall_fee:wk(t.amount)}}parseFeeEstimateBulkResponse(t){return[].concat(t).map((t=>{if("overall_fee"in t){let e={};try{e={gas_consumed:wk(t.gas_usage),gas_price:wk(t.gas_price)}}catch{}return{overall_fee:wk(t.overall_fee),...e}}return{overall_fee:wk(t.amount)}}))}parseSimulateTransactionResponse(t){const e="overall_fee"in t.fee_estimation?t.fee_estimation.overall_fee:t.fee_estimation.amount;return[{transaction_trace:t.trace,fee_estimation:t.fee_estimation,suggestedMaxFee:IN(BigInt(e))}]}parseCallContractResponse(t){return{result:t.result}}parseInvokeFunctionResponse(t){return{transaction_hash:t.transaction_hash}}parseDeployContractResponse(t){return{transaction_hash:t.transaction_hash,contract_address:t.address}}parseDeclareContractResponse(t){return{transaction_hash:t.transaction_hash,class_hash:t.class_hash}}parseGetStateUpdateResponse(t){const e=Object.entries(t.state_diff.nonces).map((([t,e])=>({contract_address:t,nonce:e}))),r=Object.entries(t.state_diff.storage_diffs).map((([t,e])=>({address:t,storage_entries:e})));return{...t,state_diff:{...t.state_diff,storage_diffs:r,nonces:e}}}parseContractClassResponse(t){const e=RN(t)?t:ON(t);return{...e,abi:"string"==typeof e.abi?JSON.parse(e.abi):e.abi}}},"network"in t?(this.baseUrl=lS.getNetworkFromName(t.network),this.feederGatewayUrl=hS(this.baseUrl,"feeder_gateway"),this.gatewayUrl=hS(this.baseUrl,"gateway")):(this.baseUrl=t.baseUrl,this.feederGatewayUrl=hS(this.baseUrl,"feeder_gateway",t.feederGatewayUrl),this.gatewayUrl=hS(this.baseUrl,"gateway",t.gatewayUrl)),this.chainId=t?.chainId??lS.getChainIdFromBaseUrl(this.baseUrl),this.headers=t.headers,this.blockIdentifier=t?.blockIdentifier||uS.blockIdentifier}static getNetworkFromName(t){switch(t){case"SN_MAIN":case"0x534e5f4d41494e":return"https://alpha-mainnet.starknet.io";case"SN_GOERLI":case"0x534e5f474f45524c49":return"https://alpha4.starknet.io";default:throw new Error("Could not detect base url from NetworkName")}}static getChainIdFromBaseUrl(t){try{return new URL(t).host.includes("mainnet.starknet.io")?"0x534e5f4d41494e":"0x534e5f474f45524c49"}catch{return console.error(`Could not parse baseUrl: ${t}`),"0x534e5f474f45524c49"}}getFetchUrl(t){return["add_transaction"].includes(t)?this.gatewayUrl:this.feederGatewayUrl}getFetchMethod(t){return["add_transaction","call_contract","estimate_fee","estimate_message_fee","estimate_fee_bulk","simulate_transaction"].includes(t)?"POST":"GET"}getQueryString(t){if(void 0===(e=t)||0===Object.keys(e).length||1===Object.keys(e).length&&Object.entries(e).every((([t,e])=>"blockIdentifier"===t&&null===e)))return"";var e;const r=Object.entries(t).map((([t,e])=>{if("blockIdentifier"===t){return`${new XN(e).queryIdentifier}`}return`${t}=${e}`})).join("&");return`?${r}`}getHeaders(t){return"POST"===t?{"Content-Type":"application/json",...this.headers}:this.headers}async fetchEndpoint(t,...[e,r]){const i=this.getFetchUrl(t),n=this.getFetchMethod(t),o=this.getQueryString(e),s=dA(i,t,o);return this.fetch(s,{method:n,body:r})}async fetch(t,e){const r=hS(this.baseUrl,"",t),i=e?.method??"GET",n=this.getHeaders(i),o=Xx(e?.body);try{const t=await TN(r,{method:i,body:o,headers:n}),s=await t.text();if(!t.ok){let e;try{e=Wx(s)}catch{throw new DN(t.statusText,t.status)}throw new UN(e.message,e.code)}return(e?.parseAlwaysAsBigInt?Yx:Wx)(s)}catch(t){if(t instanceof Error&&!(t instanceof $N))throw Error(`Could not ${i} from endpoint \`${r}\`: ${t.message}`);throw t}}async getChainId(){return Promise.resolve(this.chainId)}async callContract({contractAddress:t,entrypoint:e,calldata:r=[]},i=this.blockIdentifier){return this.fetchEndpoint("call_contract",{blockIdentifier:i},{contract_address:t,entry_point_selector:Uk(e),calldata:Jx.compile(r)}).then(this.responseParser.parseCallContractResponse)}async getBlock(t=this.blockIdentifier){return this.fetchEndpoint("get_block",{blockIdentifier:t}).then(this.responseParser.parseGetBlockResponse)}async getNonceForAddress(t,e=this.blockIdentifier){return this.fetchEndpoint("get_nonce",{contractAddress:t,blockIdentifier:e})}async getStorageAt(t,e,r=this.blockIdentifier){const i=wk(e).toString(10);return this.fetchEndpoint("get_storage_at",{blockIdentifier:r,contractAddress:t,key:i})}async getTransaction(t){const e=Mk(t);return this.fetchEndpoint("get_transaction",{transactionHash:e}).then((t=>{if(1===Object.values(t).length)throw new $N(t.status);return this.responseParser.parseGetTransactionResponse(t)}))}async getTransactionReceipt(t){const e=Mk(t);return this.fetchEndpoint("get_transaction_receipt",{transactionHash:e}).then(this.responseParser.parseGetTransactionReceiptResponse)}async getClassAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_full_contract",{blockIdentifier:e,contractAddress:t}).then(this.responseParser.parseContractClassResponse)}async getClassHashAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_hash_at",{blockIdentifier:e,contractAddress:t})}async getClassByHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_by_hash",{classHash:t,blockIdentifier:e}).then(this.responseParser.parseContractClassResponse)}async getCompiledClassByClassHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_compiled_class_by_class_hash",{classHash:t,blockIdentifier:e})}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClassByHash(e,r)}if(RN(n)){if(i){return{cairo:"1",compiler:vx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async invokeFunction(t,e){return this.fetchEndpoint("add_transaction",void 0,{type:"INVOKE_FUNCTION",sender_address:t.contractAddress,calldata:Jx.compile(t.calldata??[]),signature:NN(t.signature),nonce:Mk(e.nonce),max_fee:Mk(e.maxFee||0),version:"0x1"}).then(this.responseParser.parseInvokeFunctionResponse)}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("add_transaction",void 0,{type:"DEPLOY_ACCOUNT",contract_address_salt:r??AN(),constructor_calldata:Jx.compile(e??[]),class_hash:Mk(t),max_fee:Mk(n.maxFee||0),version:Mk(n.version||0),nonce:Mk(n.nonce),signature:NN(i)}).then(this.responseParser.parseDeployContractResponse)}async declareContract({senderAddress:t,contract:e,signature:r,compiledClassHash:i},n){return RN(e)?this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",sender_address:t,compiled_class_hash:i,contract_class:e,nonce:Mk(n.nonce),signature:NN(r),max_fee:Mk(n.maxFee||0),version:Mk(rN)}).then(this.responseParser.parseDeclareContractResponse):this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",contract_class:e,nonce:Mk(n.nonce),signature:NN(r),sender_address:t,max_fee:Mk(n.maxFee||0),version:Mk(eN)}).then(this.responseParser.parseDeclareContractResponse)}async getEstimateFee(t,e,r=this.blockIdentifier,i=!1){return this.getInvokeEstimateFee(t,e,r,i)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){const i=t.map((t=>this.buildTransaction(t,"fee")));return this.fetchEndpoint("estimate_fee_bulk",{blockIdentifier:e,skipValidate:r},i).then(this.responseParser.parseFeeEstimateBulkResponse)}async getCode(t,e=this.blockIdentifier){return this.fetchEndpoint("get_code",{contractAddress:t,blockIdentifier:e})}async waitForTransaction(t,e){let r,i=!1,n=0;const o=e?.retryInterval??5e3,s=e?.errorStates??["REJECTED","NOT_RECEIVED","REVERTED"],a=e?.successStates??["SUCCEEDED","ACCEPTED_ON_L1","ACCEPTED_ON_L2"];for(;!i;)if(await CN(o),r=await this.getTransactionStatus(t),"NOT_RECEIVED"===r.finality_status&&n<3)n+=1;else if(a.includes(r.finality_status)||a.includes(r.execution_status))i=!0;else if(s.includes(r.finality_status)||s.includes(r.execution_status)){let t;t=r.tx_failure_reason?`${r.tx_status}: ${r.tx_failure_reason.code}\n${r.tx_failure_reason.error_message}`:r.tx_revert_reason?`${r.tx_status}: ${r.tx_revert_reason}`:r.tx_status;const e=new Error(t);throw e.response=r,e}return await this.getTransactionReceipt(t)}async getTransactionStatus(t){const e=Mk(t);return this.fetchEndpoint("get_transaction_status",{transactionHash:e})}async getContractAddresses(){return this.fetchEndpoint("get_contract_addresses")}async getTransactionTrace(t){const e=Mk(t);return this.fetchEndpoint("get_transaction_trace",{transactionHash:e})}async estimateMessageFee({from_address:t,to_address:e,entry_point_selector:r,payload:i},n=this.blockIdentifier){const o={from_address:Rk(t),to_address:Tk(e),entry_point_selector:Dk(r),payload:Ck(i)};return this.fetchEndpoint("estimate_message_fee",{blockIdentifier:n},o)}async getSimulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipExecute:i=!1}){t.length>1&&console.warn("Sequencer simulate process only first element from invocations list"),i&&console.warn("Sequencer can't skip account __execute__");const n=this.buildTransaction(t[0]);return this.fetchEndpoint("simulate_transaction",{blockIdentifier:e,skipValidate:r??!1},n).then(this.responseParser.parseSimulateTransactionResponse)}async getStateUpdate(t=this.blockIdentifier){const e=new XN(t).sequencerIdentifier;return this.fetchEndpoint("get_state_update",{...e}).then(this.responseParser.parseGetStateUpdateResponse)}async getBlockTraces(t=this.blockIdentifier){const e=new XN(t).sequencerIdentifier;return this.fetchEndpoint("get_block_traces",{...e})}async getStarkName(t,e){return QN(this,t,e)}async getAddressFromStarkName(t,e){return WN(this,t,e)}buildTransaction(t,e){const r=oN(e),i={signature:NN(t.signature),nonce:Mk(t.nonce)};if("INVOKE_FUNCTION"===t.type)return{type:t.type,sender_address:t.contractAddress,calldata:Jx.compile(t.calldata??[]),version:Mk(t.version||r.v1),...i};if("DECLARE"===t.type)return RN(t.contract)?{type:t.type,contract_class:t.contract,compiled_class_hash:t.compiledClassHash,sender_address:t.senderAddress,version:Mk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Mk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Jx.compile(t.constructorCalldata||[]),class_hash:Mk(t.classHash),contract_address_salt:Mk(t.addressSalt||0),version:Mk(t.version||r.v1),...i};throw Error("Sequencer buildTransaction received unknown TransactionType")}},cS=class{constructor(t){this.provider=t instanceof cS?t.provider:t instanceof nS||t instanceof lS?t:t&&"rpc"in t?new nS(t.rpc):t&&"sequencer"in t?new lS(t.sequencer):new nS}async getChainId(){return this.provider.getChainId()}async getBlock(t){return this.provider.getBlock(t)}async getClassAt(t,e){return this.provider.getClassAt(t,e)}async getClassHashAt(t,e){return this.provider.getClassHashAt(t,e)}getClassByHash(t){return this.provider.getClassByHash(t)}async getEstimateFee(t,e,r){return this.provider.getEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r,i){return this.provider.getInvokeEstimateFee(t,e,r,i)}async getEstimateFeeBulk(t,e){return this.provider.getEstimateFeeBulk(t,e)}async getNonceForAddress(t,e){return this.provider.getNonceForAddress(t,e)}async getStorageAt(t,e,r){return this.provider.getStorageAt(t,e,r)}async getTransaction(t){return this.provider.getTransaction(t)}async getTransactionReceipt(t){return this.provider.getTransactionReceipt(t)}async callContract(t,e){return this.provider.callContract(t,e)}async invokeFunction(t,e){return this.provider.invokeFunction(t,e)}async deployAccountContract(t,e){return this.provider.deployAccountContract(t,e)}async declareContract(t,e){return this.provider.declareContract(t,e)}async getDeclareEstimateFee(t,e,r,i){return this.provider.getDeclareEstimateFee(t,e,r,i)}getDeployAccountEstimateFee(t,e,r,i){return this.provider.getDeployAccountEstimateFee(t,e,r,i)}async getCode(t,e){return this.provider.getCode(t,e)}async waitForTransaction(t,e){return this.provider.waitForTransaction(t,e)}async getSimulateTransaction(t,e){return this.provider.getSimulateTransaction(t,e)}async getStateUpdate(t){return this.provider.getStateUpdate(t)}async getStarkName(t,e){return QN(this,t,e)}async getAddressFromStarkName(t,e){return WN(this,t,e)}async getContractVersion(t,e,r){return this.provider.getContractVersion(t,e,r)}};pA({},{fromCallsToExecuteCalldata:()=>dS,fromCallsToExecuteCalldataWithNonce:()=>mS,fromCallsToExecuteCalldata_cairo1:()=>gS,getExecuteCalldata:()=>yS,transformCallsToMulticallArrays:()=>fS,transformCallsToMulticallArrays_cairo1:()=>pS});var fS=t=>{const e=[],r=[];return t.forEach((t=>{const i=Jx.compile(t.calldata||[]);e.push({to:wk(t.contractAddress).toString(10),selector:wk(Uk(t.entrypoint)).toString(10),data_offset:r.length.toString(),data_len:i.length.toString()}),r.push(...i)})),{callArray:e,calldata:Jx.compile({calldata:r})}},dS=t=>{const{callArray:e,calldata:r}=fS(t);return[...Jx.compile({callArray:e}),...r]},mS=(t,e)=>[...dS(t),wk(e).toString()],pS=t=>{const e=t.map((t=>({to:wk(t.contractAddress).toString(10),selector:wk(Uk(t.entrypoint)).toString(10),calldata:Jx.compile(t.calldata||[])})));return e},gS=t=>{const e=t.map((t=>({contractAddress:t.contractAddress,entrypoint:t.entrypoint,calldata:Array.isArray(t.calldata)&&"__compiled__"in t.calldata?t.calldata:Jx.compile(t.calldata)})));return Jx.compile({orderCalls:e})},yS=(t,e="0")=>"1"===e?gS(t):dS(t),vS={};pA(vS,{encodeData:()=>SS,encodeType:()=>kS,encodeValue:()=>NS,getDependencies:()=>AS,getMessageHash:()=>RS,getStructHash:()=>IS,getTypeHash:()=>xS,isMerkleTreeType:()=>ES,prepareSelector:()=>_S});pA({},{MerkleTree:()=>wS,proofMerklePath:()=>bS});var wS=class{constructor(t){this.branches=[],this.leaves=t,this.root=this.build(t)}build(t){if(1===t.length)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const e=[];for(let r=0;r<t.length;r+=2)r+1===t.length?e.push(wS.hash(t[r],"0x0")):e.push(wS.hash(t[r],t[r+1]));return this.build(e)}static hash(t,e){const[r,i]=[wk(t),wk(e)].sort(((t,e)=>t>=e?1:-1));return rw(r,i)}getProof(t,e=this.leaves,r=[]){const i=e.indexOf(t);if(-1===i)throw new Error("leaf not found");if(1===e.length)return r;const n=i%2==0,o=(n?e[i+1]:e[i-1])??"0x0",s=[...r,o],a=this.leaves.length===e.length?-1:this.branches.findIndex((t=>t.length===e.length)),h=this.branches[a+1]??[this.root];return this.getProof(wS.hash(n?t:o,n?o:t),h,s)}};function bS(t,e,r){if(0===r.length)return t===e;const[i,...n]=r;return bS(t,wS.hash(e,i),n)}function MS(t){try{return Mk(t)}catch(e){if("string"==typeof t)return Mk(Zk(t));throw new Error(`Invalid BigNumberish: ${t}`)}}function _S(t){return vk(t)?t:Uk(t)}function ES(t){return"merkletree"===t.type}var AS=(t,e,r=[])=>("*"===e[e.length-1]&&(e=e.slice(0,-1)),r.includes(e)?r:t[e]?[e,...t[e].reduce(((e,r)=>[...e,...AS(t,r.type,e).filter((t=>!e.includes(t)))]),[])]:r);var kS=(t,e)=>{const[r,...i]=AS(t,e);return(r?[r,...i.sort()]:[]).map((e=>`${e}(${t[e].map((t=>`${t.name}:${t.type}`))})`)).join("")},xS=(t,e)=>Uk(kS(t,e)),NS=(t,e,r,i={})=>{if(t[e])return[e,IS(t,e,r)];if(Object.keys(t).map((t=>`${t}*`)).includes(e)){const i=r.map((r=>IS(t,e.slice(0,-1),r)));return[e,sN(i)]}if("merkletree"===e){const e=function(t,e){if(e.parent&&e.key){const r=t[e.parent].find((t=>t.name===e.key));if(!ES(r))throw new Error(`${e.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${e.key}`);return r.contains}return"raw"}(t,i),n=r.map((r=>NS(t,e,r)[1])),{root:o}=new wS(n);return["felt",o]}return"felt*"===e?["felt*",sN(r)]:"selector"===e?["felt",_S(r)]:[e,MS(r)]},SS=(t,e,r)=>{const[i,n]=t[e].reduce((([i,n],o)=>{if(void 0===r[o.name]||null===r[o.name])throw new Error(`Cannot encode data: missing data for '${o.name}'`);const s=r[o.name],[a,h]=NS(t,o.type,s,{parent:e,key:o.name});return[[...i,a],[...n,h]]}),[["felt"],[xS(t,e)]]);return[i,n]},IS=(t,e,r)=>sN(SS(t,e,r)[1]),RS=(t,e)=>{if(!(t=>{const e=t;return Boolean(e.types&&e.primaryType&&e.message)})(t))throw new Error("Typed data does not match JSON schema");return sN([Zk("StarkNet Message"),IS(t.types,"StarkNetDomain",t.domain),e,IS(t.types,t.primaryType,t.message)])},TS=new cS({rpc:{default:!0}});function CS(t){return t.filter((t=>"event"===t.type&&(t.size||"enum"!==t.kind))).reduce(((t,e)=>{const r=e.name.slice(e.name.lastIndexOf(":")+1),i={...e};return i.name=r,{...t,[AA(nw(vA(r)).toString(16))]:i}}),{})}function PS(t,e,r,i){const n=t.flat().reduce(((t,n)=>{const o=e[n.keys[0]];if(!o)return t;const s={};s[o.name]={},n.keys.shift();const a=n.keys[Symbol.iterator](),h=n.data[Symbol.iterator](),u=o.members?.filter((t=>"key"===t.kind))||o.keys,l=o.members?.filter((t=>"data"===t.kind))||o.data;return u.forEach((t=>{s[o.name][t.name]=Fx(a,t,r,i,s[o.name])})),l.forEach((t=>{s[o.name][t.name]=Fx(h,t,r,i,s[o.name])})),t.push(s),t}),[]);return n}pA({},{getAbiEvents:()=>CS,parseEvents:()=>PS});var OS=t=>{const e=t[t.length-1];return"object"==typeof e&&["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"].some((t=>t in e))?{args:t,options:t.pop()}:{args:t}};function BS(t,e){return async function(...r){const i=OS(r);return t.call(e.name,i.args,{parseRequest:!0,parseResponse:!0,...i.options})}}function $S(t,e){return"view"===e.stateMutability||"view"===e.state_mutability?BS(t,e):function(t,e){return async function(...r){const i=OS(r);return t.invoke(e.name,i.args,{parseRequest:!0,...i.options})}}(t,e)}function US(t,e){return function(...r){return t.estimate(e.name,r)}}function DS(t,e){return Array.isArray(t)&&"__compiled__"in t?t:Array.isArray(t)&&Array.isArray(t[0])&&"__compiled__"in t[0]?t[0]:e()}var LS=class{constructor(t,e,r=TS){this.address=e&&e.toLowerCase(),this.providerOrAccount=r,this.callData=new Jx(t),this.structs=Jx.getAbiStruct(t),this.events=CS(t);const i=Rx(t);this.abi=i.getLegacyFormat();const n={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach((t=>{if("function"!==t.type)return;const e=t.name;var r,i;this[e]||Object.defineProperty(this,e,{...n,value:$S(this,t)}),this.functions[e]||Object.defineProperty(this.functions,e,{...n,value:$S(this,t)}),this.callStatic[e]||Object.defineProperty(this.callStatic,e,{...n,value:BS(this,t)}),this.populateTransaction[e]||Object.defineProperty(this.populateTransaction,e,{...n,value:(r=this,i=t,function(...t){return r.populate(i.name,t)})}),this.estimateFee[e]||Object.defineProperty(this.estimateFee,e,{...n,value:US(this,t)})}))}attach(t){this.address=t}connect(t){this.providerOrAccount=t}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(t,e=[],{parseRequest:r=!0,parseResponse:i=!0,formatResponse:n,blockIdentifier:o}={}){yk(null!==this.address,"contract is not connected to an address");const s=DS(e,(()=>r?(this.callData.validate("CALL",t,e),this.callData.compile(t,e)):(console.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),e)));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:s,entrypoint:t},o).then((e=>i?n?this.callData.format(t,e.result,n):this.callData.parse(t,e.result):e.result))}invoke(t,e=[],{parseRequest:r=!0,maxFee:i,nonce:n,signature:o}={}){yk(null!==this.address,"contract is not connected to an address");const s=DS(e,(()=>r?(this.callData.validate("INVOKE",t,e),this.callData.compile(t,e)):(console.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),e))),a={contractAddress:this.address,calldata:s,entrypoint:t};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(a,void 0,{maxFee:i,nonce:n});if(!n)throw new Error("Nonce is required when invoking a function without an account");return console.warn(`Invoking ${t} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...a,signature:o},{nonce:n})}async estimate(t,e=[]){yk(null!==this.address,"contract is not connected to an address"),DS(e,(()=>!1))||this.callData.validate("INVOKE",t,e);const r=this.populate(t,e);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(r);throw Error("Contract must be connected to the account contract to estimate")}populate(t,e=[]){const r=DS(e,(()=>this.callData.compile(t,e)));return{contractAddress:this.address,entrypoint:t,calldata:r}}parseEvents(t){return PS(t.events?.filter((t=>kk(t.from_address)===kk(this.address)),[])||[],this.events,this.structs,Jx.getAbiEnum(this.abi))}isCairo1(){return Kk.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typed(t){return this}};function FS(t){xk(t,UA,LA,"Starknet Address");const e=function(t){return AA(EA(Mk(t)).padStart(64,"0"))}(t);if(!e.match(/^(0x)?[0-9a-fA-F]{64}$/))throw new Error("Invalid Address Format");return e}const jS={SN_MAIN:"https://starknet-mainnet.public.blastapi.io",SN_SEPOLIA:"https://starknet-sepolia.public.blastapi.io"},zS=[{name:"argent::common::account::IAccount",type:"interface",items:[{name:"is_valid_signature",type:"function",inputs:[{name:"hash",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]}];function qS(t,e){var r;if(!jS[t])throw new Error("Invalid network");return new nS({nodeUrl:null!==(r=null==e?void 0:e.broviderUrl)&&void 0!==r?r:jS[t]})}function VS(t){return!!t.primaryType&&!!t.types.StarkNetDomain}function HS(t,e){const{domain:r,types:i,primaryType:n,message:o}=t;return vS.getMessageHash({types:i,primaryType:n,domain:r,message:o},e)}var ZS=Object.freeze({__proto__:null,isStarknetMessage:VS,getHash:HS,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="SN_MAIN",n={}){try{const o=new LS(zS,t,qS(i,n));if(e.length<2)throw new Error("Invalid signature format");const s=yield o.is_valid_signature(HS(r,t),e.slice(-2));return Bh.from(s).eq(Bh.from("370462705988"))}catch(t){if(t.message.includes("Contract not found"))throw new Error("Contract not deployed");throw t}}))}});function GS(t){return we(qi(t))}var KS=o((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:$t.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,i,n){for(var o=0,s=0,a=Math.min(t.length,i),h=e;h<a;h++){var u=t.charCodeAt(h)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,a=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,l=r;l<a;l+=i)u=h(t,l,l+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var c=1;for(u=h(t,l,t.length,e),l=0;l<s;l++)c*=e;this.imuln(c),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){n.prototype.inspect=l}else n.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var a=this.words[s],h=(16777215&(a<<n|o)).toString(16);o=a>>>24-n&16777215,(n+=2)>=26&&(n-=26,s--),i=0!==o||s!==this.length-1?c[6-h.length]+h+i:h+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],l=d[t];i="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modrn(l).toString(t);i=(m=m.idivn(l)).isZero()?p+i:c[u-p.length]+p+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u<i;u++){for(var l=h>>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(n=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var i,n,o,s=t.words,a=e.words,h=r.words,u=0,l=0|s[0],c=8191&l,f=l>>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,A=_>>>13,k=0|s[5],x=8191&k,N=k>>>13,S=0|s[6],I=8191&S,R=S>>>13,T=0|s[7],C=8191&T,P=T>>>13,O=0|s[8],B=8191&O,$=O>>>13,U=0|s[9],D=8191&U,L=U>>>13,F=0|a[0],j=8191&F,z=F>>>13,q=0|a[1],V=8191&q,H=q>>>13,Z=0|a[2],G=8191&Z,K=Z>>>13,J=0|a[3],Q=8191&J,W=J>>>13,Y=0|a[4],X=8191&Y,tt=Y>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(c,j))|0)+((8191&(n=(n=Math.imul(c,z))+Math.imul(f,j)|0))<<13)|0;u=((o=Math.imul(f,z))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(m,j),n=(n=Math.imul(m,z))+Math.imul(p,j)|0,o=Math.imul(p,z);var yt=(u+(i=i+Math.imul(c,V)|0)|0)+((8191&(n=(n=n+Math.imul(c,H)|0)+Math.imul(f,V)|0))<<13)|0;u=((o=o+Math.imul(f,H)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,j),n=(n=Math.imul(y,z))+Math.imul(v,j)|0,o=Math.imul(v,z),i=i+Math.imul(m,V)|0,n=(n=n+Math.imul(m,H)|0)+Math.imul(p,V)|0,o=o+Math.imul(p,H)|0;var vt=(u+(i=i+Math.imul(c,G)|0)|0)+((8191&(n=(n=n+Math.imul(c,K)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(b,j),n=(n=Math.imul(b,z))+Math.imul(M,j)|0,o=Math.imul(M,z),i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,H)|0)+Math.imul(v,V)|0,o=o+Math.imul(v,H)|0,i=i+Math.imul(m,G)|0,n=(n=n+Math.imul(m,K)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,K)|0;var wt=(u+(i=i+Math.imul(c,Q)|0)|0)+((8191&(n=(n=n+Math.imul(c,W)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(E,j),n=(n=Math.imul(E,z))+Math.imul(A,j)|0,o=Math.imul(A,z),i=i+Math.imul(b,V)|0,n=(n=n+Math.imul(b,H)|0)+Math.imul(M,V)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(y,G)|0,n=(n=n+Math.imul(y,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,i=i+Math.imul(m,Q)|0,n=(n=n+Math.imul(m,W)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,W)|0;var bt=(u+(i=i+Math.imul(c,X)|0)|0)+((8191&(n=(n=n+Math.imul(c,tt)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(x,j),n=(n=Math.imul(x,z))+Math.imul(N,j)|0,o=Math.imul(N,z),i=i+Math.imul(E,V)|0,n=(n=n+Math.imul(E,H)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,H)|0,i=i+Math.imul(b,G)|0,n=(n=n+Math.imul(b,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(m,X)|0,n=(n=n+Math.imul(m,tt)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(i=i+Math.imul(c,rt)|0)|0)+((8191&(n=(n=n+Math.imul(c,it)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(I,j),n=(n=Math.imul(I,z))+Math.imul(R,j)|0,o=Math.imul(R,z),i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,H)|0)+Math.imul(N,V)|0,o=o+Math.imul(N,H)|0,i=i+Math.imul(E,G)|0,n=(n=n+Math.imul(E,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,W)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(m,rt)|0,n=(n=n+Math.imul(m,it)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,it)|0;var _t=(u+(i=i+Math.imul(c,ot)|0)|0)+((8191&(n=(n=n+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,j),n=(n=Math.imul(C,z))+Math.imul(P,j)|0,o=Math.imul(P,z),i=i+Math.imul(I,V)|0,n=(n=n+Math.imul(I,H)|0)+Math.imul(R,V)|0,o=o+Math.imul(R,H)|0,i=i+Math.imul(x,G)|0,n=(n=n+Math.imul(x,K)|0)+Math.imul(N,G)|0,o=o+Math.imul(N,K)|0,i=i+Math.imul(E,Q)|0,n=(n=n+Math.imul(E,W)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,W)|0,i=i+Math.imul(b,X)|0,n=(n=n+Math.imul(b,tt)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(m,ot)|0,n=(n=n+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(i=i+Math.imul(c,ht)|0)|0)+((8191&(n=(n=n+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(B,j),n=(n=Math.imul(B,z))+Math.imul($,j)|0,o=Math.imul($,z),i=i+Math.imul(C,V)|0,n=(n=n+Math.imul(C,H)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,H)|0,i=i+Math.imul(I,G)|0,n=(n=n+Math.imul(I,K)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,W)|0,i=i+Math.imul(E,X)|0,n=(n=n+Math.imul(E,tt)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,tt)|0,i=i+Math.imul(b,rt)|0,n=(n=n+Math.imul(b,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(m,ht)|0,n=(n=n+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var At=(u+(i=i+Math.imul(c,ct)|0)|0)+((8191&(n=(n=n+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,j),n=(n=Math.imul(D,z))+Math.imul(L,j)|0,o=Math.imul(L,z),i=i+Math.imul(B,V)|0,n=(n=n+Math.imul(B,H)|0)+Math.imul($,V)|0,o=o+Math.imul($,H)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,W)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(x,X)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,tt)|0,i=i+Math.imul(E,rt)|0,n=(n=n+Math.imul(E,it)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,it)|0,i=i+Math.imul(b,ot)|0,n=(n=n+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(m,ct)|0,n=(n=n+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var kt=(u+(i=i+Math.imul(c,mt)|0)|0)+((8191&(n=(n=n+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,V),n=(n=Math.imul(D,H))+Math.imul(L,V)|0,o=Math.imul(L,H),i=i+Math.imul(B,G)|0,n=(n=n+Math.imul(B,K)|0)+Math.imul($,G)|0,o=o+Math.imul($,K)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,W)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(I,X)|0,n=(n=n+Math.imul(I,tt)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,it)|0,i=i+Math.imul(E,ot)|0,n=(n=n+Math.imul(E,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,i=i+Math.imul(b,ht)|0,n=(n=n+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,ct)|0,n=(n=n+Math.imul(y,ft)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,ft)|0;var xt=(u+(i=i+Math.imul(m,mt)|0)|0)+((8191&(n=(n=n+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,G),n=(n=Math.imul(D,K))+Math.imul(L,G)|0,o=Math.imul(L,K),i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul($,Q)|0,o=o+Math.imul($,W)|0,i=i+Math.imul(C,X)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(I,rt)|0,n=(n=n+Math.imul(I,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(x,ot)|0,n=(n=n+Math.imul(x,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,i=i+Math.imul(E,ht)|0,n=(n=n+Math.imul(E,ut)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,ut)|0,i=i+Math.imul(b,ct)|0,n=(n=n+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(i=i+Math.imul(y,mt)|0)|0)+((8191&(n=(n=n+Math.imul(y,pt)|0)+Math.imul(v,mt)|0))<<13)|0;u=((o=o+Math.imul(v,pt)|0)+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,W))+Math.imul(L,Q)|0,o=Math.imul(L,W),i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul($,X)|0,o=o+Math.imul($,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(I,ot)|0,n=(n=n+Math.imul(I,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,i=i+Math.imul(E,ct)|0,n=(n=n+Math.imul(E,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var St=(u+(i=i+Math.imul(b,mt)|0)|0)+((8191&(n=(n=n+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,tt))+Math.imul(L,X)|0,o=Math.imul(L,tt),i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul($,rt)|0,o=o+Math.imul($,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(I,ht)|0,n=(n=n+Math.imul(I,ut)|0)+Math.imul(R,ht)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(x,ct)|0,n=(n=n+Math.imul(x,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var It=(u+(i=i+Math.imul(E,mt)|0)|0)+((8191&(n=(n=n+Math.imul(E,pt)|0)+Math.imul(A,mt)|0))<<13)|0;u=((o=o+Math.imul(A,pt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(L,rt)|0,o=Math.imul(L,it),i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul($,ot)|0,o=o+Math.imul($,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(I,ct)|0,n=(n=n+Math.imul(I,ft)|0)+Math.imul(R,ct)|0,o=o+Math.imul(R,ft)|0;var Rt=(u+(i=i+Math.imul(x,mt)|0)|0)+((8191&(n=(n=n+Math.imul(x,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(L,ot)|0,o=Math.imul(L,st),i=i+Math.imul(B,ht)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul($,ht)|0,o=o+Math.imul($,ut)|0,i=i+Math.imul(C,ct)|0,n=(n=n+Math.imul(C,ft)|0)+Math.imul(P,ct)|0,o=o+Math.imul(P,ft)|0;var Tt=(u+(i=i+Math.imul(I,mt)|0)|0)+((8191&(n=(n=n+Math.imul(I,pt)|0)+Math.imul(R,mt)|0))<<13)|0;u=((o=o+Math.imul(R,pt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,ht),n=(n=Math.imul(D,ut))+Math.imul(L,ht)|0,o=Math.imul(L,ut),i=i+Math.imul(B,ct)|0,n=(n=n+Math.imul(B,ft)|0)+Math.imul($,ct)|0,o=o+Math.imul($,ft)|0;var Ct=(u+(i=i+Math.imul(C,mt)|0)|0)+((8191&(n=(n=n+Math.imul(C,pt)|0)+Math.imul(P,mt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(D,ct),n=(n=Math.imul(D,ft))+Math.imul(L,ct)|0,o=Math.imul(L,ft);var Pt=(u+(i=i+Math.imul(B,mt)|0)|0)+((8191&(n=(n=n+Math.imul(B,pt)|0)+Math.imul($,mt)|0))<<13)|0;u=((o=o+Math.imul($,pt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Ot=(u+(i=Math.imul(D,mt))|0)+((8191&(n=(n=Math.imul(D,pt))+Math.imul(L,mt)|0))<<13)|0;return u=((o=Math.imul(L,pt))+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,h[0]=gt,h[1]=yt,h[2]=vt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=At,h[9]=kt,h[10]=xt,h[11]=Nt,h[12]=St,h[13]=It,h[14]=Rt,h[15]=Tt,h[16]=Ct,h[17]=Pt,h[18]=Ot,0!==u&&(h[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var a=67108863&i,h=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=h;u++){var l=o-u,c=(0|t.words[l])*(0|e.words[u]),f=67108863&c;a=67108863&(f=f+a|0),n+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(p=m),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?m(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,h=(0|this.words[e])-a<<i;this.words[e]=h|s,s=a>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,h=i;if(n-=s,n=Math.max(0,n),h){for(var u=0;u<s;u++)h.words[u]=this.words[u];h.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var l=0;for(u=this.length-1;u>=0&&(0!==l||u>=n);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var a=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+a;var h=(0|t.words[n])*e;a=((o-=67108863&h)>>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)a=(o=(0|this.words[n+i])+a)>>26,this.words[n+i]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,n=0;n<this.length;n++)a=(o=-(0|this.words[n])+a)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var l=i.clone()._ishlnsubmul(o,1,h);0===l.negative&&(i=l,a&&(a.words[h]=1));for(var c=h-1;c>=0;c--){var f=67108864*(0|i.words[o.length+c])+(0|i.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(o,f,c);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(o,1,c),i.isZero()||(i.negative^=1);a&&(a.words[c]=f)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var l=i.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(l),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(i.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(i.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(i.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(i.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new A(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},i(b,w),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,w),i(_,w),i(E,w),E.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return v[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new n(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g<m);var y=this.pow(c,new n(1).iushln(m-g-1));f=f.redMul(y),c=y.redSqr(),d=d.redMul(c),m=g}return f},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,a=0,h=e.bitLength()%26;for(0===h&&(h=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],l=h-1;l>=0;l--){var c=u>>l&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===i&&0===l)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,A),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));var JS=KS.BN;const QS=new y("bignumber/5.6.2"),WS={},YS=9007199254740991;let XS=!1;class tI{constructor(t,e){t!==WS&&QS.throwError("cannot call constructor directly; use BigNumber.from",y.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return rI(iI(this).fromTwos(t))}toTwos(t){return rI(iI(this).toTwos(t))}abs(){return"-"===this._hex[0]?tI.from(this._hex.substring(1)):this}add(t){return rI(iI(this).add(iI(t)))}sub(t){return rI(iI(this).sub(iI(t)))}div(t){return tI.from(t).isZero()&&nI("division-by-zero","div"),rI(iI(this).div(iI(t)))}mul(t){return rI(iI(this).mul(iI(t)))}mod(t){const e=iI(t);return e.isNeg()&&nI("division-by-zero","mod"),rI(iI(this).umod(e))}pow(t){const e=iI(t);return e.isNeg()&&nI("negative-power","pow"),rI(iI(this).pow(e))}and(t){const e=iI(t);return(this.isNegative()||e.isNeg())&&nI("unbound-bitwise-result","and"),rI(iI(this).and(e))}or(t){const e=iI(t);return(this.isNegative()||e.isNeg())&&nI("unbound-bitwise-result","or"),rI(iI(this).or(e))}xor(t){const e=iI(t);return(this.isNegative()||e.isNeg())&&nI("unbound-bitwise-result","xor"),rI(iI(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&nI("negative-width","mask"),rI(iI(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&nI("negative-width","shl"),rI(iI(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&nI("negative-width","shr"),rI(iI(this).shrn(t))}eq(t){return iI(this).eq(iI(t))}lt(t){return iI(this).lt(iI(t))}lte(t){return iI(this).lte(iI(t))}gt(t){return iI(this).gt(iI(t))}gte(t){return iI(this).gte(iI(t))}isNegative(){return"-"===this._hex[0]}isZero(){return iI(this).isZero()}toNumber(){try{return iI(this).toNumber()}catch(t){nI("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return QS.throwError("this platform does not support BigInt",y.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?XS||(XS=!0,QS.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?QS.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",y.errors.UNEXPECTED_ARGUMENT,{}):QS.throwError("BigNumber.toString does not accept parameters",y.errors.UNEXPECTED_ARGUMENT,{})),iI(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof tI)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new tI(WS,eI(t)):t.match(/^-?[0-9]+$/)?new tI(WS,eI(new JS(t))):QS.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&nI("underflow","BigNumber.from",t),(t>=YS||t<=-YS)&&nI("overflow","BigNumber.from",t),tI.from(String(t));const e=t;if("bigint"==typeof e)return tI.from(e.toString());if(E(e))return tI.from(I(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return tI.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(N(t)||"-"===t[0]&&N(t.substring(1))))return tI.from(t)}return QS.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function eI(t){if("string"!=typeof t)return eI(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&QS.throwArgumentError("invalid hex","value",t),"0x00"===(t=eI(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function rI(t){return tI.from(eI(t))}function iI(t){const e=tI.from(t).toHexString();return"-"===e[0]?new JS("-"+e.substring(3),16):new JS(e.substring(2),16)}function nI(t,e,r){const i={fault:t,operation:e};return null!=r&&(i.value=r),QS.throwError(t,y.errors.NUMERIC_FAULT,i)}var oI=window&&window.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{h(i.next(t))}catch(t){o(t)}}function a(t){try{h(i.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((i=i.apply(t,e||[])).next())}))};const sI=new y("hash/5.6.1"),aI=new Uint8Array(32);aI.fill(0);const hI=tI.from(-1),uI=tI.from(0),lI=tI.from(1),cI=tI.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const fI=O(lI.toHexString(),32),dI=O(uI.toHexString(),32),mI={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},pI=["name","version","chainId","verifyingContract","salt"];function gI(t){return function(e){return"string"!=typeof e&&sI.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const yI={name:gI("name"),version:gI("version"),chainId:function(t){try{return tI.from(t).toString()}catch(t){}return sI.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return Ce(t).toLowerCase()}catch(t){}return sI.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=A(t);if(32!==e.length)throw new Error("bad length");return I(e)}catch(t){}return sI.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function vI(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=""===e[1],i=parseInt(e[2]||"256");(i%8!=0||i>256||e[2]&&e[2]!==String(i))&&sI.throwArgumentError("invalid numeric width","type",t);const n=cI.mask(r?i-1:i),o=r?n.add(lI).mul(hI):uI;return function(e){const r=tI.from(e);return(r.lt(o)||r.gt(n))&&sI.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),O(r.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(0===r||r>32||e[1]!==String(r))&&sI.throwArgumentError("invalid bytes width","type",t),function(e){return A(e).length!==r&&sI.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=A(t),r=e.length%32;return r?C([e,aI.slice(r)]):I(e)}(e)}}}switch(t){case"address":return function(t){return O(Ce(t),32)};case"bool":return function(t){return t?fI:dI};case"bytes":return function(t){return we(t)};case"string":return function(t){return GS(t)}}return null}function wI(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}class bI{constructor(t){Nr(this,"types",Object.freeze(Or(t))),Nr(this,"_encoderCache",{}),Nr(this,"_types",{});const e={},r={},i={};Object.keys(t).forEach((t=>{e[t]={},r[t]=[],i[t]={}}));for(const i in t){const n={};t[i].forEach((o=>{n[o.name]&&sI.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(i)}`,"types",t),n[o.name]=!0;const s=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===i&&sI.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",t);vI(s)||(r[s]||sI.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",t),r[s].push(i),e[i][s]=!0)}))}const n=Object.keys(r).filter((t=>0===r[t].length));0===n.length?sI.throwArgumentError("missing primary type","types",t):n.length>1&&sI.throwArgumentError(`ambiguous primary types or unused types: ${n.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),Nr(this,"primaryType",n[0]),function n(o,s){s[o]&&sI.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),s[o]=!0,Object.keys(e[o]).forEach((t=>{r[t]&&(n(t,s),Object.keys(s).forEach((e=>{i[e][t]=!0})))})),delete s[o]}(this.primaryType,{});for(const e in i){const r=Object.keys(i[e]);r.sort(),this._types[e]=wI(e,t[e])+r.map((e=>wI(e,t[e]))).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=vI(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],r=this.getEncoder(t),i=parseInt(e[3]);return e=>{i>=0&&e.length!==i&&sI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let n=e.map(r);return this._types[t]&&(n=n.map(we)),we(C(n))}}const r=this.types[t];if(r){const e=GS(this._types[t]);return t=>{const i=r.map((({name:e,type:r})=>{const i=this.getEncoder(r)(t[e]);return this._types[r]?we(i):i}));return i.unshift(e),C(i)}}return sI.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||sI.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return we(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(vI(t))return r(t,e);const i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const t=i[1],n=parseInt(i[3]);return n>=0&&e.length!==n&&sI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(t,e,r)))}const n=this.types[t];return n?n.reduce(((t,{name:i,type:n})=>(t[i]=this._visit(n,e[i],r),t)),{}):sI.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new bI(t)}static getPrimaryType(t){return bI.from(t).primaryType}static hashStruct(t,e,r){return bI.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){const i=mI[r];i||sI.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort(((t,e)=>pI.indexOf(t.name)-pI.indexOf(e.name))),bI.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return C(["0x1901",bI.hashDomain(t),bI.from(e).hash(r)])}static hash(t,e,r){return we(bI.encode(t,e,r))}static resolveNames(t,e,r,i){return oI(this,void 0,void 0,(function*(){t=Rr(t);const n={};t.verifyingContract&&!N(t.verifyingContract,20)&&(n[t.verifyingContract]="0x");const o=bI.from(e);o.visit(r,((t,e)=>("address"!==t||N(e,20)||(n[e]="0x"),e)));for(const t in n)n[t]=yield i(t);return t.verifyingContract&&n[t.verifyingContract]&&(t.verifyingContract=n[t.verifyingContract]),r=o.visit(r,((t,e)=>"address"===t&&n[e]?n[e]:e)),{domain:t,value:r}}))}static getPayload(t,e,r){bI.hashDomain(t);const i={},n=[];pI.forEach((e=>{const r=t[e];null!=r&&(i[e]=yI[e](r),n.push({name:e,type:mI[e]}))}));const o=bI.from(e),s=Rr(e);return s.EIP712Domain?sI.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):s.EIP712Domain=n,o.encode(r),{types:s,domain:i,primaryType:o.primaryType,message:o.visit(r,((t,e)=>{if(t.match(/^bytes(\d*)/))return I(A(e));if(t.match(/^u?int/))return tI.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&sI.throwArgumentError("invalid string","value",e),e}return sI.throwArgumentError("unsupported type","type",t)}))}}}window&&window.__awaiter;new y("wallet/5.6.2");function MI(t,e,r,i){return Fa(bI.hash(t,e,r),i)}const _I="6492649264926492649264926492649264926492649264926492649264926492";function EI(t,e){return t.toLowerCase()===e.toLowerCase()}function AI(t){const{domain:e,types:r,message:i}=t;return zl.hash(e,r,i)}function kI(t,r,i,n){return e(this,void 0,void 0,(function*(){let e;try{e=yield sR(n,["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]])}catch(t){if(t.message.startsWith("missing revert data in call exception"))return!1;throw t}return EI(e,"0x1626ba7e")}))}function xI(t,r,i,n){return e(this,void 0,void 0,(function*(){return EI(yield sR(n,["function isValidSignature(bytes _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]]),"0x20c13b0b")}))}var NI=Object.freeze({__proto__:null,getHash:AI,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){const{domain:o,types:s,message:a}=r;try{if(EI(t,MI(o,s,a,e)))return!0}catch(t){}const h=Eg(i,n),u=AI(r);if(e.endsWith(_I))try{return"0x01"===(yield h.call({data:k(["0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",(new ln).encode(["address","bytes32","bytes"],[t,A(u),e])])}))}catch(t){return!1}return!!(yield kI(t,e,u,h))||(yield xI(t,e,u,h))}))}});var SI=["ipfs.snapshot.box","snapshot.4everland.link","ipfs.io","ipfs.fleek.co","gateway.pinata.cloud","dweb.link","ipfs.infura.io"],II={1:{key:"1",name:"Ethereum",chainId:1,network:"homestead",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",ensResolvers:["0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63","0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41"],ensNameWrapper:"0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/5XqPmWe6gjyrJtFn9cLy237i4cWw2j9HcUJEXsP5qGtH",rpc:["https://rpc.ankr.com/eth",{url:"https://api-geth-archive.ankr.com",user:"balancer_user",password:"balancerAnkr20201015"},"https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/eth/mainnet/archive","https://apis.ankr.com/e62bc219f9c9462b8749defe472d2dc5/6106d4a3ec1d1bcc87ec72158f8fd089/eth/archive/main","https://eth-archival.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://eth-mainnet.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],light:["https://cloudflare-eth.com"],ws:["wss://eth-mainnet.ws.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],explorer:{url:"https://etherscan.io",apiUrl:"https://api.etherscan.io"},start:7929876,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},8:{key:"8",name:"Ubiq",chainId:8,network:"Ubiq",multicall:"0x6668750957e4083725926B71C41bDF1434C73262",rpc:["https://rpc.octano.dev"],ws:["wss://ws.octano.dev"],explorer:{url:"https://ubiqscan.io"},start:1,logo:"ipfs://Qmec3HLoN4QhwZAhw4XTi2aN8Wwmcko5hHN22sHARzb9tw"},10:{key:"10",name:"Optimism",chainId:10,network:"Optimism mainnet",multicall:"0x35A6Cdb2C9AD4a45112df4a04147EB07dFA01aB7",rpc:["https://opt-mainnet.g.alchemy.com/v2/JzmIL4Q3jBj7it2duxLFeuCa9Wobmm7D"],explorer:{url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io"},start:657806,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb"},19:{key:"19",name:"Songbird Canary-Network",shortName:"Songbird",chainId:19,network:"songbird",multicall:"0x17032Ea9c3a13Ed337665145364c0d2aD1108c91",rpc:["https://songbird-api.flare.network/ext/C/rpc"],explorer:{url:"https://songbird-explorer.flare.network"},start:21807126,logo:"ipfs://QmXyvnrZY8FUxSULfnKKA99sAEkjAHtvhRx5WeHixgaEdu"},24:{key:"24",name:"KardiaChain Mainnet",shortName:"KAI",chainId:24,network:"mainnet",multicall:"0xd9c92F2287B7802A37eC9BEce96Aa65fb5f31E1b",rpc:["https://kai-internal.kardiachain.io"],explorer:{url:"https://explorer.kardiachain.io"},start:8260245,logo:"ipfs://bafkreig73yfyqzbxydv6e3dbj5nks3f57px2iez7tywayey4rilfhhrr34"},25:{key:"25",name:"Cronos",shortName:"Cronos",chainId:25,network:"mainnet",multicall:"0x6F522a3982e8F9A50A2EDc9E46ed1A3aE2B3FD3a",rpc:["https://evm-cronos.crypto.org"],explorer:{url:"https://cronos.crypto.org/explorer"},start:4067,logo:"ipfs://QmfSJbtirJoa3Pt7o5Fdm85wbyw9V1hpzqLr5PQbdnfsAj"},30:{key:"30",name:"RSK",chainId:30,network:"rsk mainnet",multicall:"0x4eeebb5580769ba6d26bfd07be636300076d1831",rpc:["https://public-node.rsk.co"],explorer:{url:"https://explorer.rsk.co"},start:2516442,logo:"ipfs://QmXTwpE1SqoNZmyY4c3fYWy6qUgQELsyWKbgJo2Pg6K6V9"},46:{key:"46",name:"Darwinia Network",shortName:"Darwinia",chainId:46,network:"mainnet",multicall:"0x67f9ae42EaA9a8aBf065D60ec6Ab3C1A11370607",rpc:["https://rpc.darwinia.network"],explorer:{url:"https://darwinia.subscan.io"},start:141853,logo:"ipfs://bafkreicf55maidhx46pyu3mwsshlr43xbewr6tkckkonh4nesbkp7krwkm"},56:{key:"56",name:"BNB Smart Chain",shortName:"BSC",chainId:56,network:"mainnet",multicall:"0x1ee38d535d541c55c9dae27b12edf090c608e6fb",rpc:["https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/bsc/mainnet/archive","https://rpc.ankr.com/bsc","https://bsc.getblock.io/mainnet/?api_key=91f8195f-bf46-488f-846a-73d6853790e7","https://bsc-private-dataseed1.nariox.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed1.binance.org"],explorer:{url:"https://bscscan.com"},start:461230,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},61:{key:"61",name:"Ethereum Classic",shortName:"Ethereum Classic",chainId:61,network:"mainnet",multicall:"0x51be3a92C56ae7E207C5b5Fd87F7798Ce82C1AC2",rpc:["https://www.ethercluster.com/etc"],explorer:{url:"https://blockscout.com/etc/mainnet"},start:13307544,logo:"ipfs://QmVegc28DvA7LjKUFysab81c9BSuN4wQVDQkRXyAtuEBis"},66:{key:"66",name:"OKExChain",shortName:"OEC Mainnet",chainId:66,network:"oec mainnet",multicall:"0x6EB187d8197Ac265c945b69f3c3064A6f3831866",rpc:["https://exchainrpc.okex.org"],ws:["wss://exchainws.okex.org:8443"],explorer:{url:"https://www.oklink.com/okexchain"},start:5076543,logo:"ipfs://Qmd7dKnNwHRZ4HRCbCXUbkNV7gP28fGqPdjbHtjRtT9sQF"},75:{key:"75",name:"Decimal",shortName:"mainnet",chainId:75,network:"mainnet",multicall:"0x949d1A0757803C51F2EfFFEb5472C861A898B8E8",rpc:[],explorer:{url:"https://explorer.decimalchain.com"},start:16031065,logo:"ipfs://bafkreihkdhbce5rkogl63xegaarlirjrvbfarxbtbf5mqme3s5grvbjyxm"},81:{key:"81",name:"Shibuya Network",shortName:"Shibuya",chainId:81,network:"testnet",testnet:!0,multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shibuya.astar.network:8545"],explorer:{url:"https://blockscout.com/shibuya"},start:856303,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},82:{key:"82",name:"Meter",shortName:"Meter",chainId:82,network:"mainnet",multicall:"0x579De77CAEd0614e3b158cb738fcD5131B9719Ae",rpc:["https://rpc.meter.io"],explorer:{url:"https://scan.meter.io"},start:4992871,logo:"ipfs://QmSZvT9w9eUDvV1YVaq3BKKEbubtNVqu1Rin44FuN4wz11"},97:{key:"97",name:"BNB Smart Chain Testnet",shortName:"BSC Testnet",chainId:97,network:"testnet",testnet:!0,multicall:"0x8b54247c6BAe96A6ccAFa468ebae96c4D7445e46",rpc:["https://data-seed-prebsc-1-s1.binance.org:8545","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/bsc/testnet/archive"],explorer:{url:"https://testnet.bscscan.com"},start:3599656,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},100:{key:"100",name:"Gnosis Chain",shortName:"xDAI",chainId:100,network:"mainnet",multicall:"0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a",rpc:["https://gno.getblock.io/mainnet/6c1d1e6e-75d9-452f-a863-a694bff93d5c/","https://xdai-archive.blockscout.com","https://poa-xdai.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://rpc.gnosischain.com"],light:["https://rpc.gnosischain.com"],ws:["wss://rpc.xdaichain.com/wss"],explorer:{url:"https://gnosis.blockscout.com"},start:4108192,logo:"ipfs://QmZeiy8Ax4133wzxUQM9ky8z5XFVf6YLFjJMmTWbWVniZR"},108:{key:"108",name:"Thundercore",chainId:108,network:"mainnet",multicall:"0x3017086deef56679e267f67f66c4415109b7a97f",rpc:["https://mainnet-rpc.thundercore.com/archived/SNAPSHOTEuR82a75fLYA"],explorer:{url:"https://viewblock.io/thundercore"},start:94425385,logo:"ipfs://bafkreifc5z5vtvqx2luzgateyvoocwpd2ifv2hwufxdnyl2a767wa6icli"},109:{key:"109",name:"Shibarium",shortName:"mainnet",chainId:109,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://shibariumscan.io"},start:3485946,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm"},122:{key:"122",name:"Fuse",shortName:"Fuse",chainId:122,network:"mainnet",multicall:"0x7a59441fb06666F6d2D766393d876945D06a169c",rpc:["https://explorer-node.fuse.io/","https://oefusefull1.liquify.info/"],explorer:{url:"https://explorer.fuse.io"},start:11923459,logo:"ipfs://QmXjWb64nako7voaVEifgdjAbDbswpTY8bghsiHpv8yWtb"},137:{key:"137",name:"Polygon PoS",shortName:"Polygon",chainId:137,network:"mainnet",multicall:"0xCBca837161be50EfA5925bB9Cc77406468e76751",rpc:["https://rpc.ankr.com/polygon","https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/polygon/mainnet/archive","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/polygon/mainnet/archive","https://rpc-mainnet.maticvigil.com/v1/1cfd7598e5ba6dcf0b4db58e8be484badc6ea08e"],ws:["wss://ws-mainnet.matic.network"],explorer:{url:"https://polygonscan.com",apiUrl:"https://api.polygonscan.com"},start:9834491,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},144:{key:"144",name:"PHI Network",shortName:"PHI",chainId:144,network:"mainnet",multicall:"0xc2f41B404a6757863AAeF49ff93039421acCd630",rpc:["https://connect.phi.network"],explorer:{url:"https://phiscan.com"},start:360030,logo:"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a"},146:{key:"146",name:"Sonic",shortName:"mainnet",chainId:146,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.soniclabs.com"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44"},148:{key:"148",name:"ShimmerEVM",shortName:"ShimmerEVM",chainId:148,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.evm.shimmer.network/"},start:1290,logo:"ipfs://bafkreib4xhbgbhrwkmizp4d4nz3wzbpyhdm6wpz2v2pbkk7jxsgg3hdt74"},157:{key:"157",name:"Shibarium Puppynet Testnet",shortName:"testnet",chainId:157,network:"testnet",multicall:"0xA4029b74FBA366c926eDFA7Dd10B21C621170a4c",rpc:[],explorer:{url:"https://puppyscan.shib.io/"},start:3035769,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm",testnet:!0},169:{key:"169",name:"Manta Pacific",shortName:"Manta",chainId:169,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://www.oklink.com/manta"},start:332890,logo:"ipfs://bafkreibbrwgwdcfh755dqh4ndta6tja77qbaa36bfv4pstub6prhhore7a"},204:{key:"204",name:"opBNB",shortName:"mainnet",chainId:204,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"http://opbnbscan.com/"},start:512881,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},246:{key:"246",name:"Energy Web Chain",shortName:"EWC",chainId:246,network:"mainnet",multicall:"0x0767F26d0D568aB61A98b279C0b28a4164A6f05e",rpc:["https://voting-rpc.carbonswap.exchange"],explorer:{url:"https://explorer.energyweb.org"},start:12086501,logo:"ipfs://Qmai7AGHgs8NpeGeXgbMZz7pS2i4kw44qubCJYGrZW2f3a"},250:{key:"250",name:"Fantom Opera",shortName:"fantom",chainId:250,network:"Mainnet",multicall:"0x7f6A10218264a22B4309F3896745687E712962a0",rpc:["https://rpc.ankr.com/fantom","https://rpc.ftm.tools","https://rpcapi.fantom.network"],explorer:{url:"https://ftmscan.com"},start:2497732,logo:"ipfs://QmVEgNeQDKnXygeGxfY9FywZpNGQu98ktZtRJ9bToYF6g7"},252:{key:"252",name:"Fraxtal",shortName:"mainnet",chainId:252,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu"},269:{key:"269",name:"High Performance Blockchain",shortName:"HPB",chainId:269,network:"mainnet",multicall:"0x67D0f263aef2F6167FA77353695D75b582Ff4Bca",rpc:["https://hpbnode.com"],ws:["wss://ws.hpbnode.com"],explorer:{url:"https://hscan.org"},start:13960096,logo:"ipfs://QmU7f1MyRz8rLELFfypnWZQjGbDGYgZtC9rjw47jYMYrnu"},300:{key:"300",name:"zkSync Sepolia Testnet",shortName:"testnet",chainId:300,network:"testnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:[],explorer:{url:"https://sepolia.explorer.zksync.dev/"},start:2292,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy",testnet:!0},314:{key:"314",name:"Filecoin",shortName:"mainnet",chainId:314,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://filfox.io"},start:3328594,logo:"ipfs://bafybeibyvjfmk6aqlfdrczvth55jkmnoadtrch7ht3rdmvqmy2bfxynecm"},321:{key:"321",name:"KCC",shortName:"KCC",chainId:321,network:"mainnet",multicall:"0xa64D6AFb48225BDA3259246cfb418c0b91de6D7a",rpc:["https://rpc-mainnet.kcc.network"],ws:["wss://rpc-ws-mainnet.kcc.network"],explorer:{url:"https://explorer.kcc.io"},start:1487453,logo:"ipfs://QmRdzYGhFRG8QLzMJahHrw3vETE2YZ9sywQbEkenSjKEvb"},324:{key:"324",name:"zkSync Era",shortName:"zkSync-era",chainId:324,network:"zkSync Era Mainnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:["https://mainnet.era.zksync.io"],explorer:{url:"https://explorer.zksync.io/"},start:3908235,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy"},336:{key:"336",name:"Shiden Network",shortName:"Shiden",chainId:336,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shiden.astar.network:8545","https://shiden.api.onfinality.io/public"],explorer:{url:"https://blockscout.com/shiden"},start:1170016,logo:"ipfs://QmcqGQE4Sk73zXc3e91TUFFefKBVeaNgbxV141XkSNE4xj"},369:{key:"369",name:"Pulsechain",shortName:"Pulsechain",chainId:369,network:"mainnet",multicall:"0xdbdd0FD8B16F0092f306392b699D7fbddaA9011B",rpc:["https://rpc.pulsechain.com"],explorer:{url:"https://scan.pulsechain.com/"},start:17657774,logo:"ipfs://QmWUsiEWdejtHZ9B9981TYXn7Ds8C7fkB1S4h5rP3kCCZR"},416:{key:"416",name:"SX Network",shortName:"SX",chainId:416,network:"mainnet",multicall:"0x834a005DDCF990Ba1a79f259e840e58F2D14F49a",rpc:["https://rpc.sx.technology"],ws:["wss://rpc.sx.technology/ws"],explorer:{url:"https://explorer.sx.technology"},start:2680605,logo:"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF"},592:{key:"592",name:"Astar Network",shortName:"Astar",chainId:592,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://astar.api.onfinality.io/public","https://rpc.astar.network:8545"],explorer:{url:"https://blockscout.com/astar"},start:366482,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},813:{key:"813",name:"Qitmeer",shortName:"MEER",chainId:813,network:"mainnet",multicall:"0x55034b2cF530ae3A8fC1e2e4523F58496796610F",rpc:["https://evm-dataseed1.meerscan.io","https://evm-dataseed.meerscan.com","https://evm-dataseed2.meerscan.io","https://evm-dataseed3.meerscan.io"],explorer:{url:"https://evm.meerscan.io"},start:43317,logo:"ipfs://QmXvum7SNVaAqAc2jNzR1NpNZN1GGvNaKWydg8a1GEDQ7y"},841:{key:"841",name:"Taraxa",shortName:"841",chainId:841,network:"mainnet",multicall:"0xFCe7a3121B42664AaD145712e1c2Bf2e38f60AA1",rpc:["https://rpc.mainnet.taraxa.io"],ws:["wss://ws.mainnet.taraxa.io"],explorer:{url:"https://mainnet.explorer.taraxa.io"},start:1515906,logo:"ipfs://Qmcc6ZCAGESMzZzoj5LsTVcCo2E35x3Ydk71uPJyov6Mwx"},888:{key:"888",name:"Wanchain",chainId:888,network:"mainnet",multicall:"0xba5934ab3056fca1fa458d30fbb3810c3eb5145f",rpc:["https://gwan-ssl.wandevs.org:56891"],ws:["wss://api.wanchain.org:8443/ws/v3/ddd16770c68f30350a21114802d5418eafe039b722de52b488e7eee1ee2cd73f"],explorer:{url:"https://www.wanscan.org"},start:11302663,logo:"ipfs://QmewFFN44rkxESFsHG8edaLt1znr62hjvZhGynfXqruzX3"},1001:{key:"1001",name:"Kaia Kairos Testnet",shortName:"kaia-kairos",chainId:1001,network:"testnet",testnet:!0,multicall:"0x40643B8Aeaaca0b87Ea1A1E596e64a0e14B1d244",rpc:["https://archive-en-kairos.node.kaia.io"],ws:["wss://archive-en-kairos.node.kaia.io/ws"],explorer:{url:"https://kairos.kaiascan.com"},start:87232478,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},1072:{key:"1072",name:"Shimmer EVM Testnet",shortName:"ShimmerEVM",chainId:1072,network:"testnet",testnet:!0,multicall:"0x751d21047C116413895c259f3f305e38C10B7cF6",rpc:["https://archive.evm.testnet.shimmer.network/v1/chains/rms1pr75wa5xuepg2hew44vnr28wz5h6n6x99zptk2g68sp2wuu2karywgrztx3/evm"],explorer:{url:"https://explorer.evm.testnet.shimmer.network/"},start:10614,logo:"ipfs://bafkreihtwfwrue7klzedwx4rqlk6agklz4lbbk7owsyw6xzn6c2m4t5tgy"},1088:{key:"1088",name:"Metis",shortName:"metis",chainId:1088,network:"mainnet",multicall:"0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",rpc:["https://andromeda.metis.io/?owner=1088"],explorer:{url:"https://andromeda-explorer.metis.io"},start:451,logo:"ipfs://bafkreiaqr4atnjpdnk3c4vu4377ai7bzqpgaefefbl5j5imfsvr4puimtu"},1101:{key:"1101",name:"Polygon zkEVM",shortName:"mainnet",chainId:1101,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://zkevm.polygonscan.com"},start:57746,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm"},1116:{key:"1116",name:"Core Chain",shortName:"Core",chainId:1116,network:"mainnet",multicall:"0x024f0041b76B598c2A0a75004F8447FaF67BD004",rpc:["https://rpcar.coredao.org/"],explorer:{url:"https://scan.coredao.org"},start:853908,logo:"ipfs://bafkreigjv5yb7uhlrryzib7j2f73nnwqan2tmfnwjdu26vkk365fyesoiu"},1284:{key:"1284",name:"Moonbeam",shortName:"GLMR",chainId:1284,network:"mainnet",multicall:"0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",rpc:["https://rpc.api.moonbeam.network"],explorer:{url:"https://moonscan.io/"},start:171135,logo:"ipfs://QmWKTEK2pj5sBBbHnMHQbWgw6euVdBrk2Ligpi2chrWASk"},1285:{key:"1285",name:"Moonriver (Kusama)",shortName:"Moonriver",chainId:1285,network:"mainnet",multicall:"0x537004440ffFE1D4AE9F009031Fc2b0385FCA9F1",rpc:["https://rpc.api.moonriver.moonbeam.network"],explorer:{url:"https://blockscout.moonriver.moonbeam.network"},start:413539,logo:"ipfs://QmXtgPesL87Ejhq2Y7yxsaPYpf4RcnoTYPJWPcv6iiYhoi"},1287:{key:"1287",name:"Moonbase Alpha TestNet",shortName:"Moonbase",chainId:1287,network:"testnet",testnet:!0,multicall:"0xf09FD6B6FF3f41614b9d6be2166A0D07045A3A97",rpc:["https://rpc.testnet.moonbeam.network"],explorer:{url:"https://moonbase-blockscout.testnet.moonbeam.network"},start:859041,logo:"ipfs://QmeGbNTU2Jqwg8qLTMGW8n8HSi2VdgCncAaeGzLx6gYnD7"},1328:{key:"1328",name:"Sei atlantic testnet",shortName:"testnet",chainId:1328,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://seitrace.com"},start:96978658,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},1329:{key:"1329",name:"Sei",shortName:"mainnet",chainId:1329,network:"mainnet",multicall:"0xe033Bed7cae4114Af84Be1e9F1CA7DEa07Dfe1Cf",rpc:[],explorer:{url:"https://seitrace.com/"},start:79164574,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq"},1480:{key:"1480",name:"Vana",shortName:"mainnet",chainId:1480,network:"mainnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://islander.vanascan.io/"},start:716763,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa"},1559:{key:"1559",name:"Tenet",shortName:"tenet",chainId:1559,network:"mainnet",multicall:"0xcCB3F00bE353950E4C08501ac8Af48765EAAa738",rpc:[],explorer:{url:"https://tenetscan.io"},start:944415,logo:"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA"},1663:{key:"1663",name:"Horizen Gobi Testnet",shortName:"Gobi",chainId:1663,network:"testnet",testnet:!0,multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:["https://gobi-testnet.horizenlabs.io/ethv1"],explorer:{url:"https://gobi-explorer.horizen.io"},start:1,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},2e3:{key:"2000",name:"Doge Chain",shortName:"dogechain",chainId:2e3,network:"mainnet",multicall:"0x6f9D3f3932B417bd4957585D236Cbc32b32C0BDc",rpc:["https://rpc.dogechain.dog"],explorer:{url:"https://explorer.dogechain.dog"},start:877115,logo:"ipfs://bafkreigovfh3pinsdih777issfgaflwu2yjzroljs2642gbvwikcd3nm4i"},2109:{key:"2109",name:"Exosama Network",shortName:"EXN",chainId:2109,network:"mainnet",multicall:"0x2feFC828e2fEfdE0C9f7740919c6A9139F886067",rpc:["https://rpc.exosama.com"],explorer:{url:"https://explorer.exosama.com"},start:94085,logo:"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS"},2152:{key:"2152",name:"Findora",shortName:"Findora",chainId:2152,network:"mainnet",multicall:"0xCF7D1e21CBe9bdEF235aef06C5d8051B3d4DF0f5",rpc:["https://archive.prod.findora.org:8545/"],explorer:{url:"https://evm.findorascan.io"},start:4219343,logo:"ipfs://QmXkneyRB6HbHTHRLCZpZqSsawiyJY7b2kZ2V8ydvKYAgv"},2192:{key:"2192",name:"SnaxChain",shortName:"mainnet",chainId:2192,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.snaxchain.io"},start:1554893,logo:"ipfs://bafkreibzz757piho2llzkbiszpvalf5k5hpmxcwhvrmgp7vpz2vp4vj7ly"},2221:{key:"2221",name:"Kava Testnet",shortName:"testnet",chainId:2221,network:"testnet",multicall:"0xc7193EFE367DF0C9349a1149F4E95A2A35604262",rpc:[],explorer:{url:"https://testnet.kavascan.com"},start:6193104,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4",testnet:!0},2222:{key:"2222",name:"Kava",shortName:"mainnet",chainId:2222,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://kavascan.com/"},start:3661165,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4"},2400:{key:"2400",name:"TCG Verse",shortName:"TCGV",chainId:2400,network:"mainnet",multicall:"0xceC65DEE0b5012F1b7321b2647681F997c7204FC",rpc:["https://rpc.tcgverse.xyz"],explorer:{url:"https://explorer.tcgverse.xyz"},start:57500,logo:"ipfs://bafkreidg4wpewve5mdxrofneqblydkrjl3oevtgpdf3fk3z3vjqam6ocoe"},2522:{key:"2522",name:"Fraxtal Testnet",shortName:"testnet",chainId:2522,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://holesky.fraxscan.com/"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu",testnet:!0},4200:{key:"4200",name:"Merlin",shortName:"merlin",chainId:4200,network:"mainnet",multicall:"0x830E7E548F4D80947a40A7Cf3a2a53166a0C3980",rpc:[],explorer:{url:"https://scan.merlinchain.io"},start:589494,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe"},4337:{key:"4337",name:"Beam",shortName:"Beam",chainId:4337,network:"mainnet",multicall:"0x4956F15eFdc3dC16645e90Cc356eAFA65fFC65Ec",rpc:[],explorer:{url:"https://subnets.avax.network/beam/"},start:1,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF"},4689:{key:"4689",name:"IoTeX",shortName:"IoTeX",chainId:4689,network:"mainnet",multicall:"0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",rpc:["https://babel-api.mainnet.iotex.io"],explorer:{url:"https://iotexscan.io"},start:11533283,logo:"ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"},5e3:{key:"5000",name:"Mantle",chainId:5e3,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.mantle.xyz"],explorer:{url:"https://explorer.mantle.xyz"},start:304717,logo:"ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"},5555:{key:"5555",name:"Chain Verse",shortName:"ChainVerse",chainId:5555,network:"ChainVerse",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.chainverse.info"],explorer:{url:"https://explorer.chainverse.info"},start:6334180,logo:"ipfs://QmQyJt28h4wN3QHPXUQJQYQqGiFUD77han3zibZPzHbitk"},5611:{key:"5611",name:"opBNB Testnet",shortName:"testnet",chainId:5611,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://opbnb-testnet.bscscan.com"},start:3705108,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64",testnet:!0},6102:{key:"6102",name:"Cascadia Testnet",shortName:"Cascadia",chainId:6102,network:"testnet",multicall:"0x728989819bAD588F193563008E0a03E8cD6a3e4a",rpc:["https://testnet.cascadia.foundation"],explorer:{url:"https://explorer.cascadia.foundation"},testnet:!0,start:370457,logo:"ipfs://QmWkhZYhReYyaa5pQXj32hEGxoRcBqarFMcfQScELmjYQj"},7332:{key:"7332",name:"Horizen EON",shortName:"EON",chainId:7332,network:"mainnet",multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:[],explorer:{url:"https://eon-explorer.horizenlabs.io"},start:85108,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},7341:{key:"7341",name:"Shyft",shortName:"Shyft",chainId:7341,network:"mainnet",multicall:"0xceb10e9133D771cA93c8002Be527A465E85381a2",rpc:["https://rpc.shyft.network"],explorer:{url:"https://bx.shyft.network"},start:3673983,logo:"ipfs://bafkreifwxnnfk6koabzmxgcxcwlrwt6b5gijdain2gyqee77q4ajfb7fu4"},7560:{key:"7560",name:"Cyber",shortName:"mainnet",chainId:7560,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://cyberscan.co"},start:1731707,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm"},8217:{key:"8217",name:"Kaia Mainnet",shortName:"kaia-mainnet",chainId:8217,network:"mainnet",multicall:"0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",rpc:["https://archive-en.node.kaia.io"],ws:["wss://archive-en.node.kaia.io/ws"],explorer:{url:"https://kaiascan.com"},start:91582357,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},8453:{key:"8453",name:"Base",shortName:"mainnet",chainId:8453,network:"mainnet",multicall:"0xca11bde05977b3631167028862be2a173976ca11",rpc:[],explorer:{url:"https://basescan.org/"},start:5022,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv"},9001:{key:"9001",name:"Evmos Network",shortName:"Evmos",chainId:9001,network:"mainnet",multicall:"0x37763d16f8dBf6F185368E0f256350cAb7E24b26",rpc:["https://eth.bd.evmos.org:8545"],ws:["wss://eth.bd.evmos.org:8546"],explorer:{url:"https://escan.live"},start:13959539,logo:"ipfs://bafkreif4obrdoiretpozdd56seziywc6clha7wwkbldng3ovry2bpzly34"},1e4:{key:"10000",name:"smartBCH",shortName:"BCH",chainId:1e4,network:"mainnet",multicall:"0x1b38EBAd553f218e2962Cb1C0539Abb5d6A37774",rpc:["https://smartbch.greyh.at/"],explorer:{url:"https://smartbch-explorer.web.app"},start:268248,logo:"ipfs://QmWG1p7om4hZ4Yi4uQvDpxg4si7qVYhtppGbcDGrhVFvMd"},10243:{key:"10243",name:"Arthera Testnet",shortName:"Arthera_",chainId:10243,network:"testnet",testnet:!0,multicall:"0x27c7FC597aD2E81C4c1cA1769972f79DaF042Da7",rpc:["https://rpc-test.arthera.net"],explorer:{url:"https://explorer-test.arthera.net"},start:10523,logo:"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak"},13337:{key:"13337",name:"Beam Testnet",shortName:"testnet",chainId:13337,network:"testnet",multicall:"0x9BF49b704EE2A095b95c1f2D4EB9010510c41C9E",rpc:[],explorer:{url:"https://subnets-test.avax.network/beam/"},start:3,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF",testnet:!0},13371:{key:"13371",name:"Immutable zkEVM",shortName:"mainnet",chainId:13371,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.immutable.com"},start:3680945,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi"},13473:{key:"13473",name:"Immutable zkEVM Testnet",shortName:"testnet",chainId:13473,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.testnet.immutable.com"},start:5307209,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi",testnet:!0},14800:{key:"14800",name:"Vana Moksha Testnet",shortName:"testnet",chainId:14800,network:"testnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://moksha.vanascan.io"},start:732283,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa",testnet:!0},16718:{key:"16718",name:"AirDAO",chainId:16718,network:"mainnet",multicall:"0x25e81aC81A8B03389D78CB45faB78353aB528574",rpc:["https://network-archive.ambrosus.io"],ws:["wss://network-archive.ambrosus.io/ws"],explorer:{url:"https://airdao.io/explorer"},start:22922566,logo:"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom"},29548:{key:"29548",name:"MCH Verse",shortName:"mainnet",chainId:29548,network:"mainnet",multicall:"0x1d39652386488CE1fE4254E105F5A42a04d43dB2",rpc:[],explorer:{url:"https://explorer.oasys.mycryptoheroes.net"},start:27458402,logo:"ipfs://QmZZnwR1y6cU1sare2TQmwqkNDLXQxD4GdPrmHLmUoPtbU"},33111:{key:"33111",name:"Curtis",shortName:"apechain",chainId:33111,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://explorer.curtis.apechain.com"},start:6661339,logo:"ipfs://bafkreicljxttjq2xkgfwwpii5xegirgq2ctrnsjnzelxudjj33qzq65apu",testnet:!0},33139:{key:"33139",name:"ApeChain",shortName:"mainnet",chainId:33139,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://apechain.calderaexplorer.xyz/"},start:20889,logo:"ipfs://bafkreielbgcox2jsw3g6pqulqb7pyjgx7czjt6ahnibihaij6lozoy53w4"},42161:{key:"42161",name:"Arbitrum One",chainId:42161,network:"Arbitrum mainnet",multicall:"0x7A7443F8c577d537f1d8cD4a629d40a3148Dd7ee",rpc:["https://rpc.ankr.com/arbitrum","https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/arbitrum/mainnet","https://arb-mainnet.g.alchemy.com/v2/JDvtNGwnHhTltIwfnxQocKwKkCTKA1DL"],explorer:{url:"https://arbiscan.io"},start:256508,logo:"ipfs://QmWZ5SMRfvcK8tycsDqojQaSiKedgtVkS7CkZdxPgeCVsZ"},42170:{key:"42170",name:"Arbitrum Nova",chainId:42170,network:"Arbitrum Nova",multicall:"0x4E74EBd9CABff51cE9a43EFe059bA8c5A28E4A14",rpc:["https://nova.arbitrum.io/rpc","https://arbitrum-nova.public.blastapi.io"],explorer:{url:"https://nova.arbiscan.io/"},start:6006607,logo:"ipfs://bafkreie5xsqt3mrrwu7v32qpmmctibhzhgxf4emfzzddsdhdlfsa7fmplu"},42220:{key:"42220",name:"Celo",shortName:"Celo",chainId:42220,network:"mainnet",multicall:"0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",rpc:["https://celo.snapshot.org","https://forno.celo.org","https://celo-mainnet--rpc.datahub.figment.io/apikey/e892a66dc36e4d2d98a5d6406d609796/"],explorer:{url:"https://explorer.celo.org"},start:6599803,logo:"ipfs://QmS2tVJ7rdJRe1NHXAi2L86yCbUwVVrmB2mHQeNdJxvQti"},43113:{key:"43113",name:"Avalanche FUJI Testnet",chainId:43113,network:"testnet",testnet:!0,multicall:"0x984476ea55e32e785A9D8FF14329f99D74E3d2A2",rpc:["https://api.avax-test.network/ext/bc/C/rpc"],explorer:{url:"https://testnet.snowtrace.io"},start:10528153,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},43114:{key:"43114",name:"Avalanche",chainId:43114,network:"mainnet",multicall:"0x7E9985aE4C8248fdB07607648406a48C76e9e7eD",rpc:["https://nd-784-543-849.p2pify.com/aa7b29fc5fed65b34f0ee6b8de33f8c0/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://api.avax.network/ext/bc/C/rpc"],explorer:{url:"https://snowtrace.io"},start:536483,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},47805:{key:"47805",name:"REI Mainnet",chainId:47805,network:"mainnet",multicall:"0x9eE9904815B80C39C1a27294E69a8626EAa7952d",rpc:["https://rpc.rei.network"],explorer:{url:"https://scan.rei.network/"},start:1715902,logo:"ipfs://QmTogMDLmDgJjDjUKDHDuc2KVTVDbXf8bXJLFiVe8PRxgo"},53935:{key:"53935",name:"DFK Chain",chainId:53935,network:"mainnet",multicall:"0x5b24224dC16508DAD755756639E420817DD4c99E",rpc:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"],explorer:{url:"https://subnets.avax.network/defi-kingdoms/"},start:62,logo:"ipfs://QmZNkpVgPbuVbDcsi6arwH1om3456FGnwfDqYQJWUfHDEx"},57054:{key:"57054",name:"Sonic Blaze Testnet",shortName:"testnet",chainId:57054,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://testnet.sonicscan.org"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44",testnet:!0},59141:{key:"59141",name:"Linea Sepolia",shortName:"testnet",chainId:59141,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.lineascan.build/"},start:227427,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce",testnet:!0},59144:{key:"59144",name:"Linea",shortName:"linea",chainId:59144,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://lineascan.build/"},start:42,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce"},80001:{key:"80001",name:"Polygon Mumbai",chainId:80001,network:"testnet",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/polygon/mumbai/archive","https://rpc-mumbai.matic.today"],ws:["wss://ws-mumbai.matic.today"],explorer:{url:"https://mumbai.polygonscan.com",apiUrl:"https://api-mumbai.polygonscan.com"},start:12011090,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},80002:{key:"80002",name:"Polygon Amoy Testnet",shortName:"testnet",chainId:80002,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://amoy.polygonscan.com/"},start:3127388,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm",testnet:!0},81457:{key:"81457",name:"Blast",shortName:"mainnet",chainId:81457,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://blastscan.io"},start:88189,logo:"ipfs://bafkreicqhrimt2zyp2kvhmbpvffxlmxovkg5vw6zkissyzibcfy45kbvrm"},84532:{key:"84532",name:"Base Sepolia",shortName:"testnet",chainId:84532,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://base-sepolia.blockscout.com/"},start:1059647,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv",testnet:!0},686868:{key:"686868",name:"Merlin Testnet",shortName:"merlin",chainId:686868,network:"testnet",multicall:"0x758BC6321b7c68F4986d62a4D46E83A2DCb58c80",rpc:[],explorer:{url:"https://testnet-scan.merlinchain.io"},start:3562021,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe",testnet:!0},713715:{key:"713715",name:"Sei EVM Devnet",shortName:"devnet",chainId:713715,network:"testnet",multicall:"0xEe8d287B844959ADe40d718Dc23077ba920e2f07",rpc:[],explorer:{url:"https://seitrace.com"},start:1463669,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},810180:{key:"810180",name:"zkLink Nova",shortName:"zlink",chainId:810180,network:"mainnet",multicall:"0x825267E0fA5CAe92F98540828a54198dcB3Eaeb5",rpc:[],explorer:{url:"https://explorer.zklink.io"},start:146055,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74"},810181:{key:"810181",name:"zkLink Nova Sepolia",shortName:"testnet",chainId:810181,network:"testnet",multicall:"0x97148F8fDdd9A1620f72EC1Bb2932916623d9da5",rpc:[],explorer:{url:"https://sepolia.explorer.zklink.io/"},start:43723,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74",testnet:!0},11155111:{key:"11155111",name:"Sepolia testnet",shortName:"Sepolia",chainId:11155111,network:"sepolia",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://sepolia.infura.io/v3/d26b4fd748814fe994b05899fd89e667"],ensResolvers:["0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"],ensNameWrapper:"0x0635513f179D50A207757E05759CbD106d7dFcE8",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/DmMXLtMZnGbQXASJ7p1jfzLUbBYnYUD9zNBTxpkjHYXV",explorer:{url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io"},start:751532,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},11155420:{key:"11155420",name:"OP Sepolia",shortName:"testnet",chainId:11155420,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia-optimism.etherscan.io"},start:1620204,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb",testnet:!0},111557560:{key:"111557560",name:"Cyber Testnet",shortName:"testnet",chainId:111557560,network:"testnet",multicall:"0xffc391F0018269d4758AEA1a144772E8FB99545E",rpc:[],explorer:{url:"https://testnet.cyberscan.co/"},start:304545,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm",testnet:!0},168587773:{key:"168587773",name:"Blast Sepolia",shortName:"testnet",chainId:168587773,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.blastexplorer.io"},start:756690,logo:"ipfs://bafkreibfmkjg22cozxppzcoxswj45clvh2rqhxzax57cmmgudbtkf4dkce",testnet:!0},245022926:{key:"245022926",name:"Neon Devnet",shortName:"devnet",chainId:245022926,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://devnet.neonscan.org/"},start:205206112,logo:"ipfs://QmecRPQGa4bU7tybg1sUQY48Md9rWnmhrT6WW5ueqvhg6P",testnet:!0},1313161554:{key:"1313161554",name:"Aurora",shortName:"Aurora",chainId:1313161554,network:"mainnet",multicall:"0x32b50c286DEFd2932a0247b8bb940b78c063F16c",rpc:["https://mainnet.aurora.dev"],explorer:{url:"https://explorer.mainnet.aurora.dev"},start:57190533,logo:"ipfs://QmeRhsR1UPRTQCizdhmgr2XxphXebVKU5di97uCV2UMFpa"},16666e5:{key:"1666600000",name:"Harmony",shortName:"HarmonyMainnet",chainId:16666e5,network:"mainnet",multicall:"0x9c31392D2e0229dC4Aa250F043d46B9E82074BF8",rpc:["https://a.api.s0.t.hmny.io"],ws:["wss://ws.s0.t.hmny.io"],explorer:{url:"https://explorer.harmony.one"},start:10911984,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"},16667e5:{key:"1666700000",name:"Harmony Testnet",shortName:"HarmonyTestnet",chainId:16667e5,network:"testnet",testnet:!0,multicall:"0x9923589503Fd205feE3d367DDFF2378f0F7dD2d4",rpc:["https://api.s0.b.hmny.io"],ws:["wss://ws.s0.b.hmny.io"],explorer:{url:"https://explorer.pops.one"},start:7521509,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"}};class RI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"number"==typeof t&&void 0!==(null==e?void 0:e[t-1])}getValidVotes(){return this.votes.filter((t=>RI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>{const r=this.getValidVotes().filter((t=>t.choice===e+1));return r.reduce(((t,e)=>t+e.balance),0)}))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>{const r=this.strategies.map(((t,r)=>{const i=this.getValidVotes().filter((t=>t.choice===e+1));return i.reduce(((t,e)=>t+e.scores[r]),0)}));return r}))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices[this.selected-1]}}class TI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size}getValidVotes(){return this.votes.filter((t=>TI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.balance),0)))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.scores[r]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected?this.proposal.choices.filter(((t,e)=>this.selected.includes(e+1))).join(", "):""}}function CI(t,e){const r=t/e.reduce(((t,e)=>t+e),0);return isNaN(r)?0:r}function PI(t,e){return Math.sqrt(t*e)}function OI(t){return t*t}function BI(t,e){return t.map((t=>e*t))}class $I{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>$I.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>{const i=t.map((t=>PI(CI(t.choice[r+1],Object.values(t.choice)),t.balance))).reduce(((t,e)=>t+e),0);return OI(i)}));return BI(r.map(((t,e)=>CI(r[e],r))),e)}getScoresByStrategy(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.map((t=>PI(CI(t.choice[r+1],Object.values(t.choice)),t.scores[i]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[OI(t)]))));return r.map(((t,i)=>BI(this.strategies.map(((t,e)=>CI(r[i][e][0],r.flat(2)))),e)))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1]){const r=CI(this.selected[e+1],Object.values(this.selected));return`${Math.round(1e3*r)/10}% for ${t}`}})).filter((t=>null!=t)).join(", ")}}function UI(t,e){const r=[...new Set(t.map((t=>t[0])).flat())],i=Object.entries(t.reduce(((t,[e],r,i)=>{const n=i[r][1];t[e[0]][0]+=n;const o=i[r][2];return o.length>1?t[e[0]][1]=o.map(((r,i)=>r+t[e[0]][1][i]||r)):t[e[0]][1]=[t[e[0]][1].concat(o).reduce(((t,e)=>t+e),0)],t}),Object.assign({},...r.map((t=>({[t]:[0,[]]})))))),n=i.map((t=>[t[0],t[1][0]])),[o,s]=n.reduce((([t,e],[r,i])=>i>e?[r,i]:[t,e]),["?",-1/0]),[a,h]=n.reduce((([t,e],[r,i])=>i<e?[r,i]:[t,e]),["?",1/0]),u=i.sort(((t,e)=>e[1][0]-t[1][0])),l=t.map((t=>t[1])).reduce(((t,e)=>t+e),0);return e.push({round:e.length+1,sortedByHighest:u}),s>l/2||u.length<3?e:UI(t.map((t=>[t[0].filter((t=>t!=a)),t[1],t[2]])).filter((t=>t[0].length>0)),e)}function DI(t){const e=UI(t.map((t=>[t.choice,t.balance,t.scores])),[]);return e[e.length-1].sortedByHighest}class LI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size&&t.length>0&&t.length===e.length}getValidVotes(){return this.votes.filter((t=>LI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return function(t,e){const r=DI(t);return e.choices.map(((t,e)=>r.filter((t=>Number(t[0])===e+1)).reduce(((t,e)=>t+e[1][0]),0)))}(this.getValidVotes(),this.proposal)}getScoresByStrategy(){const t=DI(this.getValidVotes());return this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.filter((t=>Number(t[0])===r+1)).reduce(((t,e)=>t+e[1][1][i]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected.map((t=>{if(this.proposal.choices[t-1])return this.proposal.choices[t-1]})).map(((t,e)=>`(${dR(e+1)}) ${t}`)).join(", ")}}function FI(t,e,r){const i=r.reduce(((t,e)=>t+e),0),n=e[t]/i*100;return isNaN(n)?0:n}function jI(t,e,r){return FI(t+1,e,Object.values(e))/100*r}class zI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>zI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.proposal.choices.map(((t,e)=>this.getValidVotes().map((t=>jI(e,t.choice,t.balance))).reduce(((t,e)=>t+e),0))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((e,r)=>FI(r,t,t))).map((t=>e/100*t))}getScoresByStrategy(){const t=this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().map((t=>jI(e,t.choice,t.scores[r]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[t])))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((r,i)=>this.strategies.map(((e,r)=>FI(0,t[i][r],t.flat(2)))).map((t=>[e/100*t])).flat()))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1])return`${Math.round(10*FI(e+1,this.selected,Object.values(this.selected)))/10}% for ${t}`})).filter((t=>null!=t)).join(", ")}}var qI={"single-choice":RI,approval:TI,quadratic:$I,"ranked-choice":LI,weighted:zI,basic:RI};const VI={1:"https://subgrapher.snapshot.org/delegation/1",10:"https://subgrapher.snapshot.org/delegation/10",56:"https://subgrapher.snapshot.org/delegation/56",100:"https://subgrapher.snapshot.org/delegation/100",137:"https://subgrapher.snapshot.org/delegation/137",250:"https://subgrapher.snapshot.org/delegation/250",8453:"https://subgrapher.snapshot.org/delegation/8453",42161:"https://subgrapher.snapshot.org/delegation/42161",59144:"https://subgrapher.snapshot.org/delegation/59144",81457:"https://subgrapher.snapshot.org/delegation/81457",84532:"https://subgrapher.snapshot.org/delegation/84532",11155111:"https://subgrapher.snapshot.org/delegation/11155111"},HI=1e3;function ZI(t){return t.length===HI&&t[0].timestamp===t[t.length-1].timestamp}function GI(t,e){const r=function(t){return`${t.delegator}-${t.delegate}-${t.space}`}(e);t.has(r)||t.set(r,e)}function KI(t){const e=["",t];return t.includes(".eth")&&e.push(t.replace(".eth","")),e}function JI(t){return e(this,arguments,void 0,(function*({url:t,spaces:e,pivot:r,snapshot:i}){const n={delegations:{__args:{where:{timestamp_gte:r},first:HI,skip:0,orderBy:"timestamp",orderDirection:"asc"},delegator:!0,space:!0,delegate:!0,timestamp:!0}};return"latest"!==i&&(n.delegations.__args.block={number:i}),null!==e&&(n.delegations.__args.where.space_in=e),(yield hR(t,n)).delegations||[]}))}const QI="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",WI=["function text(bytes32 node, string calldata key) external view returns (string memory)","function resolver(bytes32 node) view returns (address)"],YI={"0x534e5f4d41494e":{name:"Starknet",testnet:!1},"0x534e5f5345504f4c4941":{name:"Starknet Sepolia",testnet:!0}},XI={Accept:"application/json","Content-Type":"application/json"},tR="https://score.snapshot.org";function eR(t=tR,e={path:""}){const r=new URL(t);e.path&&(r.pathname=e.path);const i=r.searchParams.get("apiKey");let n=Object.assign({},XI);return i&&(r.searchParams.delete("apiKey"),n=Object.assign(Object.assign({},XI),{"X-API-KEY":i})),{url:r.toString(),headers:n}}function rR(t){return e(this,void 0,void 0,(function*(){let e=yield t.text();try{e=JSON.parse(e)}catch(r){return Promise.reject({code:t.status||500,message:"Failed to parse response from score API",data:e})}return e.error?Promise.reject(e.error):e}))}const iR=new Ed({allErrors:!0,allowUnionTypes:!0,$data:!0,passContext:!0});Nd(iR),Id(iR),iR.addFormat("address",{validate:t=>{try{return t===Ce(t)}catch(t){return!1}}}),iR.addFormat("evmAddress",{validate:t=>{try{return Ce(t),!0}catch(t){return!1}}}),iR.addFormat("starknetAddress",{validate:t=>{try{return FS(t)===t}catch(t){return!1}}}),iR.addFormat("long",{validate:()=>!0}),iR.addFormat("lowercase",{validate:t=>t===t.toLowerCase()}),iR.addFormat("color",{validate:t=>!!t&&!!t.match(/^#[0-9A-F]{6}$/)}),iR.addFormat("ethValue",{validate:t=>{if(!t.match(/^([0-9]|[1-9][0-9]+)(\.[0-9]+)?$/))return!1;try{return function(t,e){if("string"!=typeof t&&uu.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=lu.indexOf(e);-1!==t&&(e=3*t)}Kh(t,null!=e?e:18)}(t,18),!0}catch(t){return!1}}});const nR=Object.keys(II),oR=Object.keys(II).filter((t=>!II[t].testnet));function sR(t,r,i,n){return e(this,void 0,void 0,(function*(){const e=new hh(i[0],r,t);try{const t=i[2]||[];return yield e[i[1]](...t,n||{})}catch(t){return Promise.reject(t)}}))}function aR(t,r,i,n,o){return e(this,void 0,void 0,(function*(){const e=(null==o?void 0:o.multicallAddress)||II[t].multicall,s=new hh(e,["function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)"],r),a=new bn(i);try{const t=(null==o?void 0:o.limit)||500;(null==o?void 0:o.limit)&&delete o.limit;const e=Math.ceil(n.length/t),r=[];Array.from(Array(e)).forEach(((e,i)=>{const h=n.slice(t*i,t*(i+1));r.push(s.aggregate(h.map((t=>[t[0].toLowerCase(),a.encodeFunctionData(t[1],t[2])])),o||{}))}));let i=yield Promise.all(r);return i=i.reduce(((t,[,e])=>t.concat(e)),[]),i.map(((t,e)=>a.decodeFunctionResult(n[e][1],t)))}catch(t){return Promise.reject(t)}}))}function hR(t,r){return e(this,arguments,void 0,(function*(t,e,r={}){const i={query:Kl.jsonToGraphQLQuery({query:e})};r.variables&&(i.variables=r.variables);const n=yield a(t,{method:"POST",headers:Object.assign({Accept:"application/json","Content-Type":"application/json"},null==r?void 0:r.headers),body:JSON.stringify(i)});let o=yield n.text();try{o=JSON.parse(o)}catch(e){throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${o.substring(0,400)}`)}if(o.errors)throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${JSON.stringify(o.errors).substring(0,400)}`);const{data:s}=o;return s||{}}))}function uR(t,e=SI[0]){const r=`https://${e}`;if(!t)return null;if(!(t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("https://")||t.startsWith("http://")))return`${r}/ipfs/${t}`;const i=t.split("://")[0];return"ipfs"===i?t.replace("ipfs://",`${r}/ipfs/`):"ipns"===i?t.replace("ipns://",`${r}/ipns/`):t}function lR(r,i){return e(this,arguments,void 0,(function*(e,r,i="1",n={}){var o,s;const{ensResolvers:a=(null===(o=II[i])||void 0===o?void 0:o.ensResolvers)||II[1].ensResolvers,broviderUrl:h}=n,u=t(n,["ensResolvers","broviderUrl"]);let l;try{l=ml(dl(e))}catch(t){return null}const c=Eg(i,{broviderUrl:h}),f=[[QI,"resolver",[l]],...a.map((t=>[t,"text",[l,r]]))],[[d],...m]=yield aR(i,c,WI,f,u),p=a.indexOf(d);return-1!==p?null===(s=m[p])||void 0===s?void 0:s[0]:null}))}function cR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){try{return yield lR(t,"snapshot",e,r)}catch(t){return console.log(t),null}}))}function fR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=Eg(e,r),n=new hh(QI,["function owner(bytes32) view returns (address)"],i);let o;try{o=ml(dl(t))}catch(t){return null}const s=r.ensNameWrapper||II[e].ensNameWrapper;let a=yield n.owner(o);if(a===s){const t=new hh(s,["function ownerOf(uint256) view returns (address)"],i);a=yield t.ownerOf(o)}return a}))}function dR(t){const e=["th","st","nd","rd"],r=t%100;return t+(e[(r-20)%10]||e[r]||e[0])}function mR(t){return!!II[t]}function pR(t){return Pe(t)&&"0x0000000000000000000000000000000000000000"!==t}function gR(t,e){return"latest"===t||"number"==typeof t&&t>=II[e].start}function yR(t){if(!t)return!1;try{return FS(t),!0}catch(t){return!1}}function vR(t){return Pe(t)}function wR(t){return Promise.reject(new Error(t))}iR.addKeyword({keyword:"snapshotNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?oR.includes(e):nR.includes(e)},error:{message:"network not allowed"}}),iR.addKeyword({keyword:"starknetNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?Object.keys(YI).filter((t=>!YI[t].testnet)).includes(e):Object.keys(YI).includes(e)},error:{message:"network not allowed"}}),iR.addKeyword({keyword:"maxLengthWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxLengthWithSpaceType",message:`must not have more than ${e[i]}`,params:{limit:e[i]}}]),n},errors:!0}),iR.addKeyword({keyword:"maxItemsWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxItemsWithSpaceType",message:`must NOT have more than ${e[i]} items`,params:{limit:e[i]}}]),n},errors:!0}),iR.addFormat("customUrl",{type:"string",validate:t=>!t.length||(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("snapshot://"))}),iR.addFormat("domain",{validate:t=>!!t&&!!t.match(/^(https:\/\/)?([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}(\/)?$/)});var bR={call:sR,multicall:aR,subgraphRequest:hR,ipfsGet:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="ipfs"){return a(`https://${t}/${r}/${e}`).then((t=>t.json()))}))},getUrl:uR,getJSON:function(t){return e(this,arguments,void 0,(function*(t,e={}){const r=uR(t,e.gateways);return a(r).then((t=>t.json()))}))},sendTransaction:function(t,r,i,n,o){return e(this,arguments,void 0,(function*(t,e,r,i,n,o={}){const s=t.getSigner(),a=new hh(e,r,t).connect(s);return yield a[i](...n,o)}))},getScores:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n="latest",o=tR,s={}){if(!Array.isArray(i))return wR("addresses should be an array of addresses");if(0===i.length)return wR("addresses can not be empty");const h=i.find((t=>!pR(t)));if(h)return wR(`Invalid address: ${h}`);if(!mR(r))return wR(`Invalid network: ${r}`);const u=e.find((t=>t.network&&!mR(t.network)));if(u)return wR(`Invalid network (${u.network}) in strategy ${u.name}`);if(!gR(n,r))return wR(`Snapshot (${n}) must be 'latest' or greater than network start block (${II[r].start})`);new URL(o).pathname="/api/scores";const{url:l,headers:c}=eR(o,{path:"/api/scores"});try{const o={space:t,network:r,snapshot:n,strategies:e,addresses:i},h=yield a(l,{method:"POST",headers:c,body:JSON.stringify({params:o})}),u=yield rR(h);return"all"===s.returnValue?u.result:u.result[s.returnValue||"scores"]}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},getVp:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){const{url:e,headers:u}=eR(null==h?void 0:h.url);if(!pR(t))return wR(`Invalid voter address: ${t}`);if(!mR(r))return wR(`Invalid network: ${r}`);const l=i.find((t=>t.network&&!mR(t.network)));if(l)return wR(`Invalid network (${l.network}) in strategy ${l.name}`);if(!gR(n,r))return wR(`Snapshot (${n}) must be 'latest' or greater than network start block (${II[r].start})`);const c={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"get_vp",params:{address:t,network:r,strategies:i,snapshot:n,space:o,delegation:s}})};try{const t=yield a(e,c);return(yield rR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},validateSchema:function(t,e,r={snapshotEnv:"default",spaceType:"default"}){const i=iR.compile(t),n=i.call(r,e);return n||i.errors},getEnsTextRecord:lR,getSpaceUri:cR,getEnsOwner:fR,getSpaceController:function(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=yield cR(t,e,r);if(i){let t=Pe(i);if(t)return i;const e=i.split("/"),r=e.includes("testnet")?5:4,n=e[r];if(t=Pe(n),t)return n}return yield fR(t,e,r)}))},getDelegatesBySpace:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="latest",i={}){const n=i.subgraphUrl||VI[t];if(!n)return Promise.reject(`Delegation subgraph not available for network ${t}`);let o=0;const s=new Map,a=e?KI(e):null;for(;;){const t=yield JI({url:n,spaces:a,pivot:o,snapshot:r});if(ZI(t))throw new Error("Unable to paginate delegation");if(t.forEach((t=>{GI(s,t),o=t.timestamp})),t.length<HI)break}return[...s.values()]}))},clone:function(t){return JSON.parse(JSON.stringify(t))},sleep:function(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>{setTimeout(e,t)}))}))},getNumberWithOrdinal:dR,voting:qI,getProvider:Eg,signMessage:function(t,r,i){return e(this,void 0,void 0,(function*(){return r=I(new Buffer(r,"utf8")),yield t.send("personal_sign",[r,i])}))},getBlockNumber:function(t){return e(this,void 0,void 0,(function*(){try{const e=yield t.getBlockNumber();return parseInt(e)}catch(t){return Promise.reject()}}))},Multicaller:class{constructor(t,e,r,i){this.options={},this.calls=[],this.paths=[],this.network=t,this.provider=e,this.abi=r,this.options=i||{}}call(t,e,r,i){return this.calls.push([e,r,i]),this.paths.push(t),this}execute(t){return e(this,void 0,void 0,(function*(){const e=t||{};return(yield aR(this.network,this.provider,this.abi,this.calls,this.options)).forEach(((t,r)=>_m(e,this.paths[r],t.length>1?t:t[0]))),this.calls=[],this.paths=[],e}))}},getSnapshots:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n={}){const o={};if(i.forEach((t=>o[t]="latest")),"latest"===e)return o;const s=`${t}-${e}-${i.join("-")}`,a=Em[s],h=Date.now();if(a&&Am>h)return a;Am<h&&(Em={},Am=h+36e5-h%36e5),o[t]=e;const u=Object.keys(o).filter((e=>t!==e));if(0===u.length)return o;const l={blocks:{__args:{where:{ts:(yield r.getBlock(e)).timestamp,network_in:u}},network:!0,number:!0}},c=n.blockFinderUrl||"https://blockfinder.snapshot.org";return(yield hR(c,l)).blocks.forEach((t=>o[t.network]=t.number)),Em[s]=o,o}))},getHash:function(t,e){return(VS(t)?ZS:NI).getHash(t,e)},verify:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){if(!yR(t)&&!vR(t))throw new Error("Invalid address");const o=VS(r)?ZS:NI;return yield o.default(t,e,r,i,n)}))},validate:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){if(!pR(r))return wR(`Invalid author: ${r}`);if(!mR(n))return wR(`Invalid network: ${n}`);if(!gR(o,n))return wR(`Snapshot (${o}) must be 'latest' or greater than network start block (${II[n].start})`);h||(h={});const{url:e,headers:u}=eR(h.url),l={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"validate",params:{validation:t,author:r,space:i,network:n,snapshot:o,params:s}})};try{const t=yield a(e,l);return(yield rR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},isStarknetAddress:yR,isEvmAddress:vR,getFormattedAddress:function(t,e){if("evm"===e&&vR(t))return Ce(t);if("starknet"===e&&yR(t))return FS(t);throw new Error(`Invalid address: ${t}`)},SNAPSHOT_SUBGRAPH_URL:VI};return{Client:or,Client712:or,schemas:dr,utils:bR}}));
|
|
32
|
+
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */(r);return o("function"==typeof e?e.call({"":t},"",t):t,"");function o(t,s){if(Array.isArray(i)){var a=i.find((function(e){return e.test(t)}));if(a){var h=a.stringify(t);if("string"!=typeof h||!gw(h))throw new Error("Invalid JSON number: output of a number stringifier must be a string containing a JSON number "+"(output: ".concat(h,")"));return h}}return"boolean"==typeof t||"number"==typeof t||"string"==typeof t||null===t||t instanceof Date||t instanceof Boolean||t instanceof Number||t instanceof String?JSON.stringify(t):t&&t.isLosslessNumber||"bigint"==typeof t?t.toString():Array.isArray(t)?function(t,r){if(0===t.length)return"[]";for(var i=n?r+n:void 0,s=n?"[\n":"[",a=0;a<t.length;a++){var h="function"==typeof e?e.call(t,String(a),t[a]):t[a];n&&(s+=i),s+=void 0!==h&&"function"!=typeof h?o(h,i):"null",a<t.length-1&&(s+=n?",\n":",")}return s+=n?"\n"+r+"]":"]"}(t,s):t&&"object"===gb(t)?function(t,i){if("function"==typeof t.toJSON)return yb(t.toJSON(),e,r,void 0);var s=Array.isArray(e)?e.map(String):Object.keys(t);if(0===s.length)return"{}";var a=n?i+n:void 0,h=!0,u=n?"{\n":"{";return s.forEach((function(r){var i="function"==typeof e?e.call(t,r,t[r]):t[r];if(function(t,e){return void 0!==e&&"function"!=typeof e&&"symbol"!==gb(e)}(0,i)){h?h=!1:u+=n?",\n":",";var s=JSON.stringify(r);u+=n?a+s+": ":s+":",u+=o(i,a)}})),u+=n?"\n"+i+"}":"}"}(t,s):void 0}}function vb(t){let e=t.length;for(;--e>=0;)t[e]=0}const wb=256,bb=286,Mb=30,_b=15,Eb=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Ab=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),kb=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),xb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Nb=new Array(576);vb(Nb);const Sb=new Array(60);vb(Sb);const Ib=new Array(512);vb(Ib);const Rb=new Array(256);vb(Rb);const Tb=new Array(29);vb(Tb);const Cb=new Array(Mb);function Pb(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let Ob,Bb,$b;function Ub(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}vb(Cb);const Db=t=>t<256?Ib[t]:Ib[256+(t>>>7)],Lb=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Fb=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,Lb(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)},jb=(t,e,r)=>{Fb(t,r[2*e],r[2*e+1])},zb=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},qb=(t,e,r)=>{const i=new Array(16);let n,o,s=0;for(n=1;n<=_b;n++)s=s+r[n-1]<<1,i[n]=s;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=zb(i[e]++,e))}},Vb=t=>{let e;for(e=0;e<bb;e++)t.dyn_ltree[2*e]=0;for(e=0;e<Mb;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Hb=t=>{t.bi_valid>8?Lb(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Zb=(t,e,r,i)=>{const n=2*e,o=2*r;return t[n]<t[o]||t[n]===t[o]&&i[e]<=i[r]},Gb=(t,e,r)=>{const i=t.heap[r];let n=r<<1;for(;n<=t.heap_len&&(n<t.heap_len&&Zb(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!Zb(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i},Kb=(t,e,r)=>{let i,n,o,s,a=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+a++],i+=(255&t.pending_buf[t.sym_buf+a++])<<8,n=t.pending_buf[t.sym_buf+a++],0===i?jb(t,n,e):(o=Rb[n],jb(t,o+wb+1,e),s=Eb[o],0!==s&&(n-=Tb[o],Fb(t,n,s)),i--,o=Db(i),jb(t,o,r),s=Ab[o],0!==s&&(i-=Cb[o],Fb(t,i,s)))}while(a<t.sym_next);jb(t,256,e)},Jb=(t,e)=>{const r=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,h,u=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==r[2*s]?(t.heap[++t.heap_len]=u=s,t.depth[s]=0):r[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=u<2?++u:0,r[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=u,s=t.heap_len>>1;s>=1;s--)Gb(t,r,s);h=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Gb(t,r,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,r[2*h]=r[2*s]+r[2*a],t.depth[h]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,r[2*s+1]=r[2*a+1]=h,t.heap[1]=h++,Gb(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,h=e.stat_desc.max_length;let u,l,c,f,d,m,p=0;for(f=0;f<=_b;f++)t.bl_count[f]=0;for(r[2*t.heap[t.heap_max]+1]=0,u=t.heap_max+1;u<573;u++)l=t.heap[u],f=r[2*r[2*l+1]+1]+1,f>h&&(f=h,p++),r[2*l+1]=f,l>i||(t.bl_count[f]++,d=0,l>=a&&(d=s[l-a]),m=r[2*l],t.opt_len+=m*(f+d),o&&(t.static_len+=m*(n[2*l+1]+d)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(l=t.bl_count[f];0!==l;)c=t.heap[--u],c>i||(r[2*c+1]!==f&&(t.opt_len+=(f-r[2*c+1])*r[2*c],r[2*c+1]=f),l--)}})(t,e),qb(r,u,t.bl_count)},Qb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=e[2*(i+1)+1],++a<h&&n===s||(a<u?t.bl_tree[2*n]+=a:0!==n?(n!==o&&t.bl_tree[2*n]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4))},Wb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),i=0;i<=r;i++)if(n=s,s=e[2*(i+1)+1],!(++a<h&&n===s)){if(a<u)do{jb(t,n,t.bl_tree)}while(0!=--a);else 0!==n?(n!==o&&(jb(t,n,t.bl_tree),a--),jb(t,16,t.bl_tree),Fb(t,a-3,2)):a<=10?(jb(t,17,t.bl_tree),Fb(t,a-3,3)):(jb(t,18,t.bl_tree),Fb(t,a-11,7));a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4)}};let Yb=!1;const Xb=(t,e,r,i)=>{Fb(t,0+(i?1:0),3),Hb(t),Lb(t,r),Lb(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var tM=t=>{Yb||((()=>{let t,e,r,i,n;const o=new Array(16);for(r=0,i=0;i<28;i++)for(Tb[i]=r,t=0;t<1<<Eb[i];t++)Rb[r++]=i;for(Rb[r-1]=i,n=0,i=0;i<16;i++)for(Cb[i]=n,t=0;t<1<<Ab[i];t++)Ib[n++]=i;for(n>>=7;i<Mb;i++)for(Cb[i]=n<<7,t=0;t<1<<Ab[i]-7;t++)Ib[256+n++]=i;for(e=0;e<=_b;e++)o[e]=0;for(t=0;t<=143;)Nb[2*t+1]=8,t++,o[8]++;for(;t<=255;)Nb[2*t+1]=9,t++,o[9]++;for(;t<=279;)Nb[2*t+1]=7,t++,o[7]++;for(;t<=287;)Nb[2*t+1]=8,t++,o[8]++;for(qb(Nb,287,o),t=0;t<Mb;t++)Sb[2*t+1]=5,Sb[2*t]=zb(t,5);Ob=new Pb(Nb,Eb,257,bb,_b),Bb=new Pb(Sb,Ab,0,Mb,_b),$b=new Pb(new Array(0),kb,0,19,7)})(),Yb=!0),t.l_desc=new Ub(t.dyn_ltree,Ob),t.d_desc=new Ub(t.dyn_dtree,Bb),t.bl_desc=new Ub(t.bl_tree,$b),t.bi_buf=0,t.bi_valid=0,Vb(t)},eM=(t,e,r,i)=>{let n,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<wb;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),Jb(t,t.l_desc),Jb(t,t.d_desc),s=(t=>{let e;for(Qb(t,t.dyn_ltree,t.l_desc.max_code),Qb(t,t.dyn_dtree,t.d_desc.max_code),Jb(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*xb[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),n=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=n&&(n=o)):n=o=r+5,r+4<=n&&-1!==e?Xb(t,e,r,i):4===t.strategy||o===n?(Fb(t,2+(i?1:0),3),Kb(t,Nb,Sb)):(Fb(t,4+(i?1:0),3),((t,e,r,i)=>{let n;for(Fb(t,e-257,5),Fb(t,r-1,5),Fb(t,i-4,4),n=0;n<i;n++)Fb(t,t.bl_tree[2*xb[n]+1],3);Wb(t,t.dyn_ltree,e-1),Wb(t,t.dyn_dtree,r-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),Kb(t,t.dyn_ltree,t.dyn_dtree)),Vb(t),i&&Hb(t)},rM=(t,e,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(Rb[r]+wb+1)]++,t.dyn_dtree[2*Db(e)]++),t.sym_next===t.sym_end),iM=t=>{Fb(t,2,3),jb(t,256,Nb),(t=>{16===t.bi_valid?(Lb(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)},nM={_tr_init:tM,_tr_stored_block:Xb,_tr_flush_block:eM,_tr_tally:rM,_tr_align:iM};var oM=(t,e,r,i)=>{let n=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+e[i++]|0,o=o+n|0}while(--s);n%=65521,o%=65521}return n|o<<16|0};const sM=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var aM=(t,e,r,i)=>{const n=sM,o=i+r;t^=-1;for(let r=i;r<o;r++)t=t>>>8^n[255&(t^e[r])];return-1^t},hM={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},uM={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:lM,_tr_stored_block:cM,_tr_flush_block:fM,_tr_tally:dM,_tr_align:mM}=nM,{Z_NO_FLUSH:pM,Z_PARTIAL_FLUSH:gM,Z_FULL_FLUSH:yM,Z_FINISH:vM,Z_BLOCK:wM,Z_OK:bM,Z_STREAM_END:MM,Z_STREAM_ERROR:_M,Z_DATA_ERROR:EM,Z_BUF_ERROR:AM,Z_DEFAULT_COMPRESSION:kM,Z_FILTERED:xM,Z_HUFFMAN_ONLY:NM,Z_RLE:SM,Z_FIXED:IM,Z_DEFAULT_STRATEGY:RM,Z_UNKNOWN:TM,Z_DEFLATED:CM}=uM,PM=258,OM=262,BM=42,$M=113,UM=666,DM=(t,e)=>(t.msg=hM[e],e),LM=t=>2*t-(t>4?9:0),FM=t=>{let e=t.length;for(;--e>=0;)t[e]=0},jM=t=>{let e,r,i,n=t.w_size;e=t.hash_size,i=e;do{r=t.head[--i],t.head[i]=r>=n?r-n:0}while(--e);e=n,i=e;do{r=t.prev[--i],t.prev[i]=r>=n?r-n:0}while(--e)};let zM=(t,e,r)=>(e<<t.hash_shift^r)&t.hash_mask;const qM=t=>{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},VM=(t,e)=>{fM(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,qM(t.strm)},HM=(t,e)=>{t.pending_buf[t.pending++]=e},ZM=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},GM=(t,e,r,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),r),1===t.state.wrap?t.adler=oM(t.adler,e,n,r):2===t.state.wrap&&(t.adler=aM(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)},KM=(t,e)=>{let r,i,n=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const h=t.strstart>t.w_size-OM?t.strstart-(t.w_size-OM):0,u=t.window,l=t.w_mask,c=t.prev,f=t.strstart+PM;let d=u[o+s-1],m=u[o+s];t.prev_length>=t.good_match&&(n>>=2),a>t.lookahead&&(a=t.lookahead);do{if(r=e,u[r+s]===m&&u[r+s-1]===d&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<f);if(i=PM-(f-o),o=f-PM,i>s){if(t.match_start=e,s=i,i>=a)break;d=u[o+s-1],m=u[o+s]}}}while((e=c[e&l])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead},JM=t=>{const e=t.w_size;let r,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-OM)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),jM(t),i+=e),0===t.strm.avail_in)break;if(r=GM(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=r,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=zM(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=zM(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<OM&&0!==t.strm.avail_in)},QM=(t,e)=>{let r,i,n,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,a=t.strm.avail_in;do{if(r=65535,n=t.bi_valid+42>>3,t.strm.avail_out<n)break;if(n=t.strm.avail_out-n,i=t.strstart-t.block_start,r>i+t.strm.avail_in&&(r=i+t.strm.avail_in),r>n&&(r=n),r<o&&(0===r&&e!==vM||e===pM||r!==i+t.strm.avail_in))break;s=e===vM&&r===i+t.strm.avail_in?1:0,cM(t,0,0,s),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,qM(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(GM(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?4:e!==pM&&e!==vM&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(n=t.window_size-t.strstart,t.strm.avail_in>n&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(GM(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water<t.strstart&&(t.high_water=t.strstart),n=t.bi_valid+42>>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,o=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=o||(i||e===vM)&&e!==pM&&0===t.strm.avail_in&&i<=n)&&(r=i>n?n:i,s=e===vM&&0===t.strm.avail_in&&r===i?1:0,cM(t,t.block_start,r,s),t.block_start+=r,qM(t.strm)),s?3:1)},WM=(t,e)=>{let r,i;for(;;){if(t.lookahead<OM){if(JM(t),t.lookahead<OM&&e===pM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-OM&&(t.match_length=KM(t,r)),t.match_length>=3)if(i=dM(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=zM(t,t.ins_h,t.window[t.strstart+1]);else i=dM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(VM(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2},YM=(t,e)=>{let r,i,n;for(;;){if(t.lookahead<OM){if(JM(t),t.lookahead<OM&&e===pM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-OM&&(t.match_length=KM(t,r),t.match_length<=5&&(t.strategy===xM||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=dM(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=zM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(VM(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=dM(t,0,t.window[t.strstart-1]),i&&VM(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=dM(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2};function XM(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}const t_=[new XM(0,0,0,0,QM),new XM(4,4,8,4,WM),new XM(4,5,16,8,WM),new XM(4,6,32,32,WM),new XM(4,4,16,16,YM),new XM(8,16,32,32,YM),new XM(8,16,128,128,YM),new XM(8,32,128,256,YM),new XM(32,128,258,1024,YM),new XM(32,258,258,4096,YM)];function e_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=CM,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),FM(this.dyn_ltree),FM(this.dyn_dtree),FM(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),FM(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),FM(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const r_=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==BM&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==$M&&e.status!==UM?1:0},i_=t=>{if(r_(t))return DM(t,_M);t.total_in=t.total_out=0,t.data_type=TM;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?BM:$M,t.adler=2===e.wrap?0:1,e.last_flush=-2,lM(e),bM},n_=t=>{const e=i_(t);return e===bM&&(t=>{t.window_size=2*t.w_size,FM(t.head),t.max_lazy_match=t_[t.level].max_lazy,t.good_match=t_[t.level].good_length,t.nice_match=t_[t.level].nice_length,t.max_chain_length=t_[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),e},o_=(t,e,r,i,n,o)=>{if(!t)return _M;let s=1;if(e===kM&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||r!==CM||i<8||i>15||e<0||e>9||o<0||o>IM||8===i&&1!==s)return DM(t,_M);8===i&&(i=9);const a=new e_;return t.state=a,a.strm=t,a.status=BM,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=e,a.strategy=o,a.method=r,n_(t)};var s_=(t,e)=>{if(r_(t)||e>wM||e<0)return t?DM(t,_M):_M;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===UM&&e!==vM)return DM(t,0===t.avail_out?AM:_M);const i=r.last_flush;if(r.last_flush=e,0!==r.pending){if(qM(t),0===t.avail_out)return r.last_flush=-1,bM}else if(0===t.avail_in&&LM(e)<=LM(i)&&e!==vM)return DM(t,AM);if(r.status===UM&&0!==t.avail_in)return DM(t,AM);if(r.status===BM&&0===r.wrap&&(r.status=$M),r.status===BM){let e=CM+(r.w_bits-8<<4)<<8,i=-1;if(i=r.strategy>=NM||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=i<<6,0!==r.strstart&&(e|=32),e+=31-e%31,ZM(r,e),0!==r.strstart&&(ZM(r,t.adler>>>16),ZM(r,65535&t.adler)),t.adler=1,r.status=$M,qM(t),0!==r.pending)return r.last_flush=-1,bM}if(57===r.status)if(t.adler=0,HM(r,31),HM(r,139),HM(r,8),r.gzhead)HM(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),HM(r,255&r.gzhead.time),HM(r,r.gzhead.time>>8&255),HM(r,r.gzhead.time>>16&255),HM(r,r.gzhead.time>>24&255),HM(r,9===r.level?2:r.strategy>=NM||r.level<2?4:0),HM(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(HM(r,255&r.gzhead.extra.length),HM(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=aM(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,9===r.level?2:r.strategy>=NM||r.level<2?4:0),HM(r,3),r.status=$M,qM(t),0!==r.pending)return r.last_flush=-1,bM;if(69===r.status){if(r.gzhead.extra){let e=r.pending,i=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+i>r.pending_buf_size;){let n=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=aM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=n,qM(t),0!==r.pending)return r.last_flush=-1,bM;e=0,i-=n}let n=new Uint8Array(r.gzhead.extra);r.pending_buf.set(n.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending+=i,r.gzhead.hcrc&&r.pending>e&&(t.adler=aM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i)),qM(t),0!==r.pending)return r.last_flush=-1,bM;i=0}e=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i)),qM(t),0!==r.pending)return r.last_flush=-1,bM;i=0}e=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=aM(t.adler,r.pending_buf,r.pending-i,i))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(qM(t),0!==r.pending))return r.last_flush=-1,bM;HM(r,255&t.adler),HM(r,t.adler>>8&255),t.adler=0}if(r.status=$M,qM(t),0!==r.pending)return r.last_flush=-1,bM}if(0!==t.avail_in||0!==r.lookahead||e!==pM&&r.status!==UM){let i=0===r.level?QM(r,e):r.strategy===NM?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(JM(t),0===t.lookahead)){if(e===pM)return 1;break}if(t.match_length=0,r=dM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(VM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===SM?((t,e)=>{let r,i,n,o;const s=t.window;for(;;){if(t.lookahead<=PM){if(JM(t),t.lookahead<=PM&&e===pM)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){o=t.strstart+PM;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<o);t.match_length=PM-(o-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=dM(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=dM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(VM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===vM?(VM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(VM(t,!1),0===t.strm.avail_out)?1:2})(r,e):t_[r.level].func(r,e);if(3!==i&&4!==i||(r.status=UM),1===i||3===i)return 0===t.avail_out&&(r.last_flush=-1),bM;if(2===i&&(e===gM?mM(r):e!==wM&&(cM(r,0,0,!1),e===yM&&(FM(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),qM(t),0===t.avail_out))return r.last_flush=-1,bM}return e!==vM?bM:r.wrap<=0?MM:(2===r.wrap?(HM(r,255&t.adler),HM(r,t.adler>>8&255),HM(r,t.adler>>16&255),HM(r,t.adler>>24&255),HM(r,255&t.total_in),HM(r,t.total_in>>8&255),HM(r,t.total_in>>16&255),HM(r,t.total_in>>24&255)):(ZM(r,t.adler>>>16),ZM(r,65535&t.adler)),qM(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?bM:MM)},a_=(t,e)=>{let r=e.length;if(r_(t))return _M;const i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==BM||i.lookahead)return _M;if(1===n&&(t.adler=oM(t.adler,e,r,0)),i.wrap=0,r>=i.w_size){0===n&&(FM(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(r-i.w_size,r),0),e=t,r=i.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,JM(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=zM(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,JM(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,i.wrap=n,bM},h_={deflateInit:(t,e)=>o_(t,e,CM,15,8,RM),deflateInit2:o_,deflateReset:n_,deflateResetKeep:i_,deflateSetHeader:(t,e)=>r_(t)||2!==t.state.wrap?_M:(t.state.gzhead=e,bM),deflate:s_,deflateEnd:t=>{if(r_(t))return _M;const e=t.state.status;return t.state=null,e===$M?DM(t,EM):bM},deflateSetDictionary:a_,deflateInfo:"pako deflate (from Nodeca project)"};const u_=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var l_=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)u_(r,e)&&(t[e]=r[e])}}return t},c_=t=>{let e=0;for(let r=0,i=t.length;r<i;r++)e+=t[r].length;const r=new Uint8Array(e);for(let e=0,i=0,n=t.length;e<n;e++){let n=t[e];r.set(n,i),i+=n.length}return r};let f_=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){f_=!1}const d_=new Uint8Array(256);for(let t=0;t<256;t++)d_[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;d_[254]=d_[254]=1;var m_=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,i,n,o,s=t.length,a=0;for(n=0;n<s;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},p_=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const o=new Array(2*r);for(n=0,i=0;i<r;){let e=t[i++];if(e<128){o[n++]=e;continue}let s=d_[e];if(s>4)o[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<r;)e=e<<6|63&t[i++],s--;s>1?o[n++]=65533:e<65536?o[n++]=e:(e-=65536,o[n++]=55296|e>>10&1023,o[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&f_)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r})(o,n)},g_=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+d_[t[r]]>e?r:e};var y_=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const v_=Object.prototype.toString,{Z_NO_FLUSH:w_,Z_SYNC_FLUSH:b_,Z_FULL_FLUSH:M_,Z_FINISH:__,Z_OK:E_,Z_STREAM_END:A_,Z_DEFAULT_COMPRESSION:k_,Z_DEFAULT_STRATEGY:x_,Z_DEFLATED:N_}=uM;function S_(t){this.options=l_({level:k_,method:N_,chunkSize:16384,windowBits:15,memLevel:8,strategy:x_},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new y_,this.strm.avail_out=0;let r=h_.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==E_)throw new Error(hM[r]);if(e.header&&h_.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?m_(e.dictionary):"[object ArrayBuffer]"===v_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=h_.deflateSetDictionary(this.strm,t),r!==E_)throw new Error(hM[r]);this._dict_set=!0}}function I_(t,e){const r=new S_(e);if(r.push(t,!0),r.err)throw r.msg||hM[r.err];return r.result}S_.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize;let n,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?__:w_,"string"==typeof t?r.input=m_(t):"[object ArrayBuffer]"===v_.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(o===b_||o===M_)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(n=h_.deflate(r,o),n===A_)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),n=h_.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===E_;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},S_.prototype.onData=function(t){this.chunks.push(t)},S_.prototype.onEnd=function(t){t===E_&&(this.result=c_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var R_={Deflate:S_,deflate:I_,deflateRaw:function(t,e){return(e=e||{}).raw=!0,I_(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,I_(t,e)},constants:uM};const T_=16209;var C_=function(t,e){let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A,k;const x=t.state;r=t.next_in,A=t.input,i=r+(t.avail_in-5),n=t.next_out,k=t.output,o=n-(e-t.avail_out),s=n+(t.avail_out-257),a=x.dmax,h=x.wsize,u=x.whave,l=x.wnext,c=x.window,f=x.hold,d=x.bits,m=x.lencode,p=x.distcode,g=(1<<x.lenbits)-1,y=(1<<x.distbits)-1;t:do{d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=m[f&g];e:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,0===w)k[n++]=65535&v;else{if(!(16&w)){if(0==(64&w)){v=m[(65535&v)+(f&(1<<w)-1)];continue e}if(32&w){x.mode=16191;break t}t.msg="invalid literal/length code",x.mode=T_;break t}b=65535&v,w&=15,w&&(d<w&&(f+=A[r++]<<d,d+=8),b+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=p[f&y];r:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,!(16&w)){if(0==(64&w)){v=p[(65535&v)+(f&(1<<w)-1)];continue r}t.msg="invalid distance code",x.mode=T_;break t}if(M=65535&v,w&=15,d<w&&(f+=A[r++]<<d,d+=8,d<w&&(f+=A[r++]<<d,d+=8)),M+=f&(1<<w)-1,M>a){t.msg="invalid distance too far back",x.mode=T_;break t}if(f>>>=w,d-=w,w=n-o,M>w){if(w=M-w,w>u&&x.sane){t.msg="invalid distance too far back",x.mode=T_;break t}if(_=0,E=c,0===l){if(_+=h-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}else if(l<w){if(_+=h+l-w,w-=l,w<b){b-=w;do{k[n++]=c[_++]}while(--w);if(_=0,l<b){w=l,b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}}else if(_+=l-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}for(;b>2;)k[n++]=E[_++],k[n++]=E[_++],k[n++]=E[_++],b-=3;b&&(k[n++]=E[_++],b>1&&(k[n++]=E[_++]))}else{_=n-M;do{k[n++]=k[_++],k[n++]=k[_++],k[n++]=k[_++],b-=3}while(b>2);b&&(k[n++]=k[_++],b>1&&(k[n++]=k[_++]))}break}}break}}while(r<i&&n<s);b=d>>3,r-=b,d-=b<<3,f&=(1<<d)-1,t.next_in=r,t.next_out=n,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=n<s?s-n+257:257-(n-s),x.hold=f,x.bits=d};const P_=15,O_=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),B_=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),$_=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),U_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var D_=(t,e,r,i,n,o,s,a)=>{const h=a.bits;let u,l,c,f,d,m,p=0,g=0,y=0,v=0,w=0,b=0,M=0,_=0,E=0,A=0,k=null;const x=new Uint16Array(16),N=new Uint16Array(16);let S,I,R,T=null;for(p=0;p<=P_;p++)x[p]=0;for(g=0;g<i;g++)x[e[r+g]]++;for(w=h,v=P_;v>=1&&0===x[v];v--);if(w>v&&(w=v),0===v)return n[o++]=20971520,n[o++]=20971520,a.bits=1,0;for(y=1;y<v&&0===x[y];y++);for(w<y&&(w=y),_=1,p=1;p<=P_;p++)if(_<<=1,_-=x[p],_<0)return-1;if(_>0&&(0===t||1!==v))return-1;for(N[1]=0,p=1;p<P_;p++)N[p+1]=N[p]+x[p];for(g=0;g<i;g++)0!==e[r+g]&&(s[N[e[r+g]]++]=g);if(0===t?(k=T=s,m=20):1===t?(k=O_,T=B_,m=257):(k=$_,T=U_,m=0),A=0,g=0,p=y,d=o,b=w,M=0,c=-1,E=1<<w,f=E-1,1===t&&E>852||2===t&&E>592)return 1;for(;;){S=p-M,s[g]+1<m?(I=0,R=s[g]):s[g]>=m?(I=T[s[g]-m],R=k[s[g]-m]):(I=96,R=0),u=1<<p-M,l=1<<b,y=l;do{l-=u,n[d+(A>>M)+l]=S<<24|I<<16|R|0}while(0!==l);for(u=1<<p-1;A&u;)u>>=1;if(0!==u?(A&=u-1,A+=u):A=0,g++,0==--x[p]){if(p===v)break;p=e[r+s[g]]}if(p>w&&(A&f)!==c){for(0===M&&(M=w),d+=y,b=p-M,_=1<<b;b+M<v&&(_-=x[b+M],!(_<=0));)b++,_<<=1;if(E+=1<<b,1===t&&E>852||2===t&&E>592)return 1;c=A&f,n[c]=w<<24|b<<16|d-o|0}}return 0!==A&&(n[d+A]=p-M<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:L_,Z_BLOCK:F_,Z_TREES:j_,Z_OK:z_,Z_STREAM_END:q_,Z_NEED_DICT:V_,Z_STREAM_ERROR:H_,Z_DATA_ERROR:Z_,Z_MEM_ERROR:G_,Z_BUF_ERROR:K_,Z_DEFLATED:J_}=uM,Q_=16180,W_=16190,Y_=16191,X_=16192,tE=16194,eE=16199,rE=16200,iE=16206,nE=16209,oE=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function sE(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const aE=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<Q_||e.mode>16211?1:0},hE=t=>{if(aE(t))return H_;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Q_,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,z_},uE=t=>{if(aE(t))return H_;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,hE(t)},lE=(t,e)=>{let r;if(aE(t))return H_;const i=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?H_:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,uE(t))},cE=(t,e)=>{if(!t)return H_;const r=new sE;t.state=r,r.strm=t,r.window=null,r.mode=Q_;const i=lE(t,e);return i!==z_&&(t.state=null),i};let fE,dE,mE=!0;const pE=t=>{if(mE){fE=new Int32Array(512),dE=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(D_(1,t.lens,0,288,fE,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;D_(2,t.lens,0,32,dE,0,t.work,{bits:5}),mE=!1}t.lencode=fE,t.lenbits=9,t.distcode=dE,t.distbits=5},gE=(t,e,r,i)=>{let n;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>i&&(n=i),o.window.set(e.subarray(r-i,r-i+n),o.wnext),(i-=n)?(o.window.set(e.subarray(r-i,r),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0};var yE=(t,e)=>{let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A=0;const k=new Uint8Array(4);let x,N;const S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(aE(t)||!t.output||!t.input&&0!==t.avail_in)return H_;r=t.state,r.mode===Y_&&(r.mode=X_),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,c=a,f=h,E=z_;t:for(;;)switch(r.mode){case Q_:if(0===r.wrap){r.mode=X_;break}for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=nE;break}if((15&u)!==J_){t.msg="unknown compression method",r.mode=nE;break}if(u>>>=4,l-=4,_=8+(15&u),0===r.wbits&&(r.wbits=_),_>15||_>r.wbits){t.msg="invalid window size",r.mode=nE;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=512&u?16189:Y_,u=0,l=0;break;case 16181:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==J_){t.msg="unknown compression method",r.mode=nE;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=nE;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,k[2]=u>>>16&255,k[3]=u>>>24&255,r.check=aM(r.check,k,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=aM(r.check,k,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>a&&(d=a),d&&(r.head&&(_=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(i.subarray(o,o+d),_)),512&r.flags&&4&r.wrap&&(r.check=aM(r.check,i,d,o)),a-=d,o+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=aM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=aM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=nE;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=Y_;break;case 16189:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}t.adler=r.check=oE(u),u=0,l=0,r.mode=W_;case W_:if(0===r.havedict)return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,V_;t.adler=r.check=1,r.mode=Y_;case Y_:if(e===F_||e===j_)break t;case X_:if(r.last){u>>>=7&l,l-=7&l,r.mode=iE;break}for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(pE(r),r.mode=eE,e===j_){u>>>=2,l-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=nE}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=nE;break}if(r.length=65535&u,u=0,l=0,r.mode=tE,e===j_)break t;case tE:r.mode=16195;case 16195:if(d=r.length,d){if(d>a&&(d=a),d>h&&(d=h),0===d)break t;n.set(i.subarray(o,o+d),s),a-=d,o+=d,h-=d,s+=d,r.length-=d;break}r.mode=Y_;break;case 16196:for(;l<14;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=nE;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.lens[S[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},E=D_(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid code lengths set",r.mode=nE;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(v<16)u>>>=g,l-=g,r.lens[r.have++]=v;else{if(16===v){for(N=g+2;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(u>>>=g,l-=g,0===r.have){t.msg="invalid bit length repeat",r.mode=nE;break}_=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===v){for(N=g+3;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=3+(7&u),u>>>=3,l-=3}else{for(N=g+7;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=11+(127&u),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=nE;break}for(;d--;)r.lens[r.have++]=_}}if(r.mode===nE)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=nE;break}if(r.lenbits=9,x={bits:r.lenbits},E=D_(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid literal/lengths set",r.mode=nE;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},E=D_(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,E){t.msg="invalid distances set",r.mode=nE;break}if(r.mode=eE,e===j_)break t;case eE:r.mode=rE;case rE:if(a>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,C_(t,f),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,r.mode===Y_&&(r.back=-1);break}for(r.back=0;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(y&&0==(240&y)){for(w=g,b=y,M=v;A=r.lencode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,r.length=v,0===y){r.mode=16205;break}if(32&y){r.back=-1,r.mode=Y_;break}if(64&y){t.msg="invalid literal/length code",r.mode=nE;break}r.extra=15&y,r.mode=16201;case 16201:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;A=r.distcode[u&(1<<r.distbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(0==(240&y)){for(w=g,b=y,M=v;A=r.distcode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,64&y){t.msg="invalid distance code",r.mode=nE;break}r.offset=v,r.extra=15&y,r.mode=16203;case 16203:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=nE;break}r.mode=16204;case 16204:if(0===h)break t;if(d=f-h,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=nE;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),p=r.window}else p=n,m=s-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{n[s++]=p[m++]}while(--d);0===r.length&&(r.mode=rE);break;case 16205:if(0===h)break t;n[s++]=r.length,h--,r.mode=rE;break;case iE:if(r.wrap){for(;l<32;){if(0===a)break t;a--,u|=i[o++]<<l,l+=8}if(f-=h,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?aM(r.check,n,f,s-f):oM(r.check,n,f,s-f)),f=h,4&r.wrap&&(r.flags?u:oE(u))!==r.check){t.msg="incorrect data check",r.mode=nE;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=nE;break}u=0,l=0}r.mode=16208;case 16208:E=q_;break t;case nE:E=Z_;break t;case 16210:return G_;default:return H_}return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,(r.wsize||f!==t.avail_out&&r.mode<nE&&(r.mode<iE||e!==L_))&&gE(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?aM(r.check,n,f,t.next_out-f):oM(r.check,n,f,t.next_out-f)),t.data_type=r.bits+(r.last?64:0)+(r.mode===Y_?128:0)+(r.mode===eE||r.mode===tE?256:0),(0===c&&0===f||e===L_)&&E===z_&&(E=K_),E},vE={inflateReset:uE,inflateReset2:lE,inflateResetKeep:hE,inflateInit:t=>cE(t,15),inflateInit2:cE,inflate:yE,inflateEnd:t=>{if(aE(t))return H_;let e=t.state;return e.window&&(e.window=null),t.state=null,z_},inflateGetHeader:(t,e)=>{if(aE(t))return H_;const r=t.state;return 0==(2&r.wrap)?H_:(r.head=e,e.done=!1,z_)},inflateSetDictionary:(t,e)=>{const r=e.length;let i,n,o;return aE(t)?H_:(i=t.state,0!==i.wrap&&i.mode!==W_?H_:i.mode===W_&&(n=1,n=oM(n,e,r,0),n!==i.check)?Z_:(o=gE(t,e,r,r),o?(i.mode=16210,G_):(i.havedict=1,z_)))},inflateInfo:"pako inflate (from Nodeca project)"};var wE=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const bE=Object.prototype.toString,{Z_NO_FLUSH:ME,Z_FINISH:_E,Z_OK:EE,Z_STREAM_END:AE,Z_NEED_DICT:kE,Z_STREAM_ERROR:xE,Z_DATA_ERROR:NE,Z_MEM_ERROR:SE}=uM;function IE(t){this.options=l_({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new y_,this.strm.avail_out=0;let r=vE.inflateInit2(this.strm,e.windowBits);if(r!==EE)throw new Error(hM[r]);if(this.header=new wE,vE.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=m_(e.dictionary):"[object ArrayBuffer]"===bE.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=vE.inflateSetDictionary(this.strm,e.dictionary),r!==EE)))throw new Error(hM[r])}function RE(t,e){const r=new IE(e);if(r.push(t),r.err)throw r.msg||hM[r.err];return r.result}IE.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?_E:ME,"[object ArrayBuffer]"===bE.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),o=vE.inflate(r,s),o===kE&&n&&(o=vE.inflateSetDictionary(r,n),o===EE?o=vE.inflate(r,s):o===NE&&(o=kE));r.avail_in>0&&o===AE&&r.state.wrap>0&&0!==t[r.next_in];)vE.inflateReset(r),o=vE.inflate(r,s);switch(o){case xE:case NE:case kE:case SE:return this.onEnd(o),this.ended=!0,!1}if(a=r.avail_out,r.next_out&&(0===r.avail_out||o===AE))if("string"===this.options.to){let t=g_(r.output,r.next_out),e=r.next_out-t,n=p_(r.output,t);r.next_out=e,r.avail_out=i-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==EE||0!==a){if(o===AE)return o=vE.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},IE.prototype.onData=function(t){this.chunks.push(t)},IE.prototype.onEnd=function(t){t===EE&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var TE={Inflate:IE,inflate:RE,inflateRaw:function(t,e){return(e=e||{}).raw=!0,RE(t,e)},ungzip:RE,constants:uM};const{Deflate:CE,deflate:PE,deflateRaw:OE,gzip:BE}=R_,{Inflate:$E,inflate:UE,inflateRaw:DE,ungzip:LE}=TE;var FE=BE,jE=LE,zE="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==$&&$||{},qE="URLSearchParams"in zE,VE="Symbol"in zE&&"iterator"in Symbol,HE="FileReader"in zE&&"Blob"in zE&&function(){try{return new Blob,!0}catch(t){return!1}}(),ZE="FormData"in zE,GE="ArrayBuffer"in zE;if(GE)var KE=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],JE=ArrayBuffer.isView||function(t){return t&&KE.indexOf(Object.prototype.toString.call(t))>-1};function QE(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function WE(t){return"string"!=typeof t&&(t=String(t)),t}function YE(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return VE&&(e[Symbol.iterator]=function(){return e}),e}function XE(t){this.map={},t instanceof XE?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function tA(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function eA(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function rA(t){var e=new FileReader,r=eA(e);return e.readAsArrayBuffer(t),r}function iA(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function nA(){return this.bodyUsed=!1,this._initBody=function(t){var e;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:HE&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:ZE&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:qE&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():GE&&HE&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=iA(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):GE&&(ArrayBuffer.prototype.isPrototypeOf(t)||JE(t))?this._bodyArrayBuffer=iA(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):qE&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},HE&&(this.blob=function(){var t=tA(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=tA(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(HE)return this.blob().then(rA);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,i,n,o=tA(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=eA(e),i=/charset=([A-Za-z0-9_-]+)/.exec(t.type),n=i?i[1]:"utf-8",e.readAsText(t,n),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),i=0;i<e.length;i++)r[i]=String.fromCharCode(e[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},ZE&&(this.formData=function(){return this.text().then(aA)}),this.json=function(){return this.text().then(JSON.parse)},this}XE.prototype.append=function(t,e){t=QE(t),e=WE(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},XE.prototype.delete=function(t){delete this.map[QE(t)]},XE.prototype.get=function(t){return t=QE(t),this.has(t)?this.map[t]:null},XE.prototype.has=function(t){return this.map.hasOwnProperty(QE(t))},XE.prototype.set=function(t,e){this.map[QE(t)]=WE(e)},XE.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},XE.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),YE(t)},XE.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),YE(t)},XE.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),YE(t)},VE&&(XE.prototype[Symbol.iterator]=XE.prototype.entries);var oA=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function sA(t,e){if(!(this instanceof sA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,n=(e=e||{}).body;if(t instanceof sA){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new XE(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new XE(e.headers)),this.method=(r=e.method||this.method||"GET",i=r.toUpperCase(),oA.indexOf(i)>-1?i:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in zE)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function aA(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),i=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(n))}})),e}function hA(t,e){if(!(this instanceof hA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new XE(e.headers),this.url=e.url||"",this._initBody(t)}sA.prototype.clone=function(){return new sA(this,{body:this._bodyInit})},nA.call(sA.prototype),nA.call(hA.prototype),hA.prototype.clone=function(){return new hA(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new XE(this.headers),url:this.url})},hA.error=function(){var t=new hA(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var uA=[301,302,303,307,308];hA.redirect=function(t,e){if(-1===uA.indexOf(e))throw new RangeError("Invalid status code");return new hA(null,{status:e,headers:{location:t}})};var lA=zE.DOMException;try{new lA}catch(DM){lA=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},lA.prototype=Object.create(Error.prototype),lA.prototype.constructor=lA}function cA(t,e){return new Promise((function(r,i){var n=new sA(t,e);if(n.signal&&n.signal.aborted)return i(new lA("Aborted","AbortError"));var o=new XMLHttpRequest;function s(){o.abort()}if(o.onload=function(){var t,e,i={statusText:o.statusText,headers:(t=o.getAllResponseHeaders()||"",e=new XE,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),i=r.shift().trim();if(i){var n=r.join(":").trim();try{e.append(i,n)}catch(t){console.warn("Response "+t.message)}}})),e)};0===n.url.indexOf("file://")&&(o.status<200||o.status>599)?i.status=200:i.status=o.status,i.url="responseURL"in o?o.responseURL:i.headers.get("X-Request-URL");var s="response"in o?o.response:o.responseText;setTimeout((function(){r(new hA(s,i))}),0)},o.onerror=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){i(new TypeError("Network request timed out"))}),0)},o.onabort=function(){setTimeout((function(){i(new lA("Aborted","AbortError"))}),0)},o.open(n.method,function(t){try{return""===t&&zE.location.href?zE.location.href:t}catch(e){return t}}(n.url),!0),"include"===n.credentials?o.withCredentials=!0:"omit"===n.credentials&&(o.withCredentials=!1),"responseType"in o&&(HE?o.responseType="blob":GE&&(o.responseType="arraybuffer")),e&&"object"==typeof e.headers&&!(e.headers instanceof XE||zE.Headers&&e.headers instanceof zE.Headers)){var a=[];Object.getOwnPropertyNames(e.headers).forEach((function(t){a.push(QE(t)),o.setRequestHeader(t,WE(e.headers[t]))})),n.headers.forEach((function(t,e){-1===a.indexOf(e)&&o.setRequestHeader(e,t)}))}else n.headers.forEach((function(t,e){o.setRequestHeader(e,t)}));n.signal&&(n.signal.addEventListener("abort",s),o.onreadystatechange=function(){4===o.readyState&&n.signal.removeEventListener("abort",s)}),o.send(void 0===n._bodyInit?null:n._bodyInit)}))}cA.polyfill=!0,zE.fetch||(zE.fetch=cA,zE.Headers=XE,zE.Request=sA,zE.Response=hA);var fA=self.fetch.bind(self),dA=o((function(t){var e,i;e=r,i=function(){function t(t){var e=[];if(0===t.length)return"";if("string"!=typeof t[0])throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var r=t.shift();t[0]=r+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var i=0;i<t.length;i++){var n=t[i];if("string"!=typeof n)throw new TypeError("Url must be a string. Received "+n);""!==n&&(i>0&&(n=n.replace(/^[\/]+/,"")),n=i<t.length-1?n.replace(/[\/]+$/,""):n.replace(/[\/]+$/,"/"),e.push(n))}var o=e.join("/"),s=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=s.shift()+(s.length>0?"?":"")+s.join("&")}return function(){return t("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},t.exports?t.exports=i():e.urljoin=i()})),mA=Object.defineProperty,pA=(t,e)=>{for(var r in e)mA(t,r,{get:e[r],enumerable:!0})};pA({},{API_VERSION:()=>FA,BN_FEE_TRANSACTION_VERSION_1:()=>BA,BN_FEE_TRANSACTION_VERSION_2:()=>$A,BN_TRANSACTION_VERSION_1:()=>PA,BN_TRANSACTION_VERSION_2:()=>OA,BaseUrl:()=>jA,HEX_STR_TRANSACTION_VERSION_1:()=>TA,HEX_STR_TRANSACTION_VERSION_2:()=>CA,IS_BROWSER:()=>gA,MASK_250:()=>DA,MASK_251:()=>LA,NetworkName:()=>zA,RPC_GOERLI_NODES:()=>ZA,RPC_MAINNET_NODES:()=>GA,StarknetChainId:()=>qA,TEXT_TO_FELT_MAX_LEN:()=>RA,TransactionHashPrefix:()=>VA,UDC:()=>HA,ZERO:()=>UA});pA({},{IS_BROWSER:()=>gA,addHexPrefix:()=>AA,arrayBufferToString:()=>yA,atobUniversal:()=>bA,btoaUniversal:()=>MA,buf2hex:()=>_A,calcByteLength:()=>xA,padLeft:()=>kA,pascalToSnake:()=>IA,removeHexPrefix:()=>EA,sanitizeBytes:()=>NA,sanitizeHex:()=>SA,stringToArrayBuffer:()=>wA,utf8ToArray:()=>vA});var gA="undefined"!=typeof window;function yA(t){return new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),"")}function vA(t){return(new TextEncoder).encode(t)}function wA(t){return vA(t)}function bA(t){return Og.decode(t)}function MA(t){return Og.encode(new Uint8Array(t))}function _A(t){return t.reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}function EA(t){return t.replace(/^0x/i,"")}function AA(t){return`0x${EA(t)}`}function kA(t,e,r="0"){return function(t,e,r,i="0"){const n=e-t.length;let o=t;if(n>0){const e=i.repeat(n);o=r?e+t:t+e}return o}(t,e,!0,r)}function xA(t,e=8){const{length:r}=t,i=r%e;return i?(r-i)/e*e+e:r}function NA(t,e=8,r="0"){return kA(t,xA(t,e),r)}function SA(t){return(t=NA(t=EA(t),2))&&(t=AA(t)),t}var IA=t=>/[a-z]/.test(t)?t.split(/(?=[A-Z])/).join("_").toUpperCase():t,RA=31,TA="0x1",CA="0x2",PA=1n,OA=2n,BA=2n**128n+PA,$A=2n**128n+OA,UA=0n,DA=2n**250n-1n,LA=2n**251n,FA=UA,jA=(t=>(t.SN_MAIN="https://alpha-mainnet.starknet.io",t.SN_GOERLI="https://alpha4.starknet.io",t))(jA||{}),zA=(t=>(t.SN_MAIN="SN_MAIN",t.SN_GOERLI="SN_GOERLI",t))(zA||{}),qA=(t=>(t.SN_MAIN="0x534e5f4d41494e",t.SN_GOERLI="0x534e5f474f45524c49",t))(qA||{}),VA=(t=>(t.DECLARE="0x6465636c617265",t.DEPLOY="0x6465706c6f79",t.DEPLOY_ACCOUNT="0x6465706c6f795f6163636f756e74",t.INVOKE="0x696e766f6b65",t.L1_HANDLER="0x6c315f68616e646c6572",t))(VA||{}),HA={ADDRESS:"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",ENTRYPOINT:"deployContract"},ZA=["https://starknet-testnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/goerli-juno/v0_5"],GA=["https://starknet-mainnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/mainnet-juno/v0_5"];pA({},{BlockStatus:()=>ik,BlockTag:()=>nk,EntryPointType:()=>YA,Litteral:()=>WA,RPC:()=>ok,SIMULATION_FLAG:()=>KA,Sequencer:()=>gk,TransactionExecutionStatus:()=>rk,TransactionFinalityStatus:()=>ek,TransactionStatus:()=>tk,TransactionType:()=>XA,Uint:()=>QA,ValidateType:()=>JA});var KA=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_EXECUTE="SKIP_EXECUTE",t))(KA||{}),JA=(t=>(t.DEPLOY="DEPLOY",t.CALL="CALL",t.INVOKE="INVOKE",t))(JA||{}),QA=(t=>(t.u8="core::integer::u8",t.u16="core::integer::u16",t.u32="core::integer::u32",t.u64="core::integer::u64",t.u128="core::integer::u128",t.u256="core::integer::u256",t))(QA||{}),WA=(t=>(t.ClassHash="core::starknet::class_hash::ClassHash",t.ContractAddress="core::starknet::contract_address::ContractAddress",t))(WA||{}),YA=(t=>(t.EXTERNAL="EXTERNAL",t.L1_HANDLER="L1_HANDLER",t.CONSTRUCTOR="CONSTRUCTOR",t))(YA||{}),XA=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE_FUNCTION",t))(XA||{}),tk=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.REJECTED="REJECTED",t.REVERTED="REVERTED",t))(tk||{}),ek=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(ek||{}),rk=(t=>(t.REJECTED="REJECTED",t.REVERTED="REVERTED",t.SUCCEEDED="SUCCEEDED",t))(rk||{}),ik=(t=>(t.PENDING="PENDING",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.REJECTED="REJECTED",t))(ik||{}),nk=(t=>(t.pending="pending",t.latest="latest",t))(nk||{}),ok={};pA(ok,{EBlockTag:()=>mk,EDataAvailabilityMode:()=>pk,ESimulationFlag:()=>lk,ETransactionExecutionStatus:()=>dk,ETransactionFinalityStatus:()=>fk,ETransactionStatus:()=>ck,ETransactionType:()=>uk,Errors:()=>ak,JRPC:()=>sk,SPEC:()=>hk});var sk={},ak={},hk={},uk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE",t.L1_HANDLER="L1_HANDLER",t))(uk||{}),lk=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_FEE_CHARGE="SKIP_FEE_CHARGE",t))(lk||{}),ck=(t=>(t.RECEIVED="RECEIVED",t.REJECTED="REJECTED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(ck||{}),fk=(t=>(t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(fk||{}),dk=(t=>(t.SUCCEEDED="SUCCEEDED",t.REVERTED="REVERTED",t))(dk||{}),mk=(t=>(t.LATEST="latest",t.PENDING="pending",t))(mk||{}),pk=(t=>(t.L1="L1",t.L2="L2",t))(pk||{}),gk={};function yk(t,e){if(!t)throw new Error(e||"Assertion failure")}function vk(t){return/^0x[0-9a-f]*$/i.test(t)}function wk(t){return BigInt(t)}function bk(t){return"bigint"==typeof t}function Mk(t){return AA(wk(t).toString(16))}pA({},{assertInRange:()=>xk,bigNumberishArrayToDecimalStringArray:()=>Nk,bigNumberishArrayToHexadecimalStringArray:()=>Sk,cleanHex:()=>kk,getDecimalString:()=>Rk,getHexString:()=>Tk,getHexStringArray:()=>Ck,hexToBytes:()=>Ok,hexToDecimalString:()=>Ak,isBigInt:()=>bk,isHex:()=>vk,isStringWholeNumber:()=>Ik,toBigInt:()=>wk,toCairoBool:()=>Pk,toHex:()=>Mk,toHexString:()=>_k,toStorageKey:()=>Ek});var _k=Mk;function Ek(t){return AA(wk(t).toString(16).padStart(64,"0"))}function Ak(t){return BigInt(AA(t)).toString(10)}var kk=t=>t.toLowerCase().replace(/^(0x)0+/,"$1");function xk(t,e,r,i=""){const n=""===i?"invalid length":`invalid ${i} length`,o=BigInt(t),s=BigInt(e),a=BigInt(r);yk(o>=s&&o<=a,`Message not signable, ${n}.`)}function Nk(t){return t.map((t=>wk(t).toString(10)))}function Sk(t){return t.map((t=>Mk(t)))}var Ik=t=>/^\d+$/.test(t);function Rk(t){if(vk(t))return Ak(t);if(Ik(t))return t;throw new Error(`${t} need to be hex-string or whole-number-string`)}function Tk(t){if(vk(t))return t;if(Ik(t))return _k(t);throw new Error(`${t} need to be hex-string or whole-number-string`)}function Ck(t){return t.map((t=>Tk(t)))}var Pk=t=>(+t).toString();function Ok(t){if(!vk(t))throw new Error(`${t} need to be a hex-string`);let e=EA(t);return e.length%2!=0&&(e=`0${e}`),qg(e)}function Bk(t){const e=EA(Mk(BigInt(t))),r=e.length%2==0?e:`0${e}`;return AA(nw(Ok(AA(r))).toString(16))}function $k(t){const e=BigInt(function(t){return AA(nw(vA(t)).toString(16))}(t));return e&DA}function Uk(t){return Mk($k(t))}function Dk(t){return vk(t)?t:Ik(t)?_k(t):Uk(t)}pA({},{getSelector:()=>Dk,getSelectorFromName:()=>Uk,keccakBn:()=>Bk,starknetKeccak:()=>$k});function Lk(t){return/^[\x00-\x7F]*$/.test(t)}function Fk(t){return t.length<=RA}function jk(t){return/^[0-9]*$/i.test(t)}function zk(t){return"string"==typeof t&&!vk(t)&&!Ik(t)}pA({},{decodeShortString:()=>Gk,encodeShortString:()=>Zk,isASCII:()=>Lk,isDecimalString:()=>jk,isLongText:()=>Vk,isShortString:()=>Fk,isShortText:()=>qk,isText:()=>zk,splitLongString:()=>Hk});var qk=t=>zk(t)&&Fk(t),Vk=t=>zk(t)&&!Fk(t);function Hk(t){const e=RegExp(`[^]{1,${RA}}`,"g");return t.match(e)||[]}function Zk(t){if(!Lk(t))throw new Error(`${t} is not an ASCII string`);if(!Fk(t))throw new Error(`${t} is too long`);return AA(t.replace(/./g,(t=>t.charCodeAt(0).toString(16))))}function Gk(t){if(!Lk(t))throw new Error(`${t} is not an ASCII string`);if(vk(t))return EA(t).replace(/.{2}/g,(t=>String.fromCharCode(parseInt(t,16))));if(jk(t))return Gk("0X".concat(BigInt(t).toString(16)));throw new Error(`${t} is not Hex or decimal`)}var Kk={};pA(Kk,{felt:()=>Mx,getAbiContractVersion:()=>vx,getArrayType:()=>gx,isCairo1Abi:()=>yx,isCairo1Type:()=>px,isLen:()=>tx,isTypeArray:()=>rx,isTypeBool:()=>fx,isTypeContractAddress:()=>dx,isTypeEnum:()=>sx,isTypeEthAddress:()=>mx,isTypeFelt:()=>ex,isTypeLitteral:()=>lx,isTypeNamedTuple:()=>nx,isTypeOption:()=>ax,isTypeResult:()=>hx,isTypeStruct:()=>ox,isTypeTuple:()=>ix,isTypeUint:()=>ux,isTypeUint256:()=>cx,tuple:()=>bx,uint256:()=>wx});pA({},{UINT_128_MAX:()=>Jk,UINT_256_MAX:()=>Qk,bnToUint256:()=>Xk,isUint256:()=>Yk,uint256ToBN:()=>Wk});var Jk=(1n<<128n)-1n,Qk=(1n<<256n)-1n;function Wk(t){return(wk(t.high)<<128n)+wk(t.low)}function Yk(t){return wk(t)<=Qk}function Xk(t){const e=wk(t);if(!Yk(e))throw new Error("Number is too large");return{low:AA((e&Jk).toString(16)),high:AA((e>>128n).toString(16))}}var tx=t=>/_len$/.test(t),ex=t=>"felt"===t||"core::felt252"===t,rx=t=>/\*/.test(t)||t.startsWith("core::array::Array::")||t.startsWith("core::array::Span::"),ix=t=>/^\(.*\)$/i.test(t),nx=t=>/\(.*\)/i.test(t)&&t.includes(":"),ox=(t,e)=>t in e,sx=(t,e)=>t in e,ax=t=>t.startsWith("core::option::Option::"),hx=t=>t.startsWith("core::result::Result::"),ux=t=>Object.values(QA).includes(t),lx=t=>Object.values(WA).includes(t),cx=t=>"core::integer::u256"===t,fx=t=>"core::bool"===t,dx=t=>"core::starknet::contract_address::ContractAddress"===t,mx=t=>"core::starknet::eth_address::EthAddress"===t,px=t=>t.includes("::"),gx=t=>px(t)?t.substring(t.indexOf("<")+1,t.lastIndexOf(">")):t.replace("*","");function yx(t){const{cairo:e}=vx(t);if(void 0===e)throw Error("Unable to determine Cairo version");return"1"===e}function vx(t){if(t.find((t=>"interface"===t.type)))return{cairo:"1",compiler:"2"};const e=t.find((t=>"function"===t.type&&(t.inputs.length||t.outputs.length)));if(!e)return{cairo:void 0,compiler:void 0};const r=e.inputs.length?e.inputs:e.outputs;return px(r[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var wx=t=>{const e=BigInt(t);if(!Yk(e))throw new Error("Number is too large");return{low:(e&Jk).toString(10),high:(e>>128n).toString(10)}},bx=(...t)=>({...t});function Mx(t){if(bk(t)||"number"==typeof t&&Number.isInteger(t))return t.toString();if(zk(t)){if(!Fk(t))throw new Error(`${t} is a long string > 31 chars, felt can store short strings, split it to array of short strings`);const e=Zk(t);return BigInt(e).toString()}if("string"==typeof t&&vk(t))return BigInt(t).toString();if("string"==typeof t&&Ik(t))return t;if("boolean"==typeof t)return""+ +t;throw new Error(`${t} can't be computed by felt()`)}var _x=class{constructor(t){const e=Object.values(t);if(0===e.length)throw new Error("This Enum must have a least 1 variant");if(1!==e.filter((t=>void 0!==t)).length)throw new Error("This Enum must have exactly one active variant");this.variant=t}unwrap(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));if(void 0!==t)return t[1]}activeVariant(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));return void 0===t?"":t[0]}},Ex=(t=>(t[t.Some=0]="Some",t[t.None=1]="None",t))(Ex||{}),Ax=class{constructor(t,e){if(!(t in Ex))throw new Error("Wrong variant : should be CairoOptionVariant.Some or .None.");if(0===t){if(void 0===e)throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=e,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){if(!this.None)return this.Some}isSome(){return!(void 0===this.Some)}isNone(){return!0===this.None}},kx=(t=>(t[t.Ok=0]="Ok",t[t.Err=1]="Err",t))(kx||{}),xx=class{constructor(t,e){if(!(t in kx))throw new Error("Wrong variant : should be CairoResultVariant.Ok or .Err.");0===t?(this.Ok=e,this.Err=void 0):(this.Ok=void 0,this.Err=e)}unwrap(){if(void 0!==this.Ok)return this.Ok;if(void 0!==this.Err)return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!(void 0===this.Ok)}isErr(){return!(void 0===this.Err)}},Nx=(t,e,r)=>{if(!bk(t[r]))throw new Error(`Data and formatter mismatch on ${r}:${e[r]}, expected response data ${r}:${t[r]} to be BN instead it is ${typeof t[r]}`)},Sx=(t,e,r)=>{throw new Error(`Unhandled formatter type on ${r}:${e[r]} for data ${r}:${t[r]}`)};function Ix(t,e,r){return Object.entries(t).reduce(((i,[n,o])=>{const s=r??e[n];if(!(n in e)&&!r)return i[n]=o,i;if("string"===s){if(Array.isArray(t[n])){const e=Ix(t[n],t[n].map((t=>s)));return i[n]=Object.values(e).join(""),i}return Nx(t,e,n),i[n]=Gk(o),i}if("number"===s)return Nx(t,e,n),i[n]=Number(o),i;if("function"==typeof s)return i[n]=s(o),i;if(Array.isArray(s)){const e=Ix(t[n],s,s[0]);return i[n]=Object.values(e),i}return"object"==typeof s?(i[n]=Ix(t[n],s),i):(Sx(t,e,n),i)}),{})}function Rx(t){const e=function(t){return t.find((t=>"interface"===t.type))?2:yx(t)?1:0}(t);if(0===e||1===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.reduce(((t,e)=>tx(e.name)?t:t+1),0)}getMethod(t){return this.abi.find((e=>e.name===t))}getLegacyFormat(){return this.abi}}(t);if(2===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.length}getMethod(t){return this.abi.find((t=>"interface"===t.type)).items.find((e=>e.name===t))}getLegacyFormat(){return this.abi.flatMap((t=>"interface"===t.type?t.items:t))}}(t);throw Error(`Unsupported ABI version ${e}`)}function Tx(t,e,r){return"constructor"===t&&!r&&!e.length}function Cx(t){if(!t.includes("("))return{subTuple:[],result:t};const e=[];let r="",i=0;for(;i<t.length;){if("("===t[i]){let n=1;const o=i;for(i++;n;)")"===t[i]&&n--,"("===t[i]&&n++,i++;e.push(t.substring(o,i)),r+=" ",i--}else r+=t[i];i++}return{subTuple:e,result:r}}function Px(t){return px(t)?function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Cx(e);return i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t))}(t):function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Cx(e);let n=i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t));return nx(t)&&(n=n.reduce(((t,e)=>t.concat(function(t){const e=t.substring(0,t.indexOf(":"));return{name:e,type:t.substring(e.length+":".length)}}(e))),[])),n}(t)}function Ox(t,e,r,i){const n=(t,e)=>{if(rx(e))return function(t,e){const r=gx(e);if("string"==typeof t)return t;return t.map((t=>n(t,r)))}(t,e);if(sx(e,i)){const r=i[e];return s(t,r)}if(ix(e))return function(t,e){const r=Px(e).reduce(((e,r,i)=>{const o=Object.keys(t),s=r=>Object.defineProperty(e,i.toString(),{enumerable:!0,value:r??t[o[i]]}),a=r?.type?r.type:r;return s(n(t[o[i]],a)),e}),{});return r}(t,e);if(mx(e))return t;if(cx(e)){const r=t;if("object"!=typeof r)return r;if(!("low"in r)||!("high"in r))throw function(t){return Error(`Your object includes the property : ${t}, containing an Uint256 object without the 'low' and 'high' keys.`)}(e);return{low:r.low,high:r.high}}if(ox(e,r)){const i=r[e].members;return o(t,i)}return t},o=(t,e)=>e.reduce(((e,r)=>{if("undefined"===t[r.name]&&(px(r.type)||!tx(r.name)))throw Error(`Your object needs a property with key : ${r.name} .`);var i;return i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i??t[r.name]}),e}),{});const s=(t,e)=>{if(hx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(",")),o=e.name.substring(e.name.indexOf(",")+1,e.name.lastIndexOf(">"));return r.isOk()?new xx(0,n(t.unwrap(),i)):new xx(1,n(t.unwrap(),o))}if(ax(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(">"));return r.isSome()?new Ax(0,n(r.unwrap(),i)):new Ax(1,{})}const r=t,i=Object.entries(r.variant).map((t=>{if(void 0===t[1])return t;const i=e.type.substring(e.type.lastIndexOf("<")+1,e.type.lastIndexOf(">"));return"()"===i?t:[t[0],n(r.unwrap(),i)]}));return new _x(Object.fromEntries(i))};return e.reduce(((e,r)=>{return tx(r.name)&&!px(r.type)||(i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i})),e;var i}),{})}function Bx(t,e){if(!0===cx(t)){const t=wx(e);return[Mx(t.low),Mx(t.high)]}return Mx(e)}function $x(t){if("object"==typeof t){const{low:e,high:r}=t;return[Mx(e),Mx(r)]}const e=wx(t);return[Mx(e.low),Mx(e.high)]}function Ux(t,e,r,i){if(void 0===t)throw Error(`Missing parameter for type ${e}`);if(Array.isArray(t)){const n=[];n.push(Mx(t.length));const o=gx(e);return t.reduce(((t,e)=>t.concat(Ux(e,o,r,i))),n)}if(r[e]&&r[e].members.length){if(cx(e))return $x(t);if("core::starknet::eth_address::EthAddress"===e)return Bx(e,t);const{members:n}=r[e],o=t;return n.reduce(((t,e)=>t.concat(Ux(o[e.name],e.type,r,i))),[])}if(ix(e)){const n=function(t,e){const r=Px(e),i=Object.values(t);if(i.length!==r.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.\n provided: ${i} \n expected: ${r}`);return r.map(((t,e)=>({element:i[e],type:t.type??t})))}(t,e);return n.reduce(((t,e)=>{const n=Ux(e.element,e.type,r,i);return t.concat(n)}),[])}if(cx(e))return $x(t);if(sx(e,i)){const{variants:n}=i[e];if(ax(e)){const e=t;if(e.isSome()){const t=n.find((t=>"Some"===t.name));if(void 0===t)throw Error("Error in abi : Option has no 'Some' variant.");const o=t.type;if("()"===o)return(0).toString();const s=Ux(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}return 1..toString()}if(hx(e)){const e=t;if(e.isOk()){const t=n.find((t=>"Ok"===t.name));if(void 0===t)throw Error("Error in abi : Result has no 'Ok' variant.");const o=t.type;if("()"===o)return(0).toString();const s=Ux(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}const o=n.find((t=>"Err"===t.name));if(void 0===o)throw Error("Error in abi : Result has no 'Err' variant.");const s=o.type;if("()"===s)return 1..toString();const a=Ux(e.unwrap(),s,r,i);return Array.isArray(a)?[1..toString(),...a]:[1..toString(),a]}const o=t,s=o.activeVariant(),a=n.find((t=>t.name===s));if(void 0===a)throw Error(`Not find in abi : Enum has no '${s}' variant.`);const h=a.type,u=n.findIndex((t=>t.name===s));if("()"===h)return u.toString();const l=Ux(o.unwrap(),h,r,i);return Array.isArray(l)?[u.toString(),...l]:[u.toString(),l]}if("object"==typeof t)throw Error(`Parameter ${t} do not align with abi parameter ${e}`);return Bx(e,t)}function Dx(t,e){let r;switch(!0){case fx(t):return r=e.next().value,Boolean(BigInt(r));case cx(t):return Wk({low:e.next().value,high:e.next().value});default:return r=e.next().value,BigInt(r)}}function Lx(t,e,r,i){if("()"===e.type)return{};if(cx(e.type)){return Wk({low:t.next().value,high:t.next().value})}if(rx(e.type)){const n=[],o={name:"",type:gx(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Lx(t,o,r,i));return n}if(r&&e.type in r&&r[e.type])return"core::starknet::eth_address::EthAddress"===e.type?Dx(e.type,t):r[e.type].members.reduce(((e,n)=>(e[n.name]=Lx(t,n,r,i),e)),{});if(i&&e.type in i&&i[e.type]){const n=Number(t.next().value),o=i[e.type].variants.reduce(((e,o,s)=>s===n?(e[o.name]=Lx(t,{name:"",type:o.type},r,i),e):(e[o.name]=void 0,e)),{});if(e.type.startsWith("core::option::Option")){const t=0===n?o.Some:void 0;return new Ax(n,t)}if(e.type.startsWith("core::result::Result")){let t;return t=0===n?o.Ok:o.Err,new xx(n,t)}return new _x(o)}if(ix(e.type)){return Px(e.type).reduce(((e,n,o)=>{const s=n?.name?n.name:o,a={name:s,type:n?.type?n.type:n};return e[s]=Lx(t,a,r,i),e}),{})}if(rx(e.type)){const n=[],o={name:"",type:gx(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Lx(t,o,r,i));return n}return Dx(e.type,t)}function Fx(t,e,r,i,n){const{name:o,type:s}=e;let a;switch(!0){case tx(o):return a=t.next().value,BigInt(a);case r&&s in r||ix(s):case i&&sx(s,i):return Lx(t,e,r,i);case rx(s):if(px(s))return Lx(t,e,r,i);const h=[];if(n&&n[`${o}_len`]){const s=n[`${o}_len`];for(;h.length<s;)h.push(Lx(t,{name:o,type:e.type.replace("*","")},r,i))}return h;default:return Dx(s,t)}}var jx=(t,e)=>{if(yk("string"==typeof t||"number"==typeof t||"bigint"==typeof t,`Validate: arg ${e.name} should be a felt typed as (String, Number or BigInt)`),"string"==typeof t&&!vk(t))return;const r=BigInt(t.toString(10));yk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)},zx=(t,e)=>{"number"==typeof t&&yk(t<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is to large to be typed as Number use (BigInt or String)"),yk("string"==typeof t||"number"==typeof t||"bigint"==typeof t||"object"==typeof t&&"low"in t&&"high"in t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (String, Number or BigInt), but is ${typeof t} ${t}.`);const r="object"==typeof t?Wk(t):wk(t);switch(e.type){case"core::integer::u8":yk(r>=0n&&r<=255n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0 - 255]`);break;case"core::integer::u16":yk(r>=0n&&r<=65535n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 65535]`);break;case"core::integer::u32":yk(r>=0n&&r<=4294967295n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 4294967295]`);break;case"core::integer::u64":yk(r>=0n&&r<=2n**64n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^64-1]`);break;case"core::integer::u128":yk(r>=0n&&r<=2n**128n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^128-1]`);break;case"core::integer::u256":yk(r>=0n&&r<=2n**256n-1n,`Validate: arg ${e.name} is ${e.type} 0 - 2^256-1`);break;case"core::starknet::class_hash::ClassHash":case"core::starknet::contract_address::ContractAddress":yk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)}},qx=(t,e)=>{yk("boolean"==typeof t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (Boolean)`)},Vx=(t,e,r)=>{if("core::integer::u256"!==e.type)if("core::starknet::eth_address::EthAddress"!==e.type)yk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type struct (${e.type}), and should be defined as js object (not array)`),r[e.type].members.forEach((({name:r})=>{yk(Object.keys(t).includes(r),`Validate: arg ${e.name} should have a property ${r}`)}));else{yk("object"!=typeof t,`EthAdress type is waiting a BigNumberish. Got ${t}`);const r=BigInt(t.toString(10));yk(r>=0n&&r<=2n**160n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^160-1]`)}else zx(t,e)},Hx=(t,e)=>{yk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type Enum (${e.type}), and should be defined as js object (not array)`);const r=Object.getOwnPropertyNames(Object.getPrototypeOf(t)),i=[...Object.getOwnPropertyNames(t),...r];if(!(ax(e.type)&&i.includes("isSome")&&i.includes("isNone")||hx(e.type)&&i.includes("isOk")&&i.includes("isErr")||i.includes("variant")&&i.includes("activeVariant")))throw new Error(`Validate Enum: argument ${e.name}, type ${e.type}, value received ${t}, is not an Enum.`)},Zx=(t,e)=>{yk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} should be a tuple (defined as object)`)},Gx=(t,e,r,i)=>{const n=gx(e.type);if(!ex(n)||!Vk(t))switch(yk(Array.isArray(t),`Validate: arg ${e.name} should be an Array`),!0){case ex(n):t.forEach((t=>jx(t,e)));break;case ix(n):t.forEach((t=>Zx(t,{name:e.name,type:n})));break;case rx(n):t.forEach((t=>Gx(t,{name:"",type:n},r,i)));break;case ox(n,r):t.forEach((t=>Vx(t,{name:e.name,type:n},r)));break;case sx(n,i):t.forEach((t=>Hx(t,{name:e.name,type:n})));break;case ux(n)||lx(n):t.forEach((t=>zx(t,e)));break;case fx(n):t.forEach((t=>qx(t,e)));break;default:throw new Error(`Validate Unhandled: argument ${e.name}, type ${e.type}, value ${t}`)}};function Kx(t,e,r,i){t.inputs.reduce(((t,n)=>{const o=e[t];switch(!0){case tx(n.name):return t;case ex(n.type):jx(o,n);break;case ux(n.type)||lx(n.type):zx(o,n);break;case fx(n.type):qx(o,n);break;case rx(n.type):Gx(o,n,r,i);break;case ox(n.type,r):Vx(o,n,r);break;case sx(n.type,i):Hx(o,n);break;case ix(n.type):Zx(o,n);break;default:throw new Error(`Validate Unhandled: argument ${n.name}, type ${n.type}, value ${o}`)}return t+1}),0)}var Jx=class{constructor(t){this.structs=Jx.getAbiStruct(t),this.enums=Jx.getAbiEnum(t),this.parser=Rx(t),this.abi=this.parser.getLegacyFormat()}validate(t,e,r=[]){if("DEPLOY"!==t){yk(this.abi.filter((e=>{if("function"!==e.type)return!1;const r="view"===e.stateMutability||"view"===e.state_mutability;return"INVOKE"===t?!r:r})).map((t=>t.name)).includes(e),("INVOKE"===t?"invocable":"viewable")+" method not found in abi")}const i=this.abi.find((r=>"DEPLOY"===t?r.name===e&&"constructor"===r.type:r.name===e&&"function"===r.type));if(Tx(e,r,i))return;const n=this.parser.methodInputsLength(i);if(r.length!==n)throw Error(`Invalid number of arguments, expected ${n} arguments, but got ${r.length}`);Kx(i,r,this.structs,this.enums)}compile(t,e){const r=this.abi.find((e=>e.name===t));if(Tx(t,e,r))return[];let i;if(Array.isArray(e))i=e;else{const t=Ox(e,r.inputs,this.structs,this.enums);i=Object.values(t),Kx(r,i,this.structs,this.enums)}const n=i[Symbol.iterator](),o=r.inputs.reduce(((t,e)=>tx(e.name)&&!px(e.type)?t:t.concat(function(t,e,r,i){const{name:n,type:o}=e;let{value:s}=t.next();switch(!0){case rx(o):if(!Array.isArray(s)&&!zk(s))throw Error(`ABI expected parameter ${n} to be array or long string, got ${s}`);return"string"==typeof s&&(s=Hk(s)),Ux(s,e.type,r,i);case"core::starknet::eth_address::EthAddress"===o:return Bx(o,s);case ox(o,r)||ix(o)||cx(o):case sx(o,i):return Ux(s,o,r,i);default:return Bx(o,s)}}(n,e,this.structs,this.enums))),[]);return Object.defineProperty(o,"__compiled__",{enumerable:!1,writable:!1,value:!0}),o}static compile(t){const e=t=>{const e=(t,r=".")=>{const i=Array.isArray(t)?[t.length.toString(),...t]:t;return Object.entries(i).flatMap((([t,n])=>{let o=n;Vk(o)&&(o=Hk(o)),"entrypoint"===t&&(o=Uk(o));const s=Array.isArray(i)&&"0"===t?"$$len":t;if(bk(o))return[[`${r}${s}`,Mx(o)]];if(Object(o)===o){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(o)),i=[...Object.getOwnPropertyNames(o),...t];if(i.includes("isSome")&&i.includes("isNone")){const t=o,i=t.isSome()?0:1;return t.isSome()?e({0:i,1:t.unwrap()},`${r}${s}.`):[[`${r}${s}`,Mx(i)]]}if(i.includes("isOk")&&i.includes("isErr")){const t=o,i=t.isOk()?0:1;return e({0:i,1:t.unwrap()},`${r}${s}.`)}if(i.includes("variant")&&i.includes("activeVariant")){const t=o,i=t.activeVariant(),n=Object.keys(t.variant).findIndex((t=>t===i));return"object"==typeof t.unwrap()&&0===Object.keys(t.unwrap()).length?[[`${r}${s}`,Mx(n)]]:e({0:n,1:t.unwrap()},`${r}${s}.`)}return e(o,`${r}${s}.`)}return[[`${r}${s}`,Mx(o)]]}))};return Object.fromEntries(e(t))};let r;if(Array.isArray(t)){const i=e({...t});r=Object.values(i)}else{const i=e(t);r=Object.values(i)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,e){const{outputs:r}=this.abi.find((e=>e.name===t)),i=e.flat()[Symbol.iterator](),n=r.flat().reduce(((t,e,r)=>{const n=e.name??r;return t[n]=Fx(i,e,this.structs,this.enums,t),t[n]&&t[`${n}_len`]&&delete t[`${n}_len`],t}),{});return 1===Object.keys(n).length&&0 in n?n[0]:n}format(t,e,r){return Ix(this.parse(t,e),r)}static getAbiStruct(t){return t.filter((t=>"struct"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{})}static getAbiEnum(t){const e=t.filter((t=>"enum"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{});return delete e["core::bool"],e}static toCalldata(t=[]){return Jx.compile(t)}static toHex(t=[]){return Jx.compile(t).map((t=>Mk(t)))}};pA({},{calculateContractAddressFromHash:()=>fN,calculateDeclareTransactionHash:()=>uN,calculateDeployAccountTransactionHash:()=>lN,calculateDeployTransactionHash:()=>hN,calculateTransactionHash:()=>cN,calculateTransactionHashCommon:()=>aN,computeCompiledClassHash:()=>vN,computeContractClassHash:()=>MN,computeHashOnElements:()=>sN,computeLegacyContractClassHash:()=>gN,computeSierraContractClassHash:()=>bN,default:()=>pN,feeTransactionVersion:()=>iN,feeTransactionVersion_2:()=>nN,formatSpaces:()=>mN,getSelector:()=>Dk,getSelectorFromName:()=>Uk,getVersionsByType:()=>oN,keccakBn:()=>Bk,poseidon:()=>sv,starknetKeccak:()=>$k,transactionVersion:()=>eN,transactionVersion_2:()=>rN});pA({},{starkCurve:()=>dw,weierstrass:()=>Mv});pA({},{parse:()=>Wx,parseAlwaysAsBig:()=>Yx,stringify:()=>Xx,stringifyAlwaysAsBig:()=>tN});var Qx=t=>{if(!mw(t))return parseFloat(t);const e=parseInt(t,10);return Number.isSafeInteger(e)?e:BigInt(t)},Wx=t=>Uw(String(t),void 0,Qx),Yx=t=>Uw(String(t),void 0,Rw),Xx=(t,e,r,i)=>yb(t,e,r,i),tN=Xx,eN=PA,rN=OA,iN=BA,nN=$A;function oN(t){return"fee"===t?{v1:iN,v2:nN}:{v1:eN,v2:rN}}function sN(t){return[...t,t.length].reduce(((t,e)=>rw(wk(t),wk(e))),0).toString()}function aN(t,e,r,i,n,o,s,a=[]){const h=sN(n);return sN([t,e,r,i,h,o,s,...a])}function hN(t,e,r,i,n="constructor"){return aN("0x6465706c6f79",r,t,Uk(n),e,0,i)}function uN(t,e,r,i,n,o,s){return aN("0x6465636c617265",r,e,0,[t],i,n,[o,...s?[s]:[]])}function lN(t,e,r,i,n,o,s,a){return aN("0x6465706c6f795f6163636f756e74",n,t,0,[e,i,...r],o,s,[a])}function cN(t,e,r,i,n,o){return aN("0x696e766f6b65",e,t,0,r,i,n,[o])}function fN(t,e,r,i){const n=sN(Jx.compile(r));return sN([Mx("0x535441524b4e45545f434f4e54524143545f41444452455353"),i,t,e,n])}function dN(t,e){return"attributes"===t||"accessible_scopes"===t?Array.isArray(e)&&0===e.length?void 0:e:"debug_info"===t?null:null===e?void 0:e}function mN(t){let e=!1;const r=[];for(const i of t)'"'===i&&!1==(r.length>0&&"\\"===r.slice(-1)[0])&&(e=!e),e?r.push(i):r.push(":"===i?": ":","===i?", ":i);return r.join("")}function pN(t){const{abi:e,program:r}=t,i=mN(Xx({abi:e,program:r},dN));return AA(nw(vA(i)).toString(16))}function gN(t){const e="string"==typeof t?Wx(t):t,r=Mk(FA),i=sN(e.entry_points_by_type.EXTERNAL.flatMap((t=>[t.selector,t.offset]))),n=sN(e.entry_points_by_type.L1_HANDLER.flatMap((t=>[t.selector,t.offset]))),o=sN(e.entry_points_by_type.CONSTRUCTOR.flatMap((t=>[t.selector,t.offset]))),s=sN(e.program.builtins.map((t=>Zk(t)))),a=pN(e),h=sN(e.program.data);return sN([r,i,n,o,s,a,h])}function yN(t){const e=t.flatMap((t=>{return[BigInt(t.selector),BigInt(t.offset),(e=t.builtins,fw(e.flatMap((t=>BigInt(Zk(t))))))];var e}));return fw(e)}function vN(t){const e=BigInt(Zk("COMPILED_CLASS_V1")),r=yN(t.entry_points_by_type.EXTERNAL),i=yN(t.entry_points_by_type.L1_HANDLER),n=yN(t.entry_points_by_type.CONSTRUCTOR),o=fw(t.bytecode.map((t=>BigInt(t))));return Mk(fw([e,r,i,n,o]))}function wN(t){return fw(t.flatMap((t=>[BigInt(t.selector),BigInt(t.function_idx)])))}function bN(t){const e=BigInt(Zk("CONTRACT_CLASS_V0.1.0")),r=wN(t.entry_points_by_type.EXTERNAL),i=wN(t.entry_points_by_type.L1_HANDLER),n=wN(t.entry_points_by_type.CONSTRUCTOR),o=function(t){const e=mN(Xx(t.abi,null));return BigInt(AA(nw(vA(e)).toString(16)))}(t),s=fw(t.sierra_program.map((t=>BigInt(t))));return Mk(fw([e,r,i,n,o,s]))}function MN(t){const e="string"==typeof t?Wx(t):t;return"sierra_program"in e?bN(e):gN(e)}function _N(t){const e="string"==typeof t?t:Xx(t);return MA(FE(e))}function EN(t){if(Array.isArray(t))return t;const e=yA(jE(bA(t)));return Wx(e)}function AN(){return Kv(Vv.randomPrivateKey())}function kN(t){return AA(t).toLowerCase()}function xN(t){if(!t)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(t))return t.map((t=>Mk(t)));try{const{r:e,s:r}=t;return[Mk(e),Mk(r)]}catch(t){throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function NN(t){return Nk(xN(t))}function SN(t){return Sk(xN(t))}function IN(t,e=.5){const r=Math.round(100*(1+e));return wk(t)*wk(r)/100n}function RN(t){return"sierra_program"in("string"==typeof t?Wx(t):t)}pA({},{compressProgram:()=>_N,decompressProgram:()=>EN,estimatedFeeToMaxFee:()=>IN,formatSignature:()=>xN,makeAddress:()=>kN,randomAddress:()=>AN,signatureToDecimalArray:()=>NN,signatureToHexArray:()=>SN});var TN="undefined"!=typeof window&&window.fetch||"undefined"!=typeof global&&global.fetch||fA;function CN(t){return new Promise((e=>{setTimeout(e,t)}))}function PN(t){const e={...t};return delete e.sierra_program_debug_info,e.abi=mN(Xx(t.abi)),e.sierra_program=mN(Xx(t.sierra_program)),e.sierra_program=_N(e.sierra_program),e}function ON(t){const e="string"==typeof t?Wx(t):t;return RN(t)?PN(e):{...e,..."program"in e&&{program:_N(e.program)}}}pA({},{createSierraContractClass:()=>PN,parseContract:()=>ON,wait:()=>CN});var BN=class extends Error{constructor(t){super(t),Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),function(t,e){const{setPrototypeOf:r}=Object;r?r(t,e):t.__proto__=e}(this,new.target.prototype),function(t,e=t.constructor){const{captureStackTrace:r}=Error;r&&r(t,e)}(this)}},$N=class extends BN{},UN=class extends $N{constructor(t,e){super(t),this.errorCode=e}},DN=class extends $N{constructor(t,e){super(t),this.errorCode=e}};pA({},{StarknetIdContract:()=>KN,getStarknetIdContract:()=>JN,useDecoded:()=>ZN,useEncoded:()=>GN});var LN="abcdefghijklmnopqrstuvwxyz0123456789-",FN=BigInt(LN.length+1),jN="这来",zN=BigInt(LN.length),qN=BigInt(jN.length),VN=BigInt(jN.length+1);function HN(t){let e=0;for(;t.endsWith(jN[jN.length-1]);)t=t.substring(0,t.length-1),e+=1;return[t,e]}function ZN(t){let e="";return t.forEach((t=>{for(;t!==UA;){const r=t%FN;if(t/=FN,r===BigInt(LN.length)){const r=t/VN;if(r===UA){const i=t%VN;t=r,e+=i===UA?LN[0]:jN[Number(i)-1]}else{e+=jN[Number(t%qN)],t/=qN}}else e+=LN[Number(r)]}const[r,i]=HN(e);i&&(e=r+(i%2==0?jN[jN.length-1].repeat(i/2-1)+jN[0]+LN[1]:jN[jN.length-1].repeat((i-1)/2+1))),e+="."})),e?e.concat("stark"):e}function GN(t){let e=BigInt(0),r=BigInt(1);if(t.endsWith(jN[0]+LN[1])){const[e,r]=HN(t.substring(0,t.length-2));t=e+jN[jN.length-1].repeat(2*(r+1))}else{const[e,r]=HN(t);r&&(t=e+jN[jN.length-1].repeat(1+2*(r-1)))}for(let i=0;i<t.length;i+=1){const n=t[i],o=LN.indexOf(n),s=BigInt(LN.indexOf(n));if(-1!==o)i===t.length-1&&t[i]===LN[0]?(e+=r*zN,r*=FN,r*=FN):(e+=r*s,r*=FN);else if(-1!==jN.indexOf(n)){e+=r*zN,r*=FN;const o=(i===t.length-1?1:0)+jN.indexOf(n);e+=r*BigInt(o),r*=qN}}return e}var KN=(t=>(t.MAINNET="0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",t.TESTNET="0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce",t))(KN||{});function JN(t){switch(t){case"0x534e5f4d41494e":return"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678";case"0x534e5f474f45524c49":return"0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce";default:throw new Error("Starknet.id is not yet deployed on this network")}}async function QN(t,e,r){const i=await t.getChainId(),n=r??JN(i);try{const r=await t.callContract({contractAddress:n,entrypoint:"address_to_domain",calldata:Jx.compile({address:e})}),i=ZN(r.result.map((t=>BigInt(t))).slice(1));if(!i)throw Error("Starkname not found");return i}catch(t){if(t instanceof Error&&"Starkname not found"===t.message)throw t;throw Error("Could not get stark name")}}async function WN(t,e,r){const i=await t.getChainId(),n=r??JN(i);try{return(await t.callContract({contractAddress:n,entrypoint:"domain_to_address",calldata:Jx.compile({domain:[GN(e.replace(".stark","")).toString(10)]})})).result[0]}catch{throw Error("Could not get address from stark name")}}var YN=Object.values(nk),XN=class{constructor(t){this.hash=null,this.number=null,this.tag=null,this.valueOf=()=>this.number,this.toString=()=>this.hash,this.setIdentifier(t)}setIdentifier(t){"string"==typeof t&&vk(t)?this.hash=t:"bigint"==typeof t?this.hash=Mk(t):"number"==typeof t?this.number=t:"string"==typeof t&&YN.includes(t)?this.tag=t:this.tag="pending"}get queryIdentifier(){return null!==this.number?`blockNumber=${this.number}`:null!==this.hash?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return null!==this.number?{block_number:this.number}:null!==this.hash?{block_hash:this.hash}:this.tag}set identifier(t){this.setIdentifier(t)}get sequencerIdentifier(){return null!==this.hash?{blockHash:this.hash}:{blockNumber:this.number??this.tag}}},tS=(t,e=!1)=>{e||console.warn("Using default public node url, please provide nodeUrl in provider options!");const r="SN_MAIN"===t?GA:ZA;return r[Math.floor(Math.random()*r.length)]},eS={"Content-Type":"application/json"},rS="pending",iS=200,nS=class{constructor(t){this.responseParser=new class{parseGetBlockResponse(t){return{timestamp:t.timestamp,block_hash:"block_hash"in t?t.block_hash:"",block_number:"block_number"in t?t.block_number:-1,new_root:"new_root"in t?t.new_root:"",parent_hash:t.parent_hash,status:"status"in t?t.status:"PENDING",transactions:t.transactions}}parseGetTransactionResponse(t){return{calldata:"calldata"in t?t.calldata:[],contract_address:"contract_address"in t?t.contract_address:"",sender_address:"sender_address"in t?t.sender_address:"",max_fee:"max_fee"in t?t.max_fee:"",nonce:"nonce"in t?t.nonce:"",signature:"signature"in t?t.signature:[],transaction_hash:t.transaction_hash,version:t.version}}parseFeeEstimateResponse(t){return{overall_fee:wk(t[0].overall_fee),gas_consumed:wk(t[0].gas_consumed),gas_price:wk(t[0].gas_price)}}parseFeeEstimateBulkResponse(t){return t.map((t=>({overall_fee:wk(t.overall_fee),gas_consumed:wk(t.gas_consumed),gas_price:wk(t.gas_price)})))}parseCallContractResponse(t){return{result:t}}parseSimulateTransactionResponse(t){return t.map((t=>({...t,suggestedMaxFee:IN(BigInt(t.fee_estimation.overall_fee))})))}parseContractClassResponse(t){return{...t,abi:"string"==typeof t.abi?JSON.parse(t.abi):t.abi}}},this.getBlockHashAndNumber=this.getBlockLatestAccepted,this.getStateUpdate=this.getBlockStateUpdate,this.traceBlockTransactions=this.getBlockTransactionsTraces,this.getTransactionCount=this.getBlockTransactionCount,this.traceTransaction=this.getTransactionTrace,this.getSimulateTransaction=this.simulateTransaction;const{nodeUrl:e,retries:r,headers:i,blockIdentifier:n,chainId:o}=t||{};Object.values(zA).includes(e)?this.nodeUrl=tS(e,t?.default):this.nodeUrl=e||tS(void 0,t?.default),this.retries=r||iS,this.headers={...eS,...i},this.blockIdentifier=n||rS,this.chainId=o}fetch(t,e,r=0){const i={id:r,jsonrpc:"2.0",method:t,...e&&{params:e}};return TN(this.nodeUrl,{method:"POST",body:Xx(i),headers:this.headers})}errorHandler(t,e,r,i){if(r){const{code:i,message:n,data:o}=r;throw new $N(`RPC: ${t} with params ${Xx(e)}\n ${i}: ${n}: ${Xx(o)}`)}if(i instanceof $N)throw i;if(i)throw Error(i.message)}async fetchEndpoint(t,e){try{const r=await this.fetch(t,e),{error:i,result:n}=await r.json();return this.errorHandler(t,e,i),n}catch(r){throw this.errorHandler(t,e,r?.response?.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.fetchEndpoint("starknet_specVersion")}async getNonceForAddress(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:r,block_id:i})}async getBlock(t=this.blockIdentifier){return this.getBlockWithTxHashes(t).then(this.responseParser.parseGetBlockResponse)}async getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}async getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}async getBlockWithTxHashes(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:e})}async getBlockWithTxs(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:e})}async getBlockStateUpdate(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:e})}async getBlockTransactionsTraces(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:e})}async getBlockTransactionCount(t=this.blockIdentifier){const e=new XN(t).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:e})}async getPendingTransactions(){const{transactions:t}=await this.getBlock("pending");return Promise.all(t.map((t=>this.getTransactionByHash(t))))}async getTransaction(t){return this.getTransactionByHash(t).then(this.responseParser.parseGetTransactionResponse)}async getTransactionByHash(t){const e=Mk(t);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:e})}async getTransactionByBlockIdAndIndex(t,e){const r=new XN(t).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:r,index:e})}async getTransactionReceipt(t){const e=Mk(t);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:e})}async getTransactionTrace(t){const e=Mk(t);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:e})}async getTransactionStatus(t){const e=Mk(t);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:e})}async simulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipFeeCharge:i=!0}){const n=new XN(e).identifier,o=[];return r&&o.push(ok.ESimulationFlag.SKIP_VALIDATE),i&&o.push(ok.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:n,transactions:t.map((t=>this.buildTransaction(t))),simulation_flags:o}).then(this.responseParser.parseSimulateTransactionResponse)}async waitForTransaction(t,e){const r=Mk(t);let{retries:i}=this,n=!1,o=!1;const s=e?.retryInterval??5e3,a=e?.errorStates??[ok.ETransactionStatus.REJECTED,ok.ETransactionExecutionStatus.REVERTED],h=e?.successStates??[ok.ETransactionExecutionStatus.SUCCEEDED,ok.ETransactionStatus.ACCEPTED_ON_L2,ok.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!n;){await CN(s);try{u=await this.getTransactionStatus(r);const t=u.execution_status,e=u.finality_status;if(!e){throw new Error("waiting for transaction status")}if(h.includes(t)||h.includes(e))n=!0;else if(a.includes(t)||a.includes(e)){const r=`${t}: ${e}`,i=new Error(r);throw i.response=u,o=!0,i}}catch(t){if(t instanceof Error&&o)throw t;if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1}let l=null;for(;null===l;){try{l=await this.getTransactionReceipt(r)}catch(t){if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1,await CN(s)}return l}async getStorageAt(t,e,r=this.blockIdentifier){const i=Mk(t),n=Ek(e),o=new XN(r).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:i,key:n,block_id:o})}async getClassHashAt(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:i,contract_address:r})}async getClassByHash(t){return this.getClass(t)}async getClass(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:r,block_id:i}).then(this.responseParser.parseContractClassResponse)}async getClassAt(t,e=this.blockIdentifier){const r=Mk(t),i=new XN(e).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:i,contract_address:r}).then(this.responseParser.parseContractClassResponse)}async getCode(t,e){throw new Error("RPC does not implement getCode function")}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClass(e,r)}if(RN(n)){if(i){return{cairo:"1",compiler:vx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async getEstimateFee(t,e,r=this.blockIdentifier){return this.getInvokeEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier){const i=new XN(r).identifier,n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier){const i=new XN(r).identifier,n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier){const i=new XN(r).identifier,n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){r&&console.warn("getEstimateFeeBulk RPC does not support skipValidate");const i=new XN(e).identifier;return this.fetchEndpoint("starknet_estimateFee",{request:t.map((t=>this.buildTransaction(t,"fee"))),block_id:i}).then(this.responseParser.parseFeeEstimateBulkResponse)}async invokeFunction(t,e){return this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:t.contractAddress,calldata:Jx.toHex(t.calldata),type:ok.ETransactionType.INVOKE,max_fee:Mk(e.maxFee||0),version:"0x1",signature:SN(t.signature),nonce:Mk(e.nonce)}})}async declareContract({contract:t,signature:e,senderAddress:r,compiledClassHash:i},n){return RN(t)?this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ok.ETransactionType.DECLARE,contract_class:{sierra_program:EN(t.sierra_program),contract_class_version:t.contract_class_version,entry_points_by_type:t.entry_points_by_type,abi:t.abi},compiled_class_hash:i||"",version:CA,max_fee:Mk(n.maxFee||0),signature:SN(e),sender_address:r,nonce:Mk(n.nonce)}}):this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ok.ETransactionType.DECLARE,contract_class:{program:t.program,entry_points_by_type:t.entry_points_by_type,abi:t.abi},version:TA,max_fee:Mk(n.maxFee||0),signature:SN(e),sender_address:r,nonce:Mk(n.nonce)}})}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:Jx.toHex(e||[]),class_hash:Mk(t),contract_address_salt:Mk(r||0),type:ok.ETransactionType.DEPLOY_ACCOUNT,max_fee:Mk(n.maxFee||0),version:Mk(n.version||0),signature:SN(i),nonce:Mk(n.nonce)}})}async callContract(t,e=this.blockIdentifier){const r=new XN(e).identifier,i=await this.fetchEndpoint("starknet_call",{request:{contract_address:t.contractAddress,entry_point_selector:Uk(t.entrypoint),calldata:Jx.toHex(t.calldata)},block_id:r});return this.responseParser.parseCallContractResponse(i)}async estimateMessageFee(t,e=this.blockIdentifier){const{from_address:r,to_address:i,entry_point_selector:n,payload:o}=t,s={from_address:Mk(r),to_address:Mk(i),entry_point_selector:Dk(n),payload:Ck(o)},a=new XN(e).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:s,block_id:a})}async getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}async getEvents(t){return this.fetchEndpoint("starknet_getEvents",{filter:t})}async getStarkName(t,e){return QN(this,t,e)}async getAddressFromStarkName(t,e){return WN(this,t,e)}buildTransaction(t,e){const r=oN(e),i={signature:SN(t.signature),nonce:Mk(t.nonce),max_fee:Mk(t.maxFee||0)};if("INVOKE_FUNCTION"===t.type)return{type:ok.ETransactionType.INVOKE,sender_address:t.contractAddress,calldata:Jx.toHex(t.calldata),version:Mk(t.version||r.v1),...i};if("DECLARE"===t.type)return RN(t.contract)?{type:t.type,contract_class:{...t.contract,sierra_program:EN(t.contract.sierra_program)},compiled_class_hash:t.compiledClassHash||"",sender_address:t.senderAddress,version:Mk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Mk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Jx.toHex(t.constructorCalldata||[]),class_hash:Mk(t.classHash),contract_address_salt:Mk(t.addressSalt||0),version:Mk(t.version||r.v1),...i};throw Error("RPC buildTransaction received unknown TransactionType")}},oS=/^(?:\w+:)?\/\/(\S+)$/,sS=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,aS=/^[^\s.]+\.\S{2,}$/;function hS(t,e,r){return function(t){if(!t)return!1;if("string"!=typeof t)return!1;const e=t.match(oS);if(!e)return!1;const r=e[1];return!(!r||!sS.test(r)&&!aS.test(r))}(r)?r:dA(t,r??e)}var uS={network:"SN_GOERLI",blockIdentifier:"pending"},lS=class{constructor(t=uS){this.responseParser=new class extends class{}{parseGetBlockResponse(t){return{...t,new_root:t.state_root,parent_hash:t.parent_block_hash,transactions:Object.values(t.transactions).map((t=>"transaction_hash"in t&&t.transaction_hash)).filter(Boolean)}}parseGetTransactionResponse(t){if("NOT_RECEIVED"===t.status&&"NOT_RECEIVED"===t.finality_status)throw new $N;return{...t,calldata:"calldata"in t.transaction?t.transaction.calldata:[],contract_class:"contract_class"in t.transaction?t.transaction.contract_class:void 0,entry_point_selector:"entry_point_selector"in t.transaction?t.transaction.entry_point_selector:void 0,max_fee:"max_fee"in t.transaction?t.transaction.max_fee:void 0,nonce:t.transaction.nonce,sender_address:"sender_address"in t.transaction?t.transaction.sender_address:void 0,signature:"signature"in t.transaction?t.transaction.signature:void 0,transaction_hash:"transaction_hash"in t.transaction?t.transaction.transaction_hash:void 0,version:"version"in t.transaction?t.transaction.version:void 0}}parseGetTransactionReceiptResponse(t){return{...t,messages_sent:t.l2_to_l1_messages,..."revert_error"in t&&{revert_reason:t.revert_error}}}parseFeeEstimateResponse(t){if("overall_fee"in t){let e={};try{e={gas_consumed:wk(t.gas_usage),gas_price:wk(t.gas_price)}}catch{}return{overall_fee:wk(t.overall_fee),...e}}return{overall_fee:wk(t.amount)}}parseFeeEstimateBulkResponse(t){return[].concat(t).map((t=>{if("overall_fee"in t){let e={};try{e={gas_consumed:wk(t.gas_usage),gas_price:wk(t.gas_price)}}catch{}return{overall_fee:wk(t.overall_fee),...e}}return{overall_fee:wk(t.amount)}}))}parseSimulateTransactionResponse(t){const e="overall_fee"in t.fee_estimation?t.fee_estimation.overall_fee:t.fee_estimation.amount;return[{transaction_trace:t.trace,fee_estimation:t.fee_estimation,suggestedMaxFee:IN(BigInt(e))}]}parseCallContractResponse(t){return{result:t.result}}parseInvokeFunctionResponse(t){return{transaction_hash:t.transaction_hash}}parseDeployContractResponse(t){return{transaction_hash:t.transaction_hash,contract_address:t.address}}parseDeclareContractResponse(t){return{transaction_hash:t.transaction_hash,class_hash:t.class_hash}}parseGetStateUpdateResponse(t){const e=Object.entries(t.state_diff.nonces).map((([t,e])=>({contract_address:t,nonce:e}))),r=Object.entries(t.state_diff.storage_diffs).map((([t,e])=>({address:t,storage_entries:e})));return{...t,state_diff:{...t.state_diff,storage_diffs:r,nonces:e}}}parseContractClassResponse(t){const e=RN(t)?t:ON(t);return{...e,abi:"string"==typeof e.abi?JSON.parse(e.abi):e.abi}}},"network"in t?(this.baseUrl=lS.getNetworkFromName(t.network),this.feederGatewayUrl=hS(this.baseUrl,"feeder_gateway"),this.gatewayUrl=hS(this.baseUrl,"gateway")):(this.baseUrl=t.baseUrl,this.feederGatewayUrl=hS(this.baseUrl,"feeder_gateway",t.feederGatewayUrl),this.gatewayUrl=hS(this.baseUrl,"gateway",t.gatewayUrl)),this.chainId=t?.chainId??lS.getChainIdFromBaseUrl(this.baseUrl),this.headers=t.headers,this.blockIdentifier=t?.blockIdentifier||uS.blockIdentifier}static getNetworkFromName(t){switch(t){case"SN_MAIN":case"0x534e5f4d41494e":return"https://alpha-mainnet.starknet.io";case"SN_GOERLI":case"0x534e5f474f45524c49":return"https://alpha4.starknet.io";default:throw new Error("Could not detect base url from NetworkName")}}static getChainIdFromBaseUrl(t){try{return new URL(t).host.includes("mainnet.starknet.io")?"0x534e5f4d41494e":"0x534e5f474f45524c49"}catch{return console.error(`Could not parse baseUrl: ${t}`),"0x534e5f474f45524c49"}}getFetchUrl(t){return["add_transaction"].includes(t)?this.gatewayUrl:this.feederGatewayUrl}getFetchMethod(t){return["add_transaction","call_contract","estimate_fee","estimate_message_fee","estimate_fee_bulk","simulate_transaction"].includes(t)?"POST":"GET"}getQueryString(t){if(void 0===(e=t)||0===Object.keys(e).length||1===Object.keys(e).length&&Object.entries(e).every((([t,e])=>"blockIdentifier"===t&&null===e)))return"";var e;const r=Object.entries(t).map((([t,e])=>{if("blockIdentifier"===t){return`${new XN(e).queryIdentifier}`}return`${t}=${e}`})).join("&");return`?${r}`}getHeaders(t){return"POST"===t?{"Content-Type":"application/json",...this.headers}:this.headers}async fetchEndpoint(t,...[e,r]){const i=this.getFetchUrl(t),n=this.getFetchMethod(t),o=this.getQueryString(e),s=dA(i,t,o);return this.fetch(s,{method:n,body:r})}async fetch(t,e){const r=hS(this.baseUrl,"",t),i=e?.method??"GET",n=this.getHeaders(i),o=Xx(e?.body);try{const t=await TN(r,{method:i,body:o,headers:n}),s=await t.text();if(!t.ok){let e;try{e=Wx(s)}catch{throw new DN(t.statusText,t.status)}throw new UN(e.message,e.code)}return(e?.parseAlwaysAsBigInt?Yx:Wx)(s)}catch(t){if(t instanceof Error&&!(t instanceof $N))throw Error(`Could not ${i} from endpoint \`${r}\`: ${t.message}`);throw t}}async getChainId(){return Promise.resolve(this.chainId)}async callContract({contractAddress:t,entrypoint:e,calldata:r=[]},i=this.blockIdentifier){return this.fetchEndpoint("call_contract",{blockIdentifier:i},{contract_address:t,entry_point_selector:Uk(e),calldata:Jx.compile(r)}).then(this.responseParser.parseCallContractResponse)}async getBlock(t=this.blockIdentifier){return this.fetchEndpoint("get_block",{blockIdentifier:t}).then(this.responseParser.parseGetBlockResponse)}async getNonceForAddress(t,e=this.blockIdentifier){return this.fetchEndpoint("get_nonce",{contractAddress:t,blockIdentifier:e})}async getStorageAt(t,e,r=this.blockIdentifier){const i=wk(e).toString(10);return this.fetchEndpoint("get_storage_at",{blockIdentifier:r,contractAddress:t,key:i})}async getTransaction(t){const e=Mk(t);return this.fetchEndpoint("get_transaction",{transactionHash:e}).then((t=>{if(1===Object.values(t).length)throw new $N(t.status);return this.responseParser.parseGetTransactionResponse(t)}))}async getTransactionReceipt(t){const e=Mk(t);return this.fetchEndpoint("get_transaction_receipt",{transactionHash:e}).then(this.responseParser.parseGetTransactionReceiptResponse)}async getClassAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_full_contract",{blockIdentifier:e,contractAddress:t}).then(this.responseParser.parseContractClassResponse)}async getClassHashAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_hash_at",{blockIdentifier:e,contractAddress:t})}async getClassByHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_by_hash",{classHash:t,blockIdentifier:e}).then(this.responseParser.parseContractClassResponse)}async getCompiledClassByClassHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_compiled_class_by_class_hash",{classHash:t,blockIdentifier:e})}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClassByHash(e,r)}if(RN(n)){if(i){return{cairo:"1",compiler:vx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async invokeFunction(t,e){return this.fetchEndpoint("add_transaction",void 0,{type:"INVOKE_FUNCTION",sender_address:t.contractAddress,calldata:Jx.compile(t.calldata??[]),signature:NN(t.signature),nonce:Mk(e.nonce),max_fee:Mk(e.maxFee||0),version:"0x1"}).then(this.responseParser.parseInvokeFunctionResponse)}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("add_transaction",void 0,{type:"DEPLOY_ACCOUNT",contract_address_salt:r??AN(),constructor_calldata:Jx.compile(e??[]),class_hash:Mk(t),max_fee:Mk(n.maxFee||0),version:Mk(n.version||0),nonce:Mk(n.nonce),signature:NN(i)}).then(this.responseParser.parseDeployContractResponse)}async declareContract({senderAddress:t,contract:e,signature:r,compiledClassHash:i},n){return RN(e)?this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",sender_address:t,compiled_class_hash:i,contract_class:e,nonce:Mk(n.nonce),signature:NN(r),max_fee:Mk(n.maxFee||0),version:Mk(rN)}).then(this.responseParser.parseDeclareContractResponse):this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",contract_class:e,nonce:Mk(n.nonce),signature:NN(r),sender_address:t,max_fee:Mk(n.maxFee||0),version:Mk(eN)}).then(this.responseParser.parseDeclareContractResponse)}async getEstimateFee(t,e,r=this.blockIdentifier,i=!1){return this.getInvokeEstimateFee(t,e,r,i)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){const i=t.map((t=>this.buildTransaction(t,"fee")));return this.fetchEndpoint("estimate_fee_bulk",{blockIdentifier:e,skipValidate:r},i).then(this.responseParser.parseFeeEstimateBulkResponse)}async getCode(t,e=this.blockIdentifier){return this.fetchEndpoint("get_code",{contractAddress:t,blockIdentifier:e})}async waitForTransaction(t,e){let r,i=!1,n=0;const o=e?.retryInterval??5e3,s=e?.errorStates??["REJECTED","NOT_RECEIVED","REVERTED"],a=e?.successStates??["SUCCEEDED","ACCEPTED_ON_L1","ACCEPTED_ON_L2"];for(;!i;)if(await CN(o),r=await this.getTransactionStatus(t),"NOT_RECEIVED"===r.finality_status&&n<3)n+=1;else if(a.includes(r.finality_status)||a.includes(r.execution_status))i=!0;else if(s.includes(r.finality_status)||s.includes(r.execution_status)){let t;t=r.tx_failure_reason?`${r.tx_status}: ${r.tx_failure_reason.code}\n${r.tx_failure_reason.error_message}`:r.tx_revert_reason?`${r.tx_status}: ${r.tx_revert_reason}`:r.tx_status;const e=new Error(t);throw e.response=r,e}return await this.getTransactionReceipt(t)}async getTransactionStatus(t){const e=Mk(t);return this.fetchEndpoint("get_transaction_status",{transactionHash:e})}async getContractAddresses(){return this.fetchEndpoint("get_contract_addresses")}async getTransactionTrace(t){const e=Mk(t);return this.fetchEndpoint("get_transaction_trace",{transactionHash:e})}async estimateMessageFee({from_address:t,to_address:e,entry_point_selector:r,payload:i},n=this.blockIdentifier){const o={from_address:Rk(t),to_address:Tk(e),entry_point_selector:Dk(r),payload:Ck(i)};return this.fetchEndpoint("estimate_message_fee",{blockIdentifier:n},o)}async getSimulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipExecute:i=!1}){t.length>1&&console.warn("Sequencer simulate process only first element from invocations list"),i&&console.warn("Sequencer can't skip account __execute__");const n=this.buildTransaction(t[0]);return this.fetchEndpoint("simulate_transaction",{blockIdentifier:e,skipValidate:r??!1},n).then(this.responseParser.parseSimulateTransactionResponse)}async getStateUpdate(t=this.blockIdentifier){const e=new XN(t).sequencerIdentifier;return this.fetchEndpoint("get_state_update",{...e}).then(this.responseParser.parseGetStateUpdateResponse)}async getBlockTraces(t=this.blockIdentifier){const e=new XN(t).sequencerIdentifier;return this.fetchEndpoint("get_block_traces",{...e})}async getStarkName(t,e){return QN(this,t,e)}async getAddressFromStarkName(t,e){return WN(this,t,e)}buildTransaction(t,e){const r=oN(e),i={signature:NN(t.signature),nonce:Mk(t.nonce)};if("INVOKE_FUNCTION"===t.type)return{type:t.type,sender_address:t.contractAddress,calldata:Jx.compile(t.calldata??[]),version:Mk(t.version||r.v1),...i};if("DECLARE"===t.type)return RN(t.contract)?{type:t.type,contract_class:t.contract,compiled_class_hash:t.compiledClassHash,sender_address:t.senderAddress,version:Mk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Mk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Jx.compile(t.constructorCalldata||[]),class_hash:Mk(t.classHash),contract_address_salt:Mk(t.addressSalt||0),version:Mk(t.version||r.v1),...i};throw Error("Sequencer buildTransaction received unknown TransactionType")}},cS=class{constructor(t){this.provider=t instanceof cS?t.provider:t instanceof nS||t instanceof lS?t:t&&"rpc"in t?new nS(t.rpc):t&&"sequencer"in t?new lS(t.sequencer):new nS}async getChainId(){return this.provider.getChainId()}async getBlock(t){return this.provider.getBlock(t)}async getClassAt(t,e){return this.provider.getClassAt(t,e)}async getClassHashAt(t,e){return this.provider.getClassHashAt(t,e)}getClassByHash(t){return this.provider.getClassByHash(t)}async getEstimateFee(t,e,r){return this.provider.getEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r,i){return this.provider.getInvokeEstimateFee(t,e,r,i)}async getEstimateFeeBulk(t,e){return this.provider.getEstimateFeeBulk(t,e)}async getNonceForAddress(t,e){return this.provider.getNonceForAddress(t,e)}async getStorageAt(t,e,r){return this.provider.getStorageAt(t,e,r)}async getTransaction(t){return this.provider.getTransaction(t)}async getTransactionReceipt(t){return this.provider.getTransactionReceipt(t)}async callContract(t,e){return this.provider.callContract(t,e)}async invokeFunction(t,e){return this.provider.invokeFunction(t,e)}async deployAccountContract(t,e){return this.provider.deployAccountContract(t,e)}async declareContract(t,e){return this.provider.declareContract(t,e)}async getDeclareEstimateFee(t,e,r,i){return this.provider.getDeclareEstimateFee(t,e,r,i)}getDeployAccountEstimateFee(t,e,r,i){return this.provider.getDeployAccountEstimateFee(t,e,r,i)}async getCode(t,e){return this.provider.getCode(t,e)}async waitForTransaction(t,e){return this.provider.waitForTransaction(t,e)}async getSimulateTransaction(t,e){return this.provider.getSimulateTransaction(t,e)}async getStateUpdate(t){return this.provider.getStateUpdate(t)}async getStarkName(t,e){return QN(this,t,e)}async getAddressFromStarkName(t,e){return WN(this,t,e)}async getContractVersion(t,e,r){return this.provider.getContractVersion(t,e,r)}};pA({},{fromCallsToExecuteCalldata:()=>dS,fromCallsToExecuteCalldataWithNonce:()=>mS,fromCallsToExecuteCalldata_cairo1:()=>gS,getExecuteCalldata:()=>yS,transformCallsToMulticallArrays:()=>fS,transformCallsToMulticallArrays_cairo1:()=>pS});var fS=t=>{const e=[],r=[];return t.forEach((t=>{const i=Jx.compile(t.calldata||[]);e.push({to:wk(t.contractAddress).toString(10),selector:wk(Uk(t.entrypoint)).toString(10),data_offset:r.length.toString(),data_len:i.length.toString()}),r.push(...i)})),{callArray:e,calldata:Jx.compile({calldata:r})}},dS=t=>{const{callArray:e,calldata:r}=fS(t);return[...Jx.compile({callArray:e}),...r]},mS=(t,e)=>[...dS(t),wk(e).toString()],pS=t=>{const e=t.map((t=>({to:wk(t.contractAddress).toString(10),selector:wk(Uk(t.entrypoint)).toString(10),calldata:Jx.compile(t.calldata||[])})));return e},gS=t=>{const e=t.map((t=>({contractAddress:t.contractAddress,entrypoint:t.entrypoint,calldata:Array.isArray(t.calldata)&&"__compiled__"in t.calldata?t.calldata:Jx.compile(t.calldata)})));return Jx.compile({orderCalls:e})},yS=(t,e="0")=>"1"===e?gS(t):dS(t),vS={};pA(vS,{encodeData:()=>SS,encodeType:()=>kS,encodeValue:()=>NS,getDependencies:()=>AS,getMessageHash:()=>RS,getStructHash:()=>IS,getTypeHash:()=>xS,isMerkleTreeType:()=>ES,prepareSelector:()=>_S});pA({},{MerkleTree:()=>wS,proofMerklePath:()=>bS});var wS=class{constructor(t){this.branches=[],this.leaves=t,this.root=this.build(t)}build(t){if(1===t.length)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const e=[];for(let r=0;r<t.length;r+=2)r+1===t.length?e.push(wS.hash(t[r],"0x0")):e.push(wS.hash(t[r],t[r+1]));return this.build(e)}static hash(t,e){const[r,i]=[wk(t),wk(e)].sort(((t,e)=>t>=e?1:-1));return rw(r,i)}getProof(t,e=this.leaves,r=[]){const i=e.indexOf(t);if(-1===i)throw new Error("leaf not found");if(1===e.length)return r;const n=i%2==0,o=(n?e[i+1]:e[i-1])??"0x0",s=[...r,o],a=this.leaves.length===e.length?-1:this.branches.findIndex((t=>t.length===e.length)),h=this.branches[a+1]??[this.root];return this.getProof(wS.hash(n?t:o,n?o:t),h,s)}};function bS(t,e,r){if(0===r.length)return t===e;const[i,...n]=r;return bS(t,wS.hash(e,i),n)}function MS(t){try{return Mk(t)}catch(e){if("string"==typeof t)return Mk(Zk(t));throw new Error(`Invalid BigNumberish: ${t}`)}}function _S(t){return vk(t)?t:Uk(t)}function ES(t){return"merkletree"===t.type}var AS=(t,e,r=[])=>("*"===e[e.length-1]&&(e=e.slice(0,-1)),r.includes(e)?r:t[e]?[e,...t[e].reduce(((e,r)=>[...e,...AS(t,r.type,e).filter((t=>!e.includes(t)))]),[])]:r);var kS=(t,e)=>{const[r,...i]=AS(t,e);return(r?[r,...i.sort()]:[]).map((e=>`${e}(${t[e].map((t=>`${t.name}:${t.type}`))})`)).join("")},xS=(t,e)=>Uk(kS(t,e)),NS=(t,e,r,i={})=>{if(t[e])return[e,IS(t,e,r)];if(Object.keys(t).map((t=>`${t}*`)).includes(e)){const i=r.map((r=>IS(t,e.slice(0,-1),r)));return[e,sN(i)]}if("merkletree"===e){const e=function(t,e){if(e.parent&&e.key){const r=t[e.parent].find((t=>t.name===e.key));if(!ES(r))throw new Error(`${e.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${e.key}`);return r.contains}return"raw"}(t,i),n=r.map((r=>NS(t,e,r)[1])),{root:o}=new wS(n);return["felt",o]}return"felt*"===e?["felt*",sN(r)]:"selector"===e?["felt",_S(r)]:[e,MS(r)]},SS=(t,e,r)=>{const[i,n]=t[e].reduce((([i,n],o)=>{if(void 0===r[o.name]||null===r[o.name])throw new Error(`Cannot encode data: missing data for '${o.name}'`);const s=r[o.name],[a,h]=NS(t,o.type,s,{parent:e,key:o.name});return[[...i,a],[...n,h]]}),[["felt"],[xS(t,e)]]);return[i,n]},IS=(t,e,r)=>sN(SS(t,e,r)[1]),RS=(t,e)=>{if(!(t=>{const e=t;return Boolean(e.types&&e.primaryType&&e.message)})(t))throw new Error("Typed data does not match JSON schema");return sN([Zk("StarkNet Message"),IS(t.types,"StarkNetDomain",t.domain),e,IS(t.types,t.primaryType,t.message)])},TS=new cS({rpc:{default:!0}});function CS(t){return t.filter((t=>"event"===t.type&&(t.size||"enum"!==t.kind))).reduce(((t,e)=>{const r=e.name.slice(e.name.lastIndexOf(":")+1),i={...e};return i.name=r,{...t,[AA(nw(vA(r)).toString(16))]:i}}),{})}function PS(t,e,r,i){const n=t.flat().reduce(((t,n)=>{const o=e[n.keys[0]];if(!o)return t;const s={};s[o.name]={},n.keys.shift();const a=n.keys[Symbol.iterator](),h=n.data[Symbol.iterator](),u=o.members?.filter((t=>"key"===t.kind))||o.keys,l=o.members?.filter((t=>"data"===t.kind))||o.data;return u.forEach((t=>{s[o.name][t.name]=Fx(a,t,r,i,s[o.name])})),l.forEach((t=>{s[o.name][t.name]=Fx(h,t,r,i,s[o.name])})),t.push(s),t}),[]);return n}pA({},{getAbiEvents:()=>CS,parseEvents:()=>PS});var OS=t=>{const e=t[t.length-1];return"object"==typeof e&&["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"].some((t=>t in e))?{args:t,options:t.pop()}:{args:t}};function BS(t,e){return async function(...r){const i=OS(r);return t.call(e.name,i.args,{parseRequest:!0,parseResponse:!0,...i.options})}}function $S(t,e){return"view"===e.stateMutability||"view"===e.state_mutability?BS(t,e):function(t,e){return async function(...r){const i=OS(r);return t.invoke(e.name,i.args,{parseRequest:!0,...i.options})}}(t,e)}function US(t,e){return function(...r){return t.estimate(e.name,r)}}function DS(t,e){return Array.isArray(t)&&"__compiled__"in t?t:Array.isArray(t)&&Array.isArray(t[0])&&"__compiled__"in t[0]?t[0]:e()}var LS=class{constructor(t,e,r=TS){this.address=e&&e.toLowerCase(),this.providerOrAccount=r,this.callData=new Jx(t),this.structs=Jx.getAbiStruct(t),this.events=CS(t);const i=Rx(t);this.abi=i.getLegacyFormat();const n={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach((t=>{if("function"!==t.type)return;const e=t.name;var r,i;this[e]||Object.defineProperty(this,e,{...n,value:$S(this,t)}),this.functions[e]||Object.defineProperty(this.functions,e,{...n,value:$S(this,t)}),this.callStatic[e]||Object.defineProperty(this.callStatic,e,{...n,value:BS(this,t)}),this.populateTransaction[e]||Object.defineProperty(this.populateTransaction,e,{...n,value:(r=this,i=t,function(...t){return r.populate(i.name,t)})}),this.estimateFee[e]||Object.defineProperty(this.estimateFee,e,{...n,value:US(this,t)})}))}attach(t){this.address=t}connect(t){this.providerOrAccount=t}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(t,e=[],{parseRequest:r=!0,parseResponse:i=!0,formatResponse:n,blockIdentifier:o}={}){yk(null!==this.address,"contract is not connected to an address");const s=DS(e,(()=>r?(this.callData.validate("CALL",t,e),this.callData.compile(t,e)):(console.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),e)));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:s,entrypoint:t},o).then((e=>i?n?this.callData.format(t,e.result,n):this.callData.parse(t,e.result):e.result))}invoke(t,e=[],{parseRequest:r=!0,maxFee:i,nonce:n,signature:o}={}){yk(null!==this.address,"contract is not connected to an address");const s=DS(e,(()=>r?(this.callData.validate("INVOKE",t,e),this.callData.compile(t,e)):(console.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),e))),a={contractAddress:this.address,calldata:s,entrypoint:t};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(a,void 0,{maxFee:i,nonce:n});if(!n)throw new Error("Nonce is required when invoking a function without an account");return console.warn(`Invoking ${t} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...a,signature:o},{nonce:n})}async estimate(t,e=[]){yk(null!==this.address,"contract is not connected to an address"),DS(e,(()=>!1))||this.callData.validate("INVOKE",t,e);const r=this.populate(t,e);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(r);throw Error("Contract must be connected to the account contract to estimate")}populate(t,e=[]){const r=DS(e,(()=>this.callData.compile(t,e)));return{contractAddress:this.address,entrypoint:t,calldata:r}}parseEvents(t){return PS(t.events?.filter((t=>kk(t.from_address)===kk(this.address)),[])||[],this.events,this.structs,Jx.getAbiEnum(this.abi))}isCairo1(){return Kk.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typed(t){return this}};function FS(t){xk(t,UA,LA,"Starknet Address");const e=function(t){return AA(EA(Mk(t)).padStart(64,"0"))}(t);if(!e.match(/^(0x)?[0-9a-fA-F]{64}$/))throw new Error("Invalid Address Format");return e}const jS={SN_MAIN:"https://starknet-mainnet.public.blastapi.io",SN_SEPOLIA:"https://starknet-sepolia.public.blastapi.io"},zS=[{name:"argent::common::account::IAccount",type:"interface",items:[{name:"is_valid_signature",type:"function",inputs:[{name:"hash",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]}];function qS(t,e){var r;if(!jS[t])throw new Error("Invalid network");return new nS({nodeUrl:null!==(r=null==e?void 0:e.broviderUrl)&&void 0!==r?r:jS[t]})}function VS(t){return!!t.primaryType&&!!t.types.StarkNetDomain}function HS(t,e){const{domain:r,types:i,primaryType:n,message:o}=t;return vS.getMessageHash({types:i,primaryType:n,domain:r,message:o},e)}var ZS=Object.freeze({__proto__:null,isStarknetMessage:VS,getHash:HS,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="SN_MAIN",n={}){try{const o=new LS(zS,t,qS(i,n));if(e.length<2)throw new Error("Invalid signature format");const s=yield o.is_valid_signature(HS(r,t),e.slice(-2));return Bh.from(s).eq(Bh.from("370462705988"))}catch(t){if(t.message.includes("Contract not found"))throw new Error("Contract not deployed");throw t}}))}});function GS(t){return we(qi(t))}var KS=o((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:$t.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,i,n){for(var o=0,s=0,a=Math.min(t.length,i),h=e;h<a;h++){var u=t.charCodeAt(h)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,a=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,l=r;l<a;l+=i)u=h(t,l,l+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var c=1;for(u=h(t,l,t.length,e),l=0;l<s;l++)c*=e;this.imuln(c),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){n.prototype.inspect=l}else n.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var a=this.words[s],h=(16777215&(a<<n|o)).toString(16);o=a>>>24-n&16777215,(n+=2)>=26&&(n-=26,s--),i=0!==o||s!==this.length-1?c[6-h.length]+h+i:h+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],l=d[t];i="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modrn(l).toString(t);i=(m=m.idivn(l)).isZero()?p+i:c[u-p.length]+p+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u<i;u++){for(var l=h>>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(n=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var i,n,o,s=t.words,a=e.words,h=r.words,u=0,l=0|s[0],c=8191&l,f=l>>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,A=_>>>13,k=0|s[5],x=8191&k,N=k>>>13,S=0|s[6],I=8191&S,R=S>>>13,T=0|s[7],C=8191&T,P=T>>>13,O=0|s[8],B=8191&O,$=O>>>13,U=0|s[9],D=8191&U,L=U>>>13,F=0|a[0],j=8191&F,z=F>>>13,q=0|a[1],V=8191&q,H=q>>>13,Z=0|a[2],G=8191&Z,K=Z>>>13,J=0|a[3],Q=8191&J,W=J>>>13,Y=0|a[4],X=8191&Y,tt=Y>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(c,j))|0)+((8191&(n=(n=Math.imul(c,z))+Math.imul(f,j)|0))<<13)|0;u=((o=Math.imul(f,z))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(m,j),n=(n=Math.imul(m,z))+Math.imul(p,j)|0,o=Math.imul(p,z);var yt=(u+(i=i+Math.imul(c,V)|0)|0)+((8191&(n=(n=n+Math.imul(c,H)|0)+Math.imul(f,V)|0))<<13)|0;u=((o=o+Math.imul(f,H)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,j),n=(n=Math.imul(y,z))+Math.imul(v,j)|0,o=Math.imul(v,z),i=i+Math.imul(m,V)|0,n=(n=n+Math.imul(m,H)|0)+Math.imul(p,V)|0,o=o+Math.imul(p,H)|0;var vt=(u+(i=i+Math.imul(c,G)|0)|0)+((8191&(n=(n=n+Math.imul(c,K)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(b,j),n=(n=Math.imul(b,z))+Math.imul(M,j)|0,o=Math.imul(M,z),i=i+Math.imul(y,V)|0,n=(n=n+Math.imul(y,H)|0)+Math.imul(v,V)|0,o=o+Math.imul(v,H)|0,i=i+Math.imul(m,G)|0,n=(n=n+Math.imul(m,K)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,K)|0;var wt=(u+(i=i+Math.imul(c,Q)|0)|0)+((8191&(n=(n=n+Math.imul(c,W)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(E,j),n=(n=Math.imul(E,z))+Math.imul(A,j)|0,o=Math.imul(A,z),i=i+Math.imul(b,V)|0,n=(n=n+Math.imul(b,H)|0)+Math.imul(M,V)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(y,G)|0,n=(n=n+Math.imul(y,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,i=i+Math.imul(m,Q)|0,n=(n=n+Math.imul(m,W)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,W)|0;var bt=(u+(i=i+Math.imul(c,X)|0)|0)+((8191&(n=(n=n+Math.imul(c,tt)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(x,j),n=(n=Math.imul(x,z))+Math.imul(N,j)|0,o=Math.imul(N,z),i=i+Math.imul(E,V)|0,n=(n=n+Math.imul(E,H)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,H)|0,i=i+Math.imul(b,G)|0,n=(n=n+Math.imul(b,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(m,X)|0,n=(n=n+Math.imul(m,tt)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(i=i+Math.imul(c,rt)|0)|0)+((8191&(n=(n=n+Math.imul(c,it)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(I,j),n=(n=Math.imul(I,z))+Math.imul(R,j)|0,o=Math.imul(R,z),i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,H)|0)+Math.imul(N,V)|0,o=o+Math.imul(N,H)|0,i=i+Math.imul(E,G)|0,n=(n=n+Math.imul(E,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,W)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(m,rt)|0,n=(n=n+Math.imul(m,it)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,it)|0;var _t=(u+(i=i+Math.imul(c,ot)|0)|0)+((8191&(n=(n=n+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,j),n=(n=Math.imul(C,z))+Math.imul(P,j)|0,o=Math.imul(P,z),i=i+Math.imul(I,V)|0,n=(n=n+Math.imul(I,H)|0)+Math.imul(R,V)|0,o=o+Math.imul(R,H)|0,i=i+Math.imul(x,G)|0,n=(n=n+Math.imul(x,K)|0)+Math.imul(N,G)|0,o=o+Math.imul(N,K)|0,i=i+Math.imul(E,Q)|0,n=(n=n+Math.imul(E,W)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,W)|0,i=i+Math.imul(b,X)|0,n=(n=n+Math.imul(b,tt)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(m,ot)|0,n=(n=n+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(i=i+Math.imul(c,ht)|0)|0)+((8191&(n=(n=n+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(B,j),n=(n=Math.imul(B,z))+Math.imul($,j)|0,o=Math.imul($,z),i=i+Math.imul(C,V)|0,n=(n=n+Math.imul(C,H)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,H)|0,i=i+Math.imul(I,G)|0,n=(n=n+Math.imul(I,K)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,W)|0,i=i+Math.imul(E,X)|0,n=(n=n+Math.imul(E,tt)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,tt)|0,i=i+Math.imul(b,rt)|0,n=(n=n+Math.imul(b,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(m,ht)|0,n=(n=n+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var At=(u+(i=i+Math.imul(c,ct)|0)|0)+((8191&(n=(n=n+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,j),n=(n=Math.imul(D,z))+Math.imul(L,j)|0,o=Math.imul(L,z),i=i+Math.imul(B,V)|0,n=(n=n+Math.imul(B,H)|0)+Math.imul($,V)|0,o=o+Math.imul($,H)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,W)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(x,X)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,tt)|0,i=i+Math.imul(E,rt)|0,n=(n=n+Math.imul(E,it)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,it)|0,i=i+Math.imul(b,ot)|0,n=(n=n+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(m,ct)|0,n=(n=n+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var kt=(u+(i=i+Math.imul(c,mt)|0)|0)+((8191&(n=(n=n+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,V),n=(n=Math.imul(D,H))+Math.imul(L,V)|0,o=Math.imul(L,H),i=i+Math.imul(B,G)|0,n=(n=n+Math.imul(B,K)|0)+Math.imul($,G)|0,o=o+Math.imul($,K)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,W)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(I,X)|0,n=(n=n+Math.imul(I,tt)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,it)|0,i=i+Math.imul(E,ot)|0,n=(n=n+Math.imul(E,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,i=i+Math.imul(b,ht)|0,n=(n=n+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,ct)|0,n=(n=n+Math.imul(y,ft)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,ft)|0;var xt=(u+(i=i+Math.imul(m,mt)|0)|0)+((8191&(n=(n=n+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,G),n=(n=Math.imul(D,K))+Math.imul(L,G)|0,o=Math.imul(L,K),i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul($,Q)|0,o=o+Math.imul($,W)|0,i=i+Math.imul(C,X)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(I,rt)|0,n=(n=n+Math.imul(I,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(x,ot)|0,n=(n=n+Math.imul(x,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,i=i+Math.imul(E,ht)|0,n=(n=n+Math.imul(E,ut)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,ut)|0,i=i+Math.imul(b,ct)|0,n=(n=n+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(i=i+Math.imul(y,mt)|0)|0)+((8191&(n=(n=n+Math.imul(y,pt)|0)+Math.imul(v,mt)|0))<<13)|0;u=((o=o+Math.imul(v,pt)|0)+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,W))+Math.imul(L,Q)|0,o=Math.imul(L,W),i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul($,X)|0,o=o+Math.imul($,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(I,ot)|0,n=(n=n+Math.imul(I,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,i=i+Math.imul(E,ct)|0,n=(n=n+Math.imul(E,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var St=(u+(i=i+Math.imul(b,mt)|0)|0)+((8191&(n=(n=n+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,tt))+Math.imul(L,X)|0,o=Math.imul(L,tt),i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul($,rt)|0,o=o+Math.imul($,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(I,ht)|0,n=(n=n+Math.imul(I,ut)|0)+Math.imul(R,ht)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(x,ct)|0,n=(n=n+Math.imul(x,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var It=(u+(i=i+Math.imul(E,mt)|0)|0)+((8191&(n=(n=n+Math.imul(E,pt)|0)+Math.imul(A,mt)|0))<<13)|0;u=((o=o+Math.imul(A,pt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(L,rt)|0,o=Math.imul(L,it),i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul($,ot)|0,o=o+Math.imul($,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(I,ct)|0,n=(n=n+Math.imul(I,ft)|0)+Math.imul(R,ct)|0,o=o+Math.imul(R,ft)|0;var Rt=(u+(i=i+Math.imul(x,mt)|0)|0)+((8191&(n=(n=n+Math.imul(x,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(L,ot)|0,o=Math.imul(L,st),i=i+Math.imul(B,ht)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul($,ht)|0,o=o+Math.imul($,ut)|0,i=i+Math.imul(C,ct)|0,n=(n=n+Math.imul(C,ft)|0)+Math.imul(P,ct)|0,o=o+Math.imul(P,ft)|0;var Tt=(u+(i=i+Math.imul(I,mt)|0)|0)+((8191&(n=(n=n+Math.imul(I,pt)|0)+Math.imul(R,mt)|0))<<13)|0;u=((o=o+Math.imul(R,pt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,ht),n=(n=Math.imul(D,ut))+Math.imul(L,ht)|0,o=Math.imul(L,ut),i=i+Math.imul(B,ct)|0,n=(n=n+Math.imul(B,ft)|0)+Math.imul($,ct)|0,o=o+Math.imul($,ft)|0;var Ct=(u+(i=i+Math.imul(C,mt)|0)|0)+((8191&(n=(n=n+Math.imul(C,pt)|0)+Math.imul(P,mt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(D,ct),n=(n=Math.imul(D,ft))+Math.imul(L,ct)|0,o=Math.imul(L,ft);var Pt=(u+(i=i+Math.imul(B,mt)|0)|0)+((8191&(n=(n=n+Math.imul(B,pt)|0)+Math.imul($,mt)|0))<<13)|0;u=((o=o+Math.imul($,pt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Ot=(u+(i=Math.imul(D,mt))|0)+((8191&(n=(n=Math.imul(D,pt))+Math.imul(L,mt)|0))<<13)|0;return u=((o=Math.imul(L,pt))+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,h[0]=gt,h[1]=yt,h[2]=vt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=At,h[9]=kt,h[10]=xt,h[11]=Nt,h[12]=St,h[13]=It,h[14]=Rt,h[15]=Tt,h[16]=Ct,h[17]=Pt,h[18]=Ot,0!==u&&(h[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var a=67108863&i,h=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=h;u++){var l=o-u,c=(0|t.words[l])*(0|e.words[u]),f=67108863&c;a=67108863&(f=f+a|0),n+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(p=m),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?m(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,h=(0|this.words[e])-a<<i;this.words[e]=h|s,s=a>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,h=i;if(n-=s,n=Math.max(0,n),h){for(var u=0;u<s;u++)h.words[u]=this.words[u];h.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var l=0;for(u=this.length-1;u>=0&&(0!==l||u>=n);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var a=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+a;var h=(0|t.words[n])*e;a=((o-=67108863&h)>>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)a=(o=(0|this.words[n+i])+a)>>26,this.words[n+i]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,n=0;n<this.length;n++)a=(o=-(0|this.words[n])+a)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var l=i.clone()._ishlnsubmul(o,1,h);0===l.negative&&(i=l,a&&(a.words[h]=1));for(var c=h-1;c>=0;c--){var f=67108864*(0|i.words[o.length+c])+(0|i.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(o,f,c);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(o,1,c),i.isZero()||(i.negative^=1);a&&(a.words[c]=f)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var l=i.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(l),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(i.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(i.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(i.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(i.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new A(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},i(b,w),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,w),i(_,w),i(E,w),E.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return v[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new n(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g<m);var y=this.pow(c,new n(1).iushln(m-g-1));f=f.redMul(y),c=y.redSqr(),d=d.redMul(c),m=g}return f},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,a=0,h=e.bitLength()%26;for(0===h&&(h=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],l=h-1;l>=0;l--){var c=u>>l&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===i&&0===l)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,A),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));var JS=KS.BN;const QS=new y("bignumber/5.6.2"),WS={},YS=9007199254740991;let XS=!1;class tI{constructor(t,e){t!==WS&&QS.throwError("cannot call constructor directly; use BigNumber.from",y.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return rI(iI(this).fromTwos(t))}toTwos(t){return rI(iI(this).toTwos(t))}abs(){return"-"===this._hex[0]?tI.from(this._hex.substring(1)):this}add(t){return rI(iI(this).add(iI(t)))}sub(t){return rI(iI(this).sub(iI(t)))}div(t){return tI.from(t).isZero()&&nI("division-by-zero","div"),rI(iI(this).div(iI(t)))}mul(t){return rI(iI(this).mul(iI(t)))}mod(t){const e=iI(t);return e.isNeg()&&nI("division-by-zero","mod"),rI(iI(this).umod(e))}pow(t){const e=iI(t);return e.isNeg()&&nI("negative-power","pow"),rI(iI(this).pow(e))}and(t){const e=iI(t);return(this.isNegative()||e.isNeg())&&nI("unbound-bitwise-result","and"),rI(iI(this).and(e))}or(t){const e=iI(t);return(this.isNegative()||e.isNeg())&&nI("unbound-bitwise-result","or"),rI(iI(this).or(e))}xor(t){const e=iI(t);return(this.isNegative()||e.isNeg())&&nI("unbound-bitwise-result","xor"),rI(iI(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&nI("negative-width","mask"),rI(iI(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&nI("negative-width","shl"),rI(iI(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&nI("negative-width","shr"),rI(iI(this).shrn(t))}eq(t){return iI(this).eq(iI(t))}lt(t){return iI(this).lt(iI(t))}lte(t){return iI(this).lte(iI(t))}gt(t){return iI(this).gt(iI(t))}gte(t){return iI(this).gte(iI(t))}isNegative(){return"-"===this._hex[0]}isZero(){return iI(this).isZero()}toNumber(){try{return iI(this).toNumber()}catch(t){nI("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return QS.throwError("this platform does not support BigInt",y.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?XS||(XS=!0,QS.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?QS.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",y.errors.UNEXPECTED_ARGUMENT,{}):QS.throwError("BigNumber.toString does not accept parameters",y.errors.UNEXPECTED_ARGUMENT,{})),iI(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof tI)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new tI(WS,eI(t)):t.match(/^-?[0-9]+$/)?new tI(WS,eI(new JS(t))):QS.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&nI("underflow","BigNumber.from",t),(t>=YS||t<=-YS)&&nI("overflow","BigNumber.from",t),tI.from(String(t));const e=t;if("bigint"==typeof e)return tI.from(e.toString());if(E(e))return tI.from(I(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return tI.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(N(t)||"-"===t[0]&&N(t.substring(1))))return tI.from(t)}return QS.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function eI(t){if("string"!=typeof t)return eI(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&QS.throwArgumentError("invalid hex","value",t),"0x00"===(t=eI(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function rI(t){return tI.from(eI(t))}function iI(t){const e=tI.from(t).toHexString();return"-"===e[0]?new JS("-"+e.substring(3),16):new JS(e.substring(2),16)}function nI(t,e,r){const i={fault:t,operation:e};return null!=r&&(i.value=r),QS.throwError(t,y.errors.NUMERIC_FAULT,i)}var oI=window&&window.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{h(i.next(t))}catch(t){o(t)}}function a(t){try{h(i.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((i=i.apply(t,e||[])).next())}))};const sI=new y("hash/5.6.1"),aI=new Uint8Array(32);aI.fill(0);const hI=tI.from(-1),uI=tI.from(0),lI=tI.from(1),cI=tI.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const fI=O(lI.toHexString(),32),dI=O(uI.toHexString(),32),mI={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},pI=["name","version","chainId","verifyingContract","salt"];function gI(t){return function(e){return"string"!=typeof e&&sI.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const yI={name:gI("name"),version:gI("version"),chainId:function(t){try{return tI.from(t).toString()}catch(t){}return sI.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return Ce(t).toLowerCase()}catch(t){}return sI.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=A(t);if(32!==e.length)throw new Error("bad length");return I(e)}catch(t){}return sI.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function vI(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=""===e[1],i=parseInt(e[2]||"256");(i%8!=0||i>256||e[2]&&e[2]!==String(i))&&sI.throwArgumentError("invalid numeric width","type",t);const n=cI.mask(r?i-1:i),o=r?n.add(lI).mul(hI):uI;return function(e){const r=tI.from(e);return(r.lt(o)||r.gt(n))&&sI.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),O(r.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(0===r||r>32||e[1]!==String(r))&&sI.throwArgumentError("invalid bytes width","type",t),function(e){return A(e).length!==r&&sI.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=A(t),r=e.length%32;return r?C([e,aI.slice(r)]):I(e)}(e)}}}switch(t){case"address":return function(t){return O(Ce(t),32)};case"bool":return function(t){return t?fI:dI};case"bytes":return function(t){return we(t)};case"string":return function(t){return GS(t)}}return null}function wI(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}class bI{constructor(t){Nr(this,"types",Object.freeze(Or(t))),Nr(this,"_encoderCache",{}),Nr(this,"_types",{});const e={},r={},i={};Object.keys(t).forEach((t=>{e[t]={},r[t]=[],i[t]={}}));for(const i in t){const n={};t[i].forEach((o=>{n[o.name]&&sI.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(i)}`,"types",t),n[o.name]=!0;const s=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===i&&sI.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",t);vI(s)||(r[s]||sI.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",t),r[s].push(i),e[i][s]=!0)}))}const n=Object.keys(r).filter((t=>0===r[t].length));0===n.length?sI.throwArgumentError("missing primary type","types",t):n.length>1&&sI.throwArgumentError(`ambiguous primary types or unused types: ${n.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),Nr(this,"primaryType",n[0]),function n(o,s){s[o]&&sI.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),s[o]=!0,Object.keys(e[o]).forEach((t=>{r[t]&&(n(t,s),Object.keys(s).forEach((e=>{i[e][t]=!0})))})),delete s[o]}(this.primaryType,{});for(const e in i){const r=Object.keys(i[e]);r.sort(),this._types[e]=wI(e,t[e])+r.map((e=>wI(e,t[e]))).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=vI(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],r=this.getEncoder(t),i=parseInt(e[3]);return e=>{i>=0&&e.length!==i&&sI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let n=e.map(r);return this._types[t]&&(n=n.map(we)),we(C(n))}}const r=this.types[t];if(r){const e=GS(this._types[t]);return t=>{const i=r.map((({name:e,type:r})=>{const i=this.getEncoder(r)(t[e]);return this._types[r]?we(i):i}));return i.unshift(e),C(i)}}return sI.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||sI.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return we(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(vI(t))return r(t,e);const i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const t=i[1],n=parseInt(i[3]);return n>=0&&e.length!==n&&sI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(t,e,r)))}const n=this.types[t];return n?n.reduce(((t,{name:i,type:n})=>(t[i]=this._visit(n,e[i],r),t)),{}):sI.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new bI(t)}static getPrimaryType(t){return bI.from(t).primaryType}static hashStruct(t,e,r){return bI.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){const i=mI[r];i||sI.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort(((t,e)=>pI.indexOf(t.name)-pI.indexOf(e.name))),bI.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return C(["0x1901",bI.hashDomain(t),bI.from(e).hash(r)])}static hash(t,e,r){return we(bI.encode(t,e,r))}static resolveNames(t,e,r,i){return oI(this,void 0,void 0,(function*(){t=Rr(t);const n={};t.verifyingContract&&!N(t.verifyingContract,20)&&(n[t.verifyingContract]="0x");const o=bI.from(e);o.visit(r,((t,e)=>("address"!==t||N(e,20)||(n[e]="0x"),e)));for(const t in n)n[t]=yield i(t);return t.verifyingContract&&n[t.verifyingContract]&&(t.verifyingContract=n[t.verifyingContract]),r=o.visit(r,((t,e)=>"address"===t&&n[e]?n[e]:e)),{domain:t,value:r}}))}static getPayload(t,e,r){bI.hashDomain(t);const i={},n=[];pI.forEach((e=>{const r=t[e];null!=r&&(i[e]=yI[e](r),n.push({name:e,type:mI[e]}))}));const o=bI.from(e),s=Rr(e);return s.EIP712Domain?sI.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):s.EIP712Domain=n,o.encode(r),{types:s,domain:i,primaryType:o.primaryType,message:o.visit(r,((t,e)=>{if(t.match(/^bytes(\d*)/))return I(A(e));if(t.match(/^u?int/))return tI.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&sI.throwArgumentError("invalid string","value",e),e}return sI.throwArgumentError("unsupported type","type",t)}))}}}window&&window.__awaiter;new y("wallet/5.6.2");function MI(t,e,r,i){return Fa(bI.hash(t,e,r),i)}const _I="6492649264926492649264926492649264926492649264926492649264926492";function EI(t,e){return t.toLowerCase()===e.toLowerCase()}function AI(t){const{domain:e,types:r,message:i}=t;return zl.hash(e,r,i)}function kI(t,r,i,n){return e(this,void 0,void 0,(function*(){let e;try{e=yield sR(n,["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]])}catch(t){if(t.message.startsWith("missing revert data in call exception"))return!1;throw t}return EI(e,"0x1626ba7e")}))}function xI(t,r,i,n){return e(this,void 0,void 0,(function*(){return EI(yield sR(n,["function isValidSignature(bytes _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]]),"0x20c13b0b")}))}var NI=Object.freeze({__proto__:null,getHash:AI,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){const{domain:o,types:s,message:a}=r;try{if(EI(t,MI(o,s,a,e)))return!0}catch(t){}const h=Eg(i,n),u=AI(r);if(e.endsWith(_I))try{return"0x01"===(yield h.call({data:k(["0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",(new ln).encode(["address","bytes32","bytes"],[t,A(u),e])])}))}catch(t){return!1}return!!(yield kI(t,e,u,h))||(yield xI(t,e,u,h))}))}});var SI=["ipfs.snapshot.box","snapshot.4everland.link","ipfs.io","ipfs.fleek.co","gateway.pinata.cloud","dweb.link","ipfs.infura.io"],II={1:{key:"1",name:"Ethereum",chainId:1,network:"homestead",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",ensResolvers:["0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63","0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41"],ensNameWrapper:"0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/5XqPmWe6gjyrJtFn9cLy237i4cWw2j9HcUJEXsP5qGtH",rpc:["https://rpc.ankr.com/eth",{url:"https://api-geth-archive.ankr.com",user:"balancer_user",password:"balancerAnkr20201015"},"https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/eth/mainnet/archive","https://apis.ankr.com/e62bc219f9c9462b8749defe472d2dc5/6106d4a3ec1d1bcc87ec72158f8fd089/eth/archive/main","https://eth-archival.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://eth-mainnet.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],light:["https://cloudflare-eth.com"],ws:["wss://eth-mainnet.ws.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],explorer:{url:"https://etherscan.io",apiUrl:"https://api.etherscan.io"},start:7929876,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},8:{key:"8",name:"Ubiq",chainId:8,network:"Ubiq",multicall:"0x6668750957e4083725926B71C41bDF1434C73262",rpc:["https://rpc.octano.dev"],ws:["wss://ws.octano.dev"],explorer:{url:"https://ubiqscan.io"},start:1,logo:"ipfs://Qmec3HLoN4QhwZAhw4XTi2aN8Wwmcko5hHN22sHARzb9tw"},10:{key:"10",name:"Optimism",chainId:10,network:"Optimism mainnet",multicall:"0x35A6Cdb2C9AD4a45112df4a04147EB07dFA01aB7",rpc:["https://opt-mainnet.g.alchemy.com/v2/JzmIL4Q3jBj7it2duxLFeuCa9Wobmm7D"],explorer:{url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io"},start:657806,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb"},19:{key:"19",name:"Songbird Canary-Network",shortName:"Songbird",chainId:19,network:"songbird",multicall:"0x17032Ea9c3a13Ed337665145364c0d2aD1108c91",rpc:["https://songbird-api.flare.network/ext/C/rpc"],explorer:{url:"https://songbird-explorer.flare.network"},start:21807126,logo:"ipfs://QmXyvnrZY8FUxSULfnKKA99sAEkjAHtvhRx5WeHixgaEdu"},24:{key:"24",name:"KardiaChain Mainnet",shortName:"KAI",chainId:24,network:"mainnet",multicall:"0xd9c92F2287B7802A37eC9BEce96Aa65fb5f31E1b",rpc:["https://kai-internal.kardiachain.io"],explorer:{url:"https://explorer.kardiachain.io"},start:8260245,logo:"ipfs://bafkreig73yfyqzbxydv6e3dbj5nks3f57px2iez7tywayey4rilfhhrr34"},25:{key:"25",name:"Cronos",shortName:"Cronos",chainId:25,network:"mainnet",multicall:"0x6F522a3982e8F9A50A2EDc9E46ed1A3aE2B3FD3a",rpc:["https://evm-cronos.crypto.org"],explorer:{url:"https://cronos.crypto.org/explorer"},start:4067,logo:"ipfs://QmfSJbtirJoa3Pt7o5Fdm85wbyw9V1hpzqLr5PQbdnfsAj"},30:{key:"30",name:"RSK",chainId:30,network:"rsk mainnet",multicall:"0x4eeebb5580769ba6d26bfd07be636300076d1831",rpc:["https://public-node.rsk.co"],explorer:{url:"https://explorer.rsk.co"},start:2516442,logo:"ipfs://QmXTwpE1SqoNZmyY4c3fYWy6qUgQELsyWKbgJo2Pg6K6V9"},46:{key:"46",name:"Darwinia Network",shortName:"Darwinia",chainId:46,network:"mainnet",multicall:"0x67f9ae42EaA9a8aBf065D60ec6Ab3C1A11370607",rpc:["https://rpc.darwinia.network"],explorer:{url:"https://darwinia.subscan.io"},start:141853,logo:"ipfs://bafkreicf55maidhx46pyu3mwsshlr43xbewr6tkckkonh4nesbkp7krwkm"},56:{key:"56",name:"BNB Smart Chain",shortName:"BSC",chainId:56,network:"mainnet",multicall:"0x1ee38d535d541c55c9dae27b12edf090c608e6fb",rpc:["https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/bsc/mainnet/archive","https://rpc.ankr.com/bsc","https://bsc.getblock.io/mainnet/?api_key=91f8195f-bf46-488f-846a-73d6853790e7","https://bsc-private-dataseed1.nariox.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed1.binance.org"],explorer:{url:"https://bscscan.com"},start:461230,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},61:{key:"61",name:"Ethereum Classic",shortName:"Ethereum Classic",chainId:61,network:"mainnet",multicall:"0x51be3a92C56ae7E207C5b5Fd87F7798Ce82C1AC2",rpc:["https://www.ethercluster.com/etc"],explorer:{url:"https://blockscout.com/etc/mainnet"},start:13307544,logo:"ipfs://QmVegc28DvA7LjKUFysab81c9BSuN4wQVDQkRXyAtuEBis"},66:{key:"66",name:"OKExChain",shortName:"OEC Mainnet",chainId:66,network:"oec mainnet",multicall:"0x6EB187d8197Ac265c945b69f3c3064A6f3831866",rpc:["https://exchainrpc.okex.org"],ws:["wss://exchainws.okex.org:8443"],explorer:{url:"https://www.oklink.com/okexchain"},start:5076543,logo:"ipfs://Qmd7dKnNwHRZ4HRCbCXUbkNV7gP28fGqPdjbHtjRtT9sQF"},75:{key:"75",name:"Decimal",shortName:"mainnet",chainId:75,network:"mainnet",multicall:"0x949d1A0757803C51F2EfFFEb5472C861A898B8E8",rpc:[],explorer:{url:"https://explorer.decimalchain.com"},start:16031065,logo:"ipfs://bafkreihkdhbce5rkogl63xegaarlirjrvbfarxbtbf5mqme3s5grvbjyxm"},81:{key:"81",name:"Shibuya Network",shortName:"Shibuya",chainId:81,network:"testnet",testnet:!0,multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shibuya.astar.network:8545"],explorer:{url:"https://blockscout.com/shibuya"},start:856303,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},82:{key:"82",name:"Meter",shortName:"Meter",chainId:82,network:"mainnet",multicall:"0x579De77CAEd0614e3b158cb738fcD5131B9719Ae",rpc:["https://rpc.meter.io"],explorer:{url:"https://scan.meter.io"},start:4992871,logo:"ipfs://QmSZvT9w9eUDvV1YVaq3BKKEbubtNVqu1Rin44FuN4wz11"},97:{key:"97",name:"BNB Smart Chain Testnet",shortName:"BSC Testnet",chainId:97,network:"testnet",testnet:!0,multicall:"0x8b54247c6BAe96A6ccAFa468ebae96c4D7445e46",rpc:["https://data-seed-prebsc-1-s1.binance.org:8545","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/bsc/testnet/archive"],explorer:{url:"https://testnet.bscscan.com"},start:3599656,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},100:{key:"100",name:"Gnosis Chain",shortName:"xDAI",chainId:100,network:"mainnet",multicall:"0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a",rpc:["https://gno.getblock.io/mainnet/6c1d1e6e-75d9-452f-a863-a694bff93d5c/","https://xdai-archive.blockscout.com","https://poa-xdai.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://rpc.gnosischain.com"],light:["https://rpc.gnosischain.com"],ws:["wss://rpc.xdaichain.com/wss"],explorer:{url:"https://gnosis.blockscout.com"},start:4108192,logo:"ipfs://QmZeiy8Ax4133wzxUQM9ky8z5XFVf6YLFjJMmTWbWVniZR"},108:{key:"108",name:"Thundercore",chainId:108,network:"mainnet",multicall:"0x3017086deef56679e267f67f66c4415109b7a97f",rpc:["https://mainnet-rpc.thundercore.com/archived/SNAPSHOTEuR82a75fLYA"],explorer:{url:"https://viewblock.io/thundercore"},start:94425385,logo:"ipfs://bafkreifc5z5vtvqx2luzgateyvoocwpd2ifv2hwufxdnyl2a767wa6icli"},109:{key:"109",name:"Shibarium",shortName:"mainnet",chainId:109,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://shibariumscan.io"},start:3485946,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm"},122:{key:"122",name:"Fuse",shortName:"Fuse",chainId:122,network:"mainnet",multicall:"0x7a59441fb06666F6d2D766393d876945D06a169c",rpc:["https://explorer-node.fuse.io/","https://oefusefull1.liquify.info/"],explorer:{url:"https://explorer.fuse.io"},start:11923459,logo:"ipfs://QmXjWb64nako7voaVEifgdjAbDbswpTY8bghsiHpv8yWtb"},137:{key:"137",name:"Polygon PoS",shortName:"Polygon",chainId:137,network:"mainnet",multicall:"0xCBca837161be50EfA5925bB9Cc77406468e76751",rpc:["https://rpc.ankr.com/polygon","https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/polygon/mainnet/archive","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/polygon/mainnet/archive","https://rpc-mainnet.maticvigil.com/v1/1cfd7598e5ba6dcf0b4db58e8be484badc6ea08e"],ws:["wss://ws-mainnet.matic.network"],explorer:{url:"https://polygonscan.com",apiUrl:"https://api.polygonscan.com"},start:9834491,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},144:{key:"144",name:"PHI Network",shortName:"PHI",chainId:144,network:"mainnet",multicall:"0xc2f41B404a6757863AAeF49ff93039421acCd630",rpc:["https://connect.phi.network"],explorer:{url:"https://phiscan.com"},start:360030,logo:"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a"},146:{key:"146",name:"Sonic",shortName:"mainnet",chainId:146,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.soniclabs.com"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44"},148:{key:"148",name:"ShimmerEVM",shortName:"ShimmerEVM",chainId:148,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.evm.shimmer.network/"},start:1290,logo:"ipfs://bafkreib4xhbgbhrwkmizp4d4nz3wzbpyhdm6wpz2v2pbkk7jxsgg3hdt74"},157:{key:"157",name:"Shibarium Puppynet Testnet",shortName:"testnet",chainId:157,network:"testnet",multicall:"0xA4029b74FBA366c926eDFA7Dd10B21C621170a4c",rpc:[],explorer:{url:"https://puppyscan.shib.io/"},start:3035769,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm",testnet:!0},169:{key:"169",name:"Manta Pacific",shortName:"Manta",chainId:169,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://www.oklink.com/manta"},start:332890,logo:"ipfs://bafkreibbrwgwdcfh755dqh4ndta6tja77qbaa36bfv4pstub6prhhore7a"},204:{key:"204",name:"opBNB",shortName:"mainnet",chainId:204,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"http://opbnbscan.com/"},start:512881,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},246:{key:"246",name:"Energy Web Chain",shortName:"EWC",chainId:246,network:"mainnet",multicall:"0x0767F26d0D568aB61A98b279C0b28a4164A6f05e",rpc:["https://voting-rpc.carbonswap.exchange"],explorer:{url:"https://explorer.energyweb.org"},start:12086501,logo:"ipfs://Qmai7AGHgs8NpeGeXgbMZz7pS2i4kw44qubCJYGrZW2f3a"},250:{key:"250",name:"Fantom Opera",shortName:"fantom",chainId:250,network:"Mainnet",multicall:"0x7f6A10218264a22B4309F3896745687E712962a0",rpc:["https://rpc.ankr.com/fantom","https://rpc.ftm.tools","https://rpcapi.fantom.network"],explorer:{url:"https://ftmscan.com"},start:2497732,logo:"ipfs://QmVEgNeQDKnXygeGxfY9FywZpNGQu98ktZtRJ9bToYF6g7"},252:{key:"252",name:"Fraxtal",shortName:"mainnet",chainId:252,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu"},269:{key:"269",name:"High Performance Blockchain",shortName:"HPB",chainId:269,network:"mainnet",multicall:"0x67D0f263aef2F6167FA77353695D75b582Ff4Bca",rpc:["https://hpbnode.com"],ws:["wss://ws.hpbnode.com"],explorer:{url:"https://hscan.org"},start:13960096,logo:"ipfs://QmU7f1MyRz8rLELFfypnWZQjGbDGYgZtC9rjw47jYMYrnu"},300:{key:"300",name:"zkSync Sepolia Testnet",shortName:"testnet",chainId:300,network:"testnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:[],explorer:{url:"https://sepolia.explorer.zksync.dev/"},start:2292,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy",testnet:!0},314:{key:"314",name:"Filecoin",shortName:"mainnet",chainId:314,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://filfox.io"},start:3328594,logo:"ipfs://bafybeibyvjfmk6aqlfdrczvth55jkmnoadtrch7ht3rdmvqmy2bfxynecm"},321:{key:"321",name:"KCC",shortName:"KCC",chainId:321,network:"mainnet",multicall:"0xa64D6AFb48225BDA3259246cfb418c0b91de6D7a",rpc:["https://rpc-mainnet.kcc.network"],ws:["wss://rpc-ws-mainnet.kcc.network"],explorer:{url:"https://explorer.kcc.io"},start:1487453,logo:"ipfs://QmRdzYGhFRG8QLzMJahHrw3vETE2YZ9sywQbEkenSjKEvb"},324:{key:"324",name:"zkSync Era",shortName:"zkSync-era",chainId:324,network:"zkSync Era Mainnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:["https://mainnet.era.zksync.io"],explorer:{url:"https://explorer.zksync.io/"},start:3908235,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy"},336:{key:"336",name:"Shiden Network",shortName:"Shiden",chainId:336,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shiden.astar.network:8545","https://shiden.api.onfinality.io/public"],explorer:{url:"https://blockscout.com/shiden"},start:1170016,logo:"ipfs://QmcqGQE4Sk73zXc3e91TUFFefKBVeaNgbxV141XkSNE4xj"},369:{key:"369",name:"Pulsechain",shortName:"Pulsechain",chainId:369,network:"mainnet",multicall:"0xdbdd0FD8B16F0092f306392b699D7fbddaA9011B",rpc:["https://rpc.pulsechain.com"],explorer:{url:"https://scan.pulsechain.com/"},start:17657774,logo:"ipfs://QmWUsiEWdejtHZ9B9981TYXn7Ds8C7fkB1S4h5rP3kCCZR"},416:{key:"416",name:"SX Network",shortName:"SX",chainId:416,network:"mainnet",multicall:"0x834a005DDCF990Ba1a79f259e840e58F2D14F49a",rpc:["https://rpc.sx.technology"],ws:["wss://rpc.sx.technology/ws"],explorer:{url:"https://explorer.sx.technology"},start:2680605,logo:"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF"},592:{key:"592",name:"Astar Network",shortName:"Astar",chainId:592,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://astar.api.onfinality.io/public","https://rpc.astar.network:8545"],explorer:{url:"https://blockscout.com/astar"},start:366482,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},813:{key:"813",name:"Qitmeer",shortName:"MEER",chainId:813,network:"mainnet",multicall:"0x55034b2cF530ae3A8fC1e2e4523F58496796610F",rpc:["https://evm-dataseed1.meerscan.io","https://evm-dataseed.meerscan.com","https://evm-dataseed2.meerscan.io","https://evm-dataseed3.meerscan.io"],explorer:{url:"https://evm.meerscan.io"},start:43317,logo:"ipfs://QmXvum7SNVaAqAc2jNzR1NpNZN1GGvNaKWydg8a1GEDQ7y"},841:{key:"841",name:"Taraxa",shortName:"841",chainId:841,network:"mainnet",multicall:"0xFCe7a3121B42664AaD145712e1c2Bf2e38f60AA1",rpc:["https://rpc.mainnet.taraxa.io"],ws:["wss://ws.mainnet.taraxa.io"],explorer:{url:"https://mainnet.explorer.taraxa.io"},start:1515906,logo:"ipfs://Qmcc6ZCAGESMzZzoj5LsTVcCo2E35x3Ydk71uPJyov6Mwx"},888:{key:"888",name:"Wanchain",chainId:888,network:"mainnet",multicall:"0xba5934ab3056fca1fa458d30fbb3810c3eb5145f",rpc:["https://gwan-ssl.wandevs.org:56891"],ws:["wss://api.wanchain.org:8443/ws/v3/ddd16770c68f30350a21114802d5418eafe039b722de52b488e7eee1ee2cd73f"],explorer:{url:"https://www.wanscan.org"},start:11302663,logo:"ipfs://QmewFFN44rkxESFsHG8edaLt1znr62hjvZhGynfXqruzX3"},1001:{key:"1001",name:"Kaia Kairos Testnet",shortName:"kaia-kairos",chainId:1001,network:"testnet",testnet:!0,multicall:"0x40643B8Aeaaca0b87Ea1A1E596e64a0e14B1d244",rpc:["https://archive-en-kairos.node.kaia.io"],ws:["wss://archive-en-kairos.node.kaia.io/ws"],explorer:{url:"https://kairos.kaiascan.com"},start:87232478,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},1072:{key:"1072",name:"Shimmer EVM Testnet",shortName:"ShimmerEVM",chainId:1072,network:"testnet",testnet:!0,multicall:"0x751d21047C116413895c259f3f305e38C10B7cF6",rpc:["https://archive.evm.testnet.shimmer.network/v1/chains/rms1pr75wa5xuepg2hew44vnr28wz5h6n6x99zptk2g68sp2wuu2karywgrztx3/evm"],explorer:{url:"https://explorer.evm.testnet.shimmer.network/"},start:10614,logo:"ipfs://bafkreihtwfwrue7klzedwx4rqlk6agklz4lbbk7owsyw6xzn6c2m4t5tgy"},1088:{key:"1088",name:"Metis",shortName:"metis",chainId:1088,network:"mainnet",multicall:"0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",rpc:["https://andromeda.metis.io/?owner=1088"],explorer:{url:"https://andromeda-explorer.metis.io"},start:451,logo:"ipfs://bafkreiaqr4atnjpdnk3c4vu4377ai7bzqpgaefefbl5j5imfsvr4puimtu"},1101:{key:"1101",name:"Polygon zkEVM",shortName:"mainnet",chainId:1101,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://zkevm.polygonscan.com"},start:57746,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm"},1116:{key:"1116",name:"Core Chain",shortName:"Core",chainId:1116,network:"mainnet",multicall:"0x024f0041b76B598c2A0a75004F8447FaF67BD004",rpc:["https://rpcar.coredao.org/"],explorer:{url:"https://scan.coredao.org"},start:853908,logo:"ipfs://bafkreigjv5yb7uhlrryzib7j2f73nnwqan2tmfnwjdu26vkk365fyesoiu"},1284:{key:"1284",name:"Moonbeam",shortName:"GLMR",chainId:1284,network:"mainnet",multicall:"0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",rpc:["https://rpc.api.moonbeam.network"],explorer:{url:"https://moonscan.io/"},start:171135,logo:"ipfs://QmWKTEK2pj5sBBbHnMHQbWgw6euVdBrk2Ligpi2chrWASk"},1285:{key:"1285",name:"Moonriver (Kusama)",shortName:"Moonriver",chainId:1285,network:"mainnet",multicall:"0x537004440ffFE1D4AE9F009031Fc2b0385FCA9F1",rpc:["https://rpc.api.moonriver.moonbeam.network"],explorer:{url:"https://blockscout.moonriver.moonbeam.network"},start:413539,logo:"ipfs://QmXtgPesL87Ejhq2Y7yxsaPYpf4RcnoTYPJWPcv6iiYhoi"},1287:{key:"1287",name:"Moonbase Alpha TestNet",shortName:"Moonbase",chainId:1287,network:"testnet",testnet:!0,multicall:"0xf09FD6B6FF3f41614b9d6be2166A0D07045A3A97",rpc:["https://rpc.testnet.moonbeam.network"],explorer:{url:"https://moonbase-blockscout.testnet.moonbeam.network"},start:859041,logo:"ipfs://QmeGbNTU2Jqwg8qLTMGW8n8HSi2VdgCncAaeGzLx6gYnD7"},1328:{key:"1328",name:"Sei atlantic testnet",shortName:"testnet",chainId:1328,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://seitrace.com"},start:96978658,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},1329:{key:"1329",name:"Sei",shortName:"mainnet",chainId:1329,network:"mainnet",multicall:"0xe033Bed7cae4114Af84Be1e9F1CA7DEa07Dfe1Cf",rpc:[],explorer:{url:"https://seitrace.com/"},start:79164574,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq"},1480:{key:"1480",name:"Vana",shortName:"mainnet",chainId:1480,network:"mainnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://islander.vanascan.io/"},start:716763,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa"},1559:{key:"1559",name:"Tenet",shortName:"tenet",chainId:1559,network:"mainnet",multicall:"0xcCB3F00bE353950E4C08501ac8Af48765EAAa738",rpc:[],explorer:{url:"https://tenetscan.io"},start:944415,logo:"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA"},1663:{key:"1663",name:"Horizen Gobi Testnet",shortName:"Gobi",chainId:1663,network:"testnet",testnet:!0,multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:["https://gobi-testnet.horizenlabs.io/ethv1"],explorer:{url:"https://gobi-explorer.horizen.io"},start:1,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},2e3:{key:"2000",name:"Doge Chain",shortName:"dogechain",chainId:2e3,network:"mainnet",multicall:"0x6f9D3f3932B417bd4957585D236Cbc32b32C0BDc",rpc:["https://rpc.dogechain.dog"],explorer:{url:"https://explorer.dogechain.dog"},start:877115,logo:"ipfs://bafkreigovfh3pinsdih777issfgaflwu2yjzroljs2642gbvwikcd3nm4i"},2109:{key:"2109",name:"Exosama Network",shortName:"EXN",chainId:2109,network:"mainnet",multicall:"0x2feFC828e2fEfdE0C9f7740919c6A9139F886067",rpc:["https://rpc.exosama.com"],explorer:{url:"https://explorer.exosama.com"},start:94085,logo:"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS"},2152:{key:"2152",name:"Findora",shortName:"Findora",chainId:2152,network:"mainnet",multicall:"0xCF7D1e21CBe9bdEF235aef06C5d8051B3d4DF0f5",rpc:["https://archive.prod.findora.org:8545/"],explorer:{url:"https://evm.findorascan.io"},start:4219343,logo:"ipfs://QmXkneyRB6HbHTHRLCZpZqSsawiyJY7b2kZ2V8ydvKYAgv"},2192:{key:"2192",name:"SnaxChain",shortName:"mainnet",chainId:2192,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.snaxchain.io"},start:1554893,logo:"ipfs://bafkreibzz757piho2llzkbiszpvalf5k5hpmxcwhvrmgp7vpz2vp4vj7ly"},2221:{key:"2221",name:"Kava Testnet",shortName:"testnet",chainId:2221,network:"testnet",multicall:"0xc7193EFE367DF0C9349a1149F4E95A2A35604262",rpc:[],explorer:{url:"https://testnet.kavascan.com"},start:6193104,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4",testnet:!0},2222:{key:"2222",name:"Kava",shortName:"mainnet",chainId:2222,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://kavascan.com/"},start:3661165,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4"},2400:{key:"2400",name:"TCG Verse",shortName:"TCGV",chainId:2400,network:"mainnet",multicall:"0xceC65DEE0b5012F1b7321b2647681F997c7204FC",rpc:["https://rpc.tcgverse.xyz"],explorer:{url:"https://explorer.tcgverse.xyz"},start:57500,logo:"ipfs://bafkreidg4wpewve5mdxrofneqblydkrjl3oevtgpdf3fk3z3vjqam6ocoe"},2522:{key:"2522",name:"Fraxtal Testnet",shortName:"testnet",chainId:2522,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://holesky.fraxscan.com/"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu",testnet:!0},4200:{key:"4200",name:"Merlin",shortName:"merlin",chainId:4200,network:"mainnet",multicall:"0x830E7E548F4D80947a40A7Cf3a2a53166a0C3980",rpc:[],explorer:{url:"https://scan.merlinchain.io"},start:589494,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe"},4337:{key:"4337",name:"Beam",shortName:"Beam",chainId:4337,network:"mainnet",multicall:"0x4956F15eFdc3dC16645e90Cc356eAFA65fFC65Ec",rpc:[],explorer:{url:"https://subnets.avax.network/beam/"},start:1,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF"},4689:{key:"4689",name:"IoTeX",shortName:"IoTeX",chainId:4689,network:"mainnet",multicall:"0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",rpc:["https://babel-api.mainnet.iotex.io"],explorer:{url:"https://iotexscan.io"},start:11533283,logo:"ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"},5e3:{key:"5000",name:"Mantle",chainId:5e3,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.mantle.xyz"],explorer:{url:"https://explorer.mantle.xyz"},start:304717,logo:"ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"},5555:{key:"5555",name:"Chain Verse",shortName:"ChainVerse",chainId:5555,network:"ChainVerse",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.chainverse.info"],explorer:{url:"https://explorer.chainverse.info"},start:6334180,logo:"ipfs://QmQyJt28h4wN3QHPXUQJQYQqGiFUD77han3zibZPzHbitk"},5611:{key:"5611",name:"opBNB Testnet",shortName:"testnet",chainId:5611,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://opbnb-testnet.bscscan.com"},start:3705108,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64",testnet:!0},6102:{key:"6102",name:"Cascadia Testnet",shortName:"Cascadia",chainId:6102,network:"testnet",multicall:"0x728989819bAD588F193563008E0a03E8cD6a3e4a",rpc:["https://testnet.cascadia.foundation"],explorer:{url:"https://explorer.cascadia.foundation"},testnet:!0,start:370457,logo:"ipfs://QmWkhZYhReYyaa5pQXj32hEGxoRcBqarFMcfQScELmjYQj"},7332:{key:"7332",name:"Horizen EON",shortName:"EON",chainId:7332,network:"mainnet",multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:[],explorer:{url:"https://eon-explorer.horizenlabs.io"},start:85108,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},7341:{key:"7341",name:"Shyft",shortName:"Shyft",chainId:7341,network:"mainnet",multicall:"0xceb10e9133D771cA93c8002Be527A465E85381a2",rpc:["https://rpc.shyft.network"],explorer:{url:"https://bx.shyft.network"},start:3673983,logo:"ipfs://bafkreifwxnnfk6koabzmxgcxcwlrwt6b5gijdain2gyqee77q4ajfb7fu4"},7560:{key:"7560",name:"Cyber",shortName:"mainnet",chainId:7560,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://cyberscan.co"},start:1731707,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm"},8217:{key:"8217",name:"Kaia Mainnet",shortName:"kaia-mainnet",chainId:8217,network:"mainnet",multicall:"0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",rpc:["https://archive-en.node.kaia.io"],ws:["wss://archive-en.node.kaia.io/ws"],explorer:{url:"https://kaiascan.com"},start:91582357,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},8453:{key:"8453",name:"Base",shortName:"mainnet",chainId:8453,network:"mainnet",multicall:"0xca11bde05977b3631167028862be2a173976ca11",rpc:[],explorer:{url:"https://basescan.org/"},start:5022,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv"},9001:{key:"9001",name:"Evmos Network",shortName:"Evmos",chainId:9001,network:"mainnet",multicall:"0x37763d16f8dBf6F185368E0f256350cAb7E24b26",rpc:["https://eth.bd.evmos.org:8545"],ws:["wss://eth.bd.evmos.org:8546"],explorer:{url:"https://escan.live"},start:13959539,logo:"ipfs://bafkreif4obrdoiretpozdd56seziywc6clha7wwkbldng3ovry2bpzly34"},1e4:{key:"10000",name:"smartBCH",shortName:"BCH",chainId:1e4,network:"mainnet",multicall:"0x1b38EBAd553f218e2962Cb1C0539Abb5d6A37774",rpc:["https://smartbch.greyh.at/"],explorer:{url:"https://smartbch-explorer.web.app"},start:268248,logo:"ipfs://QmWG1p7om4hZ4Yi4uQvDpxg4si7qVYhtppGbcDGrhVFvMd"},10243:{key:"10243",name:"Arthera Testnet",shortName:"Arthera_",chainId:10243,network:"testnet",testnet:!0,multicall:"0x27c7FC597aD2E81C4c1cA1769972f79DaF042Da7",rpc:["https://rpc-test.arthera.net"],explorer:{url:"https://explorer-test.arthera.net"},start:10523,logo:"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak"},13337:{key:"13337",name:"Beam Testnet",shortName:"testnet",chainId:13337,network:"testnet",multicall:"0x9BF49b704EE2A095b95c1f2D4EB9010510c41C9E",rpc:[],explorer:{url:"https://subnets-test.avax.network/beam/"},start:3,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF",testnet:!0},13371:{key:"13371",name:"Immutable zkEVM",shortName:"mainnet",chainId:13371,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.immutable.com"},start:3680945,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi"},13473:{key:"13473",name:"Immutable zkEVM Testnet",shortName:"testnet",chainId:13473,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.testnet.immutable.com"},start:5307209,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi",testnet:!0},14800:{key:"14800",name:"Vana Moksha Testnet",shortName:"testnet",chainId:14800,network:"testnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://moksha.vanascan.io"},start:732283,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa",testnet:!0},16718:{key:"16718",name:"AirDAO",chainId:16718,network:"mainnet",multicall:"0x25e81aC81A8B03389D78CB45faB78353aB528574",rpc:["https://network-archive.ambrosus.io"],ws:["wss://network-archive.ambrosus.io/ws"],explorer:{url:"https://airdao.io/explorer"},start:22922566,logo:"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom"},29548:{key:"29548",name:"MCH Verse",shortName:"mainnet",chainId:29548,network:"mainnet",multicall:"0x1d39652386488CE1fE4254E105F5A42a04d43dB2",rpc:[],explorer:{url:"https://explorer.oasys.mycryptoheroes.net"},start:27458402,logo:"ipfs://QmZZnwR1y6cU1sare2TQmwqkNDLXQxD4GdPrmHLmUoPtbU"},33111:{key:"33111",name:"Curtis",shortName:"apechain",chainId:33111,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://explorer.curtis.apechain.com"},start:6661339,logo:"ipfs://bafkreicljxttjq2xkgfwwpii5xegirgq2ctrnsjnzelxudjj33qzq65apu",testnet:!0},33139:{key:"33139",name:"ApeChain",shortName:"mainnet",chainId:33139,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://apechain.calderaexplorer.xyz/"},start:20889,logo:"ipfs://bafkreielbgcox2jsw3g6pqulqb7pyjgx7czjt6ahnibihaij6lozoy53w4"},42161:{key:"42161",name:"Arbitrum One",chainId:42161,network:"Arbitrum mainnet",multicall:"0x7A7443F8c577d537f1d8cD4a629d40a3148Dd7ee",rpc:["https://rpc.ankr.com/arbitrum","https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/arbitrum/mainnet","https://arb-mainnet.g.alchemy.com/v2/JDvtNGwnHhTltIwfnxQocKwKkCTKA1DL"],explorer:{url:"https://arbiscan.io"},start:256508,logo:"ipfs://QmWZ5SMRfvcK8tycsDqojQaSiKedgtVkS7CkZdxPgeCVsZ"},42170:{key:"42170",name:"Arbitrum Nova",chainId:42170,network:"Arbitrum Nova",multicall:"0x4E74EBd9CABff51cE9a43EFe059bA8c5A28E4A14",rpc:["https://nova.arbitrum.io/rpc","https://arbitrum-nova.public.blastapi.io"],explorer:{url:"https://nova.arbiscan.io/"},start:6006607,logo:"ipfs://bafkreie5xsqt3mrrwu7v32qpmmctibhzhgxf4emfzzddsdhdlfsa7fmplu"},42220:{key:"42220",name:"Celo",shortName:"Celo",chainId:42220,network:"mainnet",multicall:"0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",rpc:["https://celo.snapshot.org","https://forno.celo.org","https://celo-mainnet--rpc.datahub.figment.io/apikey/e892a66dc36e4d2d98a5d6406d609796/"],explorer:{url:"https://explorer.celo.org"},start:6599803,logo:"ipfs://QmS2tVJ7rdJRe1NHXAi2L86yCbUwVVrmB2mHQeNdJxvQti"},43113:{key:"43113",name:"Avalanche FUJI Testnet",chainId:43113,network:"testnet",testnet:!0,multicall:"0x984476ea55e32e785A9D8FF14329f99D74E3d2A2",rpc:["https://api.avax-test.network/ext/bc/C/rpc"],explorer:{url:"https://testnet.snowtrace.io"},start:10528153,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},43114:{key:"43114",name:"Avalanche",chainId:43114,network:"mainnet",multicall:"0x7E9985aE4C8248fdB07607648406a48C76e9e7eD",rpc:["https://nd-784-543-849.p2pify.com/aa7b29fc5fed65b34f0ee6b8de33f8c0/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://api.avax.network/ext/bc/C/rpc"],explorer:{url:"https://snowtrace.io"},start:536483,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},47805:{key:"47805",name:"REI Mainnet",chainId:47805,network:"mainnet",multicall:"0x9eE9904815B80C39C1a27294E69a8626EAa7952d",rpc:["https://rpc.rei.network"],explorer:{url:"https://scan.rei.network/"},start:1715902,logo:"ipfs://QmTogMDLmDgJjDjUKDHDuc2KVTVDbXf8bXJLFiVe8PRxgo"},53935:{key:"53935",name:"DFK Chain",chainId:53935,network:"mainnet",multicall:"0x5b24224dC16508DAD755756639E420817DD4c99E",rpc:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"],explorer:{url:"https://subnets.avax.network/defi-kingdoms/"},start:62,logo:"ipfs://QmZNkpVgPbuVbDcsi6arwH1om3456FGnwfDqYQJWUfHDEx"},57054:{key:"57054",name:"Sonic Blaze Testnet",shortName:"testnet",chainId:57054,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://testnet.sonicscan.org"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44",testnet:!0},59141:{key:"59141",name:"Linea Sepolia",shortName:"testnet",chainId:59141,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.lineascan.build/"},start:227427,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce",testnet:!0},59144:{key:"59144",name:"Linea",shortName:"linea",chainId:59144,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://lineascan.build/"},start:42,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce"},80001:{key:"80001",name:"Polygon Mumbai",chainId:80001,network:"testnet",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/polygon/mumbai/archive","https://rpc-mumbai.matic.today"],ws:["wss://ws-mumbai.matic.today"],explorer:{url:"https://mumbai.polygonscan.com",apiUrl:"https://api-mumbai.polygonscan.com"},start:12011090,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},80002:{key:"80002",name:"Polygon Amoy Testnet",shortName:"testnet",chainId:80002,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://amoy.polygonscan.com/"},start:3127388,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm",testnet:!0},81457:{key:"81457",name:"Blast",shortName:"mainnet",chainId:81457,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://blastscan.io"},start:88189,logo:"ipfs://bafkreicqhrimt2zyp2kvhmbpvffxlmxovkg5vw6zkissyzibcfy45kbvrm"},84532:{key:"84532",name:"Base Sepolia",shortName:"testnet",chainId:84532,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://base-sepolia.blockscout.com/"},start:1059647,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv",testnet:!0},686868:{key:"686868",name:"Merlin Testnet",shortName:"merlin",chainId:686868,network:"testnet",multicall:"0x758BC6321b7c68F4986d62a4D46E83A2DCb58c80",rpc:[],explorer:{url:"https://testnet-scan.merlinchain.io"},start:3562021,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe",testnet:!0},713715:{key:"713715",name:"Sei EVM Devnet",shortName:"devnet",chainId:713715,network:"testnet",multicall:"0xEe8d287B844959ADe40d718Dc23077ba920e2f07",rpc:[],explorer:{url:"https://seitrace.com"},start:1463669,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},810180:{key:"810180",name:"zkLink Nova",shortName:"zlink",chainId:810180,network:"mainnet",multicall:"0x825267E0fA5CAe92F98540828a54198dcB3Eaeb5",rpc:[],explorer:{url:"https://explorer.zklink.io"},start:146055,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74"},810181:{key:"810181",name:"zkLink Nova Sepolia",shortName:"testnet",chainId:810181,network:"testnet",multicall:"0x97148F8fDdd9A1620f72EC1Bb2932916623d9da5",rpc:[],explorer:{url:"https://sepolia.explorer.zklink.io/"},start:43723,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74",testnet:!0},11155111:{key:"11155111",name:"Sepolia testnet",shortName:"Sepolia",chainId:11155111,network:"sepolia",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://sepolia.infura.io/v3/d26b4fd748814fe994b05899fd89e667"],ensResolvers:["0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"],ensNameWrapper:"0x0635513f179D50A207757E05759CbD106d7dFcE8",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/DmMXLtMZnGbQXASJ7p1jfzLUbBYnYUD9zNBTxpkjHYXV",explorer:{url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io"},start:751532,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},11155420:{key:"11155420",name:"OP Sepolia",shortName:"testnet",chainId:11155420,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia-optimism.etherscan.io"},start:1620204,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb",testnet:!0},111557560:{key:"111557560",name:"Cyber Testnet",shortName:"testnet",chainId:111557560,network:"testnet",multicall:"0xffc391F0018269d4758AEA1a144772E8FB99545E",rpc:[],explorer:{url:"https://testnet.cyberscan.co/"},start:304545,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm",testnet:!0},168587773:{key:"168587773",name:"Blast Sepolia",shortName:"testnet",chainId:168587773,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.blastexplorer.io"},start:756690,logo:"ipfs://bafkreibfmkjg22cozxppzcoxswj45clvh2rqhxzax57cmmgudbtkf4dkce",testnet:!0},245022926:{key:"245022926",name:"Neon Devnet",shortName:"devnet",chainId:245022926,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://devnet.neonscan.org/"},start:205206112,logo:"ipfs://QmecRPQGa4bU7tybg1sUQY48Md9rWnmhrT6WW5ueqvhg6P",testnet:!0},1313161554:{key:"1313161554",name:"Aurora",shortName:"Aurora",chainId:1313161554,network:"mainnet",multicall:"0x32b50c286DEFd2932a0247b8bb940b78c063F16c",rpc:["https://mainnet.aurora.dev"],explorer:{url:"https://explorer.mainnet.aurora.dev"},start:57190533,logo:"ipfs://QmeRhsR1UPRTQCizdhmgr2XxphXebVKU5di97uCV2UMFpa"},16666e5:{key:"1666600000",name:"Harmony",shortName:"HarmonyMainnet",chainId:16666e5,network:"mainnet",multicall:"0x9c31392D2e0229dC4Aa250F043d46B9E82074BF8",rpc:["https://a.api.s0.t.hmny.io"],ws:["wss://ws.s0.t.hmny.io"],explorer:{url:"https://explorer.harmony.one"},start:10911984,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"},16667e5:{key:"1666700000",name:"Harmony Testnet",shortName:"HarmonyTestnet",chainId:16667e5,network:"testnet",testnet:!0,multicall:"0x9923589503Fd205feE3d367DDFF2378f0F7dD2d4",rpc:["https://api.s0.b.hmny.io"],ws:["wss://ws.s0.b.hmny.io"],explorer:{url:"https://explorer.pops.one"},start:7521509,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"}};class RI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"number"==typeof t&&void 0!==(null==e?void 0:e[t-1])}getValidVotes(){return this.votes.filter((t=>RI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>{const r=this.getValidVotes().filter((t=>t.choice===e+1));return r.reduce(((t,e)=>t+e.balance),0)}))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>{const r=this.strategies.map(((t,r)=>{const i=this.getValidVotes().filter((t=>t.choice===e+1));return i.reduce(((t,e)=>t+e.scores[r]),0)}));return r}))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices[this.selected-1]}}class TI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size}getValidVotes(){return this.votes.filter((t=>TI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.balance),0)))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.scores[r]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected?this.proposal.choices.filter(((t,e)=>this.selected.includes(e+1))).join(", "):""}}function CI(t,e){const r=t/e.reduce(((t,e)=>t+e),0);return isNaN(r)?0:r}function PI(t,e){return Math.sqrt(t*e)}function OI(t){return t*t}function BI(t,e){return t.map((t=>e*t))}class $I{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>$I.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>{const i=t.map((t=>PI(CI(t.choice[r+1],Object.values(t.choice)),t.balance))).reduce(((t,e)=>t+e),0);return OI(i)}));return BI(r.map(((t,e)=>CI(r[e],r))),e)}getScoresByStrategy(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.map((t=>PI(CI(t.choice[r+1],Object.values(t.choice)),t.scores[i]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[OI(t)]))));return r.map(((t,i)=>BI(this.strategies.map(((t,e)=>CI(r[i][e][0],r.flat(2)))),e)))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1]){const r=CI(this.selected[e+1],Object.values(this.selected));return`${Math.round(1e3*r)/10}% for ${t}`}})).filter((t=>null!=t)).join(", ")}}function UI(t,e){const r=[...new Set(t.map((t=>t[0])).flat())],i=Object.entries(t.reduce(((t,[e],r,i)=>{const n=i[r][1];t[e[0]][0]+=n;const o=i[r][2];return o.length>1?t[e[0]][1]=o.map(((r,i)=>r+t[e[0]][1][i]||r)):t[e[0]][1]=[t[e[0]][1].concat(o).reduce(((t,e)=>t+e),0)],t}),Object.assign({},...r.map((t=>({[t]:[0,[]]})))))),n=i.map((t=>[t[0],t[1][0]])),[o,s]=n.reduce((([t,e],[r,i])=>i>e?[r,i]:[t,e]),["?",-1/0]),[a,h]=n.reduce((([t,e],[r,i])=>i<e?[r,i]:[t,e]),["?",1/0]),u=i.sort(((t,e)=>e[1][0]-t[1][0])),l=t.map((t=>t[1])).reduce(((t,e)=>t+e),0);return e.push({round:e.length+1,sortedByHighest:u}),s>l/2||u.length<3?e:UI(t.map((t=>[t[0].filter((t=>t!=a)),t[1],t[2]])).filter((t=>t[0].length>0)),e)}function DI(t){const e=UI(t.map((t=>[t.choice,t.balance,t.scores])),[]);return e[e.length-1].sortedByHighest}class LI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size&&t.length>0&&t.length===e.length}getValidVotes(){return this.votes.filter((t=>LI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return function(t,e){const r=DI(t);return e.choices.map(((t,e)=>r.filter((t=>Number(t[0])===e+1)).reduce(((t,e)=>t+e[1][0]),0)))}(this.getValidVotes(),this.proposal)}getScoresByStrategy(){const t=DI(this.getValidVotes());return this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.filter((t=>Number(t[0])===r+1)).reduce(((t,e)=>t+e[1][1][i]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected.map((t=>{if(this.proposal.choices[t-1])return this.proposal.choices[t-1]})).map(((t,e)=>`(${dR(e+1)}) ${t}`)).join(", ")}}function FI(t,e,r){const i=r.reduce(((t,e)=>t+e),0),n=e[t]/i*100;return isNaN(n)?0:n}function jI(t,e,r){return FI(t+1,e,Object.values(e))/100*r}class zI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>zI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.proposal.choices.map(((t,e)=>this.getValidVotes().map((t=>jI(e,t.choice,t.balance))).reduce(((t,e)=>t+e),0))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((e,r)=>FI(r,t,t))).map((t=>e/100*t))}getScoresByStrategy(){const t=this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().map((t=>jI(e,t.choice,t.scores[r]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[t])))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((r,i)=>this.strategies.map(((e,r)=>FI(0,t[i][r],t.flat(2)))).map((t=>[e/100*t])).flat()))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1])return`${Math.round(10*FI(e+1,this.selected,Object.values(this.selected)))/10}% for ${t}`})).filter((t=>null!=t)).join(", ")}}var qI={"single-choice":RI,approval:TI,quadratic:$I,"ranked-choice":LI,weighted:zI,basic:RI};const VI={1:"https://subgrapher.snapshot.org/delegation/1",10:"https://subgrapher.snapshot.org/delegation/10",56:"https://subgrapher.snapshot.org/delegation/56",100:"https://subgrapher.snapshot.org/delegation/100",137:"https://subgrapher.snapshot.org/delegation/137",146:"https://subgrapher.snapshot.org/delegation/146",250:"https://subgrapher.snapshot.org/delegation/250",8453:"https://subgrapher.snapshot.org/delegation/8453",42161:"https://subgrapher.snapshot.org/delegation/42161",59144:"https://subgrapher.snapshot.org/delegation/59144",81457:"https://subgrapher.snapshot.org/delegation/81457",84532:"https://subgrapher.snapshot.org/delegation/84532",11155111:"https://subgrapher.snapshot.org/delegation/11155111"},HI=1e3;function ZI(t){return t.length===HI&&t[0].timestamp===t[t.length-1].timestamp}function GI(t,e){const r=function(t){return`${t.delegator}-${t.delegate}-${t.space}`}(e);t.has(r)||t.set(r,e)}function KI(t){const e=["",t];return t.includes(".eth")&&e.push(t.replace(".eth","")),e}function JI(t){return e(this,arguments,void 0,(function*({url:t,spaces:e,pivot:r,snapshot:i}){const n={delegations:{__args:{where:{timestamp_gte:r},first:HI,skip:0,orderBy:"timestamp",orderDirection:"asc"},delegator:!0,space:!0,delegate:!0,timestamp:!0}};return"latest"!==i&&(n.delegations.__args.block={number:i}),null!==e&&(n.delegations.__args.where.space_in=e),(yield hR(t,n)).delegations||[]}))}const QI="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",WI=["function text(bytes32 node, string calldata key) external view returns (string memory)","function resolver(bytes32 node) view returns (address)"],YI={"0x534e5f4d41494e":{name:"Starknet",testnet:!1},"0x534e5f5345504f4c4941":{name:"Starknet Sepolia",testnet:!0}},XI={Accept:"application/json","Content-Type":"application/json"},tR="https://score.snapshot.org";function eR(t=tR,e={path:""}){const r=new URL(t);e.path&&(r.pathname=e.path);const i=r.searchParams.get("apiKey");let n=Object.assign({},XI);return i&&(r.searchParams.delete("apiKey"),n=Object.assign(Object.assign({},XI),{"X-API-KEY":i})),{url:r.toString(),headers:n}}function rR(t){return e(this,void 0,void 0,(function*(){let e=yield t.text();try{e=JSON.parse(e)}catch(r){return Promise.reject({code:t.status||500,message:"Failed to parse response from score API",data:e})}return e.error?Promise.reject(e.error):e}))}const iR=new Ed({allErrors:!0,allowUnionTypes:!0,$data:!0,passContext:!0});Nd(iR),Id(iR),iR.addFormat("address",{validate:t=>{try{return t===Ce(t)}catch(t){return!1}}}),iR.addFormat("evmAddress",{validate:t=>{try{return Ce(t),!0}catch(t){return!1}}}),iR.addFormat("starknetAddress",{validate:t=>{try{return FS(t)===t}catch(t){return!1}}}),iR.addFormat("long",{validate:()=>!0}),iR.addFormat("lowercase",{validate:t=>t===t.toLowerCase()}),iR.addFormat("color",{validate:t=>!!t&&!!t.match(/^#[0-9A-F]{6}$/)}),iR.addFormat("ethValue",{validate:t=>{if(!t.match(/^([0-9]|[1-9][0-9]+)(\.[0-9]+)?$/))return!1;try{return function(t,e){if("string"!=typeof t&&uu.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=lu.indexOf(e);-1!==t&&(e=3*t)}Kh(t,null!=e?e:18)}(t,18),!0}catch(t){return!1}}});const nR=Object.keys(II),oR=Object.keys(II).filter((t=>!II[t].testnet));function sR(t,r,i,n){return e(this,void 0,void 0,(function*(){const e=new hh(i[0],r,t);try{const t=i[2]||[];return yield e[i[1]](...t,n||{})}catch(t){return Promise.reject(t)}}))}function aR(t,r,i,n,o){return e(this,void 0,void 0,(function*(){const e=(null==o?void 0:o.multicallAddress)||II[t].multicall,s=new hh(e,["function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)"],r),a=new bn(i);try{const t=(null==o?void 0:o.limit)||500;(null==o?void 0:o.limit)&&delete o.limit;const e=Math.ceil(n.length/t),r=[];Array.from(Array(e)).forEach(((e,i)=>{const h=n.slice(t*i,t*(i+1));r.push(s.aggregate(h.map((t=>[t[0].toLowerCase(),a.encodeFunctionData(t[1],t[2])])),o||{}))}));let i=yield Promise.all(r);return i=i.reduce(((t,[,e])=>t.concat(e)),[]),i.map(((t,e)=>a.decodeFunctionResult(n[e][1],t)))}catch(t){return Promise.reject(t)}}))}function hR(t,r){return e(this,arguments,void 0,(function*(t,e,r={}){const i={query:Kl.jsonToGraphQLQuery({query:e})};r.variables&&(i.variables=r.variables);const n=yield a(t,{method:"POST",headers:Object.assign({Accept:"application/json","Content-Type":"application/json"},null==r?void 0:r.headers),body:JSON.stringify(i)});let o=yield n.text();try{o=JSON.parse(o)}catch(e){throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${o.substring(0,400)}`)}if(o.errors)throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${JSON.stringify(o.errors).substring(0,400)}`);const{data:s}=o;return s||{}}))}function uR(t,e=SI[0]){const r=`https://${e}`;if(!t)return null;if(!(t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("https://")||t.startsWith("http://")))return`${r}/ipfs/${t}`;const i=t.split("://")[0];return"ipfs"===i?t.replace("ipfs://",`${r}/ipfs/`):"ipns"===i?t.replace("ipns://",`${r}/ipns/`):t}function lR(r,i){return e(this,arguments,void 0,(function*(e,r,i="1",n={}){var o,s;const{ensResolvers:a=(null===(o=II[i])||void 0===o?void 0:o.ensResolvers)||II[1].ensResolvers,broviderUrl:h}=n,u=t(n,["ensResolvers","broviderUrl"]);let l;try{l=ml(dl(e))}catch(t){return null}const c=Eg(i,{broviderUrl:h}),f=[[QI,"resolver",[l]],...a.map((t=>[t,"text",[l,r]]))],[[d],...m]=yield aR(i,c,WI,f,u),p=a.indexOf(d);return-1!==p?null===(s=m[p])||void 0===s?void 0:s[0]:null}))}function cR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){try{return yield lR(t,"snapshot",e,r)}catch(t){return console.log(t),null}}))}function fR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=Eg(e,r),n=new hh(QI,["function owner(bytes32) view returns (address)"],i);let o;try{o=ml(dl(t))}catch(t){return null}const s=r.ensNameWrapper||II[e].ensNameWrapper;let a=yield n.owner(o);if(a===s){const t=new hh(s,["function ownerOf(uint256) view returns (address)"],i);a=yield t.ownerOf(o)}return a}))}function dR(t){const e=["th","st","nd","rd"],r=t%100;return t+(e[(r-20)%10]||e[r]||e[0])}function mR(t){return!!II[t]}function pR(t){return Pe(t)&&"0x0000000000000000000000000000000000000000"!==t}function gR(t,e){return"latest"===t||"number"==typeof t&&t>=II[e].start}function yR(t){if(!t)return!1;try{return FS(t),!0}catch(t){return!1}}function vR(t){return Pe(t)}function wR(t){return Promise.reject(new Error(t))}iR.addKeyword({keyword:"snapshotNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?oR.includes(e):nR.includes(e)},error:{message:"network not allowed"}}),iR.addKeyword({keyword:"starknetNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?Object.keys(YI).filter((t=>!YI[t].testnet)).includes(e):Object.keys(YI).includes(e)},error:{message:"network not allowed"}}),iR.addKeyword({keyword:"maxLengthWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxLengthWithSpaceType",message:`must not have more than ${e[i]}`,params:{limit:e[i]}}]),n},errors:!0}),iR.addKeyword({keyword:"maxItemsWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxItemsWithSpaceType",message:`must NOT have more than ${e[i]} items`,params:{limit:e[i]}}]),n},errors:!0}),iR.addFormat("customUrl",{type:"string",validate:t=>!t.length||(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("snapshot://"))}),iR.addFormat("domain",{validate:t=>!!t&&!!t.match(/^(https:\/\/)?([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}(\/)?$/)});var bR={call:sR,multicall:aR,subgraphRequest:hR,ipfsGet:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="ipfs"){return a(`https://${t}/${r}/${e}`).then((t=>t.json()))}))},getUrl:uR,getJSON:function(t){return e(this,arguments,void 0,(function*(t,e={}){const r=uR(t,e.gateways);return a(r).then((t=>t.json()))}))},sendTransaction:function(t,r,i,n,o){return e(this,arguments,void 0,(function*(t,e,r,i,n,o={}){const s=t.getSigner(),a=new hh(e,r,t).connect(s);return yield a[i](...n,o)}))},getScores:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n="latest",o=tR,s={}){if(!Array.isArray(i))return wR("addresses should be an array of addresses");if(0===i.length)return wR("addresses can not be empty");const h=i.find((t=>!pR(t)));if(h)return wR(`Invalid address: ${h}`);if(!mR(r))return wR(`Invalid network: ${r}`);const u=e.find((t=>t.network&&!mR(t.network)));if(u)return wR(`Invalid network (${u.network}) in strategy ${u.name}`);if(!gR(n,r))return wR(`Snapshot (${n}) must be 'latest' or greater than network start block (${II[r].start})`);new URL(o).pathname="/api/scores";const{url:l,headers:c}=eR(o,{path:"/api/scores"});try{const o={space:t,network:r,snapshot:n,strategies:e,addresses:i},h=yield a(l,{method:"POST",headers:c,body:JSON.stringify({params:o})}),u=yield rR(h);return"all"===s.returnValue?u.result:u.result[s.returnValue||"scores"]}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},getVp:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){const{url:e,headers:u}=eR(null==h?void 0:h.url);if(!pR(t))return wR(`Invalid voter address: ${t}`);if(!mR(r))return wR(`Invalid network: ${r}`);const l=i.find((t=>t.network&&!mR(t.network)));if(l)return wR(`Invalid network (${l.network}) in strategy ${l.name}`);if(!gR(n,r))return wR(`Snapshot (${n}) must be 'latest' or greater than network start block (${II[r].start})`);const c={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"get_vp",params:{address:t,network:r,strategies:i,snapshot:n,space:o,delegation:s}})};try{const t=yield a(e,c);return(yield rR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},validateSchema:function(t,e,r={snapshotEnv:"default",spaceType:"default"}){const i=iR.compile(t),n=i.call(r,e);return n||i.errors},getEnsTextRecord:lR,getSpaceUri:cR,getEnsOwner:fR,getSpaceController:function(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=yield cR(t,e,r);if(i){let t=Pe(i);if(t)return i;const e=i.split("/"),r=e.includes("testnet")?5:4,n=e[r];if(t=Pe(n),t)return n}return yield fR(t,e,r)}))},getDelegatesBySpace:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="latest",i={}){const n=i.subgraphUrl||VI[t];if(!n)return Promise.reject(`Delegation subgraph not available for network ${t}`);let o=0;const s=new Map,a=e?KI(e):null;for(;;){const t=yield JI({url:n,spaces:a,pivot:o,snapshot:r});if(ZI(t))throw new Error("Unable to paginate delegation");if(t.forEach((t=>{GI(s,t),o=t.timestamp})),t.length<HI)break}return[...s.values()]}))},clone:function(t){return JSON.parse(JSON.stringify(t))},sleep:function(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>{setTimeout(e,t)}))}))},getNumberWithOrdinal:dR,voting:qI,getProvider:Eg,signMessage:function(t,r,i){return e(this,void 0,void 0,(function*(){return r=I(new Buffer(r,"utf8")),yield t.send("personal_sign",[r,i])}))},getBlockNumber:function(t){return e(this,void 0,void 0,(function*(){try{const e=yield t.getBlockNumber();return parseInt(e)}catch(t){return Promise.reject()}}))},Multicaller:class{constructor(t,e,r,i){this.options={},this.calls=[],this.paths=[],this.network=t,this.provider=e,this.abi=r,this.options=i||{}}call(t,e,r,i){return this.calls.push([e,r,i]),this.paths.push(t),this}execute(t){return e(this,void 0,void 0,(function*(){const e=t||{};return(yield aR(this.network,this.provider,this.abi,this.calls,this.options)).forEach(((t,r)=>_m(e,this.paths[r],t.length>1?t:t[0]))),this.calls=[],this.paths=[],e}))}},getSnapshots:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n={}){const o={};if(i.forEach((t=>o[t]="latest")),"latest"===e)return o;const s=`${t}-${e}-${i.join("-")}`,a=Em[s],h=Date.now();if(a&&Am>h)return a;Am<h&&(Em={},Am=h+36e5-h%36e5),o[t]=e;const u=Object.keys(o).filter((e=>t!==e));if(0===u.length)return o;const l={blocks:{__args:{where:{ts:(yield r.getBlock(e)).timestamp,network_in:u}},network:!0,number:!0}},c=n.blockFinderUrl||"https://blockfinder.snapshot.org";return(yield hR(c,l)).blocks.forEach((t=>o[t.network]=t.number)),Em[s]=o,o}))},getHash:function(t,e){return(VS(t)?ZS:NI).getHash(t,e)},verify:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){if(!yR(t)&&!vR(t))throw new Error("Invalid address");const o=VS(r)?ZS:NI;return yield o.default(t,e,r,i,n)}))},validate:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){if(!pR(r))return wR(`Invalid author: ${r}`);if(!mR(n))return wR(`Invalid network: ${n}`);if(!gR(o,n))return wR(`Snapshot (${o}) must be 'latest' or greater than network start block (${II[n].start})`);h||(h={});const{url:e,headers:u}=eR(h.url),l={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"validate",params:{validation:t,author:r,space:i,network:n,snapshot:o,params:s}})};try{const t=yield a(e,l);return(yield rR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},isStarknetAddress:yR,isEvmAddress:vR,getFormattedAddress:function(t,e){if("evm"===e&&vR(t))return Ce(t);if("starknet"===e&&yR(t))return FS(t);throw new Error(`Invalid address: ${t}`)},SNAPSHOT_SUBGRAPH_URL:VI};return{Client:or,Client712:or,schemas:dr,utils:bR}}));
|