diff --git a/dist/index.html b/dist/index.html
index 591f511b..0582518a 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -246,8 +246,8 @@
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2015-2018
* @license MIT
- */function(){var F="input is invalid type",A="object"==typeof window,t=A?window:{};t.JS_SHA3_NO_WINDOW&&(A=!1);var e=!A&&"object"==typeof self;!t.JS_SHA3_NO_NODE_JS&&"object"==typeof lb&&lb.versions&&lb.versions.node?t=AR:e&&(t=self);var B=!t.JS_SHA3_NO_COMMON_JS&&lj,i="function"==typeof define&&define.amd,s=!t.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,n="0123456789abcdef".split(""),r=[4,1024,262144,67108864],o=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],V=[224,256,384,512],h=[128,256],q=["hex","buffer","arrayBuffer","array","digest"],l={128:168,256:136};(t.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(F){return"[object Array]"===Object.prototype.toString.call(F)}),s&&(t.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(F){return"object"==typeof F&&F.buffer&&F.buffer.constructor===ArrayBuffer});for(var c=function(F,A,t){return function(e){return new f(F,A,F).update(e)[t]()}},u=function(F,A,t){return function(e,B){return new f(F,A,B).update(e)[t]()}},m=function(F,A,t){return function(A,e,B,i){return E["cshake"+F].update(A,e,B,i)[t]()}},M=function(F,A,t){return function(A,e,B,i){return E["kmac"+F].update(A,e,B,i)[t]()}},I=function(F,A,t,e){for(var B=0;B>5,this.byteCount=this.blockCount<<2,this.outputBlocks=t>>5,this.extraBytes=(31&t)>>3;for(var e=0;e<50;++e)this.s[e]=0}function k(F,A,t){f.call(this,F,A,t)}f.prototype.update=function(A){if(this.finalized)throw Error("finalize already called");var t,e=typeof A;if("string"!==e){if("object"===e){if(null===A)throw Error(F);if(s&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!Array.isArray(A)&&(!s||!ArrayBuffer.isView(A)))throw Error(F)}else throw Error(F);t=!0}for(var B,i,n=this.blocks,r=this.byteCount,a=A.length,V=this.blockCount,h=0,q=this.s;h>2]|=A[h]<>2]|=i<>2]|=(192|i>>6)<=57344?n[B>>2]|=(224|i>>12)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=r){for(this.start=B-r,this.block=n[V],B=0;B>=8,t=255&F;t>0;)B.unshift(t),F>>=8,t=255&F,++e;return A?B.push(e):B.unshift(e),this.update(B),B.length},f.prototype.encodeString=function(A){var t,e=typeof A;if("string"!==e){if("object"===e){if(null===A)throw Error(F);if(s&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!Array.isArray(A)&&(!s||!ArrayBuffer.isView(A)))throw Error(F)}else throw Error(F);t=!0}var B=0,i=A.length;if(t)B=i;else for(var n=0;n=57344?B+=3:(r=65536+((1023&r)<<10|1023&A.charCodeAt(++n)),B+=4)}return B+=this.encode(8*B),this.update(A),B},f.prototype.bytepad=function(F,A){for(var t=this.encode(A),e=0;e>2]|=this.padding[3&A],this.lastByteIndex===this.byteCount)for(A=1,F[0]=F[t];A>4&15]+n[15&F]+n[F>>12&15]+n[F>>8&15]+n[F>>20&15]+n[F>>16&15]+n[F>>28&15]+n[F>>24&15];s%A==0&&(T(t),i=0)}return B&&(r+=n[(F=t[i])>>4&15]+n[15&F],B>1&&(r+=n[F>>12&15]+n[F>>8&15]),B>2&&(r+=n[F>>20&15]+n[F>>16&15])),r},f.prototype.arrayBuffer=function(){this.finalize();for(var F,A=this.blockCount,t=this.s,e=this.outputBlocks,B=this.extraBytes,i=0,s=0,n=this.outputBits>>3,r=new Uint32Array(F=new ArrayBuffer(B?e+1<<2:n));s>8&255,r[F+2]=A>>16&255,r[F+3]=A>>24&255;n%t==0&&T(e)}return i&&(F=n<<2,A=e[s],r[F]=255&A,i>1&&(r[F+1]=A>>8&255),i>2&&(r[F+2]=A>>16&255)),r},k.prototype=new f,k.prototype.finalize=function(){return this.encode(this.outputBits,!0),f.prototype.finalize.call(this)};var T=function(F){var A,t,e,B,i,s,n,r,o,V,h,q,l,c,u,m,M,I,p,g,E,C,d,y,S,Q,w,U,f,k,T,D,Z,R,z,G,L,Y,v,K,N,x,J,O,j,b,P,W,H,X,$,FF,FA,Ft,Fe,FB,Fi,Fs,Fn,Fr,Fo,Fa,FV;for(e=0;e<48;e+=2)B=F[0]^F[10]^F[20]^F[30]^F[40],i=F[1]^F[11]^F[21]^F[31]^F[41],s=F[2]^F[12]^F[22]^F[32]^F[42],n=F[3]^F[13]^F[23]^F[33]^F[43],r=F[4]^F[14]^F[24]^F[34]^F[44],o=F[5]^F[15]^F[25]^F[35]^F[45],V=F[6]^F[16]^F[26]^F[36]^F[46],h=F[7]^F[17]^F[27]^F[37]^F[47],q=F[8]^F[18]^F[28]^F[38]^F[48],l=F[9]^F[19]^F[29]^F[39]^F[49],A=q^(s<<1|n>>>31),t=l^(n<<1|s>>>31),F[0]^=A,F[1]^=t,F[10]^=A,F[11]^=t,F[20]^=A,F[21]^=t,F[30]^=A,F[31]^=t,F[40]^=A,F[41]^=t,A=B^(r<<1|o>>>31),t=i^(o<<1|r>>>31),F[2]^=A,F[3]^=t,F[12]^=A,F[13]^=t,F[22]^=A,F[23]^=t,F[32]^=A,F[33]^=t,F[42]^=A,F[43]^=t,A=s^(V<<1|h>>>31),t=n^(h<<1|V>>>31),F[4]^=A,F[5]^=t,F[14]^=A,F[15]^=t,F[24]^=A,F[25]^=t,F[34]^=A,F[35]^=t,F[44]^=A,F[45]^=t,A=r^(q<<1|l>>>31),t=o^(l<<1|q>>>31),F[6]^=A,F[7]^=t,F[16]^=A,F[17]^=t,F[26]^=A,F[27]^=t,F[36]^=A,F[37]^=t,F[46]^=A,F[47]^=t,A=V^(B<<1|i>>>31),t=h^(i<<1|B>>>31),F[8]^=A,F[9]^=t,F[18]^=A,F[19]^=t,F[28]^=A,F[29]^=t,F[38]^=A,F[39]^=t,F[48]^=A,F[49]^=t,c=F[0],u=F[1],b=F[11]<<4|F[10]>>>28,P=F[10]<<4|F[11]>>>28,U=F[20]<<3|F[21]>>>29,f=F[21]<<3|F[20]>>>29,Fr=F[31]<<9|F[30]>>>23,Fo=F[30]<<9|F[31]>>>23,x=F[40]<<18|F[41]>>>14,J=F[41]<<18|F[40]>>>14,R=F[2]<<1|F[3]>>>31,z=F[3]<<1|F[2]>>>31,m=F[13]<<12|F[12]>>>20,M=F[12]<<12|F[13]>>>20,W=F[22]<<10|F[23]>>>22,H=F[23]<<10|F[22]>>>22,k=F[33]<<13|F[32]>>>19,T=F[32]<<13|F[33]>>>19,Fa=F[42]<<2|F[43]>>>30,FV=F[43]<<2|F[42]>>>30,Ft=F[5]<<30|F[4]>>>2,Fe=F[4]<<30|F[5]>>>2,G=F[14]<<6|F[15]>>>26,L=F[15]<<6|F[14]>>>26,I=F[25]<<11|F[24]>>>21,p=F[24]<<11|F[25]>>>21,X=F[34]<<15|F[35]>>>17,$=F[35]<<15|F[34]>>>17,D=F[45]<<29|F[44]>>>3,Z=F[44]<<29|F[45]>>>3,y=F[6]<<28|F[7]>>>4,S=F[7]<<28|F[6]>>>4,FB=F[17]<<23|F[16]>>>9,Fi=F[16]<<23|F[17]>>>9,Y=F[26]<<25|F[27]>>>7,v=F[27]<<25|F[26]>>>7,g=F[36]<<21|F[37]>>>11,E=F[37]<<21|F[36]>>>11,FF=F[47]<<24|F[46]>>>8,FA=F[46]<<24|F[47]>>>8,O=F[8]<<27|F[9]>>>5,j=F[9]<<27|F[8]>>>5,Q=F[18]<<20|F[19]>>>12,w=F[19]<<20|F[18]>>>12,Fs=F[29]<<7|F[28]>>>25,Fn=F[28]<<7|F[29]>>>25,K=F[38]<<8|F[39]>>>24,N=F[39]<<8|F[38]>>>24,C=F[48]<<14|F[49]>>>18,d=F[49]<<14|F[48]>>>18,F[0]=c^~m&I,F[1]=u^~M&p,F[10]=y^~Q&U,F[11]=S^~w&f,F[20]=R^~G&Y,F[21]=z^~L&v,F[30]=O^~b&W,F[31]=j^~P&H,F[40]=Ft^~FB&Fs,F[41]=Fe^~Fi&Fn,F[2]=m^~I&g,F[3]=M^~p&E,F[12]=Q^~U&k,F[13]=w^~f&T,F[22]=G^~Y&K,F[23]=L^~v&N,F[32]=b^~W&X,F[33]=P^~H&$,F[42]=FB^~Fs&Fr,F[43]=Fi^~Fn&Fo,F[4]=I^~g&C,F[5]=p^~E&d,F[14]=U^~k&D,F[15]=f^~T&Z,F[24]=Y^~K&x,F[25]=v^~N&J,F[34]=W^~X&FF,F[35]=H^~$&FA,F[44]=Fs^~Fr&Fa,F[45]=Fn^~Fo&FV,F[6]=g^~C&c,F[7]=E^~d&u,F[16]=k^~D&y,F[17]=T^~Z&S,F[26]=K^~x&R,F[27]=N^~J&z,F[36]=X^~FF&O,F[37]=$^~FA&j,F[46]=Fr^~Fa&Ft,F[47]=Fo^~FV&Fe,F[8]=C^~c&m,F[9]=d^~u&M,F[18]=D^~y&Q,F[19]=Z^~S&w,F[28]=x^~R&G,F[29]=J^~z&L,F[38]=FF^~O&b,F[39]=FA^~j&P,F[48]=Fa^~Ft&FB,F[49]=FV^~Fe&Fi,F[0]^=a[e],F[1]^=a[e+1]};if(B)lj=E;else{for(d=0;d>=8;return A}function l9(F,A,t){let e=0;for(let B=0;BA+1+e&&l7.throwError("child data too short",q4.errors.BUFFER_OVERRUN,{})}return{consumed:1+e,result:B}}function ct(F,A){if(0===F.length&&l7.throwError("data too short",q4.errors.BUFFER_OVERRUN,{}),F[A]>=248){let t=F[A]-247;A+1+t>F.length&&l7.throwError("data short segment too short",q4.errors.BUFFER_OVERRUN,{});let e=l9(F,A+1,t);return A+1+t+e>F.length&&l7.throwError("data long segment too short",q4.errors.BUFFER_OVERRUN,{}),cA(F,A,A+1+t,t+e)}if(F[A]>=192){let t=F[A]-192;return A+1+t>F.length&&l7.throwError("data array too short",q4.errors.BUFFER_OVERRUN,{}),cA(F,A,A+1,t)}if(F[A]>=184){let t=F[A]-183;A+1+t>F.length&&l7.throwError("data array too short",q4.errors.BUFFER_OVERRUN,{});let e=l9(F,A+1,t);A+1+t+e>F.length&&l7.throwError("data array too short",q4.errors.BUFFER_OVERRUN,{});let B=lV(F.slice(A+1+t,A+1+t+e));return{consumed:1+t+e,result:B}}if(F[A]>=128){let t=F[A]-128;A+1+t>F.length&&l7.throwError("data too short",q4.errors.BUFFER_OVERRUN,{});let e=lV(F.slice(A+1,A+1+t));return{consumed:1+t,result:e}}return{consumed:1,result:lV(F[A])}}function ce(F){let A=li(F),t=ct(A,0);return t.consumed!==A.length&&l7.throwArgumentError("invalid rlp data","data",F),t.result}let cB=new q4("address/5.7.0");function ci(F){lo(F,20)||cB.throwArgumentError("invalid address","address",F);let A=(F=F.toLowerCase()).substring(2).split(""),t=new Uint8Array(40);for(let F=0;F<40;F++)t[F]=A[F].charCodeAt(0);let e=li(l8(t));for(let F=0;F<40;F+=2)e[F>>1]>>4>=8&&(A[F]=A[F].toUpperCase()),(15&e[F>>1])>=8&&(A[F+1]=A[F+1].toUpperCase());return"0x"+A.join("")}let cs={};for(let F=0;F<10;F++)cs[String(F)]=String(F);for(let F=0;F<26;F++)cs[String.fromCharCode(65+F)]=String(10+F);let cn=Math.floor(Math.log10?Math.log10(9007199254740991):Math.log(9007199254740991)/Math.LN10);function cr(F){let A=(F=(F=F.toUpperCase()).substring(4)+F.substring(0,2)+"00").split("").map(F=>cs[F]).join("");for(;A.length>=cn;){let F=A.substring(0,cn);A=parseInt(F,10)%97+A.substring(F.length)}let t=String(98-parseInt(A,10)%97);for(;t.length<2;)t="0"+t;return t}function co(F){let A=null;if("string"!=typeof F&&cB.throwArgumentError("invalid address","address",F),F.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==F.substring(0,2)&&(F="0x"+F),A=ci(F),F.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&A!==F&&cB.throwArgumentError("bad address checksum","address",F);else if(F.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(F.substring(2,4)!==cr(F)&&cB.throwArgumentError("bad icap checksum","address",F),A=new lT(F.substring(4),36).toString(16);A.length<40;)A="0"+A;A=ci("0x"+A)}else cB.throwArgumentError("invalid address","address",F);return A}function ca(F){try{return co(F),!0}catch(F){}return!1}function cV(F){let A=new lT(co(F).substring(2),16).toString(36).toUpperCase();for(;A.length<30;)A="0"+A;return"XE"+cr("XE00"+A)+A}function ch(F){let A=null;try{A=co(F.from)}catch(A){cB.throwArgumentError("missing from address","transaction",F)}return co(lq(l8(cF([A,ln(li(lz.from(F.nonce).toHexString()))])),12))}function cq(F,A,t){return 32!==lh(A)&&cB.throwArgumentError("salt must be 32 bytes","salt",A),32!==lh(t)&&cB.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",t),co(lq(l8(ls(["0xff",co(F),A,t])),12))}class cl extends lx{constructor(F){super("address","address",F,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(F,A){try{A=co(A)}catch(F){this._throwError(F.message,A)}return F.writeValue(A)}decode(F){return co(lm(F.readValue().toHexString(),20))}}class cc extends lx{constructor(F){super(F.name,F.type,void 0,F.dynamic),this.coder=F}defaultValue(){return this.coder.defaultValue()}encode(F,A){return this.coder.encode(F,A)}decode(F){return this.coder.decode(F)}}let cu=new q4(lU);function cm(F,A,t){let e=null;if(Array.isArray(t))e=t;else if(t&&"object"==typeof t){let F={};e=A.map(A=>{let e=A.localName;return e||cu.throwError("cannot encode object for signature with missing names",q4.errors.INVALID_ARGUMENT,{argument:"values",coder:A,value:t}),F[e]&&cu.throwError("cannot encode object for signature with duplicate names",q4.errors.INVALID_ARGUMENT,{argument:"values",coder:A,value:t}),F[e]=!0,t[e]})}else cu.throwArgumentError("invalid tuple value","tuple",t);A.length!==e.length&&cu.throwArgumentError("types/value length mismatch","tuple",t);let B=new lJ(F.wordSize),i=new lJ(F.wordSize),s=[];return A.forEach((F,A)=>{let t=e[A];if(F.dynamic){let A=i.length;F.encode(i,t);let e=B.writeUpdatableValue();s.push(F=>{e(F+A)})}else F.encode(B,t)}),s.forEach(F=>{F(B.length)}),F.appendWriter(B)+F.appendWriter(i)}function cM(F,A){let t=[],e=F.subReader(0);A.forEach(A=>{let B=null;if(A.dynamic){let t=F.readValue(),i=e.subReader(t.toNumber());try{B=A.decode(i)}catch(F){if(F.code===q4.errors.BUFFER_OVERRUN)throw F;(B=F).baseType=A.name,B.name=A.localName,B.type=A.type}}else try{B=A.decode(F)}catch(F){if(F.code===q4.errors.BUFFER_OVERRUN)throw F;(B=F).baseType=A.name,B.name=A.localName,B.type=A.type}void 0!=B&&t.push(B)});let B=A.reduce((F,A)=>{let t=A.localName;return t&&(F[t]||(F[t]=0),F[t]++),F},{});A.forEach((F,A)=>{let e=F.localName;if(!e||1!==B[e]||("length"===e&&(e="_length"),null!=t[e]))return;let i=t[A];i instanceof Error?Object.defineProperty(t,e,{enumerable:!0,get:()=>{throw i}}):t[e]=i});for(let F=0;F{throw A}})}return Object.freeze(t)}class cI extends lx{constructor(F,A,t){super("array",F.type+"["+(A>=0?A:"")+"]",t,-1===A||F.dynamic),this.coder=F,this.length=A}defaultValue(){let F=this.coder.defaultValue(),A=[];for(let t=0;tF._data.length&&cu.throwError("insufficient data length",q4.errors.BUFFER_OVERRUN,{length:F._data.length,count:A});let t=[];for(let F=0;F>6==2;e++)F++;return F}return F===AT.OVERRUN?t.length-A-1:0}(AE=Ak||(Ak={})).current="",AE.NFC="NFC",AE.NFD="NFD",AE.NFKC="NFKC",AE.NFKD="NFKD",(AC=AT||(AT={})).UNEXPECTED_CONTINUE="unexpected continuation byte",AC.BAD_PREFIX="bad codepoint prefix",AC.OVERRUN="string overrun",AC.MISSING_CONTINUE="missing continuation byte",AC.OUT_OF_RANGE="out of UTF-8 range",AC.UTF16_SURROGATE="UTF-16 surrogate",AC.OVERLONG="overlong representation";let cT=Object.freeze({error:function(F,A,t,e,B){return cf.throwArgumentError(`invalid codepoint at offset ${A}; ${F}`,"bytes",t)},ignore:ck,replace:function(F,A,t,e,B){return F===AT.OVERLONG?(e.push(B),0):(e.push(65533),ck(F,A,t,e,B))}});function cD(F,A){null==A&&(A=cT.error),F=li(F);let t=[],e=0;for(;e>7==0){t.push(B);continue}let i=null,s=null;if((224&B)==192)i=1,s=127;else if((240&B)==224)i=2,s=2047;else if((248&B)==240)i=3,s=65535;else{(192&B)==128?e+=A(AT.UNEXPECTED_CONTINUE,e-1,F,t):e+=A(AT.BAD_PREFIX,e-1,F,t);continue}if(e-1+i>=F.length){e+=A(AT.OVERRUN,e-1,F,t);continue}let n=B&(1<<8-i-1)-1;for(let B=0;B1114111){e+=A(AT.OUT_OF_RANGE,e-1-i,F,t,n);continue}if(n>=55296&&n<=57343){e+=A(AT.UTF16_SURROGATE,e-1-i,F,t,n);continue}if(n<=s){e+=A(AT.OVERLONG,e-1-i,F,t,n);continue}t.push(n)}}return t}function cZ(F,A=Ak.current){A!=Ak.current&&(cf.checkNormalize(),F=F.normalize(A));let t=[];for(let A=0;A>6|192),t.push(63&e|128);else if((64512&e)==55296){A++;let B=F.charCodeAt(A);if(A>=F.length||(64512&B)!=56320)throw Error("invalid utf-8 string");let i=65536+((1023&e)<<10)+(1023&B);t.push(i>>18|240),t.push(i>>12&63|128),t.push(i>>6&63|128),t.push(63&i|128)}else t.push(e>>12|224),t.push(e>>6&63|128),t.push(63&e|128)}return li(t)}function cR(F){let A="0000"+F.toString(16);return"\\u"+A.substring(A.length-4)}function cz(F,A){return'"'+cD(F,A).map(F=>{if(F<256){switch(F){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(F>=32&&F<127)return String.fromCharCode(F)}return F<=65535?cR(F):cR(((F-=65536)>>10&1023)+55296)+cR((1023&F)+56320)}).join("")+'"'}function cG(F){return F.map(F=>F<=65535?String.fromCharCode(F):String.fromCharCode(((F-=65536)>>10&1023)+55296,(1023&F)+56320)).join("")}function cL(F,A){return cG(cD(F,A))}function cY(F,A=Ak.current){return cD(cZ(F,A))}class cv extends cg{constructor(F){super("string",F)}defaultValue(){return""}encode(F,A){return super.encode(F,cZ(A))}decode(F){return cL(super.decode(F))}}class cK extends lx{constructor(F,A){let t=!1,e=[];F.forEach(F=>{F.dynamic&&(t=!0),e.push(F.type)}),super("tuple","tuple("+e.join(",")+")",A,t),this.coders=F}defaultValue(){let F=[];this.coders.forEach(A=>{F.push(A.defaultValue())});let A=this.coders.reduce((F,A)=>{let t=A.localName;return t&&(F[t]||(F[t]=0),F[t]++),F},{});return this.coders.forEach((t,e)=>{let B=t.localName;B&&1===A[B]&&("length"===B&&(B="_length"),null==F[B]&&(F[B]=F[e]))}),Object.freeze(F)}encode(F,A){return cm(F,this.coders,A)}decode(F){return F.coerce(this.name,cM(F,this.coders))}}let cN=new q4(lU),cx={},cJ={calldata:!0,memory:!0,storage:!0},cO={calldata:!0,memory:!0};function cj(F,A){if("bytes"===F||"string"===F){if(cJ[A])return!0}else if("address"===F){if("payable"===A)return!0}else if((F.indexOf("[")>=0||"tuple"===F)&&cO[A])return!0;return(cJ[A]||"payable"===A)&&cN.throwArgumentError("invalid modifier","name",A),!1}function cb(F,A){for(let t in A)lg(F,t,A[t])}let cP=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),cW=new RegExp(/^(.*)\[([0-9]*)\]$/);class cH{constructor(F,A){F!==cx&&cN.throwError("use fromString",q4.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),cb(this,A);let t=this.type.match(cW);t?cb(this,{arrayLength:parseInt(t[2]||"-1"),arrayChildren:cH.fromObject({type:t[1],components:this.components}),baseType:"array"}):cb(this,{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json){let A={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(A.indexed=this.indexed),this.components&&(A.components=this.components.map(A=>JSON.parse(A.format(F)))),JSON.stringify(A)}let A="";return"array"===this.baseType?A+=this.arrayChildren.format(F)+"["+(this.arrayLength<0?"":String(this.arrayLength))+"]":"tuple"===this.baseType?(F!==cP.sighash&&(A+=this.type),A+="("+this.components.map(A=>A.format(F)).join(F===cP.full?", ":",")+")"):A+=this.type,F!==cP.sighash&&(!0===this.indexed&&(A+=" indexed"),F===cP.full&&this.name&&(A+=" "+this.name)),A}static from(F,A){return"string"==typeof F?cH.fromString(F,A):cH.fromObject(F)}static fromObject(F){return cH.isParamType(F)?F:new cH(cx,{name:F.name||null,type:c7(F.type),indexed:null==F.indexed?null:!!F.indexed,components:F.components?F.components.map(cH.fromObject):null})}static fromString(F,A){var t;return t=function(F,A){let t=F;function e(A){cN.throwArgumentError(`unexpected character at position ${A}`,"param",F)}function B(F){let t={type:"",name:"",parent:F,state:{allowType:!0}};return A&&(t.indexed=!1),t}F=F.replace(/\s/g," ");let i={type:"",name:"",state:{allowType:!0}},s=i;for(let t=0;tcH.fromString(F,A))}class c_{constructor(F,A){F!==cx&&cN.throwError("use a static from method",q4.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),cb(this,A),this._isFragment=!0,Object.freeze(this)}static from(F){return c_.isFragment(F)?F:"string"==typeof F?c_.fromString(F):c_.fromObject(F)}static fromObject(F){if(c_.isFragment(F))return F;switch(F.type){case"function":return c3.fromObject(F);case"event":return c$.fromObject(F);case"constructor":return c5.fromObject(F);case"error":return c6.fromObject(F);case"fallback":case"receive":return null}return cN.throwArgumentError("invalid fragment object","value",F)}static fromString(F){return"event"===(F=(F=(F=F.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?c$.fromString(F.substring(5).trim()):"function"===F.split(" ")[0]?c3.fromString(F.substring(8).trim()):"constructor"===F.split("(")[0].trim()?c5.fromString(F.trim()):"error"===F.split(" ")[0]?c6.fromString(F.substring(5).trim()):cN.throwArgumentError("unsupported fragment","value",F)}static isFragment(F){return!!(F&&F._isFragment)}}class c$ extends c_{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(A=>JSON.parse(A.format(F)))});let A="";return F!==cP.sighash&&(A+="event "),A+=this.name+"("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ",F!==cP.sighash&&this.anonymous&&(A+="anonymous "),A.trim()}static from(F){return"string"==typeof F?c$.fromString(F):c$.fromObject(F)}static fromObject(F){return c$.isEventFragment(F)?F:("event"!==F.type&&cN.throwArgumentError("invalid event object","value",F),new c$(cx,{name:c9(F.name),anonymous:F.anonymous,inputs:F.inputs?F.inputs.map(cH.fromObject):[],type:"event"}))}static fromString(F){let A=F.match(uF);A||cN.throwArgumentError("invalid event string","value",F);let t=!1;return A[3].split(" ").forEach(F=>{switch(F.trim()){case"anonymous":t=!0;break;case"":break;default:cN.warn("unknown modifier: "+F)}}),c$.fromObject({name:A[1].trim(),anonymous:t,inputs:cX(A[2],!0),type:"event"})}static isEventFragment(F){return F&&F._isFragment&&"event"===F.type}}function c2(F,A){A.gas=null;let t=F.split("@");return 1!==t.length?(t.length>2&&cN.throwArgumentError("invalid human-readable ABI signature","value",F),t[1].match(/^[0-9]+$/)||cN.throwArgumentError("invalid human-readable ABI signature gas","value",F),A.gas=lz.from(t[1]),t[0]):F}function c1(F,A){A.constant=!1,A.payable=!1,A.stateMutability="nonpayable",F.split(" ").forEach(F=>{switch(F.trim()){case"constant":A.constant=!0;break;case"payable":A.payable=!0,A.stateMutability="payable";break;case"nonpayable":A.payable=!1,A.stateMutability="nonpayable";break;case"pure":A.constant=!0,A.stateMutability="pure";break;case"view":A.constant=!0,A.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+F)}})}function c0(F){let A={constant:!1,payable:!0,stateMutability:"payable"};return null!=F.stateMutability?(A.stateMutability=F.stateMutability,A.constant="view"===A.stateMutability||"pure"===A.stateMutability,null!=F.constant&&!!F.constant!==A.constant&&cN.throwArgumentError("cannot have constant function with mutability "+A.stateMutability,"value",F),A.payable="payable"===A.stateMutability,null!=F.payable&&!!F.payable!==A.payable&&cN.throwArgumentError("cannot have payable function with mutability "+A.stateMutability,"value",F)):null!=F.payable?(A.payable=!!F.payable,null!=F.constant||A.payable||"constructor"===F.type||cN.throwArgumentError("unable to determine stateMutability","value",F),A.constant=!!F.constant,A.constant?A.stateMutability="view":A.stateMutability=A.payable?"payable":"nonpayable",A.payable&&A.constant&&cN.throwArgumentError("cannot have constant payable function","value",F)):null!=F.constant?(A.constant=!!F.constant,A.payable=!A.constant,A.stateMutability=A.constant?"view":"payable"):"constructor"!==F.type&&cN.throwArgumentError("unable to determine stateMutability","value",F),A}class c5 extends c_{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(A=>JSON.parse(A.format(F)))});F===cP.sighash&&cN.throwError("cannot format a constructor for sighash",q4.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let A="constructor("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(A+=this.stateMutability+" "),A.trim()}static from(F){return"string"==typeof F?c5.fromString(F):c5.fromObject(F)}static fromObject(F){if(c5.isConstructorFragment(F))return F;"constructor"!==F.type&&cN.throwArgumentError("invalid constructor object","value",F);let A=c0(F);return A.constant&&cN.throwArgumentError("constructor cannot be constant","value",F),new c5(cx,{name:null,type:F.type,inputs:F.inputs?F.inputs.map(cH.fromObject):[],payable:A.payable,stateMutability:A.stateMutability,gas:F.gas?lz.from(F.gas):null})}static fromString(F){let A={type:"constructor"},t=(F=c2(F,A)).match(uF);return t&&"constructor"===t[1].trim()||cN.throwArgumentError("invalid constructor string","value",F),A.inputs=cX(t[2].trim(),!1),c1(t[3].trim(),A),c5.fromObject(A)}static isConstructorFragment(F){return F&&F._isFragment&&"constructor"===F.type}}class c3 extends c5{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(A=>JSON.parse(A.format(F))),outputs:this.outputs.map(A=>JSON.parse(A.format(F)))});let A="";return F!==cP.sighash&&(A+="function "),A+=this.name+"("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ",F!==cP.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(A+=this.stateMutability+" "):this.constant&&(A+="view "),this.outputs&&this.outputs.length&&(A+="returns ("+this.outputs.map(A=>A.format(F)).join(", ")+") "),null!=this.gas&&(A+="@"+this.gas.toString()+" ")),A.trim()}static from(F){return"string"==typeof F?c3.fromString(F):c3.fromObject(F)}static fromObject(F){if(c3.isFunctionFragment(F))return F;"function"!==F.type&&cN.throwArgumentError("invalid function object","value",F);let A=c0(F);return new c3(cx,{type:F.type,name:c9(F.name),constant:A.constant,inputs:F.inputs?F.inputs.map(cH.fromObject):[],outputs:F.outputs?F.outputs.map(cH.fromObject):[],payable:A.payable,stateMutability:A.stateMutability,gas:F.gas?lz.from(F.gas):null})}static fromString(F){let A={type:"function"},t=(F=c2(F,A)).split(" returns ");t.length>2&&cN.throwArgumentError("invalid function string","value",F);let e=t[0].match(uF);if(e||cN.throwArgumentError("invalid function signature","value",F),A.name=e[1].trim(),A.name&&c9(A.name),A.inputs=cX(e[2],!1),c1(e[3].trim(),A),t.length>1){let e=t[1].match(uF);(""!=e[1].trim()||""!=e[3].trim())&&cN.throwArgumentError("unexpected tokens","value",F),A.outputs=cX(e[2],!1)}else A.outputs=[];return c3.fromObject(A)}static isFunctionFragment(F){return F&&F._isFragment&&"function"===F.type}}function c8(F){let A=F.format();return("Error(string)"===A||"Panic(uint256)"===A)&&cN.throwArgumentError(`cannot specify user defined ${A} error`,"fragment",F),F}class c6 extends c_{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(A=>JSON.parse(A.format(F)))});let A="";return F!==cP.sighash&&(A+="error "),(A+=this.name+"("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ").trim()}static from(F){return"string"==typeof F?c6.fromString(F):c6.fromObject(F)}static fromObject(F){return c6.isErrorFragment(F)?F:("error"!==F.type&&cN.throwArgumentError("invalid error object","value",F),c8(new c6(cx,{type:F.type,name:c9(F.name),inputs:F.inputs?F.inputs.map(cH.fromObject):[]})))}static fromString(F){let A={type:"error"},t=F.match(uF);return t||cN.throwArgumentError("invalid error signature","value",F),A.name=t[1].trim(),A.name&&c9(A.name),A.inputs=cX(t[2],!1),c8(c6.fromObject(A))}static isErrorFragment(F){return F&&F._isFragment&&"error"===F.type}}function c7(F){return F.match(/^uint($|[^1-9])/)?F="uint256"+F.substring(4):F.match(/^int($|[^1-9])/)&&(F="int256"+F.substring(3)),F}let c4=RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function c9(F){return F&&F.match(c4)||cN.throwArgumentError(`invalid identifier "${F}"`,"value",F),F}let uF=RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"),uA=new q4(lU),ut=new RegExp(/^bytes([0-9]*)$/),ue=new RegExp(/^(u?int)([0-9]*)$/);class uB{constructor(F){lg(this,"coerceFunc",F||null)}_getCoder(F){switch(F.baseType){case"address":return new cl(F.name);case"bool":return new cp(F.name);case"string":return new cv(F.name);case"bytes":return new cE(F.name);case"array":return new cI(this._getCoder(F.arrayChildren),F.arrayLength,F.name);case"tuple":return new cK((F.components||[]).map(F=>this._getCoder(F)),F.name);case"":return new cd(F.name)}let A=F.type.match(ue);if(A){let t=parseInt(A[2]||"256");return(0===t||t>256||t%8!=0)&&uA.throwArgumentError("invalid "+A[1]+" bit length","param",F),new cU(t/8,"int"===A[1],F.name)}if(A=F.type.match(ut)){let t=parseInt(A[1]);return(0===t||t>32)&&uA.throwArgumentError("invalid bytes length","param",F),new cC(t,F.name)}return uA.throwArgumentError("invalid type","type",F.type)}_getWordSize(){return 32}_getReader(F,A){return new lO(F,this._getWordSize(),this.coerceFunc,A)}_getWriter(){return new lJ(this._getWordSize())}getDefaultValue(F){return new cK(F.map(F=>this._getCoder(cH.from(F))),"_").defaultValue()}encode(F,A){F.length!==A.length&&uA.throwError("types/values length mismatch",q4.errors.INVALID_ARGUMENT,{count:{types:F.length,values:A.length},value:{types:F,values:A}});let t=new cK(F.map(F=>this._getCoder(cH.from(F))),"_"),e=this._getWriter();return t.encode(e,A),e.data}decode(F,A,t){return new cK(F.map(F=>this._getCoder(cH.from(F))),"_").decode(this._getReader(li(A),t))}}let ui=new uB;function us(F){return l8(cZ(F))}let un=new q4(lU);class ur extends lw{}class uo extends lw{}class ua extends lw{}class uV extends lw{static isIndexed(F){return!!(F&&F._isIndexed)}}let uh={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function uq(F,A){let t=Error(`deferred error during ABI decoding triggered accessing ${F}`);return t.error=A,t}class ul{constructor(F){lg(this,"fragments",("string"==typeof F?JSON.parse(F):F).map(F=>c_.from(F)).filter(F=>null!=F)),lg(this,"_abiCoder",lE(new.target,"getAbiCoder")()),lg(this,"functions",{}),lg(this,"errors",{}),lg(this,"events",{}),lg(this,"structs",{}),this.fragments.forEach(F=>{let A=null;switch(F.type){case"constructor":if(this.deploy){un.warn("duplicate definition - constructor");return}lg(this,"deploy",F);return;case"function":A=this.functions;break;case"event":A=this.events;break;case"error":A=this.errors;break;default:return}let t=F.format();if(A[t]){un.warn("duplicate definition - "+t);return}A[t]=F}),this.deploy||lg(this,"deploy",c5.from({payable:!1,type:"constructor"})),lg(this,"_isInterface",!0)}format(F){F||(F=cP.full),F===cP.sighash&&un.throwArgumentError("interface does not support formatting sighash","format",F);let A=this.fragments.map(A=>A.format(F));return F===cP.json?JSON.stringify(A.map(F=>JSON.parse(F))):A}static getAbiCoder(){return ui}static getAddress(F){return co(F)}static getSighash(F){return lq(us(F.format()),0,4)}static getEventTopic(F){return us(F.format())}getFunction(F){if(lo(F)){for(let A in this.functions)if(F===this.getSighash(A))return this.functions[A];un.throwArgumentError("no matching function","sighash",F)}if(-1===F.indexOf("(")){let A=F.trim(),t=Object.keys(this.functions).filter(F=>F.split("(")[0]===A);return 0===t.length?un.throwArgumentError("no matching function","name",A):t.length>1&&un.throwArgumentError("multiple matching functions","name",A),this.functions[t[0]]}let A=this.functions[c3.fromString(F).format()];return A||un.throwArgumentError("no matching function","signature",F),A}getEvent(F){if(lo(F)){let A=F.toLowerCase();for(let F in this.events)if(A===this.getEventTopic(F))return this.events[F];un.throwArgumentError("no matching event","topichash",A)}if(-1===F.indexOf("(")){let A=F.trim(),t=Object.keys(this.events).filter(F=>F.split("(")[0]===A);return 0===t.length?un.throwArgumentError("no matching event","name",A):t.length>1&&un.throwArgumentError("multiple matching events","name",A),this.events[t[0]]}let A=this.events[c$.fromString(F).format()];return A||un.throwArgumentError("no matching event","signature",F),A}getError(F){if(lo(F)){let A=lE(this.constructor,"getSighash");for(let t in this.errors)if(F===A(this.errors[t]))return this.errors[t];un.throwArgumentError("no matching error","sighash",F)}if(-1===F.indexOf("(")){let A=F.trim(),t=Object.keys(this.errors).filter(F=>F.split("(")[0]===A);return 0===t.length?un.throwArgumentError("no matching error","name",A):t.length>1&&un.throwArgumentError("multiple matching errors","name",A),this.errors[t[0]]}let A=this.errors[c3.fromString(F).format()];return A||un.throwArgumentError("no matching error","signature",F),A}getSighash(F){if("string"==typeof F)try{F=this.getFunction(F)}catch(A){try{F=this.getError(F)}catch(F){throw A}}return lE(this.constructor,"getSighash")(F)}getEventTopic(F){return"string"==typeof F&&(F=this.getEvent(F)),lE(this.constructor,"getEventTopic")(F)}_decodeParams(F,A){return this._abiCoder.decode(F,A)}_encodeParams(F,A){return this._abiCoder.encode(F,A)}encodeDeploy(F){return this._encodeParams(this.deploy.inputs,F||[])}decodeErrorResult(F,A){"string"==typeof F&&(F=this.getError(F));let t=li(A);return lV(t.slice(0,4))!==this.getSighash(F)&&un.throwArgumentError(`data signature does not match error ${F.name}.`,"data",lV(t)),this._decodeParams(F.inputs,t.slice(4))}encodeErrorResult(F,A){return"string"==typeof F&&(F=this.getError(F)),lV(ls([this.getSighash(F),this._encodeParams(F.inputs,A||[])]))}decodeFunctionData(F,A){"string"==typeof F&&(F=this.getFunction(F));let t=li(A);return lV(t.slice(0,4))!==this.getSighash(F)&&un.throwArgumentError(`data signature does not match function ${F.name}.`,"data",lV(t)),this._decodeParams(F.inputs,t.slice(4))}encodeFunctionData(F,A){return"string"==typeof F&&(F=this.getFunction(F)),lV(ls([this.getSighash(F),this._encodeParams(F.inputs,A||[])]))}decodeFunctionResult(F,A){"string"==typeof F&&(F=this.getFunction(F));let t=li(A),e=null,B="",i=null,s=null,n=null;switch(t.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(F.outputs,t)}catch(F){}break;case 4:{let F=lV(t.slice(0,4)),A=uh[F];if(A)i=this._abiCoder.decode(A.inputs,t.slice(4)),s=A.name,n=A.signature,A.reason&&(e=i[0]),"Error"===s?B=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(i[0])}`:"Panic"===s&&(B=`; VM Exception while processing transaction: reverted with panic code ${i[0]}`);else try{let A=this.getError(F);i=this._abiCoder.decode(A.inputs,t.slice(4)),s=A.name,n=A.format()}catch(F){}}}return un.throwError("call revert exception"+B,q4.errors.CALL_EXCEPTION,{method:F.format(),data:lV(A),errorArgs:i,errorName:s,errorSignature:n,reason:e})}encodeFunctionResult(F,A){return"string"==typeof F&&(F=this.getFunction(F)),lV(this._abiCoder.encode(F.outputs,A||[]))}encodeFilterTopics(F,A){"string"==typeof F&&(F=this.getEvent(F)),A.length>F.inputs.length&&un.throwError("too many arguments for "+F.format(),q4.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:A});let t=[];F.anonymous||t.push(this.getEventTopic(F));let e=(F,A)=>"string"===F.type?us(A):"bytes"===F.type?l8(lV(A)):("bool"===F.type&&"boolean"==typeof A&&(A=A?"0x01":"0x00"),F.type.match(/^u?int/)&&(A=lz.from(A).toHexString()),"address"===F.type&&this._abiCoder.encode(["address"],[A]),lm(lV(A),32));for(A.forEach((A,B)=>{let i=F.inputs[B];if(!i.indexed){null!=A&&un.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+i.name,A);return}null==A?t.push(null):"array"===i.baseType||"tuple"===i.baseType?un.throwArgumentError("filtering with tuples or arrays not supported","contract."+i.name,A):Array.isArray(A)?t.push(A.map(F=>e(i,F))):t.push(e(i,A))});t.length&&null===t[t.length-1];)t.pop();return t}encodeEventLog(F,A){"string"==typeof F&&(F=this.getEvent(F));let t=[],e=[],B=[];return F.anonymous||t.push(this.getEventTopic(F)),A.length!==F.inputs.length&&un.throwArgumentError("event arguments/values mismatch","values",A),F.inputs.forEach((F,i)=>{let s=A[i];if(F.indexed){if("string"===F.type)t.push(us(s));else if("bytes"===F.type)t.push(l8(s));else if("tuple"===F.baseType||"array"===F.baseType)throw Error("not implemented");else t.push(this._abiCoder.encode([F.type],[s]))}else e.push(F),B.push(s)}),{data:this._abiCoder.encode(e,B),topics:t}}decodeEventLog(F,A,t){if("string"==typeof F&&(F=this.getEvent(F)),null!=t&&!F.anonymous){let A=this.getEventTopic(F);lo(t[0],32)&&t[0].toLowerCase()===A||un.throwError("fragment/topic mismatch",q4.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:A,value:t[0]}),t=t.slice(1)}let e=[],B=[],i=[];F.inputs.forEach((F,A)=>{F.indexed?"string"===F.type||"bytes"===F.type||"tuple"===F.baseType||"array"===F.baseType?(e.push(cH.fromObject({type:"bytes32",name:F.name})),i.push(!0)):(e.push(F),i.push(!1)):(B.push(F),i.push(!1))});let s=null!=t?this._abiCoder.decode(e,ls(t)):null,n=this._abiCoder.decode(B,A,!0),r=[],o=0,a=0;F.inputs.forEach((F,A)=>{if(F.indexed){if(null==s)r[A]=new uV({_isIndexed:!0,hash:null});else if(i[A])r[A]=new uV({_isIndexed:!0,hash:s[a++]});else try{r[A]=s[a++]}catch(F){r[A]=F}}else try{r[A]=n[o++]}catch(F){r[A]=F}if(F.name&&null==r[F.name]){let t=r[A];t instanceof Error?Object.defineProperty(r,F.name,{enumerable:!0,get:()=>{throw uq(`property ${JSON.stringify(F.name)}`,t)}}):r[F.name]=t}});for(let F=0;F{throw uq(`index ${F}`,A)}})}return Object.freeze(r)}parseTransaction(F){let A=this.getFunction(F.data.substring(0,10).toLowerCase());return A?new uo({args:this._abiCoder.decode(A.inputs,"0x"+F.data.substring(10)),functionFragment:A,name:A.name,signature:A.format(),sighash:this.getSighash(A),value:lz.from(F.value||"0")}):null}parseLog(F){let A=this.getEvent(F.topics[0]);return!A||A.anonymous?null:new ur({eventFragment:A,name:A.name,signature:A.format(),topic:this.getEventTopic(A),args:this.decodeEventLog(A,F.data,F.topics)})}parseError(F){let A=lV(F),t=this.getError(A.substring(0,10).toLowerCase());return t?new ua({args:this._abiCoder.decode(t.inputs,"0x"+A.substring(10)),errorFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t)}):null}static isInterface(F){return!!(F&&F._isInterface)}}var uc={};function uu(F){F=atob(F);let A=[];for(let t=0;t0;)t.push(e%this.base),e=e/this.base|0}let e="";for(let F=0;0===A[F]&&F=0;--F)e+=this.alphabet[t[F]];return e}decode(F){if("string"!=typeof F)throw TypeError("Expected String");let A=[];if(0===F.length)return new Uint8Array(A);A.push(0);for(let t=0;t>=8;for(;B>0;)A.push(255&B),B>>=8}for(let t=0;F[t]===this._leader&&t256||A[2]&&A[2]!==String(e))&&ug.throwArgumentError("invalid numeric width","type",F);let B=uS.mask(t?e-1:e),i=t?B.add(uy).mul(uC):ud;return function(A){let t=lz.from(A);return(t.lt(i)||t.gt(B))&&ug.throwArgumentError(`value out-of-bounds for ${F}`,"value",A),lm(t.toTwos(256).toHexString(),32)}}}{let A=F.match(/^bytes(\d+)$/);if(A){let t=parseInt(A[1]);return(0===t||t>32||A[1]!==String(t))&&ug.throwArgumentError("invalid bytes width","type",F),function(A){return li(A).length!==t&&ug.throwArgumentError(`invalid length for ${F}`,"value",A),function(F){let A=li(F),t=A.length%32;return t?ll([A,uE.slice(t)]):lV(A)}(A)}}}switch(F){case"address":return function(F){return lm(co(F),32)};case"bool":return function(F){return F?uQ:uw};case"bytes":return function(F){return l8(F)};case"string":return function(F){return us(F)}}return null}function uZ(F,A){return`${F}(${A.map(({name:F,type:A})=>A+" "+F).join(",")})`}class uR{constructor(F){lg(this,"types",Object.freeze(lQ(F))),lg(this,"_encoderCache",{}),lg(this,"_types",{});let A={},t={},e={};for(let B in Object.keys(F).forEach(F=>{A[F]={},t[F]=[],e[F]={}}),F){let e={};F[B].forEach(i=>{e[i.name]&&ug.throwArgumentError(`duplicate variable name ${JSON.stringify(i.name)} in ${JSON.stringify(B)}`,"types",F),e[i.name]=!0;let s=i.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===B&&ug.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",F),uD(s)||(t[s]||ug.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",F),t[s].push(B),A[B][s]=!0)})}let B=Object.keys(t).filter(F=>0===t[F].length);for(let i in 0===B.length?ug.throwArgumentError("missing primary type","types",F):B.length>1&&ug.throwArgumentError(`ambiguous primary types or unused types: ${B.map(F=>JSON.stringify(F)).join(", ")}`,"types",F),lg(this,"primaryType",B[0]),!function B(i,s){s[i]&&ug.throwArgumentError(`circular type reference to ${JSON.stringify(i)}`,"types",F),s[i]=!0,Object.keys(A[i]).forEach(F=>{t[F]&&(B(F,s),Object.keys(s).forEach(A=>{e[A][F]=!0}))}),delete s[i]}(this.primaryType,{}),e){let A=Object.keys(e[i]);A.sort(),this._types[i]=uZ(i,F[i])+A.map(A=>uZ(A,F[A])).join("")}}getEncoder(F){let A=this._encoderCache[F];return A||(A=this._encoderCache[F]=this._getEncoder(F)),A}_getEncoder(F){{let A=uD(F);if(A)return A}let A=F.match(/^(.*)(\x5b(\d*)\x5d)$/);if(A){let F=A[1],t=this.getEncoder(F),e=parseInt(A[3]);return A=>{e>=0&&A.length!==e&&ug.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",A);let B=A.map(t);return this._types[F]&&(B=B.map(l8)),l8(ll(B))}}let t=this.types[F];if(t){let A=us(this._types[F]);return F=>{let e=t.map(({name:A,type:t})=>{let e=this.getEncoder(t)(F[A]);return this._types[t]?l8(e):e});return e.unshift(A),ll(e)}}return ug.throwArgumentError(`unknown type: ${F}`,"type",F)}encodeType(F){let A=this._types[F];return A||ug.throwArgumentError(`unknown type: ${JSON.stringify(F)}`,"name",F),A}encodeData(F,A){return this.getEncoder(F)(A)}hashStruct(F,A){return l8(this.encodeData(F,A))}encode(F){return this.encodeData(this.primaryType,F)}hash(F){return this.hashStruct(this.primaryType,F)}_visit(F,A,t){if(uD(F))return t(F,A);let e=F.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){let F=e[1],B=parseInt(e[3]);return B>=0&&A.length!==B&&ug.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",A),A.map(A=>this._visit(F,A,t))}let B=this.types[F];return B?B.reduce((F,{name:e,type:B})=>(F[e]=this._visit(B,A[e],t),F),{}):ug.throwArgumentError(`unknown type: ${F}`,"type",F)}visit(F,A){return this._visit(this.primaryType,F,A)}static from(F){return new uR(F)}static getPrimaryType(F){return uR.from(F).primaryType}static hashStruct(F,A,t){return uR.from(A).hashStruct(F,t)}static hashDomain(F){let A=[];for(let t in F){let e=uU[t];e||ug.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(t)}`,"domain",F),A.push({name:t,type:e})}return A.sort((F,A)=>uf.indexOf(F.name)-uf.indexOf(A.name)),uR.hashStruct("EIP712Domain",{EIP712Domain:A},F)}static encode(F,A,t){return ll(["0x1901",uR.hashDomain(F),uR.from(A).hash(t)])}static hash(F,A,t){return l8(uR.encode(F,A,t))}static resolveNames(F,A,t,e){var B,i,s,n;return B=this,i=void 0,s=void 0,n=function*(){F=ly(F);let B={};F.verifyingContract&&!lo(F.verifyingContract,20)&&(B[F.verifyingContract]="0x");let i=uR.from(A);for(let F in i.visit(t,(F,A)=>("address"!==F||lo(A,20)||(B[A]="0x"),A)),B)B[F]=yield e(F);return F.verifyingContract&&B[F.verifyingContract]&&(F.verifyingContract=B[F.verifyingContract]),t=i.visit(t,(F,A)=>"address"===F&&B[A]?B[A]:A),{domain:F,value:t}},new(s||(s=Promise))(function(F,A){function t(F){try{r(n.next(F))}catch(F){A(F)}}function e(F){try{r(n.throw(F))}catch(F){A(F)}}function r(A){var B;A.done?F(A.value):((B=A.value)instanceof s?B:new s(function(F){F(B)})).then(t,e)}r((n=n.apply(B,i||[])).next())})}static getPayload(F,A,t){uR.hashDomain(F);let e={},B=[];uf.forEach(A=>{let t=F[A];null!=t&&(e[A]=uT[A](t),B.push({name:A,type:uU[A]}))});let i=uR.from(A),s=ly(A);return s.EIP712Domain?ug.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",A):s.EIP712Domain=B,i.encode(t),{types:s,domain:e,primaryType:i.primaryType,message:i.visit(t,(F,A)=>{if(F.match(/^bytes(\d*)/))return lV(li(A));if(F.match(/^u?int/))return lz.from(A).toString();switch(F){case"address":return A.toLowerCase();case"bool":return!!A;case"string":return"string"!=typeof A&&ug.throwArgumentError("invalid string","value",A),A}return ug.throwArgumentError("unsupported type","type",F)})}}}function uz(F,A){null==A&&(A=1);let t=[],e=t.forEach,B=function(F,A){e.call(F,function(F){A>0&&Array.isArray(F)?B(F,A-1):t.push(F)})};return B(F,A),t}function uG(F,A){let t=Array(F);for(let e=0,B=-1;eA[F]):t}function uY(F,A,t){let e=Array(F).fill(void 0).map(()=>[]);for(let B=0;B>1:e>>1}return t})(F,t).forEach((F,A)=>e[A].push(F));return e}let uv=(Ao=function(F){let A=0;function t(){return F[A++]<<8|F[A++]}let e=t(),B=1,i=[0,1];for(let F=1;F>--r&1}let V=0;for(let F=0;F<31;F++)V=V<<1|a();let h=[],q=0,l=2147483648;for(;;){let F=Math.floor(((V-q+1)*B-1)/l),A=0,t=e;for(;t-A>1;){let e=A+t>>>1;F{switch(A-c){case 3:return c+65792+(F[n++]<<16|F[n++]<<8|F[n++]);case 2:return c+256+(F[n++]<<8|F[n++]);case 1:return c+F[n++];default:return A-1}})}(uu("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")),FO=0,()=>Ao[FO++]),uK=new Set(uL(uv)),uN=new Set(uL(uv)),ux=function(F){let A=[];for(;;){let t=F();if(0==t)break;A.push(function(F,A){let t=1+A(),e=A(),B=function(F){let A=[];for(;;){let t=F();if(0==t)break;A.push(t)}return A}(A);return uz(uY(B.length,1+F,A).map((F,A)=>{let i=F[0],s=F.slice(1);return Array(B[A]).fill(void 0).map((F,A)=>{let B=A*e;return[i+A*t,s.map(F=>F+B)]})}))}(t,F))}for(;;){let t=F()-1;if(t<0)break;A.push(uY(1+F(),1+t,F).map(F=>[F[0],F.slice(1)]))}return function(F){let A={};for(let t=0;tF-A),function F(){let A=[];for(;;){let t=uL(uv,FJ);if(0==t.length)break;A.push({set:new Set(t),node:F()})}A.sort((F,A)=>A.set.size-F.set.size);let t=uv();return{branches:A,valid:t%3,fe0f:!!(1&(t=t/3|0)),save:1==(t>>=1),check:2==t}}());function uO(F){return F.filter(F=>65039!=F)}function uj(F){for(let A of F.split(".")){let F=cY(A);try{for(let A=F.lastIndexOf(95)-1;A>=0;A--)if(95!==F[A])throw Error("underscore only allowed at start");if(F.length>=4&&F.every(F=>F<128)&&45===F[2]&&45===F[3])throw Error("invalid label extension")}catch(F){throw Error(`Invalid label "${A}": ${F.message}`)}}return F}let ub=new q4(up),uP=new Uint8Array(32);function uW(F){if(0===F.length)throw Error("invalid ENS name; empty component");return F}function uH(F){let A=cZ(uj(function(F,A){let t=cY(F).reverse(),e=[];for(;t.length;){let F=function(F,A){var t;let e,B;let i=uJ,s=[],n=F.length;for(;n;){let A=F[--n];if(!(i=null===(t=i.branches.find(F=>F.set.has(A)))||void 0===t?void 0:t.node))break;if(i.save)B=A;else if(i.check&&A===B)break;s.push(A),i.fe0f&&(s.push(65039),n>0&&65039==F[n-1]&&n--),i.valid&&(e=s.slice(),2==i.valid&&e.splice(1,1),F.length=n)}return e}(t);if(F){e.push(...A(F));continue}let B=t.pop();if(uK.has(B)){e.push(B);continue}if(uN.has(B))continue;let i=ux[B];if(i){e.push(...i);continue}throw Error(`Disallowed codepoint: 0x${B.toString(16).toUpperCase()}`)}return uj(String.fromCodePoint(...e).normalize("NFC"))}(F,uO))),t=[];if(0===F.length)return t;let e=0;for(let F=0;F=A.length)throw Error("invalid ENS name; empty component");return t.push(uW(A.slice(e))),t}function uX(F){try{return 0!==uH(F).length}catch(F){}return!1}function u_(F){"string"!=typeof F&&ub.throwArgumentError("invalid ENS name; not a string","name",F);let A=uP,t=uH(F);for(;t.length;)A=l8(ls([A,l8(t.pop())]));return lV(A)}function u$(F){return lV(ls(uH(F).map(F=>{if(F.length>63)throw Error("invalid DNS encoded entry; length exceeds 63 bytes");let A=new Uint8Array(F.length+1);return A.set(F,1),A[0]=A.length-1,A})))+"00"}function u2(F){return"string"==typeof F&&(F=cZ(F)),l8(ls([cZ("\x19Ethereum Signed Message:\n"),cZ(String(F.length)),F]))}uP.fill(0);var u1={};u1.utils=AL("hjPlJ"),u1.common=AL("853Y9"),u1.sha=AL("7ItNj"),u1.ripemd=AL("Eozyl"),u1.hmac=AL("bZxkF"),u1.sha1=u1.sha.sha1,u1.sha256=u1.sha.sha256,u1.sha224=u1.sha.sha224,u1.sha384=u1.sha.sha384,u1.sha512=u1.sha.sha512,u1.ripemd160=u1.ripemd.ripemd160,(Ad=AD||(AD={})).sha256="sha256",Ad.sha512="sha512";let u0=new q4("sha2/5.7.0");function u5(F){return"0x"+Fb(u1).ripemd160().update(li(F)).digest("hex")}function u3(F){return"0x"+Fb(u1).sha256().update(li(F)).digest("hex")}function u8(F){return"0x"+Fb(u1).sha512().update(li(F)).digest("hex")}function u6(F,A,t){return AD[F]||u0.throwError("unsupported algorithm "+F,q4.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:F}),"0x"+Fb(u1).hmac(Fb(u1)[F],li(A)).update(li(t)).digest("hex")}var u7=AL("l59t0");function u4(F,A,t){return F(t={path:A,exports:{},require:function(F,A){return function(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(F,null==A?t.path:A)}},t.exports),t.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==AR||"undefined"!=typeof self&&self;var u9=mF;function mF(F,A){if(!F)throw Error(A||"Assertion failed")}mF.equal=function(F,A,t){if(F!=A)throw Error(t||"Assertion failed: "+F+" != "+A)};var mA=u4(function(F,A){function t(F){return 1===F.length?"0"+F:F}function e(F){for(var A="",e=0;e>8,s=255&B;i?t.push(i,s):t.push(s)}return t},A.zero2=t,A.toHex=e,A.encode=function(F,A){return"hex"===A?e(F):F}}),mt=u4(function(F,A){A.assert=u9,A.toArray=mA.toArray,A.zero2=mA.zero2,A.toHex=mA.toHex,A.encode=mA.encode,A.getNAF=function(F,A,t){var e=Array(Math.max(F.bitLength(),t)+1);e.fill(0);for(var B=1<(B>>1)-1?(B>>1)-r:r,i.isubn(n)):n=0,e[s]=n,i.iushrn(1)}return e},A.getJSF=function(F,A){var t=[[],[]];F=F.clone(),A=A.clone();for(var e=0,B=0;F.cmpn(-e)>0||A.cmpn(-B)>0;){var i,s,n,r=F.andln(3)+e&3,o=A.andln(3)+B&3;3===r&&(r=-1),3===o&&(o=-1),s=(1&r)==0?0:(3==(i=F.andln(7)+e&7)||5===i)&&2===o?-r:r,t[0].push(s),n=(1&o)==0?0:(3==(i=A.andln(7)+B&7)||5===i)&&2===r?-o:o,t[1].push(n),2*e===s+1&&(e=1-e),2*B===n+1&&(B=1-B),F.iushrn(1),A.iushrn(1)}return t},A.cachedProperty=function(F,A,t){var e="_"+A;F.prototype[A]=function(){return void 0!==this[e]?this[e]:this[e]=t.call(this)}},A.parseBytes=function(F){return"string"==typeof F?A.toArray(F,"hex"):F},A.intFromLE=function(F){return new(Fb(u7))(F,"hex","le")}}),me=mt.getNAF,mB=mt.getJSF,mi=mt.assert;function ms(F,A){this.type=F,this.p=new(Fb(u7))(A.p,16),this.red=A.prime?Fb(u7).red(A.prime):Fb(u7).mont(this.p),this.zero=new(Fb(u7))(0).toRed(this.red),this.one=new(Fb(u7))(1).toRed(this.red),this.two=new(Fb(u7))(2).toRed(this.red),this.n=A.n&&new(Fb(u7))(A.n,16),this.g=A.g&&this.pointFromJSON(A.g,A.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function mn(F,A){this.curve=F,this.type=A,this.precomputed=null}ms.prototype.point=function(){throw Error("Not implemented")},ms.prototype.validate=function(){throw Error("Not implemented")},ms.prototype._fixedNafMul=function(F,A){mi(F.precomputed);var t,e,B=F._getDoubles(),i=me(A,1,this._bitLength),s=(1<=t;r--)e=(e<<1)+i[r];n.push(e)}for(var o=this.jpoint(null,null,null),a=this.jpoint(null,null,null),V=s;V>0;V--){for(t=0;t=0;n--){for(var r=0;n>=0&&0===i[n];n--)r++;if(n>=0&&r++,s=s.dblp(r),n<0)break;var o=i[n];mi(0!==o),s="affine"===F.type?o>0?s.mixedAdd(B[o-1>>1]):s.mixedAdd(B[-o-1>>1].neg()):o>0?s.add(B[o-1>>1]):s.add(B[-o-1>>1].neg())}return"affine"===F.type?s.toP():s},ms.prototype._wnafMulAdd=function(F,A,t,e,B){var i,s,n,r=this._wnafT1,o=this._wnafT2,a=this._wnafT3,V=0;for(i=0;i=1;i-=2){var q=i-1,l=i;if(1!==r[q]||1!==r[l]){a[q]=me(t[q],r[q],this._bitLength),a[l]=me(t[l],r[l],this._bitLength),V=Math.max(a[q].length,V),V=Math.max(a[l].length,V);continue}var c=[A[q],null,null,A[l]];0===A[q].y.cmp(A[l].y)?(c[1]=A[q].add(A[l]),c[2]=A[q].toJ().mixedAdd(A[l].neg())):0===A[q].y.cmp(A[l].y.redNeg())?(c[1]=A[q].toJ().mixedAdd(A[l]),c[2]=A[q].add(A[l].neg())):(c[1]=A[q].toJ().mixedAdd(A[l]),c[2]=A[q].toJ().mixedAdd(A[l].neg()));var u=[-3,-1,-5,-7,0,7,5,1,3],m=mB(t[q],t[l]);for(s=0,V=Math.max(m[0].length,V),a[q]=Array(V),a[l]=Array(V);s=0;i--){for(var E=0;i>=0;){var C=!0;for(s=0;s=0&&E++,p=p.dblp(E),i<0)break;for(s=0;s0?n=o[s][d-1>>1]:d<0&&(n=o[s][-d-1>>1].neg()),p="affine"===n.type?p.mixedAdd(n):p.add(n))}}for(i=0;i=Math.ceil((F.bitLength()+1)/A.step)},mn.prototype._getDoubles=function(F,A){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],e=this,B=0;BB[0].cmp(B[1])?B[0]:B[1]).toRed(this.red)}if(F.lambda)t=new(Fb(u7))(F.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(A))?t=i[0]:(t=i[1],mo(0===this.g.mul(t).x.cmp(this.g.x.redMul(A))))}return e=F.basis?F.basis.map(function(F){return{a:new(Fb(u7))(F.a,16),b:new(Fb(u7))(F.b,16)}}):this._getEndoBasis(t),{beta:A,lambda:t,basis:e}}},ma.prototype._getEndoRoots=function(F){var A=F===this.p?this.red:Fb(u7).mont(F),t=new(Fb(u7))(2).toRed(A).redInvm(),e=t.redNeg(),B=new(Fb(u7))(3).toRed(A).redNeg().redSqrt().redMul(t);return[e.redAdd(B).fromRed(),e.redSub(B).fromRed()]},ma.prototype._getEndoBasis=function(F){for(var A,t,e,B,i,s,n,r,o,a=this.n.ushrn(Math.floor(this.n.bitLength()/2)),V=F,h=this.n.clone(),q=new(Fb(u7))(1),l=new(Fb(u7))(0),c=new(Fb(u7))(0),u=new(Fb(u7))(1),m=0;0!==V.cmpn(0);){var M=h.div(V);r=h.sub(M.mul(V)),o=c.sub(M.mul(q));var I=u.sub(M.mul(l));if(!e&&0>r.cmp(a))A=n.neg(),t=q,e=r.neg(),B=o;else if(e&&2==++m)break;n=r,h=V,V=r,c=q,q=o,u=l,l=I}i=r.neg(),s=o;var p=e.sqr().add(B.sqr());return i.sqr().add(s.sqr()).cmp(p)>=0&&(i=A,s=t),e.negative&&(e=e.neg(),B=B.neg()),i.negative&&(i=i.neg(),s=s.neg()),[{a:e,b:B},{a:i,b:s}]},ma.prototype._endoSplit=function(F){var A=this.endo.basis,t=A[0],e=A[1],B=e.b.mul(F).divRound(this.n),i=t.b.neg().mul(F).divRound(this.n),s=B.mul(t.a),n=i.mul(e.a),r=B.mul(t.b),o=i.mul(e.b);return{k1:F.sub(s).sub(n),k2:r.add(o).neg()}},ma.prototype.pointFromX=function(F,A){(F=new(Fb(u7))(F,16)).red||(F=F.toRed(this.red));var t=F.redSqr().redMul(F).redIAdd(F.redMul(this.a)).redIAdd(this.b),e=t.redSqrt();if(0!==e.redSqr().redSub(t).cmp(this.zero))throw Error("invalid point");var B=e.fromRed().isOdd();return(A&&!B||!A&&B)&&(e=e.redNeg()),this.point(F,e)},ma.prototype.validate=function(F){if(F.inf)return!0;var A=F.x,t=F.y,e=this.a.redMul(A),B=A.redSqr().redMul(A).redIAdd(e).redIAdd(this.b);return 0===t.redSqr().redISub(B).cmpn(0)},ma.prototype._endoWnafMulAdd=function(F,A,t){for(var e=this._endoWnafT1,B=this._endoWnafT2,i=0;i":""},mV.prototype.isInfinity=function(){return this.inf},mV.prototype.add=function(F){if(this.inf)return F;if(F.inf)return this;if(this.eq(F))return this.dbl();if(this.neg().eq(F)||0===this.x.cmp(F.x))return this.curve.point(null,null);var A=this.y.redSub(F.y);0!==A.cmpn(0)&&(A=A.redMul(this.x.redSub(F.x).redInvm()));var t=A.redSqr().redISub(this.x).redISub(F.x),e=A.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,e)},mV.prototype.dbl=function(){if(this.inf)return this;var F=this.y.redAdd(this.y);if(0===F.cmpn(0))return this.curve.point(null,null);var A=this.curve.a,t=this.x.redSqr(),e=F.redInvm(),B=t.redAdd(t).redIAdd(t).redIAdd(A).redMul(e),i=B.redSqr().redISub(this.x.redAdd(this.x)),s=B.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,s)},mV.prototype.getX=function(){return this.x.fromRed()},mV.prototype.getY=function(){return this.y.fromRed()},mV.prototype.mul=function(F){return(F=new(Fb(u7))(F,16),this.isInfinity())?this:this._hasDoubles(F)?this.curve._fixedNafMul(this,F):this.curve.endo?this.curve._endoWnafMulAdd([this],[F]):this.curve._wnafMul(this,F)},mV.prototype.mulAdd=function(F,A,t){var e=[this,A],B=[F,t];return this.curve.endo?this.curve._endoWnafMulAdd(e,B):this.curve._wnafMulAdd(1,e,B,2)},mV.prototype.jmulAdd=function(F,A,t){var e=[this,A],B=[F,t];return this.curve.endo?this.curve._endoWnafMulAdd(e,B,!0):this.curve._wnafMulAdd(1,e,B,2,!0)},mV.prototype.eq=function(F){return this===F||this.inf===F.inf&&(this.inf||0===this.x.cmp(F.x)&&0===this.y.cmp(F.y))},mV.prototype.neg=function(F){if(this.inf)return this;var A=this.curve.point(this.x,this.y.redNeg());if(F&&this.precomputed){var t=this.precomputed,e=function(F){return F.neg()};A.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(e)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(e)}}}return A},mV.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},mr(mh,ms.BasePoint),ma.prototype.jpoint=function(F,A,t){return new mh(this,F,A,t)},mh.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var F=this.z.redInvm(),A=F.redSqr(),t=this.x.redMul(A),e=this.y.redMul(A).redMul(F);return this.curve.point(t,e)},mh.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},mh.prototype.add=function(F){if(this.isInfinity())return F;if(F.isInfinity())return this;var A=F.z.redSqr(),t=this.z.redSqr(),e=this.x.redMul(A),B=F.x.redMul(t),i=this.y.redMul(A.redMul(F.z)),s=F.y.redMul(t.redMul(this.z)),n=e.redSub(B),r=i.redSub(s);if(0===n.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var o=n.redSqr(),a=o.redMul(n),V=e.redMul(o),h=r.redSqr().redIAdd(a).redISub(V).redISub(V),q=r.redMul(V.redISub(h)).redISub(i.redMul(a)),l=this.z.redMul(F.z).redMul(n);return this.curve.jpoint(h,q,l)},mh.prototype.mixedAdd=function(F){if(this.isInfinity())return F.toJ();if(F.isInfinity())return this;var A=this.z.redSqr(),t=this.x,e=F.x.redMul(A),B=this.y,i=F.y.redMul(A).redMul(this.z),s=t.redSub(e),n=B.redSub(i);if(0===s.cmpn(0))return 0!==n.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var r=s.redSqr(),o=r.redMul(s),a=t.redMul(r),V=n.redSqr().redIAdd(o).redISub(a).redISub(a),h=n.redMul(a.redISub(V)).redISub(B.redMul(o)),q=this.z.redMul(s);return this.curve.jpoint(V,h,q)},mh.prototype.dblp=function(F){if(0===F||this.isInfinity())return this;if(!F)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var A,t=this;for(A=0;A=0)return!1;if(t.redIAdd(B),0===this.x.cmp(t))return!0}},mh.prototype.inspect=function(){return this.isInfinity()?"":""},mh.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var mq=u4(function(F,A){A.base=ms,A.short=ma,A.mont=null,A.edwards=null}),ml=u4(function(F,A){var t,e=mt.assert;function B(F){"short"===F.type?this.curve=new mq.short(F):"edwards"===F.type?this.curve=new mq.edwards(F):this.curve=new mq.mont(F),this.g=this.curve.g,this.n=this.curve.n,this.hash=F.hash,e(this.g.validate(),"Invalid curve"),e(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function i(F,t){Object.defineProperty(A,F,{configurable:!0,enumerable:!0,get:function(){var e=new B(t);return Object.defineProperty(A,F,{configurable:!0,enumerable:!0,value:e}),e}})}A.PresetCurve=B,i("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Fb(u1).sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),i("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Fb(u1).sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),i("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Fb(u1).sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),i("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Fb(u1).sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),i("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Fb(u1).sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),i("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Fb(u1).sha256,gRed:!1,g:["9"]}),i("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Fb(u1).sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{t=null.crash()}catch(F){t=void 0}i("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Fb(u1).sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",t]})});function mc(F){if(!(this instanceof mc))return new mc(F);this.hash=F.hash,this.predResist=!!F.predResist,this.outLen=this.hash.outSize,this.minEntropy=F.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var A=mA.toArray(F.entropy,F.entropyEnc||"hex"),t=mA.toArray(F.nonce,F.nonceEnc||"hex"),e=mA.toArray(F.pers,F.persEnc||"hex");u9(A.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(A,t,e)}mc.prototype._init=function(F,A,t){var e=F.concat(A).concat(t);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var B=0;B=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(F.concat(t||[])),this._reseed=1},mc.prototype.generate=function(F,A,t,e){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof A&&(e=t,t=A,A=null),t&&(t=mA.toArray(t,e||"hex"),this._update(t));for(var B=[];B.length"};var mM=mt.assert;function mI(F,A){if(F instanceof mI)return F;this._importDER(F,A)||(mM(F.r&&F.s,"Signature without r or s"),this.r=new(Fb(u7))(F.r,16),this.s=new(Fb(u7))(F.s,16),void 0===F.recoveryParam?this.recoveryParam=null:this.recoveryParam=F.recoveryParam)}function mp(){this.place=0}function mg(F,A){var t=F[A.place++];if(!(128&t))return t;var e=15&t;if(0===e||e>4)return!1;for(var B=0,i=0,s=A.place;i>>=0;return!(B<=127)&&(A.place=s,B)}function mE(F){for(var A=0,t=F.length-1;!F[A]&&!(128&F[A+1])&&A>>3);for(F.push(128|t);--t;)F.push(A>>>(t<<3)&255);F.push(A)}mI.prototype._importDER=function(F,A){F=mt.toArray(F,A);var t=new mp;if(48!==F[t.place++])return!1;var e=mg(F,t);if(!1===e||e+t.place!==F.length||2!==F[t.place++])return!1;var B=mg(F,t);if(!1===B)return!1;var i=F.slice(t.place,B+t.place);if(t.place+=B,2!==F[t.place++])return!1;var s=mg(F,t);if(!1===s||F.length!==s+t.place)return!1;var n=F.slice(t.place,s+t.place);if(0===i[0]){if(!(128&i[1]))return!1;i=i.slice(1)}if(0===n[0]){if(!(128&n[1]))return!1;n=n.slice(1)}return this.r=new(Fb(u7))(i),this.s=new(Fb(u7))(n),this.recoveryParam=null,!0},mI.prototype.toDER=function(F){var A=this.r.toArray(),t=this.s.toArray();for(128&A[0]&&(A=[0].concat(A)),128&t[0]&&(t=[0].concat(t)),A=mE(A),t=mE(t);!t[0]&&!(128&t[1]);)t=t.slice(1);var e=[2];mC(e,A.length),(e=e.concat(A)).push(2),mC(e,t.length);var B=e.concat(t),i=[48];return mC(i,B.length),i=i.concat(B),mt.encode(i,F)};var md=function(){throw Error("unsupported")},my=mt.assert;function mS(F){if(!(this instanceof mS))return new mS(F);"string"==typeof F&&(my(Object.prototype.hasOwnProperty.call(ml,F),"Unknown curve "+F),F=ml[F]),F instanceof ml.PresetCurve&&(F={curve:F}),this.curve=F.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=F.curve.g,this.g.precompute(F.curve.n.bitLength()+1),this.hash=F.hash||F.curve.hash}mS.prototype.keyPair=function(F){return new mm(this,F)},mS.prototype.keyFromPrivate=function(F,A){return mm.fromPrivate(this,F,A)},mS.prototype.keyFromPublic=function(F,A){return mm.fromPublic(this,F,A)},mS.prototype.genKeyPair=function(F){F||(F={});for(var A=new mc({hash:this.hash,pers:F.pers,persEnc:F.persEnc||"utf8",entropy:F.entropy||md(this.hash.hmacStrength),entropyEnc:F.entropy&&F.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),e=this.n.sub(new(Fb(u7))(2));;){var B=new(Fb(u7))(A.generate(t));if(!(B.cmp(e)>0))return B.iaddn(1),this.keyFromPrivate(B)}},mS.prototype._truncateToN=function(F,A){var t=8*F.byteLength()-this.n.bitLength();return(t>0&&(F=F.ushrn(t)),!A&&F.cmp(this.n)>=0)?F.sub(this.n):F},mS.prototype.sign=function(F,A,t,e){"object"==typeof t&&(e=t,t=null),e||(e={}),A=this.keyFromPrivate(A,t),F=this._truncateToN(new(Fb(u7))(F,16));for(var B=this.n.byteLength(),i=A.getPrivate().toArray("be",B),s=F.toArray("be",B),n=new mc({hash:this.hash,entropy:i,nonce:s,pers:e.pers,persEnc:e.persEnc||"utf8"}),r=this.n.sub(new(Fb(u7))(1)),o=0;;o++){var a=e.k?e.k(o):new(Fb(u7))(n.generate(this.n.byteLength()));if(!(0>=(a=this._truncateToN(a,!0)).cmpn(1)||a.cmp(r)>=0)){var V=this.g.mul(a);if(!V.isInfinity()){var h=V.getX(),q=h.umod(this.n);if(0!==q.cmpn(0)){var l=a.invm(this.n).mul(q.mul(A.getPrivate()).iadd(F));if(0!==(l=l.umod(this.n)).cmpn(0)){var c=(V.getY().isOdd()?1:0)|(0!==h.cmp(q)?2:0);return e.canonical&&l.cmp(this.nh)>0&&(l=this.n.sub(l),c^=1),new mI({r:q,s:l,recoveryParam:c})}}}}}},mS.prototype.verify=function(F,A,t,e){F=this._truncateToN(new(Fb(u7))(F,16)),t=this.keyFromPublic(t,e);var B,i=(A=new mI(A,"hex")).r,s=A.s;if(0>i.cmpn(1)||i.cmp(this.n)>=0||0>s.cmpn(1)||s.cmp(this.n)>=0)return!1;var n=s.invm(this.n),r=n.mul(F).umod(this.n),o=n.mul(i).umod(this.n);return this.curve._maxwellTrick?!(B=this.g.jmulAdd(r,t.getPublic(),o)).isInfinity()&&B.eqXToP(i):!(B=this.g.mulAdd(r,t.getPublic(),o)).isInfinity()&&0===B.getX().umod(this.n).cmp(i)},mS.prototype.recoverPubKey=function(F,A,t,e){my((3&t)===t,"The recovery param is more than two bits"),A=new mI(A,e);var B=this.n,i=new(Fb(u7))(F),s=A.r,n=A.s,r=1&t,o=t>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&o)throw Error("Unable to find sencond key candinate");s=o?this.curve.pointFromX(s.add(this.curve.n),r):this.curve.pointFromX(s,r);var a=A.r.invm(B),V=B.sub(i).mul(a).umod(B),h=n.mul(a).umod(B);return this.g.mulAdd(V,s,h)},mS.prototype.getKeyRecoveryParam=function(F,A,t,e){if(null!==(A=new mI(A,e)).recoveryParam)return A.recoveryParam;for(var B,i=0;i<4;i++){try{B=this.recoverPubKey(F,A,i)}catch(F){continue}if(B.eq(t))return i}throw Error("Unable to find valid recovery factor")};var mQ=u4(function(F,A){A.version="6.5.4",A.utils=mt,A.rand=function(){throw Error("unsupported")},A.curve=mq,A.curves=ml,A.ec=mS,A.eddsa=null}).ec;let mw=new q4("signing-key/5.7.0"),mU=null;function mf(){return mU||(mU=new mQ("secp256k1")),mU}class mk{constructor(F){lg(this,"curve","secp256k1"),lg(this,"privateKey",lV(F)),32!==lh(this.privateKey)&&mw.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");let A=mf().keyFromPrivate(li(this.privateKey));lg(this,"publicKey","0x"+A.getPublic(!1,"hex")),lg(this,"compressedPublicKey","0x"+A.getPublic(!0,"hex")),lg(this,"_isSigningKey",!0)}_addPoint(F){let A=mf().keyFromPublic(li(this.publicKey)),t=mf().keyFromPublic(li(F));return"0x"+A.pub.add(t.pub).encodeCompressed("hex")}signDigest(F){let A=mf().keyFromPrivate(li(this.privateKey)),t=li(F);32!==t.length&&mw.throwArgumentError("bad digest length","digest",F);let e=A.sign(t,{canonical:!0});return lM({recoveryParam:e.recoveryParam,r:lm("0x"+e.r.toString(16),32),s:lm("0x"+e.s.toString(16),32)})}computeSharedSecret(F){let A=mf().keyFromPrivate(li(this.privateKey)),t=mf().keyFromPublic(li(mD(F)));return lm("0x"+A.derive(t.getPublic()).toString(16),32)}static isSigningKey(F){return!!(F&&F._isSigningKey)}}function mT(F,A){let t=lM(A),e={r:li(t.r),s:li(t.s)};return"0x"+mf().recoverPubKey(li(F),e,t.recoveryParam).encode("hex",!1)}function mD(F,A){let t=li(F);if(32===t.length){let F=new mk(t);return A?"0x"+mf().keyFromPrivate(t).getPublic(!0,"hex"):F.publicKey}return 33===t.length?A?lV(t):"0x"+mf().keyFromPublic(t).getPublic(!1,"hex"):65===t.length?A?"0x"+mf().keyFromPublic(t).getPublic(!0,"hex"):lV(t):mw.throwArgumentError("invalid public or private key","key","[REDACTED]")}let mZ=new q4("transactions/5.7.0");function mR(F){return"0x"===F?null:co(F)}function mz(F){return"0x"===F?cS:lz.from(F)}(Ay=AZ||(AZ={}))[Ay.legacy=0]="legacy",Ay[Ay.eip2930=1]="eip2930",Ay[Ay.eip1559=2]="eip1559";let mG=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],mL={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function mY(F){return co(lq(l8(lq(mD(F),1)),12))}function mv(F,A){return mY(mT(li(F),A))}function mK(F,A){let t=ln(lz.from(F).toHexString());return t.length>32&&mZ.throwArgumentError("invalid length for "+A,"transaction:"+A,F),t}function mN(F,A){return{address:co(F),storageKeys:(A||[]).map((A,t)=>(32!==lh(A)&&mZ.throwArgumentError("invalid access list storageKey",`accessList[${F}:${t}]`,A),A.toLowerCase()))}}function mx(F){if(Array.isArray(F))return F.map((F,A)=>Array.isArray(F)?(F.length>2&&mZ.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${A}]`,F),mN(F[0],F[1])):mN(F.address,F.storageKeys));let A=Object.keys(F).map(A=>{let t=F[A].reduce((F,A)=>(F[A]=!0,F),{});return mN(A,Object.keys(t).sort())});return A.sort((F,A)=>F.address.localeCompare(A.address)),A}function mJ(F){return mx(F).map(F=>[F.address,F.storageKeys])}function mO(F,A){if(null!=F.gasPrice){let A=lz.from(F.gasPrice),t=lz.from(F.maxFeePerGas||0);A.eq(t)||mZ.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:A,maxFeePerGas:t})}let t=[mK(F.chainId||0,"chainId"),mK(F.nonce||0,"nonce"),mK(F.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),mK(F.maxFeePerGas||0,"maxFeePerGas"),mK(F.gasLimit||0,"gasLimit"),null!=F.to?co(F.to):"0x",mK(F.value||0,"value"),F.data||"0x",mJ(F.accessList||[])];if(A){let F=lM(A);t.push(mK(F.recoveryParam,"recoveryParam")),t.push(ln(F.r)),t.push(ln(F.s))}return ll(["0x02",cF(t)])}function mj(F,A){let t=[mK(F.chainId||0,"chainId"),mK(F.nonce||0,"nonce"),mK(F.gasPrice||0,"gasPrice"),mK(F.gasLimit||0,"gasLimit"),null!=F.to?co(F.to):"0x",mK(F.value||0,"value"),F.data||"0x",mJ(F.accessList||[])];if(A){let F=lM(A);t.push(mK(F.recoveryParam,"recoveryParam")),t.push(ln(F.r)),t.push(ln(F.s))}return ll(["0x01",cF(t)])}function mb(F,A){if(null==F.type||0===F.type)return null!=F.accessList&&mZ.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",F),function(F,A){ld(F,mL);let t=[];mG.forEach(function(A){let e=F[A.name]||[],B={};A.numeric&&(B.hexPad="left"),e=li(lV(e,B)),A.length&&e.length!==A.length&&e.length>0&&mZ.throwArgumentError("invalid length for "+A.name,"transaction:"+A.name,e),A.maxLength&&(e=ln(e)).length>A.maxLength&&mZ.throwArgumentError("invalid length for "+A.name,"transaction:"+A.name,e),t.push(lV(e))});let e=0;if(null!=F.chainId?"number"!=typeof(e=F.chainId)&&mZ.throwArgumentError("invalid transaction.chainId","transaction",F):A&&!lt(A)&&A.v>28&&(e=Math.floor((A.v-35)/2)),0!==e&&(t.push(lV(e)),t.push("0x"),t.push("0x")),!A)return cF(t);let B=lM(A),i=27+B.recoveryParam;return 0!==e?(t.pop(),t.pop(),t.pop(),i+=2*e+8,B.v>28&&B.v!==i&&mZ.throwArgumentError("transaction.chainId/signature.v mismatch","signature",A)):B.v!==i&&mZ.throwArgumentError("transaction.chainId/signature.v mismatch","signature",A),t.push(lV(i)),t.push(ln(li(B.r))),t.push(ln(li(B.s))),cF(t)}(F,A);switch(F.type){case 1:return mj(F,A);case 2:return mO(F,A)}return mZ.throwError(`unsupported transaction type: ${F.type}`,q4.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:F.type})}function mP(F,A,t){try{let t=mz(A[0]).toNumber();if(0!==t&&1!==t)throw Error("bad recid");F.v=t}catch(F){mZ.throwArgumentError("invalid v for transaction type: 1","v",A[0])}F.r=lm(A[1],32),F.s=lm(A[2],32);try{let A=l8(t(F));F.from=mv(A,{r:F.r,s:F.s,recoveryParam:F.v})}catch(F){}}function mW(F){let A=li(F);if(A[0]>127)return function(F){let A=ce(F);9!==A.length&&6!==A.length&&mZ.throwArgumentError("invalid raw transaction","rawTransaction",F);let t={nonce:mz(A[0]).toNumber(),gasPrice:mz(A[1]),gasLimit:mz(A[2]),to:mR(A[3]),value:mz(A[4]),data:A[5],chainId:0};if(6===A.length)return t;try{t.v=lz.from(A[6]).toNumber()}catch(F){return t}if(t.r=lm(A[7],32),t.s=lm(A[8],32),lz.from(t.r).isZero()&&lz.from(t.s).isZero())t.chainId=t.v,t.v=0;else{t.chainId=Math.floor((t.v-35)/2),t.chainId<0&&(t.chainId=0);let e=t.v-27,B=A.slice(0,6);0!==t.chainId&&(B.push(lV(t.chainId)),B.push("0x"),B.push("0x"),e-=2*t.chainId+8);let i=l8(cF(B));try{t.from=mv(i,{r:lV(t.r),s:lV(t.s),recoveryParam:e})}catch(F){}t.hash=l8(F)}return t.type=null,t}(A);switch(A[0]){case 1:return function(F){let A=ce(F.slice(1));8!==A.length&&11!==A.length&&mZ.throwArgumentError("invalid component count for transaction type: 1","payload",lV(F));let t={type:1,chainId:mz(A[0]).toNumber(),nonce:mz(A[1]).toNumber(),gasPrice:mz(A[2]),gasLimit:mz(A[3]),to:mR(A[4]),value:mz(A[5]),data:A[6],accessList:mx(A[7])};return 8===A.length||(t.hash=l8(F),mP(t,A.slice(8),mj)),t}(A);case 2:return function(F){let A=ce(F.slice(1));9!==A.length&&12!==A.length&&mZ.throwArgumentError("invalid component count for transaction type: 2","payload",lV(F));let t=mz(A[2]),e=mz(A[3]),B={type:2,chainId:mz(A[0]).toNumber(),nonce:mz(A[1]).toNumber(),maxPriorityFeePerGas:t,maxFeePerGas:e,gasPrice:null,gasLimit:mz(A[4]),to:mR(A[5]),value:mz(A[6]),data:A[7],accessList:mx(A[8])};return 9===A.length||(B.hash=l8(F),mP(B,A.slice(9),mO)),B}(A)}return mZ.throwError(`unsupported transaction type: ${A[0]}`,q4.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:A[0]})}let mH=new q4("wordlists/5.7.0");class mX{constructor(F){mH.checkAbstract(new.target,mX),lg(this,"locale",F)}split(F){return F.toLowerCase().split(/ +/g)}join(F){return F.join(" ")}static check(F){let A=[];for(let t=0;t<2048;t++){let e=F.getWord(t);if(t!==F.getWordIndex(e))return"0x";A.push(e)}return us(A.join("\n")+"\n")}static register(F,A){A||(A=F.locale)}}let m_=null;function m$(F){if(null==m_&&(m_="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==mX.check(F)))throw m_=null,Error("BIP39 Wordlist for en (English) FAILED")}let m2=new class extends mX{constructor(){super("en")}getWord(F){return m$(this),m_[F]}getWordIndex(F){return m$(this),m_.indexOf(F)}};mX.register(m2);let m1={en:m2},m0=new q4("hdnode/5.7.0"),m5=lz.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),m3=cZ("Bitcoin seed");function m8(F){return(1<=256)throw Error("Depth too large!");return m7(ls([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",lV(this.depth),this.parentFingerprint,lm(lV(this.index),4),this.chainCode,null!=this.privateKey?ls(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new MA(m9,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(F){if(F>4294967295)throw Error("invalid index - "+String(F));let A=this.path;A&&(A+="/"+(2147483647&F));let t=new Uint8Array(37);if(2147483648&F){if(!this.privateKey)throw Error("cannot derive child of neutered node");t.set(li(this.privateKey),1),A&&(A+="'")}else t.set(li(this.publicKey));for(let A=24;A>=0;A-=8)t[33+(A>>3)]=F>>24-A&255;let e=li(u6(AD.sha512,this.chainCode,t)),B=e.slice(0,32),i=e.slice(32),s=null,n=null;this.privateKey?s=m6(lz.from(B).add(this.privateKey).mod(m5)):n=new mk(lV(B))._addPoint(this.publicKey);let r=A,o=this.mnemonic;return o&&(r=Object.freeze({phrase:o.phrase,path:A,locale:o.locale||"en"})),new MA(m9,s,n,this.fingerprint,m6(i),F,this.depth+1,r)}derivePath(F){let A=F.split("/");if(0===A.length||"m"===A[0]&&0!==this.depth)throw Error("invalid path - "+F);"m"===A[0]&&A.shift();let t=this;for(let F=0;F=2147483648)throw Error("invalid path index - "+e);t=t._derive(2147483648+F)}else if(e.match(/^[0-9]+$/)){let F=parseInt(e);if(F>=2147483648)throw Error("invalid path index - "+e);t=t._derive(F)}else throw Error("invalid path component - "+e)}return t}static _fromSeed(F,A){let t=li(F);if(t.length<16||t.length>64)throw Error("invalid seed");let e=li(u6(AD.sha512,m3,t));return new MA(m9,m6(e.slice(0,32)),null,"0x00000000",m6(e.slice(32)),0,0,A)}static fromMnemonic(F,A,t){return t=m4(t),F=MB(Me(F,t),t),MA._fromSeed(Mt(F,A),{phrase:F,path:"m",locale:t.locale})}static fromSeed(F){return MA._fromSeed(F,null)}static fromExtendedKey(F){let A=uI.decode(F);(82!==A.length||m7(A.slice(0,78))!==F)&&m0.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");let t=A[4],e=lV(A.slice(5,9)),B=parseInt(lV(A.slice(9,13)).substring(2),16),i=lV(A.slice(13,45)),s=A.slice(45,78);switch(lV(A.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new MA(m9,null,lV(s),e,i,B,t,null);case"0x0488ade4":case"0x04358394 ":if(0!==s[0])break;return new MA(m9,lV(s.slice(1)),null,e,i,B,t,null)}return m0.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function Mt(F,A){A||(A="");let t=cZ("mnemonic"+A,Ak.NFKD);return function(F,A,t,e,B){let i,s,n;F=li(F),A=li(A);let r=1,o=new Uint8Array(64),a=new Uint8Array(A.length+4);a.set(A);for(let t=1;t<=r;t++){a[A.length]=t>>24&255,a[A.length+1]=t>>16&255,a[A.length+2]=t>>8&255,a[A.length+3]=255&t;let e=li(u6(B,F,a));i||(n=new Uint8Array(i=e.length),s=64-((r=Math.ceil(64/i))-1)*i),n.set(e);for(let A=1;A<2048;A++){e=li(u6(B,F,e));for(let F=0;F>3]|=1<<7-B%8),B++}let i=32*t.length/3,s=m8(t.length/3);if((li(u3(e.slice(0,i/8)))[0]&s)!=(e[e.length-1]&s))throw Error("invalid checksum");return lV(e.slice(0,i/8))}function MB(F,A){if(A=m4(A),(F=li(F)).length%4!=0||F.length<16||F.length>32)throw Error("invalid entropy");let t=[0],e=11;for(let A=0;A8?(t[t.length-1]<<=8,t[t.length-1]|=F[A],e-=8):(t[t.length-1]<<=e,t[t.length-1]|=F[A]>>8-e,t.push(F[A]&(1<<8-e)-1),e+=3);let B=F.length/4,i=li(u3(F))[0]&m8(B);return t[t.length-1]<<=B,t[t.length-1]|=i>>8-B,A.join(t.map(F=>A.getWord(F)))}function Mi(F,A){try{return Me(F,A),!0}catch(F){}return!1}function Ms(F){return("number"!=typeof F||F<0||F>=2147483648||F%1)&&m0.throwArgumentError("invalid account index","index",F),`m/44'/60'/${F}'/0/0`}function Mn(F){if(function(F){let A=null;try{A=JSON.parse(F)}catch(F){return!1}return A.encseed&&A.ethaddr}(F))try{return co(JSON.parse(F).ethaddr)}catch(F){return null}if(function(F){let A=null;try{A=JSON.parse(F)}catch(F){return!1}return!!A.version&&parseInt(A.version)===A.version&&3===parseInt(A.version)}(F))try{return co(JSON.parse(F).address)}catch(F){}return null}let Mr=RegExp("^bytes([0-9]+)$"),Mo=RegExp("^(u?int)([0-9]*)$"),Ma=RegExp("^(.*)\\[([0-9]*)\\]$"),MV=new q4("solidity/5.7.0");function Mh(F,A){F.length!=A.length&&MV.throwArgumentError("wrong number of values; expected ${ types.length }","values",A);let t=[];return F.forEach(function(F,e){t.push(function F(A,t,e){switch(A){case"address":if(e)return lr(t,32);return li(t);case"string":return cZ(t);case"bytes":return li(t);case"bool":if(t=t?"0x01":"0x00",e)return lr(t,32);return li(t)}let B=A.match(Mo);if(B){let F=parseInt(B[2]||"256");return(B[2]&&String(F)!==B[2]||F%8!=0||0===F||F>256)&&MV.throwArgumentError("invalid number type","type",A),e&&(F=256),lr(t=lz.from(t).toTwos(F),F/8)}if(B=A.match(Mr)){let F=parseInt(B[1]);return((String(F)!==B[1]||0===F||F>32)&&MV.throwArgumentError("invalid bytes type","type",A),li(t).byteLength!==F&&MV.throwArgumentError(`invalid value for ${A}`,"value",t),e)?li((t+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):t}if((B=A.match(Ma))&&Array.isArray(t)){let e=B[1];parseInt(B[2]||String(t.length))!=t.length&&MV.throwArgumentError(`invalid array length for ${A}`,"value",t);let i=[];return t.forEach(function(A){i.push(F(e,A,!0))}),ls(i)}return MV.throwArgumentError("invalid type","type",A)}(F,A[e]))}),lV(ls(t))}function Mq(F,A){return l8(Mh(F,A))}function Ml(F,A){return u3(Mh(F,A))}let Mc=new q4("random/5.7.0"),Mu=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==AR)return AR;throw Error("unable to locate global object")}(),Mm=Mu.crypto||Mu.msCrypto;function MM(F){(F<=0||F>1024||F%1||F!=F)&&Mc.throwArgumentError("invalid length","length",F);let A=new Uint8Array(F);return Mm.getRandomValues(A),li(A)}function MI(F){F=F.slice();for(let A=F.length-1;A>0;A--){let t=Math.floor(Math.random()*(A+1)),e=F[A];F[A]=F[t],F[t]=e}return F}function Mp(F){let A=cZ(F);if(A.length>31)throw Error("bytes32 string must be less than 32 bytes");return lV(ls([A,"0x0000000000000000000000000000000000000000000000000000000000000000"]).slice(0,32))}function Mg(F){let A=li(F);if(32!==A.length)throw Error("invalid bytes32 - not 32 bytes long");if(0!==A[31])throw Error("invalid bytes32 string - no null terminator");let t=31;for(;0===A[t-1];)t--;return cL(A.slice(0,t))}function ME(F,A){A||(A=function(F){return[parseInt(F,16)]});let t=0,e={};return F.split(",").forEach(F=>{let B=F.split(":");e[t+=parseInt(B[0],16)]=A(B[1])}),e}function MC(F){let A=0;return F.split(",").map(F=>{let t=F.split("-");return 1===t.length?t[1]="0":""===t[1]&&(t[1]="1"),{l:A+parseInt(t[0],16),h:A=parseInt(t[1],16)}})}function Md(F,A){let t=0;for(let e=0;e=(t+=B.l)&&F<=t+B.h&&(F-t)%(B.d||1)==0){if(B.e&&-1!==B.e.indexOf(F-t))continue;return B}}return null}Mm&&Mm.getRandomValues||(Mc.warn("WARNING: Missing strong random number source"),Mm={getRandomValues:function(F){return Mc.throwError("no secure random source avaialble",q4.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});let My=MC("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),MS="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(F=>parseInt(F,16)),MQ=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Mw=ME("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),MU=ME("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),Mf=ME("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",function(F){if(F.length%4!=0)throw Error("bad data");let A=[];for(let t=0;tMS.indexOf(F)>=0||F>=65024&&F<=65039?[]:function(F){let A=Md(F,MQ);if(A)return[F+A.s];let t=Mw[F];if(t)return t;let e=MU[F];return e?[F+e[0]]:Mf[F]||null}(F)||[F]).reduce((F,A)=>(A.forEach(A=>{F.push(A)}),F),[])),Ak.NFKC)).forEach(F=>{if(Md(F,Mk))throw Error("STRINGPREP_CONTAINS_PROHIBITED")}),A.forEach(F=>{if(Md(F,My))throw Error("STRINGPREP_CONTAINS_UNASSIGNED")});let t=cG(A);if("-"===t.substring(0,1)||"--"===t.substring(2,4)||"-"===t.substring(t.length-1))throw Error("invalid hyphen");return t}let MD=new q4(lk),MZ={},MR=lz.from(0),Mz=lz.from(-1);function MG(F,A,t,e){let B={fault:A,operation:t};return void 0!==e&&(B.value=e),MD.throwError(F,q4.errors.NUMERIC_FAULT,B)}let ML="0";for(;ML.length<256;)ML+=ML;function MY(F){if("number"!=typeof F)try{F=lz.from(F).toNumber()}catch(F){}return"number"==typeof F&&F>=0&&F<=256&&!(F%1)?"1"+ML.substring(0,F):MD.throwArgumentError("invalid decimal size","decimals",F)}function Mv(F,A){null==A&&(A=0);let t=MY(A),e=(F=lz.from(F)).lt(MR);e&&(F=F.mul(Mz));let B=F.mod(t).toString();for(;B.length2&&MD.throwArgumentError("too many decimal points","value",F);let i=B[0],s=B[1];for(i||(i="0"),s||(s="0");"0"===s[s.length-1];)s=s.substring(0,s.length-1);for(s.length>t.length-1&&MG("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.lengthnull==F[A]?e:(typeof F[A]!==t&&MD.throwArgumentError("invalid fixed format ("+A+" not "+t+")","format."+A,F[A]),F[A]);A=B("signed","boolean",A),t=B("width","number",t),e=B("decimals","number",e)}return t%8&&MD.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",t),e>80&&MD.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",e),new MN(MZ,A,t,e)}}class Mx{constructor(F,A,t,e){F!==MZ&&MD.throwError("cannot use FixedNumber constructor; use FixedNumber.from",q4.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=e,this._hex=A,this._value=t,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(F){this.format.name!==F.format.name&&MD.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",F)}addUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.add(t),this.format.decimals,this.format)}subUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.sub(t),this.format.decimals,this.format)}mulUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.mul(t).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.mul(this.format._multiplier).div(t),this.format.decimals,this.format)}floor(){let F=this.toString().split(".");1===F.length&&F.push("0");let A=Mx.from(F[0],this.format),t=!F[1].match(/^(0*)$/);return this.isNegative()&&t&&(A=A.subUnsafe(MJ.toFormat(A.format))),A}ceiling(){let F=this.toString().split(".");1===F.length&&F.push("0");let A=Mx.from(F[0],this.format),t=!F[1].match(/^(0*)$/);return!this.isNegative()&&t&&(A=A.addUnsafe(MJ.toFormat(A.format))),A}round(F){null==F&&(F=0);let A=this.toString().split(".");if(1===A.length&&A.push("0"),(F<0||F>80||F%1)&&MD.throwArgumentError("invalid decimal count","decimals",F),A[1].length<=F)return this;let t=Mx.from("1"+ML.substring(0,F),this.format),e=MO.toFormat(this.format);return this.mulUnsafe(t).addUnsafe(e).floor().divUnsafe(t)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(F){return null==F?this._hex:(F%8&&MD.throwArgumentError("invalid byte width","width",F),lm(lz.from(this._hex).fromTwos(this.format.width).toTwos(F).toHexString(),F/8))}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(F){return Mx.fromString(this._value,F)}static fromValue(F,A,t){var e;return null!=t||null==A||null!=(e=A)&&(lz.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&e.match(/^-?[0-9]+$/)||lo(e)||"bigint"==typeof e||lB(e))||(t=A,A=null),null==A&&(A=0),null==t&&(t="fixed"),Mx.fromString(Mv(F,A),MN.from(t))}static fromString(F,A){null==A&&(A="fixed");let t=MN.from(A),e=MK(F,t.decimals);!t.signed&&e.lt(MR)&&MG("unsigned value cannot be negative","overflow","value",F);let B=null;return new Mx(MZ,t.signed?e.toTwos(t.width).toHexString():lm(e.toHexString(),t.width/8),Mv(e,t.decimals),t)}static fromBytes(F,A){null==A&&(A="fixed");let t=MN.from(A);if(li(F).length>t.width/8)throw Error("overflow");let e=lz.from(F);return t.signed&&(e=e.fromTwos(t.width)),new Mx(MZ,e.toTwos((t.signed?0:1)+t.width).toHexString(),Mv(e,t.decimals),t)}static from(F,A){if("string"==typeof F)return Mx.fromString(F,A);if(lB(F))return Mx.fromBytes(F,A);try{return Mx.fromValue(F,0,A)}catch(F){if(F.code!==q4.errors.INVALID_ARGUMENT)throw F}return MD.throwArgumentError("invalid FixedNumber value","value",F)}static isFixedNumber(F){return!!(F&&F._isFixedNumber)}}let MJ=Mx.from(1),MO=Mx.from("0.5"),Mj=new q4("units/5.7.0"),Mb=["wei","kwei","mwei","gwei","szabo","finney","ether"];function MP(F){let A=String(F).split(".");(A.length>2||!A[0].match(/^-?[0-9]*$/)||A[1]&&!A[1].match(/^[0-9]*$/)||"."===F||"-."===F)&&Mj.throwArgumentError("invalid value","value",F);let t=A[0],e="";for("-"===t.substring(0,1)&&(e="-",t=t.substring(1));"0"===t.substring(0,1);)t=t.substring(1);""===t&&(t="0");let B="";for(2===A.length&&(B="."+(A[1]||"0"));B.length>2&&"0"===B[B.length-1];)B=B.substring(0,B.length-1);let i=[];for(;t.length;)if(t.length<=3){i.unshift(t);break}else{let F=t.length-3;i.unshift(t.substring(F)),t=t.substring(0,F)}return e+i.join(",")+B}function MW(F,A){if("string"==typeof A){let F=Mb.indexOf(A);-1!==F&&(A=3*F)}return Mv(F,null!=A?A:18)}function MH(F,A){if("string"!=typeof F&&Mj.throwArgumentError("value must be a string","value",F),"string"==typeof A){let F=Mb.indexOf(A);-1!==F&&(A=3*F)}return MK(F,null!=A?A:18)}function MX(F){return MW(F,18)}function M_(F){return MH(F,18)}new q4("abstract-provider/5.7.0"),new q4("abstract-signer/5.7.0"),q4.errors.INSUFFICIENT_FUNDS,q4.errors.NONCE_EXPIRED,q4.errors.REPLACEMENT_UNDERPRICED;!function(F){function A(F){return parseInt(F)===F}function t(F){if(!A(F.length))return!1;for(var t=0;t255)return!1;return!0}function e(F,e){if(F.buffer&&ArrayBuffer.isView(F)&&"Uint8Array"===F.name)return e&&(F=F.slice?F.slice():Array.prototype.slice.call(F)),F;if(Array.isArray(F)){if(!t(F))throw Error("Array contains invalid value: "+F);return new Uint8Array(F)}if(A(F.length)&&t(F))return new Uint8Array(F);throw Error("unsupported array-like object")}function B(F){return new Uint8Array(F)}function i(F,A,t,e,B){(null!=e||null!=B)&&(F=F.slice?F.slice(e,B):Array.prototype.slice.call(F,e,B)),A.set(F,t)}s="0123456789abcdef";var s,n={16:10,24:12,32:14},r=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],o=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],a=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],V=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],h=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],q=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],l=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],c=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],u=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],m=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],M=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],I=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],p=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],g=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],E=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function C(F){for(var A=[],t=0;t>2,this._Ke[i][A%4]=B[A],this._Kd[F-i][A%4]=B[A];for(var i,s,a=0,V=e;V>16&255]<<24^o[s>>8&255]<<16^o[255&s]<<8^o[s>>24&255]^r[a]<<24,a+=1,8!=e)for(var A=1;A>8&255]<<8^o[s>>16&255]<<16^o[s>>24&255]<<24;for(var A=e/2+1;A>2,q=V%4,this._Ke[h][q]=B[A],this._Kd[F-h][q]=B[A++],V++}for(var h=1;h>24&255]^p[s>>16&255]^g[s>>8&255]^E[255&s]},d.prototype.encrypt=function(F){if(16!=F.length)throw Error("invalid plaintext size (must be 16 bytes)");for(var A=this._Ke.length-1,t=[0,0,0,0],e=C(F),i=0;i<4;i++)e[i]^=this._Ke[0][i];for(var s=1;s>24&255]^h[e[(i+1)%4]>>16&255]^q[e[(i+2)%4]>>8&255]^l[255&e[(i+3)%4]]^this._Ke[s][i];e=t.slice()}for(var n,r=B(16),i=0;i<4;i++)n=this._Ke[A][i],r[4*i]=(o[e[i]>>24&255]^n>>24)&255,r[4*i+1]=(o[e[(i+1)%4]>>16&255]^n>>16)&255,r[4*i+2]=(o[e[(i+2)%4]>>8&255]^n>>8)&255,r[4*i+3]=(o[255&e[(i+3)%4]]^n)&255;return r},d.prototype.decrypt=function(F){if(16!=F.length)throw Error("invalid ciphertext size (must be 16 bytes)");for(var A=this._Kd.length-1,t=[0,0,0,0],e=C(F),i=0;i<4;i++)e[i]^=this._Kd[0][i];for(var s=1;s>24&255]^u[e[(i+3)%4]>>16&255]^m[e[(i+2)%4]>>8&255]^M[255&e[(i+1)%4]]^this._Kd[s][i];e=t.slice()}for(var n,r=B(16),i=0;i<4;i++)n=this._Kd[A][i],r[4*i]=(a[e[i]>>24&255]^n>>24)&255,r[4*i+1]=(a[e[(i+3)%4]>>16&255]^n>>16)&255,r[4*i+2]=(a[e[(i+2)%4]>>8&255]^n>>8)&255,r[4*i+3]=(a[255&e[(i+1)%4]]^n)&255;return r};var y=function(F){if(!(this instanceof y))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new d(F)};y.prototype.encrypt=function(F){if((F=e(F)).length%16!=0)throw Error("invalid plaintext size (must be multiple of 16 bytes)");for(var A=B(F.length),t=B(16),s=0;s=0;--A)this._counter[A]=F%256,F>>=8},U.prototype.setBytes=function(F){if(16!=(F=e(F,!0)).length)throw Error("invalid counter bytes size (must be 16 bytes)");this._counter=F},U.prototype.increment=function(){for(var F=15;F>=0;F--)if(255===this._counter[F])this._counter[F]=0;else{this._counter[F]++;break}};var f=function(F,A){if(!(this instanceof f))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",A instanceof U||(A=new U(A)),this._counter=A,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new d(F)};f.prototype.encrypt=function(F){for(var A=e(F,!0),t=0;t=64;){let q=t,l=e,c=B,u=i,m=s,M=n,I=r,p=o,g,E,C,d,y;for(E=0;E<16;E++)C=V+4*E,a[E]=(255&F[C])<<24|(255&F[C+1])<<16|(255&F[C+2])<<8|255&F[C+3];for(E=16;E<64;E++)d=((g=a[E-2])>>>17|g<<15)^(g>>>19|g<<13)^g>>>10,y=((g=a[E-15])>>>7|g<<25)^(g>>>18|g<<14)^g>>>3,a[E]=(d+a[E-7]|0)+(y+a[E-16]|0)|0;for(E=0;E<64;E++)d=(((m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&M^~m&I)|0)+(p+(A[E]+a[E]|0)|0)|0,y=((q>>>2|q<<30)^(q>>>13|q<<19)^(q>>>22|q<<10))+(q&l^q&c^l&c)|0,p=I,I=M,M=m,m=u+d|0,u=c,c=l,l=q,q=d+y|0;t=t+q|0,e=e+l|0,B=B+c|0,i=i+u|0,s=s+m|0,n=n+M|0,r=r+I|0,o=o+p|0,V+=64,h-=64}}V(F);let h,q=F.length%64,l=F.length/536870912|0,c=F.length<<3,u=q<56?56:120,m=F.slice(F.length-q,F.length);for(m.push(128),h=q+1;h>>24&255),m.push(l>>>16&255),m.push(l>>>8&255),m.push(l>>>0&255),m.push(c>>>24&255),m.push(c>>>16&255),m.push(c>>>8&255),m.push(c>>>0&255),V(m),[t>>>24&255,t>>>16&255,t>>>8&255,t>>>0&255,e>>>24&255,e>>>16&255,e>>>8&255,e>>>0&255,B>>>24&255,B>>>16&255,B>>>8&255,B>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255]}function t(F,t,e){let B;F=F.length<=64?F:A(F);let i=64+t.length+4,s=Array(i),n=Array(64),r=[];for(B=0;B<64;B++)s[B]=54;for(B=0;B=i-4;F--){if(s[F]++,s[F]<=255)return;s[F]=0}}for(;e>=32;)o(),r=r.concat(A(n.concat(A(s)))),e-=32;return e>0&&(o(),r=r.concat(A(n.concat(A(s))).slice(0,e))),r}function e(F,A,t,e,n){let r;for(s(F,(2*t-1)*16,n,0,16),r=0;r<2*t;r++)i(F,16*r,n,16),function(F,A){s(F,0,A,0,16);for(let F=8;F>0;F-=2)A[4]^=B(A[0]+A[12],7),A[8]^=B(A[4]+A[0],9),A[12]^=B(A[8]+A[4],13),A[0]^=B(A[12]+A[8],18),A[9]^=B(A[5]+A[1],7),A[13]^=B(A[9]+A[5],9),A[1]^=B(A[13]+A[9],13),A[5]^=B(A[1]+A[13],18),A[14]^=B(A[10]+A[6],7),A[2]^=B(A[14]+A[10],9),A[6]^=B(A[2]+A[14],13),A[10]^=B(A[6]+A[2],18),A[3]^=B(A[15]+A[11],7),A[7]^=B(A[3]+A[15],9),A[11]^=B(A[7]+A[3],13),A[15]^=B(A[11]+A[7],18),A[1]^=B(A[0]+A[3],7),A[2]^=B(A[1]+A[0],9),A[3]^=B(A[2]+A[1],13),A[0]^=B(A[3]+A[2],18),A[6]^=B(A[5]+A[4],7),A[7]^=B(A[6]+A[5],9),A[4]^=B(A[7]+A[6],13),A[5]^=B(A[4]+A[7],18),A[11]^=B(A[10]+A[9],7),A[8]^=B(A[11]+A[10],9),A[9]^=B(A[8]+A[11],13),A[10]^=B(A[9]+A[8],18),A[12]^=B(A[15]+A[14],7),A[13]^=B(A[12]+A[15],9),A[14]^=B(A[13]+A[12],13),A[15]^=B(A[14]+A[13],18);for(let t=0;t<16;++t)F[t]+=A[t]}(n,e),s(n,0,F,A+16*r,16);for(r=0;r>>32-A}function i(F,A,t,e){for(let B=0;B=256)return!1}return!0}function r(F,A){if("number"!=typeof F||F%1)throw Error("invalid "+A);return F}function o(F,A,B,o,a,V,h){let q;if(B=r(B,"N"),o=r(o,"r"),a=r(a,"p"),V=r(V,"dkLen"),0===B||(B&B-1)!=0)throw Error("N must be power of 2");if(B>2147483647/128/o)throw Error("N too large");if(o>2147483647/128/a)throw Error("r too large");if(!n(F))throw Error("password must be an array or buffer");if(F=Array.prototype.slice.call(F),!n(A))throw Error("salt must be an array or buffer");A=Array.prototype.slice.call(A);let l=t(F,A,128*a*o),c=new Uint32Array(32*a*o);for(let F=0;Fw&&(A=w);for(let F=0;Fw&&(A=w);for(let F=0;F>0&255),l.push(c[F]>>8&255),l.push(c[F]>>16&255),l.push(c[F]>>24&255);let n=t(F,l,V);return h&&h(null,1,n),n}h&&U(f)};if(!h)for(;;){let F=f();if(void 0!=F)return F}f()}let a={scrypt:function(F,A,t,e,B,i,s){return new Promise(function(n,r){let a=0;s&&s(0),o(F,A,t,e,B,i,function(F,A,t){if(F)r(F);else if(t)s&&1!==a&&s(1),n(new Uint8Array(t));else if(s&&A!==a)return a=A,s(A)})})},syncScrypt:function(F,A,t,e,B,i){return new Uint8Array(o(F,A,t,e,B,i))}};void 0!==M2?M2=a:"function"==typeof define&&define.amd?define(a):F&&(F.scrypt&&(F._scrypt=F.scrypt),F.scrypt=a)}(M2),new q4(M$),new q4("wallet/5.7.0");let M5=new q4("web/5.7.1");function M3(F){return new Promise(A=>{setTimeout(A,F)})}function M8(F,A){if(null==F)return null;if("string"==typeof F)return F;if(lt(F)){if(A&&("text"===A.split("/")[0]||"application/json"===A.split(";")[0].trim()))try{return cL(F)}catch(F){}return lV(F)}return F}function M6(F,A,t){let e;let B="object"==typeof F&&null!=F.throttleLimit?F.throttleLimit:12;M5.assertArgument(B>0&&B%1==0,"invalid connection throttle limit","connection.throttleLimit",B);let i="object"==typeof F?F.throttleCallback:null,s="object"==typeof F&&"number"==typeof F.throttleSlotInterval?F.throttleSlotInterval:100;M5.assertArgument(s>0&&s%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",s);let n="object"==typeof F&&!!F.errorPassThrough,r={},o=null,a={method:"GET"},V=!1,h=12e4;if("string"==typeof F)o=F;else if("object"==typeof F){if((null==F||null==F.url)&&M5.throwArgumentError("missing URL","connection.url",F),o=F.url,"number"==typeof F.timeout&&F.timeout>0&&(h=F.timeout),F.headers)for(let A in F.headers)r[A.toLowerCase()]={key:A,value:String(F.headers[A])},["if-none-match","if-modified-since"].indexOf(A.toLowerCase())>=0&&(V=!0);if(a.allowGzip=!!F.allowGzip,null!=F.user&&null!=F.password){"https:"!==o.substring(0,6)&&!0!==F.allowInsecureAuthentication&&M5.throwError("basic authentication requires a secure https url",q4.errors.INVALID_ARGUMENT,{argument:"url",url:o,user:F.user,password:"[REDACTED]"});let A=F.user+":"+F.password;r.authorization={key:"Authorization",value:"Basic "+um(cZ(A))}}null!=F.skipFetchSetup&&(a.skipFetchSetup=!!F.skipFetchSetup),null!=F.fetchOptions&&(a.fetchOptions=ly(F.fetchOptions))}let q=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),l=o?o.match(q):null;if(l)try{var c;let F={statusCode:200,statusMessage:"OK",headers:{"content-type":l[1]||"text/plain"},body:l[2]?uu(l[3]):(c=l[3],cZ(c.replace(/%([0-9a-f][0-9a-f])/gi,(F,A)=>String.fromCharCode(parseInt(A,16)))))},A=F.body;return t&&(A=t(F.body,F)),Promise.resolve(A)}catch(F){M5.throwError("processing response error",q4.errors.SERVER_ERROR,{body:M8(l[1],l[2]),error:F,requestBody:null,requestMethod:"GET",url:o})}A&&(a.method="POST",a.body=A,null==r["content-type"]&&(r["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==r["content-length"]&&(r["content-length"]={key:"Content-Length",value:String(A.length)}));let u={};Object.keys(r).forEach(F=>{let A=r[F];u[A.key]=A.value}),a.headers=u;let m=(e=null,{promise:new Promise(function(F,A){h&&(e=setTimeout(()=>{null!=e&&(e=null,A(M5.makeError("timeout",q4.errors.TIMEOUT,{requestBody:M8(a.body,u["content-type"]),requestMethod:a.method,timeout:h,url:o})))},h))}),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}),M=function(){var F,A,e,r;return F=this,A=void 0,e=void 0,r=function*(){for(let F=0;F{i[A.toLowerCase()]=F}):e.headers.keys().forEach(F=>{i[F.toLowerCase()]=e.headers.get(F)}),{headers:i,statusCode:e.status,statusMessage:e.statusText,body:li(new Uint8Array(B))}},new(B||(B=Promise))(function(F,A){function s(F){try{r(i.next(F))}catch(F){A(F)}}function n(F){try{r(i.throw(F))}catch(F){A(F)}}function r(A){var t;A.done?F(A.value):((t=A.value)instanceof B?t:new B(function(F){F(t)})).then(s,n)}r((i=i.apply(t,e||[])).next())})}(o,a),F=300)&&(m.cancel(),M5.throwError("bad response",q4.errors.SERVER_ERROR,{status:A.statusCode,headers:A.headers,body:M8(e,A.headers?A.headers["content-type"]:null),requestBody:M8(a.body,u["content-type"]),requestMethod:a.method,url:o})),t)try{let F=yield t(e,A);return m.cancel(),F}catch(t){if(t.throttleRetry&&F"content-type"===F.toLowerCase()).length||(t.headers=ly(t.headers),t.headers["content-type"]="application/json"):t.headers={"content-type":"application/json"},F=t}return M6(F,e,(F,A)=>{let e=null;if(null!=F)try{e=JSON.parse(cL(F))}catch(A){M5.throwError("invalid JSON",q4.errors.SERVER_ERROR,{body:F,error:A})}return t&&(e=t(e,A)),e})}function M4(F,A){return A||(A={}),null==(A=ly(A)).floor&&(A.floor=0),null==A.ceiling&&(A.ceiling=1e4),null==A.interval&&(A.interval=250),new Promise(function(t,e){let B=null,i=!1,s=()=>!i&&(i=!0,B&&clearTimeout(B),!0);A.timeout&&(B=setTimeout(()=>{s()&&e(Error("timeout"))},A.timeout));let n=A.retryLimit,r=0;!function B(){return F().then(function(F){if(void 0!==F)s()&&t(F);else if(A.oncePoll)A.oncePoll.once("poll",B);else if(A.onceBlock)A.onceBlock.once("block",B);else if(!i){if(++r>n){s()&&e(Error("retry limit reached"));return}let F=A.interval*parseInt(String(Math.random()*Math.pow(2,r)));FA.ceiling&&(F=A.ceiling),setTimeout(B,F)}return null},function(F){s()&&e(F)})}()})}let M9={drawButton({text:F,x:A,y:t,textSize:e=48,height:B,width:i,onClick:s,fg:n="black",bg:r="white",stroke:o,fgHover:a="rgba(160, 67, 232, 0.25)",p:V=this.p,disabled:h=!1,key:q=`${F}-${A}-${t}-${B}-${i}`}){let l=this.buttons[q];l||(this.buttons[q]={x:A,y:t,height:B,width:i,onClick:s.bind(this)},l=this.buttons[q]),l.visible=!0,l.disabled=h,l.lastVisibleFrame!==this.p5Frames-1&&(l.visibleForFrames=0),l.visibleForFrames++,l.lastVisibleFrame=this.p5Frames;let c=Math.min(1,l.visibleForFrames/(.4*this.P5_FPS)),u=c<1,m=i*c,M=B*c;V.push(),V.noStroke(),V.strokeWeight(l.active?1:3),V.textSize(e*c),V.fill(l.disabled?hw(r,.4):r),o&&V.stroke(o),V.rect(A+i/2-m/2,t+B/2-M/2,m,M,B/2),V.noStroke(),c>=.3&&hk.dot&&(V.textFont(hk.dot),V.fill(l.disabled?hw(n,.4):n),V.textAlign(V.CENTER,V.CENTER),V.text(F,A+i/2+.13*e,t+B/2+.05*e)),u||l.disabled||!l.hover||(V.fill(a),V.rect(A,t,i,B,B/2)),u||l.disabled||!l.active||(V.fill(hw(r,.3)),V.rect(A,t,i,B,B/2)),V.pop()},drawFatButton(F){let{bottom:A}=F;this.drawButton({height:96,textSize:48,width:275,y:this.windowHeight-96-(A||80),x:this.windowWidth/2-137.5,...F})},drawBottomButton(F){let{columns:A,column:t}=F,e=(this.windowWidth-48-(A-1)*6)/A;this.drawButton({height:84,textSize:44,width:e,y:this.windowHeight-24-84,x:24+t*(e+6),...F})}},IF=[30,10,20,30,40,50],IA={2:250,3:250,4:250,5:125,6:125};function It(F,A,t){return A>F.x&&AF.y&&tMath.floor(Date.now()/1e3)-Math.floor(Date.now()/1e3)%86400;class Ii extends Av{constructor(F,A={}){super(),Object.assign(this,qP),Object.assign(this,qW),Object.assign(this,M9),this.setOptions(A),this.p=F,this.util||hT(this.p),this.levelSpeeds=[,,,,,],this.clearValues(),this.util||this.prepareP5(),this.sound=new hq(this),this.init(),this.util||this.start()}proverTickIndex(F){return IA[F]}setOptions(F={}){Object.assign(this,{day:IB(),level:0,skip0:!1,bodyData:null,todaysRecords:{},debug:!1,startingBodies:1,windowWidth:1e3,windowHeight:1e3,pixelDensity:1,scalingFactor:10n**3n,minDistanceSquared:4e4,G:100,mode:"game",admin:!1,solved:!1,clearBG:!0,colorStyle:"!squiggle",preRun:0,alreadyRun:0,paintSteps:0,chunk:1,mute:!0,freeze:!1,test:!1,util:!1,paused:!0,globalStyle:"default",aimHelper:!1,target:"inside",faceRotation:"mania",sfx:"space",playerName:void 0,practiceMode:!1,bestTimes:null,popup:null,...F})}setPlayer(F){this.playerName=F}removeCSS(){if("undefined"==typeof document)return;let F=document.getElementById("canvas-cursor");F&&document.head.removeChild(F)}addCSS(){if("undefined"==typeof document||document.getElementById("canvas-cursor"))return;let F=document.createElement("style");F.id="canvas-cursor",F.innerHTML=`
+ */function(){var F="input is invalid type",A="object"==typeof window,t=A?window:{};t.JS_SHA3_NO_WINDOW&&(A=!1);var e=!A&&"object"==typeof self;!t.JS_SHA3_NO_NODE_JS&&"object"==typeof lb&&lb.versions&&lb.versions.node?t=AR:e&&(t=self);var B=!t.JS_SHA3_NO_COMMON_JS&&lj,i="function"==typeof define&&define.amd,s=!t.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,n="0123456789abcdef".split(""),r=[4,1024,262144,67108864],o=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],V=[224,256,384,512],h=[128,256],q=["hex","buffer","arrayBuffer","array","digest"],l={128:168,256:136};(t.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(F){return"[object Array]"===Object.prototype.toString.call(F)}),s&&(t.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(F){return"object"==typeof F&&F.buffer&&F.buffer.constructor===ArrayBuffer});for(var c=function(F,A,t){return function(e){return new f(F,A,F).update(e)[t]()}},u=function(F,A,t){return function(e,B){return new f(F,A,B).update(e)[t]()}},m=function(F,A,t){return function(A,e,B,i){return E["cshake"+F].update(A,e,B,i)[t]()}},M=function(F,A,t){return function(A,e,B,i){return E["kmac"+F].update(A,e,B,i)[t]()}},I=function(F,A,t,e){for(var B=0;B>5,this.byteCount=this.blockCount<<2,this.outputBlocks=t>>5,this.extraBytes=(31&t)>>3;for(var e=0;e<50;++e)this.s[e]=0}function k(F,A,t){f.call(this,F,A,t)}f.prototype.update=function(A){if(this.finalized)throw Error("finalize already called");var t,e=typeof A;if("string"!==e){if("object"===e){if(null===A)throw Error(F);if(s&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!Array.isArray(A)&&(!s||!ArrayBuffer.isView(A)))throw Error(F)}else throw Error(F);t=!0}for(var B,i,n=this.blocks,r=this.byteCount,a=A.length,V=this.blockCount,h=0,q=this.s;h>2]|=A[h]<>2]|=i<>2]|=(192|i>>6)<=57344?n[B>>2]|=(224|i>>12)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=r){for(this.start=B-r,this.block=n[V],B=0;B>=8,t=255&F;t>0;)B.unshift(t),F>>=8,t=255&F,++e;return A?B.push(e):B.unshift(e),this.update(B),B.length},f.prototype.encodeString=function(A){var t,e=typeof A;if("string"!==e){if("object"===e){if(null===A)throw Error(F);if(s&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!Array.isArray(A)&&(!s||!ArrayBuffer.isView(A)))throw Error(F)}else throw Error(F);t=!0}var B=0,i=A.length;if(t)B=i;else for(var n=0;n=57344?B+=3:(r=65536+((1023&r)<<10|1023&A.charCodeAt(++n)),B+=4)}return B+=this.encode(8*B),this.update(A),B},f.prototype.bytepad=function(F,A){for(var t=this.encode(A),e=0;e>2]|=this.padding[3&A],this.lastByteIndex===this.byteCount)for(A=1,F[0]=F[t];A>4&15]+n[15&F]+n[F>>12&15]+n[F>>8&15]+n[F>>20&15]+n[F>>16&15]+n[F>>28&15]+n[F>>24&15];s%A==0&&(T(t),i=0)}return B&&(r+=n[(F=t[i])>>4&15]+n[15&F],B>1&&(r+=n[F>>12&15]+n[F>>8&15]),B>2&&(r+=n[F>>20&15]+n[F>>16&15])),r},f.prototype.arrayBuffer=function(){this.finalize();for(var F,A=this.blockCount,t=this.s,e=this.outputBlocks,B=this.extraBytes,i=0,s=0,n=this.outputBits>>3,r=new Uint32Array(F=new ArrayBuffer(B?e+1<<2:n));s>8&255,r[F+2]=A>>16&255,r[F+3]=A>>24&255;n%t==0&&T(e)}return i&&(F=n<<2,A=e[s],r[F]=255&A,i>1&&(r[F+1]=A>>8&255),i>2&&(r[F+2]=A>>16&255)),r},k.prototype=new f,k.prototype.finalize=function(){return this.encode(this.outputBits,!0),f.prototype.finalize.call(this)};var T=function(F){var A,t,e,B,i,s,n,r,o,V,h,q,l,c,u,m,M,I,p,g,E,C,d,y,S,Q,w,U,f,k,T,D,Z,R,z,G,L,Y,v,K,N,x,J,O,j,b,P,W,H,X,$,FF,FA,Ft,Fe,FB,Fi,Fs,Fn,Fr,Fo,Fa,FV;for(e=0;e<48;e+=2)B=F[0]^F[10]^F[20]^F[30]^F[40],i=F[1]^F[11]^F[21]^F[31]^F[41],s=F[2]^F[12]^F[22]^F[32]^F[42],n=F[3]^F[13]^F[23]^F[33]^F[43],r=F[4]^F[14]^F[24]^F[34]^F[44],o=F[5]^F[15]^F[25]^F[35]^F[45],V=F[6]^F[16]^F[26]^F[36]^F[46],h=F[7]^F[17]^F[27]^F[37]^F[47],q=F[8]^F[18]^F[28]^F[38]^F[48],l=F[9]^F[19]^F[29]^F[39]^F[49],A=q^(s<<1|n>>>31),t=l^(n<<1|s>>>31),F[0]^=A,F[1]^=t,F[10]^=A,F[11]^=t,F[20]^=A,F[21]^=t,F[30]^=A,F[31]^=t,F[40]^=A,F[41]^=t,A=B^(r<<1|o>>>31),t=i^(o<<1|r>>>31),F[2]^=A,F[3]^=t,F[12]^=A,F[13]^=t,F[22]^=A,F[23]^=t,F[32]^=A,F[33]^=t,F[42]^=A,F[43]^=t,A=s^(V<<1|h>>>31),t=n^(h<<1|V>>>31),F[4]^=A,F[5]^=t,F[14]^=A,F[15]^=t,F[24]^=A,F[25]^=t,F[34]^=A,F[35]^=t,F[44]^=A,F[45]^=t,A=r^(q<<1|l>>>31),t=o^(l<<1|q>>>31),F[6]^=A,F[7]^=t,F[16]^=A,F[17]^=t,F[26]^=A,F[27]^=t,F[36]^=A,F[37]^=t,F[46]^=A,F[47]^=t,A=V^(B<<1|i>>>31),t=h^(i<<1|B>>>31),F[8]^=A,F[9]^=t,F[18]^=A,F[19]^=t,F[28]^=A,F[29]^=t,F[38]^=A,F[39]^=t,F[48]^=A,F[49]^=t,c=F[0],u=F[1],b=F[11]<<4|F[10]>>>28,P=F[10]<<4|F[11]>>>28,U=F[20]<<3|F[21]>>>29,f=F[21]<<3|F[20]>>>29,Fr=F[31]<<9|F[30]>>>23,Fo=F[30]<<9|F[31]>>>23,x=F[40]<<18|F[41]>>>14,J=F[41]<<18|F[40]>>>14,R=F[2]<<1|F[3]>>>31,z=F[3]<<1|F[2]>>>31,m=F[13]<<12|F[12]>>>20,M=F[12]<<12|F[13]>>>20,W=F[22]<<10|F[23]>>>22,H=F[23]<<10|F[22]>>>22,k=F[33]<<13|F[32]>>>19,T=F[32]<<13|F[33]>>>19,Fa=F[42]<<2|F[43]>>>30,FV=F[43]<<2|F[42]>>>30,Ft=F[5]<<30|F[4]>>>2,Fe=F[4]<<30|F[5]>>>2,G=F[14]<<6|F[15]>>>26,L=F[15]<<6|F[14]>>>26,I=F[25]<<11|F[24]>>>21,p=F[24]<<11|F[25]>>>21,X=F[34]<<15|F[35]>>>17,$=F[35]<<15|F[34]>>>17,D=F[45]<<29|F[44]>>>3,Z=F[44]<<29|F[45]>>>3,y=F[6]<<28|F[7]>>>4,S=F[7]<<28|F[6]>>>4,FB=F[17]<<23|F[16]>>>9,Fi=F[16]<<23|F[17]>>>9,Y=F[26]<<25|F[27]>>>7,v=F[27]<<25|F[26]>>>7,g=F[36]<<21|F[37]>>>11,E=F[37]<<21|F[36]>>>11,FF=F[47]<<24|F[46]>>>8,FA=F[46]<<24|F[47]>>>8,O=F[8]<<27|F[9]>>>5,j=F[9]<<27|F[8]>>>5,Q=F[18]<<20|F[19]>>>12,w=F[19]<<20|F[18]>>>12,Fs=F[29]<<7|F[28]>>>25,Fn=F[28]<<7|F[29]>>>25,K=F[38]<<8|F[39]>>>24,N=F[39]<<8|F[38]>>>24,C=F[48]<<14|F[49]>>>18,d=F[49]<<14|F[48]>>>18,F[0]=c^~m&I,F[1]=u^~M&p,F[10]=y^~Q&U,F[11]=S^~w&f,F[20]=R^~G&Y,F[21]=z^~L&v,F[30]=O^~b&W,F[31]=j^~P&H,F[40]=Ft^~FB&Fs,F[41]=Fe^~Fi&Fn,F[2]=m^~I&g,F[3]=M^~p&E,F[12]=Q^~U&k,F[13]=w^~f&T,F[22]=G^~Y&K,F[23]=L^~v&N,F[32]=b^~W&X,F[33]=P^~H&$,F[42]=FB^~Fs&Fr,F[43]=Fi^~Fn&Fo,F[4]=I^~g&C,F[5]=p^~E&d,F[14]=U^~k&D,F[15]=f^~T&Z,F[24]=Y^~K&x,F[25]=v^~N&J,F[34]=W^~X&FF,F[35]=H^~$&FA,F[44]=Fs^~Fr&Fa,F[45]=Fn^~Fo&FV,F[6]=g^~C&c,F[7]=E^~d&u,F[16]=k^~D&y,F[17]=T^~Z&S,F[26]=K^~x&R,F[27]=N^~J&z,F[36]=X^~FF&O,F[37]=$^~FA&j,F[46]=Fr^~Fa&Ft,F[47]=Fo^~FV&Fe,F[8]=C^~c&m,F[9]=d^~u&M,F[18]=D^~y&Q,F[19]=Z^~S&w,F[28]=x^~R&G,F[29]=J^~z&L,F[38]=FF^~O&b,F[39]=FA^~j&P,F[48]=Fa^~Ft&FB,F[49]=FV^~Fe&Fi,F[0]^=a[e],F[1]^=a[e+1]};if(B)lj=E;else{for(d=0;d>=8;return A}function l9(F,A,t){let e=0;for(let B=0;BA+1+e&&l7.throwError("child data too short",q4.errors.BUFFER_OVERRUN,{})}return{consumed:1+e,result:B}}function ct(F,A){if(0===F.length&&l7.throwError("data too short",q4.errors.BUFFER_OVERRUN,{}),F[A]>=248){let t=F[A]-247;A+1+t>F.length&&l7.throwError("data short segment too short",q4.errors.BUFFER_OVERRUN,{});let e=l9(F,A+1,t);return A+1+t+e>F.length&&l7.throwError("data long segment too short",q4.errors.BUFFER_OVERRUN,{}),cA(F,A,A+1+t,t+e)}if(F[A]>=192){let t=F[A]-192;return A+1+t>F.length&&l7.throwError("data array too short",q4.errors.BUFFER_OVERRUN,{}),cA(F,A,A+1,t)}if(F[A]>=184){let t=F[A]-183;A+1+t>F.length&&l7.throwError("data array too short",q4.errors.BUFFER_OVERRUN,{});let e=l9(F,A+1,t);A+1+t+e>F.length&&l7.throwError("data array too short",q4.errors.BUFFER_OVERRUN,{});let B=lV(F.slice(A+1+t,A+1+t+e));return{consumed:1+t+e,result:B}}if(F[A]>=128){let t=F[A]-128;A+1+t>F.length&&l7.throwError("data too short",q4.errors.BUFFER_OVERRUN,{});let e=lV(F.slice(A+1,A+1+t));return{consumed:1+t,result:e}}return{consumed:1,result:lV(F[A])}}function ce(F){let A=li(F),t=ct(A,0);return t.consumed!==A.length&&l7.throwArgumentError("invalid rlp data","data",F),t.result}let cB=new q4("address/5.7.0");function ci(F){lo(F,20)||cB.throwArgumentError("invalid address","address",F);let A=(F=F.toLowerCase()).substring(2).split(""),t=new Uint8Array(40);for(let F=0;F<40;F++)t[F]=A[F].charCodeAt(0);let e=li(l8(t));for(let F=0;F<40;F+=2)e[F>>1]>>4>=8&&(A[F]=A[F].toUpperCase()),(15&e[F>>1])>=8&&(A[F+1]=A[F+1].toUpperCase());return"0x"+A.join("")}let cs={};for(let F=0;F<10;F++)cs[String(F)]=String(F);for(let F=0;F<26;F++)cs[String.fromCharCode(65+F)]=String(10+F);let cn=Math.floor(Math.log10?Math.log10(9007199254740991):Math.log(9007199254740991)/Math.LN10);function cr(F){let A=(F=(F=F.toUpperCase()).substring(4)+F.substring(0,2)+"00").split("").map(F=>cs[F]).join("");for(;A.length>=cn;){let F=A.substring(0,cn);A=parseInt(F,10)%97+A.substring(F.length)}let t=String(98-parseInt(A,10)%97);for(;t.length<2;)t="0"+t;return t}function co(F){let A=null;if("string"!=typeof F&&cB.throwArgumentError("invalid address","address",F),F.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==F.substring(0,2)&&(F="0x"+F),A=ci(F),F.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&A!==F&&cB.throwArgumentError("bad address checksum","address",F);else if(F.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(F.substring(2,4)!==cr(F)&&cB.throwArgumentError("bad icap checksum","address",F),A=new lT(F.substring(4),36).toString(16);A.length<40;)A="0"+A;A=ci("0x"+A)}else cB.throwArgumentError("invalid address","address",F);return A}function ca(F){try{return co(F),!0}catch(F){}return!1}function cV(F){let A=new lT(co(F).substring(2),16).toString(36).toUpperCase();for(;A.length<30;)A="0"+A;return"XE"+cr("XE00"+A)+A}function ch(F){let A=null;try{A=co(F.from)}catch(A){cB.throwArgumentError("missing from address","transaction",F)}return co(lq(l8(cF([A,ln(li(lz.from(F.nonce).toHexString()))])),12))}function cq(F,A,t){return 32!==lh(A)&&cB.throwArgumentError("salt must be 32 bytes","salt",A),32!==lh(t)&&cB.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",t),co(lq(l8(ls(["0xff",co(F),A,t])),12))}class cl extends lx{constructor(F){super("address","address",F,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(F,A){try{A=co(A)}catch(F){this._throwError(F.message,A)}return F.writeValue(A)}decode(F){return co(lm(F.readValue().toHexString(),20))}}class cc extends lx{constructor(F){super(F.name,F.type,void 0,F.dynamic),this.coder=F}defaultValue(){return this.coder.defaultValue()}encode(F,A){return this.coder.encode(F,A)}decode(F){return this.coder.decode(F)}}let cu=new q4(lU);function cm(F,A,t){let e=null;if(Array.isArray(t))e=t;else if(t&&"object"==typeof t){let F={};e=A.map(A=>{let e=A.localName;return e||cu.throwError("cannot encode object for signature with missing names",q4.errors.INVALID_ARGUMENT,{argument:"values",coder:A,value:t}),F[e]&&cu.throwError("cannot encode object for signature with duplicate names",q4.errors.INVALID_ARGUMENT,{argument:"values",coder:A,value:t}),F[e]=!0,t[e]})}else cu.throwArgumentError("invalid tuple value","tuple",t);A.length!==e.length&&cu.throwArgumentError("types/value length mismatch","tuple",t);let B=new lJ(F.wordSize),i=new lJ(F.wordSize),s=[];return A.forEach((F,A)=>{let t=e[A];if(F.dynamic){let A=i.length;F.encode(i,t);let e=B.writeUpdatableValue();s.push(F=>{e(F+A)})}else F.encode(B,t)}),s.forEach(F=>{F(B.length)}),F.appendWriter(B)+F.appendWriter(i)}function cM(F,A){let t=[],e=F.subReader(0);A.forEach(A=>{let B=null;if(A.dynamic){let t=F.readValue(),i=e.subReader(t.toNumber());try{B=A.decode(i)}catch(F){if(F.code===q4.errors.BUFFER_OVERRUN)throw F;(B=F).baseType=A.name,B.name=A.localName,B.type=A.type}}else try{B=A.decode(F)}catch(F){if(F.code===q4.errors.BUFFER_OVERRUN)throw F;(B=F).baseType=A.name,B.name=A.localName,B.type=A.type}void 0!=B&&t.push(B)});let B=A.reduce((F,A)=>{let t=A.localName;return t&&(F[t]||(F[t]=0),F[t]++),F},{});A.forEach((F,A)=>{let e=F.localName;if(!e||1!==B[e]||("length"===e&&(e="_length"),null!=t[e]))return;let i=t[A];i instanceof Error?Object.defineProperty(t,e,{enumerable:!0,get:()=>{throw i}}):t[e]=i});for(let F=0;F{throw A}})}return Object.freeze(t)}class cI extends lx{constructor(F,A,t){super("array",F.type+"["+(A>=0?A:"")+"]",t,-1===A||F.dynamic),this.coder=F,this.length=A}defaultValue(){let F=this.coder.defaultValue(),A=[];for(let t=0;tF._data.length&&cu.throwError("insufficient data length",q4.errors.BUFFER_OVERRUN,{length:F._data.length,count:A});let t=[];for(let F=0;F>6==2;e++)F++;return F}return F===AT.OVERRUN?t.length-A-1:0}(AE=Ak||(Ak={})).current="",AE.NFC="NFC",AE.NFD="NFD",AE.NFKC="NFKC",AE.NFKD="NFKD",(AC=AT||(AT={})).UNEXPECTED_CONTINUE="unexpected continuation byte",AC.BAD_PREFIX="bad codepoint prefix",AC.OVERRUN="string overrun",AC.MISSING_CONTINUE="missing continuation byte",AC.OUT_OF_RANGE="out of UTF-8 range",AC.UTF16_SURROGATE="UTF-16 surrogate",AC.OVERLONG="overlong representation";let cT=Object.freeze({error:function(F,A,t,e,B){return cf.throwArgumentError(`invalid codepoint at offset ${A}; ${F}`,"bytes",t)},ignore:ck,replace:function(F,A,t,e,B){return F===AT.OVERLONG?(e.push(B),0):(e.push(65533),ck(F,A,t,e,B))}});function cD(F,A){null==A&&(A=cT.error),F=li(F);let t=[],e=0;for(;e>7==0){t.push(B);continue}let i=null,s=null;if((224&B)==192)i=1,s=127;else if((240&B)==224)i=2,s=2047;else if((248&B)==240)i=3,s=65535;else{(192&B)==128?e+=A(AT.UNEXPECTED_CONTINUE,e-1,F,t):e+=A(AT.BAD_PREFIX,e-1,F,t);continue}if(e-1+i>=F.length){e+=A(AT.OVERRUN,e-1,F,t);continue}let n=B&(1<<8-i-1)-1;for(let B=0;B1114111){e+=A(AT.OUT_OF_RANGE,e-1-i,F,t,n);continue}if(n>=55296&&n<=57343){e+=A(AT.UTF16_SURROGATE,e-1-i,F,t,n);continue}if(n<=s){e+=A(AT.OVERLONG,e-1-i,F,t,n);continue}t.push(n)}}return t}function cZ(F,A=Ak.current){A!=Ak.current&&(cf.checkNormalize(),F=F.normalize(A));let t=[];for(let A=0;A>6|192),t.push(63&e|128);else if((64512&e)==55296){A++;let B=F.charCodeAt(A);if(A>=F.length||(64512&B)!=56320)throw Error("invalid utf-8 string");let i=65536+((1023&e)<<10)+(1023&B);t.push(i>>18|240),t.push(i>>12&63|128),t.push(i>>6&63|128),t.push(63&i|128)}else t.push(e>>12|224),t.push(e>>6&63|128),t.push(63&e|128)}return li(t)}function cR(F){let A="0000"+F.toString(16);return"\\u"+A.substring(A.length-4)}function cz(F,A){return'"'+cD(F,A).map(F=>{if(F<256){switch(F){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(F>=32&&F<127)return String.fromCharCode(F)}return F<=65535?cR(F):cR(((F-=65536)>>10&1023)+55296)+cR((1023&F)+56320)}).join("")+'"'}function cG(F){return F.map(F=>F<=65535?String.fromCharCode(F):String.fromCharCode(((F-=65536)>>10&1023)+55296,(1023&F)+56320)).join("")}function cL(F,A){return cG(cD(F,A))}function cY(F,A=Ak.current){return cD(cZ(F,A))}class cv extends cg{constructor(F){super("string",F)}defaultValue(){return""}encode(F,A){return super.encode(F,cZ(A))}decode(F){return cL(super.decode(F))}}class cK extends lx{constructor(F,A){let t=!1,e=[];F.forEach(F=>{F.dynamic&&(t=!0),e.push(F.type)}),super("tuple","tuple("+e.join(",")+")",A,t),this.coders=F}defaultValue(){let F=[];this.coders.forEach(A=>{F.push(A.defaultValue())});let A=this.coders.reduce((F,A)=>{let t=A.localName;return t&&(F[t]||(F[t]=0),F[t]++),F},{});return this.coders.forEach((t,e)=>{let B=t.localName;B&&1===A[B]&&("length"===B&&(B="_length"),null==F[B]&&(F[B]=F[e]))}),Object.freeze(F)}encode(F,A){return cm(F,this.coders,A)}decode(F){return F.coerce(this.name,cM(F,this.coders))}}let cN=new q4(lU),cx={},cJ={calldata:!0,memory:!0,storage:!0},cO={calldata:!0,memory:!0};function cj(F,A){if("bytes"===F||"string"===F){if(cJ[A])return!0}else if("address"===F){if("payable"===A)return!0}else if((F.indexOf("[")>=0||"tuple"===F)&&cO[A])return!0;return(cJ[A]||"payable"===A)&&cN.throwArgumentError("invalid modifier","name",A),!1}function cb(F,A){for(let t in A)lg(F,t,A[t])}let cP=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),cW=new RegExp(/^(.*)\[([0-9]*)\]$/);class cH{constructor(F,A){F!==cx&&cN.throwError("use fromString",q4.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),cb(this,A);let t=this.type.match(cW);t?cb(this,{arrayLength:parseInt(t[2]||"-1"),arrayChildren:cH.fromObject({type:t[1],components:this.components}),baseType:"array"}):cb(this,{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json){let A={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(A.indexed=this.indexed),this.components&&(A.components=this.components.map(A=>JSON.parse(A.format(F)))),JSON.stringify(A)}let A="";return"array"===this.baseType?A+=this.arrayChildren.format(F)+"["+(this.arrayLength<0?"":String(this.arrayLength))+"]":"tuple"===this.baseType?(F!==cP.sighash&&(A+=this.type),A+="("+this.components.map(A=>A.format(F)).join(F===cP.full?", ":",")+")"):A+=this.type,F!==cP.sighash&&(!0===this.indexed&&(A+=" indexed"),F===cP.full&&this.name&&(A+=" "+this.name)),A}static from(F,A){return"string"==typeof F?cH.fromString(F,A):cH.fromObject(F)}static fromObject(F){return cH.isParamType(F)?F:new cH(cx,{name:F.name||null,type:c7(F.type),indexed:null==F.indexed?null:!!F.indexed,components:F.components?F.components.map(cH.fromObject):null})}static fromString(F,A){var t;return t=function(F,A){let t=F;function e(A){cN.throwArgumentError(`unexpected character at position ${A}`,"param",F)}function B(F){let t={type:"",name:"",parent:F,state:{allowType:!0}};return A&&(t.indexed=!1),t}F=F.replace(/\s/g," ");let i={type:"",name:"",state:{allowType:!0}},s=i;for(let t=0;tcH.fromString(F,A))}class c_{constructor(F,A){F!==cx&&cN.throwError("use a static from method",q4.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),cb(this,A),this._isFragment=!0,Object.freeze(this)}static from(F){return c_.isFragment(F)?F:"string"==typeof F?c_.fromString(F):c_.fromObject(F)}static fromObject(F){if(c_.isFragment(F))return F;switch(F.type){case"function":return c3.fromObject(F);case"event":return c$.fromObject(F);case"constructor":return c5.fromObject(F);case"error":return c6.fromObject(F);case"fallback":case"receive":return null}return cN.throwArgumentError("invalid fragment object","value",F)}static fromString(F){return"event"===(F=(F=(F=F.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?c$.fromString(F.substring(5).trim()):"function"===F.split(" ")[0]?c3.fromString(F.substring(8).trim()):"constructor"===F.split("(")[0].trim()?c5.fromString(F.trim()):"error"===F.split(" ")[0]?c6.fromString(F.substring(5).trim()):cN.throwArgumentError("unsupported fragment","value",F)}static isFragment(F){return!!(F&&F._isFragment)}}class c$ extends c_{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(A=>JSON.parse(A.format(F)))});let A="";return F!==cP.sighash&&(A+="event "),A+=this.name+"("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ",F!==cP.sighash&&this.anonymous&&(A+="anonymous "),A.trim()}static from(F){return"string"==typeof F?c$.fromString(F):c$.fromObject(F)}static fromObject(F){return c$.isEventFragment(F)?F:("event"!==F.type&&cN.throwArgumentError("invalid event object","value",F),new c$(cx,{name:c9(F.name),anonymous:F.anonymous,inputs:F.inputs?F.inputs.map(cH.fromObject):[],type:"event"}))}static fromString(F){let A=F.match(uF);A||cN.throwArgumentError("invalid event string","value",F);let t=!1;return A[3].split(" ").forEach(F=>{switch(F.trim()){case"anonymous":t=!0;break;case"":break;default:cN.warn("unknown modifier: "+F)}}),c$.fromObject({name:A[1].trim(),anonymous:t,inputs:cX(A[2],!0),type:"event"})}static isEventFragment(F){return F&&F._isFragment&&"event"===F.type}}function c2(F,A){A.gas=null;let t=F.split("@");return 1!==t.length?(t.length>2&&cN.throwArgumentError("invalid human-readable ABI signature","value",F),t[1].match(/^[0-9]+$/)||cN.throwArgumentError("invalid human-readable ABI signature gas","value",F),A.gas=lz.from(t[1]),t[0]):F}function c1(F,A){A.constant=!1,A.payable=!1,A.stateMutability="nonpayable",F.split(" ").forEach(F=>{switch(F.trim()){case"constant":A.constant=!0;break;case"payable":A.payable=!0,A.stateMutability="payable";break;case"nonpayable":A.payable=!1,A.stateMutability="nonpayable";break;case"pure":A.constant=!0,A.stateMutability="pure";break;case"view":A.constant=!0,A.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+F)}})}function c0(F){let A={constant:!1,payable:!0,stateMutability:"payable"};return null!=F.stateMutability?(A.stateMutability=F.stateMutability,A.constant="view"===A.stateMutability||"pure"===A.stateMutability,null!=F.constant&&!!F.constant!==A.constant&&cN.throwArgumentError("cannot have constant function with mutability "+A.stateMutability,"value",F),A.payable="payable"===A.stateMutability,null!=F.payable&&!!F.payable!==A.payable&&cN.throwArgumentError("cannot have payable function with mutability "+A.stateMutability,"value",F)):null!=F.payable?(A.payable=!!F.payable,null!=F.constant||A.payable||"constructor"===F.type||cN.throwArgumentError("unable to determine stateMutability","value",F),A.constant=!!F.constant,A.constant?A.stateMutability="view":A.stateMutability=A.payable?"payable":"nonpayable",A.payable&&A.constant&&cN.throwArgumentError("cannot have constant payable function","value",F)):null!=F.constant?(A.constant=!!F.constant,A.payable=!A.constant,A.stateMutability=A.constant?"view":"payable"):"constructor"!==F.type&&cN.throwArgumentError("unable to determine stateMutability","value",F),A}class c5 extends c_{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(A=>JSON.parse(A.format(F)))});F===cP.sighash&&cN.throwError("cannot format a constructor for sighash",q4.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let A="constructor("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(A+=this.stateMutability+" "),A.trim()}static from(F){return"string"==typeof F?c5.fromString(F):c5.fromObject(F)}static fromObject(F){if(c5.isConstructorFragment(F))return F;"constructor"!==F.type&&cN.throwArgumentError("invalid constructor object","value",F);let A=c0(F);return A.constant&&cN.throwArgumentError("constructor cannot be constant","value",F),new c5(cx,{name:null,type:F.type,inputs:F.inputs?F.inputs.map(cH.fromObject):[],payable:A.payable,stateMutability:A.stateMutability,gas:F.gas?lz.from(F.gas):null})}static fromString(F){let A={type:"constructor"},t=(F=c2(F,A)).match(uF);return t&&"constructor"===t[1].trim()||cN.throwArgumentError("invalid constructor string","value",F),A.inputs=cX(t[2].trim(),!1),c1(t[3].trim(),A),c5.fromObject(A)}static isConstructorFragment(F){return F&&F._isFragment&&"constructor"===F.type}}class c3 extends c5{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(A=>JSON.parse(A.format(F))),outputs:this.outputs.map(A=>JSON.parse(A.format(F)))});let A="";return F!==cP.sighash&&(A+="function "),A+=this.name+"("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ",F!==cP.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(A+=this.stateMutability+" "):this.constant&&(A+="view "),this.outputs&&this.outputs.length&&(A+="returns ("+this.outputs.map(A=>A.format(F)).join(", ")+") "),null!=this.gas&&(A+="@"+this.gas.toString()+" ")),A.trim()}static from(F){return"string"==typeof F?c3.fromString(F):c3.fromObject(F)}static fromObject(F){if(c3.isFunctionFragment(F))return F;"function"!==F.type&&cN.throwArgumentError("invalid function object","value",F);let A=c0(F);return new c3(cx,{type:F.type,name:c9(F.name),constant:A.constant,inputs:F.inputs?F.inputs.map(cH.fromObject):[],outputs:F.outputs?F.outputs.map(cH.fromObject):[],payable:A.payable,stateMutability:A.stateMutability,gas:F.gas?lz.from(F.gas):null})}static fromString(F){let A={type:"function"},t=(F=c2(F,A)).split(" returns ");t.length>2&&cN.throwArgumentError("invalid function string","value",F);let e=t[0].match(uF);if(e||cN.throwArgumentError("invalid function signature","value",F),A.name=e[1].trim(),A.name&&c9(A.name),A.inputs=cX(e[2],!1),c1(e[3].trim(),A),t.length>1){let e=t[1].match(uF);(""!=e[1].trim()||""!=e[3].trim())&&cN.throwArgumentError("unexpected tokens","value",F),A.outputs=cX(e[2],!1)}else A.outputs=[];return c3.fromObject(A)}static isFunctionFragment(F){return F&&F._isFragment&&"function"===F.type}}function c8(F){let A=F.format();return("Error(string)"===A||"Panic(uint256)"===A)&&cN.throwArgumentError(`cannot specify user defined ${A} error`,"fragment",F),F}class c6 extends c_{format(F){if(F||(F=cP.sighash),cP[F]||cN.throwArgumentError("invalid format type","format",F),F===cP.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(A=>JSON.parse(A.format(F)))});let A="";return F!==cP.sighash&&(A+="error "),(A+=this.name+"("+this.inputs.map(A=>A.format(F)).join(F===cP.full?", ":",")+") ").trim()}static from(F){return"string"==typeof F?c6.fromString(F):c6.fromObject(F)}static fromObject(F){return c6.isErrorFragment(F)?F:("error"!==F.type&&cN.throwArgumentError("invalid error object","value",F),c8(new c6(cx,{type:F.type,name:c9(F.name),inputs:F.inputs?F.inputs.map(cH.fromObject):[]})))}static fromString(F){let A={type:"error"},t=F.match(uF);return t||cN.throwArgumentError("invalid error signature","value",F),A.name=t[1].trim(),A.name&&c9(A.name),A.inputs=cX(t[2],!1),c8(c6.fromObject(A))}static isErrorFragment(F){return F&&F._isFragment&&"error"===F.type}}function c7(F){return F.match(/^uint($|[^1-9])/)?F="uint256"+F.substring(4):F.match(/^int($|[^1-9])/)&&(F="int256"+F.substring(3)),F}let c4=RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function c9(F){return F&&F.match(c4)||cN.throwArgumentError(`invalid identifier "${F}"`,"value",F),F}let uF=RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"),uA=new q4(lU),ut=new RegExp(/^bytes([0-9]*)$/),ue=new RegExp(/^(u?int)([0-9]*)$/);class uB{constructor(F){lg(this,"coerceFunc",F||null)}_getCoder(F){switch(F.baseType){case"address":return new cl(F.name);case"bool":return new cp(F.name);case"string":return new cv(F.name);case"bytes":return new cE(F.name);case"array":return new cI(this._getCoder(F.arrayChildren),F.arrayLength,F.name);case"tuple":return new cK((F.components||[]).map(F=>this._getCoder(F)),F.name);case"":return new cd(F.name)}let A=F.type.match(ue);if(A){let t=parseInt(A[2]||"256");return(0===t||t>256||t%8!=0)&&uA.throwArgumentError("invalid "+A[1]+" bit length","param",F),new cU(t/8,"int"===A[1],F.name)}if(A=F.type.match(ut)){let t=parseInt(A[1]);return(0===t||t>32)&&uA.throwArgumentError("invalid bytes length","param",F),new cC(t,F.name)}return uA.throwArgumentError("invalid type","type",F.type)}_getWordSize(){return 32}_getReader(F,A){return new lO(F,this._getWordSize(),this.coerceFunc,A)}_getWriter(){return new lJ(this._getWordSize())}getDefaultValue(F){return new cK(F.map(F=>this._getCoder(cH.from(F))),"_").defaultValue()}encode(F,A){F.length!==A.length&&uA.throwError("types/values length mismatch",q4.errors.INVALID_ARGUMENT,{count:{types:F.length,values:A.length},value:{types:F,values:A}});let t=new cK(F.map(F=>this._getCoder(cH.from(F))),"_"),e=this._getWriter();return t.encode(e,A),e.data}decode(F,A,t){return new cK(F.map(F=>this._getCoder(cH.from(F))),"_").decode(this._getReader(li(A),t))}}let ui=new uB;function us(F){return l8(cZ(F))}let un=new q4(lU);class ur extends lw{}class uo extends lw{}class ua extends lw{}class uV extends lw{static isIndexed(F){return!!(F&&F._isIndexed)}}let uh={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function uq(F,A){let t=Error(`deferred error during ABI decoding triggered accessing ${F}`);return t.error=A,t}class ul{constructor(F){lg(this,"fragments",("string"==typeof F?JSON.parse(F):F).map(F=>c_.from(F)).filter(F=>null!=F)),lg(this,"_abiCoder",lE(new.target,"getAbiCoder")()),lg(this,"functions",{}),lg(this,"errors",{}),lg(this,"events",{}),lg(this,"structs",{}),this.fragments.forEach(F=>{let A=null;switch(F.type){case"constructor":if(this.deploy){un.warn("duplicate definition - constructor");return}lg(this,"deploy",F);return;case"function":A=this.functions;break;case"event":A=this.events;break;case"error":A=this.errors;break;default:return}let t=F.format();if(A[t]){un.warn("duplicate definition - "+t);return}A[t]=F}),this.deploy||lg(this,"deploy",c5.from({payable:!1,type:"constructor"})),lg(this,"_isInterface",!0)}format(F){F||(F=cP.full),F===cP.sighash&&un.throwArgumentError("interface does not support formatting sighash","format",F);let A=this.fragments.map(A=>A.format(F));return F===cP.json?JSON.stringify(A.map(F=>JSON.parse(F))):A}static getAbiCoder(){return ui}static getAddress(F){return co(F)}static getSighash(F){return lq(us(F.format()),0,4)}static getEventTopic(F){return us(F.format())}getFunction(F){if(lo(F)){for(let A in this.functions)if(F===this.getSighash(A))return this.functions[A];un.throwArgumentError("no matching function","sighash",F)}if(-1===F.indexOf("(")){let A=F.trim(),t=Object.keys(this.functions).filter(F=>F.split("(")[0]===A);return 0===t.length?un.throwArgumentError("no matching function","name",A):t.length>1&&un.throwArgumentError("multiple matching functions","name",A),this.functions[t[0]]}let A=this.functions[c3.fromString(F).format()];return A||un.throwArgumentError("no matching function","signature",F),A}getEvent(F){if(lo(F)){let A=F.toLowerCase();for(let F in this.events)if(A===this.getEventTopic(F))return this.events[F];un.throwArgumentError("no matching event","topichash",A)}if(-1===F.indexOf("(")){let A=F.trim(),t=Object.keys(this.events).filter(F=>F.split("(")[0]===A);return 0===t.length?un.throwArgumentError("no matching event","name",A):t.length>1&&un.throwArgumentError("multiple matching events","name",A),this.events[t[0]]}let A=this.events[c$.fromString(F).format()];return A||un.throwArgumentError("no matching event","signature",F),A}getError(F){if(lo(F)){let A=lE(this.constructor,"getSighash");for(let t in this.errors)if(F===A(this.errors[t]))return this.errors[t];un.throwArgumentError("no matching error","sighash",F)}if(-1===F.indexOf("(")){let A=F.trim(),t=Object.keys(this.errors).filter(F=>F.split("(")[0]===A);return 0===t.length?un.throwArgumentError("no matching error","name",A):t.length>1&&un.throwArgumentError("multiple matching errors","name",A),this.errors[t[0]]}let A=this.errors[c3.fromString(F).format()];return A||un.throwArgumentError("no matching error","signature",F),A}getSighash(F){if("string"==typeof F)try{F=this.getFunction(F)}catch(A){try{F=this.getError(F)}catch(F){throw A}}return lE(this.constructor,"getSighash")(F)}getEventTopic(F){return"string"==typeof F&&(F=this.getEvent(F)),lE(this.constructor,"getEventTopic")(F)}_decodeParams(F,A){return this._abiCoder.decode(F,A)}_encodeParams(F,A){return this._abiCoder.encode(F,A)}encodeDeploy(F){return this._encodeParams(this.deploy.inputs,F||[])}decodeErrorResult(F,A){"string"==typeof F&&(F=this.getError(F));let t=li(A);return lV(t.slice(0,4))!==this.getSighash(F)&&un.throwArgumentError(`data signature does not match error ${F.name}.`,"data",lV(t)),this._decodeParams(F.inputs,t.slice(4))}encodeErrorResult(F,A){return"string"==typeof F&&(F=this.getError(F)),lV(ls([this.getSighash(F),this._encodeParams(F.inputs,A||[])]))}decodeFunctionData(F,A){"string"==typeof F&&(F=this.getFunction(F));let t=li(A);return lV(t.slice(0,4))!==this.getSighash(F)&&un.throwArgumentError(`data signature does not match function ${F.name}.`,"data",lV(t)),this._decodeParams(F.inputs,t.slice(4))}encodeFunctionData(F,A){return"string"==typeof F&&(F=this.getFunction(F)),lV(ls([this.getSighash(F),this._encodeParams(F.inputs,A||[])]))}decodeFunctionResult(F,A){"string"==typeof F&&(F=this.getFunction(F));let t=li(A),e=null,B="",i=null,s=null,n=null;switch(t.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(F.outputs,t)}catch(F){}break;case 4:{let F=lV(t.slice(0,4)),A=uh[F];if(A)i=this._abiCoder.decode(A.inputs,t.slice(4)),s=A.name,n=A.signature,A.reason&&(e=i[0]),"Error"===s?B=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(i[0])}`:"Panic"===s&&(B=`; VM Exception while processing transaction: reverted with panic code ${i[0]}`);else try{let A=this.getError(F);i=this._abiCoder.decode(A.inputs,t.slice(4)),s=A.name,n=A.format()}catch(F){}}}return un.throwError("call revert exception"+B,q4.errors.CALL_EXCEPTION,{method:F.format(),data:lV(A),errorArgs:i,errorName:s,errorSignature:n,reason:e})}encodeFunctionResult(F,A){return"string"==typeof F&&(F=this.getFunction(F)),lV(this._abiCoder.encode(F.outputs,A||[]))}encodeFilterTopics(F,A){"string"==typeof F&&(F=this.getEvent(F)),A.length>F.inputs.length&&un.throwError("too many arguments for "+F.format(),q4.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:A});let t=[];F.anonymous||t.push(this.getEventTopic(F));let e=(F,A)=>"string"===F.type?us(A):"bytes"===F.type?l8(lV(A)):("bool"===F.type&&"boolean"==typeof A&&(A=A?"0x01":"0x00"),F.type.match(/^u?int/)&&(A=lz.from(A).toHexString()),"address"===F.type&&this._abiCoder.encode(["address"],[A]),lm(lV(A),32));for(A.forEach((A,B)=>{let i=F.inputs[B];if(!i.indexed){null!=A&&un.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+i.name,A);return}null==A?t.push(null):"array"===i.baseType||"tuple"===i.baseType?un.throwArgumentError("filtering with tuples or arrays not supported","contract."+i.name,A):Array.isArray(A)?t.push(A.map(F=>e(i,F))):t.push(e(i,A))});t.length&&null===t[t.length-1];)t.pop();return t}encodeEventLog(F,A){"string"==typeof F&&(F=this.getEvent(F));let t=[],e=[],B=[];return F.anonymous||t.push(this.getEventTopic(F)),A.length!==F.inputs.length&&un.throwArgumentError("event arguments/values mismatch","values",A),F.inputs.forEach((F,i)=>{let s=A[i];if(F.indexed){if("string"===F.type)t.push(us(s));else if("bytes"===F.type)t.push(l8(s));else if("tuple"===F.baseType||"array"===F.baseType)throw Error("not implemented");else t.push(this._abiCoder.encode([F.type],[s]))}else e.push(F),B.push(s)}),{data:this._abiCoder.encode(e,B),topics:t}}decodeEventLog(F,A,t){if("string"==typeof F&&(F=this.getEvent(F)),null!=t&&!F.anonymous){let A=this.getEventTopic(F);lo(t[0],32)&&t[0].toLowerCase()===A||un.throwError("fragment/topic mismatch",q4.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:A,value:t[0]}),t=t.slice(1)}let e=[],B=[],i=[];F.inputs.forEach((F,A)=>{F.indexed?"string"===F.type||"bytes"===F.type||"tuple"===F.baseType||"array"===F.baseType?(e.push(cH.fromObject({type:"bytes32",name:F.name})),i.push(!0)):(e.push(F),i.push(!1)):(B.push(F),i.push(!1))});let s=null!=t?this._abiCoder.decode(e,ls(t)):null,n=this._abiCoder.decode(B,A,!0),r=[],o=0,a=0;F.inputs.forEach((F,A)=>{if(F.indexed){if(null==s)r[A]=new uV({_isIndexed:!0,hash:null});else if(i[A])r[A]=new uV({_isIndexed:!0,hash:s[a++]});else try{r[A]=s[a++]}catch(F){r[A]=F}}else try{r[A]=n[o++]}catch(F){r[A]=F}if(F.name&&null==r[F.name]){let t=r[A];t instanceof Error?Object.defineProperty(r,F.name,{enumerable:!0,get:()=>{throw uq(`property ${JSON.stringify(F.name)}`,t)}}):r[F.name]=t}});for(let F=0;F{throw uq(`index ${F}`,A)}})}return Object.freeze(r)}parseTransaction(F){let A=this.getFunction(F.data.substring(0,10).toLowerCase());return A?new uo({args:this._abiCoder.decode(A.inputs,"0x"+F.data.substring(10)),functionFragment:A,name:A.name,signature:A.format(),sighash:this.getSighash(A),value:lz.from(F.value||"0")}):null}parseLog(F){let A=this.getEvent(F.topics[0]);return!A||A.anonymous?null:new ur({eventFragment:A,name:A.name,signature:A.format(),topic:this.getEventTopic(A),args:this.decodeEventLog(A,F.data,F.topics)})}parseError(F){let A=lV(F),t=this.getError(A.substring(0,10).toLowerCase());return t?new ua({args:this._abiCoder.decode(t.inputs,"0x"+A.substring(10)),errorFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t)}):null}static isInterface(F){return!!(F&&F._isInterface)}}var uc={};function uu(F){F=atob(F);let A=[];for(let t=0;t0;)t.push(e%this.base),e=e/this.base|0}let e="";for(let F=0;0===A[F]&&F=0;--F)e+=this.alphabet[t[F]];return e}decode(F){if("string"!=typeof F)throw TypeError("Expected String");let A=[];if(0===F.length)return new Uint8Array(A);A.push(0);for(let t=0;t>=8;for(;B>0;)A.push(255&B),B>>=8}for(let t=0;F[t]===this._leader&&t256||A[2]&&A[2]!==String(e))&&ug.throwArgumentError("invalid numeric width","type",F);let B=uS.mask(t?e-1:e),i=t?B.add(uy).mul(uC):ud;return function(A){let t=lz.from(A);return(t.lt(i)||t.gt(B))&&ug.throwArgumentError(`value out-of-bounds for ${F}`,"value",A),lm(t.toTwos(256).toHexString(),32)}}}{let A=F.match(/^bytes(\d+)$/);if(A){let t=parseInt(A[1]);return(0===t||t>32||A[1]!==String(t))&&ug.throwArgumentError("invalid bytes width","type",F),function(A){return li(A).length!==t&&ug.throwArgumentError(`invalid length for ${F}`,"value",A),function(F){let A=li(F),t=A.length%32;return t?ll([A,uE.slice(t)]):lV(A)}(A)}}}switch(F){case"address":return function(F){return lm(co(F),32)};case"bool":return function(F){return F?uQ:uw};case"bytes":return function(F){return l8(F)};case"string":return function(F){return us(F)}}return null}function uZ(F,A){return`${F}(${A.map(({name:F,type:A})=>A+" "+F).join(",")})`}class uR{constructor(F){lg(this,"types",Object.freeze(lQ(F))),lg(this,"_encoderCache",{}),lg(this,"_types",{});let A={},t={},e={};for(let B in Object.keys(F).forEach(F=>{A[F]={},t[F]=[],e[F]={}}),F){let e={};F[B].forEach(i=>{e[i.name]&&ug.throwArgumentError(`duplicate variable name ${JSON.stringify(i.name)} in ${JSON.stringify(B)}`,"types",F),e[i.name]=!0;let s=i.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===B&&ug.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",F),uD(s)||(t[s]||ug.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",F),t[s].push(B),A[B][s]=!0)})}let B=Object.keys(t).filter(F=>0===t[F].length);for(let i in 0===B.length?ug.throwArgumentError("missing primary type","types",F):B.length>1&&ug.throwArgumentError(`ambiguous primary types or unused types: ${B.map(F=>JSON.stringify(F)).join(", ")}`,"types",F),lg(this,"primaryType",B[0]),!function B(i,s){s[i]&&ug.throwArgumentError(`circular type reference to ${JSON.stringify(i)}`,"types",F),s[i]=!0,Object.keys(A[i]).forEach(F=>{t[F]&&(B(F,s),Object.keys(s).forEach(A=>{e[A][F]=!0}))}),delete s[i]}(this.primaryType,{}),e){let A=Object.keys(e[i]);A.sort(),this._types[i]=uZ(i,F[i])+A.map(A=>uZ(A,F[A])).join("")}}getEncoder(F){let A=this._encoderCache[F];return A||(A=this._encoderCache[F]=this._getEncoder(F)),A}_getEncoder(F){{let A=uD(F);if(A)return A}let A=F.match(/^(.*)(\x5b(\d*)\x5d)$/);if(A){let F=A[1],t=this.getEncoder(F),e=parseInt(A[3]);return A=>{e>=0&&A.length!==e&&ug.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",A);let B=A.map(t);return this._types[F]&&(B=B.map(l8)),l8(ll(B))}}let t=this.types[F];if(t){let A=us(this._types[F]);return F=>{let e=t.map(({name:A,type:t})=>{let e=this.getEncoder(t)(F[A]);return this._types[t]?l8(e):e});return e.unshift(A),ll(e)}}return ug.throwArgumentError(`unknown type: ${F}`,"type",F)}encodeType(F){let A=this._types[F];return A||ug.throwArgumentError(`unknown type: ${JSON.stringify(F)}`,"name",F),A}encodeData(F,A){return this.getEncoder(F)(A)}hashStruct(F,A){return l8(this.encodeData(F,A))}encode(F){return this.encodeData(this.primaryType,F)}hash(F){return this.hashStruct(this.primaryType,F)}_visit(F,A,t){if(uD(F))return t(F,A);let e=F.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){let F=e[1],B=parseInt(e[3]);return B>=0&&A.length!==B&&ug.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",A),A.map(A=>this._visit(F,A,t))}let B=this.types[F];return B?B.reduce((F,{name:e,type:B})=>(F[e]=this._visit(B,A[e],t),F),{}):ug.throwArgumentError(`unknown type: ${F}`,"type",F)}visit(F,A){return this._visit(this.primaryType,F,A)}static from(F){return new uR(F)}static getPrimaryType(F){return uR.from(F).primaryType}static hashStruct(F,A,t){return uR.from(A).hashStruct(F,t)}static hashDomain(F){let A=[];for(let t in F){let e=uU[t];e||ug.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(t)}`,"domain",F),A.push({name:t,type:e})}return A.sort((F,A)=>uf.indexOf(F.name)-uf.indexOf(A.name)),uR.hashStruct("EIP712Domain",{EIP712Domain:A},F)}static encode(F,A,t){return ll(["0x1901",uR.hashDomain(F),uR.from(A).hash(t)])}static hash(F,A,t){return l8(uR.encode(F,A,t))}static resolveNames(F,A,t,e){var B,i,s,n;return B=this,i=void 0,s=void 0,n=function*(){F=ly(F);let B={};F.verifyingContract&&!lo(F.verifyingContract,20)&&(B[F.verifyingContract]="0x");let i=uR.from(A);for(let F in i.visit(t,(F,A)=>("address"!==F||lo(A,20)||(B[A]="0x"),A)),B)B[F]=yield e(F);return F.verifyingContract&&B[F.verifyingContract]&&(F.verifyingContract=B[F.verifyingContract]),t=i.visit(t,(F,A)=>"address"===F&&B[A]?B[A]:A),{domain:F,value:t}},new(s||(s=Promise))(function(F,A){function t(F){try{r(n.next(F))}catch(F){A(F)}}function e(F){try{r(n.throw(F))}catch(F){A(F)}}function r(A){var B;A.done?F(A.value):((B=A.value)instanceof s?B:new s(function(F){F(B)})).then(t,e)}r((n=n.apply(B,i||[])).next())})}static getPayload(F,A,t){uR.hashDomain(F);let e={},B=[];uf.forEach(A=>{let t=F[A];null!=t&&(e[A]=uT[A](t),B.push({name:A,type:uU[A]}))});let i=uR.from(A),s=ly(A);return s.EIP712Domain?ug.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",A):s.EIP712Domain=B,i.encode(t),{types:s,domain:e,primaryType:i.primaryType,message:i.visit(t,(F,A)=>{if(F.match(/^bytes(\d*)/))return lV(li(A));if(F.match(/^u?int/))return lz.from(A).toString();switch(F){case"address":return A.toLowerCase();case"bool":return!!A;case"string":return"string"!=typeof A&&ug.throwArgumentError("invalid string","value",A),A}return ug.throwArgumentError("unsupported type","type",F)})}}}function uz(F,A){null==A&&(A=1);let t=[],e=t.forEach,B=function(F,A){e.call(F,function(F){A>0&&Array.isArray(F)?B(F,A-1):t.push(F)})};return B(F,A),t}function uG(F,A){let t=Array(F);for(let e=0,B=-1;eA[F]):t}function uY(F,A,t){let e=Array(F).fill(void 0).map(()=>[]);for(let B=0;B>1:e>>1}return t})(F,t).forEach((F,A)=>e[A].push(F));return e}let uv=(Ao=function(F){let A=0;function t(){return F[A++]<<8|F[A++]}let e=t(),B=1,i=[0,1];for(let F=1;F>--r&1}let V=0;for(let F=0;F<31;F++)V=V<<1|a();let h=[],q=0,l=2147483648;for(;;){let F=Math.floor(((V-q+1)*B-1)/l),A=0,t=e;for(;t-A>1;){let e=A+t>>>1;F{switch(A-c){case 3:return c+65792+(F[n++]<<16|F[n++]<<8|F[n++]);case 2:return c+256+(F[n++]<<8|F[n++]);case 1:return c+F[n++];default:return A-1}})}(uu("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==")),FO=0,()=>Ao[FO++]),uK=new Set(uL(uv)),uN=new Set(uL(uv)),ux=function(F){let A=[];for(;;){let t=F();if(0==t)break;A.push(function(F,A){let t=1+A(),e=A(),B=function(F){let A=[];for(;;){let t=F();if(0==t)break;A.push(t)}return A}(A);return uz(uY(B.length,1+F,A).map((F,A)=>{let i=F[0],s=F.slice(1);return Array(B[A]).fill(void 0).map((F,A)=>{let B=A*e;return[i+A*t,s.map(F=>F+B)]})}))}(t,F))}for(;;){let t=F()-1;if(t<0)break;A.push(uY(1+F(),1+t,F).map(F=>[F[0],F.slice(1)]))}return function(F){let A={};for(let t=0;tF-A),function F(){let A=[];for(;;){let t=uL(uv,FJ);if(0==t.length)break;A.push({set:new Set(t),node:F()})}A.sort((F,A)=>A.set.size-F.set.size);let t=uv();return{branches:A,valid:t%3,fe0f:!!(1&(t=t/3|0)),save:1==(t>>=1),check:2==t}}());function uO(F){return F.filter(F=>65039!=F)}function uj(F){for(let A of F.split(".")){let F=cY(A);try{for(let A=F.lastIndexOf(95)-1;A>=0;A--)if(95!==F[A])throw Error("underscore only allowed at start");if(F.length>=4&&F.every(F=>F<128)&&45===F[2]&&45===F[3])throw Error("invalid label extension")}catch(F){throw Error(`Invalid label "${A}": ${F.message}`)}}return F}let ub=new q4(up),uP=new Uint8Array(32);function uW(F){if(0===F.length)throw Error("invalid ENS name; empty component");return F}function uH(F){let A=cZ(uj(function(F,A){let t=cY(F).reverse(),e=[];for(;t.length;){let F=function(F,A){var t;let e,B;let i=uJ,s=[],n=F.length;for(;n;){let A=F[--n];if(!(i=null===(t=i.branches.find(F=>F.set.has(A)))||void 0===t?void 0:t.node))break;if(i.save)B=A;else if(i.check&&A===B)break;s.push(A),i.fe0f&&(s.push(65039),n>0&&65039==F[n-1]&&n--),i.valid&&(e=s.slice(),2==i.valid&&e.splice(1,1),F.length=n)}return e}(t);if(F){e.push(...A(F));continue}let B=t.pop();if(uK.has(B)){e.push(B);continue}if(uN.has(B))continue;let i=ux[B];if(i){e.push(...i);continue}throw Error(`Disallowed codepoint: 0x${B.toString(16).toUpperCase()}`)}return uj(String.fromCodePoint(...e).normalize("NFC"))}(F,uO))),t=[];if(0===F.length)return t;let e=0;for(let F=0;F=A.length)throw Error("invalid ENS name; empty component");return t.push(uW(A.slice(e))),t}function uX(F){try{return 0!==uH(F).length}catch(F){}return!1}function u_(F){"string"!=typeof F&&ub.throwArgumentError("invalid ENS name; not a string","name",F);let A=uP,t=uH(F);for(;t.length;)A=l8(ls([A,l8(t.pop())]));return lV(A)}function u$(F){return lV(ls(uH(F).map(F=>{if(F.length>63)throw Error("invalid DNS encoded entry; length exceeds 63 bytes");let A=new Uint8Array(F.length+1);return A.set(F,1),A[0]=A.length-1,A})))+"00"}function u2(F){return"string"==typeof F&&(F=cZ(F)),l8(ls([cZ("\x19Ethereum Signed Message:\n"),cZ(String(F.length)),F]))}uP.fill(0);var u1={};u1.utils=AL("hjPlJ"),u1.common=AL("853Y9"),u1.sha=AL("7ItNj"),u1.ripemd=AL("Eozyl"),u1.hmac=AL("bZxkF"),u1.sha1=u1.sha.sha1,u1.sha256=u1.sha.sha256,u1.sha224=u1.sha.sha224,u1.sha384=u1.sha.sha384,u1.sha512=u1.sha.sha512,u1.ripemd160=u1.ripemd.ripemd160,(Ad=AD||(AD={})).sha256="sha256",Ad.sha512="sha512";let u0=new q4("sha2/5.7.0");function u5(F){return"0x"+Fb(u1).ripemd160().update(li(F)).digest("hex")}function u3(F){return"0x"+Fb(u1).sha256().update(li(F)).digest("hex")}function u8(F){return"0x"+Fb(u1).sha512().update(li(F)).digest("hex")}function u6(F,A,t){return AD[F]||u0.throwError("unsupported algorithm "+F,q4.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:F}),"0x"+Fb(u1).hmac(Fb(u1)[F],li(A)).update(li(t)).digest("hex")}var u7=AL("l59t0");function u4(F,A,t){return F(t={path:A,exports:{},require:function(F,A){return function(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(F,null==A?t.path:A)}},t.exports),t.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==AR||"undefined"!=typeof self&&self;var u9=mF;function mF(F,A){if(!F)throw Error(A||"Assertion failed")}mF.equal=function(F,A,t){if(F!=A)throw Error(t||"Assertion failed: "+F+" != "+A)};var mA=u4(function(F,A){function t(F){return 1===F.length?"0"+F:F}function e(F){for(var A="",e=0;e>8,s=255&B;i?t.push(i,s):t.push(s)}return t},A.zero2=t,A.toHex=e,A.encode=function(F,A){return"hex"===A?e(F):F}}),mt=u4(function(F,A){A.assert=u9,A.toArray=mA.toArray,A.zero2=mA.zero2,A.toHex=mA.toHex,A.encode=mA.encode,A.getNAF=function(F,A,t){var e=Array(Math.max(F.bitLength(),t)+1);e.fill(0);for(var B=1<(B>>1)-1?(B>>1)-r:r,i.isubn(n)):n=0,e[s]=n,i.iushrn(1)}return e},A.getJSF=function(F,A){var t=[[],[]];F=F.clone(),A=A.clone();for(var e=0,B=0;F.cmpn(-e)>0||A.cmpn(-B)>0;){var i,s,n,r=F.andln(3)+e&3,o=A.andln(3)+B&3;3===r&&(r=-1),3===o&&(o=-1),s=(1&r)==0?0:(3==(i=F.andln(7)+e&7)||5===i)&&2===o?-r:r,t[0].push(s),n=(1&o)==0?0:(3==(i=A.andln(7)+B&7)||5===i)&&2===r?-o:o,t[1].push(n),2*e===s+1&&(e=1-e),2*B===n+1&&(B=1-B),F.iushrn(1),A.iushrn(1)}return t},A.cachedProperty=function(F,A,t){var e="_"+A;F.prototype[A]=function(){return void 0!==this[e]?this[e]:this[e]=t.call(this)}},A.parseBytes=function(F){return"string"==typeof F?A.toArray(F,"hex"):F},A.intFromLE=function(F){return new(Fb(u7))(F,"hex","le")}}),me=mt.getNAF,mB=mt.getJSF,mi=mt.assert;function ms(F,A){this.type=F,this.p=new(Fb(u7))(A.p,16),this.red=A.prime?Fb(u7).red(A.prime):Fb(u7).mont(this.p),this.zero=new(Fb(u7))(0).toRed(this.red),this.one=new(Fb(u7))(1).toRed(this.red),this.two=new(Fb(u7))(2).toRed(this.red),this.n=A.n&&new(Fb(u7))(A.n,16),this.g=A.g&&this.pointFromJSON(A.g,A.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function mn(F,A){this.curve=F,this.type=A,this.precomputed=null}ms.prototype.point=function(){throw Error("Not implemented")},ms.prototype.validate=function(){throw Error("Not implemented")},ms.prototype._fixedNafMul=function(F,A){mi(F.precomputed);var t,e,B=F._getDoubles(),i=me(A,1,this._bitLength),s=(1<=t;r--)e=(e<<1)+i[r];n.push(e)}for(var o=this.jpoint(null,null,null),a=this.jpoint(null,null,null),V=s;V>0;V--){for(t=0;t=0;n--){for(var r=0;n>=0&&0===i[n];n--)r++;if(n>=0&&r++,s=s.dblp(r),n<0)break;var o=i[n];mi(0!==o),s="affine"===F.type?o>0?s.mixedAdd(B[o-1>>1]):s.mixedAdd(B[-o-1>>1].neg()):o>0?s.add(B[o-1>>1]):s.add(B[-o-1>>1].neg())}return"affine"===F.type?s.toP():s},ms.prototype._wnafMulAdd=function(F,A,t,e,B){var i,s,n,r=this._wnafT1,o=this._wnafT2,a=this._wnafT3,V=0;for(i=0;i=1;i-=2){var q=i-1,l=i;if(1!==r[q]||1!==r[l]){a[q]=me(t[q],r[q],this._bitLength),a[l]=me(t[l],r[l],this._bitLength),V=Math.max(a[q].length,V),V=Math.max(a[l].length,V);continue}var c=[A[q],null,null,A[l]];0===A[q].y.cmp(A[l].y)?(c[1]=A[q].add(A[l]),c[2]=A[q].toJ().mixedAdd(A[l].neg())):0===A[q].y.cmp(A[l].y.redNeg())?(c[1]=A[q].toJ().mixedAdd(A[l]),c[2]=A[q].add(A[l].neg())):(c[1]=A[q].toJ().mixedAdd(A[l]),c[2]=A[q].toJ().mixedAdd(A[l].neg()));var u=[-3,-1,-5,-7,0,7,5,1,3],m=mB(t[q],t[l]);for(s=0,V=Math.max(m[0].length,V),a[q]=Array(V),a[l]=Array(V);s=0;i--){for(var E=0;i>=0;){var C=!0;for(s=0;s=0&&E++,p=p.dblp(E),i<0)break;for(s=0;s0?n=o[s][d-1>>1]:d<0&&(n=o[s][-d-1>>1].neg()),p="affine"===n.type?p.mixedAdd(n):p.add(n))}}for(i=0;i=Math.ceil((F.bitLength()+1)/A.step)},mn.prototype._getDoubles=function(F,A){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],e=this,B=0;BB[0].cmp(B[1])?B[0]:B[1]).toRed(this.red)}if(F.lambda)t=new(Fb(u7))(F.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(A))?t=i[0]:(t=i[1],mo(0===this.g.mul(t).x.cmp(this.g.x.redMul(A))))}return e=F.basis?F.basis.map(function(F){return{a:new(Fb(u7))(F.a,16),b:new(Fb(u7))(F.b,16)}}):this._getEndoBasis(t),{beta:A,lambda:t,basis:e}}},ma.prototype._getEndoRoots=function(F){var A=F===this.p?this.red:Fb(u7).mont(F),t=new(Fb(u7))(2).toRed(A).redInvm(),e=t.redNeg(),B=new(Fb(u7))(3).toRed(A).redNeg().redSqrt().redMul(t);return[e.redAdd(B).fromRed(),e.redSub(B).fromRed()]},ma.prototype._getEndoBasis=function(F){for(var A,t,e,B,i,s,n,r,o,a=this.n.ushrn(Math.floor(this.n.bitLength()/2)),V=F,h=this.n.clone(),q=new(Fb(u7))(1),l=new(Fb(u7))(0),c=new(Fb(u7))(0),u=new(Fb(u7))(1),m=0;0!==V.cmpn(0);){var M=h.div(V);r=h.sub(M.mul(V)),o=c.sub(M.mul(q));var I=u.sub(M.mul(l));if(!e&&0>r.cmp(a))A=n.neg(),t=q,e=r.neg(),B=o;else if(e&&2==++m)break;n=r,h=V,V=r,c=q,q=o,u=l,l=I}i=r.neg(),s=o;var p=e.sqr().add(B.sqr());return i.sqr().add(s.sqr()).cmp(p)>=0&&(i=A,s=t),e.negative&&(e=e.neg(),B=B.neg()),i.negative&&(i=i.neg(),s=s.neg()),[{a:e,b:B},{a:i,b:s}]},ma.prototype._endoSplit=function(F){var A=this.endo.basis,t=A[0],e=A[1],B=e.b.mul(F).divRound(this.n),i=t.b.neg().mul(F).divRound(this.n),s=B.mul(t.a),n=i.mul(e.a),r=B.mul(t.b),o=i.mul(e.b);return{k1:F.sub(s).sub(n),k2:r.add(o).neg()}},ma.prototype.pointFromX=function(F,A){(F=new(Fb(u7))(F,16)).red||(F=F.toRed(this.red));var t=F.redSqr().redMul(F).redIAdd(F.redMul(this.a)).redIAdd(this.b),e=t.redSqrt();if(0!==e.redSqr().redSub(t).cmp(this.zero))throw Error("invalid point");var B=e.fromRed().isOdd();return(A&&!B||!A&&B)&&(e=e.redNeg()),this.point(F,e)},ma.prototype.validate=function(F){if(F.inf)return!0;var A=F.x,t=F.y,e=this.a.redMul(A),B=A.redSqr().redMul(A).redIAdd(e).redIAdd(this.b);return 0===t.redSqr().redISub(B).cmpn(0)},ma.prototype._endoWnafMulAdd=function(F,A,t){for(var e=this._endoWnafT1,B=this._endoWnafT2,i=0;i":""},mV.prototype.isInfinity=function(){return this.inf},mV.prototype.add=function(F){if(this.inf)return F;if(F.inf)return this;if(this.eq(F))return this.dbl();if(this.neg().eq(F)||0===this.x.cmp(F.x))return this.curve.point(null,null);var A=this.y.redSub(F.y);0!==A.cmpn(0)&&(A=A.redMul(this.x.redSub(F.x).redInvm()));var t=A.redSqr().redISub(this.x).redISub(F.x),e=A.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,e)},mV.prototype.dbl=function(){if(this.inf)return this;var F=this.y.redAdd(this.y);if(0===F.cmpn(0))return this.curve.point(null,null);var A=this.curve.a,t=this.x.redSqr(),e=F.redInvm(),B=t.redAdd(t).redIAdd(t).redIAdd(A).redMul(e),i=B.redSqr().redISub(this.x.redAdd(this.x)),s=B.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,s)},mV.prototype.getX=function(){return this.x.fromRed()},mV.prototype.getY=function(){return this.y.fromRed()},mV.prototype.mul=function(F){return(F=new(Fb(u7))(F,16),this.isInfinity())?this:this._hasDoubles(F)?this.curve._fixedNafMul(this,F):this.curve.endo?this.curve._endoWnafMulAdd([this],[F]):this.curve._wnafMul(this,F)},mV.prototype.mulAdd=function(F,A,t){var e=[this,A],B=[F,t];return this.curve.endo?this.curve._endoWnafMulAdd(e,B):this.curve._wnafMulAdd(1,e,B,2)},mV.prototype.jmulAdd=function(F,A,t){var e=[this,A],B=[F,t];return this.curve.endo?this.curve._endoWnafMulAdd(e,B,!0):this.curve._wnafMulAdd(1,e,B,2,!0)},mV.prototype.eq=function(F){return this===F||this.inf===F.inf&&(this.inf||0===this.x.cmp(F.x)&&0===this.y.cmp(F.y))},mV.prototype.neg=function(F){if(this.inf)return this;var A=this.curve.point(this.x,this.y.redNeg());if(F&&this.precomputed){var t=this.precomputed,e=function(F){return F.neg()};A.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(e)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(e)}}}return A},mV.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},mr(mh,ms.BasePoint),ma.prototype.jpoint=function(F,A,t){return new mh(this,F,A,t)},mh.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var F=this.z.redInvm(),A=F.redSqr(),t=this.x.redMul(A),e=this.y.redMul(A).redMul(F);return this.curve.point(t,e)},mh.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},mh.prototype.add=function(F){if(this.isInfinity())return F;if(F.isInfinity())return this;var A=F.z.redSqr(),t=this.z.redSqr(),e=this.x.redMul(A),B=F.x.redMul(t),i=this.y.redMul(A.redMul(F.z)),s=F.y.redMul(t.redMul(this.z)),n=e.redSub(B),r=i.redSub(s);if(0===n.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var o=n.redSqr(),a=o.redMul(n),V=e.redMul(o),h=r.redSqr().redIAdd(a).redISub(V).redISub(V),q=r.redMul(V.redISub(h)).redISub(i.redMul(a)),l=this.z.redMul(F.z).redMul(n);return this.curve.jpoint(h,q,l)},mh.prototype.mixedAdd=function(F){if(this.isInfinity())return F.toJ();if(F.isInfinity())return this;var A=this.z.redSqr(),t=this.x,e=F.x.redMul(A),B=this.y,i=F.y.redMul(A).redMul(this.z),s=t.redSub(e),n=B.redSub(i);if(0===s.cmpn(0))return 0!==n.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var r=s.redSqr(),o=r.redMul(s),a=t.redMul(r),V=n.redSqr().redIAdd(o).redISub(a).redISub(a),h=n.redMul(a.redISub(V)).redISub(B.redMul(o)),q=this.z.redMul(s);return this.curve.jpoint(V,h,q)},mh.prototype.dblp=function(F){if(0===F||this.isInfinity())return this;if(!F)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var A,t=this;for(A=0;A=0)return!1;if(t.redIAdd(B),0===this.x.cmp(t))return!0}},mh.prototype.inspect=function(){return this.isInfinity()?"":""},mh.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var mq=u4(function(F,A){A.base=ms,A.short=ma,A.mont=null,A.edwards=null}),ml=u4(function(F,A){var t,e=mt.assert;function B(F){"short"===F.type?this.curve=new mq.short(F):"edwards"===F.type?this.curve=new mq.edwards(F):this.curve=new mq.mont(F),this.g=this.curve.g,this.n=this.curve.n,this.hash=F.hash,e(this.g.validate(),"Invalid curve"),e(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function i(F,t){Object.defineProperty(A,F,{configurable:!0,enumerable:!0,get:function(){var e=new B(t);return Object.defineProperty(A,F,{configurable:!0,enumerable:!0,value:e}),e}})}A.PresetCurve=B,i("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Fb(u1).sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),i("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Fb(u1).sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),i("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Fb(u1).sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),i("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Fb(u1).sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),i("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Fb(u1).sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),i("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Fb(u1).sha256,gRed:!1,g:["9"]}),i("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Fb(u1).sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{t=null.crash()}catch(F){t=void 0}i("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Fb(u1).sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",t]})});function mc(F){if(!(this instanceof mc))return new mc(F);this.hash=F.hash,this.predResist=!!F.predResist,this.outLen=this.hash.outSize,this.minEntropy=F.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var A=mA.toArray(F.entropy,F.entropyEnc||"hex"),t=mA.toArray(F.nonce,F.nonceEnc||"hex"),e=mA.toArray(F.pers,F.persEnc||"hex");u9(A.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(A,t,e)}mc.prototype._init=function(F,A,t){var e=F.concat(A).concat(t);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var B=0;B=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(F.concat(t||[])),this._reseed=1},mc.prototype.generate=function(F,A,t,e){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof A&&(e=t,t=A,A=null),t&&(t=mA.toArray(t,e||"hex"),this._update(t));for(var B=[];B.length"};var mM=mt.assert;function mI(F,A){if(F instanceof mI)return F;this._importDER(F,A)||(mM(F.r&&F.s,"Signature without r or s"),this.r=new(Fb(u7))(F.r,16),this.s=new(Fb(u7))(F.s,16),void 0===F.recoveryParam?this.recoveryParam=null:this.recoveryParam=F.recoveryParam)}function mp(){this.place=0}function mg(F,A){var t=F[A.place++];if(!(128&t))return t;var e=15&t;if(0===e||e>4)return!1;for(var B=0,i=0,s=A.place;i>>=0;return!(B<=127)&&(A.place=s,B)}function mE(F){for(var A=0,t=F.length-1;!F[A]&&!(128&F[A+1])&&A>>3);for(F.push(128|t);--t;)F.push(A>>>(t<<3)&255);F.push(A)}mI.prototype._importDER=function(F,A){F=mt.toArray(F,A);var t=new mp;if(48!==F[t.place++])return!1;var e=mg(F,t);if(!1===e||e+t.place!==F.length||2!==F[t.place++])return!1;var B=mg(F,t);if(!1===B)return!1;var i=F.slice(t.place,B+t.place);if(t.place+=B,2!==F[t.place++])return!1;var s=mg(F,t);if(!1===s||F.length!==s+t.place)return!1;var n=F.slice(t.place,s+t.place);if(0===i[0]){if(!(128&i[1]))return!1;i=i.slice(1)}if(0===n[0]){if(!(128&n[1]))return!1;n=n.slice(1)}return this.r=new(Fb(u7))(i),this.s=new(Fb(u7))(n),this.recoveryParam=null,!0},mI.prototype.toDER=function(F){var A=this.r.toArray(),t=this.s.toArray();for(128&A[0]&&(A=[0].concat(A)),128&t[0]&&(t=[0].concat(t)),A=mE(A),t=mE(t);!t[0]&&!(128&t[1]);)t=t.slice(1);var e=[2];mC(e,A.length),(e=e.concat(A)).push(2),mC(e,t.length);var B=e.concat(t),i=[48];return mC(i,B.length),i=i.concat(B),mt.encode(i,F)};var md=function(){throw Error("unsupported")},my=mt.assert;function mS(F){if(!(this instanceof mS))return new mS(F);"string"==typeof F&&(my(Object.prototype.hasOwnProperty.call(ml,F),"Unknown curve "+F),F=ml[F]),F instanceof ml.PresetCurve&&(F={curve:F}),this.curve=F.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=F.curve.g,this.g.precompute(F.curve.n.bitLength()+1),this.hash=F.hash||F.curve.hash}mS.prototype.keyPair=function(F){return new mm(this,F)},mS.prototype.keyFromPrivate=function(F,A){return mm.fromPrivate(this,F,A)},mS.prototype.keyFromPublic=function(F,A){return mm.fromPublic(this,F,A)},mS.prototype.genKeyPair=function(F){F||(F={});for(var A=new mc({hash:this.hash,pers:F.pers,persEnc:F.persEnc||"utf8",entropy:F.entropy||md(this.hash.hmacStrength),entropyEnc:F.entropy&&F.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),e=this.n.sub(new(Fb(u7))(2));;){var B=new(Fb(u7))(A.generate(t));if(!(B.cmp(e)>0))return B.iaddn(1),this.keyFromPrivate(B)}},mS.prototype._truncateToN=function(F,A){var t=8*F.byteLength()-this.n.bitLength();return(t>0&&(F=F.ushrn(t)),!A&&F.cmp(this.n)>=0)?F.sub(this.n):F},mS.prototype.sign=function(F,A,t,e){"object"==typeof t&&(e=t,t=null),e||(e={}),A=this.keyFromPrivate(A,t),F=this._truncateToN(new(Fb(u7))(F,16));for(var B=this.n.byteLength(),i=A.getPrivate().toArray("be",B),s=F.toArray("be",B),n=new mc({hash:this.hash,entropy:i,nonce:s,pers:e.pers,persEnc:e.persEnc||"utf8"}),r=this.n.sub(new(Fb(u7))(1)),o=0;;o++){var a=e.k?e.k(o):new(Fb(u7))(n.generate(this.n.byteLength()));if(!(0>=(a=this._truncateToN(a,!0)).cmpn(1)||a.cmp(r)>=0)){var V=this.g.mul(a);if(!V.isInfinity()){var h=V.getX(),q=h.umod(this.n);if(0!==q.cmpn(0)){var l=a.invm(this.n).mul(q.mul(A.getPrivate()).iadd(F));if(0!==(l=l.umod(this.n)).cmpn(0)){var c=(V.getY().isOdd()?1:0)|(0!==h.cmp(q)?2:0);return e.canonical&&l.cmp(this.nh)>0&&(l=this.n.sub(l),c^=1),new mI({r:q,s:l,recoveryParam:c})}}}}}},mS.prototype.verify=function(F,A,t,e){F=this._truncateToN(new(Fb(u7))(F,16)),t=this.keyFromPublic(t,e);var B,i=(A=new mI(A,"hex")).r,s=A.s;if(0>i.cmpn(1)||i.cmp(this.n)>=0||0>s.cmpn(1)||s.cmp(this.n)>=0)return!1;var n=s.invm(this.n),r=n.mul(F).umod(this.n),o=n.mul(i).umod(this.n);return this.curve._maxwellTrick?!(B=this.g.jmulAdd(r,t.getPublic(),o)).isInfinity()&&B.eqXToP(i):!(B=this.g.mulAdd(r,t.getPublic(),o)).isInfinity()&&0===B.getX().umod(this.n).cmp(i)},mS.prototype.recoverPubKey=function(F,A,t,e){my((3&t)===t,"The recovery param is more than two bits"),A=new mI(A,e);var B=this.n,i=new(Fb(u7))(F),s=A.r,n=A.s,r=1&t,o=t>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&o)throw Error("Unable to find sencond key candinate");s=o?this.curve.pointFromX(s.add(this.curve.n),r):this.curve.pointFromX(s,r);var a=A.r.invm(B),V=B.sub(i).mul(a).umod(B),h=n.mul(a).umod(B);return this.g.mulAdd(V,s,h)},mS.prototype.getKeyRecoveryParam=function(F,A,t,e){if(null!==(A=new mI(A,e)).recoveryParam)return A.recoveryParam;for(var B,i=0;i<4;i++){try{B=this.recoverPubKey(F,A,i)}catch(F){continue}if(B.eq(t))return i}throw Error("Unable to find valid recovery factor")};var mQ=u4(function(F,A){A.version="6.5.4",A.utils=mt,A.rand=function(){throw Error("unsupported")},A.curve=mq,A.curves=ml,A.ec=mS,A.eddsa=null}).ec;let mw=new q4("signing-key/5.7.0"),mU=null;function mf(){return mU||(mU=new mQ("secp256k1")),mU}class mk{constructor(F){lg(this,"curve","secp256k1"),lg(this,"privateKey",lV(F)),32!==lh(this.privateKey)&&mw.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");let A=mf().keyFromPrivate(li(this.privateKey));lg(this,"publicKey","0x"+A.getPublic(!1,"hex")),lg(this,"compressedPublicKey","0x"+A.getPublic(!0,"hex")),lg(this,"_isSigningKey",!0)}_addPoint(F){let A=mf().keyFromPublic(li(this.publicKey)),t=mf().keyFromPublic(li(F));return"0x"+A.pub.add(t.pub).encodeCompressed("hex")}signDigest(F){let A=mf().keyFromPrivate(li(this.privateKey)),t=li(F);32!==t.length&&mw.throwArgumentError("bad digest length","digest",F);let e=A.sign(t,{canonical:!0});return lM({recoveryParam:e.recoveryParam,r:lm("0x"+e.r.toString(16),32),s:lm("0x"+e.s.toString(16),32)})}computeSharedSecret(F){let A=mf().keyFromPrivate(li(this.privateKey)),t=mf().keyFromPublic(li(mD(F)));return lm("0x"+A.derive(t.getPublic()).toString(16),32)}static isSigningKey(F){return!!(F&&F._isSigningKey)}}function mT(F,A){let t=lM(A),e={r:li(t.r),s:li(t.s)};return"0x"+mf().recoverPubKey(li(F),e,t.recoveryParam).encode("hex",!1)}function mD(F,A){let t=li(F);if(32===t.length){let F=new mk(t);return A?"0x"+mf().keyFromPrivate(t).getPublic(!0,"hex"):F.publicKey}return 33===t.length?A?lV(t):"0x"+mf().keyFromPublic(t).getPublic(!1,"hex"):65===t.length?A?"0x"+mf().keyFromPublic(t).getPublic(!0,"hex"):lV(t):mw.throwArgumentError("invalid public or private key","key","[REDACTED]")}let mZ=new q4("transactions/5.7.0");function mR(F){return"0x"===F?null:co(F)}function mz(F){return"0x"===F?cS:lz.from(F)}(Ay=AZ||(AZ={}))[Ay.legacy=0]="legacy",Ay[Ay.eip2930=1]="eip2930",Ay[Ay.eip1559=2]="eip1559";let mG=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],mL={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function mY(F){return co(lq(l8(lq(mD(F),1)),12))}function mv(F,A){return mY(mT(li(F),A))}function mK(F,A){let t=ln(lz.from(F).toHexString());return t.length>32&&mZ.throwArgumentError("invalid length for "+A,"transaction:"+A,F),t}function mN(F,A){return{address:co(F),storageKeys:(A||[]).map((A,t)=>(32!==lh(A)&&mZ.throwArgumentError("invalid access list storageKey",`accessList[${F}:${t}]`,A),A.toLowerCase()))}}function mx(F){if(Array.isArray(F))return F.map((F,A)=>Array.isArray(F)?(F.length>2&&mZ.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${A}]`,F),mN(F[0],F[1])):mN(F.address,F.storageKeys));let A=Object.keys(F).map(A=>{let t=F[A].reduce((F,A)=>(F[A]=!0,F),{});return mN(A,Object.keys(t).sort())});return A.sort((F,A)=>F.address.localeCompare(A.address)),A}function mJ(F){return mx(F).map(F=>[F.address,F.storageKeys])}function mO(F,A){if(null!=F.gasPrice){let A=lz.from(F.gasPrice),t=lz.from(F.maxFeePerGas||0);A.eq(t)||mZ.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:A,maxFeePerGas:t})}let t=[mK(F.chainId||0,"chainId"),mK(F.nonce||0,"nonce"),mK(F.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),mK(F.maxFeePerGas||0,"maxFeePerGas"),mK(F.gasLimit||0,"gasLimit"),null!=F.to?co(F.to):"0x",mK(F.value||0,"value"),F.data||"0x",mJ(F.accessList||[])];if(A){let F=lM(A);t.push(mK(F.recoveryParam,"recoveryParam")),t.push(ln(F.r)),t.push(ln(F.s))}return ll(["0x02",cF(t)])}function mj(F,A){let t=[mK(F.chainId||0,"chainId"),mK(F.nonce||0,"nonce"),mK(F.gasPrice||0,"gasPrice"),mK(F.gasLimit||0,"gasLimit"),null!=F.to?co(F.to):"0x",mK(F.value||0,"value"),F.data||"0x",mJ(F.accessList||[])];if(A){let F=lM(A);t.push(mK(F.recoveryParam,"recoveryParam")),t.push(ln(F.r)),t.push(ln(F.s))}return ll(["0x01",cF(t)])}function mb(F,A){if(null==F.type||0===F.type)return null!=F.accessList&&mZ.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",F),function(F,A){ld(F,mL);let t=[];mG.forEach(function(A){let e=F[A.name]||[],B={};A.numeric&&(B.hexPad="left"),e=li(lV(e,B)),A.length&&e.length!==A.length&&e.length>0&&mZ.throwArgumentError("invalid length for "+A.name,"transaction:"+A.name,e),A.maxLength&&(e=ln(e)).length>A.maxLength&&mZ.throwArgumentError("invalid length for "+A.name,"transaction:"+A.name,e),t.push(lV(e))});let e=0;if(null!=F.chainId?"number"!=typeof(e=F.chainId)&&mZ.throwArgumentError("invalid transaction.chainId","transaction",F):A&&!lt(A)&&A.v>28&&(e=Math.floor((A.v-35)/2)),0!==e&&(t.push(lV(e)),t.push("0x"),t.push("0x")),!A)return cF(t);let B=lM(A),i=27+B.recoveryParam;return 0!==e?(t.pop(),t.pop(),t.pop(),i+=2*e+8,B.v>28&&B.v!==i&&mZ.throwArgumentError("transaction.chainId/signature.v mismatch","signature",A)):B.v!==i&&mZ.throwArgumentError("transaction.chainId/signature.v mismatch","signature",A),t.push(lV(i)),t.push(ln(li(B.r))),t.push(ln(li(B.s))),cF(t)}(F,A);switch(F.type){case 1:return mj(F,A);case 2:return mO(F,A)}return mZ.throwError(`unsupported transaction type: ${F.type}`,q4.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:F.type})}function mP(F,A,t){try{let t=mz(A[0]).toNumber();if(0!==t&&1!==t)throw Error("bad recid");F.v=t}catch(F){mZ.throwArgumentError("invalid v for transaction type: 1","v",A[0])}F.r=lm(A[1],32),F.s=lm(A[2],32);try{let A=l8(t(F));F.from=mv(A,{r:F.r,s:F.s,recoveryParam:F.v})}catch(F){}}function mW(F){let A=li(F);if(A[0]>127)return function(F){let A=ce(F);9!==A.length&&6!==A.length&&mZ.throwArgumentError("invalid raw transaction","rawTransaction",F);let t={nonce:mz(A[0]).toNumber(),gasPrice:mz(A[1]),gasLimit:mz(A[2]),to:mR(A[3]),value:mz(A[4]),data:A[5],chainId:0};if(6===A.length)return t;try{t.v=lz.from(A[6]).toNumber()}catch(F){return t}if(t.r=lm(A[7],32),t.s=lm(A[8],32),lz.from(t.r).isZero()&&lz.from(t.s).isZero())t.chainId=t.v,t.v=0;else{t.chainId=Math.floor((t.v-35)/2),t.chainId<0&&(t.chainId=0);let e=t.v-27,B=A.slice(0,6);0!==t.chainId&&(B.push(lV(t.chainId)),B.push("0x"),B.push("0x"),e-=2*t.chainId+8);let i=l8(cF(B));try{t.from=mv(i,{r:lV(t.r),s:lV(t.s),recoveryParam:e})}catch(F){}t.hash=l8(F)}return t.type=null,t}(A);switch(A[0]){case 1:return function(F){let A=ce(F.slice(1));8!==A.length&&11!==A.length&&mZ.throwArgumentError("invalid component count for transaction type: 1","payload",lV(F));let t={type:1,chainId:mz(A[0]).toNumber(),nonce:mz(A[1]).toNumber(),gasPrice:mz(A[2]),gasLimit:mz(A[3]),to:mR(A[4]),value:mz(A[5]),data:A[6],accessList:mx(A[7])};return 8===A.length||(t.hash=l8(F),mP(t,A.slice(8),mj)),t}(A);case 2:return function(F){let A=ce(F.slice(1));9!==A.length&&12!==A.length&&mZ.throwArgumentError("invalid component count for transaction type: 2","payload",lV(F));let t=mz(A[2]),e=mz(A[3]),B={type:2,chainId:mz(A[0]).toNumber(),nonce:mz(A[1]).toNumber(),maxPriorityFeePerGas:t,maxFeePerGas:e,gasPrice:null,gasLimit:mz(A[4]),to:mR(A[5]),value:mz(A[6]),data:A[7],accessList:mx(A[8])};return 9===A.length||(B.hash=l8(F),mP(B,A.slice(9),mO)),B}(A)}return mZ.throwError(`unsupported transaction type: ${A[0]}`,q4.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:A[0]})}let mH=new q4("wordlists/5.7.0");class mX{constructor(F){mH.checkAbstract(new.target,mX),lg(this,"locale",F)}split(F){return F.toLowerCase().split(/ +/g)}join(F){return F.join(" ")}static check(F){let A=[];for(let t=0;t<2048;t++){let e=F.getWord(t);if(t!==F.getWordIndex(e))return"0x";A.push(e)}return us(A.join("\n")+"\n")}static register(F,A){A||(A=F.locale)}}let m_=null;function m$(F){if(null==m_&&(m_="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==mX.check(F)))throw m_=null,Error("BIP39 Wordlist for en (English) FAILED")}let m2=new class extends mX{constructor(){super("en")}getWord(F){return m$(this),m_[F]}getWordIndex(F){return m$(this),m_.indexOf(F)}};mX.register(m2);let m1={en:m2},m0=new q4("hdnode/5.7.0"),m5=lz.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),m3=cZ("Bitcoin seed");function m8(F){return(1<=256)throw Error("Depth too large!");return m7(ls([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",lV(this.depth),this.parentFingerprint,lm(lV(this.index),4),this.chainCode,null!=this.privateKey?ls(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new MA(m9,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(F){if(F>4294967295)throw Error("invalid index - "+String(F));let A=this.path;A&&(A+="/"+(2147483647&F));let t=new Uint8Array(37);if(2147483648&F){if(!this.privateKey)throw Error("cannot derive child of neutered node");t.set(li(this.privateKey),1),A&&(A+="'")}else t.set(li(this.publicKey));for(let A=24;A>=0;A-=8)t[33+(A>>3)]=F>>24-A&255;let e=li(u6(AD.sha512,this.chainCode,t)),B=e.slice(0,32),i=e.slice(32),s=null,n=null;this.privateKey?s=m6(lz.from(B).add(this.privateKey).mod(m5)):n=new mk(lV(B))._addPoint(this.publicKey);let r=A,o=this.mnemonic;return o&&(r=Object.freeze({phrase:o.phrase,path:A,locale:o.locale||"en"})),new MA(m9,s,n,this.fingerprint,m6(i),F,this.depth+1,r)}derivePath(F){let A=F.split("/");if(0===A.length||"m"===A[0]&&0!==this.depth)throw Error("invalid path - "+F);"m"===A[0]&&A.shift();let t=this;for(let F=0;F=2147483648)throw Error("invalid path index - "+e);t=t._derive(2147483648+F)}else if(e.match(/^[0-9]+$/)){let F=parseInt(e);if(F>=2147483648)throw Error("invalid path index - "+e);t=t._derive(F)}else throw Error("invalid path component - "+e)}return t}static _fromSeed(F,A){let t=li(F);if(t.length<16||t.length>64)throw Error("invalid seed");let e=li(u6(AD.sha512,m3,t));return new MA(m9,m6(e.slice(0,32)),null,"0x00000000",m6(e.slice(32)),0,0,A)}static fromMnemonic(F,A,t){return t=m4(t),F=MB(Me(F,t),t),MA._fromSeed(Mt(F,A),{phrase:F,path:"m",locale:t.locale})}static fromSeed(F){return MA._fromSeed(F,null)}static fromExtendedKey(F){let A=uI.decode(F);(82!==A.length||m7(A.slice(0,78))!==F)&&m0.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");let t=A[4],e=lV(A.slice(5,9)),B=parseInt(lV(A.slice(9,13)).substring(2),16),i=lV(A.slice(13,45)),s=A.slice(45,78);switch(lV(A.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new MA(m9,null,lV(s),e,i,B,t,null);case"0x0488ade4":case"0x04358394 ":if(0!==s[0])break;return new MA(m9,lV(s.slice(1)),null,e,i,B,t,null)}return m0.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function Mt(F,A){A||(A="");let t=cZ("mnemonic"+A,Ak.NFKD);return function(F,A,t,e,B){let i,s,n;F=li(F),A=li(A);let r=1,o=new Uint8Array(64),a=new Uint8Array(A.length+4);a.set(A);for(let t=1;t<=r;t++){a[A.length]=t>>24&255,a[A.length+1]=t>>16&255,a[A.length+2]=t>>8&255,a[A.length+3]=255&t;let e=li(u6(B,F,a));i||(n=new Uint8Array(i=e.length),s=64-((r=Math.ceil(64/i))-1)*i),n.set(e);for(let A=1;A<2048;A++){e=li(u6(B,F,e));for(let F=0;F>3]|=1<<7-B%8),B++}let i=32*t.length/3,s=m8(t.length/3);if((li(u3(e.slice(0,i/8)))[0]&s)!=(e[e.length-1]&s))throw Error("invalid checksum");return lV(e.slice(0,i/8))}function MB(F,A){if(A=m4(A),(F=li(F)).length%4!=0||F.length<16||F.length>32)throw Error("invalid entropy");let t=[0],e=11;for(let A=0;A8?(t[t.length-1]<<=8,t[t.length-1]|=F[A],e-=8):(t[t.length-1]<<=e,t[t.length-1]|=F[A]>>8-e,t.push(F[A]&(1<<8-e)-1),e+=3);let B=F.length/4,i=li(u3(F))[0]&m8(B);return t[t.length-1]<<=B,t[t.length-1]|=i>>8-B,A.join(t.map(F=>A.getWord(F)))}function Mi(F,A){try{return Me(F,A),!0}catch(F){}return!1}function Ms(F){return("number"!=typeof F||F<0||F>=2147483648||F%1)&&m0.throwArgumentError("invalid account index","index",F),`m/44'/60'/${F}'/0/0`}function Mn(F){if(function(F){let A=null;try{A=JSON.parse(F)}catch(F){return!1}return A.encseed&&A.ethaddr}(F))try{return co(JSON.parse(F).ethaddr)}catch(F){return null}if(function(F){let A=null;try{A=JSON.parse(F)}catch(F){return!1}return!!A.version&&parseInt(A.version)===A.version&&3===parseInt(A.version)}(F))try{return co(JSON.parse(F).address)}catch(F){}return null}let Mr=RegExp("^bytes([0-9]+)$"),Mo=RegExp("^(u?int)([0-9]*)$"),Ma=RegExp("^(.*)\\[([0-9]*)\\]$"),MV=new q4("solidity/5.7.0");function Mh(F,A){F.length!=A.length&&MV.throwArgumentError("wrong number of values; expected ${ types.length }","values",A);let t=[];return F.forEach(function(F,e){t.push(function F(A,t,e){switch(A){case"address":if(e)return lr(t,32);return li(t);case"string":return cZ(t);case"bytes":return li(t);case"bool":if(t=t?"0x01":"0x00",e)return lr(t,32);return li(t)}let B=A.match(Mo);if(B){let F=parseInt(B[2]||"256");return(B[2]&&String(F)!==B[2]||F%8!=0||0===F||F>256)&&MV.throwArgumentError("invalid number type","type",A),e&&(F=256),lr(t=lz.from(t).toTwos(F),F/8)}if(B=A.match(Mr)){let F=parseInt(B[1]);return((String(F)!==B[1]||0===F||F>32)&&MV.throwArgumentError("invalid bytes type","type",A),li(t).byteLength!==F&&MV.throwArgumentError(`invalid value for ${A}`,"value",t),e)?li((t+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):t}if((B=A.match(Ma))&&Array.isArray(t)){let e=B[1];parseInt(B[2]||String(t.length))!=t.length&&MV.throwArgumentError(`invalid array length for ${A}`,"value",t);let i=[];return t.forEach(function(A){i.push(F(e,A,!0))}),ls(i)}return MV.throwArgumentError("invalid type","type",A)}(F,A[e]))}),lV(ls(t))}function Mq(F,A){return l8(Mh(F,A))}function Ml(F,A){return u3(Mh(F,A))}let Mc=new q4("random/5.7.0"),Mu=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==AR)return AR;throw Error("unable to locate global object")}(),Mm=Mu.crypto||Mu.msCrypto;function MM(F){(F<=0||F>1024||F%1||F!=F)&&Mc.throwArgumentError("invalid length","length",F);let A=new Uint8Array(F);return Mm.getRandomValues(A),li(A)}function MI(F){F=F.slice();for(let A=F.length-1;A>0;A--){let t=Math.floor(Math.random()*(A+1)),e=F[A];F[A]=F[t],F[t]=e}return F}function Mp(F){let A=cZ(F);if(A.length>31)throw Error("bytes32 string must be less than 32 bytes");return lV(ls([A,"0x0000000000000000000000000000000000000000000000000000000000000000"]).slice(0,32))}function Mg(F){let A=li(F);if(32!==A.length)throw Error("invalid bytes32 - not 32 bytes long");if(0!==A[31])throw Error("invalid bytes32 string - no null terminator");let t=31;for(;0===A[t-1];)t--;return cL(A.slice(0,t))}function ME(F,A){A||(A=function(F){return[parseInt(F,16)]});let t=0,e={};return F.split(",").forEach(F=>{let B=F.split(":");e[t+=parseInt(B[0],16)]=A(B[1])}),e}function MC(F){let A=0;return F.split(",").map(F=>{let t=F.split("-");return 1===t.length?t[1]="0":""===t[1]&&(t[1]="1"),{l:A+parseInt(t[0],16),h:A=parseInt(t[1],16)}})}function Md(F,A){let t=0;for(let e=0;e=(t+=B.l)&&F<=t+B.h&&(F-t)%(B.d||1)==0){if(B.e&&-1!==B.e.indexOf(F-t))continue;return B}}return null}Mm&&Mm.getRandomValues||(Mc.warn("WARNING: Missing strong random number source"),Mm={getRandomValues:function(F){return Mc.throwError("no secure random source avaialble",q4.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});let My=MC("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),MS="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(F=>parseInt(F,16)),MQ=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Mw=ME("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),MU=ME("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),Mf=ME("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",function(F){if(F.length%4!=0)throw Error("bad data");let A=[];for(let t=0;tMS.indexOf(F)>=0||F>=65024&&F<=65039?[]:function(F){let A=Md(F,MQ);if(A)return[F+A.s];let t=Mw[F];if(t)return t;let e=MU[F];return e?[F+e[0]]:Mf[F]||null}(F)||[F]).reduce((F,A)=>(A.forEach(A=>{F.push(A)}),F),[])),Ak.NFKC)).forEach(F=>{if(Md(F,Mk))throw Error("STRINGPREP_CONTAINS_PROHIBITED")}),A.forEach(F=>{if(Md(F,My))throw Error("STRINGPREP_CONTAINS_UNASSIGNED")});let t=cG(A);if("-"===t.substring(0,1)||"--"===t.substring(2,4)||"-"===t.substring(t.length-1))throw Error("invalid hyphen");return t}let MD=new q4(lk),MZ={},MR=lz.from(0),Mz=lz.from(-1);function MG(F,A,t,e){let B={fault:A,operation:t};return void 0!==e&&(B.value=e),MD.throwError(F,q4.errors.NUMERIC_FAULT,B)}let ML="0";for(;ML.length<256;)ML+=ML;function MY(F){if("number"!=typeof F)try{F=lz.from(F).toNumber()}catch(F){}return"number"==typeof F&&F>=0&&F<=256&&!(F%1)?"1"+ML.substring(0,F):MD.throwArgumentError("invalid decimal size","decimals",F)}function Mv(F,A){null==A&&(A=0);let t=MY(A),e=(F=lz.from(F)).lt(MR);e&&(F=F.mul(Mz));let B=F.mod(t).toString();for(;B.length2&&MD.throwArgumentError("too many decimal points","value",F);let i=B[0],s=B[1];for(i||(i="0"),s||(s="0");"0"===s[s.length-1];)s=s.substring(0,s.length-1);for(s.length>t.length-1&&MG("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.lengthnull==F[A]?e:(typeof F[A]!==t&&MD.throwArgumentError("invalid fixed format ("+A+" not "+t+")","format."+A,F[A]),F[A]);A=B("signed","boolean",A),t=B("width","number",t),e=B("decimals","number",e)}return t%8&&MD.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",t),e>80&&MD.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",e),new MN(MZ,A,t,e)}}class Mx{constructor(F,A,t,e){F!==MZ&&MD.throwError("cannot use FixedNumber constructor; use FixedNumber.from",q4.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=e,this._hex=A,this._value=t,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(F){this.format.name!==F.format.name&&MD.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",F)}addUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.add(t),this.format.decimals,this.format)}subUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.sub(t),this.format.decimals,this.format)}mulUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.mul(t).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(F){this._checkFormat(F);let A=MK(this._value,this.format.decimals),t=MK(F._value,F.format.decimals);return Mx.fromValue(A.mul(this.format._multiplier).div(t),this.format.decimals,this.format)}floor(){let F=this.toString().split(".");1===F.length&&F.push("0");let A=Mx.from(F[0],this.format),t=!F[1].match(/^(0*)$/);return this.isNegative()&&t&&(A=A.subUnsafe(MJ.toFormat(A.format))),A}ceiling(){let F=this.toString().split(".");1===F.length&&F.push("0");let A=Mx.from(F[0],this.format),t=!F[1].match(/^(0*)$/);return!this.isNegative()&&t&&(A=A.addUnsafe(MJ.toFormat(A.format))),A}round(F){null==F&&(F=0);let A=this.toString().split(".");if(1===A.length&&A.push("0"),(F<0||F>80||F%1)&&MD.throwArgumentError("invalid decimal count","decimals",F),A[1].length<=F)return this;let t=Mx.from("1"+ML.substring(0,F),this.format),e=MO.toFormat(this.format);return this.mulUnsafe(t).addUnsafe(e).floor().divUnsafe(t)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(F){return null==F?this._hex:(F%8&&MD.throwArgumentError("invalid byte width","width",F),lm(lz.from(this._hex).fromTwos(this.format.width).toTwos(F).toHexString(),F/8))}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(F){return Mx.fromString(this._value,F)}static fromValue(F,A,t){var e;return null!=t||null==A||null!=(e=A)&&(lz.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&e.match(/^-?[0-9]+$/)||lo(e)||"bigint"==typeof e||lB(e))||(t=A,A=null),null==A&&(A=0),null==t&&(t="fixed"),Mx.fromString(Mv(F,A),MN.from(t))}static fromString(F,A){null==A&&(A="fixed");let t=MN.from(A),e=MK(F,t.decimals);!t.signed&&e.lt(MR)&&MG("unsigned value cannot be negative","overflow","value",F);let B=null;return new Mx(MZ,t.signed?e.toTwos(t.width).toHexString():lm(e.toHexString(),t.width/8),Mv(e,t.decimals),t)}static fromBytes(F,A){null==A&&(A="fixed");let t=MN.from(A);if(li(F).length>t.width/8)throw Error("overflow");let e=lz.from(F);return t.signed&&(e=e.fromTwos(t.width)),new Mx(MZ,e.toTwos((t.signed?0:1)+t.width).toHexString(),Mv(e,t.decimals),t)}static from(F,A){if("string"==typeof F)return Mx.fromString(F,A);if(lB(F))return Mx.fromBytes(F,A);try{return Mx.fromValue(F,0,A)}catch(F){if(F.code!==q4.errors.INVALID_ARGUMENT)throw F}return MD.throwArgumentError("invalid FixedNumber value","value",F)}static isFixedNumber(F){return!!(F&&F._isFixedNumber)}}let MJ=Mx.from(1),MO=Mx.from("0.5"),Mj=new q4("units/5.7.0"),Mb=["wei","kwei","mwei","gwei","szabo","finney","ether"];function MP(F){let A=String(F).split(".");(A.length>2||!A[0].match(/^-?[0-9]*$/)||A[1]&&!A[1].match(/^[0-9]*$/)||"."===F||"-."===F)&&Mj.throwArgumentError("invalid value","value",F);let t=A[0],e="";for("-"===t.substring(0,1)&&(e="-",t=t.substring(1));"0"===t.substring(0,1);)t=t.substring(1);""===t&&(t="0");let B="";for(2===A.length&&(B="."+(A[1]||"0"));B.length>2&&"0"===B[B.length-1];)B=B.substring(0,B.length-1);let i=[];for(;t.length;)if(t.length<=3){i.unshift(t);break}else{let F=t.length-3;i.unshift(t.substring(F)),t=t.substring(0,F)}return e+i.join(",")+B}function MW(F,A){if("string"==typeof A){let F=Mb.indexOf(A);-1!==F&&(A=3*F)}return Mv(F,null!=A?A:18)}function MH(F,A){if("string"!=typeof F&&Mj.throwArgumentError("value must be a string","value",F),"string"==typeof A){let F=Mb.indexOf(A);-1!==F&&(A=3*F)}return MK(F,null!=A?A:18)}function MX(F){return MW(F,18)}function M_(F){return MH(F,18)}new q4("abstract-provider/5.7.0"),new q4("abstract-signer/5.7.0"),q4.errors.INSUFFICIENT_FUNDS,q4.errors.NONCE_EXPIRED,q4.errors.REPLACEMENT_UNDERPRICED;!function(F){function A(F){return parseInt(F)===F}function t(F){if(!A(F.length))return!1;for(var t=0;t255)return!1;return!0}function e(F,e){if(F.buffer&&ArrayBuffer.isView(F)&&"Uint8Array"===F.name)return e&&(F=F.slice?F.slice():Array.prototype.slice.call(F)),F;if(Array.isArray(F)){if(!t(F))throw Error("Array contains invalid value: "+F);return new Uint8Array(F)}if(A(F.length)&&t(F))return new Uint8Array(F);throw Error("unsupported array-like object")}function B(F){return new Uint8Array(F)}function i(F,A,t,e,B){(null!=e||null!=B)&&(F=F.slice?F.slice(e,B):Array.prototype.slice.call(F,e,B)),A.set(F,t)}s="0123456789abcdef";var s,n={16:10,24:12,32:14},r=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],o=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],a=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],V=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],h=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],q=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],l=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],c=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],u=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],m=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],M=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],I=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],p=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],g=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],E=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function C(F){for(var A=[],t=0;t>2,this._Ke[i][A%4]=B[A],this._Kd[F-i][A%4]=B[A];for(var i,s,a=0,V=e;V>16&255]<<24^o[s>>8&255]<<16^o[255&s]<<8^o[s>>24&255]^r[a]<<24,a+=1,8!=e)for(var A=1;A>8&255]<<8^o[s>>16&255]<<16^o[s>>24&255]<<24;for(var A=e/2+1;A>2,q=V%4,this._Ke[h][q]=B[A],this._Kd[F-h][q]=B[A++],V++}for(var h=1;h>24&255]^p[s>>16&255]^g[s>>8&255]^E[255&s]},d.prototype.encrypt=function(F){if(16!=F.length)throw Error("invalid plaintext size (must be 16 bytes)");for(var A=this._Ke.length-1,t=[0,0,0,0],e=C(F),i=0;i<4;i++)e[i]^=this._Ke[0][i];for(var s=1;s>24&255]^h[e[(i+1)%4]>>16&255]^q[e[(i+2)%4]>>8&255]^l[255&e[(i+3)%4]]^this._Ke[s][i];e=t.slice()}for(var n,r=B(16),i=0;i<4;i++)n=this._Ke[A][i],r[4*i]=(o[e[i]>>24&255]^n>>24)&255,r[4*i+1]=(o[e[(i+1)%4]>>16&255]^n>>16)&255,r[4*i+2]=(o[e[(i+2)%4]>>8&255]^n>>8)&255,r[4*i+3]=(o[255&e[(i+3)%4]]^n)&255;return r},d.prototype.decrypt=function(F){if(16!=F.length)throw Error("invalid ciphertext size (must be 16 bytes)");for(var A=this._Kd.length-1,t=[0,0,0,0],e=C(F),i=0;i<4;i++)e[i]^=this._Kd[0][i];for(var s=1;s>24&255]^u[e[(i+3)%4]>>16&255]^m[e[(i+2)%4]>>8&255]^M[255&e[(i+1)%4]]^this._Kd[s][i];e=t.slice()}for(var n,r=B(16),i=0;i<4;i++)n=this._Kd[A][i],r[4*i]=(a[e[i]>>24&255]^n>>24)&255,r[4*i+1]=(a[e[(i+3)%4]>>16&255]^n>>16)&255,r[4*i+2]=(a[e[(i+2)%4]>>8&255]^n>>8)&255,r[4*i+3]=(a[255&e[(i+1)%4]]^n)&255;return r};var y=function(F){if(!(this instanceof y))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new d(F)};y.prototype.encrypt=function(F){if((F=e(F)).length%16!=0)throw Error("invalid plaintext size (must be multiple of 16 bytes)");for(var A=B(F.length),t=B(16),s=0;s=0;--A)this._counter[A]=F%256,F>>=8},U.prototype.setBytes=function(F){if(16!=(F=e(F,!0)).length)throw Error("invalid counter bytes size (must be 16 bytes)");this._counter=F},U.prototype.increment=function(){for(var F=15;F>=0;F--)if(255===this._counter[F])this._counter[F]=0;else{this._counter[F]++;break}};var f=function(F,A){if(!(this instanceof f))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",A instanceof U||(A=new U(A)),this._counter=A,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new d(F)};f.prototype.encrypt=function(F){for(var A=e(F,!0),t=0;t=64;){let q=t,l=e,c=B,u=i,m=s,M=n,I=r,p=o,g,E,C,d,y;for(E=0;E<16;E++)C=V+4*E,a[E]=(255&F[C])<<24|(255&F[C+1])<<16|(255&F[C+2])<<8|255&F[C+3];for(E=16;E<64;E++)d=((g=a[E-2])>>>17|g<<15)^(g>>>19|g<<13)^g>>>10,y=((g=a[E-15])>>>7|g<<25)^(g>>>18|g<<14)^g>>>3,a[E]=(d+a[E-7]|0)+(y+a[E-16]|0)|0;for(E=0;E<64;E++)d=(((m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&M^~m&I)|0)+(p+(A[E]+a[E]|0)|0)|0,y=((q>>>2|q<<30)^(q>>>13|q<<19)^(q>>>22|q<<10))+(q&l^q&c^l&c)|0,p=I,I=M,M=m,m=u+d|0,u=c,c=l,l=q,q=d+y|0;t=t+q|0,e=e+l|0,B=B+c|0,i=i+u|0,s=s+m|0,n=n+M|0,r=r+I|0,o=o+p|0,V+=64,h-=64}}V(F);let h,q=F.length%64,l=F.length/536870912|0,c=F.length<<3,u=q<56?56:120,m=F.slice(F.length-q,F.length);for(m.push(128),h=q+1;h>>24&255),m.push(l>>>16&255),m.push(l>>>8&255),m.push(l>>>0&255),m.push(c>>>24&255),m.push(c>>>16&255),m.push(c>>>8&255),m.push(c>>>0&255),V(m),[t>>>24&255,t>>>16&255,t>>>8&255,t>>>0&255,e>>>24&255,e>>>16&255,e>>>8&255,e>>>0&255,B>>>24&255,B>>>16&255,B>>>8&255,B>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255]}function t(F,t,e){let B;F=F.length<=64?F:A(F);let i=64+t.length+4,s=Array(i),n=Array(64),r=[];for(B=0;B<64;B++)s[B]=54;for(B=0;B=i-4;F--){if(s[F]++,s[F]<=255)return;s[F]=0}}for(;e>=32;)o(),r=r.concat(A(n.concat(A(s)))),e-=32;return e>0&&(o(),r=r.concat(A(n.concat(A(s))).slice(0,e))),r}function e(F,A,t,e,n){let r;for(s(F,(2*t-1)*16,n,0,16),r=0;r<2*t;r++)i(F,16*r,n,16),function(F,A){s(F,0,A,0,16);for(let F=8;F>0;F-=2)A[4]^=B(A[0]+A[12],7),A[8]^=B(A[4]+A[0],9),A[12]^=B(A[8]+A[4],13),A[0]^=B(A[12]+A[8],18),A[9]^=B(A[5]+A[1],7),A[13]^=B(A[9]+A[5],9),A[1]^=B(A[13]+A[9],13),A[5]^=B(A[1]+A[13],18),A[14]^=B(A[10]+A[6],7),A[2]^=B(A[14]+A[10],9),A[6]^=B(A[2]+A[14],13),A[10]^=B(A[6]+A[2],18),A[3]^=B(A[15]+A[11],7),A[7]^=B(A[3]+A[15],9),A[11]^=B(A[7]+A[3],13),A[15]^=B(A[11]+A[7],18),A[1]^=B(A[0]+A[3],7),A[2]^=B(A[1]+A[0],9),A[3]^=B(A[2]+A[1],13),A[0]^=B(A[3]+A[2],18),A[6]^=B(A[5]+A[4],7),A[7]^=B(A[6]+A[5],9),A[4]^=B(A[7]+A[6],13),A[5]^=B(A[4]+A[7],18),A[11]^=B(A[10]+A[9],7),A[8]^=B(A[11]+A[10],9),A[9]^=B(A[8]+A[11],13),A[10]^=B(A[9]+A[8],18),A[12]^=B(A[15]+A[14],7),A[13]^=B(A[12]+A[15],9),A[14]^=B(A[13]+A[12],13),A[15]^=B(A[14]+A[13],18);for(let t=0;t<16;++t)F[t]+=A[t]}(n,e),s(n,0,F,A+16*r,16);for(r=0;r>>32-A}function i(F,A,t,e){for(let B=0;B=256)return!1}return!0}function r(F,A){if("number"!=typeof F||F%1)throw Error("invalid "+A);return F}function o(F,A,B,o,a,V,h){let q;if(B=r(B,"N"),o=r(o,"r"),a=r(a,"p"),V=r(V,"dkLen"),0===B||(B&B-1)!=0)throw Error("N must be power of 2");if(B>2147483647/128/o)throw Error("N too large");if(o>2147483647/128/a)throw Error("r too large");if(!n(F))throw Error("password must be an array or buffer");if(F=Array.prototype.slice.call(F),!n(A))throw Error("salt must be an array or buffer");A=Array.prototype.slice.call(A);let l=t(F,A,128*a*o),c=new Uint32Array(32*a*o);for(let F=0;Fw&&(A=w);for(let F=0;Fw&&(A=w);for(let F=0;F>0&255),l.push(c[F]>>8&255),l.push(c[F]>>16&255),l.push(c[F]>>24&255);let n=t(F,l,V);return h&&h(null,1,n),n}h&&U(f)};if(!h)for(;;){let F=f();if(void 0!=F)return F}f()}let a={scrypt:function(F,A,t,e,B,i,s){return new Promise(function(n,r){let a=0;s&&s(0),o(F,A,t,e,B,i,function(F,A,t){if(F)r(F);else if(t)s&&1!==a&&s(1),n(new Uint8Array(t));else if(s&&A!==a)return a=A,s(A)})})},syncScrypt:function(F,A,t,e,B,i){return new Uint8Array(o(F,A,t,e,B,i))}};void 0!==M2?M2=a:"function"==typeof define&&define.amd?define(a):F&&(F.scrypt&&(F._scrypt=F.scrypt),F.scrypt=a)}(M2),new q4(M$),new q4("wallet/5.7.0");let M5=new q4("web/5.7.1");function M3(F){return new Promise(A=>{setTimeout(A,F)})}function M8(F,A){if(null==F)return null;if("string"==typeof F)return F;if(lt(F)){if(A&&("text"===A.split("/")[0]||"application/json"===A.split(";")[0].trim()))try{return cL(F)}catch(F){}return lV(F)}return F}function M6(F,A,t){let e;let B="object"==typeof F&&null!=F.throttleLimit?F.throttleLimit:12;M5.assertArgument(B>0&&B%1==0,"invalid connection throttle limit","connection.throttleLimit",B);let i="object"==typeof F?F.throttleCallback:null,s="object"==typeof F&&"number"==typeof F.throttleSlotInterval?F.throttleSlotInterval:100;M5.assertArgument(s>0&&s%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",s);let n="object"==typeof F&&!!F.errorPassThrough,r={},o=null,a={method:"GET"},V=!1,h=12e4;if("string"==typeof F)o=F;else if("object"==typeof F){if((null==F||null==F.url)&&M5.throwArgumentError("missing URL","connection.url",F),o=F.url,"number"==typeof F.timeout&&F.timeout>0&&(h=F.timeout),F.headers)for(let A in F.headers)r[A.toLowerCase()]={key:A,value:String(F.headers[A])},["if-none-match","if-modified-since"].indexOf(A.toLowerCase())>=0&&(V=!0);if(a.allowGzip=!!F.allowGzip,null!=F.user&&null!=F.password){"https:"!==o.substring(0,6)&&!0!==F.allowInsecureAuthentication&&M5.throwError("basic authentication requires a secure https url",q4.errors.INVALID_ARGUMENT,{argument:"url",url:o,user:F.user,password:"[REDACTED]"});let A=F.user+":"+F.password;r.authorization={key:"Authorization",value:"Basic "+um(cZ(A))}}null!=F.skipFetchSetup&&(a.skipFetchSetup=!!F.skipFetchSetup),null!=F.fetchOptions&&(a.fetchOptions=ly(F.fetchOptions))}let q=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),l=o?o.match(q):null;if(l)try{var c;let F={statusCode:200,statusMessage:"OK",headers:{"content-type":l[1]||"text/plain"},body:l[2]?uu(l[3]):(c=l[3],cZ(c.replace(/%([0-9a-f][0-9a-f])/gi,(F,A)=>String.fromCharCode(parseInt(A,16)))))},A=F.body;return t&&(A=t(F.body,F)),Promise.resolve(A)}catch(F){M5.throwError("processing response error",q4.errors.SERVER_ERROR,{body:M8(l[1],l[2]),error:F,requestBody:null,requestMethod:"GET",url:o})}A&&(a.method="POST",a.body=A,null==r["content-type"]&&(r["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==r["content-length"]&&(r["content-length"]={key:"Content-Length",value:String(A.length)}));let u={};Object.keys(r).forEach(F=>{let A=r[F];u[A.key]=A.value}),a.headers=u;let m=(e=null,{promise:new Promise(function(F,A){h&&(e=setTimeout(()=>{null!=e&&(e=null,A(M5.makeError("timeout",q4.errors.TIMEOUT,{requestBody:M8(a.body,u["content-type"]),requestMethod:a.method,timeout:h,url:o})))},h))}),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}),M=function(){var F,A,e,r;return F=this,A=void 0,e=void 0,r=function*(){for(let F=0;F{i[A.toLowerCase()]=F}):e.headers.keys().forEach(F=>{i[F.toLowerCase()]=e.headers.get(F)}),{headers:i,statusCode:e.status,statusMessage:e.statusText,body:li(new Uint8Array(B))}},new(B||(B=Promise))(function(F,A){function s(F){try{r(i.next(F))}catch(F){A(F)}}function n(F){try{r(i.throw(F))}catch(F){A(F)}}function r(A){var t;A.done?F(A.value):((t=A.value)instanceof B?t:new B(function(F){F(t)})).then(s,n)}r((i=i.apply(t,e||[])).next())})}(o,a),F=300)&&(m.cancel(),M5.throwError("bad response",q4.errors.SERVER_ERROR,{status:A.statusCode,headers:A.headers,body:M8(e,A.headers?A.headers["content-type"]:null),requestBody:M8(a.body,u["content-type"]),requestMethod:a.method,url:o})),t)try{let F=yield t(e,A);return m.cancel(),F}catch(t){if(t.throttleRetry&&F"content-type"===F.toLowerCase()).length||(t.headers=ly(t.headers),t.headers["content-type"]="application/json"):t.headers={"content-type":"application/json"},F=t}return M6(F,e,(F,A)=>{let e=null;if(null!=F)try{e=JSON.parse(cL(F))}catch(A){M5.throwError("invalid JSON",q4.errors.SERVER_ERROR,{body:F,error:A})}return t&&(e=t(e,A)),e})}function M4(F,A){return A||(A={}),null==(A=ly(A)).floor&&(A.floor=0),null==A.ceiling&&(A.ceiling=1e4),null==A.interval&&(A.interval=250),new Promise(function(t,e){let B=null,i=!1,s=()=>!i&&(i=!0,B&&clearTimeout(B),!0);A.timeout&&(B=setTimeout(()=>{s()&&e(Error("timeout"))},A.timeout));let n=A.retryLimit,r=0;!function B(){return F().then(function(F){if(void 0!==F)s()&&t(F);else if(A.oncePoll)A.oncePoll.once("poll",B);else if(A.onceBlock)A.onceBlock.once("block",B);else if(!i){if(++r>n){s()&&e(Error("retry limit reached"));return}let F=A.interval*parseInt(String(Math.random()*Math.pow(2,r)));FA.ceiling&&(F=A.ceiling),setTimeout(B,F)}return null},function(F){s()&&e(F)})}()})}let M9={drawButton({text:F,x:A,y:t,textSize:e=48,height:B,width:i,onClick:s,fg:n="black",bg:r="white",stroke:o,fgHover:a="rgba(160, 67, 232, 0.25)",p:V=this.p,disabled:h=!1,key:q=`${F}-${A}-${t}-${B}-${i}`}){let l=this.buttons[q];l||(this.buttons[q]={x:A,y:t,height:B,width:i,onClick:s.bind(this)},l=this.buttons[q]),l.visible=!0,l.disabled=h,l.lastVisibleFrame!==this.p5Frames-1&&(l.visibleForFrames=0),l.visibleForFrames++,l.lastVisibleFrame=this.p5Frames;let c=Math.min(1,l.visibleForFrames/(.4*this.P5_FPS)),u=c<1,m=i*c,M=B*c;V.push(),V.noStroke(),V.strokeWeight(l.active?1:3),V.textSize(e*c),V.fill(l.disabled?hw(r,.4):r),o&&V.stroke(o),V.rect(A+i/2-m/2,t+B/2-M/2,m,M,B/2),V.noStroke(),c>=.3&&hk.dot&&(V.textFont(hk.dot),V.fill(l.disabled?hw(n,.4):n),V.textAlign(V.CENTER,V.CENTER),V.text(F,A+i/2+.13*e,t+B/2+.05*e)),u||l.disabled||!l.hover||(V.fill(a),V.rect(A,t,i,B,B/2)),u||l.disabled||!l.active||(V.fill(hw(r,.3)),V.rect(A,t,i,B,B/2)),V.pop()},drawFatButton(F){let{bottom:A}=F;this.drawButton({height:96,textSize:48,width:275,y:this.windowHeight-96-(A||80),x:this.windowWidth/2-137.5,...F})},drawBottomButton(F){let{columns:A,column:t}=F,e=(this.windowWidth-48-(A-1)*6)/A;this.drawButton({height:84,textSize:44,width:e,y:this.windowHeight-24-84,x:24+t*(e+6),...F})}},IF=[30,10,20,30,40,50],IA={2:250,3:250,4:250,5:125,6:125};function It(F,A,t){return A>F.x&&AF.y&&tMath.floor(Date.now()/1e3)-Math.floor(Date.now()/1e3)%86400;class Ii extends Av{constructor(F,A={}){super(),Object.assign(this,qP),Object.assign(this,qW),Object.assign(this,M9),this.setOptions(A),this.p=F,this.util||hT(this.p),this.levelSpeeds=[,,,,,],this.clearValues(),this.util||this.prepareP5(),this.sound=new hq(this),this.init(),this.util||this.start()}proverTickIndex(F){return IA[F]}setOptions(F={}){Object.assign(this,{day:IB(),level:0,bodyData:null,todaysRecords:{},debug:!1,startingBodies:1,windowWidth:1e3,windowHeight:1e3,pixelDensity:1,scalingFactor:10n**3n,minDistanceSquared:4e4,G:100,mode:"game",admin:!1,solved:!1,clearBG:!0,colorStyle:"!squiggle",preRun:0,alreadyRun:0,paintSteps:0,chunk:1,mute:!0,freeze:!1,test:!1,util:!1,paused:!0,globalStyle:"default",aimHelper:!1,target:"inside",faceRotation:"mania",sfx:"space",playerName:void 0,practiceMode:!1,bestTimes:null,popup:null,...F})}setPlayer(F){this.playerName=F}removeCSS(){if("undefined"==typeof document)return;let F=document.getElementById("canvas-cursor");F&&document.head.removeChild(F)}addCSS(){if("undefined"==typeof document||document.getElementById("canvas-cursor"))return;let F=document.createElement("style");F.id="canvas-cursor",F.innerHTML=`
#canvas, canvas {
cursor: none;
}
- `,document.head.appendChild(F)}clearValues(){this.level<=1&&(this.levelSpeeds=[,,,,,]),this.skip0&&0==this.level&&(this.level=1),this.lastMissileCantBeUndone=!1,this.speedFactor=2,this.speedLimit=10,this.missileSpeed=15,this.shownStatScreen=!1,this.G=100,this.vectorLimit=this.speedLimit*this.speedFactor,this.missileVectorLimit=this.missileSpeed*this.speedFactor,this.FPS=25,this.P5_FPS_MULTIPLIER=3,this.P5_FPS=this.FPS*this.P5_FPS_MULTIPLIER,this.p?.frameRate(this.P5_FPS),this.timer=(this.level>5?60:IF[this.level])*this.FPS,this.deadOpacity="0.9",this.initialScoreSize=120,this.scoreSize=this.initialScoreSize,this.opac=(this.globalStyle,1),this.tailLength=1,this.tailMod="psycho"==this.globalStyle?2:1,this.explosions=[],this.missiles=[],this.stillVisibleMissiles=[],this.missileInits=[],this.bodies=[],this.witheringBodies=[],this.bodyInits=[],this.bodyFinal=[],this.missileCount=0,this.frames=0,this.p5Frames=0,this.showIt=!0,this.justStopped=!1,this.gameOver=!1,this.firstFrame=!0,this.loaded=!1,this.showPlayAgain=!1,this.handledGameOver=!1,this.statsText="",this.hasStarted=!1,this.buttons={},this.won=!1,this.finalBatchSent=!1,this.solved=!1,this.date=new Date(1e3*this.day).toISOString().split("T")[0].replace(/-/g,"."),this.framesTook=!1,this.showProblemRankingsScreenAt=-1,this.saveStatus="unsaved",delete this.validatedAt,delete this.validatingAt,delete this.savingAt,delete this.savedAt}init(){this.skipAhead=!1,this.winScreenBaddies=void 0,this.seed=q2.solidityKeccak256(["uint256"],[this.day]),this.generateBodies(),this.frames=this.alreadyRun,this.startingFrame=this.alreadyRun,this.stopEvery=this.test?20:this.proverTickIndex(this.level+1),this.lastLevel=this.level,this.setPause(this.paused,!0),this.storeInits()}async start(){this.addCSS(),this.addListeners(),this.runSteps(this.preRun),this.freeze&&this.setPause(!0,!0)}destroy(){this.setPause(!0),this.p.noLoop(),this.removeListener(),this.sound.stop(),this.sound=null,this.p.remove()}storeInits(){this.bodyInits=this.processInits(this.bodies)}processInits(F){return this.convertBodiesToBigInts(F).map(F=>((F=this.convertScaledBigIntBodyToArray(F))[2]=BigInt(F[2]).toString(),F[3]=BigInt(F[3]).toString(),F))}runSteps(F=this.preRun){let A=0,t=!0;for(this.showIt=!1;t;)if(++A>F)t=!1,this.showIt=!0;else{let F=this.step(this.bodies,this.missiles);this.frames++,this.bodies=F.bodies,this.missiles=F.missiles||[]}}addListeners(){this.p.mouseMoved=this.handleMouseMove,this.p.touchStarted=this.handleGameClick,this.p.mouseClicked=this.handleGameClick,this.p.keyPressed=this.handleGameKeyDown}removeListener(){this.p.remove()}getXY(F){let A=F.offsetX||F.layerX,t=F.offsetY||F.layerY,e=F.target.getBoundingClientRect(),B=e.width,i=e.height;return{x:A=A*this.windowWidth/B,y:t=t*this.windowHeight/i}}handleMouseMove=F=>{let{x:A,y:t}=this.getXY(F);for(let F in this.mouseX=A,this.mouseY=t,this.buttons){let e=this.buttons[F];e.hover=It(e,A,t)}};handleGameClick=F=>{this.gameOver&&this.won&&(this.skipAhead=!0);let{x:A,y:t}=this.getXY(F);for(let F in this.buttons){let e=this.buttons[F];if(e.visible&&It(e,A,t)&&!e.disabled){e.onClick();return}}let e={x:this.windowWidth-100,y:this.windowHeight-100};A>e.x&&t>e.y&&(this.debug=!this.debug),this.paused||this.gameOver||this.missileClick(A,t)};handleNFTClick=()=>{this.setPause()};handleGameKeyDown=F=>{if(this.gameOver&&this.won&&(this.skipAhead=!0),!(F.shiftKey&&F.altKey&&F.ctrlKey&&F.metaKey))switch(F.code){case"Space":(this.mouseX||this.mouseY)&&(F.preventDefault(),this.missileClick(this.mouseX,this.mouseY));break;case"KeyR":this.gameOver&&this.won||(this.shaking=0,this.restart(null,!1));break;case"KeyP":this.gameOver||this.setPause()}};handleGameOver=({won:F})=>{if(this.handledGameOver)return;if(this.handledGameOver=!0,this.gameoverTickerX=0,this.sound?.playGameOver({won:F}),this.gameOver=!0,this.won=F,0!==this.level&&!this.won){let F=this.bodies.slice(1).filter(F=>0n!==F.radius).length,A=this.generateLevelData(this.day,6-F).slice(1);this.bodies.push(...A.map(F=>this.bodyDataToBodies.call(this,F)).map(F=>(F.position.x=0,F.position.y=0,F.py=0n,F.px=0n,F)))}this.P5_FPS*=2,this.p.frameRate(this.P5_FPS);var A=0,t=0;let e=this.calculateStats();A=e.dust,t=e.timeTook,this.framesTook=e.framesTook,this.emit("done",{level:this.level,won:F,ticks:this.frames-this.startingFrame,dust:A,timeTook:t,framesTook:this.framesTook}),F&&(this.bodyData=null,this.finish())};restart=(F,A=!0)=>{F&&this.setOptions(F),this.level,this.lastLevel,this.clearValues(),this.sound?.stop(),this.sound?.playStart(),this.sound?.setSong(),this.init(),this.draw(),A&&this.setPause(!0),this.addCSS()};doubleTextInverted(F){return F.slice(0,-1)+F.split("").reverse().join("")}setPause(F=!this.paused,A=!1){"boolean"!=typeof F&&(F=!this.paused),F?(this.pauseBodies=Ie.map(F=>this.bodyDataToBodies.call(this,F)),this.pauseBodies[1].c=this.getBodyColor(this.day+1,0),this.pauseBodies[2].c=this.getBodyColor(this.day+2,0),this.paused=F,this.willUnpause=!1,delete this.beganUnpauseAt):(this.justPaused=!0,this.willUnpause=!0),this.emit("paused",F),F?A||this.sound?.pause():A||this.sound?.resume()}step(){0==this.missiles.length&&this.lastMissileCantBeUndone&&(console.log("LASTMISSILECANTBEUNDONE = FALSE"),this.lastMissileCantBeUndone=!1),this.bodies=this.forceAccumulator(this.bodies);var F=this.detectCollision(this.bodies,this.missiles);if(this.bodies=F.bodies,this.missiles=F.missiles||[],this.missiles.length>0){let F=JSON.parse(JSON.stringify(this.missiles[0]));this.stillVisibleMissiles.push(F)}if(this.missiles.length>0&&0==this.missiles[0].radius)this.missiles.splice(0,1);else if(this.missiles.length>1&&0!==this.missiles[0].radius){let F=this.missiles.splice(0,1);this.missiles.splice(0,1,F[0])}return{bodies:this.bodies,missiles:this.missiles}}started(){this.emit("started",{day:this.day,level:this.level,bodyInits:JSON.parse(JSON.stringify(this.bodyInits))})}processMissileInits(F){return F.map(F=>{let A=this.convertFloatToScaledBigInt(this.missileVectorLimit);return{step:F.step,x:this.convertFloatToScaledBigInt(F.position.x).toString(),y:this.convertFloatToScaledBigInt(F.position.y).toString(),vx:(this.convertFloatToScaledBigInt(F.velocity.x)+A).toString(),vy:(this.convertFloatToScaledBigInt(F.velocity.y)+A).toString(),radius:"10"}})}finish(){if(this.finalBatchSent)return;let F=parseInt(this.convertFloatToScaledBigInt(this.missileVectorLimit)).toString();this.calculateBodyFinal();let A=[];if("game"==this.mode){let t=0;for(let e=this.alreadyRun;e(F.step=this.frames,F)),this.emit("chunk",a),this.bodyFinal=[],"game"==this.mode&&0==this.bodies.slice(0==this.level?0:1).reduce((F,A)=>F+A.radius,0)&&(this.finalBatchSent=!0),this.missiles.length>0&&(console.log("LASTMISSILECANTBEUNDONE = TRUE"),this.lastMissileCantBeUndone=!0),0!==s&&(this.levelSpeeds[s-1]=a),a}generateLevelData(F,A){let t=[];for(let e=0;e<=A;e++){let B=q2.solidityKeccak256(["uint256","uint256","uint256"],[F,A,e]);t.push(this.getRandomValues(B,e,A))}return t}getRandomValues(F,A,t=this.level){let e=this.convertFloatToScaledBigInt(this.vectorLimit),B={};if(B.bodyIndex=A,B.seed=F,B.radius=this.genRadius(A,t),0==t)return B.px=parseInt(BigInt(this.windowWidth)*this.scalingFactor/2n),B.py=parseInt(BigInt(this.windowWidth)*this.scalingFactor/2n),B.vx=parseInt(e)-5e3,B.vy=parseInt(e),B;let i=q2.solidityKeccak256(["bytes32"],[F]);return B.px=this.randomRange(0,BigInt(this.windowWidth)*this.scalingFactor,i),i=q2.solidityKeccak256(["bytes32"],[i]),B.py=this.randomRange(0,BigInt(this.windowWidth)*this.scalingFactor,i),i=q2.solidityKeccak256(["bytes32"],[i]),B.vx=this.randomRange(e/2n,3n*e/2n,i),i=q2.solidityKeccak256(["bytes32"],[i]),B.vy=this.randomRange(e/2n,3n*e/2n,i),B}genRadius(F,A=this.level){let t=[36n,27n,22n,17n,12n,7n];return parseInt((0==A?27n:t[F%t.length])*BigInt(this.scalingFactor))}randomRange(F,A,t){return F==A?F:(F="bigint"==typeof F?F:BigInt(F),A="bigint"==typeof A?A:BigInt(A),parseInt((t="bigint"==typeof t?t:BigInt(t))%(A-F)+F))}generateBodies(){this.bodyData=this.bodyData||this.generateLevelData(this.day,this.level),this.bodies=this.bodyData.map(F=>this.bodyDataToBodies.call(this,F)),this.startingBodies=this.bodies.length}bodyDataToBodies(F,A=this.day){let t=F.bodyIndex,e=F.px/parseInt(this.scalingFactor),B=F.py/parseInt(this.scalingFactor),i=(F.vx-this.vectorLimit*parseInt(this.scalingFactor))/parseInt(this.scalingFactor),s=(F.vy-this.vectorLimit*parseInt(this.scalingFactor))/parseInt(this.scalingFactor),n=F.radius/parseInt(this.scalingFactor);return{seed:F.seed,bodyIndex:t,position:this.createVector(e,B),velocity:this.createVector(i,s),radius:n,c:this.getBodyColor(A,t)}}getBodyColor(F,A=0){let t=q2.solidityKeccak256(["uint256","uint256"],[F,A]),e=this.randomRange(0,359,t);t=q2.solidityKeccak256(["bytes32"],[t]);let B=this.randomRange(90,100,t);t=q2.solidityKeccak256(["bytes32"],[t]);let i=this.randomRange(55,60,t),s=Object.keys(hd),n=s.length,r=q2.solidityKeccak256(["uint256"],[F]),o=this.randomRange(0,13,r);r=q2.solidityKeccak256(["bytes32"],[r]);let a=this.randomRange(0,9,r);r=q2.solidityKeccak256(["bytes32"],[r]);let V=this.randomRange(0,9,r);r=q2.solidityKeccak256(["bytes32"],[r]);let h=this.randomRange(0,0,r);r=q2.solidityKeccak256(["bytes32"],[r]);let q=hd[s[this.randomRange(0,n-1,r)]];r=q2.solidityKeccak256(["bytes32"],[r]);let l=this.randomRange(0,359,r);r=q2.solidityKeccak256(["bytes32"],[r]);let c=q.bg[1].split("-"),u=this.randomRange(c[0],c[1],r);r=q2.solidityKeccak256(["bytes32"],[r]);let m=q.bg[2].split("-"),M=this.randomRange(m[0],m[1],r);r=q2.solidityKeccak256(["bytes32"],[r]);let I=this.randomRange(0,359,r);r=q2.solidityKeccak256(["bytes32"],[r]);let p=q.cr[1].split("-"),g=this.randomRange(p[0],p[1],r);r=q2.solidityKeccak256(["bytes32"],[r]);let E=q.cr[2].split("-"),C=this.randomRange(E[0],E[1],r);r=q2.solidityKeccak256(["bytes32"],[r]);let d=this.randomRange(0,359,r);r=q2.solidityKeccak256(["bytes32"],[r]);let y=q.fg[1].split("-"),S=this.randomRange(y[0],y[1],r);r=q2.solidityKeccak256(["bytes32"],[r]);let Q=q.fg[2].split("-"),w=this.randomRange(Q[0],Q[1],r);return{fIndex:o,bgIndex:a,fgIndex:V,coreIndex:h,bg:`hsl(${l},${u}%,${M}%`,core:`hsl(${I},${g}%,${C}%`,fg:`hsl(${d},${S}%,${w}%`,baddie:[e,B,i]}}setPixelDensity(F){this.p.pixelDensity(F)}prepareP5(){this.p.frameRate(this.P5_FPS),this.p.createCanvas(this.windowWidth,this.windowWidth),this.setPixelDensity(this.pixelDensity),this.p.background("white")}missileClick(F,A){if(this.gameOver)return;if(this.paused){this.setPause(!1);return}if(0==this.bodies.reduce((F,A)=>F+A.radius,0)||this.frames-this.startingFrame>=this.timer)return;this.missiles.length>0&&(this.lastMissileCantBeUndone&&(this.emit("remove-last-missile"),this.lastMissileCantBeUndone=!1,console.log("LASTMISSILECANTBEUNDONE = FALSE")),this.missileInits.pop(),this.missileCount--),this.missileCount++;let t={step:this.frames,position:this.p.createVector(0,this.windowWidth),velocity:this.p.createVector(F,A-this.windowWidth),radius:10};t.velocity.limit(this.missileSpeed*this.speedFactor),this.missiles.push(t),this.missiles=this.missiles.slice(-1);let e=F**2+(A-this.windowWidth)**2;this.sound?.playMissile(e),this.missileInits.push(...this.processMissileInits([t])),this.makeMissileStart()}calculateStats=()=>{let F=this.bodies.length,A=[0,0,0,1,2,4,8,16,32,64,128][F],{startingFrame:t,timer:e,frames:B}=this,i=(t+e-B)/this.FPS,s=B-t-1,n=s/this.FPS,r=[1,2,3,4,5,6][Math.floor(i/10)];return{missilesShot:this.missileInits.reduce((F,A)=>0==A[0]?F:F+1,0),bodiesIncluded:F,bodiesBoost:A,speedBoost:r,dust:A*r,timeTook:n,framesTook:s}};handleSave=()=>{"unsaved"==this.saveStatus?(this.saveStatus="validating",setTimeout(()=>{this.saveStatus="validated"},2e3)):"validated"==this.saveStatus&&(this.saveStatus="saving",setTimeout(()=>{this.saveStatus="saved"},2e3))}}"undefined"!=typeof window&&(window.Anybody=Ii),BigInt.prototype.toJSON=function(){return this.toString()};let Is=new function(F,A){return new function F(t){let e="global"==t?window:this;e.canvas=document.createElement("canvas");let B=e.canvas.getContext("2d");e.width=100,e.height=100,e.canvas.width=e.width,e.canvas.height=e.height,"offscreen"!=t&&(A?A.appendChild(e.canvas):document.body?document.body.appendChild(e.canvas):window.addEventListener("load",function(){document.body.appendChild(e.canvas)})),M(),e.MAGIC=161533525,e.RGB=0,e.HSV=1,e.HSB=1,e.CHORD=0,e.PIE=1,e.OPEN=2,e.RADIUS=1,e.CORNER=2,e.CORNERS=3,e.ROUND="round",e.SQUARE="butt",e.PROJECT="square",e.MITER="miter",e.BEVEL="bevel",e.CLOSE=1,e.BLEND="source-over",e.REMOVE="destination-out",e.ADD="lighter",e.DARKEST="darken",e.LIGHTEST="lighten",e.DIFFERENCE="difference",e.SUBTRACT="subtract",e.EXCLUSION="exclusion",e.MULTIPLY="multiply",e.SCREEN="screen",e.REPLACE="copy",e.OVERLAY="overlay",e.HARD_LIGHT="hard-light",e.SOFT_LIGHT="soft-light",e.DODGE="color-dodge",e.BURN="color-burn",e.NORMAL="normal",e.ITALIC="italic",e.BOLD="bold",e.BOLDITALIC="italic bold",e.CENTER="center",e.LEFT="left",e.RIGHT="right",e.TOP="top",e.BOTTOM="bottom",e.BASELINE="alphabetic",e.LANDSCAPE="landscape",e.PORTRAIT="portrait",e.ALT=18,e.BACKSPACE=8,e.CONTROL=17,e.DELETE=46,e.DOWN_ARROW=40,e.ENTER=13,e.ESCAPE=27,e.LEFT_ARROW=37,e.OPTION=18,e.RETURN=13,e.RIGHT_ARROW=39,e.SHIFT=16,e.TAB=9,e.UP_ARROW=38,e.HALF_PI=Math.PI/2,e.PI=Math.PI,e.QUARTER_PI=Math.PI/4,e.TAU=2*Math.PI,e.TWO_PI=2*Math.PI,e.THRESHOLD=1,e.GRAY=2,e.OPAQUE=3,e.INVERT=4,e.POSTERIZE=5,e.DILATE=6,e.ERODE=7,e.BLUR=8,e.ARROW="default",e.CROSS="crosshair",e.HAND="pointer",e.MOVE="move",e.TEXT="text",e.VIDEO={video:!0,audio:!1},e.AUDIO={video:!1,audio:!0},e.SHR3=1,e.LCG=2,e.HARDWARE_FILTERS=!0,e.hint=function(F,A){e[F]=A},e.frameCount=0,e.mouseX=0,e.mouseY=0,e.pmouseX=0,e.pmouseY=0,e.mouseButton=null,e.keyIsPressed=!1,e.mouseIsPressed=!1,e.key=null,e.keyCode=null,e.pixels=null,e.accelerationX=0,e.accelerationY=0,e.accelerationZ=0,e.rotationX=0,e.rotationY=0,e.rotationZ=0,e.relRotationX=0,e.relRotationY=0,e.relRotationZ=0,e.pAccelerationX=0,e.pAccelerationY=0,e.pAccelerationZ=0,e.pRotationX=0,e.pRotationY=0,e.pRotationZ=0,e.pRelRotationX=0,e.pRelRotationY=0,e.pRelRotationZ=0,e.touches=[],e._styleCache=[{colorMode:e.RGB,noStroke:!1,noFill:!1,ellipseMode:e.CENTER,rectMode:e.CORNER,curveDetail:20,curveAlpha:0,textFont:"sans-serif",textSize:12,textLeading:12,textStyle:"normal"}],e._style=e._styleCache[e._styleCache.length-1],e._noLoop=!1,e._pixelDensity=1,e._frameRate=null,e._tint=null;let i=null,s=!0,n=[],r=null,o=0,a={},V=0,h=0,q=0,l=null,c=null,u=null;for(let A of(Object.defineProperty(e,"deviceOrientation",{get:function(){return 90==Math.abs(window.orientation)?e.LANDSCAPE:e.PORTRAIT}}),Object.defineProperty(e,"windowWidth",{get:function(){return window.innerWidth}}),Object.defineProperty(e,"windowHeight",{get:function(){return window.innerHeight}}),Object.defineProperty(e,"drawingContext",{get:function(){return B}}),e.createCanvas=function(F,A){return e.width=F,e.height=A,e.canvas.width=F,e.canvas.height=A,M(),e.canvas},e.resizeCanvas=function(F,A){e.width=F,e.height=A,e.canvas.width=F,e.canvas.height=A},e.createGraphics=e.createImage=function(A,t){let e=new F("offscreen");return e.createCanvas(A,t),e.noLoop(),e},e.pixelDensity=function(F){return void 0==F||(e._pixelDensity=F,e.canvas.width=Math.ceil(e.width*F),e.canvas.height=Math.ceil(e.height*F),e.canvas.style.width=e.width+"px",e.canvas.style.height=e.height+"px",B.scale(e._pixelDensity,e._pixelDensity),M()),e._pixelDensity},e.map=function(F,A,t,e,B,i){let s=e+(F-A)*1/(t-A)*(B-e);return i?eF){let t=F/A;B.x*=t,B.y*=t,B.z*=t,i=F,s=F*F}return B},B.setMag=function(F){r();let A=F/i;return B.x*=A,B.y*=A,B.z*=A,i=F,s=F*F,B},B.heading=function(){return Math.atan2(B.y,B.x)},B.rotate=function(F){let A=Math.cos(F),t=Math.sin(F),e=B.x*A-B.y*t,i=B.x*t+B.y*A;return B.x=e,B.y=i,B},B.angleBetween=function(){let F=n.apply(null,arguments);return Math.acos(Math.min(1,Math.max(-1,B.dot(F)/(B.mag()*F.mag()))))*Math.sign(B.cross(F).z||1)},B.lerp=function(F,A){return B.x=B.x*(1-A)+F.x*A,B.y=B.y*(1-A)+F.y*A,B.z=B.z*(1-A)+F.z*A,o(),B},B.reflect=function(F){return F.normalize(),B.sub(F.mult(2*B.dot(F)))},B.array=function(){return[B.x,B.y,B.z]},B.equals=function(F,A){return void 0==A&&void 0==(A=Number.EPSILON)&&(A=0),Math.abs(F.x-B.x)360&&(s=0),s/=60,n=~~s,r=s-n,o=t*(1-A),a=t*(1-A*r),V=t*(1-A*(1-r)),n){case 0:e=t,B=V,i=o;break;case 1:e=a,B=t,i=o;break;case 2:e=o,B=t,i=V;break;case 3:e=o,B=a,i=t;break;case 4:e=V,B=o,i=t;break;default:e=t,B=o,i=a}return[255*e,255*B,255*i]}function M(){B.fillStyle="white",B.strokeStyle="black",B.lineCap="round",B.lineJoin="miter"}function I(F){if(0<=F&&F<2*Math.PI)return F;for(;F<0;)F+=2*Math.PI;for(;F>=Math.PI;)F-=2*Math.PI;return F}function p(F,A,t,i,s,n,r,o){if(e._style.noFill&&e._style.noStroke)return;let a=I(s),V=I(n);B.beginPath();for(let s=0;sA?F>t?F:t:A>t?A:t)/255))?[0,s=0,n]:0==(s=100*(i-e)/i)?[0,s,n]:[i==F?0+60*(A-t)/(i-e):i==A?120+60*(t-F)/(i-e):240+60*(F-A)/(i-e),s,n]),B._hsvInferred=!0}},B.toString=function(){return`rgba(${Math.round(B._r)},${Math.round(B._g)},${Math.round(B._b)},${~~(1e3*B._a)/1e3})`}},e.colorMode=function(F){e._style.colorMode=F},e.color=function(){if(1==arguments.length&&786698==arguments[0].MAGIC)return arguments[0];if(e._style.colorMode==e.RGB){if(1==arguments.length)return new e.Color(arguments[0],arguments[0],arguments[0],1);if(2==arguments.length)return new e.Color(arguments[0],arguments[0],arguments[0],arguments[1]/255);if(3==arguments.length)return new e.Color(arguments[0],arguments[1],arguments[2],1);if(4==arguments.length)return new e.Color(arguments[0],arguments[1],arguments[2],arguments[3]/255)}else{if(1==arguments.length)return new e.Color(...m(0,0,arguments[0]/100),1);if(2==arguments.length)return new e.Color(...m(0,0,arguments[0]/100),arguments[1]/255);if(3==arguments.length)return new e.Color(...m(arguments[0],arguments[1]/100,arguments[2]/100),1);if(4==arguments.length)return new e.Color(...m(arguments[0],arguments[1]/100,arguments[2]/100),arguments[3])}return null},e.red=function(F){return F._r},e.green=function(F){return F._g},e.blue=function(F){return F._b},e.alpha=function(F){return 255*F._a},e.hue=function(F){return F._inferHSV(),F._h},e.saturation=function(F){return F._inferHSV(),F._s},e.brightness=function(F){return F._inferHSV(),F._v},e.lightness=function(F){return(.2126*F._r+.7152*F._g+.0722*F._b)*100/255},e.lerpColor=function(F,A,t){var B,i,s;return e._style.colorMode==e.RGB?new e.Color(e.constrain(e.lerp(F._r,A._r,t),0,255),e.constrain(e.lerp(F._g,A._g,t),0,255),e.constrain(e.lerp(F._b,A._b,t),0,255),e.constrain(e.lerp(F._a,A._a,t),0,1)):(F._inferHSV(),A._inferHSV(),new e.Color(e.constrain((B=F._h,(s=[[Math.abs((i=A._h)-B),e.map(t,0,1,B,i)],[Math.abs(i+360-B),e.map(t,0,1,B,i+360)],[Math.abs(i-360-B),e.map(t,0,1,B,i-360)]]).sort((F,A)=>F[0]-A[0]),(s[0][1]+720)%360),0,360),e.constrain(e.lerp(F._s,A._s,t),0,100),e.constrain(e.lerp(F._v,A._v,t),0,100),e.constrain(e.lerp(F._a,A._a,t),0,1)))},e.strokeWeight=function(F){e._style_noStroke=!1,B.lineWidth=F},e.stroke=function(){if(e._style.noStroke=!1,"string"==typeof arguments[0]){B.strokeStyle=arguments[0];return}let F=e.color.apply(null,arguments);if(F._a<=0){e._style.noStroke=!0;return}B.strokeStyle=F},e.noStroke=function(){e._style.noStroke=!0},e.fill=function(){if(e._style.noFill=!1,"string"==typeof arguments[0]){B.fillStyle=arguments[0];return}let F=e.color.apply(null,arguments);if(F._a<=0){e._style.noFill=!0;return}B.fillStyle=F},e.noFill=function(){e._style.noFill=!0},e.blendMode=function(F){B.globalCompositeOperation=F},e.strokeCap=function(F){B.lineCap=F},e.strokeJoin=function(F){B.lineJoin=F},e.ellipseMode=function(F){e._style.ellipseMode=F},e.rectMode=function(F){e._style.rectMode=F},e.curveDetail=function(F){e._style.curveDetail=F},e.curveAlpha=function(F){e._style.curveAlpha=F},e.curveTightness=function(F){console.warn("curveTightness() sets the 'alpha' parameter of Catmull-Rom curve, and is NOT identical to p5.js counterpart. As this might change in the future, please call curveAlpha() directly."),e._style.curveAlpha=F},e.clear=function(){B.clearRect(0,0,e.width,e.height)},e.background=function(){if(arguments[0]&&arguments[0].MAGIC==e.MAGIC)return e.image(arguments[0],0,0,e.width,e.height);B.save(),B.resetTransform(),B.scale(e._pixelDensity,e._pixelDensity),"string"==typeof arguments[0]?B.fillStyle=arguments[0]:B.fillStyle=e.color(...Array.from(arguments)),B.fillRect(0,0,e.width,e.height),B.restore()},e.line=function(F,A,t,i){e._style.noStroke||(B.beginPath(),B.moveTo(F,A),B.lineTo(t,i),B.stroke())},e.arc=function(F,A,t,B,i,s,n,r){if(i==s)return e.ellipse(F,A,t,B);void 0==r&&(r=25),void 0==n&&(n=e.PIE),e._style.ellipseMode==e.CENTER?p(F,A,t,B,i,s,n,r):e._style.ellipseMode==e.RADIUS?p(F,A,2*t,2*B,i,s,n,r):e._style.ellipseMode==e.CORNER?p(F+t/2,A+B/2,t,B,i,s,n,r):e._style.ellipseMode==e.CORNERS&&p((F+t)/2,(A+B)/2,t-F,B-A,i,s,n,r)},e.ellipse=function(F,A,t,B){void 0==B&&(B=t),e._style.ellipseMode==e.CENTER?g(F,A,t,B):e._style.ellipseMode==e.RADIUS?g(F,A,2*t,2*B):e._style.ellipseMode==e.CORNER?g(F+t/2,A+B/2,t,B):e._style.ellipseMode==e.CORNERS&&g((F+t)/2,(A+B)/2,t-F,B-A)},e.circle=function(F,A,t){return e.ellipse(F,A,t,t)},e.point=function(F,A){F.x&&(A=F.y,F=F.x),B.beginPath(),B.ellipse(F,A,.4,.4,0,0,2*Math.PI),B.stroke()},e.rect=function(F,A,t,B,i,s,n,r){e._style.rectMode==e.CENTER?E(F-t/2,A-B/2,t,B,i,s,n,r):e._style.rectMode==e.RADIUS?E(F-t,A-B,2*t,2*B,i,s,n,r):e._style.rectMode==e.CORNER?E(F,A,t,B,i,s,n,r):e._style.rectMode==e.CORNERS&&E(F,A,t-F,B-A,i,s,n,r)},e.square=function(F,A,t,B,i,s,n){return e.rect(F,A,t,t,B,i,s,n)},e.beginShape=function(){C(),B.beginPath(),s=!0},e.beginContour=function(){B.closePath(),C(),s=!0},e.endContour=function(){C(),s=!0},e.vertex=function(F,A){C(),s?B.moveTo(F,A):B.lineTo(F,A),s=!1},e.bezierVertex=function(F,A,t,e,i,s){C(),B.bezierCurveTo(F,A,t,e,i,s)},e.quadraticVertex=function(F,A,t,e){C(),B.quadraticCurveTo(F,A,t,e)},e.bezier=function(F,A,t,B,i,s,n,r){e.beginShape(),e.vertex(F,A),e.bezierVertex(t,B,i,s,n,r),e.endShape()},e.triangle=function(F,A,t,B,i,s){e.beginShape(),e.vertex(F,A),e.vertex(t,B),e.vertex(i,s),e.endShape(e.CLOSE)},e.quad=function(F,A,t,B,i,s,n,r){e.beginShape(),e.vertex(F,A),e.vertex(t,B),e.vertex(i,s),e.vertex(n,r),e.endShape(e.CLOSE)},e.endShape=function(F){C(),F&&B.closePath(),e._style.noFill||B.fill(),e._style.noStroke||B.stroke(),e._style.noFill&&e._style.noStroke&&(B.save(),B.fillStyle="none",B.fill(),B.restore())},e.curveVertex=function(F,A){if(n.push([F,A]),n.length<4)return;let t=function(F,A,t,e,B,i,s,n,r,o){function a(F,A,t,e,B,i){return Math.pow(Math.pow(e-A,2)+Math.pow(B-t,2),.5*i)+F}let V=[],h=a(0,F,A,t,e,o),q=a(h,t,e,B,i,o),l=a(q,B,i,s,n,o);for(let o=0;o0?(c[F]=1,c[F+1]=0):(c[F]=0,c[F+1]=1));let u=F*c[0]+t*c[1],m=A*c[0]+e*c[1],M=t*c[2]+B*c[3],I=e*c[2]+i*c[3],p=B*c[4]+s*c[5],g=i*c[4]+n*c[5],E=u*c[6]+M*c[7],C=m*c[6]+I*c[7],d=M*c[8]+p*c[9],y=I*c[8]+g*c[9],S=E*c[2]+d*c[3],Q=C*c[2]+y*c[3];V.push([S,Q])}return V}(...n[n.length-4],...n[n.length-3],...n[n.length-2],...n[n.length-1],e._style.curveDetail,e._style.curveAlpha);for(let F=0;F=A?255:0}},d[e.GRAY]=function(F){for(let A=0;A>8)*255/t,F[e+1]=(F[e+1]*A>>8)*255/t,F[e+2]=(F[e+2]*A>>8)*255/t},d[e.DILATE]=function(F){S(),u.set(F);let[A,t]=[B.canvas.width,B.canvas.height];for(let e=0;e=1&&(o++,h--),q>=1&&(a++,q--),l>=1&&(V++,l--)}return c},e.noiseDetail=function(F,A){F>0&&(U=F),A>0&&(f=A)};let T=function(){let F,A;return{setSeed(t){A=F=(null==t?4294967296*Math.random():t)>>>0},getSeed:()=>F,rand:()=>(A=(1664525*A+1013904223)%4294967296)/4294967296}},D=function(){let F,A;return{setSeed(t){F=A=(null==t?4294967295*Math.random():t)>>>0},getSeed:()=>A,rand:()=>(F^=F<<17,F^=F>>13,((F^=F<<5)>>>0)/4294967295)}},Z=D();Z.setSeed(),e.noiseSeed=function(F){let A=void 0==F?4294967295*Math.random():F;w||(w=new Float32Array(4096));for(var t=0;t<4096;t++)A^=A<<17,A^=A>>13,A^=A<<5,w[t]=(A>>>0)/4294967295},e.randomSeed=function(F){Z.setSeed(F)},e.random=function(F,A){return void 0==F?Z.rand():"number"!=typeof F?F[~~(F.length*Z.rand())]:void 0!=A?Z.rand()*(A-F)+F:Z.rand()*F},e.randomGenerator=function(F){F==e.LCG?Z=T():F==e.SHR3&&(Z=D()),Z.setSeed()};var R=new function(){var F,A,t,e=Array(128),B=Array(256),i=Array(128),s=Array(128),n=Array(256),r=Array(256),o=function(){return 4294967296*Z.rand()-2147483648},a=function(){return .5+(o()<<0)*2328306e-16},V=function(){for(var A,B,n,r;;){if(A=t*i[F],0==F){do n=a(),r=a(),A=-(.2904764*Math.log(n)),B=-Math.log(r);while(B+B0?3.44262+A:-3.44262-A}if(s[F]+a()*(s[F-1]-s[F])>>0),A=1;A--)t=Math.sqrt(-2*Math.log(.00991256303526217/t+Math.exp(-.5*t*t))),e[A+1]=Math.floor(t/o*2147483648),o=t,s[A]=Math.exp(-.5*t*t),i[A]=t/2147483648;for(A=254,F=.003949659822581572/Math.exp(-a),B[0]=Math.floor(a/F*4294967296),B[1]=0,n[0]=F/4294967296,n[255]=a/4294967296,r[0]=1,r[255]=Math.exp(-a);A>=1;A--)a=-Math.log(.003949659822581572/a+Math.exp(-a)),B[A+1]=Math.floor(a/V*4294967296),V=a,r[A]=Math.exp(-a),n[A]=a/4294967296}};for(let F of(R.hasInit=!1,e.randomGaussian=function(F,A){return R.hasInit||(R.zigset(),R.hasInit=!0),R.RNOR()*A+F},e.randomExponential=function(){return R.hasInit||(R.zigset(),R.hasInit=!0),R.REXP()},e.print=console.log,e.cursor=function(F,A,t){let B="";F.includes(".")&&(F=`url("${F}")`,B=", auto"),void 0!=A&&(F+=" "+A+" "+t),e.canvas.style.cursor=F+B},e.noCursor=function(){e.canvas.style.cursor="none"},e.createCapture=function(F){var A=document.createElement("video");return A.playsinline="playsinline",A.autoplay="autoplay",navigator.mediaDevices.getUserMedia(F).then(function(F){A.srcObject=F}),A.style.position="absolute",A.style.opacity=1e-5,A.style.zIndex=-1e3,document.body.appendChild(A),A},["setup","draw","preload","mouseMoved","mousePressed","mouseReleased","mouseDragged","mouseClicked","keyPressed","keyReleased","keyTyped","touchStarted","touchEnded","touchMoved"])){let A="_"+F+"Fn";e[A]=function(){},e[A].isPlaceHolder=!0,e[F]?e[A]=e[F]:Object.defineProperty(e,F,{set:function(F){e[A]=F}})}function z(){e._noLoop||(i=null==e._frameRate?requestAnimationFrame(z):setTimeout(z,1e3/e._frameRate)),C(),s=!0,e.push(),e._drawFn(),e.pop(),++e.frameCount,e.frameCount%60==0&&(h=window.performance.now()-V,q=e.frameCount)}e.noLoop=function(){e._noLoop=!0,clearTimeout(i),i=null},e.loop=function(){e._noLoop=!1,null==i&&z()},e.redraw=function(){z()},e.frameRate=function(F){e._frameRate=F},setTimeout(function(){e._preloadFn(),V=window.performance.now(),function F(){if(o>0)return setTimeout(F,10);e._setupFn(),z()}()},1),e.canvas.onmousemove=function(F){e.pmouseX=e.mouseX,e.pmouseY=e.mouseY,e.mouseX=F.offsetX,e.mouseY=F.offsetY,e.mouseIsPressed?e._mouseDraggedFn(F):e._mouseMovedFn(F)},e.canvas.onmousedown=function(F){e.pmouseX=e.mouseX,e.pmouseY=e.mouseY,e.mouseX=F.offsetX,e.mouseY=F.offsetY,e.mouseIsPressed=!0,e.mouseButton=[e.LEFT,e.CENTER,e.RIGHT][F.button],e._mousePressedFn(F)},e.canvas.onmouseup=function(F){e.pmouseX=e.mouseX,e.pmouseY=e.mouseY,e.mouseX=F.offsetX,e.mouseY=F.offsetY,e.mouseIsPressed=!1,e._mouseReleasedFn(F)},e.canvas.onclick=function(F){e.pmouseX=e.mouseX,e.pmouseY=e.mouseY,e.mouseX=F.offsetX,e.mouseY=F.offsetY,e.mouseIsPressed=!0,e._mouseClickedFn(F),e.mouseIsPressed=!1};let G=function(F){e.keyIsPressed=!0,e.key=F.key,e.keyCode=F.keyCode,a[e.keyCode]=!0,e._keyPressedFn(F),1==F.key.length&&e._keyTypedFn(F)};window.addEventListener("keydown",G);let L=function(F){e.keyIsPressed=!1,e.key=F.key,e.keyCode=F.keyCode,a[e.keyCode]=!1,e._keyReleasedFn(F)};function Y(F){let A=e.canvas.getBoundingClientRect(),t=e.canvas.scrollWidth/e.width||1,B=e.canvas.scrollHeight/e.height||1;return{x:(F.clientX-A.left)/t,y:(F.clientY-A.top)/B,id:F.identifier}}function v(){return e._touchStartedFn.isPlaceHolder&&e._touchMovedFn.isPlaceHolder&&e._touchEndedFn.isPlaceHolder}window.addEventListener("keyup",L),e.keyIsDown=function(F){return!!a[F]},e.canvas.ontouchstart=function(F){e.touches=[...F.touches].map(Y),v()&&(e.pmouseX=e.mouseX,e.pmouseY=e.mouseY,e.mouseX=e.touches[0].x,e.mouseY=e.touches[0].y,e.mouseIsPressed=!0,e.mouseButton=e.LEFT,e._mousePressedFn(F)||F.preventDefault()),e._touchStartedFn(F)||F.preventDefault()},e.canvas.ontouchmove=function(F){e.touches=[...F.touches].map(Y),v()&&(e.pmouseX=e.mouseX,e.pmouseY=e.mouseY,e.mouseX=e.touches[0].x,e.mouseY=e.touches[0].y,e.mouseIsPressed=!0,e.mouseButton=e.LEFT,e._mouseDraggedFn(F)||F.preventDefault()),e._touchMovedFn(F)||F.preventDefault()},e.canvas.ontouchend=e.canvas.ontouchcancel=function(F){e.touches=[...F.touches].map(Y),v()&&(e.pmouseX=e.mouseX,e.pmouseY=e.mouseY,e.mouseX=e.touches[0].x,e.mouseY=e.touches[0].y,e.mouseIsPressed=!1,e._mouseReleasedFn(F)||F.preventDefault()),e._touchEndedFn(F)||F.preventDefault()},e.hasSensorPermission=!window.DeviceOrientationEvent&&!window.DeviceMotionEvent||!(DeviceOrientationEvent.requestPermission||DeviceMotionEvent.requestPermission),e.requestSensorPermissions=function(){DeviceOrientationEvent.requestPermission&&DeviceOrientationEvent.requestPermission().then(F=>{"granted"==F&&DeviceMotionEvent.requestPermission&&DeviceMotionEvent.requestPermission().then(F=>{"granted"==F&&(e.hasSensorPermission=!0)}).catch(alert)}).catch(alert)},e.remove=function(){e.canvas.onmousemove=null,e.canvas.onmousedown=null,e.canvas.onmouseup=null,e.canvas.onclick=null,window.removeEventListener("keydown",G),window.removeEventListener("keyup",L),e.canvas.ontouchstart=null,e.canvas.ontouchmove=null,e.canvas.ontouchend=null,e.canvas.remove()};let K=F=>[1,0,0,0,0,Math.cos(F),-Math.sin(F),0,0,Math.sin(F),Math.cos(F),0,0,0,0,1],N=F=>[Math.cos(F),0,Math.sin(F),0,0,1,0,0,-Math.sin(F),0,Math.cos(F),0,0,0,0,1],x=(F,A)=>[F[0]*A[0]+F[1]*A[4]+F[2]*A[8]+F[3]*A[12],F[0]*A[1]+F[1]*A[5]+F[2]*A[9]+F[3]*A[13],F[0]*A[2]+F[1]*A[6]+F[2]*A[10]+F[3]*A[14],F[0]*A[3]+F[1]*A[7]+F[2]*A[11]+F[3]*A[15],F[4]*A[0]+F[5]*A[4]+F[6]*A[8]+F[7]*A[12],F[4]*A[1]+F[5]*A[5]+F[6]*A[9]+F[7]*A[13],F[4]*A[2]+F[5]*A[6]+F[6]*A[10]+F[7]*A[14],F[4]*A[3]+F[5]*A[7]+F[6]*A[11]+F[7]*A[15],F[8]*A[0]+F[9]*A[4]+F[10]*A[8]+F[11]*A[12],F[8]*A[1]+F[9]*A[5]+F[10]*A[9]+F[11]*A[13],F[8]*A[2]+F[9]*A[6]+F[10]*A[10]+F[11]*A[14],F[8]*A[3]+F[9]*A[7]+F[10]*A[11]+F[11]*A[15],F[12]*A[0]+F[13]*A[4]+F[14]*A[8]+F[15]*A[12],F[12]*A[1]+F[13]*A[5]+F[14]*A[9]+F[15]*A[13],F[12]*A[2]+F[13]*A[6]+F[14]*A[10]+F[15]*A[14],F[12]*A[3]+F[13]*A[7]+F[14]*A[11]+F[15]*A[15]],J=(F,A)=>[(F[0]*A[0]+F[1]*A[1]+F[2]*A[2]+F[3])/(F[12]*A[0]+F[13]*A[1]+F[14]*A[2]+F[15]),(F[4]*A[0]+F[5]*A[1]+F[6]*A[2]+F[7])/(F[12]*A[0]+F[13]*A[1]+F[14]*A[2]+F[15]),(F[8]*A[0]+F[9]*A[1]+F[10]*A[2]+F[11])/(F[12]*A[0]+F[13]*A[1]+F[14]*A[2]+F[15])];window.ondeviceorientation=function(F){e.pRotationX=e.rotationX,e.pRotationY=e.rotationY,e.pRotationZ=e.rotationZ,e.pRelRotationX=e.relRotationX,e.pRelRotationY=e.relRotationY,e.pRelRotationZ=e.relRotationZ,e.rotationX=F.beta*(Math.PI/180),e.rotationY=F.gamma*(Math.PI/180),e.rotationZ=F.alpha*(Math.PI/180),e.relRotationX=[-e.rotationY,-e.rotationX,e.rotationY][~~(window.orientation/90)+1],e.relRotationY=[-e.rotationX,e.rotationY,e.rotationX][~~(window.orientation/90)+1],e.relRotationZ=e.rotationZ},window.ondevicemotion=function(F){if(e.pAccelerationX=e.accelerationX,e.pAccelerationY=e.accelerationY,e.pAccelerationZ=e.accelerationZ,!F.acceleration){let A=J(x(N(e.rotationY),K(e.rotationX)),[0,0,-9.80665]);e.accelerationX=F.accelerationIncludingGravity.x+A[0],e.accelerationY=F.accelerationIncludingGravity.y+A[1],e.accelerationZ=F.accelerationIncludingGravity.z-A[2]}},e.year=function(){return new Date().getFullYear()},e.day=function(){return new Date().getDay()},e.hour=function(){return new Date().getHours()},e.minute=function(){return new Date().getMinutes()},e.second=function(){return new Date().getSeconds()},e.millis=function(){return window.performance.now()-V},e.avgRate=function(){return e.frameCount/(e.millis()/1e3)},e.currRate=function(){return(e.frameCount-q)/(e.millis()-h)*1e3}}(F)},In=window.location.hash.slice(1);window.anybody,Is.setup=()=>{let F={level:0};In&&""!==In&&(F.day=parseInt(In)),window.anybody=new Ii(Is,F),In||(console.log("no day!"),window.location.hash=window.anybody.day.toString())},Is.draw=()=>{window.anybody.draw()}}();