@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.
@@ -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)&lt^BA)^(Ct=(-1^de)&Tt^lA)^(Ze=(-1^ct)&ft^EA)^(ks=(-1^(NA=ke))&gt^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