@smartledger/keys 1.2.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -23
- package/README.md +535 -492
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sdk.d.ts +94 -1
- package/dist/cjs/sdk.d.ts.map +1 -1
- package/dist/cjs/sdk.js +255 -6
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/cjs/types.d.ts +83 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/sdk.d.ts +94 -1
- package/dist/esm/sdk.d.ts.map +1 -1
- package/dist/esm/sdk.js +255 -7
- package/dist/esm/sdk.js.map +1 -1
- package/dist/esm/types.d.ts +83 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/lumen-keys.js +6885 -135
- package/dist/lumen-keys.js.map +4 -4
- package/dist/lumen-keys.min.js +2070 -1
- package/dist/lumen-keys.min.js.map +4 -4
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +76 -76
package/dist/lumen-keys.min.js
CHANGED
|
@@ -1,11 +1,2080 @@
|
|
|
1
|
-
"use strict";var LumenKeys=(()=>{var or=Object.create;var qe=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var sr=Object.getOwnPropertyNames;var ar=Object.getPrototypeOf,Cr=Object.prototype.hasOwnProperty;var Br=(z,X,eA)=>X in z?qe(z,X,{enumerable:!0,configurable:!0,writable:!0,value:eA}):z[X]=eA;var ae=(z,X)=>()=>(z&&(X=z(z=0)),X);var Qr=(z,X)=>()=>(X||z((X={exports:{}}).exports,X),X.exports),Ag=(z,X)=>{for(var eA in X)qe(z,eA,{get:X[eA],enumerable:!0})},tg=(z,X,eA,gA)=>{if(X&&typeof X=="object"||typeof X=="function")for(let IA of sr(X))!Cr.call(z,IA)&&IA!==eA&&qe(z,IA,{get:()=>X[IA],enumerable:!(gA=nr(X,IA))||gA.enumerable});return z};var cr=(z,X,eA)=>(eA=z!=null?or(ar(z)):{},tg(X||!z||!z.__esModule?qe(eA,"default",{value:z,enumerable:!0}):eA,z)),fr=z=>tg(qe({},"__esModule",{value:!0}),z);var pA=(z,X,eA)=>Br(z,typeof X!="symbol"?X+"":X,eA);var Buffer,process,mA=ae(()=>{"use strict";Buffer={from:function(z,X){if(typeof z=="string"){if(X==="base64"){let gA=atob(z),IA=new Uint8Array(gA.length);for(let sA=0;sA<gA.length;sA++)IA[sA]=gA.charCodeAt(sA);return IA}return new TextEncoder().encode(z)}return new Uint8Array(z)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let z=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(X){if(X==="base64"){let eA="",gA=new Uint8Array(this);for(let IA=0;IA<gA.byteLength;IA++)eA+=String.fromCharCode(gA[IA]);return btoa(eA)}return z.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});function hr(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Mi(z,X=""){if(!Number.isSafeInteger(z)||z<0){let eA=X&&`"${X}" `;throw new Error(`${eA}expected integer >= 0, got ${z}`)}}function Fe(z,X,eA=""){let gA=hr(z),IA=z?.length,sA=X!==void 0;if(!gA||sA&&IA!==X){let CA=eA&&`"${eA}" `,cA=sA?` of length ${X}`:"",EA=gA?`length=${IA}`:`type=${typeof z}`;throw new Error(CA+"expected Uint8Array"+cA+", got "+EA)}return z}function He(z,X=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(X&&z.finished)throw new Error("Hash#digest() has already been called")}function Ci(z,X){Fe(z,void 0,"digestInto() output");let eA=X.outputLen;if(z.length<eA)throw new Error('"digestInto() output" expected to be of length >='+eA)}function eg(z){return new Uint32Array(z.buffer,z.byteOffset,Math.floor(z.byteLength/4))}function lt(...z){for(let X=0;X<z.length;X++)z[X].fill(0)}function Bi(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function Et(z,X){return z<<32-X|z>>>X}function yr(z){return z<<24&4278190080|z<<8&16711680|z>>>8&65280|z>>>24&255}function dr(z){for(let X=0;X<z.length;X++)z[X]=yr(z[X]);return z}function ve(z,X={}){let eA=(IA,sA)=>z(sA).update(IA).digest(),gA=z(void 0);return eA.outputLen=gA.outputLen,eA.blockLen=gA.blockLen,eA.create=IA=>z(IA),Object.assign(eA,X),Object.freeze(eA)}var ur,Ji,Oe,Qi=ae(()=>{mA();ur=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Ji=ur?z=>z:dr;Oe=z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,z])})});function ig(z,X,eA){return z&X^~z&eA}function gg(z,X,eA){return z&X^z&eA^X&eA}var Te,Kt,VA,rg=ae(()=>{mA();Qi();Te=class{constructor(X,eA,gA,IA){pA(this,"blockLen");pA(this,"outputLen");pA(this,"padOffset");pA(this,"isLE");pA(this,"buffer");pA(this,"view");pA(this,"finished",!1);pA(this,"length",0);pA(this,"pos",0);pA(this,"destroyed",!1);this.blockLen=X,this.outputLen=eA,this.padOffset=gA,this.isLE=IA,this.buffer=new Uint8Array(X),this.view=Bi(this.buffer)}update(X){He(this),Fe(X);let{view:eA,buffer:gA,blockLen:IA}=this,sA=X.length;for(let CA=0;CA<sA;){let cA=Math.min(IA-this.pos,sA-CA);if(cA===IA){let EA=Bi(X);for(;IA<=sA-CA;CA+=IA)this.process(EA,CA);continue}gA.set(X.subarray(CA,CA+cA),this.pos),this.pos+=cA,CA+=cA,this.pos===IA&&(this.process(eA,0),this.pos=0)}return this.length+=X.length,this.roundClean(),this}digestInto(X){He(this),Ci(X,this),this.finished=!0;let{buffer:eA,view:gA,blockLen:IA,isLE:sA}=this,{pos:CA}=this;eA[CA++]=128,lt(this.buffer.subarray(CA)),this.padOffset>IA-CA&&(this.process(gA,0),CA=0);for(let BA=CA;BA<IA;BA++)eA[BA]=0;gA.setBigUint64(IA-8,BigInt(this.length*8),sA),this.process(gA,0);let cA=Bi(X),EA=this.outputLen;if(EA%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let yA=EA/4,uA=this.get();if(yA>uA.length)throw new Error("_sha2: outputLen bigger than state");for(let BA=0;BA<yA;BA++)cA.setUint32(4*BA,uA[BA],sA)}digest(){let{buffer:X,outputLen:eA}=this;this.digestInto(X);let gA=X.slice(0,eA);return this.destroy(),gA}_cloneInto(X){X||(X=new this.constructor),X.set(...this.get());let{blockLen:eA,buffer:gA,length:IA,finished:sA,destroyed:CA,pos:cA}=this;return X.destroyed=CA,X.finished=sA,X.length=IA,X.pos=cA,IA%eA&&X.buffer.set(gA),X}clone(){return this._cloneInto()}},Kt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),VA=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function lr(z,X=!1){return X?{h:Number(z&ci),l:Number(z>>Ig&ci)}:{h:Number(z>>Ig&ci)|0,l:Number(z&ci)|0}}function fi(z,X=!1){let eA=z.length,gA=new Uint32Array(eA),IA=new Uint32Array(eA);for(let sA=0;sA<eA;sA++){let{h:CA,l:cA}=lr(z[sA],X);[gA[sA],IA[sA]]=[CA,cA]}return[gA,IA]}function pt(z,X,eA,gA){let IA=(X>>>0)+(gA>>>0);return{h:z+eA+(IA/2**32|0)|0,l:IA|0}}var ci,Ig,qi,vi,Ce,Be,je,Pe,og,ng,sg,ag,Cg,Bg,Qg,cg,fg,Eg,Oi=ae(()=>{mA();ci=BigInt(4294967295),Ig=BigInt(32);qi=(z,X,eA)=>z>>>eA,vi=(z,X,eA)=>z<<32-eA|X>>>eA,Ce=(z,X,eA)=>z>>>eA|X<<32-eA,Be=(z,X,eA)=>z<<32-eA|X>>>eA,je=(z,X,eA)=>z<<64-eA|X>>>eA-32,Pe=(z,X,eA)=>z>>>eA-32|X<<64-eA,og=(z,X,eA)=>z<<eA|X>>>32-eA,ng=(z,X,eA)=>X<<eA|z>>>32-eA,sg=(z,X,eA)=>X<<eA-32|z>>>64-eA,ag=(z,X,eA)=>z<<eA-32|X>>>64-eA;Cg=(z,X,eA)=>(z>>>0)+(X>>>0)+(eA>>>0),Bg=(z,X,eA,gA)=>X+eA+gA+(z/2**32|0)|0,Qg=(z,X,eA,gA)=>(z>>>0)+(X>>>0)+(eA>>>0)+(gA>>>0),cg=(z,X,eA,gA,IA)=>X+eA+gA+IA+(z/2**32|0)|0,fg=(z,X,eA,gA,IA)=>(z>>>0)+(X>>>0)+(eA>>>0)+(gA>>>0)+(IA>>>0),Eg=(z,X,eA,gA,IA,sA)=>X+eA+gA+IA+sA+(z/2**32|0)|0});var xr,Xt,Ti,ji,hg,Dr,wr,Zt,zt,Pi,Wi,ug,yg,dg=ae(()=>{mA();rg();Oi();Qi();xr=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Xt=new Uint32Array(64),Ti=class extends Te{constructor(X){super(64,X,8,!1)}get(){let{A:X,B:eA,C:gA,D:IA,E:sA,F:CA,G:cA,H:EA}=this;return[X,eA,gA,IA,sA,CA,cA,EA]}set(X,eA,gA,IA,sA,CA,cA,EA){this.A=X|0,this.B=eA|0,this.C=gA|0,this.D=IA|0,this.E=sA|0,this.F=CA|0,this.G=cA|0,this.H=EA|0}process(X,eA){for(let BA=0;BA<16;BA++,eA+=4)Xt[BA]=X.getUint32(eA,!1);for(let BA=16;BA<64;BA++){let xA=Xt[BA-15],_=Xt[BA-2],fA=Et(xA,7)^Et(xA,18)^xA>>>3,FA=Et(_,17)^Et(_,19)^_>>>10;Xt[BA]=FA+Xt[BA-7]+fA+Xt[BA-16]|0}let{A:gA,B:IA,C:sA,D:CA,E:cA,F:EA,G:yA,H:uA}=this;for(let BA=0;BA<64;BA++){let xA=Et(cA,6)^Et(cA,11)^Et(cA,25),_=uA+xA+ig(cA,EA,yA)+xr[BA]+Xt[BA]|0,FA=(Et(gA,2)^Et(gA,13)^Et(gA,22))+gg(gA,IA,sA)|0;uA=yA,yA=EA,EA=cA,cA=CA+_|0,CA=sA,sA=IA,IA=gA,gA=_+FA|0}gA=gA+this.A|0,IA=IA+this.B|0,sA=sA+this.C|0,CA=CA+this.D|0,cA=cA+this.E|0,EA=EA+this.F|0,yA=yA+this.G|0,uA=uA+this.H|0,this.set(gA,IA,sA,CA,cA,EA,yA,uA)}roundClean(){lt(Xt)}destroy(){this.set(0,0,0,0,0,0,0,0),lt(this.buffer)}},ji=class extends Ti{constructor(){super(32);pA(this,"A",Kt[0]|0);pA(this,"B",Kt[1]|0);pA(this,"C",Kt[2]|0);pA(this,"D",Kt[3]|0);pA(this,"E",Kt[4]|0);pA(this,"F",Kt[5]|0);pA(this,"G",Kt[6]|0);pA(this,"H",Kt[7]|0)}},hg=fi(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(z=>BigInt(z))),Dr=hg[0],wr=hg[1],Zt=new Uint32Array(80),zt=new Uint32Array(80),Pi=class extends Te{constructor(X){super(128,X,16,!1)}get(){let{Ah:X,Al:eA,Bh:gA,Bl:IA,Ch:sA,Cl:CA,Dh:cA,Dl:EA,Eh:yA,El:uA,Fh:BA,Fl:xA,Gh:_,Gl:fA,Hh:FA,Hl:UA}=this;return[X,eA,gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA]}set(X,eA,gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA){this.Ah=X|0,this.Al=eA|0,this.Bh=gA|0,this.Bl=IA|0,this.Ch=sA|0,this.Cl=CA|0,this.Dh=cA|0,this.Dl=EA|0,this.Eh=yA|0,this.El=uA|0,this.Fh=BA|0,this.Fl=xA|0,this.Gh=_|0,this.Gl=fA|0,this.Hh=FA|0,this.Hl=UA|0}process(X,eA){for(let HA=0;HA<16;HA++,eA+=4)Zt[HA]=X.getUint32(eA),zt[HA]=X.getUint32(eA+=4);for(let HA=16;HA<80;HA++){let it=Zt[HA-15]|0,ut=zt[HA-15]|0,GA=Ce(it,ut,1)^Ce(it,ut,8)^qi(it,ut,7),lA=Be(it,ut,1)^Be(it,ut,8)^vi(it,ut,7),ZA=Zt[HA-2]|0,XA=zt[HA-2]|0,vt=Ce(ZA,XA,19)^je(ZA,XA,61)^qi(ZA,XA,6),Ot=Be(ZA,XA,19)^Pe(ZA,XA,61)^vi(ZA,XA,6),te=Qg(lA,Ot,zt[HA-7],zt[HA-16]),le=cg(te,GA,vt,Zt[HA-7],Zt[HA-16]);Zt[HA]=le|0,zt[HA]=te|0}let{Ah:gA,Al:IA,Bh:sA,Bl:CA,Ch:cA,Cl:EA,Dh:yA,Dl:uA,Eh:BA,El:xA,Fh:_,Fl:fA,Gh:FA,Gl:UA,Hh:bA,Hl:YA}=this;for(let HA=0;HA<80;HA++){let it=Ce(BA,xA,14)^Ce(BA,xA,18)^je(BA,xA,41),ut=Be(BA,xA,14)^Be(BA,xA,18)^Pe(BA,xA,41),GA=BA&_^~BA&FA,lA=xA&fA^~xA&UA,ZA=fg(YA,ut,lA,wr[HA],zt[HA]),XA=Eg(ZA,bA,it,GA,Dr[HA],Zt[HA]),vt=ZA|0,Ot=Ce(gA,IA,28)^je(gA,IA,34)^je(gA,IA,39),te=Be(gA,IA,28)^Pe(gA,IA,34)^Pe(gA,IA,39),le=gA&sA^gA&cA^sA&cA,gi=IA&CA^IA&EA^CA&EA;bA=FA|0,YA=UA|0,FA=_|0,UA=fA|0,_=BA|0,fA=xA|0,{h:BA,l:xA}=pt(yA|0,uA|0,XA|0,vt|0),yA=cA|0,uA=EA|0,cA=sA|0,EA=CA|0,sA=gA|0,CA=IA|0;let pe=Cg(vt,te,gi);gA=Bg(pe,XA,Ot,le),IA=pe|0}({h:gA,l:IA}=pt(this.Ah|0,this.Al|0,gA|0,IA|0)),{h:sA,l:CA}=pt(this.Bh|0,this.Bl|0,sA|0,CA|0),{h:cA,l:EA}=pt(this.Ch|0,this.Cl|0,cA|0,EA|0),{h:yA,l:uA}=pt(this.Dh|0,this.Dl|0,yA|0,uA|0),{h:BA,l:xA}=pt(this.Eh|0,this.El|0,BA|0,xA|0),{h:_,l:fA}=pt(this.Fh|0,this.Fl|0,_|0,fA|0),{h:FA,l:UA}=pt(this.Gh|0,this.Gl|0,FA|0,UA|0),{h:bA,l:YA}=pt(this.Hh|0,this.Hl|0,bA|0,YA|0),this.set(gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA,bA,YA)}roundClean(){lt(Zt,zt)}destroy(){lt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Wi=class extends Pi{constructor(){super(64);pA(this,"Ah",VA[0]|0);pA(this,"Al",VA[1]|0);pA(this,"Bh",VA[2]|0);pA(this,"Bl",VA[3]|0);pA(this,"Ch",VA[4]|0);pA(this,"Cl",VA[5]|0);pA(this,"Dh",VA[6]|0);pA(this,"Dl",VA[7]|0);pA(this,"Eh",VA[8]|0);pA(this,"El",VA[9]|0);pA(this,"Fh",VA[10]|0);pA(this,"Fl",VA[11]|0);pA(this,"Gh",VA[12]|0);pA(this,"Gl",VA[13]|0);pA(this,"Hh",VA[14]|0);pA(this,"Hl",VA[15]|0)}},ug=ve(()=>new ji,Oe(1)),yg=ve(()=>new Wi,Oe(3))});function Nr(z,X=24){let eA=new Uint32Array(10);for(let gA=24-X;gA<24;gA++){for(let CA=0;CA<10;CA++)eA[CA]=z[CA]^z[CA+10]^z[CA+20]^z[CA+30]^z[CA+40];for(let CA=0;CA<10;CA+=2){let cA=(CA+8)%10,EA=(CA+2)%10,yA=eA[EA],uA=eA[EA+1],BA=lg(yA,uA,1)^eA[cA],xA=pg(yA,uA,1)^eA[cA+1];for(let _=0;_<50;_+=10)z[CA+_]^=BA,z[CA+_+1]^=xA}let IA=z[2],sA=z[3];for(let CA=0;CA<24;CA++){let cA=Dg[CA],EA=lg(IA,sA,cA),yA=pg(IA,sA,cA),uA=xg[CA];IA=z[uA],sA=z[uA+1],z[uA]=EA,z[uA+1]=yA}for(let CA=0;CA<50;CA+=10){for(let cA=0;cA<10;cA++)eA[cA]=z[CA+cA];for(let cA=0;cA<10;cA++)z[CA+cA]^=~eA[(cA+2)%10]&eA[(cA+4)%10]}z[0]^=Hr[gA],z[1]^=kr[gA]}lt(eA)}var br,We,Gr,mr,Sr,Fr,xg,Dg,wg,bg,Hr,kr,lg,pg,_i,Ur,Gg,mg=ae(()=>{mA();Oi();Qi();br=BigInt(0),We=BigInt(1),Gr=BigInt(2),mr=BigInt(7),Sr=BigInt(256),Fr=BigInt(113),xg=[],Dg=[],wg=[];for(let z=0,X=We,eA=1,gA=0;z<24;z++){[eA,gA]=[gA,(2*eA+3*gA)%5],xg.push(2*(5*gA+eA)),Dg.push((z+1)*(z+2)/2%64);let IA=br;for(let sA=0;sA<7;sA++)X=(X<<We^(X>>mr)*Fr)%Sr,X&Gr&&(IA^=We<<(We<<BigInt(sA))-We);wg.push(IA)}bg=fi(wg,!0),Hr=bg[0],kr=bg[1],lg=(z,X,eA)=>eA>32?sg(z,X,eA):og(z,X,eA),pg=(z,X,eA)=>eA>32?ag(z,X,eA):ng(z,X,eA);_i=class z{constructor(X,eA,gA,IA=!1,sA=24){pA(this,"state");pA(this,"pos",0);pA(this,"posOut",0);pA(this,"finished",!1);pA(this,"state32");pA(this,"destroyed",!1);pA(this,"blockLen");pA(this,"suffix");pA(this,"outputLen");pA(this,"enableXOF",!1);pA(this,"rounds");if(this.blockLen=X,this.suffix=eA,this.outputLen=gA,this.enableXOF=IA,this.rounds=sA,Mi(gA,"outputLen"),!(0<X&&X<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=eg(this.state)}clone(){return this._cloneInto()}keccak(){Ji(this.state32),Nr(this.state32,this.rounds),Ji(this.state32),this.posOut=0,this.pos=0}update(X){He(this),Fe(X);let{blockLen:eA,state:gA}=this,IA=X.length;for(let sA=0;sA<IA;){let CA=Math.min(eA-this.pos,IA-sA);for(let cA=0;cA<CA;cA++)gA[this.pos++]^=X[sA++];this.pos===eA&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:X,suffix:eA,pos:gA,blockLen:IA}=this;X[gA]^=eA,(eA&128)!==0&&gA===IA-1&&this.keccak(),X[IA-1]^=128,this.keccak()}writeInto(X){He(this,!1),Fe(X),this.finish();let eA=this.state,{blockLen:gA}=this;for(let IA=0,sA=X.length;IA<sA;){this.posOut>=gA&&this.keccak();let CA=Math.min(gA-this.posOut,sA-IA);X.set(eA.subarray(this.posOut,this.posOut+CA),IA),this.posOut+=CA,IA+=CA}return X}xofInto(X){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(X)}xof(X){return Mi(X),this.xofInto(new Uint8Array(X))}digestInto(X){if(Ci(X,this),this.finished)throw new Error("digest() was already called");return this.writeInto(X),this.destroy(),X}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,lt(this.state)}_cloneInto(X){let{blockLen:eA,suffix:gA,outputLen:IA,rounds:sA,enableXOF:CA}=this;return X||(X=new z(eA,gA,IA,CA,sA)),X.state32.set(this.state32),X.pos=this.pos,X.posOut=this.posOut,X.finished=this.finished,X.rounds=sA,X.suffix=gA,X.outputLen=IA,X.enableXOF=CA,X.destroyed=this.destroyed,X}},Ur=(z,X,eA,gA={})=>ve(()=>new _i(X,z,eA),gA),Gg=Ur(6,136,32,Oe(8))});var Ei={};Ag(Ei,{createHash:()=>Sg,default:()=>Yr});function Sg(z){let X=new Uint8Array(0),eA;switch(z.toLowerCase()){case"sha256":case"sha-256":eA=ug;break;case"sha512":case"sha-512":eA=yg;break;case"sha3-256":eA=Gg;break;default:throw new Error(`Unsupported hash algorithm: ${z}`)}return{update(gA){let IA=gA instanceof Uint8Array?gA:new Uint8Array(gA),sA=new Uint8Array(X.length+IA.length);return sA.set(X),sA.set(IA,X.length),X=sA,this},digest(){return eA(X)}}}var Yr,hi=ae(()=>{"use strict";mA();dg();mg();Yr={createHash:Sg}});var rr=Qr((exports,module)=>{mA();var dilithium=(function(){var A,I,g,C={};function B(z,X){if(z===0)return X;throw new Error("Dilithium error: "+z)}function Q(z,X){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,z,X))}function i(z){try{C._free(z)}catch(X){setTimeout((function(){throw X}),0)}}C.ready=new Promise((function(A,I){function g(z){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},g(z)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(z){I(z)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(z,X){throw X},o=(typeof window>"u"?"undefined":g(window))=="object",n=typeof importScripts=="function",r=(typeof process>"u"?"undefined":g(process))=="object"&&g(process.versions)=="object"&&typeof process.versions.node=="string",t="";if(r){var a=eval("require")("fs"),e=eval("require")("path");t=n?e.dirname(t)+"/":__dirname+"/",C=function(z,X){var eA=x(z);return eA?X?eA:eA.toString():(z=q(z)?new URL(z):e.normalize(z),a.readFileSync(z,X?void 0:"utf8"))},B=function(z){var X=C(z,!0);return X.buffer||(X=new Uint8Array(X)),X},!Q.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=Q),process.on("uncaughtException",(function(z){if(!(z==="unwind"||z instanceof p||z.context instanceof p))throw z})),E=function(z,X){throw process.exitCode=z,X},Q.inspect=function(){return"[Emscripten Module object]"}}else(o||n)&&(n?t=self.location.href:typeof document<"u"&&document.currentScript&&(t=document.currentScript.src),t=t.indexOf("blob:")!==0?t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1):"",C=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.send(null),X.responseText}catch(gA){var eA=x(z);if(eA)return(function(IA){for(var sA=[],CA=0;CA<IA.length;CA++){var cA=IA[CA];cA>255&&(cA&=255),sA.push(String.fromCharCode(cA))}return sA.join("")})(eA);throw gA}},n&&(B=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.responseType="arraybuffer",X.send(null),new Uint8Array(X.response)}catch(gA){var eA=x(z);if(eA)return eA;throw gA}}));Q.print||console.log.bind(console);var f,D=Q.printErr||console.error.bind(console);Object.assign(Q,i),i=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&(E=Q.quit),Q.wasmBinary&&(f=Q.wasmBinary);var c,G=Q.noExitRuntime||!0;(typeof WebAssembly>"u"?"undefined":g(WebAssembly))!="object"&&U("no native wasm support detected");var h,y,u,s,F=!1,Y=[],N=[],w=[],S=0,k=null,H=null;function U(z){throw Q.onAbort&&Q.onAbort(z),D(z="Aborted("+z+")"),F=!0,z+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(z)}var R,d,M="data:application/octet-stream;base64,";function J(z){return z.startsWith(M)}function q(z){return z.startsWith("file://")}function l(z){return Promise.resolve().then((function(){return(function(X){if(X==R&&f)return new Uint8Array(f);var eA=x(X);if(eA)return eA;if(B)return B(X);throw"both async and sync fetching of the wasm failed"})(z)}))}function m(z,X,eA,gA){return(function(IA,sA,CA){return l(IA).then((function(cA){return WebAssembly.instantiate(cA,sA)})).then((function(cA){return cA})).then(CA,(function(cA){D("failed to asynchronously prepare wasm: "+cA),U(cA)}))})(X,eA,gA)}J(R="data:application/octet-stream;base64,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aiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQegAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQShyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQewAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQThyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfwAcmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEFA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgBUECdCIDQSByaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBJHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EEcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EocmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQSxyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBDHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBMHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EQcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0E0cmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQThyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBGHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBPHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EccmoiAygCACIBIAJrNgIAIAMgASACajYCACAFQfABSSEDIAVBEGohBSADDQALQQAhBQNAIAZBAWoiBkECdEGgCmo0AgAiByAAIAVBAnQiA0EQcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQRRyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBBHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBGHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EIcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EccmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB+AFJIQMgBUEIaiEFIAMNAAtBACEDA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgA0ECdCIFQQhyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIAVqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIAVBDHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgBUEEcmoiBSgCACIBIAJrNgIAIAUgASACajYCACADQfwBSSEFIANBBGohAyAFDQALQQAhAwNAIAAgA0ECdCICQQRyaiIBNAIAIAZBAWoiBkECdEGgCmo0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSABIAAgAmoiAigCACIBIAVrNgIAIAIgASAFajYCACADQf4BSSEFIANBAmohAyAFDQALC4oCAQp/A0AgACAEQQV0aiICIAEgBEEDbGoiAy0AAEEHcSIFNgIAIAIgAy0AAEEDdkEHcSIGNgIEIAIgAy0A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IgEgACADQcgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQQxyaiIBIAAgA0HMAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EQcmoiASAAIANB0AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBFHJqIgEgACADQdQAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQRhyaiIBIAAgA0HYAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EccmoiASAAIANB3AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBIHJqIgEgACADQeAAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQSRyaiIBIAAgA0HkAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EocmoiASAAIANB6AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBLHJqIgEgACADQewAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTByaiIBIAAgA0HwAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0E0cmoiASAAIANB9AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBOHJqIgEgACADQfgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTxyaiICIAAgA0H8AHJqIgMoAgAiASACKAIAIgJqNgIAIAMgAiABayICNgIAIAMgAqwgCX4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEDQQAgBEECdEGYCmooAgBrrCEJA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0EgRw0AC0EAIARBAnRBlApqKAIAa6whCUHAACEDA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0HgAEcNAAtBACAEQQJ0QZAKaigCAGusIQlBgAEhAwNAIAAgA0ECdGoiBiAGKAKAASIFIAYoAgAiAmo2AgAgBiACIAVrIgU2AoABIAYgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKAASADQQFqIgNBoAFHDQALQQAgBEECdEGMCmooAgBrrCEJQcABIQMDQCAAIANBAnRqIgYgBigCgAEiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAASAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAEgA0EBaiIDQeABRw0AC0EAIQNBACAEQQJ0QYgKaigCAGusIQkDQCAAIANBAnRqIgYgBigCgAIiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAAiAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAIgA0EBaiIDQcAARw0AC0EAIARBAnRBhApqKAIAa6whCUGAASEDA0AgACADQQJ0aiIGIAYoAoACIgUgBigCACICajYCACAGIAIgBWsiBTYCgAIgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoACIANBAWoiA0HAAUcNAAtBACEDQQAgBEECdEGACmooAgBrrCEJQQAhBgNAIAAgBkECdGoiBCAEKAKABCIFIAQoAgAiAmo2AgAgBCACIAVrIgU2AoAEIAQgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKABCAGQQFqIgZBgAFHDQALA0AgACADQQJ0aiIGIAY0AgBC+scCfiIJIAlCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgA0EBaiIDQYACRw0ACwsQACAAKAIAQYgBIAEgAhA6C8kCAgd/A34gAigCACEDAn9BACABRQ0AGiABrSEMA0AgCqciAiAKIAMpA8gBIgtaDQEaIAAgAmogAyAKIAt9IgunQYgBakF4cWopAwAgC0IDhog8AAAgCkIBfCIKIAxSDQALIAELIQIgAyADKQPIASACrX03A8gBIAEgAmsiBQRAIAAgAmohAANAIAMQJUGIASAFIAVBiAFPGyIEQQFxIQZBACECIARBAUcEQCAEQf4BcSEHQQAhAQNAIAAgAmogAyACQXhxaiIIKQMAIAJBA3RBMHGtiDwAACAAIAJBAXIiCWogCCkDACAJQQN0QThxrYg8AAAgAkECaiECIAFBAmoiASAHRw0ACwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBiAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwsJACAAKAIAECoLrgEBAX8jAEGACGsiAyQAIAAgASACEAUgAyABQYAIaiACQYAIahAFIAAgACADEAYgAyABQYAQaiACQYAQahAFIAAgACADEAYgAyABQYAYaiACQYAYahAFIAAgACADEAYgAyABQYAgaiACQYAgahAFIAAgACADEAYgAyABQYAoaiACQYAoahAFIAAgACADEAYgAyABQYAwaiACQYAwahAFIAAgACADEAYgA0GACGokAAtVAQJ/A0Ag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CwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBqAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwtsAQF/QQEhAgJAIAAgARALDQAgAEGACGogARALDQAgAEGAEGogARALDQAgAEGAGGogARALDQAgAEGAIGogARALDQAgAEGAKGogARALDQAgAEGAMGogARALDQAgAEGAOGogARALQQBHIQILIAILlgEAIAAgASACEBwgAEGACGogAUGACGogAkGACGoQHCAAQYAQaiABQYAQaiACQYAQahAcIABBgBhqIAFBgBhqIAJBgBhqEBwgAEGAIGogAUGAIGogAkGAIGoQHCAAQYAoaiABQYAoaiACQYAoahAcIABBgDBqIAFBgDBqIAJBgDBqEBwgAEGAOGogAUGAOGogAkGAOGoQHAuWAQAgACABIAIQBiAAQYAIaiABQYAIaiACQYAIahAGIABBgBBqIAFBgBBqIAJBgBBqEAYgAEGAGGogAUGAGGogAkGAGGoQBiAAQYAgaiABQYAgaiACQYAgahAGIABBgChqIAFBgChqIAJBgChqEAYgAEGAMGogAUGAMGogAkGAMGoQBiAAQYA4aiABQYA4aiACQYA4ahAGC24BAX9BASEBAkAgAEGI/x8QCw0AIABBgAhqQYj/HxALDQAgAEGAEGpBiP8fEAsNACAAQYAYakGI/x8QCw0AIABBgCBqQYj/HxALDQAgAEGAKGpBiP8fEAsNACAAQYAwakGI/x8QC0EARyEBCyABC4EDAgd+AX8gAa0iBiAAKQPIASIEIAOtIgh8WARAA0BBACELQgAhBSABIASnRwRAA0AgACAEIAV8IgSnQXhxaiILIAspAwAgAiAFp2oxAAAgBEIDhoaFNwMAIAVCAXwiBSABIAApA8gBIgSnayILrVQNAAsLIABCADcDyAEgABAlIAIgC2ohAiAAKQPIASIEIAMgC2siA60iCHwgBloNAAsLIAAgAwR+IAOtIgRCAYMhBkIAIQUgA0EBRwRAIARC/v///w+DIQlCACEEA0AgACAAKQPIASAFfCIHp0F4cWoiASABKQMAIAIgBadqMQAAIAdCA4aGhTcDACAAIAVCAYQiByAAKQPIAXwiCqdBeHFqIgEgASkDACACIAenajEAACAKQgOGhoU3AwAgBUICfCEFIARC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ACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDrIyAEQYAIaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7CMgBEGAEGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6AO0jIARBgBhqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDuIyAEQYAgaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7yMgBEGAKGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6APAjIARBgDBqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDxIyAEQYA4aiEEQQAhAgNAIAQgAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAEIAJBAXIiCEECdGooAgAEQCABIANqIAg6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA8iMgDkHzIzYCDCAHQfCxB2okACAAIA4oAgw7AQAgDkEQaiQAQQALghEBFH8jAEGg8QVrIgUkACAFQaDwBWohAiMAQRBrIgQkAANAIARBADoADyACIANqQaQSIARBD2pBABABOgAAIANBAWoiA0EgRw0ACyAEQRBqJAAgAkGAASACQSAQKSAFQYCwAmoiCCACEDEgBUGA+AFqIgYiBCAFQcDwBWoiA0EAEAogBEGACGogA0EBEAogBEGAEGogA0ECEAogBEGAGGogA0EDEAogBEGAIGogA0EEEAogBEGAKGogA0EFEAogBEGAMGogA0EGEAogBUGAgAFqIgQgA0EHEAogBEGACGogA0EIEAogBEGAEGogA0EJEAogBEGAGGogA0EKEAogBEGAIGogA0ELEAogBEGAKGogA0EMEAogBEGAMGogA0ENEAogBEGAOGoiDiADQQ4QCiAFQYDAAWoiByAGQYA4ECwgBxAoIAVBgEBrIgMgCCAHEDAgAxAnIAMQJiADIAMgBBA4IAMQLyADIAUgAxAaIANBgAhqIgcgBUGACGoiDyAHEBogA0GAEGoiCCAFQYAQaiIQIAgQGiADQYAYaiIJIAVBgBhqIhEgCRAaIANBgCBqIgogBUGAIGoiEiAKEBogA0GAKGoiCyAFQYAoaiITIAsQGiADQYAwaiIMIAVBgDBqIhQgDBAaIANBgDhqIg0gBUGAOGoiFSANEBogACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAIAItAAg6AAggACACLQAJOgAJIAAgAi0ACjoACiAAIAItAAs6AAsgACACLQAMOgAMIAAgAi0ADToADSAAIAItAA46AA4gACACLQAPOgAPIAAgAi0AEDoAECAAIAItABE6ABEgACACLQASOgASIAAgAi0AEzoAEyAAIAItABQ6ABQgACACLQAVOgAVIAAgAi0AFjoAFiAAIAItABc6ABcgACACLQAYOgAYIAAgAi0AGToAGSAAIAItABo6ABogACACLQAbOgAbIAAgAi0AHDoAHCAAIAItAB06AB0gACACLQAeOgAeIAAgAi0AHzoAHyAAQSBqIAMQFiAAQeACaiAHEBYgAEGgBWogCBAWIABB4AdqIAkQFiAAQaAKaiAKEBYgAEHgDGogCxAWIABBoA9qIAwQFiAAQeARaiANEBYgBUGA8AVqIgNBICAAQaAUECkgASACLQAAOgAAIAEgAi0AAToAASABIAItAAI6AAIgASACLQADOgADIAEgAi0ABDoABCABIAItAAU6AAUgASACLQAGOgAGIAEgAi0ABzoAByABIAItAAg6AAggASACLQAJOgAJIAEgAi0ACjoACiABIAItAAs6AAsgASACLQAMOgAMIAEgAi0ADToADSABIAItAA46AA4gASACLQAPOgAPIAEgAi0AEDoAECABIAItABE6ABEgASACLQASOgASIAEgAi0AEzoAEyABIAItABQ6ABQgASACLQAVOgAVIAEgAi0AFjoAFiABIAItABc6ABcgASACLQAYOgAYIAEgAi0AGToAGSABIAItABo6ABogASACLQAbOgAbIAEgAi0AHDoAHCABIAItAB06AB0gASACLQAeOgAeIAEgAi0AHzoAHyABIAVBgPEFaiIALQAAOgAgIAEgAC0AAToAISABIAAtAAI6ACIgASAALQADOgAjIAEgAC0ABDoAJCABIAAtAAU6ACUgASAALQAGOgAmIAEgAC0ABzoAJyABIAAtAAg6ACggASAALQAJOgApIAEgAC0ACjoAKiABIAAtAAs6ACsgASAALQAMOgAsIAEgAC0ADToALSABIAAtAA46AC4gASAALQAPOgAvIAEgAC0AEDoAMCABIAAtABE6ADEgASAALQASOgAyIAEgAC0AEzoAMyABIAAtABQ6ADQgASAALQAVOgA1IAEgAC0AFjoANiABIAAtABc6ADcgASAALQAYOgA4IAEgAC0AGToAOSABIAAtABo6ADogASAALQAbOgA7IAEgAC0AHDoAPCABIAAtAB06AD0gASAALQAeOgA+IAEgAC0AHzoAPyABIAMtAAA6AEAgASADLQABOgBBIAEgAy0AAjoAQiABIAMtAAM6AEMgASADLQAEOgBEIAEgAy0ABToARSABIAMtAAY6AEYgASADLQAHOgBHIAEgAy0ACDoASCABIAMtAAk6AEkgASADLQAKOgBKIAEgAy0ACzoASyABIAMtAAw6AEwgASADLQANOgBNIAEgAy0ADjoATiABIAMtAA86AE8gASADLQAQOgBQIAEgAy0AEToAUSABIAMtABI6AFIgASADLQATOgBTIAEgAy0AFDoAVCABIAMtABU6AFUgASADLQAWOgBWIAEgAy0AFzoAVyABIAMtABg6AFggASADLQAZOgBZIAEgAy0AGjoAWiABIAMtABs6AFsgASADLQAcOgBcIAEgAy0AHToAXSABIAMtAB46AF4gASADLQAfOgBfIAFB4ABqIAYQCSABQcABaiAGQYAIahAJIAFBoAJqIAZBgBBqEAkgAUGAA2ogBkGAGGoQCSABQeADaiAGQYAgahAJIAFBwARqIAZBgChqEAkgAUGgBWogBkGAMGoQCSABQYAGaiAEEAkgAUHgBmogBEGACGoQCSABQcAHaiAEQYAQahAJIAFBoAhqIARBgBhqEAkgAUGACWogBEGAIGoQCSABQeAJaiAEQYAoahAJIAFBwApqIARBgDBqEAkgAUGgC2ogDhAJIAFBgAxqIAUQFCABQaAPaiAPEBQgAUHAEmogEBAUIAFB4BVqIBEQFCABQYAZaiASEBQgAUGgHGogExAUIAFBwB9qIBQQFCABQeAiaiAVEBQgBUGg8QVqJABBAAsFAEH1IwsFAEGAJgsFAEGgFAsoAQF/IwBBEGsiACQAIABBADoAD0HIEiAAQQ9qQQAQARogAEEQaiQACwunCgMAQYAIC1FyYW5kb21ieXRlcwBsaWJzb2RpdW0vc3JjL2xpYnNvZGl1bS9yYW5kb21ieXRlcy9yYW5kb21ieXRlcy5jAGJ1Zl9sZW4gPD0gU0laRV9NQVgAQeAIC78JAQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zikeAEGgEgsDEA6A")||(d=R,R=Q.locateFile?Q.locateFile(d,t):t+d);var L={2340:function(){return Q.getRandomValue()},2376:function(){if(Q.getRandomValue===void 0)try{var A=(typeof window>"u"?"undefined":g(window))==="object"?window:self,I=A.crypto!==void 0?A.crypto:A.msCrypto,C=function(){var z=new Uint32Array(1);return I.getRandomValues(z),z[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var z=B.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),Q.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function p(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var K=function(z){for(;z.length>0;)z.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(z,X,eA){var gA=(function(IA,sA){var CA;for(v.length=0,sA>>=2;CA=y[IA++];)sA+=CA!=105&sA,v.push(CA==105?u[sA]:s[sA++>>1]),++sA;return v})(X,eA);return L[z].apply(null,gA)},O=function(z){G||(Q.onExit&&Q.onExit(z),F=!0),E(z,new p(z))},T={b:function(z,X,eA){return j(z,X,eA)},d:function(z,X,eA){return y.copyWithin(z,X,X+eA)},c:function(z){y.length,U("OOM")},a:function(z,X){O(z)}};(function(){var z={a:T};function X(eA,gA){var IA,sA,CA=eA.exports;return Q.asm=CA,c=Q.asm.e,IA=c.buffer,Q.HEAP8=h=new Int8Array(IA),Q.HEAP16=new Int16Array(IA),Q.HEAP32=u=new Int32Array(IA),Q.HEAPU8=y=new Uint8Array(IA),Q.HEAPU16=new Uint16Array(IA),Q.HEAPU32=new Uint32Array(IA),Q.HEAPF32=new Float32Array(IA),Q.HEAPF64=s=new Float64Array(IA),Q.asm.g,sA=Q.asm.f,N.unshift(sA),(function(cA){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var EA=H;H=null,EA()}})(),CA}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(z,X)}catch(eA){return D("Module.instantiateWasm callback failed with error: "+eA),!1}m(0,R,z,(function(eA){X(eA.instance)}))})(),Q._malloc=function(){return(Q._malloc=Q.asm.h).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.i).apply(null,arguments)},Q._dilithiumjs_init=function(){return(Q._dilithiumjs_init=Q.asm.j).apply(null,arguments)},Q._dilithiumjs_public_key_bytes=function(){return(Q._dilithiumjs_public_key_bytes=Q.asm.k).apply(null,arguments)},Q._dilithiumjs_secret_key_bytes=function(){return(Q._dilithiumjs_secret_key_bytes=Q.asm.l).apply(null,arguments)},Q._dilithiumjs_signature_bytes=function(){return(Q._dilithiumjs_signature_bytes=Q.asm.m).apply(null,arguments)},Q._dilithiumjs_keypair=function(){return(Q._dilithiumjs_keypair=Q.asm.n).apply(null,arguments)},Q._dilithiumjs_sign=function(){return(Q._dilithiumjs_sign=Q.asm.o).apply(null,arguments)},Q._dilithiumjs_verify=function(){return(Q._dilithiumjs_verify=Q.asm.p).apply(null,arguments)};function x(z){if(J(z))return(function(X){if(r!==void 0&&r){var eA=Buffer.from(X,"base64");return new Uint8Array(eA.buffer,eA.byteOffset,eA.byteLength)}try{for(var gA=atob(X),IA=new Uint8Array(gA.length),sA=0;sA<gA.length;++sA)IA[sA]=gA.charCodeAt(sA);return IA}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(M.length))}function W(){function z(){b||(b=!0,Q.calledRun=!0,F||(K(N),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),(function(){if(Q.postRun)for(typeof Q.postRun=="function"&&(Q.postRun=[Q.postRun]);Q.postRun.length;)X=Q.postRun.shift(),w.unshift(X);var X;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)X=Q.preRun.shift(),Y.unshift(X);var X;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),z()}),1)):z()))}if(Q.writeArrayToMemory=function(z,X){h.set(z,X)},H=function z(){b||W(),b||(H=z)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(z){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},A(z)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(z,X){throw X},i=(typeof window>"u"?"undefined":A(window))=="object",E=typeof importScripts=="function",o=(typeof process>"u"?"undefined":A(process))=="object"&&A(process.versions)=="object"&&typeof process.versions.node=="string",n="";if(o){var r=eval("require")("fs"),t=eval("require")("path");n=E?t.dirname(n)+"/":__dirname+"/",I=function(z,X){var eA=P(z);return eA?X?eA:eA.toString():(z=m(z)?new URL(z):t.normalize(z),r.readFileSync(z,X?void 0:"utf8"))},g=function(z){var X=I(z,!0);return X.buffer||(X=new Uint8Array(X)),X},!C.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=C),process.on("uncaughtException",(function(z){if(!(z==="unwind"||z instanceof b||z.context instanceof b))throw z})),Q=function(z,X){throw process.exitCode=z,X},C.inspect=function(){return"[Emscripten Module object]"}}else(i||E)&&(E?n=self.location.href:typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),n=n.indexOf("blob:")!==0?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",I=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.send(null),X.responseText}catch(gA){var eA=P(z);if(eA)return(function(IA){for(var sA=[],CA=0;CA<IA.length;CA++){var cA=IA[CA];cA>255&&(cA&=255),sA.push(String.fromCharCode(cA))}return sA.join("")})(eA);throw gA}},E&&(g=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.responseType="arraybuffer",X.send(null),new Uint8Array(X.response)}catch(gA){var eA=P(z);if(eA)return eA;throw gA}}));C.print||console.log.bind(console);var a,e=C.printErr||console.error.bind(console);Object.assign(C,B),B=null,C.arguments&&C.arguments,C.thisProgram&&C.thisProgram,C.quit&&(Q=C.quit),C.wasmBinary&&(a=C.wasmBinary);var f,D=C.noExitRuntime||!0,c={Memory:function(z){this.buffer=new ArrayBuffer(65536*z.initial)},Module:function(z){},Instance:function(z,X){this.exports=(function(eA){for(var gA,IA=new Uint8Array(123),sA=25;sA>=0;--sA)IA[48+sA]=52+sA,IA[65+sA]=sA,IA[97+sA]=26+sA;function CA(EA,yA,uA){for(var BA,xA,_=0,fA=yA,FA=uA.length,UA=yA+(3*FA>>2)-(uA[FA-2]=="=")-(uA[FA-1]=="=");_<FA;_+=4)BA=IA[uA.charCodeAt(_+1)],xA=IA[uA.charCodeAt(_+2)],EA[fA++]=IA[uA.charCodeAt(_)]<<2|BA>>4,fA<UA&&(EA[fA++]=BA<<4|xA>>2),fA<UA&&(EA[fA++]=xA<<6|IA[uA.charCodeAt(_+3)])}function cA(){throw new Error("abort")}return IA[43]=62,IA[47]=63,(function(EA){var yA=EA.a,uA=yA.a.buffer,BA=new Int8Array(uA),xA=new Int16Array(uA),_=new Int32Array(uA),fA=new Uint8Array(uA),FA=new Uint16Array(uA),UA=new Uint32Array(uA),bA=(new Float32Array(uA),new Float64Array(uA),Math.imul),YA=Math.clz32,HA=yA.b,it=yA.c,ut=yA.d,GA=8392208,lA=0;function ZA(Z){var tA,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;GA=tA=GA-16|0;A:{e:{t:{i:{n:{I:{s:{f:{C:{a:{o:{B:{Q:{g:{if((Z|=0)>>>0<=244){if(3&(AA=(nA=_[776])>>>($=(aA=Z>>>0<11?16:Z+11&-8)>>>3|0)|0)){AA=(Z=($=$+(1&(-1^AA))|0)<<3)+3144|0,iA=_[Z+3152>>2],(0|AA)!=(0|(Z=_[iA+8>>2]))?(_[Z+12>>2]=AA,_[AA+8>>2]=Z):_[776]=yt($)&nA,Z=iA+8|0,AA=$<<3,_[iA+4>>2]=3|AA,_[(AA=AA+iA|0)+4>>2]=1|_[AA+4>>2];break A}if((dA=_[778])>>>0>=aA>>>0)break g;if(AA){AA=(Z=(iA=Yi(0-(Z=(0-(Z=2<<$)|Z)&AA<<$)&Z))<<3)+3144|0,rA=_[Z+3152>>2],(0|AA)!=(0|(Z=_[rA+8>>2]))?(_[Z+12>>2]=AA,_[AA+8>>2]=Z):(nA=yt(iA)&nA,_[776]=nA),_[rA+4>>2]=3|aA,iA=(Z=iA<<3)-aA|0,_[($=rA+aA|0)+4>>2]=1|iA,_[Z+rA>>2]=iA,dA&&(AA=3144+(-8&dA)|0,oA=_[781],(Z=1<<(dA>>>3))&nA?Z=_[AA+8>>2]:(_[776]=Z|nA,Z=AA),_[AA+8>>2]=oA,_[Z+12>>2]=oA,_[oA+12>>2]=AA,_[oA+8>>2]=Z),Z=rA+8|0,_[781]=$,_[778]=iA;break A}if(!(hA=_[777]))break g;for($=_[3408+(Yi(0-hA&hA)<<2)>>2],oA=(-8&_[$+4>>2])-aA|0,AA=$;(Z=_[AA+16>>2])||(Z=_[AA+20>>2]);)oA=(iA=(AA=(-8&_[Z+4>>2])-aA|0)>>>0<oA>>>0)?AA:oA,$=iA?Z:$,AA=Z;if(QA=_[$+24>>2],(0|(iA=_[$+12>>2]))!=(0|$)){Z=_[$+8>>2],_[Z+12>>2]=iA,_[iA+8>>2]=Z;break e}if(!(Z=_[(AA=$+20|0)>>2])){if(!(Z=_[$+16>>2]))break Q;AA=$+16|0}for(;rA=AA,iA=Z,(Z=_[(AA=Z+20|0)>>2])||(AA=iA+16|0,Z=_[iA+16>>2]););_[rA>>2]=0;break e}if(aA=-1,!(Z>>>0>4294967231)&&(aA=-8&(Z=Z+11|0),hA=_[777])){oA=0-aA|0,nA=0,aA>>>0<256||(nA=31,aA>>>0>16777215||(nA=62+((aA>>>38-(Z=YA(Z>>>8|0))&1)-(Z<<1)|0)|0));r:{c:{if(AA=_[3408+(nA<<2)>>2])for(Z=0,$=aA<<((0|nA)!=31?25-(nA>>>1|0)|0:0);;){if(!((rA=(-8&_[AA+4>>2])-aA|0)>>>0>=oA>>>0||(iA=AA,oA=rA,rA))){oA=0,Z=AA;break c}if(rA=_[AA+20>>2],AA=_[16+(($>>>29&4)+AA|0)>>2],Z=rA?(0|rA)==(0|AA)?Z:rA:Z,$<<=1,!AA)break}else Z=0;if(!(Z|iA)){if(iA=0,!(Z=(0-(Z=2<<nA)|Z)&hA))break g;Z=_[3408+(Yi(Z&0-Z)<<2)>>2]}if(!Z)break r}for(;oA=($=(AA=(-8&_[Z+4>>2])-aA|0)>>>0<oA>>>0)?AA:oA,iA=$?Z:iA,Z=(AA=_[Z+16>>2])||_[Z+20>>2];);}if(!(!iA|_[778]-aA>>>0<=oA>>>0)){if(nA=_[iA+24>>2],(0|iA)!=(0|($=_[iA+12>>2]))){Z=_[iA+8>>2],_[Z+12>>2]=$,_[$+8>>2]=Z;break t}if(!(Z=_[(AA=iA+20|0)>>2])){if(!(Z=_[iA+16>>2]))break B;AA=iA+16|0}for(;rA=AA,$=Z,(Z=_[(AA=Z+20|0)>>2])||(AA=$+16|0,Z=_[$+16>>2]););_[rA>>2]=0;break t}}}if((Z=_[778])>>>0>=aA>>>0){iA=_[781],(AA=Z-aA|0)>>>0>=16?(_[($=iA+aA|0)+4>>2]=1|AA,_[Z+iA>>2]=AA,_[iA+4>>2]=3|aA):(_[iA+4>>2]=3|Z,_[(Z=Z+iA|0)+4>>2]=1|_[Z+4>>2],$=0,AA=0),_[778]=AA,_[781]=$,Z=iA+8|0;break A}if((QA=_[779])>>>0>aA>>>0){AA=QA-aA|0,_[779]=AA,Z=($=_[782])+aA|0,_[782]=Z,_[Z+4>>2]=1|AA,_[$+4>>2]=3|aA,Z=$+8|0;break A}if(Z=0,hA=aA+47|0,_[894]?$=_[896]:(_[897]=-1,_[898]=-1,_[895]=4096,_[896]=4096,_[894]=tA+12&-16^1431655768,_[899]=0,_[887]=0,$=4096),(AA=(rA=hA+$|0)&(oA=0-$|0))>>>0<=aA>>>0||(iA=_[886])&&iA>>>0<(nA=($=_[884])+AA|0)>>>0|$>>>0>=nA>>>0)break A;g:{if(!(4&fA[3548])){r:{c:{E:{h:{if(iA=_[782])for(Z=3552;;){if(($=_[Z>>2])>>>0<=iA>>>0&iA>>>0<$+_[Z+4>>2]>>>0)break h;if(!(Z=_[Z+8>>2]))break}if((0|($=De(0)))==-1||(nA=AA,(Z=(iA=_[895])-1|0)&$&&(nA=(AA-$|0)+(Z+$&0-iA)|0),nA>>>0<=aA>>>0)||(iA=_[886])&&iA>>>0<(oA=(Z=_[884])+nA|0)>>>0|Z>>>0>=oA>>>0)break r;if((0|$)!=(0|(Z=De(nA))))break E;break g}if((0|($=De(nA=oA&rA-QA)))==(_[Z>>2]+_[Z+4>>2]|0))break c;Z=$}if((0|Z)==-1)break r;if(aA+48>>>0<=nA>>>0){$=Z;break g}if((0|De($=($=_[896])+(hA-nA|0)&0-$))==-1)break r;nA=$+nA|0,$=Z;break g}if((0|$)!=-1)break g}_[887]=4|_[887]}if((0|($=De(AA)))==-1|(0|(Z=De(0)))==-1|Z>>>0<=$>>>0||(nA=Z-$|0)>>>0<=aA+40>>>0)break C}Z=_[884]+nA|0,_[884]=Z,Z>>>0>UA[885]&&(_[885]=Z);g:{if(rA=_[782]){for(Z=3552;;){if(((iA=_[Z>>2])+(AA=_[Z+4>>2])|0)==(0|$))break g;if(!(Z=_[Z+8>>2]))break}break o}for((Z=_[780])>>>0<=$>>>0&&Z||(_[780]=$),Z=0,_[889]=nA,_[888]=$,_[784]=-1,_[785]=_[894],_[891]=0;AA=(iA=Z<<3)+3144|0,_[iA+3152>>2]=AA,_[iA+3156>>2]=AA,(0|(Z=Z+1|0))!=32;);AA=(iA=nA-40|0)-(Z=$+8&7?-8-$&7:0)|0,_[779]=AA,Z=Z+$|0,_[782]=Z,_[Z+4>>2]=1|AA,_[4+($+iA|0)>>2]=40,_[783]=_[898];break a}if(8&_[Z+12>>2]|$>>>0<=rA>>>0|iA>>>0>rA>>>0)break o;_[Z+4>>2]=AA+nA,$=(Z=rA+8&7?-8-rA&7:0)+rA|0,_[782]=$,Z=(AA=_[779]+nA|0)-Z|0,_[779]=Z,_[$+4>>2]=1|Z,_[4+(AA+rA|0)>>2]=40,_[783]=_[898];break a}iA=0;break e}$=0;break t}UA[780]>$>>>0&&(_[780]=$),AA=$+nA|0,Z=3552;o:{B:{Q:{for(;;){if((0|AA)!=_[Z>>2]){if(Z=_[Z+8>>2])continue;break Q}break}if(!(8&fA[Z+12|0]))break B}for(Z=3552;;){if((AA=_[Z>>2])>>>0<=rA>>>0&&(oA=AA+_[Z+4>>2]|0)>>>0>rA>>>0)break o;Z=_[Z+8>>2]}}if(_[Z>>2]=$,_[Z+4>>2]=_[Z+4>>2]+nA,_[(hA=($+8&7?-8-$&7:0)+$|0)+4>>2]=3|aA,Z=(nA=AA+(AA+8&7?-8-AA&7:0)|0)-(QA=aA+hA|0)|0,(0|rA)==(0|nA)){_[782]=QA,Z=_[779]+Z|0,_[779]=Z,_[QA+4>>2]=1|Z;break i}if(_[781]==(0|nA)){_[781]=QA,Z=_[778]+Z|0,_[778]=Z,_[QA+4>>2]=1|Z,_[Z+QA>>2]=Z;break i}if((3&(oA=_[nA+4>>2]))!=1)break n;if(rA=-8&oA,oA>>>0<=255){if((0|($=_[nA+12>>2]))==(0|(AA=_[nA+8>>2]))){_[776]=_[776]&yt(oA>>>3|0);break I}_[AA+12>>2]=$,_[$+8>>2]=AA;break I}if(aA=_[nA+24>>2],(0|nA)!=(0|($=_[nA+12>>2]))){AA=_[nA+8>>2],_[AA+12>>2]=$,_[$+8>>2]=AA;break s}if(!(oA=_[(AA=nA+20|0)>>2])){if(!(oA=_[nA+16>>2]))break f;AA=nA+16|0}for(;iA=AA,(oA=_[(AA=($=oA)+20|0)>>2])||(AA=$+16|0,oA=_[$+16>>2]););_[iA>>2]=0;break s}for(AA=(iA=nA-40|0)-(Z=$+8&7?-8-$&7:0)|0,_[779]=AA,Z=Z+$|0,_[782]=Z,_[Z+4>>2]=1|AA,_[4+($+iA|0)>>2]=40,_[783]=_[898],_[(iA=(Z=(oA+(oA-39&7?39-oA&7:0)|0)-47|0)>>>0<rA+16>>>0?rA:Z)+4>>2]=27,Z=_[891],_[iA+16>>2]=_[890],_[iA+20>>2]=Z,Z=_[889],_[iA+8>>2]=_[888],_[iA+12>>2]=Z,_[890]=iA+8,_[889]=nA,_[888]=$,_[891]=0,Z=iA+24|0;_[Z+4>>2]=7,AA=Z+8|0,Z=Z+4|0,AA>>>0<oA>>>0;);if((0|iA)!=(0|rA))if(_[iA+4>>2]=-2&_[iA+4>>2],oA=iA-rA|0,_[rA+4>>2]=1|oA,_[iA>>2]=oA,oA>>>0<=255)AA=3144+(-8&oA)|0,($=_[776])&(Z=1<<(oA>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z;else{Z=31,oA>>>0<=16777215&&(Z=62+((oA>>>38-(Z=YA(oA>>>8|0))&1)-(Z<<1)|0)|0),_[rA+28>>2]=Z,_[rA+16>>2]=0,_[rA+20>>2]=0,AA=3408+(Z<<2)|0;o:{if((iA=_[777])&($=1<<Z)){for(Z=oA<<((0|Z)!=31?25-(Z>>>1|0)|0:0),iA=_[AA>>2];;){if((0|oA)==(-8&_[(AA=iA)+4>>2]))break o;if($=Z>>>29|0,Z<<=1,!(iA=_[($=(4&$)+AA|0)+16>>2]))break}_[$+16>>2]=rA}else _[777]=$|iA,_[AA>>2]=rA;_[rA+24>>2]=AA,_[rA+12>>2]=rA,_[rA+8>>2]=rA;break a}Z=_[AA+8>>2],_[Z+12>>2]=rA,_[AA+8>>2]=rA,_[rA+24>>2]=0,_[rA+12>>2]=AA,_[rA+8>>2]=Z}}if(!((Z=_[779])>>>0<=aA>>>0)){AA=Z-aA|0,_[779]=AA,Z=($=_[782])+aA|0,_[782]=Z,_[Z+4>>2]=1|AA,_[$+4>>2]=3|aA,Z=$+8|0;break A}}_[775]=48,Z=0;break A}$=0}if(aA){iA=_[nA+28>>2];s:{if(_[(AA=3408+(iA<<2)|0)>>2]==(0|nA)){if(_[AA>>2]=$,$)break s;_[777]=_[777]&yt(iA);break I}if(_[aA+(_[aA+16>>2]==(0|nA)?16:20)>>2]=$,!$)break I}_[$+24>>2]=aA,(AA=_[nA+16>>2])&&(_[$+16>>2]=AA,_[AA+24>>2]=$),(AA=_[nA+20>>2])&&(_[$+20>>2]=AA,_[AA+24>>2]=$)}}Z=Z+rA|0,oA=_[(nA=rA+nA|0)+4>>2]}if(_[nA+4>>2]=-2&oA,_[QA+4>>2]=1|Z,_[Z+QA>>2]=Z,Z>>>0<=255)AA=3144+(-8&Z)|0,($=_[776])&(Z=1<<(Z>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=QA,_[Z+12>>2]=QA,_[QA+12>>2]=AA,_[QA+8>>2]=Z;else{oA=31,Z>>>0<=16777215&&(oA=62+((Z>>>38-(AA=YA(Z>>>8|0))&1)-(AA<<1)|0)|0),_[QA+28>>2]=oA,_[QA+16>>2]=0,_[QA+20>>2]=0,AA=3408+(oA<<2)|0;n:{if((iA=_[777])&($=1<<oA)){for(oA=Z<<((0|oA)!=31?25-(oA>>>1|0)|0:0),$=_[AA>>2];;){if(AA=$,(-8&_[$+4>>2])==(0|Z))break n;if($=oA>>>29|0,oA<<=1,!($=_[(iA=(4&$)+AA|0)+16>>2]))break}_[iA+16>>2]=QA}else _[777]=$|iA,_[AA>>2]=QA;_[QA+24>>2]=AA,_[QA+12>>2]=QA,_[QA+8>>2]=QA;break i}Z=_[AA+8>>2],_[Z+12>>2]=QA,_[AA+8>>2]=QA,_[QA+24>>2]=0,_[QA+12>>2]=AA,_[QA+8>>2]=Z}}Z=hA+8|0;break A}t:if(nA){AA=_[iA+28>>2];i:{if(_[(Z=3408+(AA<<2)|0)>>2]==(0|iA)){if(_[Z>>2]=$,$)break i;hA=yt(AA)&hA,_[777]=hA;break t}if(_[nA+(_[nA+16>>2]==(0|iA)?16:20)>>2]=$,!$)break t}_[$+24>>2]=nA,(Z=_[iA+16>>2])&&(_[$+16>>2]=Z,_[Z+24>>2]=$),(Z=_[iA+20>>2])&&(_[$+20>>2]=Z,_[Z+24>>2]=$)}t:if(oA>>>0<=15)Z=oA+aA|0,_[iA+4>>2]=3|Z,_[(Z=Z+iA|0)+4>>2]=1|_[Z+4>>2];else if(_[iA+4>>2]=3|aA,_[(rA=iA+aA|0)+4>>2]=1|oA,_[rA+oA>>2]=oA,oA>>>0<=255)AA=3144+(-8&oA)|0,($=_[776])&(Z=1<<(oA>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z;else{Z=31,oA>>>0<=16777215&&(Z=62+((oA>>>38-(Z=YA(oA>>>8|0))&1)-(Z<<1)|0)|0),_[rA+28>>2]=Z,_[rA+16>>2]=0,_[rA+20>>2]=0,AA=3408+(Z<<2)|0;i:{if(($=1<<Z)&hA){for(Z=oA<<((0|Z)!=31?25-(Z>>>1|0)|0:0),aA=_[AA>>2];;){if((-8&_[(AA=aA)+4>>2])==(0|oA))break i;if($=Z>>>29|0,Z<<=1,!(aA=_[($=(4&$)+AA|0)+16>>2]))break}_[$+16>>2]=rA}else _[777]=$|hA,_[AA>>2]=rA;_[rA+24>>2]=AA,_[rA+12>>2]=rA,_[rA+8>>2]=rA;break t}Z=_[AA+8>>2],_[Z+12>>2]=rA,_[AA+8>>2]=rA,_[rA+24>>2]=0,_[rA+12>>2]=AA,_[rA+8>>2]=Z}Z=iA+8|0;break A}e:if(QA){AA=_[$+28>>2];t:{if(_[(Z=3408+(AA<<2)|0)>>2]==(0|$)){if(_[Z>>2]=iA,iA)break t;_[777]=yt(AA)&hA;break e}if(_[QA+(_[QA+16>>2]==(0|$)?16:20)>>2]=iA,!iA)break e}_[iA+24>>2]=QA,(Z=_[$+16>>2])&&(_[iA+16>>2]=Z,_[Z+24>>2]=iA),(Z=_[$+20>>2])&&(_[iA+20>>2]=Z,_[Z+24>>2]=iA)}oA>>>0<=15?(Z=oA+aA|0,_[$+4>>2]=3|Z,_[(Z=Z+$|0)+4>>2]=1|_[Z+4>>2]):(_[$+4>>2]=3|aA,_[(iA=$+aA|0)+4>>2]=1|oA,_[iA+oA>>2]=oA,dA&&(AA=3144+(-8&dA)|0,rA=_[781],(Z=1<<(dA>>>3))&nA?Z=_[AA+8>>2]:(_[776]=Z|nA,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z),_[781]=iA,_[778]=oA),Z=$+8|0}return GA=tA+16|0,0|Z}function XA(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0,LA=0,KA=0,OA=0,TA=0,JA=0,qA=0,vA=0,jA=0,PA=0,WA=0,_A=0,zA=0,rt=0,It=0,ot=0,nt=0,st=0,At=0,at=0,tt=0,Ct=0,Bt=0,Qt=0,ct=0,ft=0,dt=0,mt=0,ie=0,St=0,Ft=0,Ht=0,kt=0,jt=0,Nt=0,Ut=0,Yt=0,Rt=0,Lt=0,Pt=0,Wt=0,_t=0,ge=0,re=0,Vt=0,Ie=0,oe=0,be=0,Ge=0,ne=0,se=0,me=0,ni=0,si=0,ai=0,m0=0,S0=0,F0=0,H0=0,k0=0,N0=0,U0=0,Y0=0,R0=0,L0=0,Ki=0,K0=0,M0=0,J0=0,q0=0,v0=0,O0=0,T0=0,j0=0,P0=0,W0=0,_0=0,V0=0,X0=0,Z0=0,z0=0,$0=0;for(St=_[Z+192>>2],Ft=_[Z+196>>2],It=_[Z+184>>2],Ht=_[Z+188>>2],kt=_[Z+176>>2],jt=_[Z+180>>2],ot=_[Z+168>>2],Nt=_[Z+172>>2],OA=_[Z+160>>2],re=_[Z+164>>2],Ut=_[Z+152>>2],Vt=_[Z+156>>2],Yt=_[Z+144>>2],Rt=_[Z+148>>2],nt=_[Z+136>>2],st=_[Z+140>>2],At=_[Z+128>>2],Ie=_[Z+132>>2],Lt=_[Z+120>>2],oe=_[Z+124>>2],at=_[Z+112>>2],tt=_[Z+116>>2],NA=_[Z+104>>2],WA=_[Z+108>>2],Ct=_[Z+96>>2],Bt=_[Z+100>>2],QA=_[Z+88>>2],_A=_[Z+92>>2],nA=_[Z+80>>2],Qt=_[Z+84>>2],oA=_[Z+72>>2],ct=_[Z+76>>2],SA=_[Z+64>>2],KA=_[Z+68>>2],TA=_[Z+56>>2],kA=_[Z+60>>2],AA=_[Z+48>>2],Pt=_[Z+52>>2],iA=_[Z+40>>2],RA=_[Z+44>>2],JA=_[Z+32>>2],ft=_[Z+36>>2],dA=_[Z+24>>2],qA=_[Z+28>>2],hA=_[Z+16>>2],zA=_[Z+20>>2],$=_[Z+8>>2],vA=_[Z+12>>2],aA=_[Z>>2],jA=_[Z+4>>2];ai>>>0<=23;)tA=dA^SA^NA^It^Yt,dt=wA(LA=aA^iA^nA^OA^Lt,PA=jA^RA^Qt^re^oe,1)^tA,rA=wA(JA^dt,ft^(mt=(be=qA^KA^WA^Ht^Rt)^lA),27),Ge=lA,Wt=rt=zA^kA^Bt^st^jt,rt=wA(ie=hA^TA^Ct^nt^kt,rt,1)^LA,LA=wA(QA^rt,_A^(_t=lA^PA),10),ne=lA,ge=PA=vA^Pt^_A^Nt^Ie,se=JA^oA^at^St^Ut,JA=wA(ni=$^AA^QA^ot^At,PA,1)^se,PA=wA(PA=iA^JA,RA^(_A=(iA=ft^ct^tt^Ft^Vt)^lA),36),me=lA,QA=wA($^rt,vA^_t,1),vA=lA,RA=wA(se,iA,1)^ie,NA=wA(RA^NA,(ie=WA)^(WA=lA^Wt),25),Wt=lA,ft=wA(tA,be,1)^ni,$=wA(ft^TA,(ie=kA)^(kA=lA^ge),6),be=lA,TA=wA(dA^RA,qA^WA,28),qA=lA,nA=wA(nA^JA,_A^Qt,3),Qt=lA,tA=wA(oA^dt,ct^mt,20),ie=dA=lA,oA=wA(hA^ft,kA^zA,62),ct=lA,at=wA(at^dt,tt^mt,39),tt=lA,iA=wA(SA^RA,KA^WA,55),zA=hA=lA,KA=_[(SA=(ni=ai<<3)+1120|0)>>2],SA=_[SA+4>>2],Ct=wA(Ct^ft,kA^Bt,43),Bt=lA,AA=wA(AA^rt,Pt^_t,44),si=hA=(m0=(jA^=_A)^(-1^(Pt=lA))&Bt^SA)^(S0=(-1^hA)&tt^ct)^(F0=(-1^dA)&Qt^qA)^(H0=(-1^me)&ne^Ge)^(k0=(-1^be)&Wt^vA),SA=wA(KA=(N0=(ge=aA^JA)^(-1^AA)&Ct^KA)^(U0=(-1^iA)&at^oA)^(Y0=(-1^tA)&nA^TA)^(R0=(-1^PA)&LA^rA)^(L0=(-1^$)&NA^QA),hA,1),dA=lA,nt=wA(nt^ft,kA^st,15),st=lA,It=wA(RA^It,WA^Ht,56),se=lA,Yt=wA(RA^Yt,WA^Rt,21),Ht=lA,St=wA(St^dt,Ft^mt,14),Rt=lA,Lt=wA(JA^Lt,_A^oe,41),Ft=lA,hA=wA(ot^rt,Nt^_t,2),aA=lA,Ut=wA(Ut^dt,mt^Vt,8),Nt=lA,ot=wA(OA^JA,_A^re,18),JA=lA,OA=wA(At^rt,_t^Ie,45),At=lA,Ki=(-1^It)&rA^nt,RA=(-1^St)&ge^Yt,Vt=(-1^hA)&oA^Lt,_A=(-1^ot)&QA^Ut,kt=wA(ft^kt,kA^jt,61),oA=wA((SA^=Ie=Ki^RA^Vt^_A^(re=(-1^kt)&TA^OA))^(oe=(-1^oA)&iA^hA),(dA^=q0=(K0=(-1^se)&Ge^st)^(M0=(-1^Rt)&jA^Ht)^(WA=(-1^aA)&ct^Ft)^(kA=(-1^JA)&vA^Nt)^(J0=(-1^(jt=lA))&qA^At))^(ct=(-1^ct)&zA^aA),14),dt=lA,$0=aA=(v0=Wt^(-1^Nt)&JA)^(O0=Bt^(-1^Ht)&Rt)^(T0=(-1^Ft)&aA^tt)^(j0=Qt^(-1^At)&jt)^(P0=(-1^st)&se^ne),aA=wA(z0=(W0=NA^(-1^Ut)&ot)^(_0=Ct^(-1^Yt)&St)^(V0=(-1^Lt)&hA^at)^(X0=nA^(-1^OA)&kt)^(Z0=(-1^nt)&It^LA),aA,1)^KA,nA=wA(aA^(hA=(-1^nA)&OA^tA),(KA=lA^si)^(OA=(-1^Qt)&At^ie),44),mt=lA,At=zA^(-1^tt)&Ft,tt=be^(-1^Wt)&Nt,ne=me^(-1^ne)&st,LA=(It=(Wt=It^(-1^rA)&PA)^(si=kt^(-1^TA)&tA)^(rA=ot^(-1^QA)&$)^oe^(st=(-1^ge)&AA^St))^wA($=(tA=iA^(-1^at)&Lt)^(at=$^(-1^NA)&Ut)^(ge=PA^(-1^LA)&nt)^(Ct=(-1^Ct)&Yt^AA)^hA,OA^=At^tt^ne^(Bt=(-1^Bt)&Ht^Pt),1),_t=AA=(TA=(iA=(Ge=se^(-1^Ge)&me)^(me=jt^(-1^qA)&ie)^(ot=JA^(-1^vA)&be)^ct^(nt=(-1^jA)&Pt^Rt))^lA)^m0,hA=oA,PA=nA,JA=oA^nA&(-1^(rt=LA^N0)),ft=(-1^AA)&mt^dt,tA=wA(tA^aA,KA^At,2),QA=lA,qA=wA(It,iA,1)^z0,iA=wA(re^qA,J0^(zA=$0^lA),55),NA=lA,vA=wA(Ie,q0,1)^$,$=wA(vA^_0,(jA=OA^lA)^O0,62),nA=AA=lA,St=(-1^$)&iA^tA,Ft=(-1^AA)&NA^QA,It=(AA=wA(LA^R0,TA^H0,41))^(-1^tA)&$,Ht=(oA=lA)^(-1^QA)&nA,kt=(rA=wA(rA^SA,dA^ot,39))^(-1^AA)&tA,jt=(tA=lA)^(-1^oA)&QA,ot=iA^(-1^rA)&AA,Nt=NA^(-1^tA)&oA,OA=$^(-1^iA)&rA,re=nA^(-1^NA)&tA,tA=wA(qA^Vt,zA^WA,56),QA=lA,iA=wA(LA^Y0,TA^F0,36),NA=lA,$=wA(SA^st,dA^nt,27),nA=AA=lA,Ut=(-1^$)&iA^tA,Vt=(-1^AA)&NA^QA,Yt=(AA=wA(vA^Z0,jA^P0,15))^(-1^tA)&$,Rt=(oA=lA)^(-1^QA)&nA,nt=(rA=wA(aA^at,KA^tt,10))^(-1^AA)&tA,st=(tA=lA)^(-1^oA)&QA,At=iA^(-1^rA)&AA,Ie=NA^(-1^tA)&oA,Lt=(-1^iA)&rA^$,oe=(-1^NA)&tA^nA,tA=wA(LA^U0,TA^S0,18),QA=lA,iA=wA(vA^X0,jA^j0,6),oA=lA,$=wA(aA^Ct,KA^Bt,1),Qt=AA=lA,at=(-1^$)&iA^tA,tt=(-1^AA)&oA^QA,NA=(AA=wA(SA^Wt,dA^Ge,8))^(-1^tA)&$,WA=(nA=lA)^(-1^QA)&Qt,Ct=(rA=wA(qA^_A,kA^zA,25))^(-1^AA)&tA,Bt=(tA=lA)^(-1^nA)&QA,QA=iA^(-1^rA)&AA,_A=oA^(-1^tA)&nA,nA=(-1^iA)&rA^$,Qt^=(-1^oA)&tA,tA=wA(vA^V0,jA^T0,61),kA=lA,iA=wA(SA^si,dA^me,20),dA=lA,$=wA(RA^qA,zA^M0,28),RA=AA=lA,oA=(-1^$)&iA^tA,ct=(-1^AA)&dA^kA,SA=(AA=wA(aA^ge,KA^ne,45))^(-1^tA)&$,KA=(aA=lA)^(-1^kA)&RA,TA=(rA=wA(LA^L0,TA^k0,3))^(-1^AA)&tA,kA=(tA=lA)^(-1^aA)&kA,AA=(-1^rA)&AA^iA,Pt=(-1^tA)&aA^dA,iA=$^(-1^iA)&rA,RA^=(-1^dA)&tA,dA=($=wA(qA^Ki,zA^K0,21))^(-1^hA)&rt,qA=(rA=lA)^(-1^dt)&_t,hA=(tA=wA(vA^W0,jA^v0,43))^(-1^$)&hA,zA=(LA=lA)^(-1^rA)&dt,$=(-1^tA)&$^PA,vA=(-1^LA)&rA^mt,aA=rt^_[(rA=1120+(8|ni)|0)>>2]^(-1^PA)&tA,jA=_t^_[rA+4>>2]^(-1^mt)&LA,ai=ai+2|0;_[Z+192>>2]=St,_[Z+196>>2]=Ft,_[Z+184>>2]=It,_[Z+188>>2]=Ht,_[Z+176>>2]=kt,_[Z+180>>2]=jt,_[Z+168>>2]=ot,_[Z+172>>2]=Nt,_[Z+160>>2]=OA,_[Z+164>>2]=re,_[Z+152>>2]=Ut,_[Z+156>>2]=Vt,_[Z+144>>2]=Yt,_[Z+148>>2]=Rt,_[Z+136>>2]=nt,_[Z+140>>2]=st,_[Z+128>>2]=At,_[Z+132>>2]=Ie,_[Z+120>>2]=Lt,_[Z+124>>2]=oe,_[Z+112>>2]=at,_[Z+116>>2]=tt,_[Z+104>>2]=NA,_[Z+108>>2]=WA,_[Z+96>>2]=Ct,_[Z+100>>2]=Bt,_[Z+88>>2]=QA,_[Z+92>>2]=_A,_[Z+80>>2]=nA,_[Z+84>>2]=Qt,_[Z+72>>2]=oA,_[Z+76>>2]=ct,_[Z+64>>2]=SA,_[Z+68>>2]=KA,_[Z+56>>2]=TA,_[Z+60>>2]=kA,_[Z+48>>2]=AA,_[Z+52>>2]=Pt,_[Z+40>>2]=iA,_[Z+44>>2]=RA,_[Z+32>>2]=JA,_[Z+36>>2]=ft,_[Z+24>>2]=dA,_[Z+28>>2]=qA,_[Z+16>>2]=hA,_[Z+20>>2]=zA,_[Z+8>>2]=$,_[Z+12>>2]=vA,_[Z>>2]=aA,_[Z+4>>2]=jA}function vt(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0;A:if(Z|=0){rA=($=Z-8|0)+(Z=-8&(tA=_[Z-4>>2]))|0;e:if(!(1&tA)){if(!(3&tA)||($=$-(tA=_[$>>2])|0)>>>0<UA[780])break A;Z=Z+tA|0;t:{i:{if(_[781]!=(0|$)){if(tA>>>0<=255){if(iA=tA>>>3|0,(0|(tA=_[$+12>>2]))==(0|(AA=_[$+8>>2]))){_[776]=_[776]&yt(iA);break e}_[AA+12>>2]=tA,_[tA+8>>2]=AA;break e}if(oA=_[$+24>>2],(0|$)!=(0|(tA=_[$+12>>2]))){AA=_[$+8>>2],_[AA+12>>2]=tA,_[tA+8>>2]=AA;break t}if(!(AA=_[(iA=$+20|0)>>2])){if(!(AA=_[$+16>>2]))break i;iA=$+16|0}for(;nA=iA,(AA=_[(iA=(tA=AA)+20|0)>>2])||(iA=tA+16|0,AA=_[tA+16>>2]););_[nA>>2]=0;break t}if((3&(tA=_[rA+4>>2]))!=3)break e;return _[778]=Z,_[rA+4>>2]=-2&tA,_[$+4>>2]=1|Z,void(_[rA>>2]=Z)}tA=0}if(oA){AA=_[$+28>>2];t:{if(_[(iA=3408+(AA<<2)|0)>>2]==(0|$)){if(_[iA>>2]=tA,tA)break t;_[777]=_[777]&yt(AA);break e}if(_[oA+(_[oA+16>>2]==(0|$)?16:20)>>2]=tA,!tA)break e}_[tA+24>>2]=oA,(AA=_[$+16>>2])&&(_[tA+16>>2]=AA,_[AA+24>>2]=tA),(AA=_[$+20>>2])&&(_[tA+20>>2]=AA,_[AA+24>>2]=tA)}}if(!($>>>0>=rA>>>0)&&1&(tA=_[rA+4>>2])){e:{t:{i:{n:{if(!(2&tA)){if(_[782]==(0|rA)){if(_[782]=$,Z=_[779]+Z|0,_[779]=Z,_[$+4>>2]=1|Z,_[781]!=(0|$))break A;return _[778]=0,void(_[781]=0)}if(_[781]==(0|rA))return _[781]=$,Z=_[778]+Z|0,_[778]=Z,_[$+4>>2]=1|Z,void(_[Z+$>>2]=Z);if(Z=(-8&tA)+Z|0,tA>>>0<=255){if(iA=tA>>>3|0,(0|(tA=_[rA+12>>2]))==(0|(AA=_[rA+8>>2]))){_[776]=_[776]&yt(iA);break t}_[AA+12>>2]=tA,_[tA+8>>2]=AA;break t}if(oA=_[rA+24>>2],(0|rA)!=(0|(tA=_[rA+12>>2]))){AA=_[rA+8>>2],_[AA+12>>2]=tA,_[tA+8>>2]=AA;break i}if(!(AA=_[(iA=rA+20|0)>>2])){if(!(AA=_[rA+16>>2]))break n;iA=rA+16|0}for(;nA=iA,(AA=_[(iA=(tA=AA)+20|0)>>2])||(iA=tA+16|0,AA=_[tA+16>>2]););_[nA>>2]=0;break i}_[rA+4>>2]=-2&tA,_[$+4>>2]=1|Z,_[Z+$>>2]=Z;break e}tA=0}if(oA){AA=_[rA+28>>2];i:{if(_[(iA=3408+(AA<<2)|0)>>2]==(0|rA)){if(_[iA>>2]=tA,tA)break i;_[777]=_[777]&yt(AA);break t}if(_[oA+(_[oA+16>>2]==(0|rA)?16:20)>>2]=tA,!tA)break t}_[tA+24>>2]=oA,(AA=_[rA+16>>2])&&(_[tA+16>>2]=AA,_[AA+24>>2]=tA),(AA=_[rA+20>>2])&&(_[tA+20>>2]=AA,_[AA+24>>2]=tA)}}if(_[$+4>>2]=1|Z,_[Z+$>>2]=Z,_[781]==(0|$))return void(_[778]=Z)}if(Z>>>0<=255)return tA=3144+(-8&Z)|0,(AA=_[776])&(Z=1<<(Z>>>3))?Z=_[tA+8>>2]:(_[776]=Z|AA,Z=tA),_[tA+8>>2]=$,_[Z+12>>2]=$,_[$+12>>2]=tA,void(_[$+8>>2]=Z);AA=31,Z>>>0<=16777215&&(AA=62+((Z>>>38-(tA=YA(Z>>>8|0))&1)-(tA<<1)|0)|0),_[$+28>>2]=AA,_[$+16>>2]=0,_[$+20>>2]=0,tA=3408+(AA<<2)|0;e:{t:{if((iA=_[777])&(nA=1<<AA)){for(AA=Z<<((0|AA)!=31?25-(AA>>>1|0)|0:0),tA=_[tA>>2];;){if(iA=tA,(-8&_[tA+4>>2])==(0|Z))break t;if(tA=AA>>>29|0,AA<<=1,!(tA=_[(nA=iA+(4&tA)|0)+16>>2]))break}_[nA+16>>2]=$,_[$+24>>2]=iA}else _[777]=iA|nA,_[tA>>2]=$,_[$+24>>2]=tA;_[$+12>>2]=$,_[$+8>>2]=$;break e}Z=_[iA+8>>2],_[Z+12>>2]=$,_[iA+8>>2]=$,_[$+24>>2]=0,_[$+12>>2]=iA,_[$+8>>2]=Z}Z=_[784]-1|0,_[784]=Z||-1}}}function Ot(Z,tA,AA,$){var iA,rA,oA,nA,aA=0,QA=0,hA=0,dA=0,SA=0;for(GA=rA=GA-160|0,nA=rA+12|0,oA=ZA(200),_[nA>>2]=oA,oA||(HA(111),cA()),GA=iA=GA-208|0;;){if((0|aA)==25){for(;;){if(aA=0,$>>>0<136){for(QA=0;;){if((0|aA)==136){for(;(0|$)!=(0|QA);)BA[QA+iA|0]=fA[AA+QA|0],QA=QA+1|0;break}BA[aA+iA|0]=0,aA=aA+1|0}for(BA[$+iA|0]=31,BA[iA+135|0]=128|fA[iA+135|0],aA=0;(0|aA)!=17;)QA=_[(AA=($=aA<<3)+oA|0)>>2],hA=_[AA+4>>2],_[AA>>2]=Q0($+iA|0)^QA,_[AA+4>>2]=lA^hA,aA=aA+1|0;GA=iA+208|0;break}for(;(0|aA)!=17;)dA=_[(QA=(hA=aA<<3)+oA|0)>>2],SA=_[QA+4>>2],_[QA>>2]=Q0(AA+hA|0)^dA,_[QA+4>>2]=lA^SA,aA=aA+1|0;XA(oA),AA=AA+136|0,$=$-136|0}break}_[(QA=(aA<<3)+oA|0)>>2]=0,_[QA+4>>2]=0,aA=aA+1|0}s0(Z,AA=(tA>>>0)/136|0,nA);A:if((0|(AA=bA(AA,136)))!=(0|tA))for($=tA-AA|0,Z=Z+AA|0,s0(rA+16|0,1,rA+12|0),tA=0;;){if((0|tA)==(0|$))break A;BA[Z+tA|0]=fA[(rA+16|0)+tA|0],tA=tA+1|0}vt(_[rA+12>>2]),GA=rA+160|0}function te(Z,tA,AA,$){for(var iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0;;){A:{if(nA=0,oA=0,aA=hA=_[Z+204>>2],!(!((QA=$+(iA=_[Z+200>>2])|0)>>>0<$>>>0?aA+1|0:aA)&tA>>>0>QA>>>0)){for(;!(!oA&(rA=tA-iA|0)>>>0<=nA>>>0|(0|oA)!=0);)hA=_[(aA=(-8&(iA=iA+nA|0))+Z|0)+4>>2],QA=fA[AA+nA|0],rA=31&(iA<<=3),(63&iA)>>>0>=32?(iA=QA<<rA,rA=0):(iA=(1<<rA)-1&QA>>>32-rA,rA=QA<<rA),_[aA>>2]=rA^_[aA>>2],_[aA+4>>2]=iA^hA,oA=(nA=nA+1|0)?oA:oA+1|0,iA=_[Z+200>>2],hA=_[Z+204>>2];_[Z+200>>2]=0,_[Z+204>>2]=0,XA(Z),AA=AA+rA|0,$=$-rA|0;continue}for(;;){if(!SA&(0|$)==(0|dA))break A;tA=dA+_[Z+200>>2]|0,rA=_[(oA=(-8&tA)+Z|0)+4>>2],nA=fA[AA+dA|0],tA=31&(iA=tA<<3),(63&iA)>>>0>=32?(iA=nA<<tA,tA=0):(iA=(1<<tA)-1&nA>>>32-tA,tA=nA<<tA),_[oA>>2]=tA^_[oA>>2],_[oA+4>>2]=iA^rA,tA=SA,SA=(dA=dA+1|0)?tA:tA+1|0}}break}tA=_[Z+204>>2],tA=(AA=$+_[Z+200>>2]|0)>>>0<$>>>0?tA+1|0:tA,_[Z+200>>2]=AA,_[Z+204>>2]=tA}function le(Z,tA,AA,$){var iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;for(QA=tA;;){oA=_[AA+200>>2],nA=_[AA+204>>2];A:{if(!aA&(0|iA)==(0|QA))rA=tA;else{if(rA=iA,(0|aA)==(0|nA)&oA>>>0>iA>>>0|aA>>>0<nA>>>0)break A;QA=iA}for(iA=oA-QA|0,aA=nA-((oA>>>0<QA>>>0)+0|0)|0,QA=tA-rA|0,tA=Z+rA|0;_[AA+200>>2]=iA,_[AA+204>>2]=aA,QA;){for(XA(AA),Z=$>>>0>QA>>>0?QA:$,rA=0;(0|Z)!=(0|rA);)nA=_[(iA=(-8&rA)+AA|0)>>2],oA=_[iA+4>>2],iA=31&(aA=rA<<3&56),BA[tA+rA|0]=(63&aA)>>>0>=32?oA>>>iA|0:((1<<iA)-1&oA)<<32-iA|nA>>>iA,rA=rA+1|0;QA=QA-Z|0,tA=Z+tA|0,iA=$-Z|0,aA=0}return}dA=hA=Z+rA|0,hA=_[(nA=(-8&(oA=iA+($-oA|0)|0))+AA|0)>>2],nA=_[nA+4>>2],rA=31&(oA<<=3),BA[0|dA]=(63&oA)>>>0>=32?nA>>>rA|0:((1<<rA)-1&nA)<<32-rA|hA>>>rA,aA=(iA=iA+1|0)?aA:aA+1|0}}function gi(Z,tA){var AA,$=0,iA=0,rA=0,oA=0,nA=0,aA=0;for(GA=AA=GA-160|0,ee(rA=AA+12|0),gt(rA,tA,32),we(rA),Gt(AA+16|0,136,rA);;){if(!$&(0|iA)==8){for(tA=0;;){if((0|tA)==256){for(tA=8,iA=196;(0|iA)!=256;){for(;tA>>>0>=136&&(Gt(AA+16|0,136,AA+12|0),tA=0),$=(AA+16|0)+tA|0,tA=tA+1|0,($=fA[0|$])>>>0>iA>>>0;);$=($<<2)+Z|0,_[(iA<<2)+Z>>2]=_[$>>2],_[$>>2]=1-(nA<<1&2),iA=iA+1|0,nA=(1&aA)<<31|nA>>>1,aA=aA>>>1|0}Tt(AA+12|0),GA=AA+160|0;break}_[(tA<<2)+Z>>2]=0,tA=tA+1|0}break}rA=fA[(AA+16|0)+iA|0],tA=31&(oA=iA<<3),(63&oA)>>>0>=32?(oA=rA<<tA,tA=0):(oA=(1<<tA)-1&rA>>>32-tA,tA=rA<<tA),nA|=tA,aA|=oA,$=(iA=iA+1|0)?$:$+1|0}}function pe(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0;(0|nA)!=8;){for(dA=nA<<8,SA=bA(nA,7168)+Z|0,oA=0;(0|oA)!=7;){for(GA=AA=(GA=iA=GA-864|0)-16|0,$=oA+dA|0,BA[AA+14|0]=$,BA[AA+15|0]=$>>>8,ee($=iA+12|0),G0($,tA,32),G0($,AA+14|0,2),o0(_[$>>2],168),GA=AA+16|0,AA=840,b0(rA=iA+16|0,840,$),$=B0(QA=(oA<<10)+SA|0,256,rA,840);$>>>0<=255;){for(aA=AA-(rA=(AA>>>0)%3|0)|0,AA=0;(0|AA)!=(0|rA);)BA[(hA=iA+16|0)+AA|0]=fA[(AA+aA|0)+hA|0],AA=AA+1|0;b0((AA=iA+16|0)|rA,168,iA+12|0),$=B0(($<<2)+QA|0,256-$|0,aA=AA,AA=168|rA)+$|0}Tt(iA+12|0),GA=iA+864|0,oA=oA+1|0}nA=nA+1|0}}function r0(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;rA=256,$=1;A:for(;;){e:{if(AA=0,$>>>0>255)for(;;){if((0|oA)==256)break e;tA=xe(tA=_[(iA=(oA<<2)+Z|0)>>2],tA>>31,41978,0),_[iA>>2]=Ii(tA,lA),oA=oA+1|0}for(;;){t:{if(AA>>>0<=255)for(aA=AA+$|0,hA=(iA=0-_[1312+((rA=rA-1|0)<<2)>>2]|0)>>31;;){if((0|AA)==(0|aA))break t;QA=_[(tA=(AA<<2)+Z|0)>>2],dA=tA,tA=_[(nA=(AA+$<<2)+Z|0)>>2],_[dA>>2]=QA+tA,tA=QA-tA|0,_[nA>>2]=tA,_[nA>>2]=Ii(xe(tA,tA>>31,iA,hA),lA),AA=AA+1|0}$<<=1;continue A}AA=$+aA|0}}break}}function I0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;(0|iA)!=32;)AA=(iA<<5)+Z|0,$=bA(iA,3)+tA|0,rA=7&fA[0|$],_[AA>>2]=rA,oA=fA[0|$]>>>3&7,_[AA+4>>2]=oA,nA=fA[$+1|0]<<2&4|fA[0|$]>>>6,_[AA+8>>2]=nA,aA=fA[$+1|0]>>>1&7,_[AA+12>>2]=aA,QA=fA[$+1|0]>>>4&7,_[AA+16>>2]=QA,hA=fA[$+2|0]<<1&6|fA[$+1|0]>>>7,_[AA+20>>2]=hA,dA=fA[$+2|0]>>>2&7,_[AA+24>>2]=dA,$=fA[$+2|0],_[AA+4>>2]=2-oA,_[AA>>2]=2-rA,_[AA+8>>2]=2-nA,_[AA+12>>2]=2-aA,_[AA+16>>2]=2-QA,_[AA+20>>2]=2-hA,_[AA+24>>2]=2-dA,_[AA+28>>2]=2-($>>>5|0),iA=iA+1|0}function wA(Z,tA,AA){var $=0,iA=0,rA=0,oA=0;return iA=31&(rA=oA=63&AA),rA=rA>>>0>=32?-1>>>iA|0:($=-1>>>iA|0)|(1<<iA)-1<<32-iA,rA&=Z,$&=tA,iA=31&oA,oA>>>0>=32?($=rA<<iA,oA=0):($=(1<<iA)-1&rA>>>32-iA|$<<iA,oA=rA<<iA),rA=$,$=31&(iA=0-AA&63),iA>>>0>=32?($=-1<<$,AA=0):$=(AA=-1<<$)|(1<<$)-1&-1>>>32-$,Z&=AA,tA&=$,$=31&iA,iA>>>0>=32?(AA=0,Z=tA>>>$|0):(AA=tA>>>$|0,Z=((1<<$)-1&tA)<<32-$|Z>>>$),lA=AA|rA,Z|=oA}function Fi(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;for(AA=128;tA=0,AA;){for(;tA>>>0<=255;){for(oA=tA>>>0>($=tA+AA|0)>>>0?tA:$,QA=($=_[1312+((nA=nA+1|0)<<2)>>2])>>31;(0|tA)!=(0|oA);)rA=Ii(xe(rA=_[(iA=(tA+AA<<2)+Z|0)>>2],rA>>31,$,QA),lA),hA=iA,aA=_[(iA=(tA<<2)+Z|0)>>2],_[hA>>2]=aA-rA,_[iA>>2]=rA+aA,tA=tA+1|0;tA=AA+oA|0}AA=AA>>>1|0}}function o0(Z,tA){var AA,$=0,iA=0,rA=0;$=_[Z+200>>2],AA=_[(iA=Z+(-8&$)|0)+4>>2],$=31&(rA=$<<3),(63&rA)>>>0>=32?(rA=31<<$,$=0):(rA=(1<<$)-1&31>>>32-$,$=31<<$),_[iA>>2]=$^_[iA>>2],_[iA+4>>2]=rA^AA,rA=_[(tA=(-8&($=tA-1|0))+Z|0)+4>>2],$=31&(iA=$<<3&56),(63&iA)>>>0>=32?(iA=128<<$,$=0):(iA=(1<<$)-1&128>>>32-$,$=128<<$),_[tA>>2]=$^_[tA>>2],_[tA+4>>2]=iA^rA,_[Z+200>>2]=0,_[Z+204>>2]=0}function n0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;(0|$)!=32;)nA=_[(AA=($<<5)+tA|0)+16>>2],aA=_[AA+12>>2],iA=_[AA+28>>2],QA=_[AA+20>>2],hA=_[AA+24>>2],rA=bA($,3)+Z|0,oA=16-(_[AA+4>>2]<<3)|2-_[AA>>2],AA=2-_[AA+8>>2]|0,BA[0|rA]=oA|AA<<6,oA=64-(iA<<5)|0,iA=2-QA|0,BA[rA+2|0]=oA|8-(hA<<2)|(254&iA)>>>1,BA[rA+1|0]=32-(nA<<4)|4-(aA<<1)|(252&AA)>>>2|iA<<7,$=$+1|0}function s0(Z,tA,AA){var $,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;$=_[AA>>2];A:for(;;){if(tA)for(XA($),AA=0;;){if((0|AA)==17){tA=tA-1|0,Z=Z+136|0;continue A}for(QA=(iA=AA<<3)+Z|0,hA=_[(iA=iA+$|0)>>2],nA=_[iA+4>>2],rA=0,iA=0;(0|rA)!=8|iA;)oA=31&(aA=rA<<3),BA[rA+QA|0]=(63&aA)>>>0>=32?nA>>>oA|0:((1<<oA)-1&nA)<<32-oA|hA>>>oA,iA=(rA=rA+1|0)?iA:iA+1|0;AA=AA+1|0}break}}function a0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0;(0|oA)!=128;)iA=(oA<<3)+Z|0,AA=bA(oA,5)+tA|0,$=fA[0|AA],_[iA>>2]=$,$|=fA[AA+1|0]<<8,_[iA>>2]=$,$|=fA[AA+2|0]<<16&983040,_[iA>>2]=$,rA=fA[AA+2|0]>>>4|0,_[iA+4>>2]=rA,rA|=fA[AA+3|0]<<4,_[iA+4>>2]=rA,AA=fA[AA+4|0],_[iA>>2]=524288-$,_[iA+4>>2]=524288-(rA|AA<<12),oA=oA+1|0}function C0(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0;!(tA>>>0<=$>>>0|rA>>>0>135);)oA=(iA=fA[AA+rA|0])>>>4|0,rA=rA+1|0,(0|(iA&=15))!=15&&(_[($<<2)+Z>>2]=2+(bA(bA(iA,205)>>>10|0,5)-iA|0),$=$+1|0),(0|oA)==15|tA>>>0<=$>>>0||(_[($<<2)+Z>>2]=2+(bA(bA(oA,205)>>>10|0,5)-oA|0),$=$+1|0);return $}function Hi(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0,nA=0,aA=0;(0|$)!=8;){for(GA=iA=GA-1024|0,ri(oA=($<<10)+Z|0,nA=bA($,7168)+tA|0,AA),rA=1;(0|rA)!=7;)ri(iA,(aA=rA<<10)+nA|0,AA+aA|0),Ni(oA,oA,iA),rA=rA+1|0;GA=iA+1024|0,$=$+1|0}}function B0(Z,tA,AA,$){for(var iA=0,rA=0,oA=0,nA=0;!(tA>>>0<=rA>>>0||(iA=nA+3|0)>>>0>$>>>0);)oA=AA+nA|0,nA=iA,(iA=fA[oA+2|0]<<16&8323072|fA[0|oA]|fA[oA+1|0]<<8)>>>0>8380416||(_[(rA<<2)+Z>>2]=iA,rA=rA+1|0);return rA}function Q0(Z){for(var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0;!(!iA&(0|AA)==8);)rA=fA[Z+AA|0],tA=31&($=AA<<3),(63&$)>>>0>=32?($=rA<<tA,tA=0):($=(1<<tA)-1&rA>>>32-tA,tA=rA<<tA),oA|=tA,nA|=$,iA=(AA=AA+1|0)?iA:iA+1|0;return lA=nA,oA}function xe(Z,tA,AA,$){var iA,rA,oA,nA,aA=0,QA=0;return nA=bA(aA=AA>>>16|0,QA=Z>>>16|0),aA=(65535&(QA=((oA=bA(iA=65535&AA,rA=65535&Z))>>>16|0)+bA(QA,iA)|0))+bA(aA,rA)|0,lA=(bA(tA,AA)+nA|0)+bA(Z,$)+(QA>>>16)+(aA>>>16)|0,65535&oA|aA<<16}function c0(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0,nA=0,aA=0;(0|iA)!=8;){for(oA=($=iA<<10)+Z|0,nA=tA+$|0,aA=AA+$|0,$=0;(0|$)!=256;)_[oA+(rA=$<<2)>>2]=_[rA+nA>>2]-_[rA+aA>>2],$=$+1|0;iA=iA+1|0}}function f0(Z,tA,AA){var $,iA;for(GA=$=GA-160|0,p0(iA=$+12|0,tA,AA),Gt(tA=$+16|0,136,iA),AA=C0(Z,256,tA);AA>>>0<=255;)Gt(tA=$+16|0,136,$+12|0),AA=C0((AA<<2)+Z|0,256-AA|0,tA)+AA|0;Tt($+12|0),GA=$+160|0}function E0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0;(0|$)!=8;){for(rA=($<<7)+Z|0,oA=($<<10)+tA|0,AA=0;(0|AA)!=128;)iA=(AA<<3)+oA|0,BA[AA+rA|0]=_[iA+4>>2]<<4|_[iA>>2],AA=AA+1|0;$=$+1|0}}function ki(Z){for(var tA=0,AA=0,$=0,iA=0,rA=0;(0|AA)!=8;){for(rA=(AA<<10)+Z|0,tA=0;(0|tA)!=256;)iA=_[($=(tA<<2)+rA|0)>>2],_[$>>2]=iA+(iA>>31&8380417),tA=tA+1|0;AA=AA+1|0}}function ee(Z){var tA=0,AA=0;for(tA=Z,Z=ZA(208),_[tA>>2]=Z,Z||(HA(111),cA());(0|AA)!=25;)_[(tA=Z+(AA<<3)|0)>>2]=0,_[tA+4>>2]=0,AA=AA+1|0;_[Z+200>>2]=0,_[Z+204>>2]=0}function ri(Z,tA,AA){for(var $=0,iA=0,rA=0;(0|iA)!=256;)$=xe($=_[(rA=iA<<2)+AA>>2],$>>31,$=_[tA+rA>>2],$>>31),_[Z+rA>>2]=Ii($,lA),iA=iA+1|0}function De(Z){var tA,AA;return(Z=(tA=_[584])+(AA=Z+7&-8)|0)>>>0<=tA>>>0&&AA||Z>>>0>(uA.byteLength/65536|0)<<16>>>0&&!(0|ut(0|Z))?(_[775]=48,-1):(_[584]=Z,tA)}function h0(Z,tA){var AA=0,$=0;if((0|tA)<=1047552)for(;;){if((0|$)==256)return 0;if(AA=$<<2,$=$+1|0,!(((AA=_[Z+AA>>2])-(AA<<1&AA>>31)|0)<(0|tA)))break}return 1}function u0(Z){for(var tA=0,AA=0,$=0;(0|tA)!=256;)$=_[(AA=(tA<<2)+Z|0)>>2],_[AA>>2]=$+bA($+4194304>>23,-8380417),tA=tA+1|0}function y0(Z,tA){var AA;return AA=Z,Z=bA(tA+127>>7,1025)+2097152>>>22&15,tA=bA(Z,-523776)+tA|0,_[AA>>2]=((0|tA)>4190208?-8380417:0)+tA,Z}function d0(Z){for(var tA=0,AA=0;;){if((0|tA)==7)return 0;if(AA=tA<<10,tA=tA+1|0,h0(Z+AA|0,524168))break}return 1}function l0(Z,tA){for(var AA=0,$=0;;){if((0|AA)==8)return 0;if($=AA<<10,AA=AA+1|0,h0(Z+$|0,tA))break}return 1}function Ni(Z,tA,AA){for(var $=0,iA=0;(0|$)!=256;)_[(iA=$<<2)+Z>>2]=_[AA+iA>>2]+_[tA+iA>>2],$=$+1|0}function p0(Z,tA,AA){var $;GA=$=GA-16|0,BA[$+14|0]=AA,BA[$+15|0]=AA>>>8,ee(Z),gt(Z,tA,64),gt(Z,$+14|0,2),we(Z),GA=$+16|0}function Ii(Z,tA){var AA=0;return xe(Z,tA,0,58728449),AA=xe(AA=lA,AA>>31,-8380417,-1),tA=tA+lA|0,Z+AA>>>0<Z>>>0?tA+1|0:tA}function x0(Z,tA,AA){for(var $=0,iA=0;(0|$)!=8;)Ni((iA=$<<10)+Z|0,tA+iA|0,AA+iA|0),$=$+1|0}function Ui(Z,tA,AA){for(var $=0,iA=0;(0|$)!=8;)ri((iA=$<<10)+Z|0,tA,AA+iA|0),$=$+1|0}function D0(Z,tA){var AA=0;for(AA=7168;BA[0|Z]=fA[0|tA],Z=Z+1|0,tA=tA+1|0,AA=AA-1|0;);}function w0(Z,tA){for(var AA=0;(0|tA)!=(0|AA);)Fi((AA<<10)+Z|0),AA=AA+1|0}function Me(Z){for(var tA=0;(0|tA)!=8;)u0((tA<<10)+Z|0),tA=tA+1|0}function Je(Z){for(var tA=0;(0|tA)!=8;)r0((tA<<10)+Z|0),tA=tA+1|0}function yt(Z){var tA;return(-1>>>(tA=31&Z)&-2)<<tA|(-1<<(Z=0-Z&31)&-2)>>>Z}function Yi(Z){return Z?31-YA(Z-1^Z)|0:32}function b0(Z,tA,AA){le(Z,tA,_[AA>>2],168)}function G0(Z,tA,AA){te(_[Z>>2],168,tA,AA)}function Gt(Z,tA,AA){le(Z,tA,_[AA>>2],136)}function gt(Z,tA,AA){te(_[Z>>2],136,tA,AA)}function we(Z){o0(_[Z>>2],136)}function Tt(Z){vt(_[Z>>2])}function Ri(Z){w0(Z,8)}function oi(Z){w0(Z,7)}CA(gA=fA,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),CA(gA,1120,"AQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zike"),CA(gA,2336,"EA6A");var Li,Ir=((Li=[]).set=function(Z,tA){this[Z]=tA},Li.get=function(Z){return this[Z]},Li);return{e:function(){},f:Ir,g:ZA,h:vt,i:function(){var Z;GA=Z=GA-16|0,BA[Z+15|0]=0,it(2376,Z+15|0,0),GA=Z+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(Z,tA){Z|=0,tA|=0;var AA,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0;for(GA=AA=GA-96416|0,nA=AA+96288|0;(0|iA)!=32;)GA=oA=GA-16|0,BA[oA+15|0]=0,aA=0|it(2340,oA+15|0,0),GA=oA+16|0,BA[iA+nA|0]=aA,iA=iA+1|0;for(Ot(nA,128,nA,32),pe(oA=AA+38912|0,nA),dA=AA+31744|0,iA=AA+96320|0;(0|$)!=7;)f0(dA+($<<10)|0,iA,65535&rA),$=$+1|0,rA=rA+1|0;for(SA=AA+16384|0,$=0,rA=7;(0|$)!=8;)f0(SA+($<<10)|0,iA,65535&rA),$=$+1|0,rA=rA+1|0;for(D0($=AA+24576|0,dA),oi($),Hi(rA=AA- -8192|0,oA,$),Me(rA),Je(rA),x0(rA,rA,SA),ki(rA),$=0;(0|$)!=8;){for(kA=(iA=$<<10)+rA|0,QA=iA+AA|0,hA=iA+rA|0,iA=0;(0|iA)!=256;)aA=(NA=_[(oA=iA<<2)+hA>>2])+4095|0,_[oA+QA>>2]=NA-(-8192&aA),_[oA+kA>>2]=aA>>13,iA=iA+1|0;$=$+1|0}for($=0;(0|$)!=32;)BA[Z+$|0]=fA[$+nA|0],$=$+1|0;for(kA=Z+32|0,$=0;(0|$)!=8;){for(QA=kA+bA($,320)|0,hA=rA+($<<10)|0,oA=0;(0|oA)!=64;)aA=QA+bA(oA,5)|0,iA=hA+(oA<<4)|0,BA[0|aA]=_[iA>>2],BA[aA+1|0]=_[iA+4>>2]<<2|_[iA>>2]>>>8,BA[aA+2|0]=_[iA+8>>2]<<4|_[iA+4>>2]>>>6,BA[aA+3|0]=_[iA+12>>2]<<6|_[iA+8>>2]>>>4,BA[aA+4|0]=_[iA+12>>2]>>>2,oA=oA+1|0;$=$+1|0}for(Ot(rA=AA+96256|0,32,Z,2592),Z=AA+96384|0,$=0;(0|$)!=32;)BA[tA+$|0]=fA[$+nA|0],$=$+1|0;for(iA=tA+32|0,$=0;(0|$)!=32;)BA[$+iA|0]=fA[Z+$|0],$=$+1|0;for(Z=tA- -64|0,$=0;(0|$)!=32;)BA[Z+$|0]=fA[$+rA|0],$=$+1|0;for(Z=tA+96|0,$=0;(0|$)!=7;)n0(Z+bA($,96)|0,dA+($<<10)|0),$=$+1|0;for(Z=tA+768|0,$=0;(0|$)!=8;)n0(Z+bA($,96)|0,SA+($<<10)|0),$=$+1|0;for(aA=tA+1536|0,$=0;(0|$)!=8;){for(dA=aA+bA($,416)|0,SA=($<<10)+AA|0,rA=0;(0|rA)!=32;)kA=_[(tA=SA+(rA<<5)|0)+20>>2],QA=_[tA+8>>2],hA=_[tA+28>>2],oA=_[tA+24>>2],nA=_[tA+16>>2],iA=_[tA+12>>2],NA=_[tA+4>>2],Z=dA+bA(rA,13)|0,RA=4096-_[tA>>2]|0,BA[0|Z]=RA,tA=4096-NA|0,BA[Z+2|0]=tA>>>3,iA=4096-iA|0,BA[Z+5|0]=iA>>>1,nA=4096-nA|0,BA[Z+7|0]=nA>>>4,oA=4096-oA|0,BA[Z+10|0]=oA>>>2,hA=4096-hA|0,BA[Z+12|0]=hA>>>5,BA[Z+1|0]=tA<<5|RA>>>8,QA=4096-QA|0,BA[Z+3|0]=QA<<2|tA>>>11,BA[Z+4|0]=iA<<7|QA>>>6,BA[Z+6|0]=nA<<4|iA>>>9,tA=4096-kA|0,BA[Z+8|0]=tA<<1|nA>>>12,BA[Z+9|0]=oA<<6|tA>>>7,BA[Z+11|0]=hA<<3|oA>>>10,rA=rA+1|0;$=$+1|0}return GA=AA+96416|0,0},n:function(Z,tA,AA,$){tA|=0,AA|=0,$|=0;var iA,rA,oA,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0,LA=0,KA=0,OA=0,TA=0,JA=0,qA=0,vA=0,jA=0,PA=0,WA=0,_A=0;for(rA=(Z|=0)+2|0,GA=iA=(GA=oA=GA-16|0)-121072|0,aA=OA=iA+120848|0,QA=TA=iA+120880|0,hA=iA+120912|0,dA=iA+33808|0,SA=iA+56336|0,kA=iA+25616|0;(0|nA)!=32;)BA[nA+aA|0]=fA[$+nA|0],nA=nA+1|0;for(aA=$+32|0,nA=0;(0|nA)!=32;)BA[nA+hA|0]=fA[nA+aA|0],nA=nA+1|0;for(aA=$- -64|0,nA=0;(0|nA)!=32;)BA[nA+QA|0]=fA[nA+aA|0],nA=nA+1|0;for(aA=$+96|0,nA=0;(0|nA)!=7;)I0(SA+(nA<<10)|0,aA+bA(nA,96)|0),nA=nA+1|0;for(aA=$+768|0,nA=0;(0|nA)!=8;)I0(kA+(nA<<10)|0,aA+bA(nA,96)|0),nA=nA+1|0;for(jA=$+1536|0,nA=0;(0|nA)!=8;){for(PA=dA+(nA<<10)|0,WA=jA+bA(nA,416)|0,QA=0;(0|QA)!=32;)$=PA+(QA<<5)|0,aA=WA+bA(QA,13)|0,JA=fA[0|aA],_[$>>2]=JA,JA|=fA[aA+1|0]<<8&7936,_[$>>2]=JA,NA=fA[aA+1|0]>>>5|0,_[$+4>>2]=NA,NA|=fA[aA+2|0]<<3,_[$+4>>2]=NA,NA|=fA[aA+3|0]<<11&6144,_[$+4>>2]=NA,qA=fA[aA+3|0]>>>2|0,_[$+8>>2]=qA,qA|=fA[aA+4|0]<<6&8128,_[$+8>>2]=qA,RA=fA[aA+4|0]>>>7|0,_[$+12>>2]=RA,RA|=fA[aA+5|0]<<1,_[$+12>>2]=RA,RA|=fA[aA+6|0]<<9&7680,_[$+12>>2]=RA,LA=fA[aA+6|0]>>>4|0,_[$+16>>2]=LA,LA|=fA[aA+7|0]<<4,_[$+16>>2]=LA,LA|=fA[aA+8|0]<<12&4096,_[$+16>>2]=LA,vA=fA[aA+8|0]>>>1|0,_[$+20>>2]=vA,vA|=fA[aA+9|0]<<7&8064,_[$+20>>2]=vA,KA=fA[aA+9|0]>>>6|0,_[$+24>>2]=KA,KA|=fA[aA+10|0]<<2,_[$+24>>2]=KA,KA|=fA[aA+11|0]<<10&7168,_[$+24>>2]=KA,_A=fA[aA+11|0]>>>3|0,_[$+28>>2]=_A,aA=fA[aA+12|0],_[$+4>>2]=4096-NA,_[$>>2]=4096-JA,_[$+8>>2]=4096-qA,_[$+12>>2]=4096-RA,_[$+16>>2]=4096-LA,_[$+20>>2]=4096-vA,_[$+24>>2]=4096-KA,_[$+28>>2]=4096-(aA<<5|_A),QA=QA+1|0;nA=nA+1|0}for(ee($=iA+12|0),gt($,TA,32),gt($,tA,AA),we($),Gt(TA=iA+120944|0,64,$),Tt($),Ot(jA=iA+121008|0,64,hA,96),pe(iA+63504|0,OA),oi(SA),Ri(kA),Ri(dA),nA=0;;){for(aA=iA+49168|0,QA=bA(65535&nA,7),tA=0;(0|tA)!=7;)GA=AA=GA-704|0,p0($=AA+12|0,jA,tA+QA&65535),Gt(hA=AA+16|0,680,$),Tt($),a0(aA+(tA<<10)|0,hA),GA=AA+704|0,tA=tA+1|0;for(D0($=iA+42e3|0,aA),oi($),Hi(tA=iA+17424|0,iA+63504|0,$),Me(tA),Je(tA),ki(tA),dA=iA+9232|0,AA=0;(0|AA)!=8;){for(SA=(QA=AA<<10)+tA|0,kA=QA+dA|0,OA=tA+QA|0,QA=0;(0|QA)!=256;)_[(hA=QA<<2)+SA>>2]=y0(hA+kA|0,_[hA+OA>>2]),QA=QA+1|0;AA=AA+1|0}for(E0(rA,tA),ee(tA=iA+12|0),gt(tA,TA,64),gt(tA,rA,1024),we(tA),Gt(rA,32,tA),Tt(tA),gi(tA=iA+16|0,rA),nA=nA+1|0,Fi(tA),QA=iA+56336|0,AA=0;(0|AA)!=7;)ri((hA=AA<<10)+$|0,tA,QA+hA|0),AA=AA+1|0;for(tA=0;(0|tA)!=7;)r0($+(tA<<10)|0),tA=tA+1|0;for(tA=0;(0|tA)!=7;)Ni((AA=tA<<10)+$|0,AA+$|0,AA+aA|0),tA=tA+1|0;for(AA=0;(0|AA)!=7;)u0($+(AA<<10)|0),AA=AA+1|0;if(!d0($)&&(Ui(AA=iA+1040|0,iA+16|0,iA+25616|0),Je(AA),c0(tA=iA+9232|0,tA,AA),Me(tA),!l0(tA,261768)&&(Ui(tA=iA+1040|0,iA+16|0,iA+33808|0),Je(tA),Me(tA),!l0(tA,261888)))){for(x0(aA=iA+9232|0,aA,SA=iA+1040|0),kA=iA+17424|0,tA=0,AA=0;(0|tA)!=8;){for(OA=($=tA<<10)+SA|0,PA=$+aA|0,WA=$+kA|0,$=0,QA=0;(0|$)!=256;)dA=(0|(dA=_[(hA=$<<2)+PA>>2]))==-261888&_[hA+WA>>2]!=0|dA-261889>>>0<4294443519,_[hA+OA>>2]=dA,QA=QA+dA|0,$=$+1|0;AA=AA+QA|0,tA=tA+1|0}if(!(AA>>>0>75))break}}for(QA=iA+42e3|0,hA=iA+1040|0,tA=0;(0|tA)!=32;)BA[0|(AA=tA+rA|0)]=fA[0|AA],tA=tA+1|0;for(dA=rA+32|0,tA=0;(0|tA)!=7;){for(SA=dA+bA(tA,640)|0,kA=QA+(tA<<10)|0,AA=0;(0|AA)!=128;)aA=_[(nA=kA+(AA<<3)|0)+4>>2],$=SA+bA(AA,5)|0,nA=524288-_[nA>>2]|0,BA[0|$]=nA,BA[$+1|0]=nA>>>8,aA=524288-aA|0,BA[$+3|0]=aA>>>4,BA[$+4|0]=aA>>>12,BA[$+2|0]=aA<<4|nA>>>16,AA=AA+1|0;tA=tA+1|0}for(nA=rA+4512|0,AA=0,tA=0;;){if((0|tA)==83){for($=0;(0|AA)!=8;){for(aA=hA+(AA<<10)|0,tA=0;(0|tA)!=256;)_[aA+(tA<<2)>>2]&&(BA[$+nA|0]=tA,$=$+1|0),tA=tA+1|0;BA[75+(AA+nA|0)|0]=$,AA=AA+1|0}break}BA[tA+nA|0]=0,tA=tA+1|0}return _[oA+12>>2]=4595,GA=iA+121072|0,xA[Z>>1]=_[oA+12>>2],GA=oA+16|0,0},o:function(Z,tA,AA,$){Z|=0,tA|=0,$|=0;var iA,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0;nA=(AA|=0)+2|0,rA=FA[AA>>1],QA=Z,oA=tA,AA=0,GA=iA=GA-91312|0,NA=-1;A:if((0|rA)==4595){for(Z=iA+90256|0,SA=iA+16400|0,tA=0;(0|tA)!=32;)BA[Z+tA|0]=fA[tA+$|0],tA=tA+1|0;for(hA=$+32|0,tA=0;(0|tA)!=8;){for(dA=SA+(tA<<10)|0,kA=hA+bA(tA,320)|0,rA=0;(0|rA)!=64;)aA=dA+(rA<<4)|0,Z=bA(rA,5)+kA|0,_[aA>>2]=fA[Z+1|0]<<8&768|fA[0|Z],_[aA+4>>2]=fA[Z+2|0]<<6&960|fA[Z+1|0]>>>2,_[aA+8>>2]=fA[Z+3|0]<<4&1008|fA[Z+2|0]>>>4,_[aA+12>>2]=fA[Z+4|0]<<2|fA[Z+3|0]>>>6,rA=rA+1|0;tA=tA+1|0}for(Z=iA+90160|0,tA=iA+24592|0,SA=iA+16|0;(0|AA)!=32;)BA[Z+AA|0]=fA[AA+nA|0],AA=AA+1|0;for(Z=nA+32|0,AA=0;(0|AA)!=7;)a0(tA+(AA<<10)|0,Z+bA(AA,640)|0),AA=AA+1|0;nA=nA+4512|0,rA=0,Z=0;e:{for(;;){t:if((0|rA)!=8){for(aA=SA+(rA<<10)|0,AA=0;(0|AA)!=256;)_[aA+(AA<<2)>>2]=0,AA=AA+1|0;if(!((tA=fA[(hA=rA+nA|0)+75|0])>>>0>75||(AA=Z,tA>>>0<Z>>>0))){for(;tA>>>0>AA>>>0;){if(Z>>>0<AA>>>0&(tA=fA[0|(dA=AA+nA|0)])>>>0<=fA[dA-1|0])break t;_[aA+(tA<<2)>>2]=1,AA=AA+1|0,tA=fA[hA+75|0]}rA=rA+1|0,Z=tA;continue}}else for(AA=Z>>>0<=75?75:Z;;){if(tA=0,(0|Z)==(0|AA))break e;if(tA=Z+nA|0,Z=Z+1|0,fA[0|tA])break}break}tA=1}if(!tA&&!d0(iA+24592|0)){for(Ot(rA=iA+90192|0,32,$,2592),ee(Z=iA+12|0),gt(Z,rA,32),gt(Z,QA,oA),we(Z),Gt(rA,64,Z),Tt(Z),gi(oA=iA+89104|0,iA+90160|0),pe(tA=iA+31760|0,iA+90256|0),oi($=iA+24592|0),Hi(AA=iA+8208|0,tA,$),Fi(oA),$=iA+16400|0,tA=0;(0|tA)!=8;){for(nA=$+(tA<<10)|0,QA=0;(0|QA)!=256;)_[(aA=nA+(QA<<2)|0)>>2]=_[aA>>2]<<13,QA=QA+1|0;tA=tA+1|0}for(Ri($),Ui($,oA,$),c0(AA,AA,$),Me(AA),Je(AA),ki(AA),aA=iA+16|0,$=0;(0|$)!=8;){for(SA=(tA=$<<10)+AA|0,hA=tA+AA|0,dA=tA+aA|0,tA=0;(0|tA)!=256;)kA=(oA=tA<<2)+SA|0,RA=_[oA+dA>>2],GA=QA=GA-16|0,oA=nA=y0(QA+12|0,_[oA+hA>>2]),RA&&(oA=nA+1&15,_[QA+12>>2]>0||(oA=nA-1&15)),GA=QA+16|0,_[kA>>2]=oA,tA=tA+1|0;$=$+1|0}for(E0(tA=iA+90288|0,AA),ee(Z),gt(Z,rA,64),gt(Z,tA,1024),we(Z),Gt(iA+90128|0,32,Z),Tt(Z),tA=0;;){if((0|tA)==32){NA=0;break A}if(Z=(iA+90128|0)+tA|0,AA=(iA+90160|0)+tA|0,tA=tA+1|0,fA[0|AA]!=fA[0|Z])break}}}return GA=iA+91312|0,0|NA}}})(eA)})(X)},instantiate:function(z,X){return{then:function(eA){var gA=new c.Module(z);eA({instance:new c.Instance(gA,X)})}}},RuntimeError:Error};a=[],A(c)!="object"&&d("no native wasm support detected");var G,h,y,u,s=!1,F,Y,N=C.INITIAL_MEMORY||16777216;F="INITIAL_MEMORY should be larger than STACK_SIZE, was "+N+"! (STACK_SIZE=8388608)",N>=8388608||d(F),f=C.wasmMemory?C.wasmMemory:new c.Memory({initial:N/65536,maximum:N/65536}),Y=f.buffer,C.HEAP8=G=new Int8Array(Y),C.HEAP16=new Int16Array(Y),C.HEAP32=y=new Int32Array(Y),C.HEAPU8=h=new Uint8Array(Y),C.HEAPU16=new Uint16Array(Y),C.HEAPU32=new Uint32Array(Y),C.HEAPF32=new Float32Array(Y),C.HEAPF64=u=new Float64Array(Y),N=f.buffer.byteLength;var w=[],S=[],k=[],H=0,U=null,R=null;function d(z){throw C.onAbort&&C.onAbort(z),e(z="Aborted("+z+")"),s=!0,z+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(z)}var M,J,q="data:application/octet-stream;base64,";function l(z){return z.startsWith(q)}function m(z){return z.startsWith("file://")}function L(z){return Promise.resolve().then((function(){return(function(X){if(X==M&&a)return new Uint8Array(a);var eA=P(X);if(eA)return eA;if(g)return g(X);throw"both async and sync fetching of the wasm failed"})(z)}))}function p(z,X,eA,gA){return(function(IA,sA,CA){return L(IA).then((function(cA){return c.instantiate(cA,sA)})).then((function(cA){return cA})).then(CA,(function(cA){e("failed to asynchronously prepare wasm: "+cA),d(cA)}))})(X,eA,gA)}l(M="<<< WASM_BINARY_FILE >>>")||(J=M,M=C.locateFile?C.locateFile(J,n):n+J);var K={2340:function(){return C.getRandomValue()},2376:function(){if(C.getRandomValue===void 0)try{var I=(typeof window>"u"?"undefined":A(window))==="object"?window:self,g=I.crypto!==void 0?I.crypto:I.msCrypto,B=function(){var z=new Uint32Array(1);return g.getRandomValues(z),z[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var z=Q.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),C.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function b(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var v=function(z){for(;z.length>0;)z.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(z,X,eA){var gA=(function(IA,sA){var CA;for(O.length=0,sA>>=2;CA=h[IA++];)sA+=CA!=105&sA,O.push(CA==105?y[sA]:u[sA++>>1]),++sA;return O})(X,eA);return K[z].apply(null,gA)},x=function(z){D||(C.onExit&&C.onExit(z),s=!0),Q(z,new b(z))},W={c:function(z,X,eA){return T(z,X,eA)},d:function(z){h.length,d("OOM")},b:function(z,X){x(z)},a:f};(function(){var z={a:W};function X(eA,gA){var IA,sA=eA.exports;return C.asm=sA,C.asm.f,IA=C.asm.e,S.unshift(IA),(function(CA){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var cA=R;R=null,cA()}})(),sA}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(z,X)}catch(eA){return e("Module.instantiateWasm callback failed with error: "+eA),!1}p(0,M,z,(function(eA){X(eA.instance)}))})(),C._malloc=function(){return(C._malloc=C.asm.g).apply(null,arguments)},C._free=function(){return(C._free=C.asm.h).apply(null,arguments)},C._dilithiumjs_init=function(){return(C._dilithiumjs_init=C.asm.i).apply(null,arguments)},C._dilithiumjs_public_key_bytes=function(){return(C._dilithiumjs_public_key_bytes=C.asm.j).apply(null,arguments)},C._dilithiumjs_secret_key_bytes=function(){return(C._dilithiumjs_secret_key_bytes=C.asm.k).apply(null,arguments)},C._dilithiumjs_signature_bytes=function(){return(C._dilithiumjs_signature_bytes=C.asm.l).apply(null,arguments)},C._dilithiumjs_keypair=function(){return(C._dilithiumjs_keypair=C.asm.m).apply(null,arguments)},C._dilithiumjs_sign=function(){return(C._dilithiumjs_sign=C.asm.n).apply(null,arguments)},C._dilithiumjs_verify=function(){return(C._dilithiumjs_verify=C.asm.o).apply(null,arguments)};function P(z){if(l(z))return(function(X){if(o!==void 0&&o){var eA=Buffer.from(X,"base64");return new Uint8Array(eA.buffer,eA.byteOffset,eA.byteLength)}try{for(var gA=atob(X),IA=new Uint8Array(gA.length),sA=0;sA<gA.length;++sA)IA[sA]=gA.charCodeAt(sA);return IA}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(q.length))}function V(){function z(){j||(j=!0,C.calledRun=!0,s||(v(S),C.onRuntimeInitialized&&C.onRuntimeInitialized(),(function(){if(C.postRun)for(typeof C.postRun=="function"&&(C.postRun=[C.postRun]);C.postRun.length;)X=C.postRun.shift(),k.unshift(X);var X;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)X=C.preRun.shift(),w.unshift(X);var X;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),z()}),1)):z()))}if(C.writeArrayToMemory=function(z,X){G.set(z,X)},R=function z(){j||V(),j||(R=z)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(z,X){C.onAbort=X,C.onRuntimeInitialized=function(){z(C)}}))})).then((function(z){Object.keys(z).forEach((function(X){C[X]=z[X]}))}));var E=C.ready.then((function(){C._dilithiumjs_init(),A=C._dilithiumjs_public_key_bytes(),I=C._dilithiumjs_secret_key_bytes(),g=C._dilithiumjs_signature_bytes()})),o={publicKeyBytes:E.then((function(){return A})),privateKeyBytes:E.then((function(){return I})),bytes:E.then((function(){return g})),keyPair:function(){return E.then((function(){var z=C._malloc(A),X=C._malloc(I);try{return B(C._dilithiumjs_keypair(z,X),{publicKey:Q(z,A),privateKey:Q(X,I)})}finally{i(z),i(X)}}))},sign:function(z,X){return o.signDetached(z,X).then((function(eA){var gA=new Uint8Array(g+z.length);return gA.set(eA),gA.set(z,g),gA}))},signDetached:function(z,X){return E.then((function(){var eA=C._malloc(g),gA=C._malloc(z.length),IA=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),eA),C.writeArrayToMemory(z,gA),C.writeArrayToMemory(X,IA);try{return B(C._dilithiumjs_sign(eA,gA,z.length,IA),Q(eA,g))}finally{i(eA),i(gA),i(IA)}}))},open:function(z,X){return E.then((function(){var eA=new Uint8Array(z.buffer,z.byteOffset,g),gA=new Uint8Array(z.buffer,z.byteOffset+g,z.length-g);return o.verifyDetached(eA,gA,X).then((function(IA){if(IA)return gA;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(z,X,eA){return E.then((function(){var gA=C._malloc(g),IA=C._malloc(X.length),sA=C._malloc(A);C.writeArrayToMemory(z,gA),C.writeArrayToMemory(X,IA),C.writeArrayToMemory(eA,sA);try{return C._dilithiumjs_verify(IA,X.length,gA,sA)===0}finally{i(gA),i(IA),i(sA)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var II={};Ag(II,{InMemoryKeyStorage:()=>Qe,createKeySDK:()=>g0,default:()=>rI});mA();mA();mA();mA();mA();var Se=class{constructor(){pA(this,"suites",new Map)}register(X){if(this.suites.has(X.suiteId))throw new Error(`Signature suite already registered: ${X.suiteId}`);this.suites.set(X.suiteId,X)}getSuite(X){let eA=this.suites.get(X);if(!eA)throw new Error(`Unknown signature suite: ${X}. Available: ${this.listSuites().join(", ")}`);return eA}hasSuite(X){return this.suites.has(X)}listSuites(){return[...this.suites.keys()]}unregister(X){return this.suites.delete(X)}clear(){this.suites.clear()}},Er=new Se;mA();function ke(z){return Array.from(z).map(X=>X.toString(16).padStart(2,"0")).join("")}function Ne(z){if(z.length%2!==0)throw new Error("Hex string must have even length");let X=new Uint8Array(z.length/2);for(let eA=0;eA<z.length;eA+=2)X[eA/2]=parseInt(z.slice(eA,eA+2),16);return X}async function ui(z,X){if(X==="sha256"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha256").update(z).digest())}else if(X==="sha512"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha512").update(z).digest())}else if(X==="sha3-256"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha3-256").update(z).digest())}throw new Error(`Unsupported hash algorithm: ${X}`)}mA();mA();var Qe=class{constructor(){pA(this,"keys",new Map)}async store(X,eA,gA){this.keys.set(X,{keypair:eA,meta:gA})}async load(X){return this.keys.get(X)||null}async list(X){let eA=Array.from(this.keys.values()).map(gA=>gA.meta);return X?eA.filter(gA=>Object.entries(X).every(([IA,sA])=>IA==="usage"&&Array.isArray(sA)?sA.some(CA=>gA.usage.includes(CA)):gA[IA]===sA)):eA}async delete(X){this.keys.delete(X)}async updateMeta(X,eA){let gA=this.keys.get(X);if(!gA)throw new Error(`Key not found: ${X}`);this.keys.set(X,{keypair:gA.keypair,meta:{...gA.meta,...eA}})}clear(){this.keys.clear()}},yi=class{constructor(X=new Qe){pA(this,"storage");this.storage=X}async registerKey(X,eA,gA,IA={}){let sA={keyId:X,suiteId:gA,createdAt:new Date().toISOString(),expiresAt:IA.expiresAt,usage:IA.usage||["signing"],cryptoProfileVersion:IA.cryptoProfileVersion||"1.0.0",status:IA.status||"active"};return await this.storage.store(X,eA,sA),sA}async getKey(X){return await this.storage.load(X)}async getPublicKey(X){let eA=await this.storage.load(X);return eA?{publicKey:eA.keypair.publicKey,meta:eA.meta}:null}async listKeys(X){return await this.storage.list(X)}async listActiveKeys(X){let eA=await this.storage.list(X),gA=new Date;return eA.filter(IA=>!(IA.status&&IA.status!=="active"||IA.expiresAt&&new Date(IA.expiresAt)<gA))}async rotateKey(X,eA,gA){let IA=await this.storage.load(X);if(!IA)throw new Error(`Cannot rotate: key not found: ${X}`);return await this.storage.updateMeta(X,{status:"rotated"}),await this.registerKey(eA,gA,IA.meta.suiteId,{usage:IA.meta.usage,cryptoProfileVersion:IA.meta.cryptoProfileVersion,expiresAt:IA.meta.expiresAt,status:"active"}),await this.storage.updateMeta(eA,{rotatedFrom:X}),(await this.storage.load(eA)).meta}async revokeKey(X,eA){await this.storage.updateMeta(X,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(X){await this.storage.delete(X)}async markExpiredKeys(){let X=await this.storage.list(),eA=new Date,gA=0;for(let IA of X)IA.expiresAt&&new Date(IA.expiresAt)<eA&&IA.status==="active"&&(await this.storage.updateMeta(IA.keyId,{status:"expired"}),gA++);return gA}async pruneOldKeys(X=90){let eA=await this.storage.list(),gA=new Date;gA.setDate(gA.getDate()-X);let IA=0;for(let sA of eA)(sA.status==="revoked"&&sA.revokedAt&&new Date(sA.revokedAt)<gA||sA.status==="expired"&&sA.expiresAt&&new Date(sA.expiresAt)<gA)&&(await this.storage.delete(sA.keyId),IA++);return IA}};mA();mA();mA();mA();var Rr={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:fe,n:bt,Gx:Lr,Gy:Kr,b:Yg}=Rr,$A=32,Ee=64,MA=(z="")=>{throw new Error(z)},Rg=z=>typeof z=="bigint",Lg=z=>typeof z=="string",Mr=z=>z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array",ue=(z,X)=>!Mr(z)||typeof X=="number"&&X>0&&z.length!==X?MA("Uint8Array expected"):z,he=z=>new Uint8Array(z),Jr=z=>Uint8Array.from(z),Kg=(z,X)=>z.toString(16).padStart(X,"0"),xi=z=>Array.from(ue(z)).map(X=>Kg(X,2)).join(""),Mt={_0:48,_9:57,A:65,F:70,a:97,f:102},Fg=z=>{if(z>=Mt._0&&z<=Mt._9)return z-Mt._0;if(z>=Mt.A&&z<=Mt.F)return z-(Mt.A-10);if(z>=Mt.a&&z<=Mt.f)return z-(Mt.a-10)},zi=z=>{let X="hex invalid";if(!Lg(z))return MA(X);let eA=z.length,gA=eA/2;if(eA%2)return MA(X);let IA=he(gA);for(let sA=0,CA=0;sA<gA;sA++,CA+=2){let cA=Fg(z.charCodeAt(CA)),EA=Fg(z.charCodeAt(CA+1));if(cA===void 0||EA===void 0)return MA(X);IA[sA]=cA*16+EA}return IA},Dt=(z,X)=>ue(Lg(z)?zi(z):Jr(ue(z)),X),Mg=()=>globalThis?.crypto,qr=()=>Mg()?.subtle??MA("crypto.subtle must be defined"),ye=(...z)=>{let X=he(z.reduce((gA,IA)=>gA+ue(IA).length,0)),eA=0;return z.forEach(gA=>{X.set(gA,eA),eA+=gA.length}),X},$i=(z=$A)=>Mg().getRandomValues(he(z)),Ye=BigInt,Ze=(z,X,eA,gA="bad number: out of range")=>Rg(z)&&X<=z&&z<eA?z:MA(gA),DA=(z,X=fe)=>{let eA=z%X;return eA>=0n?eA:X+eA},et=z=>DA(z,bt),ze=(z,X)=>{(z===0n||X<=0n)&&MA("no inverse n="+z+" mod="+X);let eA=DA(z,X),gA=X,IA=0n,sA=1n,CA=1n,cA=0n;for(;eA!==0n;){let EA=gA/eA,yA=gA%eA,uA=IA-CA*EA,BA=sA-cA*EA;gA=eA,eA=yA,IA=CA,sA=cA,CA=uA,cA=BA}return gA===1n?DA(IA,X):MA("no inverse")},vr=z=>{let X=Ai[z];return typeof X!="function"&&MA("hashes."+z+" not set"),X},Hg=z=>z instanceof Jt?z:MA("Point expected"),Jg=z=>DA(DA(z*z)*z+Yg),kg=z=>Ze(z,0n,fe),_e=z=>Ze(z,1n,fe),Vi=z=>Ze(z,1n,bt),Xi=z=>(z&1n)===0n,Ue=z=>Uint8Array.of(z),qg=z=>Ue(Xi(z)?2:3),Or=z=>{let X=Jg(_e(z)),eA=1n;for(let gA=X,IA=(fe+1n)/4n;IA>0n;IA>>=1n)IA&1n&&(eA=eA*gA%fe),gA=gA*gA%fe;return DA(eA*eA)===X?eA:MA("sqrt invalid")},xt=class xt{constructor(X,eA,gA){pA(this,"px");pA(this,"py");pA(this,"pz");this.px=kg(X),this.py=_e(eA),this.pz=kg(gA),Object.freeze(this)}static fromBytes(X){ue(X);let eA,gA=X[0],IA=X.subarray(1),sA=di(IA,0,$A),CA=X.length;if(CA===$A+1&&[2,3].includes(gA)){let cA=Or(sA),EA=Xi(cA);Xi(Ye(gA))!==EA&&(cA=DA(-cA)),eA=new xt(sA,cA,1n)}return CA===Ee+1&&gA===4&&(eA=new xt(sA,di(IA,$A,Ee),1n)),eA?eA.assertValidity():MA("bad point: not on curve")}equals(X){let{px:eA,py:gA,pz:IA}=this,{px:sA,py:CA,pz:cA}=Hg(X),EA=DA(eA*cA),yA=DA(sA*IA),uA=DA(gA*cA),BA=DA(CA*IA);return EA===yA&&uA===BA}is0(){return this.equals(ce)}negate(){return new xt(this.px,DA(-this.py),this.pz)}double(){return this.add(this)}add(X){let{px:eA,py:gA,pz:IA}=this,{px:sA,py:CA,pz:cA}=Hg(X),EA=0n,yA=Yg,uA=0n,BA=0n,xA=0n,_=DA(yA*3n),fA=DA(eA*sA),FA=DA(gA*CA),UA=DA(IA*cA),bA=DA(eA+gA),YA=DA(sA+CA);bA=DA(bA*YA),YA=DA(fA+FA),bA=DA(bA-YA),YA=DA(eA+IA);let HA=DA(sA+cA);return YA=DA(YA*HA),HA=DA(fA+UA),YA=DA(YA-HA),HA=DA(gA+IA),uA=DA(CA+cA),HA=DA(HA*uA),uA=DA(FA+UA),HA=DA(HA-uA),xA=DA(EA*YA),uA=DA(_*UA),xA=DA(uA+xA),uA=DA(FA-xA),xA=DA(FA+xA),BA=DA(uA*xA),FA=DA(fA+fA),FA=DA(FA+fA),UA=DA(EA*UA),YA=DA(_*YA),FA=DA(FA+UA),UA=DA(fA-UA),UA=DA(EA*UA),YA=DA(YA+UA),fA=DA(FA*YA),BA=DA(BA+fA),fA=DA(HA*YA),uA=DA(bA*uA),uA=DA(uA-fA),fA=DA(bA*FA),xA=DA(HA*xA),xA=DA(xA+fA),new xt(uA,BA,xA)}multiply(X,eA=!0){if(!eA&&X===0n)return ce;if(Vi(X),X===1n)return this;if(this.equals(wt))return $r(X).p;let gA=ce,IA=wt;for(let sA=this;X>0n;sA=sA.double(),X>>=1n)X&1n?gA=gA.add(sA):eA&&(IA=IA.add(sA));return gA}toAffine(){let{px:X,py:eA,pz:gA}=this;if(this.equals(ce))return{x:0n,y:0n};if(gA===1n)return{x:X,y:eA};let IA=ze(gA,fe);return DA(gA*IA)!==1n&&MA("inverse invalid"),{x:DA(X*IA),y:DA(eA*IA)}}assertValidity(){let{x:X,y:eA}=this.toAffine();return _e(X),_e(eA),DA(eA*eA)===Jg(X)?this:MA("bad point: not on curve")}toBytes(X=!0){let{x:eA,y:gA}=this.assertValidity().toAffine(),IA=$t(eA);return X?ye(qg(gA),IA):ye(Ue(4),IA,$t(gA))}static fromAffine(X){let{x:eA,y:gA}=X;return eA===0n&&gA===0n?ce:new xt(eA,gA,1n)}toHex(X){return xi(this.toBytes(X))}static fromPrivateKey(X){return wt.multiply(Ve(X))}static fromHex(X){return xt.fromBytes(Dt(X))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(X){return this.toBytes(X)}};pA(xt,"BASE"),pA(xt,"ZERO");var Jt=xt,wt=new Jt(Lr,Kr,1n),ce=new Jt(0n,1n,0n);Jt.BASE=wt;Jt.ZERO=ce;var vg=(z,X,eA)=>wt.multiply(X,!1).add(z.multiply(eA,!1)).assertValidity(),$e=z=>Ye("0x"+(xi(z)||"0")),di=(z,X,eA)=>$e(z.subarray(X,eA)),Tr=2n**256n,$t=z=>zi(Kg(Ze(z,0n,Tr),Ee)),Ve=z=>{let X=Rg(z)?z:$e(Dt(z,$A));return Ze(X,1n,bt,"private key invalid 3")},li=z=>z>bt>>1n,Og=(z,X=!0)=>wt.multiply(Ve(z)).toBytes(X),Xe=class z{constructor(X,eA,gA){pA(this,"r");pA(this,"s");pA(this,"recovery");this.r=Vi(X),this.s=Vi(eA),gA!=null&&(this.recovery=gA),Object.freeze(this)}static fromBytes(X){ue(X,Ee);let eA=di(X,0,$A),gA=di(X,$A,Ee);return new z(eA,gA)}toBytes(){let{r:X,s:eA}=this;return ye($t(X),$t(eA))}addRecoveryBit(X){return new z(this.r,this.s,X)}hasHighS(){return li(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return xi(this.toBytes())}recoverPublicKey(X){return _r(this,X)}static fromCompact(X){return z.fromBytes(Dt(X,Ee))}assertValidity(){return this}normalizeS(){let{r:X,s:eA,recovery:gA}=this;return li(eA)?new z(X,et(-eA),gA):this}},Tg=z=>{let X=z.length*8-256;X>1024&&MA("msg invalid");let eA=$e(z);return X>0?eA>>Ye(X):eA},A0=z=>et(Tg(ue(z))),jg={lowS:!0},jr={lowS:!0},Pr=(z,X,eA=jg)=>{["der","recovered","canonical"].some(xA=>xA in eA)&&MA("option not supported");let{lowS:gA,extraEntropy:IA}=eA;gA==null&&(gA=!0);let sA=$t,CA=A0(Dt(z)),cA=sA(CA),EA=Ve(X),yA=[sA(EA),cA];IA&&yA.push(IA===!0?$i($A):Dt(IA));let uA=CA,BA=xA=>{let _=Tg(xA);if(!(1n<=_&&_<bt))return;let fA=wt.multiply(_).toAffine(),FA=et(fA.x);if(FA===0n)return;let UA=ze(_,bt),bA=et(UA*et(uA+et(EA*FA)));if(bA===0n)return;let YA=bA,HA=(fA.x===FA?0:2)|Number(fA.y&1n);return gA&&li(bA)&&(YA=et(-bA),HA^=1),new Xe(FA,YA,HA)};return{seed:ye(...yA),k2sig:BA}},Wr=z=>{let X=he($A),eA=he($A),gA=0,IA=he(0),sA=()=>{X.fill(1),eA.fill(0),gA=0},CA=1e3,cA="drbg: tried 1000 values";if(z){let EA=(...BA)=>Ai.hmacSha256Async(eA,X,...BA),yA=async(BA=IA)=>{eA=await EA(Ue(0),BA),X=await EA(),BA.length!==0&&(eA=await EA(Ue(1),BA),X=await EA())},uA=async()=>(gA++>=CA&&MA(cA),X=await EA(),X);return async(BA,xA)=>{sA(),await yA(BA);let _;for(;!(_=xA(await uA()));)await yA();return sA(),_}}else{let EA=(...BA)=>vr("hmacSha256Sync")(eA,X,...BA),yA=(BA=IA)=>{eA=EA(Ue(0),BA),X=EA(),BA.length!==0&&(eA=EA(Ue(1),BA),X=EA())},uA=()=>(gA++>=CA&&MA(cA),X=EA(),X);return(BA,xA)=>{sA(),yA(BA);let _;for(;!(_=xA(uA()));)yA();return sA(),_}}};var Pg=(z,X,eA=jg)=>{let{seed:gA,k2sig:IA}=Pr(z,X,eA);return Wr(!1)(gA,IA)},Wg=(z,X,eA,gA=jr)=>{let{lowS:IA}=gA;IA==null&&(IA=!0),"strict"in gA&&MA("option not supported");let sA,CA=z&&typeof z=="object"&&"r"in z;!CA&&Dt(z).length!==Ee&&MA("signature must be 64 bytes");try{sA=CA?new Xe(z.r,z.s):Xe.fromCompact(z);let cA=A0(Dt(X)),EA=Jt.fromBytes(Dt(eA)),{r:yA,s:uA}=sA;if(IA&&li(uA))return!1;let BA=ze(uA,bt),xA=et(cA*BA),_=et(yA*BA),fA=vg(EA,xA,_).toAffine();return et(fA.x)===yA}catch{return!1}},_r=(z,X)=>{let{r:eA,s:gA,recovery:IA}=z;[0,1,2,3].includes(IA)||MA("recovery id invalid");let sA=A0(Dt(X,$A)),CA=IA===2||IA===3?eA+bt:eA;_e(CA);let cA=qg(Ye(IA)),EA=ye(cA,$t(CA)),yA=Jt.fromBytes(EA),uA=ze(CA,bt),BA=et(-sA*uA),xA=et(gA*uA);return vg(yA,BA,xA)};var _g=z=>{z=Dt(z),(z.length<$A+8||z.length>1024)&&MA("expected 40-1024b");let X=DA($e(z),bt-1n);return $t(X+1n)},Vr=()=>_g($i($A+16)),Xr="SHA-256",Ai={hexToBytes:zi,bytesToHex:xi,concatBytes:ye,bytesToNumberBE:$e,numberToBytesBE:$t,mod:DA,invert:ze,hmacSha256Async:async(z,...X)=>{let eA=qr(),gA="HMAC",IA=await eA.importKey("raw",z,{name:gA,hash:{name:Xr}},!1,["sign"]);return he(await eA.sign(gA,IA,ye(...X)))},hmacSha256Sync:void 0,hashToPrivateKey:_g,randomBytes:$i},Vg={normPrivateKeyToScalar:Ve,isValidPrivateKey:z=>{try{return!!Ve(z)}catch{return!1}},randomPrivateKey:Vr,precompute:(z=8,X=wt)=>(X.multiply(3n),X)},pi=8,Zr=256,Xg=Math.ceil(Zr/pi)+1,Zi=2**(pi-1),zr=()=>{let z=[],X=wt,eA=X;for(let gA=0;gA<Xg;gA++){eA=X,z.push(eA);for(let IA=1;IA<Zi;IA++)eA=eA.add(X),z.push(eA);X=eA.double()}return z},Ng,Ug=(z,X)=>{let eA=X.negate();return z?eA:X},$r=z=>{let X=Ng||(Ng=zr()),eA=ce,gA=wt,IA=2**pi,sA=IA,CA=Ye(IA-1),cA=Ye(pi);for(let EA=0;EA<Xg;EA++){let yA=Number(z&CA);z>>=cA,yA>Zi&&(yA-=sA,z+=1n);let uA=EA*Zi,BA=uA,xA=uA+Math.abs(yA)-1,_=EA%2!==0,fA=yA<0;yA===0?gA=gA.add(Ug(_,X[BA])):eA=eA.add(Ug(fA,X[xA]))}return{p:eA,f:gA}};mA();mA();function tI(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Zg(z){if(!Number.isSafeInteger(z)||z<0)throw new Error("positive integer expected, got "+z)}function Le(z,...X){if(!tI(z))throw new Error("Uint8Array expected");if(X.length>0&&!X.includes(z.length))throw new Error("Uint8Array expected of length "+X+", got length="+z.length)}function zg(z){if(typeof z!="function"||typeof z.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Zg(z.outputLen),Zg(z.blockLen)}function Ke(z,X=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(X&&z.finished)throw new Error("Hash#digest() has already been called")}function $g(z,X){Le(z);let eA=X.outputLen;if(z.length<eA)throw new Error("digestInto() expects output buffer of length at least "+eA)}function de(...z){for(let X=0;X<z.length;X++)z[X].fill(0)}function Di(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function ht(z,X){return z<<32-X|z>>>X}function eI(z){if(typeof z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(z))}function ti(z){return typeof z=="string"&&(z=eI(z)),Le(z),z}var Re=class{};function Ar(z){let X=gA=>z().update(ti(gA)).digest(),eA=z();return X.outputLen=eA.outputLen,X.blockLen=eA.blockLen,X.create=()=>z(),X}var wi=class extends Re{constructor(X,eA){super(),this.finished=!1,this.destroyed=!1,zg(X);let gA=ti(eA);if(this.iHash=X.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let IA=this.blockLen,sA=new Uint8Array(IA);sA.set(gA.length>IA?X.create().update(gA).digest():gA);for(let CA=0;CA<sA.length;CA++)sA[CA]^=54;this.iHash.update(sA),this.oHash=X.create();for(let CA=0;CA<sA.length;CA++)sA[CA]^=106;this.oHash.update(sA),de(sA)}update(X){return Ke(this),this.iHash.update(X),this}digestInto(X){Ke(this),Le(X,this.outputLen),this.finished=!0,this.iHash.digestInto(X),this.oHash.update(X),this.oHash.digestInto(X),this.destroy()}digest(){let X=new Uint8Array(this.oHash.outputLen);return this.digestInto(X),X}_cloneInto(X){X||(X=Object.create(Object.getPrototypeOf(this),{}));let{oHash:eA,iHash:gA,finished:IA,destroyed:sA,blockLen:CA,outputLen:cA}=this;return X=X,X.finished=IA,X.destroyed=sA,X.blockLen=CA,X.outputLen=cA,X.oHash=eA._cloneInto(X.oHash),X.iHash=gA._cloneInto(X.iHash),X}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},t0=(z,X,eA)=>new wi(z,X).update(eA).digest();t0.create=(z,X)=>new wi(z,X);mA();mA();mA();function iI(z,X,eA,gA){if(typeof z.setBigUint64=="function")return z.setBigUint64(X,eA,gA);let IA=BigInt(32),sA=BigInt(4294967295),CA=Number(eA>>IA&sA),cA=Number(eA&sA),EA=gA?4:0,yA=gA?0:4;z.setUint32(X+EA,CA,gA),z.setUint32(X+yA,cA,gA)}function tr(z,X,eA){return z&X^~z&eA}function er(z,X,eA){return z&X^z&eA^X&eA}var bi=class extends Re{constructor(X,eA,gA,IA){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=X,this.outputLen=eA,this.padOffset=gA,this.isLE=IA,this.buffer=new Uint8Array(X),this.view=Di(this.buffer)}update(X){Ke(this),X=ti(X),Le(X);let{view:eA,buffer:gA,blockLen:IA}=this,sA=X.length;for(let CA=0;CA<sA;){let cA=Math.min(IA-this.pos,sA-CA);if(cA===IA){let EA=Di(X);for(;IA<=sA-CA;CA+=IA)this.process(EA,CA);continue}gA.set(X.subarray(CA,CA+cA),this.pos),this.pos+=cA,CA+=cA,this.pos===IA&&(this.process(eA,0),this.pos=0)}return this.length+=X.length,this.roundClean(),this}digestInto(X){Ke(this),$g(X,this),this.finished=!0;let{buffer:eA,view:gA,blockLen:IA,isLE:sA}=this,{pos:CA}=this;eA[CA++]=128,de(this.buffer.subarray(CA)),this.padOffset>IA-CA&&(this.process(gA,0),CA=0);for(let BA=CA;BA<IA;BA++)eA[BA]=0;iI(gA,IA-8,BigInt(this.length*8),sA),this.process(gA,0);let cA=Di(X),EA=this.outputLen;if(EA%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let yA=EA/4,uA=this.get();if(yA>uA.length)throw new Error("_sha2: outputLen bigger than state");for(let BA=0;BA<yA;BA++)cA.setUint32(4*BA,uA[BA],sA)}digest(){let{buffer:X,outputLen:eA}=this;this.digestInto(X);let gA=X.slice(0,eA);return this.destroy(),gA}_cloneInto(X){X||(X=new this.constructor),X.set(...this.get());let{blockLen:eA,buffer:gA,length:IA,finished:sA,destroyed:CA,pos:cA}=this;return X.destroyed=CA,X.finished=sA,X.length=IA,X.pos=cA,IA%eA&&X.buffer.set(gA),X}clone(){return this._cloneInto()}},qt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var gI=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ae=new Uint32Array(64),Gi=class extends bi{constructor(X=32){super(64,X,8,!1),this.A=qt[0]|0,this.B=qt[1]|0,this.C=qt[2]|0,this.D=qt[3]|0,this.E=qt[4]|0,this.F=qt[5]|0,this.G=qt[6]|0,this.H=qt[7]|0}get(){let{A:X,B:eA,C:gA,D:IA,E:sA,F:CA,G:cA,H:EA}=this;return[X,eA,gA,IA,sA,CA,cA,EA]}set(X,eA,gA,IA,sA,CA,cA,EA){this.A=X|0,this.B=eA|0,this.C=gA|0,this.D=IA|0,this.E=sA|0,this.F=CA|0,this.G=cA|0,this.H=EA|0}process(X,eA){for(let BA=0;BA<16;BA++,eA+=4)Ae[BA]=X.getUint32(eA,!1);for(let BA=16;BA<64;BA++){let xA=Ae[BA-15],_=Ae[BA-2],fA=ht(xA,7)^ht(xA,18)^xA>>>3,FA=ht(_,17)^ht(_,19)^_>>>10;Ae[BA]=FA+Ae[BA-7]+fA+Ae[BA-16]|0}let{A:gA,B:IA,C:sA,D:CA,E:cA,F:EA,G:yA,H:uA}=this;for(let BA=0;BA<64;BA++){let xA=ht(cA,6)^ht(cA,11)^ht(cA,25),_=uA+xA+tr(cA,EA,yA)+gI[BA]+Ae[BA]|0,FA=(ht(gA,2)^ht(gA,13)^ht(gA,22))+er(gA,IA,sA)|0;uA=yA,yA=EA,EA=cA,cA=CA+_|0,CA=sA,sA=IA,IA=gA,gA=_+FA|0}gA=gA+this.A|0,IA=IA+this.B|0,sA=sA+this.C|0,CA=CA+this.D|0,cA=cA+this.E|0,EA=EA+this.F|0,yA=yA+this.G|0,uA=uA+this.H|0,this.set(gA,IA,sA,CA,cA,EA,yA,uA)}roundClean(){de(Ae)}destroy(){this.set(0,0,0,0,0,0,0,0),de(this.buffer)}};var ir=Ar(()=>new Gi);var gr=ir;Ai.hmacSha256Sync=(z,...X)=>t0(gr,z,Ai.concatBytes(...X));var ei=class{constructor(){pA(this,"suiteId","bsv-ecdsa-secp256k1");pA(this,"version","1.0.0")}async generateKeypair(){let X=Vg.randomPrivateKey(),eA=Og(X,!0);return{privateKey:X,publicKey:eA}}async sign(X,eA){try{return(await Pg(eA,X)).toCompactRawBytes()}catch(gA){throw new Error(`BsvEcdsaSuite signing failed: ${gA instanceof Error?gA.message:String(gA)}`)}}async verify(X,eA,gA){try{return Wg(gA,eA,X)}catch{return!1}}exportPublicKey(X){return ke(X)}importPublicKey(X){return Ne(X)}exportPrivateKey(X){return ke(X)}importPrivateKey(X){let eA=Ne(X);if(eA.length!==32)throw new Error("Private key must be 32 bytes");return eA}};mA();var e0=null;async function i0(){if(!e0){let z=await Promise.resolve().then(()=>cr(rr(),1));e0=z.default||z}return e0}var mi=class{constructor(){pA(this,"suiteId","ml-dsa-87");pA(this,"version","1.0.0")}async generateKeypair(){try{let eA=await(await i0()).keyPair();return{publicKey:new Uint8Array(eA.publicKey),privateKey:new Uint8Array(eA.privateKey)}}catch(X){throw new Error(`ML-DSA-87 key generation failed: ${X instanceof Error?X.message:String(X)}`)}}async sign(X,eA){try{let IA=await(await i0()).signDetached(Buffer.from(eA),Buffer.from(X));return new Uint8Array(IA)}catch(gA){throw new Error(`ML-DSA-87 signing failed: ${gA instanceof Error?gA.message:String(gA)}`)}}async verify(X,eA,gA){try{return await(await i0()).verifyDetached(Buffer.from(gA),Buffer.from(eA),Buffer.from(X))}catch{return!1}}exportPublicKey(X){return ke(X)}importPublicKey(X){let eA=Ne(X);if(eA.length!==2592)throw new Error(`ML-DSA-87 public key must be 2592 bytes, got ${eA.length}`);return eA}exportPrivateKey(X){return ke(X)}importPrivateKey(X){let eA=Ne(X);if(eA.length!==4864)throw new Error(`ML-DSA-87 private key must be 4864 bytes, got ${eA.length}`);return eA}},ii=class{constructor(){pA(this,"suiteId","ml-dsa-65");pA(this,"version","1.0.0");pA(this,"impl",new mi)}async generateKeypair(){return this.impl.generateKeypair()}async sign(X,eA){return this.impl.sign(X,eA)}async verify(X,eA,gA){return this.impl.verify(X,eA,gA)}exportPublicKey(X){return this.impl.exportPublicKey(X)}importPublicKey(X){return this.impl.importPublicKey(X)}exportPrivateKey(X){return this.impl.exportPrivateKey(X)}importPrivateKey(X){return this.impl.importPrivateKey(X)}};var Si=class{constructor(X){this.keyCounter=new Map;this.keyRegistry=X.keyRegistry,this.suiteRegistry=X.suiteRegistry}async createKey(X,eA,gA={}){let sA=await this.suiteRegistry.getSuite(eA.primarySignatureSuite).generateKeypair(),CA=this.getNextCounter(X),cA=eA.primarySignatureSuite.split("-")[0],EA=`${X}:pk-${cA}-${CA}`;return{meta:await this.keyRegistry.registerKey(EA,sA,eA.primarySignatureSuite,{expiresAt:gA.expiresAt,usage:gA.usage||["signing"],cryptoProfileVersion:gA.cryptoProfileVersion||"1.0.0"}),publicKey:sA.publicKey}}async getKey(X){let eA=await this.keyRegistry.getPublicKey(X);return eA?{meta:eA.meta,publicKey:eA.publicKey}:null}async signWithKey(X,eA){let gA=await this.keyRegistry.getKey(X);if(!gA)throw new Error(`Key not found: ${X}`);if(gA.meta.status!=="active")throw new Error(`Key is not active: ${X} (status: ${gA.meta.status})`);let IA=this.suiteRegistry.getSuite(gA.meta.suiteId),sA=this.getHashAlgorithm(gA.meta.suiteId),CA=await ui(eA,sA);return await IA.sign(gA.keypair.privateKey,CA)}async verifySignature(X,eA,gA){let IA=await this.keyRegistry.getPublicKey(X);if(!IA)return!1;let sA=this.suiteRegistry.getSuite(IA.meta.suiteId),CA=this.getHashAlgorithm(IA.meta.suiteId),cA=await ui(eA,CA);try{return await sA.verify(IA.publicKey,cA,gA)}catch{return!1}}async listKeysForAgent(X,eA=!0){let IA=(eA?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(CA=>CA.keyId.startsWith(`${X}:`)),sA=[];for(let CA of IA){let cA=await this.keyRegistry.getPublicKey(CA.keyId);cA&&sA.push({meta:cA.meta,publicKey:cA.publicKey})}return sA}async getActiveCryptoProfile(X){let eA=await this.listKeysForAgent(X,!0);if(eA.length===0)return null;let gA=new Set(eA.map(sA=>sA.meta.suiteId)),IA=Array.from(gA);return{primarySignatureSuite:IA[0],secondarySignatureSuite:IA[1]}}async rotateAgentKeys(X){let eA=await this.listKeysForAgent(X,!0),gA=[];for(let IA of eA){let CA=await this.suiteRegistry.getSuite(IA.meta.suiteId).generateKeypair(),cA=this.getNextCounter(X),EA=IA.meta.suiteId.split("-")[0],yA=`${X}:pk-${EA}-${cA}`,uA=await this.keyRegistry.rotateKey(IA.meta.keyId,yA,CA);gA.push({meta:uA,publicKey:CA.publicKey})}return gA}async getOrCreateKey(X,eA,gA={}){let sA=(await this.listKeysForAgent(X,!0)).find(CA=>CA.meta.suiteId===eA.primarySignatureSuite);return sA||await this.createKey(X,eA,gA)}getHashAlgorithm(X){return X.startsWith("ml-dsa")?"sha3-256":"sha256"}getNextCounter(X){let gA=(this.keyCounter.get(X)||0)+1;return this.keyCounter.set(X,gA),gA}};mA();async function g0(){let z=new Qe,X=new yi(z),eA=new Se;return eA.register(new ei),eA.register(new ii),new Si({keyRegistry:X,suiteRegistry:eA})}var rI={createKeySDK:g0};typeof window<"u"&&(window.LumenKeys={createKeySDK:g0});return fr(II);})();
|
|
1
|
+
"use strict";var LumenKeys=(()=>{var Sc=Object.create;var nn=Object.defineProperty;var Hc=Object.getOwnPropertyDescriptor;var kc=Object.getOwnPropertyNames;var Gc=Object.getPrototypeOf,vc=Object.prototype.hasOwnProperty;var Uc=(Z,_,z)=>_ in Z?nn(Z,_,{enumerable:!0,configurable:!0,writable:!0,value:z}):Z[_]=z;var cr=(Z,_)=>()=>(Z&&(_=Z(Z=0)),_);var Lc=(Z,_)=>()=>(_||Z((_={exports:{}}).exports,_),_.exports),Ts=(Z,_)=>{for(var z in _)nn(Z,z,{get:_[z],enumerable:!0})},_s=(Z,_,z,X)=>{if(_&&typeof _=="object"||typeof _=="function")for(let ee of kc(_))!vc.call(Z,ee)&&ee!==z&&nn(Z,ee,{get:()=>_[ee],enumerable:!(X=Hc(_,ee))||X.enumerable});return Z};var Nc=(Z,_,z)=>(z=Z!=null?Sc(Gc(Z)):{},_s(_||!Z||!Z.__esModule?nn(z,"default",{value:Z,enumerable:!0}):z,Z)),Fc=Z=>_s(nn({},"__esModule",{value:!0}),Z);var he=(Z,_,z)=>Uc(Z,typeof _!="symbol"?_+"":_,z);var Buffer,process,be=cr(()=>{"use strict";Buffer={from:function(Z,_){if(typeof Z=="string"){if(_==="base64"){let X=atob(Z),ee=new Uint8Array(X.length);for(let re=0;re<X.length;re++)ee[re]=X.charCodeAt(re);return ee}return new TextEncoder().encode(Z)}return new Uint8Array(Z)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let Z=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(_){if(_==="base64"){let z="",X=new Uint8Array(this);for(let ee=0;ee<X.byteLength;ee++)z+=String.fromCharCode(X[ee]);return btoa(z)}return Z.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});function Yc(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function Mi(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function Yr(Z,_,z=""){let X=Yc(Z),ee=Z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=z&&`"${z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function Kr(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function Pn(Z,_){Yr(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function js(Z){return new Uint32Array(Z.buffer,Z.byteOffset,Math.floor(Z.byteLength/4))}function rA(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function Vn(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function jt(Z,_){return Z<<32-_|Z>>>_}function Mc(Z){return Z<<24&4278190080|Z<<8&16711680|Z>>>8&65280|Z>>>24&255}function qc(Z){for(let _=0;_<Z.length;_++)Z[_]=Mc(Z[_]);return Z}function on(Z,_={}){let z=(ee,re)=>Z(re).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}var Kc,qi,sn,Wn=cr(()=>{be();Kc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;qi=Kc?Z=>Z:qc;sn=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])})});function Ps(Z,_,z){return Z&_^~Z&z}function Vs(Z,_,z){return Z&_^Z&z^_&z}var an,bA,yt,Ws=cr(()=>{be();Wn();an=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=Vn(this.buffer)}update(_){Kr(this),Yr(_);let{view:z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=Vn(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){Kr(this),Pn(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;z[ie++]=128,rA(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=Vn(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},bA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),yt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function Oc(Z,_=!1){return _?{h:Number(Z&Zn),l:Number(Z>>Zs&Zn)}:{h:Number(Z>>Zs&Zn)|0,l:Number(Z&Zn)|0}}function zn(Z,_=!1){let z=Z.length,X=new Uint32Array(z),ee=new Uint32Array(z);for(let re=0;re<z;re++){let{h:ie,l:ae}=Oc(Z[re],_);[X[re],ee[re]]=[ie,ae]}return[X,ee]}function nA(Z,_,z,X){let ee=(_>>>0)+(X>>>0);return{h:Z+z+(ee/2**32|0)|0,l:ee|0}}var Zn,Zs,Oi,Ji,fr,ur,cn,gn,zs,Xs,$s,e0,t0,A0,r0,n0,i0,o0,Ti=cr(()=>{be();Zn=BigInt(4294967295),Zs=BigInt(32);Oi=(Z,_,z)=>Z>>>z,Ji=(Z,_,z)=>Z<<32-z|_>>>z,fr=(Z,_,z)=>Z>>>z|_<<32-z,ur=(Z,_,z)=>Z<<32-z|_>>>z,cn=(Z,_,z)=>Z<<64-z|_>>>z-32,gn=(Z,_,z)=>Z>>>z-32|_<<64-z,zs=(Z,_,z)=>Z<<z|_>>>32-z,Xs=(Z,_,z)=>_<<z|Z>>>32-z,$s=(Z,_,z)=>_<<z-32|Z>>>64-z,e0=(Z,_,z)=>Z<<z-32|_>>>64-z;t0=(Z,_,z)=>(Z>>>0)+(_>>>0)+(z>>>0),A0=(Z,_,z,X)=>_+z+X+(Z/2**32|0)|0,r0=(Z,_,z,X)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0),n0=(Z,_,z,X,ee)=>_+z+X+ee+(Z/2**32|0)|0,i0=(Z,_,z,X,ee)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0)+(ee>>>0),o0=(Z,_,z,X,ee,re)=>_+z+X+ee+re+(Z/2**32|0)|0});var Tc,MA,_i,ji,s0,_c,jc,qA,OA,Pi,Vi,a0,c0,g0=cr(()=>{be();Ws();Ti();Wn();Tc=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),MA=new Uint32Array(64),_i=class extends an{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,re,ie,ae,fe]}set(_,z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ce=0;ce<16;ce++,z+=4)MA[ce]=_.getUint32(z,!1);for(let ce=16;ce<64;ce++){let Ee=MA[ce-15],$=MA[ce-2],Be=jt(Ee,7)^jt(Ee,18)^Ee>>>3,xe=jt($,17)^jt($,19)^$>>>10;MA[ce]=xe+MA[ce-7]+Be+MA[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=jt(ae,6)^jt(ae,11)^jt(ae,25),$=Ce+Ee+Ps(ae,fe,le)+Tc[ce]+MA[ce]|0,xe=(jt(X,2)^jt(X,13)^jt(X,22))+Vs(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){rA(MA)}destroy(){this.set(0,0,0,0,0,0,0,0),rA(this.buffer)}},ji=class extends _i{constructor(){super(32);he(this,"A",bA[0]|0);he(this,"B",bA[1]|0);he(this,"C",bA[2]|0);he(this,"D",bA[3]|0);he(this,"E",bA[4]|0);he(this,"F",bA[5]|0);he(this,"G",bA[6]|0);he(this,"H",bA[7]|0)}},s0=zn(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(Z=>BigInt(Z))),_c=s0[0],jc=s0[1],qA=new Uint32Array(80),OA=new Uint32Array(80),Pi=class extends an{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:z,Bh:X,Bl:ee,Ch:re,Cl:ie,Dh:ae,Dl:fe,Eh:le,El:Ce,Fh:ce,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He]}set(_,z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=re|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=le|0,this.El=Ce|0,this.Fh=ce|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,z){for(let we=0;we<16;we++,z+=4)qA[we]=_.getUint32(z),OA[we]=_.getUint32(z+=4);for(let we=16;we<80;we++){let Me=qA[we-15]|0,Ve=OA[we-15]|0,Ge=fr(Me,Ve,1)^fr(Me,Ve,8)^Oi(Me,Ve,7),ke=ur(Me,Ve,1)^ur(Me,Ve,8)^Ji(Me,Ve,7),Pe=qA[we-2]|0,qe=OA[we-2]|0,rt=fr(Pe,qe,19)^cn(Pe,qe,61)^Oi(Pe,qe,6),tt=ur(Pe,qe,19)^gn(Pe,qe,61)^Ji(Pe,qe,6),Je=r0(ke,tt,OA[we-7],OA[we-16]),Te=n0(Je,Ge,rt,qA[we-7],qA[we-16]);qA[we]=Te|0,OA[we]=Je|0}let{Ah:X,Al:ee,Bh:re,Bl:ie,Ch:ae,Cl:fe,Dh:le,Dl:Ce,Eh:ce,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=fr(ce,Ee,14)^fr(ce,Ee,18)^cn(ce,Ee,41),Ve=ur(ce,Ee,14)^ur(ce,Ee,18)^gn(ce,Ee,41),Ge=ce&$^~ce&xe,ke=Ee&Be^~Ee&He,Pe=i0(Re,Ve,ke,jc[we],OA[we]),qe=o0(Pe,Se,Me,Ge,_c[we],qA[we]),rt=Pe|0,tt=fr(X,ee,28)^cn(X,ee,34)^cn(X,ee,39),Je=ur(X,ee,28)^gn(X,ee,34)^gn(X,ee,39),Te=X&re^X&ae^re&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ce|0,Be=Ee|0,{h:ce,l:Ee}=nA(le|0,Ce|0,qe|0,rt|0),le=ae|0,Ce=fe|0,ae=re|0,fe=ie|0,re=X|0,ie=ee|0;let Qe=t0(rt,Je,pe);X=A0(Qe,qe,tt,Te),ee=Qe|0}({h:X,l:ee}=nA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:re,l:ie}=nA(this.Bh|0,this.Bl|0,re|0,ie|0),{h:ae,l:fe}=nA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:le,l:Ce}=nA(this.Dh|0,this.Dl|0,le|0,Ce|0),{h:ce,l:Ee}=nA(this.Eh|0,this.El|0,ce|0,Ee|0),{h:$,l:Be}=nA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=nA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=nA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He,Se,Re)}roundClean(){rA(qA,OA)}destroy(){rA(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Vi=class extends Pi{constructor(){super(64);he(this,"Ah",yt[0]|0);he(this,"Al",yt[1]|0);he(this,"Bh",yt[2]|0);he(this,"Bl",yt[3]|0);he(this,"Ch",yt[4]|0);he(this,"Cl",yt[5]|0);he(this,"Dh",yt[6]|0);he(this,"Dl",yt[7]|0);he(this,"Eh",yt[8]|0);he(this,"El",yt[9]|0);he(this,"Fh",yt[10]|0);he(this,"Fl",yt[11]|0);he(this,"Gh",yt[12]|0);he(this,"Gl",yt[13]|0);he(this,"Hh",yt[14]|0);he(this,"Hl",yt[15]|0)}},a0=on(()=>new ji,sn(1)),c0=on(()=>new Vi,sn(3))});function eg(Z,_=24){let z=new Uint32Array(10);for(let X=24-_;X<24;X++){for(let ie=0;ie<10;ie++)z[ie]=Z[ie]^Z[ie+10]^Z[ie+20]^Z[ie+30]^Z[ie+40];for(let ie=0;ie<10;ie+=2){let ae=(ie+8)%10,fe=(ie+2)%10,le=z[fe],Ce=z[fe+1],ce=f0(le,Ce,1)^z[ae],Ee=u0(le,Ce,1)^z[ae+1];for(let $=0;$<50;$+=10)Z[ie+$]^=ce,Z[ie+$+1]^=Ee}let ee=Z[2],re=Z[3];for(let ie=0;ie<24;ie++){let ae=h0[ie],fe=f0(ee,re,ae),le=u0(ee,re,ae),Ce=I0[ie];ee=Z[Ce],re=Z[Ce+1],Z[Ce]=fe,Z[Ce+1]=le}for(let ie=0;ie<50;ie+=10){for(let ae=0;ae<10;ae++)z[ae]=Z[ie+ae];for(let ae=0;ae<10;ae++)Z[ie+ae]^=~z[(ae+2)%10]&z[(ae+4)%10]}Z[0]^=Xc[X],Z[1]^=$c[X]}rA(z)}var Pc,fn,Vc,Wc,Zc,zc,I0,h0,d0,l0,Xc,$c,f0,u0,Wi,tg,B0,C0=cr(()=>{be();Ti();Wn();Pc=BigInt(0),fn=BigInt(1),Vc=BigInt(2),Wc=BigInt(7),Zc=BigInt(256),zc=BigInt(113),I0=[],h0=[],d0=[];for(let Z=0,_=fn,z=1,X=0;Z<24;Z++){[z,X]=[X,(2*z+3*X)%5],I0.push(2*(5*X+z)),h0.push((Z+1)*(Z+2)/2%64);let ee=Pc;for(let re=0;re<7;re++)_=(_<<fn^(_>>Wc)*zc)%Zc,_&Vc&&(ee^=fn<<(fn<<BigInt(re))-fn);d0.push(ee)}l0=zn(d0,!0),Xc=l0[0],$c=l0[1],f0=(Z,_,z)=>z>32?$s(Z,_,z):zs(Z,_,z),u0=(Z,_,z)=>z>32?e0(Z,_,z):Xs(Z,_,z);Wi=class Z{constructor(_,z,X,ee=!1,re=24){he(this,"state");he(this,"pos",0);he(this,"posOut",0);he(this,"finished",!1);he(this,"state32");he(this,"destroyed",!1);he(this,"blockLen");he(this,"suffix");he(this,"outputLen");he(this,"enableXOF",!1);he(this,"rounds");if(this.blockLen=_,this.suffix=z,this.outputLen=X,this.enableXOF=ee,this.rounds=re,Mi(X,"outputLen"),!(0<_&&_<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=js(this.state)}clone(){return this._cloneInto()}keccak(){qi(this.state32),eg(this.state32,this.rounds),qi(this.state32),this.posOut=0,this.pos=0}update(_){Kr(this),Yr(_);let{blockLen:z,state:X}=this,ee=_.length;for(let re=0;re<ee;){let ie=Math.min(z-this.pos,ee-re);for(let ae=0;ae<ie;ae++)X[this.pos++]^=_[re++];this.pos===z&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:_,suffix:z,pos:X,blockLen:ee}=this;_[X]^=z,(z&128)!==0&&X===ee-1&&this.keccak(),_[ee-1]^=128,this.keccak()}writeInto(_){Kr(this,!1),Yr(_),this.finish();let z=this.state,{blockLen:X}=this;for(let ee=0,re=_.length;ee<re;){this.posOut>=X&&this.keccak();let ie=Math.min(X-this.posOut,re-ee);_.set(z.subarray(this.posOut,this.posOut+ie),ee),this.posOut+=ie,ee+=ie}return _}xofInto(_){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(_)}xof(_){return Mi(_),this.xofInto(new Uint8Array(_))}digestInto(_){if(Pn(_,this),this.finished)throw new Error("digest() was already called");return this.writeInto(_),this.destroy(),_}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,rA(this.state)}_cloneInto(_){let{blockLen:z,suffix:X,outputLen:ee,rounds:re,enableXOF:ie}=this;return _||(_=new Z(z,X,ee,ie,re)),_.state32.set(this.state32),_.pos=this.pos,_.posOut=this.posOut,_.finished=this.finished,_.rounds=re,_.suffix=X,_.outputLen=ee,_.enableXOF=ie,_.destroyed=this.destroyed,_}},tg=(Z,_,z,X={})=>on(()=>new Wi(_,Z,z),X),B0=tg(6,136,32,sn(8))});var Xn={};Ts(Xn,{createHash:()=>E0,default:()=>Ag});function E0(Z){let _=new Uint8Array(0),z;switch(Z.toLowerCase()){case"sha256":case"sha-256":z=a0;break;case"sha512":case"sha-512":z=c0;break;case"sha3-256":z=B0;break;default:throw new Error(`Unsupported hash algorithm: ${Z}`)}return{update(X){let ee=X instanceof Uint8Array?X:new Uint8Array(X),re=new Uint8Array(_.length+ee.length);return re.set(_),re.set(ee,_.length),_=re,this},digest(){return z(_)}}}var Ag,$n=cr(()=>{"use strict";be();g0();C0();Ag={createHash:E0}});var mc=Lc((exports,module)=>{be();var dilithium=(function(){var A,I,g,C={};function B(Z,_){if(Z===0)return _;throw new Error("Dilithium error: "+Z)}function Q(Z,_){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,Z,_))}function i(Z){try{C._free(Z)}catch(_){setTimeout((function(){throw _}),0)}}C.ready=new Promise((function(A,I){function g(Z){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},g(Z)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(Z){I(Z)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(Z,_){throw _},o=(typeof window>"u"?"undefined":g(window))=="object",n=typeof importScripts=="function",r=(typeof process>"u"?"undefined":g(process))=="object"&&g(process.versions)=="object"&&typeof process.versions.node=="string",t="";if(r){var a=eval("require")("fs"),e=eval("require")("path");t=n?e.dirname(t)+"/":__dirname+"/",C=function(Z,_){var z=x(Z);return z?_?z:z.toString():(Z=q(Z)?new URL(Z):e.normalize(Z),a.readFileSync(Z,_?void 0:"utf8"))},B=function(Z){var _=C(Z,!0);return _.buffer||(_=new Uint8Array(_)),_},!Q.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=Q),process.on("uncaughtException",(function(Z){if(!(Z==="unwind"||Z instanceof p||Z.context instanceof p))throw Z})),E=function(Z,_){throw process.exitCode=Z,_},Q.inspect=function(){return"[Emscripten Module object]"}}else(o||n)&&(n?t=self.location.href:typeof document<"u"&&document.currentScript&&(t=document.currentScript.src),t=t.indexOf("blob:")!==0?t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1):"",C=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.send(null),_.responseText}catch(X){var z=x(Z);if(z)return(function(ee){for(var re=[],ie=0;ie<ee.length;ie++){var ae=ee[ie];ae>255&&(ae&=255),re.push(String.fromCharCode(ae))}return re.join("")})(z);throw X}},n&&(B=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(X){var z=x(Z);if(z)return z;throw X}}));Q.print||console.log.bind(console);var f,D=Q.printErr||console.error.bind(console);Object.assign(Q,i),i=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&(E=Q.quit),Q.wasmBinary&&(f=Q.wasmBinary);var c,G=Q.noExitRuntime||!0;(typeof WebAssembly>"u"?"undefined":g(WebAssembly))!="object"&&U("no native wasm support detected");var h,y,u,s,F=!1,Y=[],N=[],w=[],S=0,k=null,H=null;function U(Z){throw Q.onAbort&&Q.onAbort(Z),D(Z="Aborted("+Z+")"),F=!0,Z+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(Z)}var R,d,M="data:application/octet-stream;base64,";function J(Z){return Z.startsWith(M)}function q(Z){return Z.startsWith("file://")}function l(Z){return Promise.resolve().then((function(){return(function(_){if(_==R&&f)return new Uint8Array(f);var z=x(_);if(z)return z;if(B)return B(_);throw"both async and sync fetching of the wasm failed"})(Z)}))}function m(Z,_,z,X){return(function(ee,re,ie){return l(ee).then((function(ae){return WebAssembly.instantiate(ae,re)})).then((function(ae){return ae})).then(ie,(function(ae){D("failed to asynchronously prepare wasm: "+ae),U(ae)}))})(_,z,X)}J(R="data:application/octet-stream;base64,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aiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQegAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQShyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQewAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQThyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfwAcmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEFA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgBUECdCIDQSByaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBJHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EEcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EocmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQSxyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBDHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBMHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EQcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0E0cmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQThyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBGHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBPHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EccmoiAygCACIBIAJrNgIAIAMgASACajYCACAFQfABSSEDIAVBEGohBSADDQALQQAhBQNAIAZBAWoiBkECdEGgCmo0AgAiByAAIAVBAnQiA0EQcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQRRyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBBHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBGHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EIcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EccmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB+AFJIQMgBUEIaiEFIAMNAAtBACEDA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgA0ECdCIFQQhyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIAVqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIAVBDHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgBUEEcmoiBSgCACIBIAJrNgIAIAUgASACajYCACADQfwBSSEFIANBBGohAyAFDQALQQAhAwNAIAAgA0ECdCICQQRyaiIBNAIAIAZBAWoiBkECdEGgCmo0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSABIAAgAmoiAigCACIBIAVrNgIAIAIgASAFajYCACADQf4BSSEFIANBAmohAyAFDQALC4oCAQp/A0AgACAEQQV0aiICIAEgBEEDbGoiAy0AAEEHcSIFNgIAIAIgAy0AAEEDdkEHcSIGNgIEIAIgAy0A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IgEgACADQcgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQQxyaiIBIAAgA0HMAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EQcmoiASAAIANB0AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBFHJqIgEgACADQdQAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQRhyaiIBIAAgA0HYAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EccmoiASAAIANB3AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBIHJqIgEgACADQeAAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQSRyaiIBIAAgA0HkAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EocmoiASAAIANB6AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBLHJqIgEgACADQewAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTByaiIBIAAgA0HwAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0E0cmoiASAAIANB9AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBOHJqIgEgACADQfgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTxyaiICIAAgA0H8AHJqIgMoAgAiASACKAIAIgJqNgIAIAMgAiABayICNgIAIAMgAqwgCX4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEDQQAgBEECdEGYCmooAgBrrCEJA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0EgRw0AC0EAIARBAnRBlApqKAIAa6whCUHAACEDA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0HgAEcNAAtBACAEQQJ0QZAKaigCAGusIQlBgAEhAwNAIAAgA0ECdGoiBiAGKAKAASIFIAYoAgAiAmo2AgAgBiACIAVrIgU2AoABIAYgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKAASADQQFqIgNBoAFHDQALQQAgBEECdEGMCmooAgBrrCEJQcABIQMDQCAAIANBAnRqIgYgBigCgAEiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAASAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAEgA0EBaiIDQeABRw0AC0EAIQNBACAEQQJ0QYgKaigCAGusIQkDQCAAIANBAnRqIgYgBigCgAIiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAAiAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAIgA0EBaiIDQcAARw0AC0EAIARBAnRBhApqKAIAa6whCUGAASEDA0AgACADQQJ0aiIGIAYoAoACIgUgBigCACICajYCACAGIAIgBWsiBTYCgAIgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoACIANBAWoiA0HAAUcNAAtBACEDQQAgBEECdEGACmooAgBrrCEJQQAhBgNAIAAgBkECdGoiBCAEKAKABCIFIAQoAgAiAmo2AgAgBCACIAVrIgU2AoAEIAQgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKABCAGQQFqIgZBgAFHDQALA0AgACADQQJ0aiIGIAY0AgBC+scCfiIJIAlCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgA0EBaiIDQYACRw0ACwsQACAAKAIAQYgBIAEgAhA6C8kCAgd/A34gAigCACEDAn9BACABRQ0AGiABrSEMA0AgCqciAiAKIAMpA8gBIgtaDQEaIAAgAmogAyAKIAt9IgunQYgBakF4cWopAwAgC0IDhog8AAAgCkIBfCIKIAxSDQALIAELIQIgAyADKQPIASACrX03A8gBIAEgAmsiBQRAIAAgAmohAANAIAMQJUGIASAFIAVBiAFPGyIEQQFxIQZBACECIARBAUcEQCAEQf4BcSEHQQAhAQNAIAAgAmogAyACQXhxaiIIKQMAIAJBA3RBMHGtiDwAACAAIAJBAXIiCWogCCkDACAJQQN0QThxrYg8AAAgAkECaiECIAFBAmoiASAHRw0ACwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBiAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwsJACAAKAIAECoLrgEBAX8jAEGACGsiAyQAIAAgASACEAUgAyABQYAIaiACQYAIahAFIAAgACADEAYgAyABQYAQaiACQYAQahAFIAAgACADEAYgAyABQYAYaiACQYAYahAFIAAgACADEAYgAyABQYAgaiACQYAgahAFIAAgACADEAYgAyABQYAoaiACQYAoahAFIAAgACADEAYgAyABQYAwaiACQYAwahAFIAAgACADEAYgA0GACGokAAtVAQJ/A0Ag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CwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBqAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwtsAQF/QQEhAgJAIAAgARALDQAgAEGACGogARALDQAgAEGAEGogARALDQAgAEGAGGogARALDQAgAEGAIGogARALDQAgAEGAKGogARALDQAgAEGAMGogARALDQAgAEGAOGogARALQQBHIQILIAILlgEAIAAgASACEBwgAEGACGogAUGACGogAkGACGoQHCAAQYAQaiABQYAQaiACQYAQahAcIABBgBhqIAFBgBhqIAJBgBhqEBwgAEGAIGogAUGAIGogAkGAIGoQHCAAQYAoaiABQYAoaiACQYAoahAcIABBgDBqIAFBgDBqIAJBgDBqEBwgAEGAOGogAUGAOGogAkGAOGoQHAuWAQAgACABIAIQBiAAQYAIaiABQYAIaiACQYAIahAGIABBgBBqIAFBgBBqIAJBgBBqEAYgAEGAGGogAUGAGGogAkGAGGoQBiAAQYAgaiABQYAgaiACQYAgahAGIABBgChqIAFBgChqIAJBgChqEAYgAEGAMGogAUGAMGogAkGAMGoQBiAAQYA4aiABQYA4aiACQYA4ahAGC24BAX9BASEBAkAgAEGI/x8QCw0AIABBgAhqQYj/HxALDQAgAEGAEGpBiP8fEAsNACAAQYAYakGI/x8QCw0AIABBgCBqQYj/HxALDQAgAEGAKGpBiP8fEAsNACAAQYAwakGI/x8QC0EARyEBCyABC4EDAgd+AX8gAa0iBiAAKQPIASIEIAOtIgh8WARAA0BBACELQgAhBSABIASnRwRAA0AgACAEIAV8IgSnQXhxaiILIAspAwAgAiAFp2oxAAAgBEIDhoaFNwMAIAVCAXwiBSABIAApA8gBIgSnayILrVQNAAsLIABCADcDyAEgABAlIAIgC2ohAiAAKQPIASIEIAMgC2siA60iCHwgBloNAAsLIAAgAwR+IAOtIgRCAYMhBkIAIQUgA0EBRwRAIARC/v///w+DIQlCACEEA0AgACAAKQPIASAFfCIHp0F4cWoiASABKQMAIAIgBadqMQAAIAdCA4aGhTcDACAAIAVCAYQiByAAKQPIAXwiCqdBeHFqIgEgASkDACACIAenajEAACAKQgOGhoU3AwAgBUICfCEFIARC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ACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDrIyAEQYAIaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7CMgBEGAEGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6AO0jIARBgBhqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDuIyAEQYAgaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7yMgBEGAKGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6APAjIARBgDBqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDxIyAEQYA4aiEEQQAhAgNAIAQgAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAEIAJBAXIiCEECdGooAgAEQCABIANqIAg6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA8iMgDkHzIzYCDCAHQfCxB2okACAAIA4oAgw7AQAgDkEQaiQAQQALghEBFH8jAEGg8QVrIgUkACAFQaDwBWohAiMAQRBrIgQkAANAIARBADoADyACIANqQaQSIARBD2pBABABOgAAIANBAWoiA0EgRw0ACyAEQRBqJAAgAkGAASACQSAQKSAFQYCwAmoiCCACEDEgBUGA+AFqIgYiBCAFQcDwBWoiA0EAEAogBEGACGogA0EBEAogBEGAEGogA0ECEAogBEGAGGogA0EDEAogBEGAIGogA0EEEAogBEGAKGogA0EFEAogBEGAMGogA0EGEAogBUGAgAFqIgQgA0EHEAogBEGACGogA0EIEAogBEGAEGogA0EJEAogBEGAGGogA0EKEAogBEGAIGogA0ELEAogBEGAKGogA0EMEAogBEGAMGogA0ENEAogBEGAOGoiDiADQQ4QCiAFQYDAAWoiByAGQYA4ECwgBxAoIAVBgEBrIgMgCCAHEDAgAxAnIAMQJiADIAMgBBA4IAMQLyADIAUgAxAaIANBgAhqIgcgBUGACGoiDyAHEBogA0GAEGoiCCAFQYAQaiIQIAgQGiADQYAYaiIJIAVBgBhqIhEgCRAaIANBgCBqIgogBUGAIGoiEiAKEBogA0GAKGoiCyAFQYAoaiITIAsQGiADQYAwaiIMIAVBgDBqIhQgDBAaIANBgDhqIg0gBUGAOGoiFSANEBogACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAIAItAAg6AAggACACLQAJOgAJIAAgAi0ACjoACiAAIAItAAs6AAsgACACLQAMOgAMIAAgAi0ADToADSAAIAItAA46AA4gACACLQAPOgAPIAAgAi0AEDoAECAAIAItABE6ABEgACACLQASOgASIAAgAi0AEzoAEyAAIAItABQ6ABQgACACLQAVOgAVIAAgAi0AFjoAFiAAIAItABc6ABcgACACLQAYOgAYIAAgAi0AGToAGSAAIAItABo6ABogACACLQAbOgAbIAAgAi0AHDoAHCAAIAItAB06AB0gACACLQAeOgAeIAAgAi0AHzoAHyAAQSBqIAMQFiAAQeACaiAHEBYgAEGgBWogCBAWIABB4AdqIAkQFiAAQaAKaiAKEBYgAEHgDGogCxAWIABBoA9qIAwQFiAAQeARaiANEBYgBUGA8AVqIgNBICAAQaAUECkgASACLQAAOgAAIAEgAi0AAToAASABIAItAAI6AAIgASACLQADOgADIAEgAi0ABDoABCABIAItAAU6AAUgASACLQAGOgAGIAEgAi0ABzoAByABIAItAAg6AAggASACLQAJOgAJIAEgAi0ACjoACiABIAItAAs6AAsgASACLQAMOgAMIAEgAi0ADToADSABIAItAA46AA4gASACLQAPOgAPIAEgAi0AEDoAECABIAItABE6ABEgASACLQASOgASIAEgAi0AEzoAEyABIAItABQ6ABQgASACLQAVOgAVIAEgAi0AFjoAFiABIAItABc6ABcgASACLQAYOgAYIAEgAi0AGToAGSABIAItABo6ABogASACLQAbOgAbIAEgAi0AHDoAHCABIAItAB06AB0gASACLQAeOgAeIAEgAi0AHzoAHyABIAVBgPEFaiIALQAAOgAgIAEgAC0AAToAISABIAAtAAI6ACIgASAALQADOgAjIAEgAC0ABDoAJCABIAAtAAU6ACUgASAALQAGOgAmIAEgAC0ABzoAJyABIAAtAAg6ACggASAALQAJOgApIAEgAC0ACjoAKiABIAAtAAs6ACsgASAALQAMOgAsIAEgAC0ADToALSABIAAtAA46AC4gASAALQAPOgAvIAEgAC0AEDoAMCABIAAtABE6ADEgASAALQASOgAyIAEgAC0AEzoAMyABIAAtABQ6ADQgASAALQAVOgA1IAEgAC0AFjoANiABIAAtABc6ADcgASAALQAYOgA4IAEgAC0AGToAOSABIAAtABo6ADogASAALQAbOgA7IAEgAC0AHDoAPCABIAAtAB06AD0gASAALQAeOgA+IAEgAC0AHzoAPyABIAMtAAA6AEAgASADLQABOgBBIAEgAy0AAjoAQiABIAMtAAM6AEMgASADLQAEOgBEIAEgAy0ABToARSABIAMtAAY6AEYgASADLQAHOgBHIAEgAy0ACDoASCABIAMtAAk6AEkgASADLQAKOgBKIAEgAy0ACzoASyABIAMtAAw6AEwgASADLQANOgBNIAEgAy0ADjoATiABIAMtAA86AE8gASADLQAQOgBQIAEgAy0AEToAUSABIAMtABI6AFIgASADLQATOgBTIAEgAy0AFDoAVCABIAMtABU6AFUgASADLQAWOgBWIAEgAy0AFzoAVyABIAMtABg6AFggASADLQAZOgBZIAEgAy0AGjoAWiABIAMtABs6AFsgASADLQAcOgBcIAEgAy0AHToAXSABIAMtAB46AF4gASADLQAfOgBfIAFB4ABqIAYQCSABQcABaiAGQYAI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")||(d=R,R=Q.locateFile?Q.locateFile(d,t):t+d);var L={2340:function(){return Q.getRandomValue()},2376:function(){if(Q.getRandomValue===void 0)try{var A=(typeof window>"u"?"undefined":g(window))==="object"?window:self,I=A.crypto!==void 0?A.crypto:A.msCrypto,C=function(){var Z=new Uint32Array(1);return I.getRandomValues(Z),Z[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var Z=B.randomBytes(4);return(Z[0]<<24|Z[1]<<16|Z[2]<<8|Z[3])>>>0};i(),Q.getRandomValue=i}catch(Z){throw"No secure random number generator found"}}}};function p(Z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(Z,")"),this.status=Z}var K=function(Z){for(;Z.length>0;)Z.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(Z,_,z){var X=(function(ee,re){var ie;for(v.length=0,re>>=2;ie=y[ee++];)re+=ie!=105&re,v.push(ie==105?u[re]:s[re++>>1]),++re;return v})(_,z);return L[Z].apply(null,X)},O=function(Z){G||(Q.onExit&&Q.onExit(Z),F=!0),E(Z,new p(Z))},T={b:function(Z,_,z){return j(Z,_,z)},d:function(Z,_,z){return y.copyWithin(Z,_,_+z)},c:function(Z){y.length,U("OOM")},a:function(Z,_){O(Z)}};(function(){var Z={a:T};function _(z,X){var ee,re,ie=z.exports;return Q.asm=ie,c=Q.asm.e,ee=c.buffer,Q.HEAP8=h=new Int8Array(ee),Q.HEAP16=new Int16Array(ee),Q.HEAP32=u=new Int32Array(ee),Q.HEAPU8=y=new Uint8Array(ee),Q.HEAPU16=new Uint16Array(ee),Q.HEAPU32=new Uint32Array(ee),Q.HEAPF32=new Float32Array(ee),Q.HEAPF64=s=new Float64Array(ee),Q.asm.g,re=Q.asm.f,N.unshift(re),(function(ae){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var fe=H;H=null,fe()}})(),ie}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(Z,_)}catch(z){return D("Module.instantiateWasm callback failed with error: "+z),!1}m(0,R,Z,(function(z){_(z.instance)}))})(),Q._malloc=function(){return(Q._malloc=Q.asm.h).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.i).apply(null,arguments)},Q._dilithiumjs_init=function(){return(Q._dilithiumjs_init=Q.asm.j).apply(null,arguments)},Q._dilithiumjs_public_key_bytes=function(){return(Q._dilithiumjs_public_key_bytes=Q.asm.k).apply(null,arguments)},Q._dilithiumjs_secret_key_bytes=function(){return(Q._dilithiumjs_secret_key_bytes=Q.asm.l).apply(null,arguments)},Q._dilithiumjs_signature_bytes=function(){return(Q._dilithiumjs_signature_bytes=Q.asm.m).apply(null,arguments)},Q._dilithiumjs_keypair=function(){return(Q._dilithiumjs_keypair=Q.asm.n).apply(null,arguments)},Q._dilithiumjs_sign=function(){return(Q._dilithiumjs_sign=Q.asm.o).apply(null,arguments)},Q._dilithiumjs_verify=function(){return(Q._dilithiumjs_verify=Q.asm.p).apply(null,arguments)};function x(Z){if(J(Z))return(function(_){if(r!==void 0&&r){var z=Buffer.from(_,"base64");return new Uint8Array(z.buffer,z.byteOffset,z.byteLength)}try{for(var X=atob(_),ee=new Uint8Array(X.length),re=0;re<X.length;++re)ee[re]=X.charCodeAt(re);return ee}catch{throw new Error("Converting base64 string to bytes failed.")}})(Z.slice(M.length))}function W(){function Z(){b||(b=!0,Q.calledRun=!0,F||(K(N),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),(function(){if(Q.postRun)for(typeof Q.postRun=="function"&&(Q.postRun=[Q.postRun]);Q.postRun.length;)_=Q.postRun.shift(),w.unshift(_);var _;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)_=Q.preRun.shift(),Y.unshift(_);var _;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),Z()}),1)):Z()))}if(Q.writeArrayToMemory=function(Z,_){h.set(Z,_)},H=function Z(){b||W(),b||(H=Z)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(Z){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},A(Z)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(Z,_){throw _},i=(typeof window>"u"?"undefined":A(window))=="object",E=typeof importScripts=="function",o=(typeof process>"u"?"undefined":A(process))=="object"&&A(process.versions)=="object"&&typeof process.versions.node=="string",n="";if(o){var r=eval("require")("fs"),t=eval("require")("path");n=E?t.dirname(n)+"/":__dirname+"/",I=function(Z,_){var z=P(Z);return z?_?z:z.toString():(Z=m(Z)?new URL(Z):t.normalize(Z),r.readFileSync(Z,_?void 0:"utf8"))},g=function(Z){var _=I(Z,!0);return _.buffer||(_=new Uint8Array(_)),_},!C.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=C),process.on("uncaughtException",(function(Z){if(!(Z==="unwind"||Z instanceof b||Z.context instanceof b))throw Z})),Q=function(Z,_){throw process.exitCode=Z,_},C.inspect=function(){return"[Emscripten Module object]"}}else(i||E)&&(E?n=self.location.href:typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),n=n.indexOf("blob:")!==0?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",I=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.send(null),_.responseText}catch(X){var z=P(Z);if(z)return(function(ee){for(var re=[],ie=0;ie<ee.length;ie++){var ae=ee[ie];ae>255&&(ae&=255),re.push(String.fromCharCode(ae))}return re.join("")})(z);throw X}},E&&(g=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(X){var z=P(Z);if(z)return z;throw X}}));C.print||console.log.bind(console);var a,e=C.printErr||console.error.bind(console);Object.assign(C,B),B=null,C.arguments&&C.arguments,C.thisProgram&&C.thisProgram,C.quit&&(Q=C.quit),C.wasmBinary&&(a=C.wasmBinary);var f,D=C.noExitRuntime||!0,c={Memory:function(Z){this.buffer=new ArrayBuffer(65536*Z.initial)},Module:function(Z){},Instance:function(Z,_){this.exports=(function(z){for(var X,ee=new Uint8Array(123),re=25;re>=0;--re)ee[48+re]=52+re,ee[65+re]=re,ee[97+re]=26+re;function ie(fe,le,Ce){for(var ce,Ee,$=0,Be=le,xe=Ce.length,He=le+(3*xe>>2)-(Ce[xe-2]=="=")-(Ce[xe-1]=="=");$<xe;$+=4)ce=ee[Ce.charCodeAt($+1)],Ee=ee[Ce.charCodeAt($+2)],fe[Be++]=ee[Ce.charCodeAt($)]<<2|ce>>4,Be<He&&(fe[Be++]=ce<<4|Ee>>2),Be<He&&(fe[Be++]=Ee<<6|ee[Ce.charCodeAt($+3)])}function ae(){throw new Error("abort")}return ee[43]=62,ee[47]=63,(function(fe){var le=fe.a,Ce=le.a.buffer,ce=new Int8Array(Ce),Ee=new Int16Array(Ce),$=new Int32Array(Ce),Be=new Uint8Array(Ce),xe=new Uint16Array(Ce),He=new Uint32Array(Ce),Se=(new Float32Array(Ce),new Float64Array(Ce),Math.imul),Re=Math.clz32,we=le.b,Me=le.c,Ve=le.d,Ge=8392208,ke=0;function Pe(te){var oe,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;Ge=oe=Ge-16|0;e:{A:{t:{r:{a:{o:{c:{d:{f:{g:{s:{u:{I:{n:{if((te|=0)>>>0<=244){if(3&(ne=(Ie=$[776])>>>(Ae=(de=te>>>0<11?16:te+11&-8)>>>3|0)|0)){ne=(te=(Ae=Ae+(1&(-1^ne))|0)<<3)+3144|0,se=$[te+3152>>2],(0|ne)!=(0|(te=$[se+8>>2]))?($[te+12>>2]=ne,$[ne+8>>2]=te):$[776]=tA(Ae)&Ie,te=se+8|0,ne=Ae<<3,$[se+4>>2]=3|ne,$[(ne=ne+se|0)+4>>2]=1|$[ne+4>>2];break e}if((ve=$[778])>>>0>=de>>>0)break n;if(ne){ne=(te=(se=Fi(0-(te=(0-(te=2<<Ae)|te)&ne<<Ae)&te))<<3)+3144|0,ge=$[te+3152>>2],(0|ne)!=(0|(te=$[ge+8>>2]))?($[te+12>>2]=ne,$[ne+8>>2]=te):(Ie=tA(se)&Ie,$[776]=Ie),$[ge+4>>2]=3|de,se=(te=se<<3)-de|0,$[(Ae=ge+de|0)+4>>2]=1|se,$[te+ge>>2]=se,ve&&(ne=3144+(-8&ve)|0,ue=$[781],(te=1<<(ve>>>3))&Ie?te=$[ne+8>>2]:($[776]=te|Ie,te=ne),$[ne+8>>2]=ue,$[te+12>>2]=ue,$[ue+12>>2]=ne,$[ue+8>>2]=te),te=ge+8|0,$[781]=Ae,$[778]=se;break e}if(!(De=$[777]))break n;for(Ae=$[3408+(Fi(0-De&De)<<2)>>2],ue=(-8&$[Ae+4>>2])-de|0,ne=Ae;(te=$[ne+16>>2])||(te=$[ne+20>>2]);)ue=(se=(ne=(-8&$[te+4>>2])-de|0)>>>0<ue>>>0)?ne:ue,Ae=se?te:Ae,ne=te;if(ye=$[Ae+24>>2],(0|(se=$[Ae+12>>2]))!=(0|Ae)){te=$[Ae+8>>2],$[te+12>>2]=se,$[se+8>>2]=te;break A}if(!(te=$[(ne=Ae+20|0)>>2])){if(!(te=$[Ae+16>>2]))break I;ne=Ae+16|0}for(;ge=ne,se=te,(te=$[(ne=te+20|0)>>2])||(ne=se+16|0,te=$[se+16>>2]););$[ge>>2]=0;break A}if(de=-1,!(te>>>0>4294967231)&&(de=-8&(te=te+11|0),De=$[777])){ue=0-de|0,Ie=0,de>>>0<256||(Ie=31,de>>>0>16777215||(Ie=62+((de>>>38-(te=Re(te>>>8|0))&1)-(te<<1)|0)|0));i:{h:{if(ne=$[3408+(Ie<<2)>>2])for(te=0,Ae=de<<((0|Ie)!=31?25-(Ie>>>1|0)|0:0);;){if(!((ge=(-8&$[ne+4>>2])-de|0)>>>0>=ue>>>0||(se=ne,ue=ge,ge))){ue=0,te=ne;break h}if(ge=$[ne+20>>2],ne=$[16+((Ae>>>29&4)+ne|0)>>2],te=ge?(0|ge)==(0|ne)?te:ge:te,Ae<<=1,!ne)break}else te=0;if(!(te|se)){if(se=0,!(te=(0-(te=2<<Ie)|te)&De))break n;te=$[3408+(Fi(te&0-te)<<2)>>2]}if(!te)break i}for(;ue=(Ae=(ne=(-8&$[te+4>>2])-de|0)>>>0<ue>>>0)?ne:ue,se=Ae?te:se,te=(ne=$[te+16>>2])||$[te+20>>2];);}if(!(!se|$[778]-de>>>0<=ue>>>0)){if(Ie=$[se+24>>2],(0|se)!=(0|(Ae=$[se+12>>2]))){te=$[se+8>>2],$[te+12>>2]=Ae,$[Ae+8>>2]=te;break t}if(!(te=$[(ne=se+20|0)>>2])){if(!(te=$[se+16>>2]))break u;ne=se+16|0}for(;ge=ne,Ae=te,(te=$[(ne=te+20|0)>>2])||(ne=Ae+16|0,te=$[Ae+16>>2]););$[ge>>2]=0;break t}}}if((te=$[778])>>>0>=de>>>0){se=$[781],(ne=te-de|0)>>>0>=16?($[(Ae=se+de|0)+4>>2]=1|ne,$[te+se>>2]=ne,$[se+4>>2]=3|de):($[se+4>>2]=3|te,$[(te=te+se|0)+4>>2]=1|$[te+4>>2],Ae=0,ne=0),$[778]=ne,$[781]=Ae,te=se+8|0;break e}if((ye=$[779])>>>0>de>>>0){ne=ye-de|0,$[779]=ne,te=(Ae=$[782])+de|0,$[782]=te,$[te+4>>2]=1|ne,$[Ae+4>>2]=3|de,te=Ae+8|0;break e}if(te=0,De=de+47|0,$[894]?Ae=$[896]:($[897]=-1,$[898]=-1,$[895]=4096,$[896]=4096,$[894]=oe+12&-16^1431655768,$[899]=0,$[887]=0,Ae=4096),(ne=(ge=De+Ae|0)&(ue=0-Ae|0))>>>0<=de>>>0||(se=$[886])&&se>>>0<(Ie=(Ae=$[884])+ne|0)>>>0|Ae>>>0>=Ie>>>0)break e;n:{if(!(4&Be[3548])){i:{h:{l:{B:{if(se=$[782])for(te=3552;;){if((Ae=$[te>>2])>>>0<=se>>>0&se>>>0<Ae+$[te+4>>2]>>>0)break B;if(!(te=$[te+8>>2]))break}if((0|(Ae=Ur(0)))==-1||(Ie=ne,(te=(se=$[895])-1|0)&Ae&&(Ie=(ne-Ae|0)+(te+Ae&0-se)|0),Ie>>>0<=de>>>0)||(se=$[886])&&se>>>0<(ue=(te=$[884])+Ie|0)>>>0|te>>>0>=ue>>>0)break i;if((0|Ae)!=(0|(te=Ur(Ie))))break l;break n}if((0|(Ae=Ur(Ie=ue&ge-ye)))==($[te>>2]+$[te+4>>2]|0))break h;te=Ae}if((0|te)==-1)break i;if(de+48>>>0<=Ie>>>0){Ae=te;break n}if((0|Ur(Ae=(Ae=$[896])+(De-Ie|0)&0-Ae))==-1)break i;Ie=Ae+Ie|0,Ae=te;break n}if((0|Ae)!=-1)break n}$[887]=4|$[887]}if((0|(Ae=Ur(ne)))==-1|(0|(te=Ur(0)))==-1|te>>>0<=Ae>>>0||(Ie=te-Ae|0)>>>0<=de+40>>>0)break f}te=$[884]+Ie|0,$[884]=te,te>>>0>He[885]&&($[885]=te);n:{if(ge=$[782]){for(te=3552;;){if(((se=$[te>>2])+(ne=$[te+4>>2])|0)==(0|Ae))break n;if(!(te=$[te+8>>2]))break}break s}for((te=$[780])>>>0<=Ae>>>0&&te||($[780]=Ae),te=0,$[889]=Ie,$[888]=Ae,$[784]=-1,$[785]=$[894],$[891]=0;ne=(se=te<<3)+3144|0,$[se+3152>>2]=ne,$[se+3156>>2]=ne,(0|(te=te+1|0))!=32;);ne=(se=Ie-40|0)-(te=Ae+8&7?-8-Ae&7:0)|0,$[779]=ne,te=te+Ae|0,$[782]=te,$[te+4>>2]=1|ne,$[4+(Ae+se|0)>>2]=40,$[783]=$[898];break g}if(8&$[te+12>>2]|Ae>>>0<=ge>>>0|se>>>0>ge>>>0)break s;$[te+4>>2]=ne+Ie,Ae=(te=ge+8&7?-8-ge&7:0)+ge|0,$[782]=Ae,te=(ne=$[779]+Ie|0)-te|0,$[779]=te,$[Ae+4>>2]=1|te,$[4+(ne+ge|0)>>2]=40,$[783]=$[898];break g}se=0;break A}Ae=0;break t}He[780]>Ae>>>0&&($[780]=Ae),ne=Ae+Ie|0,te=3552;s:{u:{I:{for(;;){if((0|ne)!=$[te>>2]){if(te=$[te+8>>2])continue;break I}break}if(!(8&Be[te+12|0]))break u}for(te=3552;;){if((ne=$[te>>2])>>>0<=ge>>>0&&(ue=ne+$[te+4>>2]|0)>>>0>ge>>>0)break s;te=$[te+8>>2]}}if($[te>>2]=Ae,$[te+4>>2]=$[te+4>>2]+Ie,$[(De=(Ae+8&7?-8-Ae&7:0)+Ae|0)+4>>2]=3|de,te=(Ie=ne+(ne+8&7?-8-ne&7:0)|0)-(ye=de+De|0)|0,(0|ge)==(0|Ie)){$[782]=ye,te=$[779]+te|0,$[779]=te,$[ye+4>>2]=1|te;break r}if($[781]==(0|Ie)){$[781]=ye,te=$[778]+te|0,$[778]=te,$[ye+4>>2]=1|te,$[te+ye>>2]=te;break r}if((3&(ue=$[Ie+4>>2]))!=1)break a;if(ge=-8&ue,ue>>>0<=255){if((0|(Ae=$[Ie+12>>2]))==(0|(ne=$[Ie+8>>2]))){$[776]=$[776]&tA(ue>>>3|0);break o}$[ne+12>>2]=Ae,$[Ae+8>>2]=ne;break o}if(de=$[Ie+24>>2],(0|Ie)!=(0|(Ae=$[Ie+12>>2]))){ne=$[Ie+8>>2],$[ne+12>>2]=Ae,$[Ae+8>>2]=ne;break c}if(!(ue=$[(ne=Ie+20|0)>>2])){if(!(ue=$[Ie+16>>2]))break d;ne=Ie+16|0}for(;se=ne,(ue=$[(ne=(Ae=ue)+20|0)>>2])||(ne=Ae+16|0,ue=$[Ae+16>>2]););$[se>>2]=0;break c}for(ne=(se=Ie-40|0)-(te=Ae+8&7?-8-Ae&7:0)|0,$[779]=ne,te=te+Ae|0,$[782]=te,$[te+4>>2]=1|ne,$[4+(Ae+se|0)>>2]=40,$[783]=$[898],$[(se=(te=(ue+(ue-39&7?39-ue&7:0)|0)-47|0)>>>0<ge+16>>>0?ge:te)+4>>2]=27,te=$[891],$[se+16>>2]=$[890],$[se+20>>2]=te,te=$[889],$[se+8>>2]=$[888],$[se+12>>2]=te,$[890]=se+8,$[889]=Ie,$[888]=Ae,$[891]=0,te=se+24|0;$[te+4>>2]=7,ne=te+8|0,te=te+4|0,ne>>>0<ue>>>0;);if((0|se)!=(0|ge))if($[se+4>>2]=-2&$[se+4>>2],ue=se-ge|0,$[ge+4>>2]=1|ue,$[se>>2]=ue,ue>>>0<=255)ne=3144+(-8&ue)|0,(Ae=$[776])&(te=1<<(ue>>>3))?te=$[ne+8>>2]:($[776]=te|Ae,te=ne),$[ne+8>>2]=ge,$[te+12>>2]=ge,$[ge+12>>2]=ne,$[ge+8>>2]=te;else{te=31,ue>>>0<=16777215&&(te=62+((ue>>>38-(te=Re(ue>>>8|0))&1)-(te<<1)|0)|0),$[ge+28>>2]=te,$[ge+16>>2]=0,$[ge+20>>2]=0,ne=3408+(te<<2)|0;s:{if((se=$[777])&(Ae=1<<te)){for(te=ue<<((0|te)!=31?25-(te>>>1|0)|0:0),se=$[ne>>2];;){if((0|ue)==(-8&$[(ne=se)+4>>2]))break s;if(Ae=te>>>29|0,te<<=1,!(se=$[(Ae=(4&Ae)+ne|0)+16>>2]))break}$[Ae+16>>2]=ge}else $[777]=Ae|se,$[ne>>2]=ge;$[ge+24>>2]=ne,$[ge+12>>2]=ge,$[ge+8>>2]=ge;break g}te=$[ne+8>>2],$[te+12>>2]=ge,$[ne+8>>2]=ge,$[ge+24>>2]=0,$[ge+12>>2]=ne,$[ge+8>>2]=te}}if(!((te=$[779])>>>0<=de>>>0)){ne=te-de|0,$[779]=ne,te=(Ae=$[782])+de|0,$[782]=te,$[te+4>>2]=1|ne,$[Ae+4>>2]=3|de,te=Ae+8|0;break e}}$[775]=48,te=0;break e}Ae=0}if(de){se=$[Ie+28>>2];c:{if($[(ne=3408+(se<<2)|0)>>2]==(0|Ie)){if($[ne>>2]=Ae,Ae)break c;$[777]=$[777]&tA(se);break o}if($[de+($[de+16>>2]==(0|Ie)?16:20)>>2]=Ae,!Ae)break o}$[Ae+24>>2]=de,(ne=$[Ie+16>>2])&&($[Ae+16>>2]=ne,$[ne+24>>2]=Ae),(ne=$[Ie+20>>2])&&($[Ae+20>>2]=ne,$[ne+24>>2]=Ae)}}te=te+ge|0,ue=$[(Ie=ge+Ie|0)+4>>2]}if($[Ie+4>>2]=-2&ue,$[ye+4>>2]=1|te,$[te+ye>>2]=te,te>>>0<=255)ne=3144+(-8&te)|0,(Ae=$[776])&(te=1<<(te>>>3))?te=$[ne+8>>2]:($[776]=te|Ae,te=ne),$[ne+8>>2]=ye,$[te+12>>2]=ye,$[ye+12>>2]=ne,$[ye+8>>2]=te;else{ue=31,te>>>0<=16777215&&(ue=62+((te>>>38-(ne=Re(te>>>8|0))&1)-(ne<<1)|0)|0),$[ye+28>>2]=ue,$[ye+16>>2]=0,$[ye+20>>2]=0,ne=3408+(ue<<2)|0;a:{if((se=$[777])&(Ae=1<<ue)){for(ue=te<<((0|ue)!=31?25-(ue>>>1|0)|0:0),Ae=$[ne>>2];;){if(ne=Ae,(-8&$[Ae+4>>2])==(0|te))break a;if(Ae=ue>>>29|0,ue<<=1,!(Ae=$[(se=(4&Ae)+ne|0)+16>>2]))break}$[se+16>>2]=ye}else $[777]=Ae|se,$[ne>>2]=ye;$[ye+24>>2]=ne,$[ye+12>>2]=ye,$[ye+8>>2]=ye;break r}te=$[ne+8>>2],$[te+12>>2]=ye,$[ne+8>>2]=ye,$[ye+24>>2]=0,$[ye+12>>2]=ne,$[ye+8>>2]=te}}te=De+8|0;break e}t:if(Ie){ne=$[se+28>>2];r:{if($[(te=3408+(ne<<2)|0)>>2]==(0|se)){if($[te>>2]=Ae,Ae)break r;De=tA(ne)&De,$[777]=De;break t}if($[Ie+($[Ie+16>>2]==(0|se)?16:20)>>2]=Ae,!Ae)break t}$[Ae+24>>2]=Ie,(te=$[se+16>>2])&&($[Ae+16>>2]=te,$[te+24>>2]=Ae),(te=$[se+20>>2])&&($[Ae+20>>2]=te,$[te+24>>2]=Ae)}t:if(ue>>>0<=15)te=ue+de|0,$[se+4>>2]=3|te,$[(te=te+se|0)+4>>2]=1|$[te+4>>2];else if($[se+4>>2]=3|de,$[(ge=se+de|0)+4>>2]=1|ue,$[ge+ue>>2]=ue,ue>>>0<=255)ne=3144+(-8&ue)|0,(Ae=$[776])&(te=1<<(ue>>>3))?te=$[ne+8>>2]:($[776]=te|Ae,te=ne),$[ne+8>>2]=ge,$[te+12>>2]=ge,$[ge+12>>2]=ne,$[ge+8>>2]=te;else{te=31,ue>>>0<=16777215&&(te=62+((ue>>>38-(te=Re(ue>>>8|0))&1)-(te<<1)|0)|0),$[ge+28>>2]=te,$[ge+16>>2]=0,$[ge+20>>2]=0,ne=3408+(te<<2)|0;r:{if((Ae=1<<te)&De){for(te=ue<<((0|te)!=31?25-(te>>>1|0)|0:0),de=$[ne>>2];;){if((-8&$[(ne=de)+4>>2])==(0|ue))break r;if(Ae=te>>>29|0,te<<=1,!(de=$[(Ae=(4&Ae)+ne|0)+16>>2]))break}$[Ae+16>>2]=ge}else $[777]=Ae|De,$[ne>>2]=ge;$[ge+24>>2]=ne,$[ge+12>>2]=ge,$[ge+8>>2]=ge;break t}te=$[ne+8>>2],$[te+12>>2]=ge,$[ne+8>>2]=ge,$[ge+24>>2]=0,$[ge+12>>2]=ne,$[ge+8>>2]=te}te=se+8|0;break e}A:if(ye){ne=$[Ae+28>>2];t:{if($[(te=3408+(ne<<2)|0)>>2]==(0|Ae)){if($[te>>2]=se,se)break t;$[777]=tA(ne)&De;break A}if($[ye+($[ye+16>>2]==(0|Ae)?16:20)>>2]=se,!se)break A}$[se+24>>2]=ye,(te=$[Ae+16>>2])&&($[se+16>>2]=te,$[te+24>>2]=se),(te=$[Ae+20>>2])&&($[se+20>>2]=te,$[te+24>>2]=se)}ue>>>0<=15?(te=ue+de|0,$[Ae+4>>2]=3|te,$[(te=te+Ae|0)+4>>2]=1|$[te+4>>2]):($[Ae+4>>2]=3|de,$[(se=Ae+de|0)+4>>2]=1|ue,$[se+ue>>2]=ue,ve&&(ne=3144+(-8&ve)|0,ge=$[781],(te=1<<(ve>>>3))&Ie?te=$[ne+8>>2]:($[776]=te|Ie,te=ne),$[ne+8>>2]=ge,$[te+12>>2]=ge,$[ge+12>>2]=ne,$[ge+8>>2]=te),$[781]=se,$[778]=ue),te=Ae+8|0}return Ge=oe+16|0,0|te}function qe(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0,nt=0,ot=0,It=0,ht=0,ct=0,gt=0,ft=0,lt=0,Bt=0,Ct=0,Et=0,mt=0,Nt=0,Ft=0,Rt=0,Yt=0,Kt=0,kt=0,Mt=0,Gt=0,qt=0,Ot=0,Jt=0,Tt=0,_t=0,AA=0,hA=0,Ar=0,dA=0,lA=0,BA=0,CA=0,NA=0,EA=0,yA=0,QA=0,pA=0,xA=0,FA=0,RA=0,YA=0,rr=0,nr=0,KA=0,ir=0,or=0,Nr=0,Fr=0,sr=0,ar=0,Rr=0,Tn=0,_n=0,jn=0,Cs=0,Es=0,ys=0,Qs=0,ps=0,xs=0,bs=0,ws=0,ms=0,Ds=0,Ki=0,Ss=0,Hs=0,ks=0,Gs=0,vs=0,Us=0,Ls=0,Ns=0,Fs=0,Rs=0,Ys=0,Ks=0,Ms=0,qs=0,Os=0,Js=0;for(dA=$[te+192>>2],lA=$[te+196>>2],Ft=$[te+184>>2],BA=$[te+188>>2],CA=$[te+176>>2],NA=$[te+180>>2],Rt=$[te+168>>2],EA=$[te+172>>2],It=$[te+160>>2],nr=$[te+164>>2],yA=$[te+152>>2],KA=$[te+156>>2],QA=$[te+144>>2],pA=$[te+148>>2],Yt=$[te+136>>2],Kt=$[te+140>>2],kt=$[te+128>>2],ir=$[te+132>>2],xA=$[te+120>>2],or=$[te+124>>2],Mt=$[te+112>>2],Gt=$[te+116>>2],ze=$[te+104>>2],Ct=$[te+108>>2],qt=$[te+96>>2],Ot=$[te+100>>2],ye=$[te+88>>2],Et=$[te+92>>2],Ie=$[te+80>>2],Jt=$[te+84>>2],ue=$[te+72>>2],Tt=$[te+76>>2],Ke=$[te+64>>2],ot=$[te+68>>2],ht=$[te+56>>2],Ze=$[te+60>>2],ne=$[te+48>>2],FA=$[te+52>>2],se=$[te+40>>2],Xe=$[te+44>>2],ct=$[te+32>>2],_t=$[te+36>>2],ve=$[te+24>>2],gt=$[te+28>>2],De=$[te+16>>2],mt=$[te+20>>2],Ae=$[te+8>>2],ft=$[te+12>>2],de=$[te>>2],lt=$[te+4>>2];jn>>>0<=23;)oe=ve^Ke^ze^Ft^QA,AA=me(nt=de^se^Ie^It^xA,Bt=lt^Xe^Jt^nr^or,1)^oe,ge=me(ct^AA,_t^(hA=(Nr=gt^ot^Ct^BA^pA)^ke),27),Fr=ke,RA=Nt=mt^Ze^Ot^Kt^NA,Nt=me(Ar=De^ht^qt^Yt^CA,Nt,1)^nt,nt=me(ye^Nt,Et^(YA=ke^Bt),10),sr=ke,rr=Bt=ft^FA^Et^EA^ir,ar=ct^ue^Mt^dA^yA,ct=me(Tn=Ae^ne^ye^Rt^kt,Bt,1)^ar,Bt=me(Bt=se^ct,Xe^(Et=(se=_t^Tt^Gt^lA^KA)^ke),36),Rr=ke,ye=me(Ae^Nt,ft^YA,1),ft=ke,Xe=me(ar,se,1)^Ar,ze=me(Xe^ze,(Ar=Ct)^(Ct=ke^RA),25),RA=ke,_t=me(oe,Nr,1)^Tn,Ae=me(_t^ht,(Ar=Ze)^(Ze=ke^rr),6),Nr=ke,ht=me(ve^Xe,gt^Ct,28),gt=ke,Ie=me(Ie^ct,Et^Jt,3),Jt=ke,oe=me(ue^AA,Tt^hA,20),Ar=ve=ke,ue=me(De^_t,Ze^mt,62),Tt=ke,Mt=me(Mt^AA,Gt^hA,39),Gt=ke,se=me(Ke^Xe,ot^Ct,55),mt=De=ke,ot=$[(Ke=(Tn=jn<<3)+1120|0)>>2],Ke=$[Ke+4>>2],qt=me(qt^_t,Ze^Ot,43),Ot=ke,ne=me(ne^Nt,FA^YA,44),_n=De=(Cs=(lt^=Et)^(-1^(FA=ke))&Ot^Ke)^(Es=(-1^De)&Gt^Tt)^(ys=(-1^ve)&Jt^gt)^(Qs=(-1^Rr)&sr^Fr)^(ps=(-1^Nr)&RA^ft),Ke=me(ot=(xs=(rr=de^ct)^(-1^ne)&qt^ot)^(bs=(-1^se)&Mt^ue)^(ws=(-1^oe)&Ie^ht)^(ms=(-1^Bt)&nt^ge)^(Ds=(-1^Ae)&ze^ye),De,1),ve=ke,Yt=me(Yt^_t,Ze^Kt,15),Kt=ke,Ft=me(Xe^Ft,Ct^BA,56),ar=ke,QA=me(Xe^QA,Ct^pA,21),BA=ke,dA=me(dA^AA,lA^hA,14),pA=ke,xA=me(ct^xA,Et^or,41),lA=ke,De=me(Rt^Nt,EA^YA,2),de=ke,yA=me(yA^AA,hA^KA,8),EA=ke,Rt=me(It^ct,Et^nr,18),ct=ke,It=me(kt^Nt,YA^ir,45),kt=ke,Ki=(-1^Ft)&ge^Yt,Xe=(-1^dA)&rr^QA,KA=(-1^De)&ue^xA,Et=(-1^Rt)&ye^yA,CA=me(_t^CA,Ze^NA,61),ue=me((Ke^=ir=Ki^Xe^KA^Et^(nr=(-1^CA)&ht^It))^(or=(-1^ue)&se^De),(ve^=Gs=(Ss=(-1^ar)&Fr^Kt)^(Hs=(-1^pA)<^BA)^(Ct=(-1^de)&Tt^lA)^(Ze=(-1^ct)&ft^EA)^(ks=(-1^(NA=ke))>^kt))^(Tt=(-1^Tt)&mt^de),14),AA=ke,Js=de=(vs=RA^(-1^EA)&ct)^(Us=Ot^(-1^BA)&pA)^(Ls=(-1^lA)&de^Gt)^(Ns=Jt^(-1^kt)&NA)^(Fs=(-1^Kt)&ar^sr),de=me(Os=(Rs=ze^(-1^yA)&Rt)^(Ys=qt^(-1^QA)&dA)^(Ks=(-1^xA)&De^Mt)^(Ms=Ie^(-1^It)&CA)^(qs=(-1^Yt)&Ft^nt),de,1)^ot,Ie=me(de^(De=(-1^Ie)&It^oe),(ot=ke^_n)^(It=(-1^Jt)&kt^Ar),44),hA=ke,kt=mt^(-1^Gt)&lA,Gt=Nr^(-1^RA)&EA,sr=Rr^(-1^sr)&Kt,nt=(Ft=(RA=Ft^(-1^ge)&Bt)^(_n=CA^(-1^ht)&oe)^(ge=Rt^(-1^ye)&Ae)^or^(Kt=(-1^rr)&ne^dA))^me(Ae=(oe=se^(-1^Mt)&xA)^(Mt=Ae^(-1^ze)&yA)^(rr=Bt^(-1^nt)&Yt)^(qt=(-1^qt)&QA^ne)^De,It^=kt^Gt^sr^(Ot=(-1^Ot)&BA^FA),1),YA=ne=(ht=(se=(Fr=ar^(-1^Fr)&Rr)^(Rr=NA^(-1^gt)&Ar)^(Rt=ct^(-1^ft)&Nr)^Tt^(Yt=(-1^lt)&FA^pA))^ke)^Cs,De=ue,Bt=Ie,ct=ue^Ie&(-1^(Nt=nt^xs)),_t=(-1^ne)&hA^AA,oe=me(oe^de,ot^kt,2),ye=ke,gt=me(Ft,se,1)^Os,se=me(nr^gt,ks^(mt=Js^ke),55),ze=ke,ft=me(ir,Gs,1)^Ae,Ae=me(ft^Ys,(lt=It^ke)^Us,62),Ie=ne=ke,dA=(-1^Ae)&se^oe,lA=(-1^ne)&ze^ye,Ft=(ne=me(nt^ms,ht^Qs,41))^(-1^oe)&Ae,BA=(ue=ke)^(-1^ye)&Ie,CA=(ge=me(ge^Ke,ve^Rt,39))^(-1^ne)&oe,NA=(oe=ke)^(-1^ue)&ye,Rt=se^(-1^ge)&ne,EA=ze^(-1^oe)&ue,It=Ae^(-1^se)&ge,nr=Ie^(-1^ze)&oe,oe=me(gt^KA,mt^Ct,56),ye=ke,se=me(nt^ws,ht^ys,36),ze=ke,Ae=me(Ke^Kt,ve^Yt,27),Ie=ne=ke,yA=(-1^Ae)&se^oe,KA=(-1^ne)&ze^ye,QA=(ne=me(ft^qs,lt^Fs,15))^(-1^oe)&Ae,pA=(ue=ke)^(-1^ye)&Ie,Yt=(ge=me(de^Mt,ot^Gt,10))^(-1^ne)&oe,Kt=(oe=ke)^(-1^ue)&ye,kt=se^(-1^ge)&ne,ir=ze^(-1^oe)&ue,xA=(-1^se)&ge^Ae,or=(-1^ze)&oe^Ie,oe=me(nt^bs,ht^Es,18),ye=ke,se=me(ft^Ms,lt^Ns,6),ue=ke,Ae=me(de^qt,ot^Ot,1),Jt=ne=ke,Mt=(-1^Ae)&se^oe,Gt=(-1^ne)&ue^ye,ze=(ne=me(Ke^RA,ve^Fr,8))^(-1^oe)&Ae,Ct=(Ie=ke)^(-1^ye)&Jt,qt=(ge=me(gt^Et,Ze^mt,25))^(-1^ne)&oe,Ot=(oe=ke)^(-1^Ie)&ye,ye=se^(-1^ge)&ne,Et=ue^(-1^oe)&Ie,Ie=(-1^se)&ge^Ae,Jt^=(-1^ue)&oe,oe=me(ft^Ks,lt^Ls,61),Ze=ke,se=me(Ke^_n,ve^Rr,20),ve=ke,Ae=me(Xe^gt,mt^Hs,28),Xe=ne=ke,ue=(-1^Ae)&se^oe,Tt=(-1^ne)&ve^Ze,Ke=(ne=me(de^rr,ot^sr,45))^(-1^oe)&Ae,ot=(de=ke)^(-1^Ze)&Xe,ht=(ge=me(nt^Ds,ht^ps,3))^(-1^ne)&oe,Ze=(oe=ke)^(-1^de)&Ze,ne=(-1^ge)&ne^se,FA=(-1^oe)&de^ve,se=Ae^(-1^se)&ge,Xe^=(-1^ve)&oe,ve=(Ae=me(gt^Ki,mt^Ss,21))^(-1^De)&Nt,gt=(ge=ke)^(-1^AA)&YA,De=(oe=me(ft^Rs,lt^vs,43))^(-1^Ae)&De,mt=(nt=ke)^(-1^ge)&AA,Ae=(-1^oe)&Ae^Bt,ft=(-1^nt)&ge^hA,de=Nt^$[(ge=1120+(8|Tn)|0)>>2]^(-1^Bt)&oe,lt=YA^$[ge+4>>2]^(-1^hA)&nt,jn=jn+2|0;$[te+192>>2]=dA,$[te+196>>2]=lA,$[te+184>>2]=Ft,$[te+188>>2]=BA,$[te+176>>2]=CA,$[te+180>>2]=NA,$[te+168>>2]=Rt,$[te+172>>2]=EA,$[te+160>>2]=It,$[te+164>>2]=nr,$[te+152>>2]=yA,$[te+156>>2]=KA,$[te+144>>2]=QA,$[te+148>>2]=pA,$[te+136>>2]=Yt,$[te+140>>2]=Kt,$[te+128>>2]=kt,$[te+132>>2]=ir,$[te+120>>2]=xA,$[te+124>>2]=or,$[te+112>>2]=Mt,$[te+116>>2]=Gt,$[te+104>>2]=ze,$[te+108>>2]=Ct,$[te+96>>2]=qt,$[te+100>>2]=Ot,$[te+88>>2]=ye,$[te+92>>2]=Et,$[te+80>>2]=Ie,$[te+84>>2]=Jt,$[te+72>>2]=ue,$[te+76>>2]=Tt,$[te+64>>2]=Ke,$[te+68>>2]=ot,$[te+56>>2]=ht,$[te+60>>2]=Ze,$[te+48>>2]=ne,$[te+52>>2]=FA,$[te+40>>2]=se,$[te+44>>2]=Xe,$[te+32>>2]=ct,$[te+36>>2]=_t,$[te+24>>2]=ve,$[te+28>>2]=gt,$[te+16>>2]=De,$[te+20>>2]=mt,$[te+8>>2]=Ae,$[te+12>>2]=ft,$[te>>2]=de,$[te+4>>2]=lt}function rt(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0;e:if(te|=0){ge=(Ae=te-8|0)+(te=-8&(oe=$[te-4>>2]))|0;A:if(!(1&oe)){if(!(3&oe)||(Ae=Ae-(oe=$[Ae>>2])|0)>>>0<He[780])break e;te=te+oe|0;t:{r:{if($[781]!=(0|Ae)){if(oe>>>0<=255){if(se=oe>>>3|0,(0|(oe=$[Ae+12>>2]))==(0|(ne=$[Ae+8>>2]))){$[776]=$[776]&tA(se);break A}$[ne+12>>2]=oe,$[oe+8>>2]=ne;break A}if(ue=$[Ae+24>>2],(0|Ae)!=(0|(oe=$[Ae+12>>2]))){ne=$[Ae+8>>2],$[ne+12>>2]=oe,$[oe+8>>2]=ne;break t}if(!(ne=$[(se=Ae+20|0)>>2])){if(!(ne=$[Ae+16>>2]))break r;se=Ae+16|0}for(;Ie=se,(ne=$[(se=(oe=ne)+20|0)>>2])||(se=oe+16|0,ne=$[oe+16>>2]););$[Ie>>2]=0;break t}if((3&(oe=$[ge+4>>2]))!=3)break A;return $[778]=te,$[ge+4>>2]=-2&oe,$[Ae+4>>2]=1|te,void($[ge>>2]=te)}oe=0}if(ue){ne=$[Ae+28>>2];t:{if($[(se=3408+(ne<<2)|0)>>2]==(0|Ae)){if($[se>>2]=oe,oe)break t;$[777]=$[777]&tA(ne);break A}if($[ue+($[ue+16>>2]==(0|Ae)?16:20)>>2]=oe,!oe)break A}$[oe+24>>2]=ue,(ne=$[Ae+16>>2])&&($[oe+16>>2]=ne,$[ne+24>>2]=oe),(ne=$[Ae+20>>2])&&($[oe+20>>2]=ne,$[ne+24>>2]=oe)}}if(!(Ae>>>0>=ge>>>0)&&1&(oe=$[ge+4>>2])){A:{t:{r:{a:{if(!(2&oe)){if($[782]==(0|ge)){if($[782]=Ae,te=$[779]+te|0,$[779]=te,$[Ae+4>>2]=1|te,$[781]!=(0|Ae))break e;return $[778]=0,void($[781]=0)}if($[781]==(0|ge))return $[781]=Ae,te=$[778]+te|0,$[778]=te,$[Ae+4>>2]=1|te,void($[te+Ae>>2]=te);if(te=(-8&oe)+te|0,oe>>>0<=255){if(se=oe>>>3|0,(0|(oe=$[ge+12>>2]))==(0|(ne=$[ge+8>>2]))){$[776]=$[776]&tA(se);break t}$[ne+12>>2]=oe,$[oe+8>>2]=ne;break t}if(ue=$[ge+24>>2],(0|ge)!=(0|(oe=$[ge+12>>2]))){ne=$[ge+8>>2],$[ne+12>>2]=oe,$[oe+8>>2]=ne;break r}if(!(ne=$[(se=ge+20|0)>>2])){if(!(ne=$[ge+16>>2]))break a;se=ge+16|0}for(;Ie=se,(ne=$[(se=(oe=ne)+20|0)>>2])||(se=oe+16|0,ne=$[oe+16>>2]););$[Ie>>2]=0;break r}$[ge+4>>2]=-2&oe,$[Ae+4>>2]=1|te,$[te+Ae>>2]=te;break A}oe=0}if(ue){ne=$[ge+28>>2];r:{if($[(se=3408+(ne<<2)|0)>>2]==(0|ge)){if($[se>>2]=oe,oe)break r;$[777]=$[777]&tA(ne);break t}if($[ue+($[ue+16>>2]==(0|ge)?16:20)>>2]=oe,!oe)break t}$[oe+24>>2]=ue,(ne=$[ge+16>>2])&&($[oe+16>>2]=ne,$[ne+24>>2]=oe),(ne=$[ge+20>>2])&&($[oe+20>>2]=ne,$[ne+24>>2]=oe)}}if($[Ae+4>>2]=1|te,$[te+Ae>>2]=te,$[781]==(0|Ae))return void($[778]=te)}if(te>>>0<=255)return oe=3144+(-8&te)|0,(ne=$[776])&(te=1<<(te>>>3))?te=$[oe+8>>2]:($[776]=te|ne,te=oe),$[oe+8>>2]=Ae,$[te+12>>2]=Ae,$[Ae+12>>2]=oe,void($[Ae+8>>2]=te);ne=31,te>>>0<=16777215&&(ne=62+((te>>>38-(oe=Re(te>>>8|0))&1)-(oe<<1)|0)|0),$[Ae+28>>2]=ne,$[Ae+16>>2]=0,$[Ae+20>>2]=0,oe=3408+(ne<<2)|0;A:{t:{if((se=$[777])&(Ie=1<<ne)){for(ne=te<<((0|ne)!=31?25-(ne>>>1|0)|0:0),oe=$[oe>>2];;){if(se=oe,(-8&$[oe+4>>2])==(0|te))break t;if(oe=ne>>>29|0,ne<<=1,!(oe=$[(Ie=se+(4&oe)|0)+16>>2]))break}$[Ie+16>>2]=Ae,$[Ae+24>>2]=se}else $[777]=se|Ie,$[oe>>2]=Ae,$[Ae+24>>2]=oe;$[Ae+12>>2]=Ae,$[Ae+8>>2]=Ae;break A}te=$[se+8>>2],$[te+12>>2]=Ae,$[se+8>>2]=Ae,$[Ae+24>>2]=0,$[Ae+12>>2]=se,$[Ae+8>>2]=te}te=$[784]-1|0,$[784]=te||-1}}}function tt(te,oe,ne,Ae){var se,ge,ue,Ie,de=0,ye=0,De=0,ve=0,Ke=0;for(Ge=ge=Ge-160|0,Ie=ge+12|0,ue=Pe(200),$[Ie>>2]=ue,ue||(we(111),ae()),Ge=se=Ge-208|0;;){if((0|de)==25){for(;;){if(de=0,Ae>>>0<136){for(ye=0;;){if((0|de)==136){for(;(0|Ae)!=(0|ye);)ce[ye+se|0]=Be[ne+ye|0],ye=ye+1|0;break}ce[de+se|0]=0,de=de+1|0}for(ce[Ae+se|0]=31,ce[se+135|0]=128|Be[se+135|0],de=0;(0|de)!=17;)ye=$[(ne=(Ae=de<<3)+ue|0)>>2],De=$[ne+4>>2],$[ne>>2]=ut(Ae+se|0)^ye,$[ne+4>>2]=ke^De,de=de+1|0;Ge=se+208|0;break}for(;(0|de)!=17;)ve=$[(ye=(De=de<<3)+ue|0)>>2],Ke=$[ye+4>>2],$[ye>>2]=ut(ne+De|0)^ve,$[ye+4>>2]=ke^Ke,de=de+1|0;qe(ue),ne=ne+136|0,Ae=Ae-136|0}break}$[(ye=(de<<3)+ue|0)>>2]=0,$[ye+4>>2]=0,de=de+1|0}_e(te,ne=(oe>>>0)/136|0,Ie);e:if((0|(ne=Se(ne,136)))!=(0|oe))for(Ae=oe-ne|0,te=te+ne|0,_e(ge+16|0,1,ge+12|0),oe=0;;){if((0|oe)==(0|Ae))break e;ce[te+oe|0]=Be[(ge+16|0)+oe|0],oe=oe+1|0}rt($[ge+12>>2]),Ge=ge+160|0}function Je(te,oe,ne,Ae){for(var se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0;;){e:{if(Ie=0,ue=0,de=De=$[te+204>>2],!(!((ye=Ae+(se=$[te+200>>2])|0)>>>0<Ae>>>0?de+1|0:de)&oe>>>0>ye>>>0)){for(;!(!ue&(ge=oe-se|0)>>>0<=Ie>>>0|(0|ue)!=0);)De=$[(de=(-8&(se=se+Ie|0))+te|0)+4>>2],ye=Be[ne+Ie|0],ge=31&(se<<=3),(63&se)>>>0>=32?(se=ye<<ge,ge=0):(se=(1<<ge)-1&ye>>>32-ge,ge=ye<<ge),$[de>>2]=ge^$[de>>2],$[de+4>>2]=se^De,ue=(Ie=Ie+1|0)?ue:ue+1|0,se=$[te+200>>2],De=$[te+204>>2];$[te+200>>2]=0,$[te+204>>2]=0,qe(te),ne=ne+ge|0,Ae=Ae-ge|0;continue}for(;;){if(!Ke&(0|Ae)==(0|ve))break e;oe=ve+$[te+200>>2]|0,ge=$[(ue=(-8&oe)+te|0)+4>>2],Ie=Be[ne+ve|0],oe=31&(se=oe<<3),(63&se)>>>0>=32?(se=Ie<<oe,oe=0):(se=(1<<oe)-1&Ie>>>32-oe,oe=Ie<<oe),$[ue>>2]=oe^$[ue>>2],$[ue+4>>2]=se^ge,oe=Ke,Ke=(ve=ve+1|0)?oe:oe+1|0}}break}oe=$[te+204>>2],oe=(ne=Ae+$[te+200>>2]|0)>>>0<Ae>>>0?oe+1|0:oe,$[te+200>>2]=ne,$[te+204>>2]=oe}function Te(te,oe,ne,Ae){var se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;for(ye=oe;;){ue=$[ne+200>>2],Ie=$[ne+204>>2];e:{if(!de&(0|se)==(0|ye))ge=oe;else{if(ge=se,(0|de)==(0|Ie)&ue>>>0>se>>>0|de>>>0<Ie>>>0)break e;ye=se}for(se=ue-ye|0,de=Ie-((ue>>>0<ye>>>0)+0|0)|0,ye=oe-ge|0,oe=te+ge|0;$[ne+200>>2]=se,$[ne+204>>2]=de,ye;){for(qe(ne),te=Ae>>>0>ye>>>0?ye:Ae,ge=0;(0|te)!=(0|ge);)Ie=$[(se=(-8&ge)+ne|0)>>2],ue=$[se+4>>2],se=31&(de=ge<<3&56),ce[oe+ge|0]=(63&de)>>>0>=32?ue>>>se|0:((1<<se)-1&ue)<<32-se|Ie>>>se,ge=ge+1|0;ye=ye-te|0,oe=te+oe|0,se=Ae-te|0,de=0}return}ve=De=te+ge|0,De=$[(Ie=(-8&(ue=se+(Ae-ue|0)|0))+ne|0)>>2],Ie=$[Ie+4>>2],ge=31&(ue<<=3),ce[0|ve]=(63&ue)>>>0>=32?Ie>>>ge|0:((1<<ge)-1&Ie)<<32-ge|De>>>ge,de=(se=se+1|0)?de:de+1|0}}function pe(te,oe){var ne,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0;for(Ge=ne=Ge-160|0,eA(ge=ne+12|0),Lt(ge,oe,32),Lr(ge),IA(ne+16|0,136,ge);;){if(!Ae&(0|se)==8){for(oe=0;;){if((0|oe)==256){for(oe=8,se=196;(0|se)!=256;){for(;oe>>>0>=136&&(IA(ne+16|0,136,ne+12|0),oe=0),Ae=(ne+16|0)+oe|0,oe=oe+1|0,(Ae=Be[0|Ae])>>>0>se>>>0;);Ae=(Ae<<2)+te|0,$[(se<<2)+te>>2]=$[Ae>>2],$[Ae>>2]=1-(Ie<<1&2),se=se+1|0,Ie=(1&de)<<31|Ie>>>1,de=de>>>1|0}LA(ne+12|0),Ge=ne+160|0;break}$[(oe<<2)+te>>2]=0,oe=oe+1|0}break}ge=Be[(ne+16|0)+se|0],oe=31&(ue=se<<3),(63&ue)>>>0>=32?(ue=ge<<oe,oe=0):(ue=(1<<oe)-1&ge>>>32-oe,oe=ge<<oe),Ie|=oe,de|=ue,Ae=(se=se+1|0)?Ae:Ae+1|0}}function Qe(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0;(0|Ie)!=8;){for(ve=Ie<<8,Ke=Se(Ie,7168)+te|0,ue=0;(0|ue)!=7;){for(Ge=ne=(Ge=se=Ge-864|0)-16|0,Ae=ue+ve|0,ce[ne+14|0]=Ae,ce[ne+15|0]=Ae>>>8,eA(Ae=se+12|0),Bs(Ae,oe,32),Bs(Ae,ne+14|0,2),Oe($[Ae>>2],168),Ge=ne+16|0,ne=840,ls(ge=se+16|0,840,Ae),Ae=je(ye=(ue<<10)+Ke|0,256,ge,840);Ae>>>0<=255;){for(de=ne-(ge=(ne>>>0)%3|0)|0,ne=0;(0|ne)!=(0|ge);)ce[(De=se+16|0)+ne|0]=Be[(ne+de|0)+De|0],ne=ne+1|0;ls((ne=se+16|0)|ge,168,se+12|0),Ae=je((Ae<<2)+ye|0,256-Ae|0,de=ne,ne=168|ge)+Ae|0}LA(se+12|0),Ge=se+864|0,ue=ue+1|0}Ie=Ie+1|0}}function Ue(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;ge=256,Ae=1;e:for(;;){A:{if(ne=0,Ae>>>0>255)for(;;){if((0|ue)==256)break A;oe=it(oe=$[(se=(ue<<2)+te|0)>>2],oe>>31,41978,0),$[se>>2]=On(oe,ke),ue=ue+1|0}for(;;){t:{if(ne>>>0<=255)for(de=ne+Ae|0,De=(se=0-$[1312+((ge=ge-1|0)<<2)>>2]|0)>>31;;){if((0|ne)==(0|de))break t;ye=$[(oe=(ne<<2)+te|0)>>2],ve=oe,oe=$[(Ie=(ne+Ae<<2)+te|0)>>2],$[ve>>2]=ye+oe,oe=ye-oe|0,$[Ie>>2]=oe,$[Ie>>2]=On(it(oe,oe>>31,se,De),ke),ne=ne+1|0}Ae<<=1;continue e}ne=Ae+de|0}}break}}function Fe(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;(0|se)!=32;)ne=(se<<5)+te|0,Ae=Se(se,3)+oe|0,ge=7&Be[0|Ae],$[ne>>2]=ge,ue=Be[0|Ae]>>>3&7,$[ne+4>>2]=ue,Ie=Be[Ae+1|0]<<2&4|Be[0|Ae]>>>6,$[ne+8>>2]=Ie,de=Be[Ae+1|0]>>>1&7,$[ne+12>>2]=de,ye=Be[Ae+1|0]>>>4&7,$[ne+16>>2]=ye,De=Be[Ae+2|0]<<1&6|Be[Ae+1|0]>>>7,$[ne+20>>2]=De,ve=Be[Ae+2|0]>>>2&7,$[ne+24>>2]=ve,Ae=Be[Ae+2|0],$[ne+4>>2]=2-ue,$[ne>>2]=2-ge,$[ne+8>>2]=2-Ie,$[ne+12>>2]=2-de,$[ne+16>>2]=2-ye,$[ne+20>>2]=2-De,$[ne+24>>2]=2-ve,$[ne+28>>2]=2-(Ae>>>5|0),se=se+1|0}function me(te,oe,ne){var Ae=0,se=0,ge=0,ue=0;return se=31&(ge=ue=63&ne),ge=ge>>>0>=32?-1>>>se|0:(Ae=-1>>>se|0)|(1<<se)-1<<32-se,ge&=te,Ae&=oe,se=31&ue,ue>>>0>=32?(Ae=ge<<se,ue=0):(Ae=(1<<se)-1&ge>>>32-se|Ae<<se,ue=ge<<se),ge=Ae,Ae=31&(se=0-ne&63),se>>>0>=32?(Ae=-1<<Ae,ne=0):Ae=(ne=-1<<Ae)|(1<<Ae)-1&-1>>>32-Ae,te&=ne,oe&=Ae,Ae=31&se,se>>>0>=32?(ne=0,te=oe>>>Ae|0):(ne=oe>>>Ae|0,te=((1<<Ae)-1&oe)<<32-Ae|te>>>Ae),ke=ne|ge,te|=ue}function Ye(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0;for(ne=128;oe=0,ne;){for(;oe>>>0<=255;){for(ue=oe>>>0>(Ae=oe+ne|0)>>>0?oe:Ae,ye=(Ae=$[1312+((Ie=Ie+1|0)<<2)>>2])>>31;(0|oe)!=(0|ue);)ge=On(it(ge=$[(se=(oe+ne<<2)+te|0)>>2],ge>>31,Ae,ye),ke),De=se,de=$[(se=(oe<<2)+te|0)>>2],$[De>>2]=de-ge,$[se>>2]=ge+de,oe=oe+1|0;oe=ne+ue|0}ne=ne>>>1|0}}function Oe(te,oe){var ne,Ae=0,se=0,ge=0;Ae=$[te+200>>2],ne=$[(se=te+(-8&Ae)|0)+4>>2],Ae=31&(ge=Ae<<3),(63&ge)>>>0>=32?(ge=31<<Ae,Ae=0):(ge=(1<<Ae)-1&31>>>32-Ae,Ae=31<<Ae),$[se>>2]=Ae^$[se>>2],$[se+4>>2]=ge^ne,ge=$[(oe=(-8&(Ae=oe-1|0))+te|0)+4>>2],Ae=31&(se=Ae<<3&56),(63&se)>>>0>=32?(se=128<<Ae,Ae=0):(se=(1<<Ae)-1&128>>>32-Ae,Ae=128<<Ae),$[oe>>2]=Ae^$[oe>>2],$[oe+4>>2]=se^ge,$[te+200>>2]=0,$[te+204>>2]=0}function Le(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0;(0|Ae)!=32;)Ie=$[(ne=(Ae<<5)+oe|0)+16>>2],de=$[ne+12>>2],se=$[ne+28>>2],ye=$[ne+20>>2],De=$[ne+24>>2],ge=Se(Ae,3)+te|0,ue=16-($[ne+4>>2]<<3)|2-$[ne>>2],ne=2-$[ne+8>>2]|0,ce[0|ge]=ue|ne<<6,ue=64-(se<<5)|0,se=2-ye|0,ce[ge+2|0]=ue|8-(De<<2)|(254&se)>>>1,ce[ge+1|0]=32-(Ie<<4)|4-(de<<1)|(252&ne)>>>2|se<<7,Ae=Ae+1|0}function _e(te,oe,ne){var Ae,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0;Ae=$[ne>>2];e:for(;;){if(oe)for(qe(Ae),ne=0;;){if((0|ne)==17){oe=oe-1|0,te=te+136|0;continue e}for(ye=(se=ne<<3)+te|0,De=$[(se=se+Ae|0)>>2],Ie=$[se+4>>2],ge=0,se=0;(0|ge)!=8|se;)ue=31&(de=ge<<3),ce[ge+ye|0]=(63&de)>>>0>=32?Ie>>>ue|0:((1<<ue)-1&Ie)<<32-ue|De>>>ue,se=(ge=ge+1|0)?se:se+1|0;ne=ne+1|0}break}}function We(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0;(0|ue)!=128;)se=(ue<<3)+te|0,ne=Se(ue,5)+oe|0,Ae=Be[0|ne],$[se>>2]=Ae,Ae|=Be[ne+1|0]<<8,$[se>>2]=Ae,Ae|=Be[ne+2|0]<<16&983040,$[se>>2]=Ae,ge=Be[ne+2|0]>>>4|0,$[se+4>>2]=ge,ge|=Be[ne+3|0]<<4,$[se+4>>2]=ge,ne=Be[ne+4|0],$[se>>2]=524288-Ae,$[se+4>>2]=524288-(ge|ne<<12),ue=ue+1|0}function at(te,oe,ne){for(var Ae=0,se=0,ge=0,ue=0;!(oe>>>0<=Ae>>>0|ge>>>0>135);)ue=(se=Be[ne+ge|0])>>>4|0,ge=ge+1|0,(0|(se&=15))!=15&&($[(Ae<<2)+te>>2]=2+(Se(Se(se,205)>>>10|0,5)-se|0),Ae=Ae+1|0),(0|ue)==15|oe>>>0<=Ae>>>0||($[(Ae<<2)+te>>2]=2+(Se(Se(ue,205)>>>10|0,5)-ue|0),Ae=Ae+1|0);return Ae}function $e(te,oe,ne){for(var Ae=0,se=0,ge=0,ue=0,Ie=0,de=0;(0|Ae)!=8;){for(Ge=se=Ge-1024|0,qn(ue=(Ae<<10)+te|0,Ie=Se(Ae,7168)+oe|0,ne),ge=1;(0|ge)!=7;)qn(se,(de=ge<<10)+Ie|0,ne+de|0),Li(ue,ue,se),ge=ge+1|0;Ge=se+1024|0,Ae=Ae+1|0}}function je(te,oe,ne,Ae){for(var se=0,ge=0,ue=0,Ie=0;!(oe>>>0<=ge>>>0||(se=Ie+3|0)>>>0>Ae>>>0);)ue=ne+Ie|0,Ie=se,(se=Be[ue+2|0]<<16&8323072|Be[0|ue]|Be[ue+1|0]<<8)>>>0>8380416||($[(ge<<2)+te>>2]=se,ge=ge+1|0);return ge}function ut(te){for(var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0;!(!se&(0|ne)==8);)ge=Be[te+ne|0],oe=31&(Ae=ne<<3),(63&Ae)>>>0>=32?(Ae=ge<<oe,oe=0):(Ae=(1<<oe)-1&ge>>>32-oe,oe=ge<<oe),ue|=oe,Ie|=Ae,se=(ne=ne+1|0)?se:se+1|0;return ke=Ie,ue}function it(te,oe,ne,Ae){var se,ge,ue,Ie,de=0,ye=0;return Ie=Se(de=ne>>>16|0,ye=te>>>16|0),de=(65535&(ye=((ue=Se(se=65535&ne,ge=65535&te))>>>16|0)+Se(ye,se)|0))+Se(de,ge)|0,ke=(Se(oe,ne)+Ie|0)+Se(te,Ae)+(ye>>>16)+(de>>>16)|0,65535&ue|de<<16}function xt(te,oe,ne){for(var Ae=0,se=0,ge=0,ue=0,Ie=0,de=0;(0|se)!=8;){for(ue=(Ae=se<<10)+te|0,Ie=oe+Ae|0,de=ne+Ae|0,Ae=0;(0|Ae)!=256;)$[ue+(ge=Ae<<2)>>2]=$[ge+Ie>>2]-$[ge+de>>2],Ae=Ae+1|0;se=se+1|0}}function At(te,oe,ne){var Ae,se;for(Ge=Ae=Ge-160|0,us(se=Ae+12|0,oe,ne),IA(oe=Ae+16|0,136,se),ne=at(te,256,oe);ne>>>0<=255;)IA(oe=Ae+16|0,136,Ae+12|0),ne=at((ne<<2)+te|0,256-ne|0,oe)+ne|0;LA(Ae+12|0),Ge=Ae+160|0}function dt(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0;(0|Ae)!=8;){for(ge=(Ae<<7)+te|0,ue=(Ae<<10)+oe|0,ne=0;(0|ne)!=128;)se=(ne<<3)+ue|0,ce[ne+ge|0]=$[se+4>>2]<<4|$[se>>2],ne=ne+1|0;Ae=Ae+1|0}}function vr(te){for(var oe=0,ne=0,Ae=0,se=0,ge=0;(0|ne)!=8;){for(ge=(ne<<10)+te|0,oe=0;(0|oe)!=256;)se=$[(Ae=(oe<<2)+ge|0)>>2],$[Ae>>2]=se+(se>>31&8380417),oe=oe+1|0;ne=ne+1|0}}function eA(te){var oe=0,ne=0;for(oe=te,te=Pe(208),$[oe>>2]=te,te||(we(111),ae());(0|ne)!=25;)$[(oe=te+(ne<<3)|0)>>2]=0,$[oe+4>>2]=0,ne=ne+1|0;$[te+200>>2]=0,$[te+204>>2]=0}function qn(te,oe,ne){for(var Ae=0,se=0,ge=0;(0|se)!=256;)Ae=it(Ae=$[(ge=se<<2)+ne>>2],Ae>>31,Ae=$[oe+ge>>2],Ae>>31),$[te+ge>>2]=On(Ae,ke),se=se+1|0}function Ur(te){var oe,ne;return(te=(oe=$[584])+(ne=te+7&-8)|0)>>>0<=oe>>>0&&ne||te>>>0>(Ce.byteLength/65536|0)<<16>>>0&&!(0|Ve(0|te))?($[775]=48,-1):($[584]=te,oe)}function ss(te,oe){var ne=0,Ae=0;if((0|oe)<=1047552)for(;;){if((0|Ae)==256)return 0;if(ne=Ae<<2,Ae=Ae+1|0,!(((ne=$[te+ne>>2])-(ne<<1&ne>>31)|0)<(0|oe)))break}return 1}function as(te){for(var oe=0,ne=0,Ae=0;(0|oe)!=256;)Ae=$[(ne=(oe<<2)+te|0)>>2],$[ne>>2]=Ae+Se(Ae+4194304>>23,-8380417),oe=oe+1|0}function cs(te,oe){var ne;return ne=te,te=Se(oe+127>>7,1025)+2097152>>>22&15,oe=Se(te,-523776)+oe|0,$[ne>>2]=((0|oe)>4190208?-8380417:0)+oe,te}function gs(te){for(var oe=0,ne=0;;){if((0|oe)==7)return 0;if(ne=oe<<10,oe=oe+1|0,ss(te+ne|0,524168))break}return 1}function fs(te,oe){for(var ne=0,Ae=0;;){if((0|ne)==8)return 0;if(Ae=ne<<10,ne=ne+1|0,ss(te+Ae|0,oe))break}return 1}function Li(te,oe,ne){for(var Ae=0,se=0;(0|Ae)!=256;)$[(se=Ae<<2)+te>>2]=$[ne+se>>2]+$[oe+se>>2],Ae=Ae+1|0}function us(te,oe,ne){var Ae;Ge=Ae=Ge-16|0,ce[Ae+14|0]=ne,ce[Ae+15|0]=ne>>>8,eA(te),Lt(te,oe,64),Lt(te,Ae+14|0,2),Lr(te),Ge=Ae+16|0}function On(te,oe){var ne=0;return it(te,oe,0,58728449),ne=it(ne=ke,ne>>31,-8380417,-1),oe=oe+ke|0,te+ne>>>0<te>>>0?oe+1|0:oe}function Is(te,oe,ne){for(var Ae=0,se=0;(0|Ae)!=8;)Li((se=Ae<<10)+te|0,oe+se|0,ne+se|0),Ae=Ae+1|0}function Ni(te,oe,ne){for(var Ae=0,se=0;(0|Ae)!=8;)qn((se=Ae<<10)+te|0,oe,ne+se|0),Ae=Ae+1|0}function hs(te,oe){var ne=0;for(ne=7168;ce[0|te]=Be[0|oe],te=te+1|0,oe=oe+1|0,ne=ne-1|0;);}function ds(te,oe){for(var ne=0;(0|oe)!=(0|ne);)Ye((ne<<10)+te|0),ne=ne+1|0}function An(te){for(var oe=0;(0|oe)!=8;)as((oe<<10)+te|0),oe=oe+1|0}function rn(te){for(var oe=0;(0|oe)!=8;)Ue((oe<<10)+te|0),oe=oe+1|0}function tA(te){var oe;return(-1>>>(oe=31&te)&-2)<<oe|(-1<<(te=0-te&31)&-2)>>>te}function Fi(te){return te?31-Re(te-1^te)|0:32}function ls(te,oe,ne){Te(te,oe,$[ne>>2],168)}function Bs(te,oe,ne){Je($[te>>2],168,oe,ne)}function IA(te,oe,ne){Te(te,oe,$[ne>>2],136)}function Lt(te,oe,ne){Je($[te>>2],136,oe,ne)}function Lr(te){Oe($[te>>2],136)}function LA(te){rt($[te>>2])}function Ri(te){ds(te,8)}function Jn(te){ds(te,7)}ie(X=Be,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),ie(X,1120,"AQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zike"),ie(X,2336,"EA6A");var Yi,Dc=((Yi=[]).set=function(te,oe){this[te]=oe},Yi.get=function(te){return this[te]},Yi);return{e:function(){},f:Dc,g:Pe,h:rt,i:function(){var te;Ge=te=Ge-16|0,ce[te+15|0]=0,Me(2376,te+15|0,0),Ge=te+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(te,oe){te|=0,oe|=0;var ne,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0;for(Ge=ne=Ge-96416|0,Ie=ne+96288|0;(0|se)!=32;)Ge=ue=Ge-16|0,ce[ue+15|0]=0,de=0|Me(2340,ue+15|0,0),Ge=ue+16|0,ce[se+Ie|0]=de,se=se+1|0;for(tt(Ie,128,Ie,32),Qe(ue=ne+38912|0,Ie),ve=ne+31744|0,se=ne+96320|0;(0|Ae)!=7;)At(ve+(Ae<<10)|0,se,65535&ge),Ae=Ae+1|0,ge=ge+1|0;for(Ke=ne+16384|0,Ae=0,ge=7;(0|Ae)!=8;)At(Ke+(Ae<<10)|0,se,65535&ge),Ae=Ae+1|0,ge=ge+1|0;for(hs(Ae=ne+24576|0,ve),Jn(Ae),$e(ge=ne- -8192|0,ue,Ae),An(ge),rn(ge),Is(ge,ge,Ke),vr(ge),Ae=0;(0|Ae)!=8;){for(Ze=(se=Ae<<10)+ge|0,ye=se+ne|0,De=se+ge|0,se=0;(0|se)!=256;)de=(ze=$[(ue=se<<2)+De>>2])+4095|0,$[ue+ye>>2]=ze-(-8192&de),$[ue+Ze>>2]=de>>13,se=se+1|0;Ae=Ae+1|0}for(Ae=0;(0|Ae)!=32;)ce[te+Ae|0]=Be[Ae+Ie|0],Ae=Ae+1|0;for(Ze=te+32|0,Ae=0;(0|Ae)!=8;){for(ye=Ze+Se(Ae,320)|0,De=ge+(Ae<<10)|0,ue=0;(0|ue)!=64;)de=ye+Se(ue,5)|0,se=De+(ue<<4)|0,ce[0|de]=$[se>>2],ce[de+1|0]=$[se+4>>2]<<2|$[se>>2]>>>8,ce[de+2|0]=$[se+8>>2]<<4|$[se+4>>2]>>>6,ce[de+3|0]=$[se+12>>2]<<6|$[se+8>>2]>>>4,ce[de+4|0]=$[se+12>>2]>>>2,ue=ue+1|0;Ae=Ae+1|0}for(tt(ge=ne+96256|0,32,te,2592),te=ne+96384|0,Ae=0;(0|Ae)!=32;)ce[oe+Ae|0]=Be[Ae+Ie|0],Ae=Ae+1|0;for(se=oe+32|0,Ae=0;(0|Ae)!=32;)ce[Ae+se|0]=Be[te+Ae|0],Ae=Ae+1|0;for(te=oe- -64|0,Ae=0;(0|Ae)!=32;)ce[te+Ae|0]=Be[Ae+ge|0],Ae=Ae+1|0;for(te=oe+96|0,Ae=0;(0|Ae)!=7;)Le(te+Se(Ae,96)|0,ve+(Ae<<10)|0),Ae=Ae+1|0;for(te=oe+768|0,Ae=0;(0|Ae)!=8;)Le(te+Se(Ae,96)|0,Ke+(Ae<<10)|0),Ae=Ae+1|0;for(de=oe+1536|0,Ae=0;(0|Ae)!=8;){for(ve=de+Se(Ae,416)|0,Ke=(Ae<<10)+ne|0,ge=0;(0|ge)!=32;)Ze=$[(oe=Ke+(ge<<5)|0)+20>>2],ye=$[oe+8>>2],De=$[oe+28>>2],ue=$[oe+24>>2],Ie=$[oe+16>>2],se=$[oe+12>>2],ze=$[oe+4>>2],te=ve+Se(ge,13)|0,Xe=4096-$[oe>>2]|0,ce[0|te]=Xe,oe=4096-ze|0,ce[te+2|0]=oe>>>3,se=4096-se|0,ce[te+5|0]=se>>>1,Ie=4096-Ie|0,ce[te+7|0]=Ie>>>4,ue=4096-ue|0,ce[te+10|0]=ue>>>2,De=4096-De|0,ce[te+12|0]=De>>>5,ce[te+1|0]=oe<<5|Xe>>>8,ye=4096-ye|0,ce[te+3|0]=ye<<2|oe>>>11,ce[te+4|0]=se<<7|ye>>>6,ce[te+6|0]=Ie<<4|se>>>9,oe=4096-Ze|0,ce[te+8|0]=oe<<1|Ie>>>12,ce[te+9|0]=ue<<6|oe>>>7,ce[te+11|0]=De<<3|ue>>>10,ge=ge+1|0;Ae=Ae+1|0}return Ge=ne+96416|0,0},n:function(te,oe,ne,Ae){oe|=0,ne|=0,Ae|=0;var se,ge,ue,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0,nt=0,ot=0,It=0,ht=0,ct=0,gt=0,ft=0,lt=0,Bt=0,Ct=0,Et=0;for(ge=(te|=0)+2|0,Ge=se=(Ge=ue=Ge-16|0)-121072|0,de=It=se+120848|0,ye=ht=se+120880|0,De=se+120912|0,ve=se+33808|0,Ke=se+56336|0,Ze=se+25616|0;(0|Ie)!=32;)ce[Ie+de|0]=Be[Ae+Ie|0],Ie=Ie+1|0;for(de=Ae+32|0,Ie=0;(0|Ie)!=32;)ce[Ie+De|0]=Be[Ie+de|0],Ie=Ie+1|0;for(de=Ae- -64|0,Ie=0;(0|Ie)!=32;)ce[Ie+ye|0]=Be[Ie+de|0],Ie=Ie+1|0;for(de=Ae+96|0,Ie=0;(0|Ie)!=7;)Fe(Ke+(Ie<<10)|0,de+Se(Ie,96)|0),Ie=Ie+1|0;for(de=Ae+768|0,Ie=0;(0|Ie)!=8;)Fe(Ze+(Ie<<10)|0,de+Se(Ie,96)|0),Ie=Ie+1|0;for(lt=Ae+1536|0,Ie=0;(0|Ie)!=8;){for(Bt=ve+(Ie<<10)|0,Ct=lt+Se(Ie,416)|0,ye=0;(0|ye)!=32;)Ae=Bt+(ye<<5)|0,de=Ct+Se(ye,13)|0,ct=Be[0|de],$[Ae>>2]=ct,ct|=Be[de+1|0]<<8&7936,$[Ae>>2]=ct,ze=Be[de+1|0]>>>5|0,$[Ae+4>>2]=ze,ze|=Be[de+2|0]<<3,$[Ae+4>>2]=ze,ze|=Be[de+3|0]<<11&6144,$[Ae+4>>2]=ze,gt=Be[de+3|0]>>>2|0,$[Ae+8>>2]=gt,gt|=Be[de+4|0]<<6&8128,$[Ae+8>>2]=gt,Xe=Be[de+4|0]>>>7|0,$[Ae+12>>2]=Xe,Xe|=Be[de+5|0]<<1,$[Ae+12>>2]=Xe,Xe|=Be[de+6|0]<<9&7680,$[Ae+12>>2]=Xe,nt=Be[de+6|0]>>>4|0,$[Ae+16>>2]=nt,nt|=Be[de+7|0]<<4,$[Ae+16>>2]=nt,nt|=Be[de+8|0]<<12&4096,$[Ae+16>>2]=nt,ft=Be[de+8|0]>>>1|0,$[Ae+20>>2]=ft,ft|=Be[de+9|0]<<7&8064,$[Ae+20>>2]=ft,ot=Be[de+9|0]>>>6|0,$[Ae+24>>2]=ot,ot|=Be[de+10|0]<<2,$[Ae+24>>2]=ot,ot|=Be[de+11|0]<<10&7168,$[Ae+24>>2]=ot,Et=Be[de+11|0]>>>3|0,$[Ae+28>>2]=Et,de=Be[de+12|0],$[Ae+4>>2]=4096-ze,$[Ae>>2]=4096-ct,$[Ae+8>>2]=4096-gt,$[Ae+12>>2]=4096-Xe,$[Ae+16>>2]=4096-nt,$[Ae+20>>2]=4096-ft,$[Ae+24>>2]=4096-ot,$[Ae+28>>2]=4096-(de<<5|Et),ye=ye+1|0;Ie=Ie+1|0}for(eA(Ae=se+12|0),Lt(Ae,ht,32),Lt(Ae,oe,ne),Lr(Ae),IA(ht=se+120944|0,64,Ae),LA(Ae),tt(lt=se+121008|0,64,De,96),Qe(se+63504|0,It),Jn(Ke),Ri(Ze),Ri(ve),Ie=0;;){for(de=se+49168|0,ye=Se(65535&Ie,7),oe=0;(0|oe)!=7;)Ge=ne=Ge-704|0,us(Ae=ne+12|0,lt,oe+ye&65535),IA(De=ne+16|0,680,Ae),LA(Ae),We(de+(oe<<10)|0,De),Ge=ne+704|0,oe=oe+1|0;for(hs(Ae=se+42e3|0,de),Jn(Ae),$e(oe=se+17424|0,se+63504|0,Ae),An(oe),rn(oe),vr(oe),ve=se+9232|0,ne=0;(0|ne)!=8;){for(Ke=(ye=ne<<10)+oe|0,Ze=ye+ve|0,It=oe+ye|0,ye=0;(0|ye)!=256;)$[(De=ye<<2)+Ke>>2]=cs(De+Ze|0,$[De+It>>2]),ye=ye+1|0;ne=ne+1|0}for(dt(ge,oe),eA(oe=se+12|0),Lt(oe,ht,64),Lt(oe,ge,1024),Lr(oe),IA(ge,32,oe),LA(oe),pe(oe=se+16|0,ge),Ie=Ie+1|0,Ye(oe),ye=se+56336|0,ne=0;(0|ne)!=7;)qn((De=ne<<10)+Ae|0,oe,ye+De|0),ne=ne+1|0;for(oe=0;(0|oe)!=7;)Ue(Ae+(oe<<10)|0),oe=oe+1|0;for(oe=0;(0|oe)!=7;)Li((ne=oe<<10)+Ae|0,ne+Ae|0,ne+de|0),oe=oe+1|0;for(ne=0;(0|ne)!=7;)as(Ae+(ne<<10)|0),ne=ne+1|0;if(!gs(Ae)&&(Ni(ne=se+1040|0,se+16|0,se+25616|0),rn(ne),xt(oe=se+9232|0,oe,ne),An(oe),!fs(oe,261768)&&(Ni(oe=se+1040|0,se+16|0,se+33808|0),rn(oe),An(oe),!fs(oe,261888)))){for(Is(de=se+9232|0,de,Ke=se+1040|0),Ze=se+17424|0,oe=0,ne=0;(0|oe)!=8;){for(It=(Ae=oe<<10)+Ke|0,Bt=Ae+de|0,Ct=Ae+Ze|0,Ae=0,ye=0;(0|Ae)!=256;)ve=(0|(ve=$[(De=Ae<<2)+Bt>>2]))==-261888&$[De+Ct>>2]!=0|ve-261889>>>0<4294443519,$[De+It>>2]=ve,ye=ye+ve|0,Ae=Ae+1|0;ne=ne+ye|0,oe=oe+1|0}if(!(ne>>>0>75))break}}for(ye=se+42e3|0,De=se+1040|0,oe=0;(0|oe)!=32;)ce[0|(ne=oe+ge|0)]=Be[0|ne],oe=oe+1|0;for(ve=ge+32|0,oe=0;(0|oe)!=7;){for(Ke=ve+Se(oe,640)|0,Ze=ye+(oe<<10)|0,ne=0;(0|ne)!=128;)de=$[(Ie=Ze+(ne<<3)|0)+4>>2],Ae=Ke+Se(ne,5)|0,Ie=524288-$[Ie>>2]|0,ce[0|Ae]=Ie,ce[Ae+1|0]=Ie>>>8,de=524288-de|0,ce[Ae+3|0]=de>>>4,ce[Ae+4|0]=de>>>12,ce[Ae+2|0]=de<<4|Ie>>>16,ne=ne+1|0;oe=oe+1|0}for(Ie=ge+4512|0,ne=0,oe=0;;){if((0|oe)==83){for(Ae=0;(0|ne)!=8;){for(de=De+(ne<<10)|0,oe=0;(0|oe)!=256;)$[de+(oe<<2)>>2]&&(ce[Ae+Ie|0]=oe,Ae=Ae+1|0),oe=oe+1|0;ce[75+(ne+Ie|0)|0]=Ae,ne=ne+1|0}break}ce[oe+Ie|0]=0,oe=oe+1|0}return $[ue+12>>2]=4595,Ge=se+121072|0,Ee[te>>1]=$[ue+12>>2],Ge=ue+16|0,0},o:function(te,oe,ne,Ae){te|=0,oe|=0,Ae|=0;var se,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0;Ie=(ne|=0)+2|0,ge=xe[ne>>1],ye=te,ue=oe,ne=0,Ge=se=Ge-91312|0,ze=-1;e:if((0|ge)==4595){for(te=se+90256|0,Ke=se+16400|0,oe=0;(0|oe)!=32;)ce[te+oe|0]=Be[oe+Ae|0],oe=oe+1|0;for(De=Ae+32|0,oe=0;(0|oe)!=8;){for(ve=Ke+(oe<<10)|0,Ze=De+Se(oe,320)|0,ge=0;(0|ge)!=64;)de=ve+(ge<<4)|0,te=Se(ge,5)+Ze|0,$[de>>2]=Be[te+1|0]<<8&768|Be[0|te],$[de+4>>2]=Be[te+2|0]<<6&960|Be[te+1|0]>>>2,$[de+8>>2]=Be[te+3|0]<<4&1008|Be[te+2|0]>>>4,$[de+12>>2]=Be[te+4|0]<<2|Be[te+3|0]>>>6,ge=ge+1|0;oe=oe+1|0}for(te=se+90160|0,oe=se+24592|0,Ke=se+16|0;(0|ne)!=32;)ce[te+ne|0]=Be[ne+Ie|0],ne=ne+1|0;for(te=Ie+32|0,ne=0;(0|ne)!=7;)We(oe+(ne<<10)|0,te+Se(ne,640)|0),ne=ne+1|0;Ie=Ie+4512|0,ge=0,te=0;A:{for(;;){t:if((0|ge)!=8){for(de=Ke+(ge<<10)|0,ne=0;(0|ne)!=256;)$[de+(ne<<2)>>2]=0,ne=ne+1|0;if(!((oe=Be[(De=ge+Ie|0)+75|0])>>>0>75||(ne=te,oe>>>0<te>>>0))){for(;oe>>>0>ne>>>0;){if(te>>>0<ne>>>0&(oe=Be[0|(ve=ne+Ie|0)])>>>0<=Be[ve-1|0])break t;$[de+(oe<<2)>>2]=1,ne=ne+1|0,oe=Be[De+75|0]}ge=ge+1|0,te=oe;continue}}else for(ne=te>>>0<=75?75:te;;){if(oe=0,(0|te)==(0|ne))break A;if(oe=te+Ie|0,te=te+1|0,Be[0|oe])break}break}oe=1}if(!oe&&!gs(se+24592|0)){for(tt(ge=se+90192|0,32,Ae,2592),eA(te=se+12|0),Lt(te,ge,32),Lt(te,ye,ue),Lr(te),IA(ge,64,te),LA(te),pe(ue=se+89104|0,se+90160|0),Qe(oe=se+31760|0,se+90256|0),Jn(Ae=se+24592|0),$e(ne=se+8208|0,oe,Ae),Ye(ue),Ae=se+16400|0,oe=0;(0|oe)!=8;){for(Ie=Ae+(oe<<10)|0,ye=0;(0|ye)!=256;)$[(de=Ie+(ye<<2)|0)>>2]=$[de>>2]<<13,ye=ye+1|0;oe=oe+1|0}for(Ri(Ae),Ni(Ae,ue,Ae),xt(ne,ne,Ae),An(ne),rn(ne),vr(ne),de=se+16|0,Ae=0;(0|Ae)!=8;){for(Ke=(oe=Ae<<10)+ne|0,De=oe+ne|0,ve=oe+de|0,oe=0;(0|oe)!=256;)Ze=(ue=oe<<2)+Ke|0,Xe=$[ue+ve>>2],Ge=ye=Ge-16|0,ue=Ie=cs(ye+12|0,$[ue+De>>2]),Xe&&(ue=Ie+1&15,$[ye+12>>2]>0||(ue=Ie-1&15)),Ge=ye+16|0,$[Ze>>2]=ue,oe=oe+1|0;Ae=Ae+1|0}for(dt(oe=se+90288|0,ne),eA(te),Lt(te,ge,64),Lt(te,oe,1024),Lr(te),IA(se+90128|0,32,te),LA(te),oe=0;;){if((0|oe)==32){ze=0;break e}if(te=(se+90128|0)+oe|0,ne=(se+90160|0)+oe|0,oe=oe+1|0,Be[0|ne]!=Be[0|te])break}}}return Ge=se+91312|0,0|ze}}})(z)})(_)},instantiate:function(Z,_){return{then:function(z){var X=new c.Module(Z);z({instance:new c.Instance(X,_)})}}},RuntimeError:Error};a=[],A(c)!="object"&&d("no native wasm support detected");var G,h,y,u,s=!1,F,Y,N=C.INITIAL_MEMORY||16777216;F="INITIAL_MEMORY should be larger than STACK_SIZE, was "+N+"! (STACK_SIZE=8388608)",N>=8388608||d(F),f=C.wasmMemory?C.wasmMemory:new c.Memory({initial:N/65536,maximum:N/65536}),Y=f.buffer,C.HEAP8=G=new Int8Array(Y),C.HEAP16=new Int16Array(Y),C.HEAP32=y=new Int32Array(Y),C.HEAPU8=h=new Uint8Array(Y),C.HEAPU16=new Uint16Array(Y),C.HEAPU32=new Uint32Array(Y),C.HEAPF32=new Float32Array(Y),C.HEAPF64=u=new Float64Array(Y),N=f.buffer.byteLength;var w=[],S=[],k=[],H=0,U=null,R=null;function d(Z){throw C.onAbort&&C.onAbort(Z),e(Z="Aborted("+Z+")"),s=!0,Z+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(Z)}var M,J,q="data:application/octet-stream;base64,";function l(Z){return Z.startsWith(q)}function m(Z){return Z.startsWith("file://")}function L(Z){return Promise.resolve().then((function(){return(function(_){if(_==M&&a)return new Uint8Array(a);var z=P(_);if(z)return z;if(g)return g(_);throw"both async and sync fetching of the wasm failed"})(Z)}))}function p(Z,_,z,X){return(function(ee,re,ie){return L(ee).then((function(ae){return c.instantiate(ae,re)})).then((function(ae){return ae})).then(ie,(function(ae){e("failed to asynchronously prepare wasm: "+ae),d(ae)}))})(_,z,X)}l(M="<<< WASM_BINARY_FILE >>>")||(J=M,M=C.locateFile?C.locateFile(J,n):n+J);var K={2340:function(){return C.getRandomValue()},2376:function(){if(C.getRandomValue===void 0)try{var I=(typeof window>"u"?"undefined":A(window))==="object"?window:self,g=I.crypto!==void 0?I.crypto:I.msCrypto,B=function(){var Z=new Uint32Array(1);return g.getRandomValues(Z),Z[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var Z=Q.randomBytes(4);return(Z[0]<<24|Z[1]<<16|Z[2]<<8|Z[3])>>>0};i(),C.getRandomValue=i}catch(Z){throw"No secure random number generator found"}}}};function b(Z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(Z,")"),this.status=Z}var v=function(Z){for(;Z.length>0;)Z.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(Z,_,z){var X=(function(ee,re){var ie;for(O.length=0,re>>=2;ie=h[ee++];)re+=ie!=105&re,O.push(ie==105?y[re]:u[re++>>1]),++re;return O})(_,z);return K[Z].apply(null,X)},x=function(Z){D||(C.onExit&&C.onExit(Z),s=!0),Q(Z,new b(Z))},W={c:function(Z,_,z){return T(Z,_,z)},d:function(Z){h.length,d("OOM")},b:function(Z,_){x(Z)},a:f};(function(){var Z={a:W};function _(z,X){var ee,re=z.exports;return C.asm=re,C.asm.f,ee=C.asm.e,S.unshift(ee),(function(ie){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var ae=R;R=null,ae()}})(),re}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(Z,_)}catch(z){return e("Module.instantiateWasm callback failed with error: "+z),!1}p(0,M,Z,(function(z){_(z.instance)}))})(),C._malloc=function(){return(C._malloc=C.asm.g).apply(null,arguments)},C._free=function(){return(C._free=C.asm.h).apply(null,arguments)},C._dilithiumjs_init=function(){return(C._dilithiumjs_init=C.asm.i).apply(null,arguments)},C._dilithiumjs_public_key_bytes=function(){return(C._dilithiumjs_public_key_bytes=C.asm.j).apply(null,arguments)},C._dilithiumjs_secret_key_bytes=function(){return(C._dilithiumjs_secret_key_bytes=C.asm.k).apply(null,arguments)},C._dilithiumjs_signature_bytes=function(){return(C._dilithiumjs_signature_bytes=C.asm.l).apply(null,arguments)},C._dilithiumjs_keypair=function(){return(C._dilithiumjs_keypair=C.asm.m).apply(null,arguments)},C._dilithiumjs_sign=function(){return(C._dilithiumjs_sign=C.asm.n).apply(null,arguments)},C._dilithiumjs_verify=function(){return(C._dilithiumjs_verify=C.asm.o).apply(null,arguments)};function P(Z){if(l(Z))return(function(_){if(o!==void 0&&o){var z=Buffer.from(_,"base64");return new Uint8Array(z.buffer,z.byteOffset,z.byteLength)}try{for(var X=atob(_),ee=new Uint8Array(X.length),re=0;re<X.length;++re)ee[re]=X.charCodeAt(re);return ee}catch{throw new Error("Converting base64 string to bytes failed.")}})(Z.slice(q.length))}function V(){function Z(){j||(j=!0,C.calledRun=!0,s||(v(S),C.onRuntimeInitialized&&C.onRuntimeInitialized(),(function(){if(C.postRun)for(typeof C.postRun=="function"&&(C.postRun=[C.postRun]);C.postRun.length;)_=C.postRun.shift(),k.unshift(_);var _;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)_=C.preRun.shift(),w.unshift(_);var _;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),Z()}),1)):Z()))}if(C.writeArrayToMemory=function(Z,_){G.set(Z,_)},R=function Z(){j||V(),j||(R=Z)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(Z,_){C.onAbort=_,C.onRuntimeInitialized=function(){Z(C)}}))})).then((function(Z){Object.keys(Z).forEach((function(_){C[_]=Z[_]}))}));var E=C.ready.then((function(){C._dilithiumjs_init(),A=C._dilithiumjs_public_key_bytes(),I=C._dilithiumjs_secret_key_bytes(),g=C._dilithiumjs_signature_bytes()})),o={publicKeyBytes:E.then((function(){return A})),privateKeyBytes:E.then((function(){return I})),bytes:E.then((function(){return g})),keyPair:function(){return E.then((function(){var Z=C._malloc(A),_=C._malloc(I);try{return B(C._dilithiumjs_keypair(Z,_),{publicKey:Q(Z,A),privateKey:Q(_,I)})}finally{i(Z),i(_)}}))},sign:function(Z,_){return o.signDetached(Z,_).then((function(z){var X=new Uint8Array(g+Z.length);return X.set(z),X.set(Z,g),X}))},signDetached:function(Z,_){return E.then((function(){var z=C._malloc(g),X=C._malloc(Z.length),ee=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),z),C.writeArrayToMemory(Z,X),C.writeArrayToMemory(_,ee);try{return B(C._dilithiumjs_sign(z,X,Z.length,ee),Q(z,g))}finally{i(z),i(X),i(ee)}}))},open:function(Z,_){return E.then((function(){var z=new Uint8Array(Z.buffer,Z.byteOffset,g),X=new Uint8Array(Z.buffer,Z.byteOffset+g,Z.length-g);return o.verifyDetached(z,X,_).then((function(ee){if(ee)return X;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(Z,_,z){return E.then((function(){var X=C._malloc(g),ee=C._malloc(_.length),re=C._malloc(A);C.writeArrayToMemory(Z,X),C.writeArrayToMemory(_,ee),C.writeArrayToMemory(z,re);try{return C._dilithiumjs_verify(ee,_.length,X,re)===0}finally{i(X),i(ee),i(re)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var kf={};Ts(kf,{InMemoryKeyStorage:()=>JA,createKeySDK:()=>os,default:()=>Hf});be();be();be();be();be();var gr=class{constructor(){he(this,"suites",new Map)}register(_){if(this.suites.has(_.suiteId))throw new Error(`Signature suite already registered: ${_.suiteId}`);this.suites.set(_.suiteId,_)}getSuite(_){let z=this.suites.get(_);if(!z)throw new Error(`Unknown signature suite: ${_}. Available: ${this.listSuites().join(", ")}`);return z}hasSuite(_){return this.suites.has(_)}listSuites(){return[...this.suites.keys()]}getAllSuites(){return[...this.suites.values()]}unregister(_){return this.suites.delete(_)}clear(){this.suites.clear()}},Rc=new gr;be();function un(Z){return Array.from(Z).map(_=>_.toString(16).padStart(2,"0")).join("")}function Mr(Z){if(Z.length%2!==0)throw new Error("Hex string must have even length");let _=new Uint8Array(Z.length/2);for(let z=0;z<Z.length;z+=2)_[z/2]=parseInt(Z.slice(z,z+2),16);return _}async function ei(Z,_){if(_==="sha256"){let z=await Promise.resolve().then(()=>($n(),Xn));return new Uint8Array(z.createHash("sha256").update(Z).digest())}else if(_==="sha512"){let z=await Promise.resolve().then(()=>($n(),Xn));return new Uint8Array(z.createHash("sha512").update(Z).digest())}else if(_==="sha3-256"){let z=await Promise.resolve().then(()=>($n(),Xn));return new Uint8Array(z.createHash("sha3-256").update(Z).digest())}throw new Error(`Unsupported hash algorithm: ${_}`)}be();be();var JA=class{constructor(){he(this,"keys",new Map)}async store(_,z,X){this.keys.set(_,{keypair:z,meta:X})}async load(_){return this.keys.get(_)||null}async list(_){let z=Array.from(this.keys.values()).map(X=>X.meta);return _?z.filter(X=>Object.entries(_).every(([ee,re])=>ee==="usage"&&Array.isArray(re)?re.some(ie=>X.usage.includes(ie)):X[ee]===re)):z}async delete(_){this.keys.delete(_)}async updateMeta(_,z){let X=this.keys.get(_);if(!X)throw new Error(`Key not found: ${_}`);this.keys.set(_,{keypair:X.keypair,meta:{...X.meta,...z}})}clear(){this.keys.clear()}},In=class{constructor(_=new JA){he(this,"storage");this.storage=_}async registerKey(_,z,X,ee={}){let re={keyId:_,suiteId:X,createdAt:new Date().toISOString(),expiresAt:ee.expiresAt,usage:ee.usage||["signing"],cryptoProfileVersion:ee.cryptoProfileVersion||"1.0.0",status:ee.status||"active"};return await this.storage.store(_,z,re),re}async getKey(_){return await this.storage.load(_)}async getPublicKey(_){let z=await this.storage.load(_);return z?{publicKey:z.keypair.publicKey,meta:z.meta}:null}async listKeys(_){return await this.storage.list(_)}async listActiveKeys(_){let z=await this.storage.list(_),X=new Date;return z.filter(ee=>!(ee.status&&ee.status!=="active"||ee.expiresAt&&new Date(ee.expiresAt)<X))}async rotateKey(_,z,X){let ee=await this.storage.load(_);if(!ee)throw new Error(`Cannot rotate: key not found: ${_}`);return await this.storage.updateMeta(_,{status:"rotated"}),await this.registerKey(z,X,ee.meta.suiteId,{usage:ee.meta.usage,cryptoProfileVersion:ee.meta.cryptoProfileVersion,expiresAt:ee.meta.expiresAt,status:"active"}),await this.storage.updateMeta(z,{rotatedFrom:_}),(await this.storage.load(z)).meta}async revokeKey(_,z){await this.storage.updateMeta(_,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(_){await this.storage.delete(_)}async markExpiredKeys(){let _=await this.storage.list(),z=new Date,X=0;for(let ee of _)ee.expiresAt&&new Date(ee.expiresAt)<z&&ee.status==="active"&&(await this.storage.updateMeta(ee.keyId,{status:"expired"}),X++);return X}async pruneOldKeys(_=90){let z=await this.storage.list(),X=new Date;X.setDate(X.getDate()-_);let ee=0;for(let re of z)(re.status==="revoked"&&re.revokedAt&&new Date(re.revokedAt)<X||re.status==="expired"&&re.expiresAt&&new Date(re.expiresAt)<X)&&(await this.storage.delete(re.keyId),ee++);return ee}};be();be();be();be();var rg={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:hr,n:aA,Gx:ng,Gy:ig,b:w0}=rg,Dt=32,dr=64,st=(Z="")=>{throw new Error(Z)},m0=Z=>typeof Z=="bigint",D0=Z=>typeof Z=="string",og=Z=>Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array",Br=(Z,_)=>!og(Z)||typeof _=="number"&&_>0&&Z.length!==_?st("Uint8Array expected"):Z,lr=Z=>new Uint8Array(Z),sg=Z=>Uint8Array.from(Z),S0=(Z,_)=>Z.toString(16).padStart(_,"0"),ni=Z=>Array.from(Br(Z)).map(_=>S0(_,2)).join(""),wA={_0:48,_9:57,A:65,F:70,a:97,f:102},y0=Z=>{if(Z>=wA._0&&Z<=wA._9)return Z-wA._0;if(Z>=wA.A&&Z<=wA.F)return Z-(wA.A-10);if(Z>=wA.a&&Z<=wA.f)return Z-(wA.a-10)},$i=Z=>{let _="hex invalid";if(!D0(Z))return st(_);let z=Z.length,X=z/2;if(z%2)return st(_);let ee=lr(X);for(let re=0,ie=0;re<X;re++,ie+=2){let ae=y0(Z.charCodeAt(ie)),fe=y0(Z.charCodeAt(ie+1));if(ae===void 0||fe===void 0)return st(_);ee[re]=ae*16+fe}return ee},oA=(Z,_)=>Br(D0(Z)?$i(Z):sg(Br(Z)),_),H0=()=>globalThis?.crypto,ag=()=>H0()?.subtle??st("crypto.subtle must be defined"),Cr=(...Z)=>{let _=lr(Z.reduce((X,ee)=>X+Br(ee).length,0)),z=0;return Z.forEach(X=>{_.set(X,z),z+=X.length}),_},eo=(Z=Dt)=>H0().getRandomValues(lr(Z)),Or=BigInt,Bn=(Z,_,z,X="bad number: out of range")=>m0(Z)&&_<=Z&&Z<z?Z:st(X),Ne=(Z,_=hr)=>{let z=Z%_;return z>=0n?z:_+z},vt=Z=>Ne(Z,aA),Cn=(Z,_)=>{(Z===0n||_<=0n)&&st("no inverse n="+Z+" mod="+_);let z=Ne(Z,_),X=_,ee=0n,re=1n,ie=1n,ae=0n;for(;z!==0n;){let fe=X/z,le=X%z,Ce=ee-ie*fe,ce=re-ae*fe;X=z,z=le,ee=ie,re=ae,ie=Ce,ae=ce}return X===1n?Ne(ee,_):st("no inverse")},cg=Z=>{let _=yn[Z];return typeof _!="function"&&st("hashes."+Z+" not set"),_},Q0=Z=>Z instanceof mA?Z:st("Point expected"),k0=Z=>Ne(Ne(Z*Z)*Z+w0),p0=Z=>Bn(Z,0n,hr),hn=Z=>Bn(Z,1n,hr),Zi=Z=>Bn(Z,1n,aA),zi=Z=>(Z&1n)===0n,qr=Z=>Uint8Array.of(Z),G0=Z=>qr(zi(Z)?2:3),gg=Z=>{let _=k0(hn(Z)),z=1n;for(let X=_,ee=(hr+1n)/4n;ee>0n;ee>>=1n)ee&1n&&(z=z*X%hr),X=X*X%hr;return Ne(z*z)===_?z:st("sqrt invalid")},iA=class iA{constructor(_,z,X){he(this,"px");he(this,"py");he(this,"pz");this.px=p0(_),this.py=hn(z),this.pz=p0(X),Object.freeze(this)}static fromBytes(_){Br(_);let z,X=_[0],ee=_.subarray(1),re=ti(ee,0,Dt),ie=_.length;if(ie===Dt+1&&[2,3].includes(X)){let ae=gg(re),fe=zi(ae);zi(Or(X))!==fe&&(ae=Ne(-ae)),z=new iA(re,ae,1n)}return ie===dr+1&&X===4&&(z=new iA(re,ti(ee,Dt,dr),1n)),z?z.assertValidity():st("bad point: not on curve")}equals(_){let{px:z,py:X,pz:ee}=this,{px:re,py:ie,pz:ae}=Q0(_),fe=Ne(z*ae),le=Ne(re*ee),Ce=Ne(X*ae),ce=Ne(ie*ee);return fe===le&&Ce===ce}is0(){return this.equals(Ir)}negate(){return new iA(this.px,Ne(-this.py),this.pz)}double(){return this.add(this)}add(_){let{px:z,py:X,pz:ee}=this,{px:re,py:ie,pz:ae}=Q0(_),fe=0n,le=w0,Ce=0n,ce=0n,Ee=0n,$=Ne(le*3n),Be=Ne(z*re),xe=Ne(X*ie),He=Ne(ee*ae),Se=Ne(z+X),Re=Ne(re+ie);Se=Ne(Se*Re),Re=Ne(Be+xe),Se=Ne(Se-Re),Re=Ne(z+ee);let we=Ne(re+ae);return Re=Ne(Re*we),we=Ne(Be+He),Re=Ne(Re-we),we=Ne(X+ee),Ce=Ne(ie+ae),we=Ne(we*Ce),Ce=Ne(xe+He),we=Ne(we-Ce),Ee=Ne(fe*Re),Ce=Ne($*He),Ee=Ne(Ce+Ee),Ce=Ne(xe-Ee),Ee=Ne(xe+Ee),ce=Ne(Ce*Ee),xe=Ne(Be+Be),xe=Ne(xe+Be),He=Ne(fe*He),Re=Ne($*Re),xe=Ne(xe+He),He=Ne(Be-He),He=Ne(fe*He),Re=Ne(Re+He),Be=Ne(xe*Re),ce=Ne(ce+Be),Be=Ne(we*Re),Ce=Ne(Se*Ce),Ce=Ne(Ce-Be),Be=Ne(Se*xe),Ee=Ne(we*Ee),Ee=Ne(Ee+Be),new iA(Ce,ce,Ee)}multiply(_,z=!0){if(!z&&_===0n)return Ir;if(Zi(_),_===1n)return this;if(this.equals(sA))return yg(_).p;let X=Ir,ee=sA;for(let re=this;_>0n;re=re.double(),_>>=1n)_&1n?X=X.add(re):z&&(ee=ee.add(re));return X}toAffine(){let{px:_,py:z,pz:X}=this;if(this.equals(Ir))return{x:0n,y:0n};if(X===1n)return{x:_,y:z};let ee=Cn(X,hr);return Ne(X*ee)!==1n&&st("inverse invalid"),{x:Ne(_*ee),y:Ne(z*ee)}}assertValidity(){let{x:_,y:z}=this.toAffine();return hn(_),hn(z),Ne(z*z)===k0(_)?this:st("bad point: not on curve")}toBytes(_=!0){let{x:z,y:X}=this.assertValidity().toAffine(),ee=TA(z);return _?Cr(G0(X),ee):Cr(qr(4),ee,TA(X))}static fromAffine(_){let{x:z,y:X}=_;return z===0n&&X===0n?Ir:new iA(z,X,1n)}toHex(_){return ni(this.toBytes(_))}static fromPrivateKey(_){return sA.multiply(dn(_))}static fromHex(_){return iA.fromBytes(oA(_))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(_){return this.toBytes(_)}};he(iA,"BASE"),he(iA,"ZERO");var mA=iA,sA=new mA(ng,ig,1n),Ir=new mA(0n,1n,0n);mA.BASE=sA;mA.ZERO=Ir;var v0=(Z,_,z)=>sA.multiply(_,!1).add(Z.multiply(z,!1)).assertValidity(),En=Z=>Or("0x"+(ni(Z)||"0")),ti=(Z,_,z)=>En(Z.subarray(_,z)),fg=2n**256n,TA=Z=>$i(S0(Bn(Z,0n,fg),dr)),dn=Z=>{let _=m0(Z)?Z:En(oA(Z,Dt));return Bn(_,1n,aA,"private key invalid 3")},Ai=Z=>Z>aA>>1n,U0=(Z,_=!0)=>sA.multiply(dn(Z)).toBytes(_),ln=class Z{constructor(_,z,X){he(this,"r");he(this,"s");he(this,"recovery");this.r=Zi(_),this.s=Zi(z),X!=null&&(this.recovery=X),Object.freeze(this)}static fromBytes(_){Br(_,dr);let z=ti(_,0,Dt),X=ti(_,Dt,dr);return new Z(z,X)}toBytes(){let{r:_,s:z}=this;return Cr(TA(_),TA(z))}addRecoveryBit(_){return new Z(this.r,this.s,_)}hasHighS(){return Ai(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return ni(this.toBytes())}recoverPublicKey(_){return dg(this,_)}static fromCompact(_){return Z.fromBytes(oA(_,dr))}assertValidity(){return this}normalizeS(){let{r:_,s:z,recovery:X}=this;return Ai(z)?new Z(_,vt(-z),X):this}},L0=Z=>{let _=Z.length*8-256;_>1024&&st("msg invalid");let z=En(Z);return _>0?z>>Or(_):z},to=Z=>vt(L0(Br(Z))),N0={lowS:!0},ug={lowS:!0},Ig=(Z,_,z=N0)=>{["der","recovered","canonical"].some(Ee=>Ee in z)&&st("option not supported");let{lowS:X,extraEntropy:ee}=z;X==null&&(X=!0);let re=TA,ie=to(oA(Z)),ae=re(ie),fe=dn(_),le=[re(fe),ae];ee&&le.push(ee===!0?eo(Dt):oA(ee));let Ce=ie,ce=Ee=>{let $=L0(Ee);if(!(1n<=$&&$<aA))return;let Be=sA.multiply($).toAffine(),xe=vt(Be.x);if(xe===0n)return;let He=Cn($,aA),Se=vt(He*vt(Ce+vt(fe*xe)));if(Se===0n)return;let Re=Se,we=(Be.x===xe?0:2)|Number(Be.y&1n);return X&&Ai(Se)&&(Re=vt(-Se),we^=1),new ln(xe,Re,we)};return{seed:Cr(...le),k2sig:ce}},hg=Z=>{let _=lr(Dt),z=lr(Dt),X=0,ee=lr(0),re=()=>{_.fill(1),z.fill(0),X=0},ie=1e3,ae="drbg: tried 1000 values";if(Z){let fe=(...ce)=>yn.hmacSha256Async(z,_,...ce),le=async(ce=ee)=>{z=await fe(qr(0),ce),_=await fe(),ce.length!==0&&(z=await fe(qr(1),ce),_=await fe())},Ce=async()=>(X++>=ie&&st(ae),_=await fe(),_);return async(ce,Ee)=>{re(),await le(ce);let $;for(;!($=Ee(await Ce()));)await le();return re(),$}}else{let fe=(...ce)=>cg("hmacSha256Sync")(z,_,...ce),le=(ce=ee)=>{z=fe(qr(0),ce),_=fe(),ce.length!==0&&(z=fe(qr(1),ce),_=fe())},Ce=()=>(X++>=ie&&st(ae),_=fe(),_);return(ce,Ee)=>{re(),le(ce);let $;for(;!($=Ee(Ce()));)le();return re(),$}}};var F0=(Z,_,z=N0)=>{let{seed:X,k2sig:ee}=Ig(Z,_,z);return hg(!1)(X,ee)},R0=(Z,_,z,X=ug)=>{let{lowS:ee}=X;ee==null&&(ee=!0),"strict"in X&&st("option not supported");let re,ie=Z&&typeof Z=="object"&&"r"in Z;!ie&&oA(Z).length!==dr&&st("signature must be 64 bytes");try{re=ie?new ln(Z.r,Z.s):ln.fromCompact(Z);let ae=to(oA(_)),fe=mA.fromBytes(oA(z)),{r:le,s:Ce}=re;if(ee&&Ai(Ce))return!1;let ce=Cn(Ce,aA),Ee=vt(ae*ce),$=vt(le*ce),Be=v0(fe,Ee,$).toAffine();return vt(Be.x)===le}catch{return!1}},dg=(Z,_)=>{let{r:z,s:X,recovery:ee}=Z;[0,1,2,3].includes(ee)||st("recovery id invalid");let re=to(oA(_,Dt)),ie=ee===2||ee===3?z+aA:z;hn(ie);let ae=G0(Or(ee)),fe=Cr(ae,TA(ie)),le=mA.fromBytes(fe),Ce=Cn(ie,aA),ce=vt(-re*Ce),Ee=vt(X*Ce);return v0(le,ce,Ee)};var Y0=Z=>{Z=oA(Z),(Z.length<Dt+8||Z.length>1024)&&st("expected 40-1024b");let _=Ne(En(Z),aA-1n);return TA(_+1n)},lg=()=>Y0(eo(Dt+16)),Bg="SHA-256",yn={hexToBytes:$i,bytesToHex:ni,concatBytes:Cr,bytesToNumberBE:En,numberToBytesBE:TA,mod:Ne,invert:Cn,hmacSha256Async:async(Z,..._)=>{let z=ag(),X="HMAC",ee=await z.importKey("raw",Z,{name:X,hash:{name:Bg}},!1,["sign"]);return lr(await z.sign(X,ee,Cr(..._)))},hmacSha256Sync:void 0,hashToPrivateKey:Y0,randomBytes:eo},K0={normPrivateKeyToScalar:dn,isValidPrivateKey:Z=>{try{return!!dn(Z)}catch{return!1}},randomPrivateKey:lg,precompute:(Z=8,_=sA)=>(_.multiply(3n),_)},ri=8,Cg=256,M0=Math.ceil(Cg/ri)+1,Xi=2**(ri-1),Eg=()=>{let Z=[],_=sA,z=_;for(let X=0;X<M0;X++){z=_,Z.push(z);for(let ee=1;ee<Xi;ee++)z=z.add(_),Z.push(z);_=z.double()}return Z},x0,b0=(Z,_)=>{let z=_.negate();return Z?z:_},yg=Z=>{let _=x0||(x0=Eg()),z=Ir,X=sA,ee=2**ri,re=ee,ie=Or(ee-1),ae=Or(ri);for(let fe=0;fe<M0;fe++){let le=Number(Z&ie);Z>>=ae,le>Xi&&(le-=re,Z+=1n);let Ce=fe*Xi,ce=Ce,Ee=Ce+Math.abs(le)-1,$=fe%2!==0,Be=le<0;le===0?X=X.add(b0($,_[ce])):z=z.add(b0(Be,_[Ee]))}return{p:z,f:X}};be();be();function pg(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function q0(Z){if(!Number.isSafeInteger(Z)||Z<0)throw new Error("positive integer expected, got "+Z)}function Tr(Z,..._){if(!pg(Z))throw new Error("Uint8Array expected");if(_.length>0&&!_.includes(Z.length))throw new Error("Uint8Array expected of length "+_+", got length="+Z.length)}function O0(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");q0(Z.outputLen),q0(Z.blockLen)}function _r(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function J0(Z,_){Tr(Z);let z=_.outputLen;if(Z.length<z)throw new Error("digestInto() expects output buffer of length at least "+z)}function Er(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function ii(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function Pt(Z,_){return Z<<32-_|Z>>>_}function xg(Z){if(typeof Z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(Z))}function Qn(Z){return typeof Z=="string"&&(Z=xg(Z)),Tr(Z),Z}var Jr=class{};function T0(Z){let _=X=>Z().update(Qn(X)).digest(),z=Z();return _.outputLen=z.outputLen,_.blockLen=z.blockLen,_.create=()=>Z(),_}var oi=class extends Jr{constructor(_,z){super(),this.finished=!1,this.destroyed=!1,O0(_);let X=Qn(z);if(this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let ee=this.blockLen,re=new Uint8Array(ee);re.set(X.length>ee?_.create().update(X).digest():X);for(let ie=0;ie<re.length;ie++)re[ie]^=54;this.iHash.update(re),this.oHash=_.create();for(let ie=0;ie<re.length;ie++)re[ie]^=106;this.oHash.update(re),Er(re)}update(_){return _r(this),this.iHash.update(_),this}digestInto(_){_r(this),Tr(_,this.outputLen),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ao=(Z,_,z)=>new oi(Z,_).update(z).digest();Ao.create=(Z,_)=>new oi(Z,_);be();be();be();function bg(Z,_,z,X){if(typeof Z.setBigUint64=="function")return Z.setBigUint64(_,z,X);let ee=BigInt(32),re=BigInt(4294967295),ie=Number(z>>ee&re),ae=Number(z&re),fe=X?4:0,le=X?0:4;Z.setUint32(_+fe,ie,X),Z.setUint32(_+le,ae,X)}function _0(Z,_,z){return Z&_^~Z&z}function j0(Z,_,z){return Z&_^Z&z^_&z}var si=class extends Jr{constructor(_,z,X,ee){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=ii(this.buffer)}update(_){_r(this),_=Qn(_),Tr(_);let{view:z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=ii(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){_r(this),J0(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;z[ie++]=128,Er(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)z[ce]=0;bg(X,ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=ii(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},DA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var wg=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),_A=new Uint32Array(64),ai=class extends si{constructor(_=32){super(64,_,8,!1),this.A=DA[0]|0,this.B=DA[1]|0,this.C=DA[2]|0,this.D=DA[3]|0,this.E=DA[4]|0,this.F=DA[5]|0,this.G=DA[6]|0,this.H=DA[7]|0}get(){let{A:_,B:z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,re,ie,ae,fe]}set(_,z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ce=0;ce<16;ce++,z+=4)_A[ce]=_.getUint32(z,!1);for(let ce=16;ce<64;ce++){let Ee=_A[ce-15],$=_A[ce-2],Be=Pt(Ee,7)^Pt(Ee,18)^Ee>>>3,xe=Pt($,17)^Pt($,19)^$>>>10;_A[ce]=xe+_A[ce-7]+Be+_A[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=Pt(ae,6)^Pt(ae,11)^Pt(ae,25),$=Ce+Ee+_0(ae,fe,le)+wg[ce]+_A[ce]|0,xe=(Pt(X,2)^Pt(X,13)^Pt(X,22))+j0(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Er(_A)}destroy(){this.set(0,0,0,0,0,0,0,0),Er(this.buffer)}};var P0=T0(()=>new ai);var yr=P0;be();be();be();be();be();be();function pn(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function cA(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function et(Z,_,z=""){let X=pn(Z),ee=Z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=z&&`"${z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function ci(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");cA(Z.outputLen),cA(Z.blockLen)}function jr(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function W0(Z,_){et(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function Qr(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function gi(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function Vt(Z,_){return Z<<32-_|Z>>>_}var Z0=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",mg=Array.from({length:256},(Z,_)=>_.toString(16).padStart(2,"0"));function pr(Z){if(et(Z),Z0)return Z.toHex();let _="";for(let z=0;z<Z.length;z++)_+=mg[Z[z]];return _}var SA={_0:48,_9:57,A:65,F:70,a:97,f:102};function V0(Z){if(Z>=SA._0&&Z<=SA._9)return Z-SA._0;if(Z>=SA.A&&Z<=SA.F)return Z-(SA.A-10);if(Z>=SA.a&&Z<=SA.f)return Z-(SA.a-10)}function xr(Z){if(typeof Z!="string")throw new Error("hex string expected, got "+typeof Z);if(Z0)return Uint8Array.fromHex(Z);let _=Z.length,z=_/2;if(_%2)throw new Error("hex string expected, got unpadded hex of length "+_);let X=new Uint8Array(z);for(let ee=0,re=0;ee<z;ee++,re+=2){let ie=V0(Z.charCodeAt(re)),ae=V0(Z.charCodeAt(re+1));if(ie===void 0||ae===void 0){let fe=Z[re]+Z[re+1];throw new Error('hex string expected, got non-hex character "'+fe+'" at index '+re)}X[ee]=ie*16+ae}return X}function Wt(...Z){let _=0;for(let X=0;X<Z.length;X++){let ee=Z[X];et(ee),_+=ee.length}let z=new Uint8Array(_);for(let X=0,ee=0;X<Z.length;X++){let re=Z[X];z.set(re,ee),ee+=re.length}return z}function z0(Z,_={}){let z=(ee,re)=>Z(re).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}function fi(Z=32){let _=typeof globalThis=="object"?globalThis.crypto:null;if(typeof _?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return _.getRandomValues(new Uint8Array(Z))}var X0=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])});function $0(Z,_,z){return Z&_^~Z&z}function ea(Z,_,z){return Z&_^Z&z^_&z}var ui=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=gi(this.buffer)}update(_){jr(this),et(_);let{view:z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=gi(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){jr(this),W0(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;z[ie++]=128,Qr(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=gi(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},HA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Dg=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),jA=new Uint32Array(64),ro=class extends ui{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,re,ie,ae,fe]}set(_,z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ce=0;ce<16;ce++,z+=4)jA[ce]=_.getUint32(z,!1);for(let ce=16;ce<64;ce++){let Ee=jA[ce-15],$=jA[ce-2],Be=Vt(Ee,7)^Vt(Ee,18)^Ee>>>3,xe=Vt($,17)^Vt($,19)^$>>>10;jA[ce]=xe+jA[ce-7]+Be+jA[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=Vt(ae,6)^Vt(ae,11)^Vt(ae,25),$=Ce+Ee+$0(ae,fe,le)+Dg[ce]+jA[ce]|0,xe=(Vt(X,2)^Vt(X,13)^Vt(X,22))+ea(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Qr(jA)}destroy(){this.set(0,0,0,0,0,0,0,0),Qr(this.buffer)}},no=class extends ro{constructor(){super(32);he(this,"A",HA[0]|0);he(this,"B",HA[1]|0);he(this,"C",HA[2]|0);he(this,"D",HA[3]|0);he(this,"E",HA[4]|0);he(this,"F",HA[5]|0);he(this,"G",HA[6]|0);he(this,"H",HA[7]|0)}};var ta=z0(()=>new no,X0(1));be();be();var oo=BigInt(0),io=BigInt(1);function xn(Z,_=""){if(typeof Z!="boolean"){let z=_&&`"${_}" `;throw new Error(z+"expected boolean, got type="+typeof Z)}return Z}function Aa(Z){if(typeof Z=="bigint"){if(!Ii(Z))throw new Error("positive bigint expected, got "+Z)}else cA(Z);return Z}function bn(Z){let _=Aa(Z).toString(16);return _.length&1?"0"+_:_}function ra(Z){if(typeof Z!="string")throw new Error("hex string expected, got "+typeof Z);return Z===""?oo:BigInt("0x"+Z)}function Pr(Z){return ra(pr(Z))}function so(Z){return ra(pr(Sg(et(Z)).reverse()))}function hi(Z,_){cA(_),Z=Aa(Z);let z=xr(Z.toString(16).padStart(_*2,"0"));if(z.length!==_)throw new Error("number too large");return z}function ao(Z,_){return hi(Z,_).reverse()}function Sg(Z){return Uint8Array.from(Z)}var Ii=Z=>typeof Z=="bigint"&&oo<=Z;function Hg(Z,_,z){return Ii(Z)&&Ii(_)&&Ii(z)&&_<=Z&&Z<z}function na(Z,_,z,X){if(!Hg(_,z,X))throw new Error("expected valid "+Z+": "+z+" <= n < "+X+", got "+_)}function co(Z){let _;for(_=0;Z>oo;Z>>=io,_+=1);return _}var wn=Z=>(io<<BigInt(Z))-io;function ia(Z,_,z){if(cA(Z,"hashLen"),cA(_,"qByteLen"),typeof z!="function")throw new Error("hmacFn must be a function");let X=He=>new Uint8Array(He),ee=Uint8Array.of(),re=Uint8Array.of(0),ie=Uint8Array.of(1),ae=1e3,fe=X(Z),le=X(Z),Ce=0,ce=()=>{fe.fill(1),le.fill(0),Ce=0},Ee=(...He)=>z(le,Wt(fe,...He)),$=(He=ee)=>{le=Ee(re,He),fe=Ee(),He.length!==0&&(le=Ee(ie,He),fe=Ee())},Be=()=>{if(Ce++>=ae)throw new Error("drbg: tried max amount of iterations");let He=0,Se=[];for(;He<_;){fe=Ee();let Re=fe.slice();Se.push(Re),He+=fe.length}return Wt(...Se)};return(He,Se)=>{ce(),$(He);let Re;for(;!(Re=Se(Be()));)$();return ce(),Re}}function mn(Z,_={},z={}){if(!Z||typeof Z!="object")throw new Error("expected valid options object");function X(re,ie,ae){let fe=Z[re];if(ae&&fe===void 0)return;let le=typeof fe;if(le!==ie||fe===null)throw new Error(`param "${re}" is invalid: expected ${ie}, got ${le}`)}let ee=(re,ie)=>Object.entries(re).forEach(([ae,fe])=>X(ae,fe,ie));ee(_,!1),ee(z,!0)}function go(Z){let _=new WeakMap;return(z,...X)=>{let ee=_.get(z);if(ee!==void 0)return ee;let re=Z(z,...X);return _.set(z,re),re}}be();var wt=BigInt(0),bt=BigInt(1),br=BigInt(2),aa=BigInt(3),ca=BigInt(4),ga=BigInt(5),kg=BigInt(7),fa=BigInt(8),Gg=BigInt(9),ua=BigInt(16);function Zt(Z,_){let z=Z%_;return z>=wt?z:_+z}function St(Z,_,z){let X=Z;for(;_-- >wt;)X*=X,X%=z;return X}function oa(Z,_){if(Z===wt)throw new Error("invert: expected non-zero number");if(_<=wt)throw new Error("invert: expected positive modulus, got "+_);let z=Zt(Z,_),X=_,ee=wt,re=bt,ie=bt,ae=wt;for(;z!==wt;){let le=X/z,Ce=X%z,ce=ee-ie*le,Ee=re-ae*le;X=z,z=Ce,ee=ie,re=ae,ie=ce,ae=Ee}if(X!==bt)throw new Error("invert: does not exist");return Zt(ee,_)}function uo(Z,_,z){if(!Z.eql(Z.sqr(_),z))throw new Error("Cannot find square root")}function Ia(Z,_){let z=(Z.ORDER+bt)/ca,X=Z.pow(_,z);return uo(Z,X,_),X}function vg(Z,_){let z=(Z.ORDER-ga)/fa,X=Z.mul(_,br),ee=Z.pow(X,z),re=Z.mul(_,ee),ie=Z.mul(Z.mul(re,br),ee),ae=Z.mul(re,Z.sub(ie,Z.ONE));return uo(Z,ae,_),ae}function Ug(Z){let _=Vr(Z),z=ha(Z),X=z(_,_.neg(_.ONE)),ee=z(_,X),re=z(_,_.neg(X)),ie=(Z+kg)/ua;return(ae,fe)=>{let le=ae.pow(fe,ie),Ce=ae.mul(le,X),ce=ae.mul(le,ee),Ee=ae.mul(le,re),$=ae.eql(ae.sqr(Ce),fe),Be=ae.eql(ae.sqr(ce),fe);le=ae.cmov(le,Ce,$),Ce=ae.cmov(Ee,ce,Be);let xe=ae.eql(ae.sqr(Ce),fe),He=ae.cmov(le,Ce,xe);return uo(ae,He,fe),He}}function ha(Z){if(Z<aa)throw new Error("sqrt is not defined for small field");let _=Z-bt,z=0;for(;_%br===wt;)_/=br,z++;let X=br,ee=Vr(Z);for(;sa(ee,X)===1;)if(X++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(z===1)return Ia;let re=ee.pow(X,_),ie=(_+bt)/br;return function(fe,le){if(fe.is0(le))return le;if(sa(fe,le)!==1)throw new Error("Cannot find square root");let Ce=z,ce=fe.mul(fe.ONE,re),Ee=fe.pow(le,_),$=fe.pow(le,ie);for(;!fe.eql(Ee,fe.ONE);){if(fe.is0(Ee))return fe.ZERO;let Be=1,xe=fe.sqr(Ee);for(;!fe.eql(xe,fe.ONE);)if(Be++,xe=fe.sqr(xe),Be===Ce)throw new Error("Cannot find square root");let He=bt<<BigInt(Ce-Be-1),Se=fe.pow(ce,He);Ce=Be,ce=fe.sqr(Se),Ee=fe.mul(Ee,ce),$=fe.mul($,Se)}return $}}function Lg(Z){return Z%ca===aa?Ia:Z%fa===ga?vg:Z%ua===Gg?Ug(Z):ha(Z)}var Ng=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Io(Z){let _={ORDER:"bigint",BYTES:"number",BITS:"number"},z=Ng.reduce((X,ee)=>(X[ee]="function",X),_);return mn(Z,z),Z}function Fg(Z,_,z){if(z<wt)throw new Error("invalid exponent, negatives unsupported");if(z===wt)return Z.ONE;if(z===bt)return _;let X=Z.ONE,ee=_;for(;z>wt;)z&bt&&(X=Z.mul(X,ee)),ee=Z.sqr(ee),z>>=bt;return X}function di(Z,_,z=!1){let X=new Array(_.length).fill(z?Z.ZERO:void 0),ee=_.reduce((ie,ae,fe)=>Z.is0(ae)?ie:(X[fe]=ie,Z.mul(ie,ae)),Z.ONE),re=Z.inv(ee);return _.reduceRight((ie,ae,fe)=>Z.is0(ae)?ie:(X[fe]=Z.mul(ie,X[fe]),Z.mul(ie,ae)),re),X}function sa(Z,_){let z=(Z.ORDER-bt)/br,X=Z.pow(_,z),ee=Z.eql(X,Z.ONE),re=Z.eql(X,Z.ZERO),ie=Z.eql(X,Z.neg(Z.ONE));if(!ee&&!re&&!ie)throw new Error("invalid Legendre symbol result");return ee?1:re?0:-1}function Rg(Z,_){_!==void 0&&cA(_);let z=_!==void 0?_:Z.toString(2).length,X=Math.ceil(z/8);return{nBitLength:z,nByteLength:X}}var fo=class{constructor(_,z={}){he(this,"ORDER");he(this,"BITS");he(this,"BYTES");he(this,"isLE");he(this,"ZERO",wt);he(this,"ONE",bt);he(this,"_lengths");he(this,"_sqrt");he(this,"_mod");if(_<=wt)throw new Error("invalid field: expected ORDER > 0, got "+_);let X;this.isLE=!1,z!=null&&typeof z=="object"&&(typeof z.BITS=="number"&&(X=z.BITS),typeof z.sqrt=="function"&&(this.sqrt=z.sqrt),typeof z.isLE=="boolean"&&(this.isLE=z.isLE),z.allowedLengths&&(this._lengths=z.allowedLengths?.slice()),typeof z.modFromBytes=="boolean"&&(this._mod=z.modFromBytes));let{nBitLength:ee,nByteLength:re}=Rg(_,X);if(re>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=_,this.BITS=ee,this.BYTES=re,this._sqrt=void 0,Object.preventExtensions(this)}create(_){return Zt(_,this.ORDER)}isValid(_){if(typeof _!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof _);return wt<=_&&_<this.ORDER}is0(_){return _===wt}isValidNot0(_){return!this.is0(_)&&this.isValid(_)}isOdd(_){return(_&bt)===bt}neg(_){return Zt(-_,this.ORDER)}eql(_,z){return _===z}sqr(_){return Zt(_*_,this.ORDER)}add(_,z){return Zt(_+z,this.ORDER)}sub(_,z){return Zt(_-z,this.ORDER)}mul(_,z){return Zt(_*z,this.ORDER)}pow(_,z){return Fg(this,_,z)}div(_,z){return Zt(_*oa(z,this.ORDER),this.ORDER)}sqrN(_){return _*_}addN(_,z){return _+z}subN(_,z){return _-z}mulN(_,z){return _*z}inv(_){return oa(_,this.ORDER)}sqrt(_){return this._sqrt||(this._sqrt=Lg(this.ORDER)),this._sqrt(this,_)}toBytes(_){return this.isLE?ao(_,this.BYTES):hi(_,this.BYTES)}fromBytes(_,z=!1){et(_);let{_lengths:X,BYTES:ee,isLE:re,ORDER:ie,_mod:ae}=this;if(X){if(!X.includes(_.length)||_.length>ee)throw new Error("Field.fromBytes: expected "+X+" bytes, got "+_.length);let le=new Uint8Array(ee);le.set(_,re?0:le.length-_.length),_=le}if(_.length!==ee)throw new Error("Field.fromBytes: expected "+ee+" bytes, got "+_.length);let fe=re?so(_):Pr(_);if(ae&&(fe=Zt(fe,ie)),!z&&!this.isValid(fe))throw new Error("invalid field element: outside of range 0..ORDER");return fe}invertBatch(_){return di(this,_)}cmov(_,z,X){return X?z:_}};function Vr(Z,_={}){return new fo(Z,_)}function da(Z){if(typeof Z!="bigint")throw new Error("field order must be bigint");let _=Z.toString(2).length;return Math.ceil(_/8)}function ho(Z){let _=da(Z);return _+Math.ceil(_/2)}function lo(Z,_,z=!1){et(Z);let X=Z.length,ee=da(_),re=ho(_);if(X<16||X<re||X>1024)throw new Error("expected "+re+"-1024 bytes of input, got "+X);let ie=z?so(Z):Pr(Z),ae=Zt(ie,_-bt)+bt;return z?ao(ae,ee):hi(ae,ee)}var Wr=BigInt(0),wr=BigInt(1);function Dn(Z,_){let z=_.negate();return Z?z:_}function yo(Z,_){let z=di(Z.Fp,_.map(X=>X.Z));return _.map((X,ee)=>Z.fromAffine(X.toAffine(z[ee])))}function Ea(Z,_){if(!Number.isSafeInteger(Z)||Z<=0||Z>_)throw new Error("invalid window size, expected [1.."+_+"], got W="+Z)}function Bo(Z,_){Ea(Z,_);let z=Math.ceil(_/Z)+1,X=2**(Z-1),ee=2**Z,re=wn(Z),ie=BigInt(Z);return{windows:z,windowSize:X,mask:re,maxNumber:ee,shiftBy:ie}}function la(Z,_,z){let{windowSize:X,mask:ee,maxNumber:re,shiftBy:ie}=z,ae=Number(Z&ee),fe=Z>>ie;ae>X&&(ae-=re,fe+=wr);let le=_*X,Ce=le+Math.abs(ae)-1,ce=ae===0,Ee=ae<0,$=_%2!==0;return{nextN:fe,offset:Ce,isZero:ce,isNeg:Ee,isNegF:$,offsetF:le}}var Co=new WeakMap,ya=new WeakMap;function Eo(Z){return ya.get(Z)||1}function Ba(Z){if(Z!==Wr)throw new Error("invalid wNAF")}var li=class{constructor(_,z){he(this,"BASE");he(this,"ZERO");he(this,"Fn");he(this,"bits");this.BASE=_.BASE,this.ZERO=_.ZERO,this.Fn=_.Fn,this.bits=z}_unsafeLadder(_,z,X=this.ZERO){let ee=_;for(;z>Wr;)z&wr&&(X=X.add(ee)),ee=ee.double(),z>>=wr;return X}precomputeWindow(_,z){let{windows:X,windowSize:ee}=Bo(z,this.bits),re=[],ie=_,ae=ie;for(let fe=0;fe<X;fe++){ae=ie,re.push(ae);for(let le=1;le<ee;le++)ae=ae.add(ie),re.push(ae);ie=ae.double()}return re}wNAF(_,z,X){if(!this.Fn.isValid(X))throw new Error("invalid scalar");let ee=this.ZERO,re=this.BASE,ie=Bo(_,this.bits);for(let ae=0;ae<ie.windows;ae++){let{nextN:fe,offset:le,isZero:Ce,isNeg:ce,isNegF:Ee,offsetF:$}=la(X,ae,ie);X=fe,Ce?re=re.add(Dn(Ee,z[$])):ee=ee.add(Dn(ce,z[le]))}return Ba(X),{p:ee,f:re}}wNAFUnsafe(_,z,X,ee=this.ZERO){let re=Bo(_,this.bits);for(let ie=0;ie<re.windows&&X!==Wr;ie++){let{nextN:ae,offset:fe,isZero:le,isNeg:Ce}=la(X,ie,re);if(X=ae,!le){let ce=z[fe];ee=ee.add(Ce?ce.negate():ce)}}return Ba(X),ee}getPrecomputes(_,z,X){let ee=Co.get(z);return ee||(ee=this.precomputeWindow(z,_),_!==1&&(typeof X=="function"&&(ee=X(ee)),Co.set(z,ee))),ee}cached(_,z,X){let ee=Eo(_);return this.wNAF(ee,this.getPrecomputes(ee,_,X),z)}unsafe(_,z,X,ee){let re=Eo(_);return re===1?this._unsafeLadder(_,z,ee):this.wNAFUnsafe(re,this.getPrecomputes(re,_,X),z,ee)}createCache(_,z){Ea(z,this.bits),ya.set(_,z),Co.delete(_)}hasCache(_){return Eo(_)!==1}};function Qa(Z,_,z,X){let ee=_,re=Z.ZERO,ie=Z.ZERO;for(;z>Wr||X>Wr;)z&wr&&(re=re.add(ee)),X&wr&&(ie=ie.add(ee)),ee=ee.double(),z>>=wr,X>>=wr;return{p1:re,p2:ie}}function Ca(Z,_,z){if(_){if(_.ORDER!==Z)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Io(_),_}else return Vr(Z,{isLE:z})}function pa(Z,_,z={},X){if(X===void 0&&(X=Z==="edwards"),!_||typeof _!="object")throw new Error(`expected valid ${Z} CURVE object`);for(let fe of["p","n","h"]){let le=_[fe];if(!(typeof le=="bigint"&&le>Wr))throw new Error(`CURVE.${fe} must be positive bigint`)}let ee=Ca(_.p,z.Fp,X),re=Ca(_.n,z.Fn,X),ae=["Gx","Gy","a",Z==="weierstrass"?"b":"d"];for(let fe of ae)if(!ee.isValid(_[fe]))throw new Error(`CURVE.${fe} must be valid field element of CURVE.Fp`);return _=Object.freeze(Object.assign({},_)),{CURVE:_,Fp:ee,Fn:re}}function xa(Z,_){return function(X){let ee=Z(X);return{secretKey:ee,publicKey:_(ee)}}}be();be();var Bi=class{constructor(_,z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(ci(_),et(z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(z.length>X?_.create().update(z).digest():z);for(let re=0;re<ee.length;re++)ee[re]^=54;this.iHash.update(ee),this.oHash=_.create();for(let re=0;re<ee.length;re++)ee[re]^=106;this.oHash.update(ee),Qr(ee)}update(_){return jr(this),this.iHash.update(_),this}digestInto(_){jr(this),et(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Qo=(Z,_,z)=>new Bi(Z,_).update(z).digest();Qo.create=(Z,_)=>new Bi(Z,_);var ba=(Z,_)=>(Z+(Z>=0?_:-_)/wa)/_;function Yg(Z,_,z){let[[X,ee],[re,ie]]=_,ae=ba(ie*Z,z),fe=ba(-ee*Z,z),le=Z-ae*X-fe*re,Ce=-ae*ee-fe*ie,ce=le<kA,Ee=Ce<kA;ce&&(le=-le),Ee&&(Ce=-Ce);let $=wn(Math.ceil(co(z)/2))+Zr;if(le<kA||le>=$||Ce<kA||Ce>=$)throw new Error("splitScalar (endomorphism): failed, k="+Z);return{k1neg:ce,k1:le,k2neg:Ee,k2:Ce}}function xo(Z){if(!["compact","recovered","der"].includes(Z))throw new Error('Signature format must be "compact", "recovered", or "der"');return Z}function po(Z,_){let z={};for(let X of Object.keys(_))z[X]=Z[X]===void 0?_[X]:Z[X];return xn(z.lowS,"lowS"),xn(z.prehash,"prehash"),z.format!==void 0&&xo(z.format),z}var bo=class extends Error{constructor(_=""){super(_)}},PA={Err:bo,_tlv:{encode:(Z,_)=>{let{Err:z}=PA;if(Z<0||Z>256)throw new z("tlv.encode: wrong tag");if(_.length&1)throw new z("tlv.encode: unpadded data");let X=_.length/2,ee=bn(X);if(ee.length/2&128)throw new z("tlv.encode: long form length too big");let re=X>127?bn(ee.length/2|128):"";return bn(Z)+re+ee+_},decode(Z,_){let{Err:z}=PA,X=0;if(Z<0||Z>256)throw new z("tlv.encode: wrong tag");if(_.length<2||_[X++]!==Z)throw new z("tlv.decode: wrong tlv");let ee=_[X++],re=!!(ee&128),ie=0;if(!re)ie=ee;else{let fe=ee&127;if(!fe)throw new z("tlv.decode(long): indefinite length not supported");if(fe>4)throw new z("tlv.decode(long): byte length is too big");let le=_.subarray(X,X+fe);if(le.length!==fe)throw new z("tlv.decode: length bytes not complete");if(le[0]===0)throw new z("tlv.decode(long): zero leftmost byte");for(let Ce of le)ie=ie<<8|Ce;if(X+=fe,ie<128)throw new z("tlv.decode(long): not minimal encoding")}let ae=_.subarray(X,X+ie);if(ae.length!==ie)throw new z("tlv.decode: wrong value length");return{v:ae,l:_.subarray(X+ie)}}},_int:{encode(Z){let{Err:_}=PA;if(Z<kA)throw new _("integer: negative integers are not allowed");let z=bn(Z);if(Number.parseInt(z[0],16)&8&&(z="00"+z),z.length&1)throw new _("unexpected DER parsing assertion: unpadded hex");return z},decode(Z){let{Err:_}=PA;if(Z[0]&128)throw new _("invalid signature integer: negative");if(Z[0]===0&&!(Z[1]&128))throw new _("invalid signature integer: unnecessary leading zero");return Pr(Z)}},toSig(Z){let{Err:_,_int:z,_tlv:X}=PA,ee=et(Z,void 0,"signature"),{v:re,l:ie}=X.decode(48,ee);if(ie.length)throw new _("invalid signature: left bytes after parsing");let{v:ae,l:fe}=X.decode(2,re),{v:le,l:Ce}=X.decode(2,fe);if(Ce.length)throw new _("invalid signature: left bytes after parsing");return{r:z.decode(ae),s:z.decode(le)}},hexFromSig(Z){let{_tlv:_,_int:z}=PA,X=_.encode(2,z.encode(Z.r)),ee=_.encode(2,z.encode(Z.s)),re=X+ee;return _.encode(48,re)}},kA=BigInt(0),Zr=BigInt(1),wa=BigInt(2),Ci=BigInt(3),Kg=BigInt(4);function ma(Z,_={}){let z=pa("weierstrass",Z,_),{Fp:X,Fn:ee}=z,re=z.CURVE,{h:ie,n:ae}=re;mn(_,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:fe}=_;if(fe&&(!X.is0(re.a)||typeof fe.beta!="bigint"||!Array.isArray(fe.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let le=Sa(X,ee);function Ce(){if(!X.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function ce(Te,pe,Qe){let{x:Ue,y:Fe}=pe.toAffine(),me=X.toBytes(Ue);if(xn(Qe,"isCompressed"),Qe){Ce();let Ye=!X.isOdd(Fe);return Wt(Da(Ye),me)}else return Wt(Uint8Array.of(4),me,X.toBytes(Fe))}function Ee(Te){et(Te,void 0,"Point");let{publicKey:pe,publicKeyUncompressed:Qe}=le,Ue=Te.length,Fe=Te[0],me=Te.subarray(1);if(Ue===pe&&(Fe===2||Fe===3)){let Ye=X.fromBytes(me);if(!X.isValid(Ye))throw new Error("bad point: is not on curve, wrong x");let Oe=xe(Ye),Le;try{Le=X.sqrt(Oe)}catch(at){let $e=at instanceof Error?": "+at.message:"";throw new Error("bad point: is not on curve, sqrt error"+$e)}Ce();let _e=X.isOdd(Le);return(Fe&1)===1!==_e&&(Le=X.neg(Le)),{x:Ye,y:Le}}else if(Ue===Qe&&Fe===4){let Ye=X.BYTES,Oe=X.fromBytes(me.subarray(0,Ye)),Le=X.fromBytes(me.subarray(Ye,Ye*2));if(!He(Oe,Le))throw new Error("bad point: is not on curve");return{x:Oe,y:Le}}else throw new Error(`bad point: got length ${Ue}, expected compressed=${pe} or uncompressed=${Qe}`)}let $=_.toBytes||ce,Be=_.fromBytes||Ee;function xe(Te){let pe=X.sqr(Te),Qe=X.mul(pe,Te);return X.add(X.add(Qe,X.mul(Te,re.a)),re.b)}function He(Te,pe){let Qe=X.sqr(pe),Ue=xe(Te);return X.eql(Qe,Ue)}if(!He(re.Gx,re.Gy))throw new Error("bad curve params: generator point");let Se=X.mul(X.pow(re.a,Ci),Kg),Re=X.mul(X.sqr(re.b),BigInt(27));if(X.is0(X.add(Se,Re)))throw new Error("bad curve params: a or b");function we(Te,pe,Qe=!1){if(!X.isValid(pe)||Qe&&X.is0(pe))throw new Error(`bad point coordinate ${Te}`);return pe}function Me(Te){if(!(Te instanceof qe))throw new Error("Weierstrass Point expected")}function Ve(Te){if(!fe||!fe.basises)throw new Error("no endo");return Yg(Te,fe.basises,ee.ORDER)}let Ge=go((Te,pe)=>{let{X:Qe,Y:Ue,Z:Fe}=Te;if(X.eql(Fe,X.ONE))return{x:Qe,y:Ue};let me=Te.is0();pe==null&&(pe=me?X.ONE:X.inv(Fe));let Ye=X.mul(Qe,pe),Oe=X.mul(Ue,pe),Le=X.mul(Fe,pe);if(me)return{x:X.ZERO,y:X.ZERO};if(!X.eql(Le,X.ONE))throw new Error("invZ was invalid");return{x:Ye,y:Oe}}),ke=go(Te=>{if(Te.is0()){if(_.allowInfinityPoint&&!X.is0(Te.Y))return;throw new Error("bad point: ZERO")}let{x:pe,y:Qe}=Te.toAffine();if(!X.isValid(pe)||!X.isValid(Qe))throw new Error("bad point: x or y not field elements");if(!He(pe,Qe))throw new Error("bad point: equation left != right");if(!Te.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function Pe(Te,pe,Qe,Ue,Fe){return Qe=new qe(X.mul(Qe.X,Te),Qe.Y,Qe.Z),pe=Dn(Ue,pe),Qe=Dn(Fe,Qe),pe.add(Qe)}let Je=class Je{constructor(pe,Qe,Ue){he(this,"X");he(this,"Y");he(this,"Z");this.X=we("x",pe),this.Y=we("y",Qe,!0),this.Z=we("z",Ue),Object.freeze(this)}static CURVE(){return re}static fromAffine(pe){let{x:Qe,y:Ue}=pe||{};if(!pe||!X.isValid(Qe)||!X.isValid(Ue))throw new Error("invalid affine point");if(pe instanceof Je)throw new Error("projective point not allowed");return X.is0(Qe)&&X.is0(Ue)?Je.ZERO:new Je(Qe,Ue,X.ONE)}static fromBytes(pe){let Qe=Je.fromAffine(Be(et(pe,void 0,"point")));return Qe.assertValidity(),Qe}static fromHex(pe){return Je.fromBytes(xr(pe))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(pe=8,Qe=!0){return tt.createCache(this,pe),Qe||this.multiply(Ci),this}assertValidity(){ke(this)}hasEvenY(){let{y:pe}=this.toAffine();if(!X.isOdd)throw new Error("Field doesn't support isOdd");return!X.isOdd(pe)}equals(pe){Me(pe);let{X:Qe,Y:Ue,Z:Fe}=this,{X:me,Y:Ye,Z:Oe}=pe,Le=X.eql(X.mul(Qe,Oe),X.mul(me,Fe)),_e=X.eql(X.mul(Ue,Oe),X.mul(Ye,Fe));return Le&&_e}negate(){return new Je(this.X,X.neg(this.Y),this.Z)}double(){let{a:pe,b:Qe}=re,Ue=X.mul(Qe,Ci),{X:Fe,Y:me,Z:Ye}=this,Oe=X.ZERO,Le=X.ZERO,_e=X.ZERO,We=X.mul(Fe,Fe),at=X.mul(me,me),$e=X.mul(Ye,Ye),je=X.mul(Fe,me);return je=X.add(je,je),_e=X.mul(Fe,Ye),_e=X.add(_e,_e),Oe=X.mul(pe,_e),Le=X.mul(Ue,$e),Le=X.add(Oe,Le),Oe=X.sub(at,Le),Le=X.add(at,Le),Le=X.mul(Oe,Le),Oe=X.mul(je,Oe),_e=X.mul(Ue,_e),$e=X.mul(pe,$e),je=X.sub(We,$e),je=X.mul(pe,je),je=X.add(je,_e),_e=X.add(We,We),We=X.add(_e,We),We=X.add(We,$e),We=X.mul(We,je),Le=X.add(Le,We),$e=X.mul(me,Ye),$e=X.add($e,$e),We=X.mul($e,je),Oe=X.sub(Oe,We),_e=X.mul($e,at),_e=X.add(_e,_e),_e=X.add(_e,_e),new Je(Oe,Le,_e)}add(pe){Me(pe);let{X:Qe,Y:Ue,Z:Fe}=this,{X:me,Y:Ye,Z:Oe}=pe,Le=X.ZERO,_e=X.ZERO,We=X.ZERO,at=re.a,$e=X.mul(re.b,Ci),je=X.mul(Qe,me),ut=X.mul(Ue,Ye),it=X.mul(Fe,Oe),xt=X.add(Qe,Ue),At=X.add(me,Ye);xt=X.mul(xt,At),At=X.add(je,ut),xt=X.sub(xt,At),At=X.add(Qe,Fe);let dt=X.add(me,Oe);return At=X.mul(At,dt),dt=X.add(je,it),At=X.sub(At,dt),dt=X.add(Ue,Fe),Le=X.add(Ye,Oe),dt=X.mul(dt,Le),Le=X.add(ut,it),dt=X.sub(dt,Le),We=X.mul(at,At),Le=X.mul($e,it),We=X.add(Le,We),Le=X.sub(ut,We),We=X.add(ut,We),_e=X.mul(Le,We),ut=X.add(je,je),ut=X.add(ut,je),it=X.mul(at,it),At=X.mul($e,At),ut=X.add(ut,it),it=X.sub(je,it),it=X.mul(at,it),At=X.add(At,it),je=X.mul(ut,At),_e=X.add(_e,je),je=X.mul(dt,At),Le=X.mul(xt,Le),Le=X.sub(Le,je),je=X.mul(xt,ut),We=X.mul(dt,We),We=X.add(We,je),new Je(Le,_e,We)}subtract(pe){return this.add(pe.negate())}is0(){return this.equals(Je.ZERO)}multiply(pe){let{endo:Qe}=_;if(!ee.isValidNot0(pe))throw new Error("invalid scalar: out of range");let Ue,Fe,me=Ye=>tt.cached(this,Ye,Oe=>yo(Je,Oe));if(Qe){let{k1neg:Ye,k1:Oe,k2neg:Le,k2:_e}=Ve(pe),{p:We,f:at}=me(Oe),{p:$e,f:je}=me(_e);Fe=at.add(je),Ue=Pe(Qe.beta,We,$e,Ye,Le)}else{let{p:Ye,f:Oe}=me(pe);Ue=Ye,Fe=Oe}return yo(Je,[Ue,Fe])[0]}multiplyUnsafe(pe){let{endo:Qe}=_,Ue=this;if(!ee.isValid(pe))throw new Error("invalid scalar: out of range");if(pe===kA||Ue.is0())return Je.ZERO;if(pe===Zr)return Ue;if(tt.hasCache(this))return this.multiply(pe);if(Qe){let{k1neg:Fe,k1:me,k2neg:Ye,k2:Oe}=Ve(pe),{p1:Le,p2:_e}=Qa(Je,Ue,me,Oe);return Pe(Qe.beta,Le,_e,Fe,Ye)}else return tt.unsafe(Ue,pe)}toAffine(pe){return Ge(this,pe)}isTorsionFree(){let{isTorsionFree:pe}=_;return ie===Zr?!0:pe?pe(Je,this):tt.unsafe(this,ae).is0()}clearCofactor(){let{clearCofactor:pe}=_;return ie===Zr?this:pe?pe(Je,this):this.multiplyUnsafe(ie)}isSmallOrder(){return this.multiplyUnsafe(ie).is0()}toBytes(pe=!0){return xn(pe,"isCompressed"),this.assertValidity(),$(Je,this,pe)}toHex(pe=!0){return pr(this.toBytes(pe))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}};he(Je,"BASE",new Je(re.Gx,re.Gy,X.ONE)),he(Je,"ZERO",new Je(X.ZERO,X.ONE,X.ZERO)),he(Je,"Fp",X),he(Je,"Fn",ee);let qe=Je,rt=ee.BITS,tt=new li(qe,_.endo?Math.ceil(rt/2):rt);return qe.BASE.precompute(8),qe}function Da(Z){return Uint8Array.of(Z?2:3)}function Sa(Z,_){return{secretKey:_.BYTES,publicKey:1+Z.BYTES,publicKeyUncompressed:1+2*Z.BYTES,publicKeyHasPrefix:!0,signature:2*_.BYTES}}function Mg(Z,_={}){let{Fn:z}=Z,X=_.randomBytes||fi,ee=Object.assign(Sa(Z.Fp,z),{seed:ho(z.ORDER)});function re($){try{let Be=z.fromBytes($);return z.isValidNot0(Be)}catch{return!1}}function ie($,Be){let{publicKey:xe,publicKeyUncompressed:He}=ee;try{let Se=$.length;return Be===!0&&Se!==xe||Be===!1&&Se!==He?!1:!!Z.fromBytes($)}catch{return!1}}function ae($=X(ee.seed)){return lo(et($,ee.seed,"seed"),z.ORDER)}function fe($,Be=!0){return Z.BASE.multiply(z.fromBytes($)).toBytes(Be)}function le($){let{secretKey:Be,publicKey:xe,publicKeyUncompressed:He}=ee;if(!pn($)||"_lengths"in z&&z._lengths||Be===xe)return;let Se=et($,void 0,"key").length;return Se===xe||Se===He}function Ce($,Be,xe=!0){if(le($)===!0)throw new Error("first arg must be private key");if(le(Be)===!1)throw new Error("second arg must be public key");let He=z.fromBytes($);return Z.fromBytes(Be).multiply(He).toBytes(xe)}let ce={isValidSecretKey:re,isValidPublicKey:ie,randomSecretKey:ae},Ee=xa(ae,fe);return Object.freeze({getPublicKey:fe,getSharedSecret:Ce,keygen:Ee,Point:Z,utils:ce,lengths:ee})}function Ha(Z,_,z={}){ci(_),mn(z,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),z=Object.assign({},z);let X=z.randomBytes||fi,ee=z.hmac||((pe,Qe)=>Qo(_,pe,Qe)),{Fp:re,Fn:ie}=Z,{ORDER:ae,BITS:fe}=ie,{keygen:le,getPublicKey:Ce,getSharedSecret:ce,utils:Ee,lengths:$}=Mg(Z,z),Be={prehash:!0,lowS:typeof z.lowS=="boolean"?z.lowS:!0,format:"compact",extraEntropy:!1},xe=ae*wa<re.ORDER;function He(pe){let Qe=ae>>Zr;return pe>Qe}function Se(pe,Qe){if(!ie.isValidNot0(Qe))throw new Error(`invalid signature ${pe}: out of range 1..Point.Fn.ORDER`);return Qe}function Re(){if(xe)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function we(pe,Qe){xo(Qe);let Ue=$.signature,Fe=Qe==="compact"?Ue:Qe==="recovered"?Ue+1:void 0;return et(pe,Fe)}class Me{constructor(Qe,Ue,Fe){he(this,"r");he(this,"s");he(this,"recovery");if(this.r=Se("r",Qe),this.s=Se("s",Ue),Fe!=null){if(Re(),![0,1,2,3].includes(Fe))throw new Error("invalid recovery id");this.recovery=Fe}Object.freeze(this)}static fromBytes(Qe,Ue=Be.format){we(Qe,Ue);let Fe;if(Ue==="der"){let{r:Le,s:_e}=PA.toSig(et(Qe));return new Me(Le,_e)}Ue==="recovered"&&(Fe=Qe[0],Ue="compact",Qe=Qe.subarray(1));let me=$.signature/2,Ye=Qe.subarray(0,me),Oe=Qe.subarray(me,me*2);return new Me(ie.fromBytes(Ye),ie.fromBytes(Oe),Fe)}static fromHex(Qe,Ue){return this.fromBytes(xr(Qe),Ue)}assertRecovery(){let{recovery:Qe}=this;if(Qe==null)throw new Error("invalid recovery id: must be present");return Qe}addRecoveryBit(Qe){return new Me(this.r,this.s,Qe)}recoverPublicKey(Qe){let{r:Ue,s:Fe}=this,me=this.assertRecovery(),Ye=me===2||me===3?Ue+ae:Ue;if(!re.isValid(Ye))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let Oe=re.toBytes(Ye),Le=Z.fromBytes(Wt(Da((me&1)===0),Oe)),_e=ie.inv(Ye),We=Ge(et(Qe,void 0,"msgHash")),at=ie.create(-We*_e),$e=ie.create(Fe*_e),je=Z.BASE.multiplyUnsafe(at).add(Le.multiplyUnsafe($e));if(je.is0())throw new Error("invalid recovery: point at infinify");return je.assertValidity(),je}hasHighS(){return He(this.s)}toBytes(Qe=Be.format){if(xo(Qe),Qe==="der")return xr(PA.hexFromSig(this));let{r:Ue,s:Fe}=this,me=ie.toBytes(Ue),Ye=ie.toBytes(Fe);return Qe==="recovered"?(Re(),Wt(Uint8Array.of(this.assertRecovery()),me,Ye)):Wt(me,Ye)}toHex(Qe){return pr(this.toBytes(Qe))}}let Ve=z.bits2int||function(Qe){if(Qe.length>8192)throw new Error("input is too large");let Ue=Pr(Qe),Fe=Qe.length*8-fe;return Fe>0?Ue>>BigInt(Fe):Ue},Ge=z.bits2int_modN||function(Qe){return ie.create(Ve(Qe))},ke=wn(fe);function Pe(pe){return na("num < 2^"+fe,pe,kA,ke),ie.toBytes(pe)}function qe(pe,Qe){return et(pe,void 0,"message"),Qe?et(_(pe),void 0,"prehashed message"):pe}function rt(pe,Qe,Ue){let{lowS:Fe,prehash:me,extraEntropy:Ye}=po(Ue,Be);pe=qe(pe,me);let Oe=Ge(pe),Le=ie.fromBytes(Qe);if(!ie.isValidNot0(Le))throw new Error("invalid private key");let _e=[Pe(Le),Pe(Oe)];if(Ye!=null&&Ye!==!1){let je=Ye===!0?X($.secretKey):Ye;_e.push(et(je,void 0,"extraEntropy"))}let We=Wt(..._e),at=Oe;function $e(je){let ut=Ve(je);if(!ie.isValidNot0(ut))return;let it=ie.inv(ut),xt=Z.BASE.multiply(ut).toAffine(),At=ie.create(xt.x);if(At===kA)return;let dt=ie.create(it*ie.create(at+At*Le));if(dt===kA)return;let vr=(xt.x===At?0:2)|Number(xt.y&Zr),eA=dt;return Fe&&He(dt)&&(eA=ie.neg(dt),vr^=1),new Me(At,eA,xe?void 0:vr)}return{seed:We,k2sig:$e}}function tt(pe,Qe,Ue={}){let{seed:Fe,k2sig:me}=rt(pe,Qe,Ue);return ia(_.outputLen,ie.BYTES,ee)(Fe,me).toBytes(Ue.format)}function Je(pe,Qe,Ue,Fe={}){let{lowS:me,prehash:Ye,format:Oe}=po(Fe,Be);if(Ue=et(Ue,void 0,"publicKey"),Qe=qe(Qe,Ye),!pn(pe)){let Le=pe instanceof Me?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+Le)}we(pe,Oe);try{let Le=Me.fromBytes(pe,Oe),_e=Z.fromBytes(Ue);if(me&&Le.hasHighS())return!1;let{r:We,s:at}=Le,$e=Ge(Qe),je=ie.inv(at),ut=ie.create($e*je),it=ie.create(We*je),xt=Z.BASE.multiplyUnsafe(ut).add(_e.multiplyUnsafe(it));return xt.is0()?!1:ie.create(xt.x)===We}catch{return!1}}function Te(pe,Qe,Ue={}){let{prehash:Fe}=po(Ue,Be);return Qe=qe(Qe,Fe),Me.fromBytes(pe,"recovered").recoverPublicKey(Qe).toBytes()}return Object.freeze({keygen:le,getPublicKey:Ce,getSharedSecret:ce,utils:Ee,lengths:$,Point:Z,sign:tt,verify:Je,recoverPublicKey:Te,Signature:Me,hash:_})}var mo={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},qg={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var ka=BigInt(2);function Og(Z){let _=mo.p,z=BigInt(3),X=BigInt(6),ee=BigInt(11),re=BigInt(22),ie=BigInt(23),ae=BigInt(44),fe=BigInt(88),le=Z*Z*Z%_,Ce=le*le*Z%_,ce=St(Ce,z,_)*Ce%_,Ee=St(ce,z,_)*Ce%_,$=St(Ee,ka,_)*le%_,Be=St($,ee,_)*$%_,xe=St(Be,re,_)*Be%_,He=St(xe,ae,_)*xe%_,Se=St(He,fe,_)*He%_,Re=St(Se,ae,_)*xe%_,we=St(Re,z,_)*Ce%_,Me=St(we,ie,_)*Be%_,Ve=St(Me,X,_)*le%_,Ge=St(Ve,ka,_);if(!wo.eql(wo.sqr(Ge),Z))throw new Error("Cannot find square root");return Ge}var wo=Vr(mo.p,{sqrt:Og}),Jg=ma(mo,{Fp:wo,endo:qg}),mr=Ha(Jg,ta);be();be();function Tg(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function Ga(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function Ht(Z,_,z=""){let X=Tg(Z),ee=Z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=z&&`"${z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function va(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Ga(Z.outputLen),Ga(Z.blockLen)}function zr(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function Ua(Z,_){Ht(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function Ut(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function VA(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function zt(Z,_){return Z<<32-_|Z>>>_}function Sn(Z,_){return Z<<_|Z>>>32-_>>>0}function Hn(...Z){let _=0;for(let X=0;X<Z.length;X++){let ee=Z[X];Ht(ee),_+=ee.length}let z=new Uint8Array(_);for(let X=0,ee=0;X<Z.length;X++){let re=Z[X];z.set(re,ee),ee+=re.length}return z}function kn(Z,_={}){let z=(ee,re)=>Z(re).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}var Do=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])});var Ei=class{constructor(_,z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(va(_),Ht(z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(z.length>X?_.create().update(z).digest():z);for(let re=0;re<ee.length;re++)ee[re]^=54;this.iHash.update(ee),this.oHash=_.create();for(let re=0;re<ee.length;re++)ee[re]^=106;this.oHash.update(ee),Ut(ee)}update(_){return zr(this),this.iHash.update(_),this}digestInto(_){zr(this),Ht(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},yi=(Z,_,z)=>new Ei(Z,_).update(z).digest();yi.create=(Z,_)=>new Ei(Z,_);be();be();function So(Z,_,z){return Z&_^~Z&z}function Ho(Z,_,z){return Z&_^Z&z^_&z}var Dr=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=VA(this.buffer)}update(_){zr(this),Ht(_);let{view:z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=VA(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){zr(this),Ua(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;z[ie++]=128,Ut(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=VA(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},GA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Qt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var _g=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Na=Uint8Array.from(new Array(16).fill(0).map((Z,_)=>_)),jg=Na.map(Z=>(9*Z+5)%16),Fa=(()=>{let z=[[Na],[jg]];for(let X=0;X<4;X++)for(let ee of z)ee.push(ee[X].map(re=>_g[re]));return z})(),Ra=Fa[0],Ya=Fa[1],Ka=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(Z=>Uint8Array.from(Z)),Pg=Ra.map((Z,_)=>Z.map(z=>Ka[_][z])),Vg=Ya.map((Z,_)=>Z.map(z=>Ka[_][z])),Wg=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Zg=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function La(Z,_,z,X){return Z===0?_^z^X:Z===1?_&z|~_&X:Z===2?(_|~z)^X:Z===3?_&X|z&~X:_^(z|~X)}var Qi=new Uint32Array(16),ko=class extends Dr{constructor(){super(64,20,8,!0);he(this,"h0",1732584193);he(this,"h1",-271733879);he(this,"h2",-1732584194);he(this,"h3",271733878);he(this,"h4",-1009589776)}get(){let{h0:z,h1:X,h2:ee,h3:re,h4:ie}=this;return[z,X,ee,re,ie]}set(z,X,ee,re,ie){this.h0=z|0,this.h1=X|0,this.h2=ee|0,this.h3=re|0,this.h4=ie|0}process(z,X){for(let Be=0;Be<16;Be++,X+=4)Qi[Be]=z.getUint32(X,!0);let ee=this.h0|0,re=ee,ie=this.h1|0,ae=ie,fe=this.h2|0,le=fe,Ce=this.h3|0,ce=Ce,Ee=this.h4|0,$=Ee;for(let Be=0;Be<5;Be++){let xe=4-Be,He=Wg[Be],Se=Zg[Be],Re=Ra[Be],we=Ya[Be],Me=Pg[Be],Ve=Vg[Be];for(let Ge=0;Ge<16;Ge++){let ke=Sn(ee+La(Be,ie,fe,Ce)+Qi[Re[Ge]]+He,Me[Ge])+Ee|0;ee=Ee,Ee=Ce,Ce=Sn(fe,10)|0,fe=ie,ie=ke}for(let Ge=0;Ge<16;Ge++){let ke=Sn(re+La(xe,ae,le,ce)+Qi[we[Ge]]+Se,Ve[Ge])+$|0;re=$,$=ce,ce=Sn(le,10)|0,le=ae,ae=ke}}this.set(this.h1+fe+ce|0,this.h2+Ce+$|0,this.h3+Ee+re|0,this.h4+ee+ae|0,this.h0+ie+le|0)}roundClean(){Ut(Qi)}destroy(){this.destroyed=!0,Ut(this.buffer),this.set(0,0,0,0,0)}},Ma=kn(()=>new ko);be();be();var pi=BigInt(4294967295),qa=BigInt(32);function zg(Z,_=!1){return _?{h:Number(Z&pi),l:Number(Z>>qa&pi)}:{h:Number(Z>>qa&pi)|0,l:Number(Z&pi)|0}}function Oa(Z,_=!1){let z=Z.length,X=new Uint32Array(z),ee=new Uint32Array(z);for(let re=0;re<z;re++){let{h:ie,l:ae}=zg(Z[re],_);[X[re],ee[re]]=[ie,ae]}return[X,ee]}var Go=(Z,_,z)=>Z>>>z,vo=(Z,_,z)=>Z<<32-z|_>>>z,Sr=(Z,_,z)=>Z>>>z|_<<32-z,Hr=(Z,_,z)=>Z<<32-z|_>>>z,Gn=(Z,_,z)=>Z<<64-z|_>>>z-32,vn=(Z,_,z)=>Z>>>z-32|_<<64-z;function gA(Z,_,z,X){let ee=(_>>>0)+(X>>>0);return{h:Z+z+(ee/2**32|0)|0,l:ee|0}}var Ja=(Z,_,z)=>(Z>>>0)+(_>>>0)+(z>>>0),Ta=(Z,_,z,X)=>_+z+X+(Z/2**32|0)|0,_a=(Z,_,z,X)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0),ja=(Z,_,z,X,ee)=>_+z+X+ee+(Z/2**32|0)|0,Pa=(Z,_,z,X,ee)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0)+(ee>>>0),Va=(Z,_,z,X,ee,re)=>_+z+X+ee+re+(Z/2**32|0)|0;var $g=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),WA=new Uint32Array(64),Uo=class extends Dr{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,re,ie,ae,fe]}set(_,z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ce=0;ce<16;ce++,z+=4)WA[ce]=_.getUint32(z,!1);for(let ce=16;ce<64;ce++){let Ee=WA[ce-15],$=WA[ce-2],Be=zt(Ee,7)^zt(Ee,18)^Ee>>>3,xe=zt($,17)^zt($,19)^$>>>10;WA[ce]=xe+WA[ce-7]+Be+WA[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=zt(ae,6)^zt(ae,11)^zt(ae,25),$=Ce+Ee+So(ae,fe,le)+$g[ce]+WA[ce]|0,xe=(zt(X,2)^zt(X,13)^zt(X,22))+Ho(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Ut(WA)}destroy(){this.set(0,0,0,0,0,0,0,0),Ut(this.buffer)}},Lo=class extends Uo{constructor(){super(32);he(this,"A",GA[0]|0);he(this,"B",GA[1]|0);he(this,"C",GA[2]|0);he(this,"D",GA[3]|0);he(this,"E",GA[4]|0);he(this,"F",GA[5]|0);he(this,"G",GA[6]|0);he(this,"H",GA[7]|0)}};var Wa=Oa(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(Z=>BigInt(Z))),ef=Wa[0],tf=Wa[1],ZA=new Uint32Array(80),zA=new Uint32Array(80),No=class extends Dr{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:z,Bh:X,Bl:ee,Ch:re,Cl:ie,Dh:ae,Dl:fe,Eh:le,El:Ce,Fh:ce,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He]}set(_,z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=re|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=le|0,this.El=Ce|0,this.Fh=ce|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,z){for(let we=0;we<16;we++,z+=4)ZA[we]=_.getUint32(z),zA[we]=_.getUint32(z+=4);for(let we=16;we<80;we++){let Me=ZA[we-15]|0,Ve=zA[we-15]|0,Ge=Sr(Me,Ve,1)^Sr(Me,Ve,8)^Go(Me,Ve,7),ke=Hr(Me,Ve,1)^Hr(Me,Ve,8)^vo(Me,Ve,7),Pe=ZA[we-2]|0,qe=zA[we-2]|0,rt=Sr(Pe,qe,19)^Gn(Pe,qe,61)^Go(Pe,qe,6),tt=Hr(Pe,qe,19)^vn(Pe,qe,61)^vo(Pe,qe,6),Je=_a(ke,tt,zA[we-7],zA[we-16]),Te=ja(Je,Ge,rt,ZA[we-7],ZA[we-16]);ZA[we]=Te|0,zA[we]=Je|0}let{Ah:X,Al:ee,Bh:re,Bl:ie,Ch:ae,Cl:fe,Dh:le,Dl:Ce,Eh:ce,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=Sr(ce,Ee,14)^Sr(ce,Ee,18)^Gn(ce,Ee,41),Ve=Hr(ce,Ee,14)^Hr(ce,Ee,18)^vn(ce,Ee,41),Ge=ce&$^~ce&xe,ke=Ee&Be^~Ee&He,Pe=Pa(Re,Ve,ke,tf[we],zA[we]),qe=Va(Pe,Se,Me,Ge,ef[we],ZA[we]),rt=Pe|0,tt=Sr(X,ee,28)^Gn(X,ee,34)^Gn(X,ee,39),Je=Hr(X,ee,28)^vn(X,ee,34)^vn(X,ee,39),Te=X&re^X&ae^re&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ce|0,Be=Ee|0,{h:ce,l:Ee}=gA(le|0,Ce|0,qe|0,rt|0),le=ae|0,Ce=fe|0,ae=re|0,fe=ie|0,re=X|0,ie=ee|0;let Qe=Ja(rt,Je,pe);X=Ta(Qe,qe,tt,Te),ee=Qe|0}({h:X,l:ee}=gA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:re,l:ie}=gA(this.Bh|0,this.Bl|0,re|0,ie|0),{h:ae,l:fe}=gA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:le,l:Ce}=gA(this.Dh|0,this.Dl|0,le|0,Ce|0),{h:ce,l:Ee}=gA(this.Eh|0,this.El|0,ce|0,Ee|0),{h:$,l:Be}=gA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=gA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=gA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He,Se,Re)}roundClean(){Ut(ZA,zA)}destroy(){Ut(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Fo=class extends No{constructor(){super(64);he(this,"Ah",Qt[0]|0);he(this,"Al",Qt[1]|0);he(this,"Bh",Qt[2]|0);he(this,"Bl",Qt[3]|0);he(this,"Ch",Qt[4]|0);he(this,"Cl",Qt[5]|0);he(this,"Dh",Qt[6]|0);he(this,"Dl",Qt[7]|0);he(this,"Eh",Qt[8]|0);he(this,"El",Qt[9]|0);he(this,"Fh",Qt[10]|0);he(this,"Fl",Qt[11]|0);he(this,"Gh",Qt[12]|0);he(this,"Gl",Qt[13]|0);he(this,"Hh",Qt[14]|0);he(this,"Hl",Qt[15]|0)}};var Ro=kn(()=>new Lo,Do(1));var Yo=kn(()=>new Fo,Do(3));be();function xi(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function Za(Z,_){return Array.isArray(_)?_.length===0?!0:Z?_.every(z=>typeof z=="string"):_.every(z=>Number.isSafeInteger(z)):!1}function Af(Z){if(typeof Z!="function")throw new Error("function expected");return!0}function bi(Z,_){if(typeof _!="string")throw new Error(`${Z}: string expected`);return!0}function Xr(Z){if(!Number.isSafeInteger(Z))throw new Error(`invalid integer: ${Z}`)}function wi(Z){if(!Array.isArray(Z))throw new Error("array expected")}function mi(Z,_){if(!Za(!0,_))throw new Error(`${Z}: array of strings expected`)}function za(Z,_){if(!Za(!1,_))throw new Error(`${Z}: array of numbers expected`)}function Oo(...Z){let _=re=>re,z=(re,ie)=>ae=>re(ie(ae)),X=Z.map(re=>re.encode).reduceRight(z,_),ee=Z.map(re=>re.decode).reduce(z,_);return{encode:X,decode:ee}}function Xa(Z){let _=typeof Z=="string"?Z.split(""):Z,z=_.length;mi("alphabet",_);let X=new Map(_.map((ee,re)=>[ee,re]));return{encode:ee=>(wi(ee),ee.map(re=>{if(!Number.isSafeInteger(re)||re<0||re>=z)throw new Error(`alphabet.encode: digit index outside alphabet "${re}". Allowed: ${Z}`);return _[re]})),decode:ee=>(wi(ee),ee.map(re=>{bi("alphabet.decode",re);let ie=X.get(re);if(ie===void 0)throw new Error(`Unknown letter: "${re}". Allowed: ${Z}`);return ie}))}}function $a(Z=""){return bi("join",Z),{encode:_=>(mi("join.decode",_),_.join(Z)),decode:_=>(bi("join.decode",_),_.split(Z))}}function rf(Z,_="="){return Xr(Z),bi("padding",_),{encode(z){for(mi("padding.encode",z);z.length*Z%8;)z.push(_);return z},decode(z){mi("padding.decode",z);let X=z.length;if(X*Z%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;X>0&&z[X-1]===_;X--)if((X-1)*Z%8===0)throw new Error("padding: invalid, string has too much padding");return z.slice(0,X)}}}function Mo(Z,_,z){if(_<2)throw new Error(`convertRadix: invalid from=${_}, base cannot be less than 2`);if(z<2)throw new Error(`convertRadix: invalid to=${z}, base cannot be less than 2`);if(wi(Z),!Z.length)return[];let X=0,ee=[],re=Array.from(Z,ae=>{if(Xr(ae),ae<0||ae>=_)throw new Error(`invalid integer: ${ae}`);return ae}),ie=re.length;for(;;){let ae=0,fe=!0;for(let le=X;le<ie;le++){let Ce=re[le],ce=_*ae,Ee=ce+Ce;if(!Number.isSafeInteger(Ee)||ce/_!==ae||Ee-Ce!==ce)throw new Error("convertRadix: carry overflow");let $=Ee/z;ae=Ee%z;let Be=Math.floor($);if(re[le]=Be,!Number.isSafeInteger(Be)||Be*z+ae!==Ee)throw new Error("convertRadix: carry overflow");if(fe)Be?fe=!1:X=le;else continue}if(ee.push(ae),fe)break}for(let ae=0;ae<Z.length-1&&Z[ae]===0;ae++)ee.push(0);return ee.reverse()}var ec=(Z,_)=>_===0?Z:ec(_,Z%_),Di=(Z,_)=>Z+(_-ec(Z,_)),Ko=(()=>{let Z=[];for(let _=0;_<40;_++)Z.push(2**_);return Z})();function qo(Z,_,z,X){if(wi(Z),_<=0||_>32)throw new Error(`convertRadix2: wrong from=${_}`);if(z<=0||z>32)throw new Error(`convertRadix2: wrong to=${z}`);if(Di(_,z)>32)throw new Error(`convertRadix2: carry overflow from=${_} to=${z} carryBits=${Di(_,z)}`);let ee=0,re=0,ie=Ko[_],ae=Ko[z]-1,fe=[];for(let le of Z){if(Xr(le),le>=ie)throw new Error(`convertRadix2: invalid data word=${le} from=${_}`);if(ee=ee<<_|le,re+_>32)throw new Error(`convertRadix2: carry overflow pos=${re} from=${_}`);for(re+=_;re>=z;re-=z)fe.push((ee>>re-z&ae)>>>0);let Ce=Ko[re];if(Ce===void 0)throw new Error("invalid carry");ee&=Ce-1}if(ee=ee<<z-re&ae,!X&&re>=_)throw new Error("Excess padding");if(!X&&ee>0)throw new Error(`Non-zero padding: ${ee}`);return X&&re>0&&fe.push(ee>>>0),fe}function tc(Z){Xr(Z);let _=2**8;return{encode:z=>{if(!xi(z))throw new Error("radix.encode input should be Uint8Array");return Mo(Array.from(z),_,Z)},decode:z=>(za("radix.decode",z),Uint8Array.from(Mo(z,Z,_)))}}function nf(Z,_=!1){if(Xr(Z),Z<=0||Z>32)throw new Error("radix2: bits should be in (0..32]");if(Di(8,Z)>32||Di(Z,8)>32)throw new Error("radix2: carry overflow");return{encode:z=>{if(!xi(z))throw new Error("radix2.encode input should be Uint8Array");return qo(Array.from(z),8,Z,!_)},decode:z=>(za("radix2.decode",z),Uint8Array.from(qo(z,Z,8,_)))}}function Ac(Z,_){return Xr(Z),Af(_),{encode(z){if(!xi(z))throw new Error("checksum.encode: input should be Uint8Array");let X=_(z).slice(0,Z),ee=new Uint8Array(z.length+Z);return ee.set(z),ee.set(X,z.length),ee},decode(z){if(!xi(z))throw new Error("checksum.decode: input should be Uint8Array");let X=z.slice(0,-Z),ee=z.slice(-Z),re=_(X).slice(0,Z);for(let ie=0;ie<Z;ie++)if(re[ie]!==ee[ie])throw new Error("Invalid checksum");return X}}}var Un={alphabet:Xa,chain:Oo,checksum:Ac,convertRadix:Mo,convertRadix2:qo,radix:tc,radix2:nf,join:$a,padding:rf};var of=Z=>Oo(tc(58),Xa(Z),$a("")),sf=of("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var rc=Z=>Oo(Ac(4,_=>Z(Z(_))),sf);var Nn=mr.Point,{Fn:Ln}=Nn,Jo=rc(Ro),af=Uint8Array.from("Bitcoin seed".split(""),Z=>Z.charCodeAt(0)),To={private:76066276,public:76067358},_o=2147483648,cf=Z=>Ma(Ro(Z)),gf=Z=>VA(Z).getUint32(0,!1),Si=Z=>{if(!Number.isSafeInteger(Z)||Z<0||Z>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+Z);let _=new Uint8Array(4);return VA(_).setUint32(0,Z,!1),_},Hi=class Z{constructor(_){he(this,"versions");he(this,"depth",0);he(this,"index",0);he(this,"chainCode",null);he(this,"parentFingerprint",0);he(this,"_privateKey");he(this,"_publicKey");he(this,"pubHash");if(!_||typeof _!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=_.versions||To,this.depth=_.depth||0,this.chainCode=_.chainCode||null,this.index=_.index||0,this.parentFingerprint=_.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(this.depth>255)throw new Error("HDKey: depth exceeds the serializable value 255");if(_.publicKey&&_.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(_.privateKey){if(!mr.utils.isValidSecretKey(_.privateKey))throw new Error("Invalid private key");this._privateKey=_.privateKey,this._publicKey=mr.getPublicKey(_.privateKey,!0)}else if(_.publicKey)this._publicKey=Nn.fromBytes(_.publicKey).toBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=cf(this._publicKey)}get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return gf(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this._privateKey||null}get publicKey(){return this._publicKey||null}get privateExtendedKey(){let _=this._privateKey;if(!_)throw new Error("No private key");return Jo.encode(this.serialize(this.versions.private,Hn(Uint8Array.of(0),_)))}get publicExtendedKey(){if(!this._publicKey)throw new Error("No public key");return Jo.encode(this.serialize(this.versions.public,this._publicKey))}static fromMasterSeed(_,z=To){if(Ht(_),8*_.length<128||8*_.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+_.length);let X=yi(Yo,af,_),ee=X.slice(0,32),re=X.slice(32);return new Z({versions:z,chainCode:re,privateKey:ee})}static fromExtendedKey(_,z=To){let X=Jo.decode(_),ee=VA(X),re=ee.getUint32(0,!1),ie={versions:z,depth:X[4],parentFingerprint:ee.getUint32(5,!1),index:ee.getUint32(9,!1),chainCode:X.slice(13,45)},ae=X.slice(45),fe=ae[0]===0;if(re!==z[fe?"private":"public"])throw new Error("Version mismatch");return fe?new Z({...ie,privateKey:ae.slice(1)}):new Z({...ie,publicKey:ae})}static fromJSON(_){return Z.fromExtendedKey(_.xpriv)}derive(_){if(!/^[mM]'?/.test(_))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(_))return this;let z=_.replace(/^[mM]'?\//,"").split("/"),X=this;for(let ee of z){let re=/^(\d+)('?)$/.exec(ee),ie=re&&re[1];if(!re||re.length!==3||typeof ie!="string")throw new Error("invalid child index: "+ee);let ae=+ie;if(!Number.isSafeInteger(ae)||ae>=_o)throw new Error("Invalid index");re[2]==="'"&&(ae+=_o),X=X.deriveChild(ae)}return X}deriveChild(_){if(!this._publicKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let z=Si(_);if(_>=_o){let fe=this._privateKey;if(!fe)throw new Error("Could not derive hardened child key");z=Hn(Uint8Array.of(0),fe,z)}else z=Hn(this._publicKey,z);let X=yi(Yo,this.chainCode,z),ee=X.slice(0,32),re=X.slice(32);if(!mr.utils.isValidSecretKey(ee))throw new Error("Tweak bigger than curve order");let ie={versions:this.versions,chainCode:re,depth:this.depth+1,parentFingerprint:this.fingerprint,index:_},ae=Ln.fromBytes(ee);try{if(this._privateKey){let fe=Ln.create(Ln.fromBytes(this._privateKey)+ae);if(!Ln.isValidNot0(fe))throw new Error("The tweak was out of range or the resulted private key is invalid");ie.privateKey=Ln.toBytes(fe)}else{let fe=Nn.fromBytes(this._publicKey).add(Nn.BASE.multiply(ae));if(fe.equals(Nn.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");ie.publicKey=fe.toBytes(!0)}return new Z(ie)}catch{return this.deriveChild(_+1)}}sign(_){if(!this._privateKey)throw new Error("No privateKey set!");return Ht(_,32),mr.sign(_,this._privateKey,{prehash:!1})}verify(_,z){if(Ht(_,32),Ht(z,64),!this._publicKey)throw new Error("No publicKey set!");return mr.verify(z,_,this._publicKey,{prehash:!1})}wipePrivateData(){return this._privateKey&&(this._privateKey.fill(0),this._privateKey=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(_,z){if(!this.chainCode)throw new Error("No chainCode set");return Ht(z,33),Hn(Si(_),new Uint8Array([this.depth]),Si(this.parentFingerprint),Si(this.index),this.chainCode,z)}};be();be();be();be();function ff(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function XA(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function vA(Z,_,z=""){let X=ff(Z),ee=Z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=z&&`"${z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function ki(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");XA(Z.outputLen),XA(Z.blockLen)}function $r(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function nc(Z,_){vA(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function Xt(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function en(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function $t(Z,_){return Z<<32-_|Z>>>_}function uf(Z){if(typeof Z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(Z))}function jo(Z,_=""){return typeof Z=="string"?uf(Z):vA(Z,void 0,_)}function ic(Z,_){if(_!==void 0&&{}.toString.call(_)!=="[object Object]")throw new Error("options must be object or undefined");return Object.assign(Z,_)}function Po(Z,_={}){let z=(ee,re)=>Z(re).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}function oc(Z=32){let _=typeof globalThis=="object"?globalThis.crypto:null;if(typeof _?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return _.getRandomValues(new Uint8Array(Z))}var Vo=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])});var Gi=class{constructor(_,z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(ki(_),vA(z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(z.length>X?_.create().update(z).digest():z);for(let re=0;re<ee.length;re++)ee[re]^=54;this.iHash.update(ee),this.oHash=_.create();for(let re=0;re<ee.length;re++)ee[re]^=106;this.oHash.update(ee),Xt(ee)}update(_){return $r(this),this.iHash.update(_),this}digestInto(_){$r(this),vA(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Wo=(Z,_,z)=>new Gi(Z,_).update(z).digest();Wo.create=(Z,_)=>new Gi(Z,_);function If(Z,_,z,X){ki(Z);let ee=ic({dkLen:32,asyncTick:10},X),{c:re,dkLen:ie,asyncTick:ae}=ee;if(XA(re,"c"),XA(ie,"dkLen"),XA(ae,"asyncTick"),re<1)throw new Error("iterations (c) must be >= 1");let fe=jo(_,"password"),le=jo(z,"salt"),Ce=new Uint8Array(ie),ce=Wo.create(Z,fe),Ee=ce._cloneInto().update(le);return{c:re,dkLen:ie,asyncTick:ae,DK:Ce,PRF:ce,PRFSalt:Ee}}function hf(Z,_,z,X,ee){return Z.destroy(),_.destroy(),X&&X.destroy(),Xt(ee),z}function sc(Z,_,z,X){let{c:ee,dkLen:re,DK:ie,PRF:ae,PRFSalt:fe}=If(Z,_,z,X),le,Ce=new Uint8Array(4),ce=en(Ce),Ee=new Uint8Array(ae.outputLen);for(let $=1,Be=0;Be<re;$++,Be+=ae.outputLen){let xe=ie.subarray(Be,Be+ae.outputLen);ce.setInt32(0,$,!1),(le=fe._cloneInto(le)).update(Ce).digestInto(Ee),xe.set(Ee.subarray(0,xe.length));for(let He=1;He<ee;He++){ae._cloneInto(le).update(Ee).digestInto(Ee);for(let Se=0;Se<xe.length;Se++)xe[Se]^=Ee[Se]}}return hf(ae,fe,ie,le,Ee)}be();be();function ac(Z,_,z){return Z&_^~Z&z}function cc(Z,_,z){return Z&_^Z&z^_&z}var Fn=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=en(this.buffer)}update(_){$r(this),vA(_);let{view:z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=en(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){$r(this),nc(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;z[ie++]=128,Xt(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=en(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},UA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var pt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);be();var vi=BigInt(4294967295),gc=BigInt(32);function df(Z,_=!1){return _?{h:Number(Z&vi),l:Number(Z>>gc&vi)}:{h:Number(Z>>gc&vi)|0,l:Number(Z&vi)|0}}function fc(Z,_=!1){let z=Z.length,X=new Uint32Array(z),ee=new Uint32Array(z);for(let re=0;re<z;re++){let{h:ie,l:ae}=df(Z[re],_);[X[re],ee[re]]=[ie,ae]}return[X,ee]}var Zo=(Z,_,z)=>Z>>>z,zo=(Z,_,z)=>Z<<32-z|_>>>z,kr=(Z,_,z)=>Z>>>z|_<<32-z,Gr=(Z,_,z)=>Z<<32-z|_>>>z,Rn=(Z,_,z)=>Z<<64-z|_>>>z-32,Yn=(Z,_,z)=>Z>>>z-32|_<<64-z;function fA(Z,_,z,X){let ee=(_>>>0)+(X>>>0);return{h:Z+z+(ee/2**32|0)|0,l:ee|0}}var uc=(Z,_,z)=>(Z>>>0)+(_>>>0)+(z>>>0),Ic=(Z,_,z,X)=>_+z+X+(Z/2**32|0)|0,hc=(Z,_,z,X)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0),dc=(Z,_,z,X,ee)=>_+z+X+ee+(Z/2**32|0)|0,lc=(Z,_,z,X,ee)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0)+(ee>>>0),Bc=(Z,_,z,X,ee,re)=>_+z+X+ee+re+(Z/2**32|0)|0;var Bf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),$A=new Uint32Array(64),Xo=class extends Fn{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,re,ie,ae,fe]}set(_,z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ce=0;ce<16;ce++,z+=4)$A[ce]=_.getUint32(z,!1);for(let ce=16;ce<64;ce++){let Ee=$A[ce-15],$=$A[ce-2],Be=$t(Ee,7)^$t(Ee,18)^Ee>>>3,xe=$t($,17)^$t($,19)^$>>>10;$A[ce]=xe+$A[ce-7]+Be+$A[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=$t(ae,6)^$t(ae,11)^$t(ae,25),$=Ce+Ee+ac(ae,fe,le)+Bf[ce]+$A[ce]|0,xe=($t(X,2)^$t(X,13)^$t(X,22))+cc(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Xt($A)}destroy(){this.set(0,0,0,0,0,0,0,0),Xt(this.buffer)}},$o=class extends Xo{constructor(){super(32);he(this,"A",UA[0]|0);he(this,"B",UA[1]|0);he(this,"C",UA[2]|0);he(this,"D",UA[3]|0);he(this,"E",UA[4]|0);he(this,"F",UA[5]|0);he(this,"G",UA[6]|0);he(this,"H",UA[7]|0)}};var Cc=fc(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(Z=>BigInt(Z))),Cf=Cc[0],Ef=Cc[1],er=new Uint32Array(80),tr=new Uint32Array(80),es=class extends Fn{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:z,Bh:X,Bl:ee,Ch:re,Cl:ie,Dh:ae,Dl:fe,Eh:le,El:Ce,Fh:ce,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He]}set(_,z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=re|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=le|0,this.El=Ce|0,this.Fh=ce|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,z){for(let we=0;we<16;we++,z+=4)er[we]=_.getUint32(z),tr[we]=_.getUint32(z+=4);for(let we=16;we<80;we++){let Me=er[we-15]|0,Ve=tr[we-15]|0,Ge=kr(Me,Ve,1)^kr(Me,Ve,8)^Zo(Me,Ve,7),ke=Gr(Me,Ve,1)^Gr(Me,Ve,8)^zo(Me,Ve,7),Pe=er[we-2]|0,qe=tr[we-2]|0,rt=kr(Pe,qe,19)^Rn(Pe,qe,61)^Zo(Pe,qe,6),tt=Gr(Pe,qe,19)^Yn(Pe,qe,61)^zo(Pe,qe,6),Je=hc(ke,tt,tr[we-7],tr[we-16]),Te=dc(Je,Ge,rt,er[we-7],er[we-16]);er[we]=Te|0,tr[we]=Je|0}let{Ah:X,Al:ee,Bh:re,Bl:ie,Ch:ae,Cl:fe,Dh:le,Dl:Ce,Eh:ce,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=kr(ce,Ee,14)^kr(ce,Ee,18)^Rn(ce,Ee,41),Ve=Gr(ce,Ee,14)^Gr(ce,Ee,18)^Yn(ce,Ee,41),Ge=ce&$^~ce&xe,ke=Ee&Be^~Ee&He,Pe=lc(Re,Ve,ke,Ef[we],tr[we]),qe=Bc(Pe,Se,Me,Ge,Cf[we],er[we]),rt=Pe|0,tt=kr(X,ee,28)^Rn(X,ee,34)^Rn(X,ee,39),Je=Gr(X,ee,28)^Yn(X,ee,34)^Yn(X,ee,39),Te=X&re^X&ae^re&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ce|0,Be=Ee|0,{h:ce,l:Ee}=fA(le|0,Ce|0,qe|0,rt|0),le=ae|0,Ce=fe|0,ae=re|0,fe=ie|0,re=X|0,ie=ee|0;let Qe=uc(rt,Je,pe);X=Ic(Qe,qe,tt,Te),ee=Qe|0}({h:X,l:ee}=fA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:re,l:ie}=fA(this.Bh|0,this.Bl|0,re|0,ie|0),{h:ae,l:fe}=fA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:le,l:Ce}=fA(this.Dh|0,this.Dl|0,le|0,Ce|0),{h:ce,l:Ee}=fA(this.Eh|0,this.El|0,ce|0,Ee|0),{h:$,l:Be}=fA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=fA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=fA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He,Se,Re)}roundClean(){Xt(er,tr)}destroy(){Xt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ts=class extends es{constructor(){super(64);he(this,"Ah",pt[0]|0);he(this,"Al",pt[1]|0);he(this,"Bh",pt[2]|0);he(this,"Bl",pt[3]|0);he(this,"Ch",pt[4]|0);he(this,"Cl",pt[5]|0);he(this,"Dh",pt[6]|0);he(this,"Dl",pt[7]|0);he(this,"Eh",pt[8]|0);he(this,"El",pt[9]|0);he(this,"Fh",pt[10]|0);he(this,"Fl",pt[11]|0);he(this,"Gh",pt[12]|0);he(this,"Gl",pt[13]|0);he(this,"Hh",pt[14]|0);he(this,"Hl",pt[15]|0)}};var Ec=Po(()=>new $o,Vo(1));var yc=Po(()=>new ts,Vo(3));var yf=Z=>Z[0]==="\u3042\u3044\u3053\u304F\u3057\u3093";function Qc(Z){if(typeof Z!="string")throw new TypeError("invalid mnemonic type: "+typeof Z);return Z.normalize("NFKD")}function Qf(Z){let _=Qc(Z),z=_.split(" ");if(![12,15,18,21,24].includes(z.length))throw new Error("Invalid mnemonic");return{nfkd:_,words:z}}function pf(Z){if(vA(Z),![16,20,24,28,32].includes(Z.length))throw new Error("invalid entropy length")}function pc(Z,_=128){if(XA(_),_%32!==0||_>256)throw new TypeError("Invalid entropy");return wf(oc(_/8),Z)}var xf=Z=>{let _=8-Z.length/4;return new Uint8Array([Ec(Z)[0]>>_<<_])};function bf(Z){if(!Array.isArray(Z)||Z.length!==2048||typeof Z[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return Z.forEach(_=>{if(typeof _!="string")throw new Error("wordlist: non-string element: "+_)}),Un.chain(Un.checksum(1,xf),Un.radix2(11,!0),Un.alphabet(Z))}function wf(Z,_){return pf(Z),bf(_).encode(Z).join(yf(_)?"\u3000":" ")}var mf=Z=>Qc("mnemonic"+Z);function xc(Z,_=""){return sc(yc,Qf(Z).nfkd,mf(_),{c:2048,dkLen:64})}be();var bc=`abandon
|
|
2
|
+
ability
|
|
3
|
+
able
|
|
4
|
+
about
|
|
5
|
+
above
|
|
6
|
+
absent
|
|
7
|
+
absorb
|
|
8
|
+
abstract
|
|
9
|
+
absurd
|
|
10
|
+
abuse
|
|
11
|
+
access
|
|
12
|
+
accident
|
|
13
|
+
account
|
|
14
|
+
accuse
|
|
15
|
+
achieve
|
|
16
|
+
acid
|
|
17
|
+
acoustic
|
|
18
|
+
acquire
|
|
19
|
+
across
|
|
20
|
+
act
|
|
21
|
+
action
|
|
22
|
+
actor
|
|
23
|
+
actress
|
|
24
|
+
actual
|
|
25
|
+
adapt
|
|
26
|
+
add
|
|
27
|
+
addict
|
|
28
|
+
address
|
|
29
|
+
adjust
|
|
30
|
+
admit
|
|
31
|
+
adult
|
|
32
|
+
advance
|
|
33
|
+
advice
|
|
34
|
+
aerobic
|
|
35
|
+
affair
|
|
36
|
+
afford
|
|
37
|
+
afraid
|
|
38
|
+
again
|
|
39
|
+
age
|
|
40
|
+
agent
|
|
41
|
+
agree
|
|
42
|
+
ahead
|
|
43
|
+
aim
|
|
44
|
+
air
|
|
45
|
+
airport
|
|
46
|
+
aisle
|
|
47
|
+
alarm
|
|
48
|
+
album
|
|
49
|
+
alcohol
|
|
50
|
+
alert
|
|
51
|
+
alien
|
|
52
|
+
all
|
|
53
|
+
alley
|
|
54
|
+
allow
|
|
55
|
+
almost
|
|
56
|
+
alone
|
|
57
|
+
alpha
|
|
58
|
+
already
|
|
59
|
+
also
|
|
60
|
+
alter
|
|
61
|
+
always
|
|
62
|
+
amateur
|
|
63
|
+
amazing
|
|
64
|
+
among
|
|
65
|
+
amount
|
|
66
|
+
amused
|
|
67
|
+
analyst
|
|
68
|
+
anchor
|
|
69
|
+
ancient
|
|
70
|
+
anger
|
|
71
|
+
angle
|
|
72
|
+
angry
|
|
73
|
+
animal
|
|
74
|
+
ankle
|
|
75
|
+
announce
|
|
76
|
+
annual
|
|
77
|
+
another
|
|
78
|
+
answer
|
|
79
|
+
antenna
|
|
80
|
+
antique
|
|
81
|
+
anxiety
|
|
82
|
+
any
|
|
83
|
+
apart
|
|
84
|
+
apology
|
|
85
|
+
appear
|
|
86
|
+
apple
|
|
87
|
+
approve
|
|
88
|
+
april
|
|
89
|
+
arch
|
|
90
|
+
arctic
|
|
91
|
+
area
|
|
92
|
+
arena
|
|
93
|
+
argue
|
|
94
|
+
arm
|
|
95
|
+
armed
|
|
96
|
+
armor
|
|
97
|
+
army
|
|
98
|
+
around
|
|
99
|
+
arrange
|
|
100
|
+
arrest
|
|
101
|
+
arrive
|
|
102
|
+
arrow
|
|
103
|
+
art
|
|
104
|
+
artefact
|
|
105
|
+
artist
|
|
106
|
+
artwork
|
|
107
|
+
ask
|
|
108
|
+
aspect
|
|
109
|
+
assault
|
|
110
|
+
asset
|
|
111
|
+
assist
|
|
112
|
+
assume
|
|
113
|
+
asthma
|
|
114
|
+
athlete
|
|
115
|
+
atom
|
|
116
|
+
attack
|
|
117
|
+
attend
|
|
118
|
+
attitude
|
|
119
|
+
attract
|
|
120
|
+
auction
|
|
121
|
+
audit
|
|
122
|
+
august
|
|
123
|
+
aunt
|
|
124
|
+
author
|
|
125
|
+
auto
|
|
126
|
+
autumn
|
|
127
|
+
average
|
|
128
|
+
avocado
|
|
129
|
+
avoid
|
|
130
|
+
awake
|
|
131
|
+
aware
|
|
132
|
+
away
|
|
133
|
+
awesome
|
|
134
|
+
awful
|
|
135
|
+
awkward
|
|
136
|
+
axis
|
|
137
|
+
baby
|
|
138
|
+
bachelor
|
|
139
|
+
bacon
|
|
140
|
+
badge
|
|
141
|
+
bag
|
|
142
|
+
balance
|
|
143
|
+
balcony
|
|
144
|
+
ball
|
|
145
|
+
bamboo
|
|
146
|
+
banana
|
|
147
|
+
banner
|
|
148
|
+
bar
|
|
149
|
+
barely
|
|
150
|
+
bargain
|
|
151
|
+
barrel
|
|
152
|
+
base
|
|
153
|
+
basic
|
|
154
|
+
basket
|
|
155
|
+
battle
|
|
156
|
+
beach
|
|
157
|
+
bean
|
|
158
|
+
beauty
|
|
159
|
+
because
|
|
160
|
+
become
|
|
161
|
+
beef
|
|
162
|
+
before
|
|
163
|
+
begin
|
|
164
|
+
behave
|
|
165
|
+
behind
|
|
166
|
+
believe
|
|
167
|
+
below
|
|
168
|
+
belt
|
|
169
|
+
bench
|
|
170
|
+
benefit
|
|
171
|
+
best
|
|
172
|
+
betray
|
|
173
|
+
better
|
|
174
|
+
between
|
|
175
|
+
beyond
|
|
176
|
+
bicycle
|
|
177
|
+
bid
|
|
178
|
+
bike
|
|
179
|
+
bind
|
|
180
|
+
biology
|
|
181
|
+
bird
|
|
182
|
+
birth
|
|
183
|
+
bitter
|
|
184
|
+
black
|
|
185
|
+
blade
|
|
186
|
+
blame
|
|
187
|
+
blanket
|
|
188
|
+
blast
|
|
189
|
+
bleak
|
|
190
|
+
bless
|
|
191
|
+
blind
|
|
192
|
+
blood
|
|
193
|
+
blossom
|
|
194
|
+
blouse
|
|
195
|
+
blue
|
|
196
|
+
blur
|
|
197
|
+
blush
|
|
198
|
+
board
|
|
199
|
+
boat
|
|
200
|
+
body
|
|
201
|
+
boil
|
|
202
|
+
bomb
|
|
203
|
+
bone
|
|
204
|
+
bonus
|
|
205
|
+
book
|
|
206
|
+
boost
|
|
207
|
+
border
|
|
208
|
+
boring
|
|
209
|
+
borrow
|
|
210
|
+
boss
|
|
211
|
+
bottom
|
|
212
|
+
bounce
|
|
213
|
+
box
|
|
214
|
+
boy
|
|
215
|
+
bracket
|
|
216
|
+
brain
|
|
217
|
+
brand
|
|
218
|
+
brass
|
|
219
|
+
brave
|
|
220
|
+
bread
|
|
221
|
+
breeze
|
|
222
|
+
brick
|
|
223
|
+
bridge
|
|
224
|
+
brief
|
|
225
|
+
bright
|
|
226
|
+
bring
|
|
227
|
+
brisk
|
|
228
|
+
broccoli
|
|
229
|
+
broken
|
|
230
|
+
bronze
|
|
231
|
+
broom
|
|
232
|
+
brother
|
|
233
|
+
brown
|
|
234
|
+
brush
|
|
235
|
+
bubble
|
|
236
|
+
buddy
|
|
237
|
+
budget
|
|
238
|
+
buffalo
|
|
239
|
+
build
|
|
240
|
+
bulb
|
|
241
|
+
bulk
|
|
242
|
+
bullet
|
|
243
|
+
bundle
|
|
244
|
+
bunker
|
|
245
|
+
burden
|
|
246
|
+
burger
|
|
247
|
+
burst
|
|
248
|
+
bus
|
|
249
|
+
business
|
|
250
|
+
busy
|
|
251
|
+
butter
|
|
252
|
+
buyer
|
|
253
|
+
buzz
|
|
254
|
+
cabbage
|
|
255
|
+
cabin
|
|
256
|
+
cable
|
|
257
|
+
cactus
|
|
258
|
+
cage
|
|
259
|
+
cake
|
|
260
|
+
call
|
|
261
|
+
calm
|
|
262
|
+
camera
|
|
263
|
+
camp
|
|
264
|
+
can
|
|
265
|
+
canal
|
|
266
|
+
cancel
|
|
267
|
+
candy
|
|
268
|
+
cannon
|
|
269
|
+
canoe
|
|
270
|
+
canvas
|
|
271
|
+
canyon
|
|
272
|
+
capable
|
|
273
|
+
capital
|
|
274
|
+
captain
|
|
275
|
+
car
|
|
276
|
+
carbon
|
|
277
|
+
card
|
|
278
|
+
cargo
|
|
279
|
+
carpet
|
|
280
|
+
carry
|
|
281
|
+
cart
|
|
282
|
+
case
|
|
283
|
+
cash
|
|
284
|
+
casino
|
|
285
|
+
castle
|
|
286
|
+
casual
|
|
287
|
+
cat
|
|
288
|
+
catalog
|
|
289
|
+
catch
|
|
290
|
+
category
|
|
291
|
+
cattle
|
|
292
|
+
caught
|
|
293
|
+
cause
|
|
294
|
+
caution
|
|
295
|
+
cave
|
|
296
|
+
ceiling
|
|
297
|
+
celery
|
|
298
|
+
cement
|
|
299
|
+
census
|
|
300
|
+
century
|
|
301
|
+
cereal
|
|
302
|
+
certain
|
|
303
|
+
chair
|
|
304
|
+
chalk
|
|
305
|
+
champion
|
|
306
|
+
change
|
|
307
|
+
chaos
|
|
308
|
+
chapter
|
|
309
|
+
charge
|
|
310
|
+
chase
|
|
311
|
+
chat
|
|
312
|
+
cheap
|
|
313
|
+
check
|
|
314
|
+
cheese
|
|
315
|
+
chef
|
|
316
|
+
cherry
|
|
317
|
+
chest
|
|
318
|
+
chicken
|
|
319
|
+
chief
|
|
320
|
+
child
|
|
321
|
+
chimney
|
|
322
|
+
choice
|
|
323
|
+
choose
|
|
324
|
+
chronic
|
|
325
|
+
chuckle
|
|
326
|
+
chunk
|
|
327
|
+
churn
|
|
328
|
+
cigar
|
|
329
|
+
cinnamon
|
|
330
|
+
circle
|
|
331
|
+
citizen
|
|
332
|
+
city
|
|
333
|
+
civil
|
|
334
|
+
claim
|
|
335
|
+
clap
|
|
336
|
+
clarify
|
|
337
|
+
claw
|
|
338
|
+
clay
|
|
339
|
+
clean
|
|
340
|
+
clerk
|
|
341
|
+
clever
|
|
342
|
+
click
|
|
343
|
+
client
|
|
344
|
+
cliff
|
|
345
|
+
climb
|
|
346
|
+
clinic
|
|
347
|
+
clip
|
|
348
|
+
clock
|
|
349
|
+
clog
|
|
350
|
+
close
|
|
351
|
+
cloth
|
|
352
|
+
cloud
|
|
353
|
+
clown
|
|
354
|
+
club
|
|
355
|
+
clump
|
|
356
|
+
cluster
|
|
357
|
+
clutch
|
|
358
|
+
coach
|
|
359
|
+
coast
|
|
360
|
+
coconut
|
|
361
|
+
code
|
|
362
|
+
coffee
|
|
363
|
+
coil
|
|
364
|
+
coin
|
|
365
|
+
collect
|
|
366
|
+
color
|
|
367
|
+
column
|
|
368
|
+
combine
|
|
369
|
+
come
|
|
370
|
+
comfort
|
|
371
|
+
comic
|
|
372
|
+
common
|
|
373
|
+
company
|
|
374
|
+
concert
|
|
375
|
+
conduct
|
|
376
|
+
confirm
|
|
377
|
+
congress
|
|
378
|
+
connect
|
|
379
|
+
consider
|
|
380
|
+
control
|
|
381
|
+
convince
|
|
382
|
+
cook
|
|
383
|
+
cool
|
|
384
|
+
copper
|
|
385
|
+
copy
|
|
386
|
+
coral
|
|
387
|
+
core
|
|
388
|
+
corn
|
|
389
|
+
correct
|
|
390
|
+
cost
|
|
391
|
+
cotton
|
|
392
|
+
couch
|
|
393
|
+
country
|
|
394
|
+
couple
|
|
395
|
+
course
|
|
396
|
+
cousin
|
|
397
|
+
cover
|
|
398
|
+
coyote
|
|
399
|
+
crack
|
|
400
|
+
cradle
|
|
401
|
+
craft
|
|
402
|
+
cram
|
|
403
|
+
crane
|
|
404
|
+
crash
|
|
405
|
+
crater
|
|
406
|
+
crawl
|
|
407
|
+
crazy
|
|
408
|
+
cream
|
|
409
|
+
credit
|
|
410
|
+
creek
|
|
411
|
+
crew
|
|
412
|
+
cricket
|
|
413
|
+
crime
|
|
414
|
+
crisp
|
|
415
|
+
critic
|
|
416
|
+
crop
|
|
417
|
+
cross
|
|
418
|
+
crouch
|
|
419
|
+
crowd
|
|
420
|
+
crucial
|
|
421
|
+
cruel
|
|
422
|
+
cruise
|
|
423
|
+
crumble
|
|
424
|
+
crunch
|
|
425
|
+
crush
|
|
426
|
+
cry
|
|
427
|
+
crystal
|
|
428
|
+
cube
|
|
429
|
+
culture
|
|
430
|
+
cup
|
|
431
|
+
cupboard
|
|
432
|
+
curious
|
|
433
|
+
current
|
|
434
|
+
curtain
|
|
435
|
+
curve
|
|
436
|
+
cushion
|
|
437
|
+
custom
|
|
438
|
+
cute
|
|
439
|
+
cycle
|
|
440
|
+
dad
|
|
441
|
+
damage
|
|
442
|
+
damp
|
|
443
|
+
dance
|
|
444
|
+
danger
|
|
445
|
+
daring
|
|
446
|
+
dash
|
|
447
|
+
daughter
|
|
448
|
+
dawn
|
|
449
|
+
day
|
|
450
|
+
deal
|
|
451
|
+
debate
|
|
452
|
+
debris
|
|
453
|
+
decade
|
|
454
|
+
december
|
|
455
|
+
decide
|
|
456
|
+
decline
|
|
457
|
+
decorate
|
|
458
|
+
decrease
|
|
459
|
+
deer
|
|
460
|
+
defense
|
|
461
|
+
define
|
|
462
|
+
defy
|
|
463
|
+
degree
|
|
464
|
+
delay
|
|
465
|
+
deliver
|
|
466
|
+
demand
|
|
467
|
+
demise
|
|
468
|
+
denial
|
|
469
|
+
dentist
|
|
470
|
+
deny
|
|
471
|
+
depart
|
|
472
|
+
depend
|
|
473
|
+
deposit
|
|
474
|
+
depth
|
|
475
|
+
deputy
|
|
476
|
+
derive
|
|
477
|
+
describe
|
|
478
|
+
desert
|
|
479
|
+
design
|
|
480
|
+
desk
|
|
481
|
+
despair
|
|
482
|
+
destroy
|
|
483
|
+
detail
|
|
484
|
+
detect
|
|
485
|
+
develop
|
|
486
|
+
device
|
|
487
|
+
devote
|
|
488
|
+
diagram
|
|
489
|
+
dial
|
|
490
|
+
diamond
|
|
491
|
+
diary
|
|
492
|
+
dice
|
|
493
|
+
diesel
|
|
494
|
+
diet
|
|
495
|
+
differ
|
|
496
|
+
digital
|
|
497
|
+
dignity
|
|
498
|
+
dilemma
|
|
499
|
+
dinner
|
|
500
|
+
dinosaur
|
|
501
|
+
direct
|
|
502
|
+
dirt
|
|
503
|
+
disagree
|
|
504
|
+
discover
|
|
505
|
+
disease
|
|
506
|
+
dish
|
|
507
|
+
dismiss
|
|
508
|
+
disorder
|
|
509
|
+
display
|
|
510
|
+
distance
|
|
511
|
+
divert
|
|
512
|
+
divide
|
|
513
|
+
divorce
|
|
514
|
+
dizzy
|
|
515
|
+
doctor
|
|
516
|
+
document
|
|
517
|
+
dog
|
|
518
|
+
doll
|
|
519
|
+
dolphin
|
|
520
|
+
domain
|
|
521
|
+
donate
|
|
522
|
+
donkey
|
|
523
|
+
donor
|
|
524
|
+
door
|
|
525
|
+
dose
|
|
526
|
+
double
|
|
527
|
+
dove
|
|
528
|
+
draft
|
|
529
|
+
dragon
|
|
530
|
+
drama
|
|
531
|
+
drastic
|
|
532
|
+
draw
|
|
533
|
+
dream
|
|
534
|
+
dress
|
|
535
|
+
drift
|
|
536
|
+
drill
|
|
537
|
+
drink
|
|
538
|
+
drip
|
|
539
|
+
drive
|
|
540
|
+
drop
|
|
541
|
+
drum
|
|
542
|
+
dry
|
|
543
|
+
duck
|
|
544
|
+
dumb
|
|
545
|
+
dune
|
|
546
|
+
during
|
|
547
|
+
dust
|
|
548
|
+
dutch
|
|
549
|
+
duty
|
|
550
|
+
dwarf
|
|
551
|
+
dynamic
|
|
552
|
+
eager
|
|
553
|
+
eagle
|
|
554
|
+
early
|
|
555
|
+
earn
|
|
556
|
+
earth
|
|
557
|
+
easily
|
|
558
|
+
east
|
|
559
|
+
easy
|
|
560
|
+
echo
|
|
561
|
+
ecology
|
|
562
|
+
economy
|
|
563
|
+
edge
|
|
564
|
+
edit
|
|
565
|
+
educate
|
|
566
|
+
effort
|
|
567
|
+
egg
|
|
568
|
+
eight
|
|
569
|
+
either
|
|
570
|
+
elbow
|
|
571
|
+
elder
|
|
572
|
+
electric
|
|
573
|
+
elegant
|
|
574
|
+
element
|
|
575
|
+
elephant
|
|
576
|
+
elevator
|
|
577
|
+
elite
|
|
578
|
+
else
|
|
579
|
+
embark
|
|
580
|
+
embody
|
|
581
|
+
embrace
|
|
582
|
+
emerge
|
|
583
|
+
emotion
|
|
584
|
+
employ
|
|
585
|
+
empower
|
|
586
|
+
empty
|
|
587
|
+
enable
|
|
588
|
+
enact
|
|
589
|
+
end
|
|
590
|
+
endless
|
|
591
|
+
endorse
|
|
592
|
+
enemy
|
|
593
|
+
energy
|
|
594
|
+
enforce
|
|
595
|
+
engage
|
|
596
|
+
engine
|
|
597
|
+
enhance
|
|
598
|
+
enjoy
|
|
599
|
+
enlist
|
|
600
|
+
enough
|
|
601
|
+
enrich
|
|
602
|
+
enroll
|
|
603
|
+
ensure
|
|
604
|
+
enter
|
|
605
|
+
entire
|
|
606
|
+
entry
|
|
607
|
+
envelope
|
|
608
|
+
episode
|
|
609
|
+
equal
|
|
610
|
+
equip
|
|
611
|
+
era
|
|
612
|
+
erase
|
|
613
|
+
erode
|
|
614
|
+
erosion
|
|
615
|
+
error
|
|
616
|
+
erupt
|
|
617
|
+
escape
|
|
618
|
+
essay
|
|
619
|
+
essence
|
|
620
|
+
estate
|
|
621
|
+
eternal
|
|
622
|
+
ethics
|
|
623
|
+
evidence
|
|
624
|
+
evil
|
|
625
|
+
evoke
|
|
626
|
+
evolve
|
|
627
|
+
exact
|
|
628
|
+
example
|
|
629
|
+
excess
|
|
630
|
+
exchange
|
|
631
|
+
excite
|
|
632
|
+
exclude
|
|
633
|
+
excuse
|
|
634
|
+
execute
|
|
635
|
+
exercise
|
|
636
|
+
exhaust
|
|
637
|
+
exhibit
|
|
638
|
+
exile
|
|
639
|
+
exist
|
|
640
|
+
exit
|
|
641
|
+
exotic
|
|
642
|
+
expand
|
|
643
|
+
expect
|
|
644
|
+
expire
|
|
645
|
+
explain
|
|
646
|
+
expose
|
|
647
|
+
express
|
|
648
|
+
extend
|
|
649
|
+
extra
|
|
650
|
+
eye
|
|
651
|
+
eyebrow
|
|
652
|
+
fabric
|
|
653
|
+
face
|
|
654
|
+
faculty
|
|
655
|
+
fade
|
|
656
|
+
faint
|
|
657
|
+
faith
|
|
658
|
+
fall
|
|
659
|
+
false
|
|
660
|
+
fame
|
|
661
|
+
family
|
|
662
|
+
famous
|
|
663
|
+
fan
|
|
664
|
+
fancy
|
|
665
|
+
fantasy
|
|
666
|
+
farm
|
|
667
|
+
fashion
|
|
668
|
+
fat
|
|
669
|
+
fatal
|
|
670
|
+
father
|
|
671
|
+
fatigue
|
|
672
|
+
fault
|
|
673
|
+
favorite
|
|
674
|
+
feature
|
|
675
|
+
february
|
|
676
|
+
federal
|
|
677
|
+
fee
|
|
678
|
+
feed
|
|
679
|
+
feel
|
|
680
|
+
female
|
|
681
|
+
fence
|
|
682
|
+
festival
|
|
683
|
+
fetch
|
|
684
|
+
fever
|
|
685
|
+
few
|
|
686
|
+
fiber
|
|
687
|
+
fiction
|
|
688
|
+
field
|
|
689
|
+
figure
|
|
690
|
+
file
|
|
691
|
+
film
|
|
692
|
+
filter
|
|
693
|
+
final
|
|
694
|
+
find
|
|
695
|
+
fine
|
|
696
|
+
finger
|
|
697
|
+
finish
|
|
698
|
+
fire
|
|
699
|
+
firm
|
|
700
|
+
first
|
|
701
|
+
fiscal
|
|
702
|
+
fish
|
|
703
|
+
fit
|
|
704
|
+
fitness
|
|
705
|
+
fix
|
|
706
|
+
flag
|
|
707
|
+
flame
|
|
708
|
+
flash
|
|
709
|
+
flat
|
|
710
|
+
flavor
|
|
711
|
+
flee
|
|
712
|
+
flight
|
|
713
|
+
flip
|
|
714
|
+
float
|
|
715
|
+
flock
|
|
716
|
+
floor
|
|
717
|
+
flower
|
|
718
|
+
fluid
|
|
719
|
+
flush
|
|
720
|
+
fly
|
|
721
|
+
foam
|
|
722
|
+
focus
|
|
723
|
+
fog
|
|
724
|
+
foil
|
|
725
|
+
fold
|
|
726
|
+
follow
|
|
727
|
+
food
|
|
728
|
+
foot
|
|
729
|
+
force
|
|
730
|
+
forest
|
|
731
|
+
forget
|
|
732
|
+
fork
|
|
733
|
+
fortune
|
|
734
|
+
forum
|
|
735
|
+
forward
|
|
736
|
+
fossil
|
|
737
|
+
foster
|
|
738
|
+
found
|
|
739
|
+
fox
|
|
740
|
+
fragile
|
|
741
|
+
frame
|
|
742
|
+
frequent
|
|
743
|
+
fresh
|
|
744
|
+
friend
|
|
745
|
+
fringe
|
|
746
|
+
frog
|
|
747
|
+
front
|
|
748
|
+
frost
|
|
749
|
+
frown
|
|
750
|
+
frozen
|
|
751
|
+
fruit
|
|
752
|
+
fuel
|
|
753
|
+
fun
|
|
754
|
+
funny
|
|
755
|
+
furnace
|
|
756
|
+
fury
|
|
757
|
+
future
|
|
758
|
+
gadget
|
|
759
|
+
gain
|
|
760
|
+
galaxy
|
|
761
|
+
gallery
|
|
762
|
+
game
|
|
763
|
+
gap
|
|
764
|
+
garage
|
|
765
|
+
garbage
|
|
766
|
+
garden
|
|
767
|
+
garlic
|
|
768
|
+
garment
|
|
769
|
+
gas
|
|
770
|
+
gasp
|
|
771
|
+
gate
|
|
772
|
+
gather
|
|
773
|
+
gauge
|
|
774
|
+
gaze
|
|
775
|
+
general
|
|
776
|
+
genius
|
|
777
|
+
genre
|
|
778
|
+
gentle
|
|
779
|
+
genuine
|
|
780
|
+
gesture
|
|
781
|
+
ghost
|
|
782
|
+
giant
|
|
783
|
+
gift
|
|
784
|
+
giggle
|
|
785
|
+
ginger
|
|
786
|
+
giraffe
|
|
787
|
+
girl
|
|
788
|
+
give
|
|
789
|
+
glad
|
|
790
|
+
glance
|
|
791
|
+
glare
|
|
792
|
+
glass
|
|
793
|
+
glide
|
|
794
|
+
glimpse
|
|
795
|
+
globe
|
|
796
|
+
gloom
|
|
797
|
+
glory
|
|
798
|
+
glove
|
|
799
|
+
glow
|
|
800
|
+
glue
|
|
801
|
+
goat
|
|
802
|
+
goddess
|
|
803
|
+
gold
|
|
804
|
+
good
|
|
805
|
+
goose
|
|
806
|
+
gorilla
|
|
807
|
+
gospel
|
|
808
|
+
gossip
|
|
809
|
+
govern
|
|
810
|
+
gown
|
|
811
|
+
grab
|
|
812
|
+
grace
|
|
813
|
+
grain
|
|
814
|
+
grant
|
|
815
|
+
grape
|
|
816
|
+
grass
|
|
817
|
+
gravity
|
|
818
|
+
great
|
|
819
|
+
green
|
|
820
|
+
grid
|
|
821
|
+
grief
|
|
822
|
+
grit
|
|
823
|
+
grocery
|
|
824
|
+
group
|
|
825
|
+
grow
|
|
826
|
+
grunt
|
|
827
|
+
guard
|
|
828
|
+
guess
|
|
829
|
+
guide
|
|
830
|
+
guilt
|
|
831
|
+
guitar
|
|
832
|
+
gun
|
|
833
|
+
gym
|
|
834
|
+
habit
|
|
835
|
+
hair
|
|
836
|
+
half
|
|
837
|
+
hammer
|
|
838
|
+
hamster
|
|
839
|
+
hand
|
|
840
|
+
happy
|
|
841
|
+
harbor
|
|
842
|
+
hard
|
|
843
|
+
harsh
|
|
844
|
+
harvest
|
|
845
|
+
hat
|
|
846
|
+
have
|
|
847
|
+
hawk
|
|
848
|
+
hazard
|
|
849
|
+
head
|
|
850
|
+
health
|
|
851
|
+
heart
|
|
852
|
+
heavy
|
|
853
|
+
hedgehog
|
|
854
|
+
height
|
|
855
|
+
hello
|
|
856
|
+
helmet
|
|
857
|
+
help
|
|
858
|
+
hen
|
|
859
|
+
hero
|
|
860
|
+
hidden
|
|
861
|
+
high
|
|
862
|
+
hill
|
|
863
|
+
hint
|
|
864
|
+
hip
|
|
865
|
+
hire
|
|
866
|
+
history
|
|
867
|
+
hobby
|
|
868
|
+
hockey
|
|
869
|
+
hold
|
|
870
|
+
hole
|
|
871
|
+
holiday
|
|
872
|
+
hollow
|
|
873
|
+
home
|
|
874
|
+
honey
|
|
875
|
+
hood
|
|
876
|
+
hope
|
|
877
|
+
horn
|
|
878
|
+
horror
|
|
879
|
+
horse
|
|
880
|
+
hospital
|
|
881
|
+
host
|
|
882
|
+
hotel
|
|
883
|
+
hour
|
|
884
|
+
hover
|
|
885
|
+
hub
|
|
886
|
+
huge
|
|
887
|
+
human
|
|
888
|
+
humble
|
|
889
|
+
humor
|
|
890
|
+
hundred
|
|
891
|
+
hungry
|
|
892
|
+
hunt
|
|
893
|
+
hurdle
|
|
894
|
+
hurry
|
|
895
|
+
hurt
|
|
896
|
+
husband
|
|
897
|
+
hybrid
|
|
898
|
+
ice
|
|
899
|
+
icon
|
|
900
|
+
idea
|
|
901
|
+
identify
|
|
902
|
+
idle
|
|
903
|
+
ignore
|
|
904
|
+
ill
|
|
905
|
+
illegal
|
|
906
|
+
illness
|
|
907
|
+
image
|
|
908
|
+
imitate
|
|
909
|
+
immense
|
|
910
|
+
immune
|
|
911
|
+
impact
|
|
912
|
+
impose
|
|
913
|
+
improve
|
|
914
|
+
impulse
|
|
915
|
+
inch
|
|
916
|
+
include
|
|
917
|
+
income
|
|
918
|
+
increase
|
|
919
|
+
index
|
|
920
|
+
indicate
|
|
921
|
+
indoor
|
|
922
|
+
industry
|
|
923
|
+
infant
|
|
924
|
+
inflict
|
|
925
|
+
inform
|
|
926
|
+
inhale
|
|
927
|
+
inherit
|
|
928
|
+
initial
|
|
929
|
+
inject
|
|
930
|
+
injury
|
|
931
|
+
inmate
|
|
932
|
+
inner
|
|
933
|
+
innocent
|
|
934
|
+
input
|
|
935
|
+
inquiry
|
|
936
|
+
insane
|
|
937
|
+
insect
|
|
938
|
+
inside
|
|
939
|
+
inspire
|
|
940
|
+
install
|
|
941
|
+
intact
|
|
942
|
+
interest
|
|
943
|
+
into
|
|
944
|
+
invest
|
|
945
|
+
invite
|
|
946
|
+
involve
|
|
947
|
+
iron
|
|
948
|
+
island
|
|
949
|
+
isolate
|
|
950
|
+
issue
|
|
951
|
+
item
|
|
952
|
+
ivory
|
|
953
|
+
jacket
|
|
954
|
+
jaguar
|
|
955
|
+
jar
|
|
956
|
+
jazz
|
|
957
|
+
jealous
|
|
958
|
+
jeans
|
|
959
|
+
jelly
|
|
960
|
+
jewel
|
|
961
|
+
job
|
|
962
|
+
join
|
|
963
|
+
joke
|
|
964
|
+
journey
|
|
965
|
+
joy
|
|
966
|
+
judge
|
|
967
|
+
juice
|
|
968
|
+
jump
|
|
969
|
+
jungle
|
|
970
|
+
junior
|
|
971
|
+
junk
|
|
972
|
+
just
|
|
973
|
+
kangaroo
|
|
974
|
+
keen
|
|
975
|
+
keep
|
|
976
|
+
ketchup
|
|
977
|
+
key
|
|
978
|
+
kick
|
|
979
|
+
kid
|
|
980
|
+
kidney
|
|
981
|
+
kind
|
|
982
|
+
kingdom
|
|
983
|
+
kiss
|
|
984
|
+
kit
|
|
985
|
+
kitchen
|
|
986
|
+
kite
|
|
987
|
+
kitten
|
|
988
|
+
kiwi
|
|
989
|
+
knee
|
|
990
|
+
knife
|
|
991
|
+
knock
|
|
992
|
+
know
|
|
993
|
+
lab
|
|
994
|
+
label
|
|
995
|
+
labor
|
|
996
|
+
ladder
|
|
997
|
+
lady
|
|
998
|
+
lake
|
|
999
|
+
lamp
|
|
1000
|
+
language
|
|
1001
|
+
laptop
|
|
1002
|
+
large
|
|
1003
|
+
later
|
|
1004
|
+
latin
|
|
1005
|
+
laugh
|
|
1006
|
+
laundry
|
|
1007
|
+
lava
|
|
1008
|
+
law
|
|
1009
|
+
lawn
|
|
1010
|
+
lawsuit
|
|
1011
|
+
layer
|
|
1012
|
+
lazy
|
|
1013
|
+
leader
|
|
1014
|
+
leaf
|
|
1015
|
+
learn
|
|
1016
|
+
leave
|
|
1017
|
+
lecture
|
|
1018
|
+
left
|
|
1019
|
+
leg
|
|
1020
|
+
legal
|
|
1021
|
+
legend
|
|
1022
|
+
leisure
|
|
1023
|
+
lemon
|
|
1024
|
+
lend
|
|
1025
|
+
length
|
|
1026
|
+
lens
|
|
1027
|
+
leopard
|
|
1028
|
+
lesson
|
|
1029
|
+
letter
|
|
1030
|
+
level
|
|
1031
|
+
liar
|
|
1032
|
+
liberty
|
|
1033
|
+
library
|
|
1034
|
+
license
|
|
1035
|
+
life
|
|
1036
|
+
lift
|
|
1037
|
+
light
|
|
1038
|
+
like
|
|
1039
|
+
limb
|
|
1040
|
+
limit
|
|
1041
|
+
link
|
|
1042
|
+
lion
|
|
1043
|
+
liquid
|
|
1044
|
+
list
|
|
1045
|
+
little
|
|
1046
|
+
live
|
|
1047
|
+
lizard
|
|
1048
|
+
load
|
|
1049
|
+
loan
|
|
1050
|
+
lobster
|
|
1051
|
+
local
|
|
1052
|
+
lock
|
|
1053
|
+
logic
|
|
1054
|
+
lonely
|
|
1055
|
+
long
|
|
1056
|
+
loop
|
|
1057
|
+
lottery
|
|
1058
|
+
loud
|
|
1059
|
+
lounge
|
|
1060
|
+
love
|
|
1061
|
+
loyal
|
|
1062
|
+
lucky
|
|
1063
|
+
luggage
|
|
1064
|
+
lumber
|
|
1065
|
+
lunar
|
|
1066
|
+
lunch
|
|
1067
|
+
luxury
|
|
1068
|
+
lyrics
|
|
1069
|
+
machine
|
|
1070
|
+
mad
|
|
1071
|
+
magic
|
|
1072
|
+
magnet
|
|
1073
|
+
maid
|
|
1074
|
+
mail
|
|
1075
|
+
main
|
|
1076
|
+
major
|
|
1077
|
+
make
|
|
1078
|
+
mammal
|
|
1079
|
+
man
|
|
1080
|
+
manage
|
|
1081
|
+
mandate
|
|
1082
|
+
mango
|
|
1083
|
+
mansion
|
|
1084
|
+
manual
|
|
1085
|
+
maple
|
|
1086
|
+
marble
|
|
1087
|
+
march
|
|
1088
|
+
margin
|
|
1089
|
+
marine
|
|
1090
|
+
market
|
|
1091
|
+
marriage
|
|
1092
|
+
mask
|
|
1093
|
+
mass
|
|
1094
|
+
master
|
|
1095
|
+
match
|
|
1096
|
+
material
|
|
1097
|
+
math
|
|
1098
|
+
matrix
|
|
1099
|
+
matter
|
|
1100
|
+
maximum
|
|
1101
|
+
maze
|
|
1102
|
+
meadow
|
|
1103
|
+
mean
|
|
1104
|
+
measure
|
|
1105
|
+
meat
|
|
1106
|
+
mechanic
|
|
1107
|
+
medal
|
|
1108
|
+
media
|
|
1109
|
+
melody
|
|
1110
|
+
melt
|
|
1111
|
+
member
|
|
1112
|
+
memory
|
|
1113
|
+
mention
|
|
1114
|
+
menu
|
|
1115
|
+
mercy
|
|
1116
|
+
merge
|
|
1117
|
+
merit
|
|
1118
|
+
merry
|
|
1119
|
+
mesh
|
|
1120
|
+
message
|
|
1121
|
+
metal
|
|
1122
|
+
method
|
|
1123
|
+
middle
|
|
1124
|
+
midnight
|
|
1125
|
+
milk
|
|
1126
|
+
million
|
|
1127
|
+
mimic
|
|
1128
|
+
mind
|
|
1129
|
+
minimum
|
|
1130
|
+
minor
|
|
1131
|
+
minute
|
|
1132
|
+
miracle
|
|
1133
|
+
mirror
|
|
1134
|
+
misery
|
|
1135
|
+
miss
|
|
1136
|
+
mistake
|
|
1137
|
+
mix
|
|
1138
|
+
mixed
|
|
1139
|
+
mixture
|
|
1140
|
+
mobile
|
|
1141
|
+
model
|
|
1142
|
+
modify
|
|
1143
|
+
mom
|
|
1144
|
+
moment
|
|
1145
|
+
monitor
|
|
1146
|
+
monkey
|
|
1147
|
+
monster
|
|
1148
|
+
month
|
|
1149
|
+
moon
|
|
1150
|
+
moral
|
|
1151
|
+
more
|
|
1152
|
+
morning
|
|
1153
|
+
mosquito
|
|
1154
|
+
mother
|
|
1155
|
+
motion
|
|
1156
|
+
motor
|
|
1157
|
+
mountain
|
|
1158
|
+
mouse
|
|
1159
|
+
move
|
|
1160
|
+
movie
|
|
1161
|
+
much
|
|
1162
|
+
muffin
|
|
1163
|
+
mule
|
|
1164
|
+
multiply
|
|
1165
|
+
muscle
|
|
1166
|
+
museum
|
|
1167
|
+
mushroom
|
|
1168
|
+
music
|
|
1169
|
+
must
|
|
1170
|
+
mutual
|
|
1171
|
+
myself
|
|
1172
|
+
mystery
|
|
1173
|
+
myth
|
|
1174
|
+
naive
|
|
1175
|
+
name
|
|
1176
|
+
napkin
|
|
1177
|
+
narrow
|
|
1178
|
+
nasty
|
|
1179
|
+
nation
|
|
1180
|
+
nature
|
|
1181
|
+
near
|
|
1182
|
+
neck
|
|
1183
|
+
need
|
|
1184
|
+
negative
|
|
1185
|
+
neglect
|
|
1186
|
+
neither
|
|
1187
|
+
nephew
|
|
1188
|
+
nerve
|
|
1189
|
+
nest
|
|
1190
|
+
net
|
|
1191
|
+
network
|
|
1192
|
+
neutral
|
|
1193
|
+
never
|
|
1194
|
+
news
|
|
1195
|
+
next
|
|
1196
|
+
nice
|
|
1197
|
+
night
|
|
1198
|
+
noble
|
|
1199
|
+
noise
|
|
1200
|
+
nominee
|
|
1201
|
+
noodle
|
|
1202
|
+
normal
|
|
1203
|
+
north
|
|
1204
|
+
nose
|
|
1205
|
+
notable
|
|
1206
|
+
note
|
|
1207
|
+
nothing
|
|
1208
|
+
notice
|
|
1209
|
+
novel
|
|
1210
|
+
now
|
|
1211
|
+
nuclear
|
|
1212
|
+
number
|
|
1213
|
+
nurse
|
|
1214
|
+
nut
|
|
1215
|
+
oak
|
|
1216
|
+
obey
|
|
1217
|
+
object
|
|
1218
|
+
oblige
|
|
1219
|
+
obscure
|
|
1220
|
+
observe
|
|
1221
|
+
obtain
|
|
1222
|
+
obvious
|
|
1223
|
+
occur
|
|
1224
|
+
ocean
|
|
1225
|
+
october
|
|
1226
|
+
odor
|
|
1227
|
+
off
|
|
1228
|
+
offer
|
|
1229
|
+
office
|
|
1230
|
+
often
|
|
1231
|
+
oil
|
|
1232
|
+
okay
|
|
1233
|
+
old
|
|
1234
|
+
olive
|
|
1235
|
+
olympic
|
|
1236
|
+
omit
|
|
1237
|
+
once
|
|
1238
|
+
one
|
|
1239
|
+
onion
|
|
1240
|
+
online
|
|
1241
|
+
only
|
|
1242
|
+
open
|
|
1243
|
+
opera
|
|
1244
|
+
opinion
|
|
1245
|
+
oppose
|
|
1246
|
+
option
|
|
1247
|
+
orange
|
|
1248
|
+
orbit
|
|
1249
|
+
orchard
|
|
1250
|
+
order
|
|
1251
|
+
ordinary
|
|
1252
|
+
organ
|
|
1253
|
+
orient
|
|
1254
|
+
original
|
|
1255
|
+
orphan
|
|
1256
|
+
ostrich
|
|
1257
|
+
other
|
|
1258
|
+
outdoor
|
|
1259
|
+
outer
|
|
1260
|
+
output
|
|
1261
|
+
outside
|
|
1262
|
+
oval
|
|
1263
|
+
oven
|
|
1264
|
+
over
|
|
1265
|
+
own
|
|
1266
|
+
owner
|
|
1267
|
+
oxygen
|
|
1268
|
+
oyster
|
|
1269
|
+
ozone
|
|
1270
|
+
pact
|
|
1271
|
+
paddle
|
|
1272
|
+
page
|
|
1273
|
+
pair
|
|
1274
|
+
palace
|
|
1275
|
+
palm
|
|
1276
|
+
panda
|
|
1277
|
+
panel
|
|
1278
|
+
panic
|
|
1279
|
+
panther
|
|
1280
|
+
paper
|
|
1281
|
+
parade
|
|
1282
|
+
parent
|
|
1283
|
+
park
|
|
1284
|
+
parrot
|
|
1285
|
+
party
|
|
1286
|
+
pass
|
|
1287
|
+
patch
|
|
1288
|
+
path
|
|
1289
|
+
patient
|
|
1290
|
+
patrol
|
|
1291
|
+
pattern
|
|
1292
|
+
pause
|
|
1293
|
+
pave
|
|
1294
|
+
payment
|
|
1295
|
+
peace
|
|
1296
|
+
peanut
|
|
1297
|
+
pear
|
|
1298
|
+
peasant
|
|
1299
|
+
pelican
|
|
1300
|
+
pen
|
|
1301
|
+
penalty
|
|
1302
|
+
pencil
|
|
1303
|
+
people
|
|
1304
|
+
pepper
|
|
1305
|
+
perfect
|
|
1306
|
+
permit
|
|
1307
|
+
person
|
|
1308
|
+
pet
|
|
1309
|
+
phone
|
|
1310
|
+
photo
|
|
1311
|
+
phrase
|
|
1312
|
+
physical
|
|
1313
|
+
piano
|
|
1314
|
+
picnic
|
|
1315
|
+
picture
|
|
1316
|
+
piece
|
|
1317
|
+
pig
|
|
1318
|
+
pigeon
|
|
1319
|
+
pill
|
|
1320
|
+
pilot
|
|
1321
|
+
pink
|
|
1322
|
+
pioneer
|
|
1323
|
+
pipe
|
|
1324
|
+
pistol
|
|
1325
|
+
pitch
|
|
1326
|
+
pizza
|
|
1327
|
+
place
|
|
1328
|
+
planet
|
|
1329
|
+
plastic
|
|
1330
|
+
plate
|
|
1331
|
+
play
|
|
1332
|
+
please
|
|
1333
|
+
pledge
|
|
1334
|
+
pluck
|
|
1335
|
+
plug
|
|
1336
|
+
plunge
|
|
1337
|
+
poem
|
|
1338
|
+
poet
|
|
1339
|
+
point
|
|
1340
|
+
polar
|
|
1341
|
+
pole
|
|
1342
|
+
police
|
|
1343
|
+
pond
|
|
1344
|
+
pony
|
|
1345
|
+
pool
|
|
1346
|
+
popular
|
|
1347
|
+
portion
|
|
1348
|
+
position
|
|
1349
|
+
possible
|
|
1350
|
+
post
|
|
1351
|
+
potato
|
|
1352
|
+
pottery
|
|
1353
|
+
poverty
|
|
1354
|
+
powder
|
|
1355
|
+
power
|
|
1356
|
+
practice
|
|
1357
|
+
praise
|
|
1358
|
+
predict
|
|
1359
|
+
prefer
|
|
1360
|
+
prepare
|
|
1361
|
+
present
|
|
1362
|
+
pretty
|
|
1363
|
+
prevent
|
|
1364
|
+
price
|
|
1365
|
+
pride
|
|
1366
|
+
primary
|
|
1367
|
+
print
|
|
1368
|
+
priority
|
|
1369
|
+
prison
|
|
1370
|
+
private
|
|
1371
|
+
prize
|
|
1372
|
+
problem
|
|
1373
|
+
process
|
|
1374
|
+
produce
|
|
1375
|
+
profit
|
|
1376
|
+
program
|
|
1377
|
+
project
|
|
1378
|
+
promote
|
|
1379
|
+
proof
|
|
1380
|
+
property
|
|
1381
|
+
prosper
|
|
1382
|
+
protect
|
|
1383
|
+
proud
|
|
1384
|
+
provide
|
|
1385
|
+
public
|
|
1386
|
+
pudding
|
|
1387
|
+
pull
|
|
1388
|
+
pulp
|
|
1389
|
+
pulse
|
|
1390
|
+
pumpkin
|
|
1391
|
+
punch
|
|
1392
|
+
pupil
|
|
1393
|
+
puppy
|
|
1394
|
+
purchase
|
|
1395
|
+
purity
|
|
1396
|
+
purpose
|
|
1397
|
+
purse
|
|
1398
|
+
push
|
|
1399
|
+
put
|
|
1400
|
+
puzzle
|
|
1401
|
+
pyramid
|
|
1402
|
+
quality
|
|
1403
|
+
quantum
|
|
1404
|
+
quarter
|
|
1405
|
+
question
|
|
1406
|
+
quick
|
|
1407
|
+
quit
|
|
1408
|
+
quiz
|
|
1409
|
+
quote
|
|
1410
|
+
rabbit
|
|
1411
|
+
raccoon
|
|
1412
|
+
race
|
|
1413
|
+
rack
|
|
1414
|
+
radar
|
|
1415
|
+
radio
|
|
1416
|
+
rail
|
|
1417
|
+
rain
|
|
1418
|
+
raise
|
|
1419
|
+
rally
|
|
1420
|
+
ramp
|
|
1421
|
+
ranch
|
|
1422
|
+
random
|
|
1423
|
+
range
|
|
1424
|
+
rapid
|
|
1425
|
+
rare
|
|
1426
|
+
rate
|
|
1427
|
+
rather
|
|
1428
|
+
raven
|
|
1429
|
+
raw
|
|
1430
|
+
razor
|
|
1431
|
+
ready
|
|
1432
|
+
real
|
|
1433
|
+
reason
|
|
1434
|
+
rebel
|
|
1435
|
+
rebuild
|
|
1436
|
+
recall
|
|
1437
|
+
receive
|
|
1438
|
+
recipe
|
|
1439
|
+
record
|
|
1440
|
+
recycle
|
|
1441
|
+
reduce
|
|
1442
|
+
reflect
|
|
1443
|
+
reform
|
|
1444
|
+
refuse
|
|
1445
|
+
region
|
|
1446
|
+
regret
|
|
1447
|
+
regular
|
|
1448
|
+
reject
|
|
1449
|
+
relax
|
|
1450
|
+
release
|
|
1451
|
+
relief
|
|
1452
|
+
rely
|
|
1453
|
+
remain
|
|
1454
|
+
remember
|
|
1455
|
+
remind
|
|
1456
|
+
remove
|
|
1457
|
+
render
|
|
1458
|
+
renew
|
|
1459
|
+
rent
|
|
1460
|
+
reopen
|
|
1461
|
+
repair
|
|
1462
|
+
repeat
|
|
1463
|
+
replace
|
|
1464
|
+
report
|
|
1465
|
+
require
|
|
1466
|
+
rescue
|
|
1467
|
+
resemble
|
|
1468
|
+
resist
|
|
1469
|
+
resource
|
|
1470
|
+
response
|
|
1471
|
+
result
|
|
1472
|
+
retire
|
|
1473
|
+
retreat
|
|
1474
|
+
return
|
|
1475
|
+
reunion
|
|
1476
|
+
reveal
|
|
1477
|
+
review
|
|
1478
|
+
reward
|
|
1479
|
+
rhythm
|
|
1480
|
+
rib
|
|
1481
|
+
ribbon
|
|
1482
|
+
rice
|
|
1483
|
+
rich
|
|
1484
|
+
ride
|
|
1485
|
+
ridge
|
|
1486
|
+
rifle
|
|
1487
|
+
right
|
|
1488
|
+
rigid
|
|
1489
|
+
ring
|
|
1490
|
+
riot
|
|
1491
|
+
ripple
|
|
1492
|
+
risk
|
|
1493
|
+
ritual
|
|
1494
|
+
rival
|
|
1495
|
+
river
|
|
1496
|
+
road
|
|
1497
|
+
roast
|
|
1498
|
+
robot
|
|
1499
|
+
robust
|
|
1500
|
+
rocket
|
|
1501
|
+
romance
|
|
1502
|
+
roof
|
|
1503
|
+
rookie
|
|
1504
|
+
room
|
|
1505
|
+
rose
|
|
1506
|
+
rotate
|
|
1507
|
+
rough
|
|
1508
|
+
round
|
|
1509
|
+
route
|
|
1510
|
+
royal
|
|
1511
|
+
rubber
|
|
1512
|
+
rude
|
|
1513
|
+
rug
|
|
1514
|
+
rule
|
|
1515
|
+
run
|
|
1516
|
+
runway
|
|
1517
|
+
rural
|
|
1518
|
+
sad
|
|
1519
|
+
saddle
|
|
1520
|
+
sadness
|
|
1521
|
+
safe
|
|
1522
|
+
sail
|
|
1523
|
+
salad
|
|
1524
|
+
salmon
|
|
1525
|
+
salon
|
|
1526
|
+
salt
|
|
1527
|
+
salute
|
|
1528
|
+
same
|
|
1529
|
+
sample
|
|
1530
|
+
sand
|
|
1531
|
+
satisfy
|
|
1532
|
+
satoshi
|
|
1533
|
+
sauce
|
|
1534
|
+
sausage
|
|
1535
|
+
save
|
|
1536
|
+
say
|
|
1537
|
+
scale
|
|
1538
|
+
scan
|
|
1539
|
+
scare
|
|
1540
|
+
scatter
|
|
1541
|
+
scene
|
|
1542
|
+
scheme
|
|
1543
|
+
school
|
|
1544
|
+
science
|
|
1545
|
+
scissors
|
|
1546
|
+
scorpion
|
|
1547
|
+
scout
|
|
1548
|
+
scrap
|
|
1549
|
+
screen
|
|
1550
|
+
script
|
|
1551
|
+
scrub
|
|
1552
|
+
sea
|
|
1553
|
+
search
|
|
1554
|
+
season
|
|
1555
|
+
seat
|
|
1556
|
+
second
|
|
1557
|
+
secret
|
|
1558
|
+
section
|
|
1559
|
+
security
|
|
1560
|
+
seed
|
|
1561
|
+
seek
|
|
1562
|
+
segment
|
|
1563
|
+
select
|
|
1564
|
+
sell
|
|
1565
|
+
seminar
|
|
1566
|
+
senior
|
|
1567
|
+
sense
|
|
1568
|
+
sentence
|
|
1569
|
+
series
|
|
1570
|
+
service
|
|
1571
|
+
session
|
|
1572
|
+
settle
|
|
1573
|
+
setup
|
|
1574
|
+
seven
|
|
1575
|
+
shadow
|
|
1576
|
+
shaft
|
|
1577
|
+
shallow
|
|
1578
|
+
share
|
|
1579
|
+
shed
|
|
1580
|
+
shell
|
|
1581
|
+
sheriff
|
|
1582
|
+
shield
|
|
1583
|
+
shift
|
|
1584
|
+
shine
|
|
1585
|
+
ship
|
|
1586
|
+
shiver
|
|
1587
|
+
shock
|
|
1588
|
+
shoe
|
|
1589
|
+
shoot
|
|
1590
|
+
shop
|
|
1591
|
+
short
|
|
1592
|
+
shoulder
|
|
1593
|
+
shove
|
|
1594
|
+
shrimp
|
|
1595
|
+
shrug
|
|
1596
|
+
shuffle
|
|
1597
|
+
shy
|
|
1598
|
+
sibling
|
|
1599
|
+
sick
|
|
1600
|
+
side
|
|
1601
|
+
siege
|
|
1602
|
+
sight
|
|
1603
|
+
sign
|
|
1604
|
+
silent
|
|
1605
|
+
silk
|
|
1606
|
+
silly
|
|
1607
|
+
silver
|
|
1608
|
+
similar
|
|
1609
|
+
simple
|
|
1610
|
+
since
|
|
1611
|
+
sing
|
|
1612
|
+
siren
|
|
1613
|
+
sister
|
|
1614
|
+
situate
|
|
1615
|
+
six
|
|
1616
|
+
size
|
|
1617
|
+
skate
|
|
1618
|
+
sketch
|
|
1619
|
+
ski
|
|
1620
|
+
skill
|
|
1621
|
+
skin
|
|
1622
|
+
skirt
|
|
1623
|
+
skull
|
|
1624
|
+
slab
|
|
1625
|
+
slam
|
|
1626
|
+
sleep
|
|
1627
|
+
slender
|
|
1628
|
+
slice
|
|
1629
|
+
slide
|
|
1630
|
+
slight
|
|
1631
|
+
slim
|
|
1632
|
+
slogan
|
|
1633
|
+
slot
|
|
1634
|
+
slow
|
|
1635
|
+
slush
|
|
1636
|
+
small
|
|
1637
|
+
smart
|
|
1638
|
+
smile
|
|
1639
|
+
smoke
|
|
1640
|
+
smooth
|
|
1641
|
+
snack
|
|
1642
|
+
snake
|
|
1643
|
+
snap
|
|
1644
|
+
sniff
|
|
1645
|
+
snow
|
|
1646
|
+
soap
|
|
1647
|
+
soccer
|
|
1648
|
+
social
|
|
1649
|
+
sock
|
|
1650
|
+
soda
|
|
1651
|
+
soft
|
|
1652
|
+
solar
|
|
1653
|
+
soldier
|
|
1654
|
+
solid
|
|
1655
|
+
solution
|
|
1656
|
+
solve
|
|
1657
|
+
someone
|
|
1658
|
+
song
|
|
1659
|
+
soon
|
|
1660
|
+
sorry
|
|
1661
|
+
sort
|
|
1662
|
+
soul
|
|
1663
|
+
sound
|
|
1664
|
+
soup
|
|
1665
|
+
source
|
|
1666
|
+
south
|
|
1667
|
+
space
|
|
1668
|
+
spare
|
|
1669
|
+
spatial
|
|
1670
|
+
spawn
|
|
1671
|
+
speak
|
|
1672
|
+
special
|
|
1673
|
+
speed
|
|
1674
|
+
spell
|
|
1675
|
+
spend
|
|
1676
|
+
sphere
|
|
1677
|
+
spice
|
|
1678
|
+
spider
|
|
1679
|
+
spike
|
|
1680
|
+
spin
|
|
1681
|
+
spirit
|
|
1682
|
+
split
|
|
1683
|
+
spoil
|
|
1684
|
+
sponsor
|
|
1685
|
+
spoon
|
|
1686
|
+
sport
|
|
1687
|
+
spot
|
|
1688
|
+
spray
|
|
1689
|
+
spread
|
|
1690
|
+
spring
|
|
1691
|
+
spy
|
|
1692
|
+
square
|
|
1693
|
+
squeeze
|
|
1694
|
+
squirrel
|
|
1695
|
+
stable
|
|
1696
|
+
stadium
|
|
1697
|
+
staff
|
|
1698
|
+
stage
|
|
1699
|
+
stairs
|
|
1700
|
+
stamp
|
|
1701
|
+
stand
|
|
1702
|
+
start
|
|
1703
|
+
state
|
|
1704
|
+
stay
|
|
1705
|
+
steak
|
|
1706
|
+
steel
|
|
1707
|
+
stem
|
|
1708
|
+
step
|
|
1709
|
+
stereo
|
|
1710
|
+
stick
|
|
1711
|
+
still
|
|
1712
|
+
sting
|
|
1713
|
+
stock
|
|
1714
|
+
stomach
|
|
1715
|
+
stone
|
|
1716
|
+
stool
|
|
1717
|
+
story
|
|
1718
|
+
stove
|
|
1719
|
+
strategy
|
|
1720
|
+
street
|
|
1721
|
+
strike
|
|
1722
|
+
strong
|
|
1723
|
+
struggle
|
|
1724
|
+
student
|
|
1725
|
+
stuff
|
|
1726
|
+
stumble
|
|
1727
|
+
style
|
|
1728
|
+
subject
|
|
1729
|
+
submit
|
|
1730
|
+
subway
|
|
1731
|
+
success
|
|
1732
|
+
such
|
|
1733
|
+
sudden
|
|
1734
|
+
suffer
|
|
1735
|
+
sugar
|
|
1736
|
+
suggest
|
|
1737
|
+
suit
|
|
1738
|
+
summer
|
|
1739
|
+
sun
|
|
1740
|
+
sunny
|
|
1741
|
+
sunset
|
|
1742
|
+
super
|
|
1743
|
+
supply
|
|
1744
|
+
supreme
|
|
1745
|
+
sure
|
|
1746
|
+
surface
|
|
1747
|
+
surge
|
|
1748
|
+
surprise
|
|
1749
|
+
surround
|
|
1750
|
+
survey
|
|
1751
|
+
suspect
|
|
1752
|
+
sustain
|
|
1753
|
+
swallow
|
|
1754
|
+
swamp
|
|
1755
|
+
swap
|
|
1756
|
+
swarm
|
|
1757
|
+
swear
|
|
1758
|
+
sweet
|
|
1759
|
+
swift
|
|
1760
|
+
swim
|
|
1761
|
+
swing
|
|
1762
|
+
switch
|
|
1763
|
+
sword
|
|
1764
|
+
symbol
|
|
1765
|
+
symptom
|
|
1766
|
+
syrup
|
|
1767
|
+
system
|
|
1768
|
+
table
|
|
1769
|
+
tackle
|
|
1770
|
+
tag
|
|
1771
|
+
tail
|
|
1772
|
+
talent
|
|
1773
|
+
talk
|
|
1774
|
+
tank
|
|
1775
|
+
tape
|
|
1776
|
+
target
|
|
1777
|
+
task
|
|
1778
|
+
taste
|
|
1779
|
+
tattoo
|
|
1780
|
+
taxi
|
|
1781
|
+
teach
|
|
1782
|
+
team
|
|
1783
|
+
tell
|
|
1784
|
+
ten
|
|
1785
|
+
tenant
|
|
1786
|
+
tennis
|
|
1787
|
+
tent
|
|
1788
|
+
term
|
|
1789
|
+
test
|
|
1790
|
+
text
|
|
1791
|
+
thank
|
|
1792
|
+
that
|
|
1793
|
+
theme
|
|
1794
|
+
then
|
|
1795
|
+
theory
|
|
1796
|
+
there
|
|
1797
|
+
they
|
|
1798
|
+
thing
|
|
1799
|
+
this
|
|
1800
|
+
thought
|
|
1801
|
+
three
|
|
1802
|
+
thrive
|
|
1803
|
+
throw
|
|
1804
|
+
thumb
|
|
1805
|
+
thunder
|
|
1806
|
+
ticket
|
|
1807
|
+
tide
|
|
1808
|
+
tiger
|
|
1809
|
+
tilt
|
|
1810
|
+
timber
|
|
1811
|
+
time
|
|
1812
|
+
tiny
|
|
1813
|
+
tip
|
|
1814
|
+
tired
|
|
1815
|
+
tissue
|
|
1816
|
+
title
|
|
1817
|
+
toast
|
|
1818
|
+
tobacco
|
|
1819
|
+
today
|
|
1820
|
+
toddler
|
|
1821
|
+
toe
|
|
1822
|
+
together
|
|
1823
|
+
toilet
|
|
1824
|
+
token
|
|
1825
|
+
tomato
|
|
1826
|
+
tomorrow
|
|
1827
|
+
tone
|
|
1828
|
+
tongue
|
|
1829
|
+
tonight
|
|
1830
|
+
tool
|
|
1831
|
+
tooth
|
|
1832
|
+
top
|
|
1833
|
+
topic
|
|
1834
|
+
topple
|
|
1835
|
+
torch
|
|
1836
|
+
tornado
|
|
1837
|
+
tortoise
|
|
1838
|
+
toss
|
|
1839
|
+
total
|
|
1840
|
+
tourist
|
|
1841
|
+
toward
|
|
1842
|
+
tower
|
|
1843
|
+
town
|
|
1844
|
+
toy
|
|
1845
|
+
track
|
|
1846
|
+
trade
|
|
1847
|
+
traffic
|
|
1848
|
+
tragic
|
|
1849
|
+
train
|
|
1850
|
+
transfer
|
|
1851
|
+
trap
|
|
1852
|
+
trash
|
|
1853
|
+
travel
|
|
1854
|
+
tray
|
|
1855
|
+
treat
|
|
1856
|
+
tree
|
|
1857
|
+
trend
|
|
1858
|
+
trial
|
|
1859
|
+
tribe
|
|
1860
|
+
trick
|
|
1861
|
+
trigger
|
|
1862
|
+
trim
|
|
1863
|
+
trip
|
|
1864
|
+
trophy
|
|
1865
|
+
trouble
|
|
1866
|
+
truck
|
|
1867
|
+
true
|
|
1868
|
+
truly
|
|
1869
|
+
trumpet
|
|
1870
|
+
trust
|
|
1871
|
+
truth
|
|
1872
|
+
try
|
|
1873
|
+
tube
|
|
1874
|
+
tuition
|
|
1875
|
+
tumble
|
|
1876
|
+
tuna
|
|
1877
|
+
tunnel
|
|
1878
|
+
turkey
|
|
1879
|
+
turn
|
|
1880
|
+
turtle
|
|
1881
|
+
twelve
|
|
1882
|
+
twenty
|
|
1883
|
+
twice
|
|
1884
|
+
twin
|
|
1885
|
+
twist
|
|
1886
|
+
two
|
|
1887
|
+
type
|
|
1888
|
+
typical
|
|
1889
|
+
ugly
|
|
1890
|
+
umbrella
|
|
1891
|
+
unable
|
|
1892
|
+
unaware
|
|
1893
|
+
uncle
|
|
1894
|
+
uncover
|
|
1895
|
+
under
|
|
1896
|
+
undo
|
|
1897
|
+
unfair
|
|
1898
|
+
unfold
|
|
1899
|
+
unhappy
|
|
1900
|
+
uniform
|
|
1901
|
+
unique
|
|
1902
|
+
unit
|
|
1903
|
+
universe
|
|
1904
|
+
unknown
|
|
1905
|
+
unlock
|
|
1906
|
+
until
|
|
1907
|
+
unusual
|
|
1908
|
+
unveil
|
|
1909
|
+
update
|
|
1910
|
+
upgrade
|
|
1911
|
+
uphold
|
|
1912
|
+
upon
|
|
1913
|
+
upper
|
|
1914
|
+
upset
|
|
1915
|
+
urban
|
|
1916
|
+
urge
|
|
1917
|
+
usage
|
|
1918
|
+
use
|
|
1919
|
+
used
|
|
1920
|
+
useful
|
|
1921
|
+
useless
|
|
1922
|
+
usual
|
|
1923
|
+
utility
|
|
1924
|
+
vacant
|
|
1925
|
+
vacuum
|
|
1926
|
+
vague
|
|
1927
|
+
valid
|
|
1928
|
+
valley
|
|
1929
|
+
valve
|
|
1930
|
+
van
|
|
1931
|
+
vanish
|
|
1932
|
+
vapor
|
|
1933
|
+
various
|
|
1934
|
+
vast
|
|
1935
|
+
vault
|
|
1936
|
+
vehicle
|
|
1937
|
+
velvet
|
|
1938
|
+
vendor
|
|
1939
|
+
venture
|
|
1940
|
+
venue
|
|
1941
|
+
verb
|
|
1942
|
+
verify
|
|
1943
|
+
version
|
|
1944
|
+
very
|
|
1945
|
+
vessel
|
|
1946
|
+
veteran
|
|
1947
|
+
viable
|
|
1948
|
+
vibrant
|
|
1949
|
+
vicious
|
|
1950
|
+
victory
|
|
1951
|
+
video
|
|
1952
|
+
view
|
|
1953
|
+
village
|
|
1954
|
+
vintage
|
|
1955
|
+
violin
|
|
1956
|
+
virtual
|
|
1957
|
+
virus
|
|
1958
|
+
visa
|
|
1959
|
+
visit
|
|
1960
|
+
visual
|
|
1961
|
+
vital
|
|
1962
|
+
vivid
|
|
1963
|
+
vocal
|
|
1964
|
+
voice
|
|
1965
|
+
void
|
|
1966
|
+
volcano
|
|
1967
|
+
volume
|
|
1968
|
+
vote
|
|
1969
|
+
voyage
|
|
1970
|
+
wage
|
|
1971
|
+
wagon
|
|
1972
|
+
wait
|
|
1973
|
+
walk
|
|
1974
|
+
wall
|
|
1975
|
+
walnut
|
|
1976
|
+
want
|
|
1977
|
+
warfare
|
|
1978
|
+
warm
|
|
1979
|
+
warrior
|
|
1980
|
+
wash
|
|
1981
|
+
wasp
|
|
1982
|
+
waste
|
|
1983
|
+
water
|
|
1984
|
+
wave
|
|
1985
|
+
way
|
|
1986
|
+
wealth
|
|
1987
|
+
weapon
|
|
1988
|
+
wear
|
|
1989
|
+
weasel
|
|
1990
|
+
weather
|
|
1991
|
+
web
|
|
1992
|
+
wedding
|
|
1993
|
+
weekend
|
|
1994
|
+
weird
|
|
1995
|
+
welcome
|
|
1996
|
+
west
|
|
1997
|
+
wet
|
|
1998
|
+
whale
|
|
1999
|
+
what
|
|
2000
|
+
wheat
|
|
2001
|
+
wheel
|
|
2002
|
+
when
|
|
2003
|
+
where
|
|
2004
|
+
whip
|
|
2005
|
+
whisper
|
|
2006
|
+
wide
|
|
2007
|
+
width
|
|
2008
|
+
wife
|
|
2009
|
+
wild
|
|
2010
|
+
will
|
|
2011
|
+
win
|
|
2012
|
+
window
|
|
2013
|
+
wine
|
|
2014
|
+
wing
|
|
2015
|
+
wink
|
|
2016
|
+
winner
|
|
2017
|
+
winter
|
|
2018
|
+
wire
|
|
2019
|
+
wisdom
|
|
2020
|
+
wise
|
|
2021
|
+
wish
|
|
2022
|
+
witness
|
|
2023
|
+
wolf
|
|
2024
|
+
woman
|
|
2025
|
+
wonder
|
|
2026
|
+
wood
|
|
2027
|
+
wool
|
|
2028
|
+
word
|
|
2029
|
+
work
|
|
2030
|
+
world
|
|
2031
|
+
worry
|
|
2032
|
+
worth
|
|
2033
|
+
wrap
|
|
2034
|
+
wreck
|
|
2035
|
+
wrestle
|
|
2036
|
+
wrist
|
|
2037
|
+
write
|
|
2038
|
+
wrong
|
|
2039
|
+
yard
|
|
2040
|
+
year
|
|
2041
|
+
yellow
|
|
2042
|
+
you
|
|
2043
|
+
young
|
|
2044
|
+
youth
|
|
2045
|
+
zebra
|
|
2046
|
+
zero
|
|
2047
|
+
zone
|
|
2048
|
+
zoo`.split(`
|
|
2049
|
+
`);var uA=class{async deriveKeypair(_){if(!_.seed)throw new Error("BIP32 derivation requires a seed");if(!_.path)throw new Error(`BIP32 derivation requires a path (e.g., "m/44'/0'/0'/0/0")`);try{let X=Hi.fromMasterSeed(_.seed).derive(_.path);if(!X.privateKey)throw new Error(`Failed to derive private key at path ${_.path}`);if(!X.publicKey)throw new Error(`Failed to derive public key at path ${_.path}`);return{privateKey:X.privateKey,publicKey:X.publicKey}}catch(z){throw new Error(`BIP32 derivation failed at path ${_.path}: ${z instanceof Error?z.message:String(z)}`)}}mnemonicToSeed(_,z){return xc(_,z)}generateMnemonic(_=256){return pc(bc,_)}static bitcoinPath(_=0,z=0,X=0){return`m/44'/0'/${_}'/${z}/${X}`}static bitcoinSegWitPath(_=0,z=0,X=0){return`m/84'/0'/${_}'/${z}/${X}`}};be();var wc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function Df(Z){let _=0n;for(let X of Z)_=_*256n+BigInt(X);let z="";for(;_>0n;){let X=Number(_%58n);z=wc[X]+z,_=_/58n}for(let X of Z){if(X!==0)break;z="1"+z}return z}function Sf(Z){let _=0n;for(let X of Z){let ee=wc.indexOf(X);if(ee===-1)throw new Error(`Invalid Base58 character: ${X}`);_=_*58n+BigInt(ee)}let z=[];for(;_>0n;)z.unshift(Number(_%256n)),_=_/256n;for(let X of Z){if(X!=="1")break;z.unshift(0)}return new Uint8Array(z)}function As(Z,_=!0,z="mainnet"){if(Z.length!==32)throw new Error("Private key must be 32 bytes");let X=z==="mainnet"?128:239,ee=new Uint8Array(_?34:33);ee[0]=X,ee.set(Z,1),_&&(ee[33]=1);let re=yr(ee),ae=yr(re).slice(0,4),fe=new Uint8Array(ee.length+4);return fe.set(ee),fe.set(ae,ee.length),Df(fe)}function rs(Z){let _=Sf(Z);if(_.length!==37&&_.length!==38)throw new Error("Invalid WIF length");let z=_.slice(0,-4),X=_.slice(-4),ee=yr(z),ie=yr(ee).slice(0,4);if(!X.every((ce,Ee)=>ce===ie[Ee]))throw new Error("Invalid WIF checksum");let ae=z[0],fe=ae===128?"mainnet":ae===239?"testnet":null;if(!fe)throw new Error(`Invalid WIF version byte: 0x${ae.toString(16)}`);let le=z.length===34&&z[33]===1;return{privateKey:z.slice(1,33),compressed:le,network:fe}}yn.hmacSha256Sync=(Z,..._)=>Ao(yr,Z,yn.concatBytes(..._));var tn=class{constructor(){he(this,"suiteId","bsv-ecdsa-secp256k1");he(this,"version","1.0.0");he(this,"capabilities",{derivation:new uA})}async generateKeypair(){let _=K0.randomPrivateKey(),z=U0(_,!0);return{privateKey:_,publicKey:z}}async sign(_,z){try{return(await F0(z,_)).toCompactRawBytes()}catch(X){throw new Error(`BsvEcdsaSuite signing failed: ${X instanceof Error?X.message:String(X)}`)}}async verify(_,z,X){try{return R0(X,z,_)}catch{return!1}}exportPublicKey(_){return un(_)}importPublicKey(_){return Mr(_)}exportPrivateKey(_){return As(_,!0,"mainnet")}importPrivateKey(_){if(_.length===64){let z=Mr(_);if(z.length!==32)throw new Error("Private key must be 32 bytes");return z}else try{let{privateKey:z}=rs(_);return z}catch(z){throw new Error(`Invalid private key format: ${z instanceof Error?z.message:String(z)}`)}}};be();var ns=null;async function is(){if(!ns){let Z=await Promise.resolve().then(()=>Nc(mc(),1));ns=Z.default||Z}return ns}var Kn=class{constructor(){he(this,"suiteId","ml-dsa-87");he(this,"version","1.0.0");he(this,"capabilities",{})}async generateKeypair(){try{let z=await(await is()).keyPair();return{publicKey:new Uint8Array(z.publicKey),privateKey:new Uint8Array(z.privateKey)}}catch(_){throw new Error(`ML-DSA-87 key generation failed: ${_ instanceof Error?_.message:String(_)}`)}}async sign(_,z){try{let ee=await(await is()).signDetached(Buffer.from(z),Buffer.from(_));return new Uint8Array(ee)}catch(X){throw new Error(`ML-DSA-87 signing failed: ${X instanceof Error?X.message:String(X)}`)}}async verify(_,z,X){try{return await(await is()).verifyDetached(Buffer.from(X),Buffer.from(z),Buffer.from(_))}catch{return!1}}exportPublicKey(_){return un(_)}importPublicKey(_){let z=Mr(_);if(z.length!==2592)throw new Error(`ML-DSA-87 public key must be 2592 bytes, got ${z.length}`);return z}exportPrivateKey(_){return un(_)}importPrivateKey(_){let z=Mr(_);if(z.length!==4864)throw new Error(`ML-DSA-87 private key must be 4864 bytes, got ${z.length}`);return z}},Mn=class{constructor(){he(this,"suiteId","ml-dsa-65");he(this,"version","1.0.0");he(this,"impl",new Kn)}async generateKeypair(){return this.impl.generateKeypair()}async sign(_,z){return this.impl.sign(_,z)}async verify(_,z,X){return this.impl.verify(_,z,X)}exportPublicKey(_){return this.impl.exportPublicKey(_)}importPublicKey(_){return this.impl.importPublicKey(_)}exportPrivateKey(_){return this.impl.exportPrivateKey(_)}importPrivateKey(_){return this.impl.importPrivateKey(_)}};var Ui=class{constructor(_){this.keyCounter=new Map;this.counterInitialized=new Set;this.counterInitPromises=new Map;this.keyRegistry=_.keyRegistry,this.suiteRegistry=_.suiteRegistry}async createKey(_,z,X={}){let ee=this.suiteRegistry.getSuite(z.primarySignatureSuite),re;if(X.derivationContext){if(!ee.capabilities?.derivation){let Ce=this.getSuitesWithCapability("derivation");throw new Error(`Suite '${ee.suiteId}' does not support key derivation.
|
|
2050
|
+
`+(Ce.length>0?`Suites with derivation capability: ${Ce.join(", ")}
|
|
2051
|
+
Consider using one of these suites or remove the derivationContext option.`:"No suites currently support derivation. Remove the derivationContext option."))}re=await ee.capabilities.derivation.deriveKeypair(X.derivationContext)}else re=await ee.generateKeypair();let ie=await this.getNextCounter(_),ae=z.primarySignatureSuite.split("-")[0],fe=`${_}:pk-${ae}-${ie}`;return{meta:await this.keyRegistry.registerKey(fe,re,z.primarySignatureSuite,{expiresAt:X.expiresAt,usage:X.usage||["signing"],cryptoProfileVersion:X.cryptoProfileVersion||"1.0.0"}),publicKey:re.publicKey}}async getKey(_){let z=await this.keyRegistry.getPublicKey(_);return z?{meta:z.meta,publicKey:z.publicKey}:null}async signWithKey(_,z){let X=await this.keyRegistry.getKey(_);if(!X)throw new Error(`Key not found: ${_}`);if(X.meta.status!=="active")throw new Error(`Key is not active: ${_} (status: ${X.meta.status})`);let ee=this.suiteRegistry.getSuite(X.meta.suiteId),re=this.getHashAlgorithm(X.meta.suiteId),ie=await ei(z,re);return await ee.sign(X.keypair.privateKey,ie)}async verifySignature(_,z,X){let ee=await this.keyRegistry.getPublicKey(_);if(!ee)return!1;let re=this.suiteRegistry.getSuite(ee.meta.suiteId),ie=this.getHashAlgorithm(ee.meta.suiteId),ae=await ei(z,ie);try{return await re.verify(ee.publicKey,ae,X)}catch{return!1}}async listKeysForAgent(_,z=!0){let ee=(z?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(ie=>ie.keyId.startsWith(`${_}:`)),re=[];for(let ie of ee){let ae=await this.keyRegistry.getPublicKey(ie.keyId);ae&&re.push({meta:ae.meta,publicKey:ae.publicKey})}return re}async getActiveCryptoProfile(_){let z=await this.listKeysForAgent(_,!0);if(z.length===0)return null;let X=this.sortKeysByCreatedAt(z),ee=new Set(X.map(ie=>ie.meta.suiteId)),re=Array.from(ee);return{primarySignatureSuite:re[0],secondarySignatureSuite:re[1]}}async rotateAgentKeys(_){let z=await this.listKeysForAgent(_,!0),X=[];for(let ee of z){let ie=await this.suiteRegistry.getSuite(ee.meta.suiteId).generateKeypair(),ae=await this.getNextCounter(_),fe=ee.meta.suiteId.split("-")[0],le=`${_}:pk-${fe}-${ae}`,Ce=await this.keyRegistry.rotateKey(ee.meta.keyId,le,ie);X.push({meta:Ce,publicKey:ie.publicKey})}return X}async getOrCreateKey(_,z,X={}){let re=(await this.listKeysForAgent(_,!0)).find(ie=>ie.meta.suiteId===z.primarySignatureSuite);return re||await this.createKey(_,z,X)}async createDualSignatureKeys(_,z,X={}){if(!z.secondarySignatureSuite)throw new Error("secondarySignatureSuite is required to create dual signature keys");let ee=await this.createKey(_,{primarySignatureSuite:z.primarySignatureSuite},X),re=await this.createKey(_,{primarySignatureSuite:z.secondarySignatureSuite},X);return{primaryKey:ee,secondaryKey:re}}async getOrCreateDualSignatureKeys(_,z,X={}){if(!z.secondarySignatureSuite)throw new Error("secondarySignatureSuite is required to create dual signature keys");let ee=await this.getOrCreateKey(_,{primarySignatureSuite:z.primarySignatureSuite},X),re=await this.getOrCreateKey(_,{primarySignatureSuite:z.secondarySignatureSuite},X);return{primaryKey:ee,secondaryKey:re}}async signWithSuites(_,z,X){let ee=this.sortKeysByCreatedAt(await this.listKeysForAgent(_,!0));if(ee.length===0)throw new Error(`No active keys found for agent: ${_}`);let re=X?.length?X:Array.from(new Set(ee.map(ae=>ae.meta.suiteId))),ie=[];for(let ae of re){let fe=ee.find(Ce=>Ce.meta.suiteId===ae);if(!fe)throw new Error(`No active key for suite '${ae}' and agent '${_}'`);let le=await this.signWithKey(fe.meta.keyId,z);ie.push({suiteId:ae,keyId:fe.meta.keyId,signature:le})}return{signatures:ie}}async verifyWithSuites(_,z,X){let ee=[];for(let re of X)try{let ie=await this.verifySignature(re.keyId,z,re.signature);ee.push({suiteId:re.suiteId,keyId:re.keyId,valid:ie})}catch(ie){ee.push({suiteId:re.suiteId,keyId:re.keyId,valid:!1,error:ie.message})}return{results:ee,allValid:ee.every(re=>re.valid)}}generateMnemonic(_=256){return new uA().generateMnemonic(_)}async createKeyFromMnemonic(_,z,X,ee=uA.bitcoinPath(0,0,0),re,ie={}){let fe=new uA().mnemonicToSeed(X,re);return await this.createKey(_,z,{...ie,derivationContext:{seed:fe,path:ee}})}getCapabilities(_){let z=this.suiteRegistry.getSuite(_),X=[];return z.capabilities?.derivation&&X.push("derivation"),z.capabilities?.encryption&&X.push("encryption"),z.capabilities?.threshold&&X.push("threshold"),X}getSuitesWithCapability(_){return this.suiteRegistry.getAllSuites().filter(X=>!!X.capabilities?.[_]).map(X=>X.suiteId)}async createBitcoinWalletKey(_,z,X=0,ee=0,re=!1,ie={}){let ae=uA.bitcoinPath(X,re?1:0,ee);return this.createKeyFromMnemonic(_,{primarySignatureSuite:"bsv-ecdsa-secp256k1"},z,ae,void 0,ie)}getHashAlgorithm(_){return _.startsWith("ml-dsa")?"sha3-256":"sha256"}async getNextCounter(_){if(!this.counterInitialized.has(_)){if(!this.counterInitPromises.has(_)){let re=(async()=>{let ae=(await this.keyRegistry.listKeys()).reduce((fe,le)=>{if(!le.keyId.startsWith(`${_}:pk-`))return fe;let Ce=le.keyId.match(/:pk-[^-]+-(\d+)$/);if(!Ce)return fe;let ce=parseInt(Ce[1],10);return Number.isFinite(ce)?Math.max(fe,ce):fe},0);this.keyCounter.set(_,ae),this.counterInitialized.add(_),this.counterInitPromises.delete(_)})();this.counterInitPromises.set(_,re)}let ee=this.counterInitPromises.get(_);ee&&await ee}let X=(this.keyCounter.get(_)||0)+1;return this.keyCounter.set(_,X),X}sortKeysByCreatedAt(_){return[..._].sort((z,X)=>{let ee=new Date(z.meta.createdAt).getTime(),re=new Date(X.meta.createdAt).getTime();if(ee!==re)return ee-re;let ie=this.getSuitePriority(z.meta.suiteId)-this.getSuitePriority(X.meta.suiteId);return ie!==0?ie:z.meta.keyId.localeCompare(X.meta.keyId)})}getSuitePriority(_){return _.startsWith("ml-dsa")?0:_.includes("ecdsa")?1:2}};be();async function os(){let Z=new JA,_=new In(Z),z=new gr;return z.register(new tn),z.register(new Mn),new Ui({keyRegistry:_,suiteRegistry:z})}var Hf={createKeySDK:os};typeof window<"u"&&(window.LumenKeys={createKeySDK:os});return Fc(kf);})();
|
|
2
2052
|
/*! Bundled license information:
|
|
3
2053
|
|
|
4
2054
|
@noble/hashes/utils.js:
|
|
5
2055
|
@noble/hashes/esm/utils.js:
|
|
2056
|
+
@noble/hashes/utils.js:
|
|
2057
|
+
@noble/hashes/utils.js:
|
|
2058
|
+
@noble/hashes/utils.js:
|
|
6
2059
|
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
7
2060
|
|
|
8
2061
|
@noble/secp256k1/index.js:
|
|
9
2062
|
(*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
2063
|
+
|
|
2064
|
+
@noble/curves/utils.js:
|
|
2065
|
+
@noble/curves/abstract/modular.js:
|
|
2066
|
+
@noble/curves/abstract/curve.js:
|
|
2067
|
+
@noble/curves/abstract/weierstrass.js:
|
|
2068
|
+
@noble/curves/secp256k1.js:
|
|
2069
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
2070
|
+
|
|
2071
|
+
@scure/base/index.js:
|
|
2072
|
+
(*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
2073
|
+
|
|
2074
|
+
@scure/bip32/index.js:
|
|
2075
|
+
(*! scure-bip32 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) *)
|
|
2076
|
+
|
|
2077
|
+
@scure/bip39/index.js:
|
|
2078
|
+
(*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) *)
|
|
10
2079
|
*/
|
|
11
2080
|
//# sourceMappingURL=lumen-keys.min.js.map
|