@smartledger/keys 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -0
- package/README.md +492 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +60 -0
- package/dist/browser.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/lumen-keys.js +5203 -0
- package/dist/lumen-keys.js.map +7 -0
- package/dist/lumen-keys.min.js +11 -0
- package/dist/lumen-keys.min.js.map +7 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +190 -0
- package/dist/sdk.js.map +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";var LumenKeys=(()=>{var Rn=Object.create;var si=Object.defineProperty;var Ln=Object.getOwnPropertyDescriptor;var Mn=Object.getOwnPropertyNames;var Kn=Object.getPrototypeOf,vn=Object.prototype.hasOwnProperty;var qn=(X,_,$)=>_ in X?si(X,_,{enumerable:!0,configurable:!0,writable:!0,value:$}):X[_]=$;var Ee=(X,_)=>()=>(X&&(_=X(X=0)),_);var ot=(X,_)=>()=>(_||X((_={exports:{}}).exports,_),_.exports),Q0=(X,_)=>{for(var $ in _)si(X,$,{get:_[$],enumerable:!0})},Tg=(X,_,$,eA)=>{if(_&&typeof _=="object"||typeof _=="function")for(let rA of Mn(_))!vn.call(X,rA)&&rA!==$&&si(X,rA,{get:()=>_[rA],enumerable:!(eA=Ln(_,rA))||eA.enumerable});return X};var f0=(X,_,$)=>($=X!=null?Rn(Kn(X)):{},Tg(_||!X||!X.__esModule?si($,"default",{value:X,enumerable:!0}):$,X)),ai=X=>Tg(si({},"__esModule",{value:!0}),X);var bA=(X,_,$)=>qn(X,typeof _!="symbol"?_+"":_,$);var Buffer,process,mA=Ee(()=>{"use strict";Buffer={from:function(X,_){if(typeof X=="string"){if(_==="base64"){let eA=atob(X),rA=new Uint8Array(eA.length);for(let IA=0;IA<eA.length;IA++)rA[IA]=eA.charCodeAt(IA);return rA}return new TextEncoder().encode(X)}return new Uint8Array(X)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let X=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(_){if(_==="base64"){let $="",eA=new Uint8Array(this);for(let rA=0;rA<eA.byteLength;rA++)$+=String.fromCharCode(eA[rA]);return btoa($)}return X.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});var Vg=ot(Pg=>{"use strict";mA();Object.defineProperty(Pg,"__esModule",{value:!0})});var E0=ot(Xe=>{"use strict";mA();Object.defineProperty(Xe,"__esModule",{value:!0});Xe.globalRegistry=Xe.SignatureSuiteRegistry=void 0;var Fi=class{constructor(){bA(this,"suites",new Map)}register(_){if(this.suites.has(_.suiteId))throw new Error(`Signature suite already registered: ${_.suiteId}`);this.suites.set(_.suiteId,_)}getSuite(_){let $=this.suites.get(_);if(!$)throw new Error(`Unknown signature suite: ${_}. Available: ${this.listSuites().join(", ")}`);return $}hasSuite(_){return this.suites.has(_)}listSuites(){return[...this.suites.keys()]}unregister(_){return this.suites.delete(_)}clear(){this.suites.clear()}};Xe.SignatureSuiteRegistry=Fi;Xe.globalRegistry=new Fi});function Jn(X){return X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array"}function u0(X,_=""){if(!Number.isSafeInteger(X)||X<0){let $=_&&`"${_}" `;throw new Error(`${$}expected integer >= 0, got ${X}`)}}function Ze(X,_,$=""){let eA=Jn(X),rA=X?.length,IA=_!==void 0;if(!eA||IA&&rA!==_){let aA=$&&`"${$}" `,cA=IA?` of length ${_}`:"",EA=eA?`length=${rA}`:`type=${typeof X}`;throw new Error(aA+"expected Uint8Array"+cA+", got "+EA)}return X}function ze(X,_=!0){if(X.destroyed)throw new Error("Hash instance has been destroyed");if(_&&X.finished)throw new Error("Hash#digest() has already been called")}function Ui(X,_){Ze(X,void 0,"digestInto() output");let $=_.outputLen;if(X.length<$)throw new Error('"digestInto() output" expected to be of length >='+$)}function Wg(X){return new Uint32Array(X.buffer,X.byteOffset,Math.floor(X.byteLength/4))}function vt(...X){for(let _=0;_<X.length;_++)X[_].fill(0)}function ki(X){return new DataView(X.buffer,X.byteOffset,X.byteLength)}function Nt(X,_){return X<<32-_|X>>>_}function _n(X){return X<<24&4278190080|X<<8&16711680|X>>>8&65280|X>>>24&255}function jn(X){for(let _=0;_<X.length;_++)X[_]=_n(X[_]);return X}function Bi(X,_={}){let $=(rA,IA)=>X(IA).update(rA).digest(),eA=X(void 0);return $.outputLen=eA.outputLen,$.blockLen=eA.blockLen,$.create=rA=>X(rA),Object.assign($,_),Object.freeze($)}var On,h0,Ci,Ni=Ee(()=>{mA();On=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;h0=On?X=>X:jn;Ci=X=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,X])})});function Xg(X,_,$){return X&_^~X&$}function Zg(X,_,$){return X&_^X&$^_&$}var ci,Ie,It,zg=Ee(()=>{mA();Ni();ci=class{constructor(_,$,eA,rA){bA(this,"blockLen");bA(this,"outputLen");bA(this,"padOffset");bA(this,"isLE");bA(this,"buffer");bA(this,"view");bA(this,"finished",!1);bA(this,"length",0);bA(this,"pos",0);bA(this,"destroyed",!1);this.blockLen=_,this.outputLen=$,this.padOffset=eA,this.isLE=rA,this.buffer=new Uint8Array(_),this.view=ki(this.buffer)}update(_){ze(this),Ze(_);let{view:$,buffer:eA,blockLen:rA}=this,IA=_.length;for(let aA=0;aA<IA;){let cA=Math.min(rA-this.pos,IA-aA);if(cA===rA){let EA=ki(_);for(;rA<=IA-aA;aA+=rA)this.process(EA,aA);continue}eA.set(_.subarray(aA,aA+cA),this.pos),this.pos+=cA,aA+=cA,this.pos===rA&&(this.process($,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){ze(this),Ui(_,this),this.finished=!0;let{buffer:$,view:eA,blockLen:rA,isLE:IA}=this,{pos:aA}=this;$[aA++]=128,vt(this.buffer.subarray(aA)),this.padOffset>rA-aA&&(this.process(eA,0),aA=0);for(let CA=aA;CA<rA;CA++)$[CA]=0;eA.setBigUint64(rA-8,BigInt(this.length*8),IA),this.process(eA,0);let cA=ki(_),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 CA=0;CA<yA;CA++)cA.setUint32(4*CA,uA[CA],IA)}digest(){let{buffer:_,outputLen:$}=this;this.digestInto(_);let eA=_.slice(0,$);return this.destroy(),eA}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:$,buffer:eA,length:rA,finished:IA,destroyed:aA,pos:cA}=this;return _.destroyed=aA,_.finished=IA,_.length=rA,_.pos=cA,rA%$&&_.buffer.set(eA),_}clone(){return this._cloneInto()}},Ie=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),It=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function Tn(X,_=!1){return _?{h:Number(X&Yi),l:Number(X>>$g&Yi)}:{h:Number(X>>$g&Yi)|0,l:Number(X&Yi)|0}}function Ri(X,_=!1){let $=X.length,eA=new Uint32Array($),rA=new Uint32Array($);for(let IA=0;IA<$;IA++){let{h:aA,l:cA}=Tn(X[IA],_);[eA[IA],rA[IA]]=[aA,cA]}return[eA,rA]}function qt(X,_,$,eA){let rA=(_>>>0)+(eA>>>0);return{h:X+$+(rA/2**32|0)|0,l:rA|0}}var Yi,$g,y0,l0,Ue,ke,Qi,fi,Ar,tr,er,ir,gr,rr,nr,Ir,or,sr,d0=Ee(()=>{mA();Yi=BigInt(4294967295),$g=BigInt(32);y0=(X,_,$)=>X>>>$,l0=(X,_,$)=>X<<32-$|_>>>$,Ue=(X,_,$)=>X>>>$|_<<32-$,ke=(X,_,$)=>X<<32-$|_>>>$,Qi=(X,_,$)=>X<<64-$|_>>>$-32,fi=(X,_,$)=>X>>>$-32|_<<64-$,Ar=(X,_,$)=>X<<$|_>>>32-$,tr=(X,_,$)=>_<<$|X>>>32-$,er=(X,_,$)=>_<<$-32|X>>>64-$,ir=(X,_,$)=>X<<$-32|_>>>64-$;gr=(X,_,$)=>(X>>>0)+(_>>>0)+($>>>0),rr=(X,_,$,eA)=>_+$+eA+(X/2**32|0)|0,nr=(X,_,$,eA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0),Ir=(X,_,$,eA,rA)=>_+$+eA+rA+(X/2**32|0)|0,or=(X,_,$,eA,rA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0)+(rA>>>0),sr=(X,_,$,eA,rA,IA)=>_+$+eA+rA+IA+(X/2**32|0)|0});var Vn,ue,D0,b0,ar,Wn,Xn,he,ye,p0,w0,Br,Cr,cr=Ee(()=>{mA();zg();d0();Ni();Vn=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]),ue=new Uint32Array(64),D0=class extends ci{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:$,C:eA,D:rA,E:IA,F:aA,G:cA,H:EA}=this;return[_,$,eA,rA,IA,aA,cA,EA]}set(_,$,eA,rA,IA,aA,cA,EA){this.A=_|0,this.B=$|0,this.C=eA|0,this.D=rA|0,this.E=IA|0,this.F=aA|0,this.G=cA|0,this.H=EA|0}process(_,$){for(let CA=0;CA<16;CA++,$+=4)ue[CA]=_.getUint32($,!1);for(let CA=16;CA<64;CA++){let lA=ue[CA-15],Z=ue[CA-2],fA=Nt(lA,7)^Nt(lA,18)^lA>>>3,HA=Nt(Z,17)^Nt(Z,19)^Z>>>10;ue[CA]=HA+ue[CA-7]+fA+ue[CA-16]|0}let{A:eA,B:rA,C:IA,D:aA,E:cA,F:EA,G:yA,H:uA}=this;for(let CA=0;CA<64;CA++){let lA=Nt(cA,6)^Nt(cA,11)^Nt(cA,25),Z=uA+lA+Xg(cA,EA,yA)+Vn[CA]+ue[CA]|0,HA=(Nt(eA,2)^Nt(eA,13)^Nt(eA,22))+Zg(eA,rA,IA)|0;uA=yA,yA=EA,EA=cA,cA=aA+Z|0,aA=IA,IA=rA,rA=eA,eA=Z+HA|0}eA=eA+this.A|0,rA=rA+this.B|0,IA=IA+this.C|0,aA=aA+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(eA,rA,IA,aA,cA,EA,yA,uA)}roundClean(){vt(ue)}destroy(){this.set(0,0,0,0,0,0,0,0),vt(this.buffer)}},b0=class extends D0{constructor(){super(32);bA(this,"A",Ie[0]|0);bA(this,"B",Ie[1]|0);bA(this,"C",Ie[2]|0);bA(this,"D",Ie[3]|0);bA(this,"E",Ie[4]|0);bA(this,"F",Ie[5]|0);bA(this,"G",Ie[6]|0);bA(this,"H",Ie[7]|0)}},ar=Ri(["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(X=>BigInt(X))),Wn=ar[0],Xn=ar[1],he=new Uint32Array(80),ye=new Uint32Array(80),p0=class extends ci{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:$,Bh:eA,Bl:rA,Ch:IA,Cl:aA,Dh:cA,Dl:EA,Eh:yA,El:uA,Fh:CA,Fl:lA,Gh:Z,Gl:fA,Hh:HA,Hl:NA}=this;return[_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA]}set(_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA){this.Ah=_|0,this.Al=$|0,this.Bh=eA|0,this.Bl=rA|0,this.Ch=IA|0,this.Cl=aA|0,this.Dh=cA|0,this.Dl=EA|0,this.Eh=yA|0,this.El=uA|0,this.Fh=CA|0,this.Fl=lA|0,this.Gh=Z|0,this.Gl=fA|0,this.Hh=HA|0,this.Hl=NA|0}process(_,$){for(let pA=0;pA<16;pA++,$+=4)he[pA]=_.getUint32($),ye[pA]=_.getUint32($+=4);for(let pA=16;pA<80;pA++){let XA=he[pA-15]|0,zA=ye[pA-15]|0,SA=Ue(XA,zA,1)^Ue(XA,zA,8)^y0(XA,zA,7),dA=ke(XA,zA,1)^ke(XA,zA,8)^l0(XA,zA,7),OA=he[pA-2]|0,JA=ye[pA-2]|0,Ct=Ue(OA,JA,19)^Qi(OA,JA,61)^y0(OA,JA,6),Et=ke(OA,JA,19)^fi(OA,JA,61)^l0(OA,JA,6),ut=nr(dA,Et,ye[pA-7],ye[pA-16]),Lt=Ir(ut,SA,Ct,he[pA-7],he[pA-16]);he[pA]=Lt|0,ye[pA]=ut|0}let{Ah:eA,Al:rA,Bh:IA,Bl:aA,Ch:cA,Cl:EA,Dh:yA,Dl:uA,Eh:CA,El:lA,Fh:Z,Fl:fA,Gh:HA,Gl:NA,Hh:wA,Hl:LA}=this;for(let pA=0;pA<80;pA++){let XA=Ue(CA,lA,14)^Ue(CA,lA,18)^Qi(CA,lA,41),zA=ke(CA,lA,14)^ke(CA,lA,18)^fi(CA,lA,41),SA=CA&Z^~CA&HA,dA=lA&fA^~lA&NA,OA=or(LA,zA,dA,Xn[pA],ye[pA]),JA=sr(OA,wA,XA,SA,Wn[pA],he[pA]),Ct=OA|0,Et=Ue(eA,rA,28)^Qi(eA,rA,34)^Qi(eA,rA,39),ut=ke(eA,rA,28)^fi(eA,rA,34)^fi(eA,rA,39),Lt=eA&IA^eA&cA^IA&cA,Oe=rA&aA^rA&EA^aA&EA;wA=HA|0,LA=NA|0,HA=Z|0,NA=fA|0,Z=CA|0,fA=lA|0,{h:CA,l:lA}=qt(yA|0,uA|0,JA|0,Ct|0),yA=cA|0,uA=EA|0,cA=IA|0,EA=aA|0,IA=eA|0,aA=rA|0;let Wt=gr(Ct,ut,Oe);eA=rr(Wt,JA,Et,Lt),rA=Wt|0}({h:eA,l:rA}=qt(this.Ah|0,this.Al|0,eA|0,rA|0)),{h:IA,l:aA}=qt(this.Bh|0,this.Bl|0,IA|0,aA|0),{h:cA,l:EA}=qt(this.Ch|0,this.Cl|0,cA|0,EA|0),{h:yA,l:uA}=qt(this.Dh|0,this.Dl|0,yA|0,uA|0),{h:CA,l:lA}=qt(this.Eh|0,this.El|0,CA|0,lA|0),{h:Z,l:fA}=qt(this.Fh|0,this.Fl|0,Z|0,fA|0),{h:HA,l:NA}=qt(this.Gh|0,this.Gl|0,HA|0,NA|0),{h:wA,l:LA}=qt(this.Hh|0,this.Hl|0,wA|0,LA|0),this.set(eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA,wA,LA)}roundClean(){vt(he,ye)}destroy(){vt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},w0=class extends p0{constructor(){super(64);bA(this,"Ah",It[0]|0);bA(this,"Al",It[1]|0);bA(this,"Bh",It[2]|0);bA(this,"Bl",It[3]|0);bA(this,"Ch",It[4]|0);bA(this,"Cl",It[5]|0);bA(this,"Dh",It[6]|0);bA(this,"Dl",It[7]|0);bA(this,"Eh",It[8]|0);bA(this,"El",It[9]|0);bA(this,"Fh",It[10]|0);bA(this,"Fl",It[11]|0);bA(this,"Gh",It[12]|0);bA(this,"Gl",It[13]|0);bA(this,"Hh",It[14]|0);bA(this,"Hl",It[15]|0)}},Br=Bi(()=>new b0,Ci(1)),Cr=Bi(()=>new w0,Ci(3))});function gI(X,_=24){let $=new Uint32Array(10);for(let eA=24-_;eA<24;eA++){for(let aA=0;aA<10;aA++)$[aA]=X[aA]^X[aA+10]^X[aA+20]^X[aA+30]^X[aA+40];for(let aA=0;aA<10;aA+=2){let cA=(aA+8)%10,EA=(aA+2)%10,yA=$[EA],uA=$[EA+1],CA=Qr(yA,uA,1)^$[cA],lA=fr(yA,uA,1)^$[cA+1];for(let Z=0;Z<50;Z+=10)X[aA+Z]^=CA,X[aA+Z+1]^=lA}let rA=X[2],IA=X[3];for(let aA=0;aA<24;aA++){let cA=ur[aA],EA=Qr(rA,IA,cA),yA=fr(rA,IA,cA),uA=Er[aA];rA=X[uA],IA=X[uA+1],X[uA]=EA,X[uA+1]=yA}for(let aA=0;aA<50;aA+=10){for(let cA=0;cA<10;cA++)$[cA]=X[aA+cA];for(let cA=0;cA<10;cA++)X[aA+cA]^=~$[(cA+2)%10]&$[(cA+4)%10]}X[0]^=eI[eA],X[1]^=iI[eA]}vt($)}var Zn,Ei,zn,$n,AI,tI,Er,ur,hr,yr,eI,iI,Qr,fr,x0,rI,lr,dr=Ee(()=>{mA();d0();Ni();Zn=BigInt(0),Ei=BigInt(1),zn=BigInt(2),$n=BigInt(7),AI=BigInt(256),tI=BigInt(113),Er=[],ur=[],hr=[];for(let X=0,_=Ei,$=1,eA=0;X<24;X++){[$,eA]=[eA,(2*$+3*eA)%5],Er.push(2*(5*eA+$)),ur.push((X+1)*(X+2)/2%64);let rA=Zn;for(let IA=0;IA<7;IA++)_=(_<<Ei^(_>>$n)*tI)%AI,_&zn&&(rA^=Ei<<(Ei<<BigInt(IA))-Ei);hr.push(rA)}yr=Ri(hr,!0),eI=yr[0],iI=yr[1],Qr=(X,_,$)=>$>32?er(X,_,$):Ar(X,_,$),fr=(X,_,$)=>$>32?ir(X,_,$):tr(X,_,$);x0=class X{constructor(_,$,eA,rA=!1,IA=24){bA(this,"state");bA(this,"pos",0);bA(this,"posOut",0);bA(this,"finished",!1);bA(this,"state32");bA(this,"destroyed",!1);bA(this,"blockLen");bA(this,"suffix");bA(this,"outputLen");bA(this,"enableXOF",!1);bA(this,"rounds");if(this.blockLen=_,this.suffix=$,this.outputLen=eA,this.enableXOF=rA,this.rounds=IA,u0(eA,"outputLen"),!(0<_&&_<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Wg(this.state)}clone(){return this._cloneInto()}keccak(){h0(this.state32),gI(this.state32,this.rounds),h0(this.state32),this.posOut=0,this.pos=0}update(_){ze(this),Ze(_);let{blockLen:$,state:eA}=this,rA=_.length;for(let IA=0;IA<rA;){let aA=Math.min($-this.pos,rA-IA);for(let cA=0;cA<aA;cA++)eA[this.pos++]^=_[IA++];this.pos===$&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:_,suffix:$,pos:eA,blockLen:rA}=this;_[eA]^=$,($&128)!==0&&eA===rA-1&&this.keccak(),_[rA-1]^=128,this.keccak()}writeInto(_){ze(this,!1),Ze(_),this.finish();let $=this.state,{blockLen:eA}=this;for(let rA=0,IA=_.length;rA<IA;){this.posOut>=eA&&this.keccak();let aA=Math.min(eA-this.posOut,IA-rA);_.set($.subarray(this.posOut,this.posOut+aA),rA),this.posOut+=aA,rA+=aA}return _}xofInto(_){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(_)}xof(_){return u0(_),this.xofInto(new Uint8Array(_))}digestInto(_){if(Ui(_,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,vt(this.state)}_cloneInto(_){let{blockLen:$,suffix:eA,outputLen:rA,rounds:IA,enableXOF:aA}=this;return _||(_=new X($,eA,rA,aA,IA)),_.state32.set(this.state32),_.pos=this.pos,_.posOut=this.posOut,_.finished=this.finished,_.rounds=IA,_.suffix=eA,_.outputLen=rA,_.enableXOF=aA,_.destroyed=this.destroyed,_}},rI=(X,_,$,eA={})=>Bi(()=>new x0(_,X,$),eA),lr=rI(6,136,32,Ci(8))});var Li={};Q0(Li,{createHash:()=>Dr,default:()=>nI});function Dr(X){let _=new Uint8Array(0),$;switch(X.toLowerCase()){case"sha256":case"sha-256":$=Br;break;case"sha512":case"sha-512":$=Cr;break;case"sha3-256":$=lr;break;default:throw new Error(`Unsupported hash algorithm: ${X}`)}return{update(eA){let rA=eA instanceof Uint8Array?eA:new Uint8Array(eA),IA=new Uint8Array(_.length+rA.length);return IA.set(_),IA.set(rA,_.length),_=IA,this},digest(){return $(_)}}}var nI,Mi=Ee(()=>{"use strict";mA();cr();dr();nI={createHash:Dr}});var ui=ot(et=>{"use strict";mA();var II=et&&et.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),oI=et&&et.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),G0=et&&et.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var rA in $)Object.prototype.hasOwnProperty.call($,rA)&&(eA[eA.length]=rA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),rA=0;rA<eA.length;rA++)eA[rA]!=="default"&&II($,_,eA[rA]);return oI($,_),$}})();Object.defineProperty(et,"__esModule",{value:!0});et.canonicalizeJson=S0;et.stringToBytes=sI;et.bytesToString=aI;et.bytesToHex=BI;et.hexToBytes=CI;et.bytesToBase64Url=cI;et.base64UrlToBytes=QI;et.constantTimeEqual=fI;et.zeroBytes=EI;et.hashBytes=uI;function S0(X){return X===null?"null":typeof X!="object"?JSON.stringify(X):Array.isArray(X)?"["+X.map(S0).join(",")+"]":"{"+Object.keys(X).sort().map(eA=>`"${eA}":${S0(X[eA])}`).join(",")+"}"}function sI(X){return new TextEncoder().encode(X)}function aI(X){return new TextDecoder().decode(X)}function BI(X){return Array.from(X).map(_=>_.toString(16).padStart(2,"0")).join("")}function CI(X){if(X.length%2!==0)throw new Error("Hex string must have even length");let _=new Uint8Array(X.length/2);for(let $=0;$<X.length;$+=2)_[$/2]=parseInt(X.slice($,$+2),16);return _}function cI(X){return Buffer.from(X).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function QI(X){let _=X.replace(/-/g,"+").replace(/_/g,"/"),$=_.length%4;return $&&(_+="=".repeat(4-$)),new Uint8Array(Buffer.from(_,"base64"))}function fI(X,_){if(X.length!==_.length)return!1;let $=0;for(let eA=0;eA<X.length;eA++)$|=X[eA]^_[eA];return $===0}function EI(X){X.fill(0)}async function uI(X,_){if(_==="sha256"){let $=await Promise.resolve().then(()=>G0((Mi(),ai(Li))));return new Uint8Array($.createHash("sha256").update(X).digest())}else if(_==="sha512"){let $=await Promise.resolve().then(()=>G0((Mi(),ai(Li))));return new Uint8Array($.createHash("sha512").update(X).digest())}else if(_==="sha3-256"){let $=await Promise.resolve().then(()=>G0((Mi(),ai(Li))));return new Uint8Array($.createHash("sha3-256").update(X).digest())}throw new Error(`Unsupported hash algorithm: ${_}`)}});var pr=ot(Ki=>{"use strict";mA();Object.defineProperty(Ki,"__esModule",{value:!0});Ki.signAgentResponse=hI;Ki.verifySignedEnvelope=yI;var Qt=ui();async function hI(X,_,$,eA,rA,IA,aA){let cA=(0,Qt.canonicalizeJson)(_),EA=(0,Qt.stringToBytes)(cA),yA=[],uA=rA.getSuite($.suiteId),CA=br($.suiteId),lA=await(0,Qt.hashBytes)(EA,CA),Z=await uA.sign(eA,lA);if(yA.push({suiteId:$.suiteId,keyId:$.keyId,hashAlgorithm:CA,payloadHash:(0,Qt.bytesToBase64Url)(lA),signature:(0,Qt.bytesToBase64Url)(Z)}),IA&&aA){let HA=rA.getSuite(IA.suiteId),NA=br(IA.suiteId),wA=await(0,Qt.hashBytes)(EA,NA),LA=await HA.sign(aA,wA);yA.push({suiteId:IA.suiteId,keyId:IA.keyId,hashAlgorithm:NA,payloadHash:(0,Qt.bytesToBase64Url)(wA),signature:(0,Qt.bytesToBase64Url)(LA)})}let fA={format:"lumen.signature.v1",mode:yA.length>1?"hybrid":"single",signatures:yA};return yA.length>1&&X.cryptoProfile.primarySignatureSuite&&(fA.policy={threshold:"all",requiredSuites:[X.cryptoProfile.primarySignatureSuite]}),{agent:X.agentId,version:X.version,timestamp:new Date().toISOString(),payload:_,_signature:fA}}async function yI(X,_,$){let eA=[],rA=(0,Qt.canonicalizeJson)(X.payload),IA=(0,Qt.stringToBytes)(rA);for(let cA of X._signature.signatures)try{let EA=_.getSuite(cA.suiteId),yA=$.get(cA.keyId);if(!yA){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:"Public key not found"});continue}let uA=await(0,Qt.hashBytes)(IA,cA.hashAlgorithm),CA=(0,Qt.base64UrlToBytes)(cA.payloadHash);if(!dI(uA,CA)){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:"Payload hash mismatch"});continue}let lA=(0,Qt.base64UrlToBytes)(cA.signature),Z=await EA.verify(yA,uA,lA);eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:Z,error:Z?void 0:"Signature verification failed"})}catch(EA){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:EA instanceof Error?EA.message:String(EA)})}let aA=lI(X._signature,eA);return{valid:aA&&eA.every(cA=>cA.valid),details:{signatureResults:eA,policyMet:aA,timestamp:new Date().toISOString()}}}function lI(X,_){let $=X.policy;if(!$)return _.every(rA=>rA.valid);let eA=_.filter(rA=>rA.valid);if($.requiredSuites&&!$.requiredSuites.every(IA=>eA.some(aA=>aA.suiteId===IA)))return!1;switch($.threshold){case"any":return eA.length>0;case"all":return eA.length===_.length;case"quorum":return eA.length>=($.quorumCount||0);default:return eA.length===_.length}}function br(X){return X.startsWith("bsv-ecdsa")?"sha256":X.startsWith("ml-dsa")||X.startsWith("fn-dsa")?"sha3-256":(X.startsWith("slh-dsa"),"sha256")}function dI(X,_){if(X.length!==_.length)return!1;for(let $=0;$<X.length;$++)if(X[$]!==_[$])return!1;return!0}});var wr=ot($e=>{"use strict";mA();Object.defineProperty($e,"__esModule",{value:!0});$e.KeyRegistry=$e.InMemoryKeyStorage=void 0;var vi=class{constructor(){bA(this,"keys",new Map)}async store(_,$,eA){this.keys.set(_,{keypair:$,meta:eA})}async load(_){return this.keys.get(_)||null}async list(_){let $=Array.from(this.keys.values()).map(eA=>eA.meta);return _?$.filter(eA=>Object.entries(_).every(([rA,IA])=>rA==="usage"&&Array.isArray(IA)?IA.some(aA=>eA.usage.includes(aA)):eA[rA]===IA)):$}async delete(_){this.keys.delete(_)}async updateMeta(_,$){let eA=this.keys.get(_);if(!eA)throw new Error(`Key not found: ${_}`);this.keys.set(_,{keypair:eA.keypair,meta:{...eA.meta,...$}})}clear(){this.keys.clear()}};$e.InMemoryKeyStorage=vi;var H0=class{constructor(_=new vi){bA(this,"storage");this.storage=_}async registerKey(_,$,eA,rA={}){let IA={keyId:_,suiteId:eA,createdAt:new Date().toISOString(),expiresAt:rA.expiresAt,usage:rA.usage||["signing"],cryptoProfileVersion:rA.cryptoProfileVersion||"1.0.0",status:rA.status||"active"};return await this.storage.store(_,$,IA),IA}async getKey(_){return await this.storage.load(_)}async getPublicKey(_){let $=await this.storage.load(_);return $?{publicKey:$.keypair.publicKey,meta:$.meta}:null}async listKeys(_){return await this.storage.list(_)}async listActiveKeys(_){let $=await this.storage.list(_),eA=new Date;return $.filter(rA=>!(rA.status&&rA.status!=="active"||rA.expiresAt&&new Date(rA.expiresAt)<eA))}async rotateKey(_,$,eA){let rA=await this.storage.load(_);if(!rA)throw new Error(`Cannot rotate: key not found: ${_}`);return await this.storage.updateMeta(_,{status:"rotated"}),await this.registerKey($,eA,rA.meta.suiteId,{usage:rA.meta.usage,cryptoProfileVersion:rA.meta.cryptoProfileVersion,expiresAt:rA.meta.expiresAt,status:"active"}),await this.storage.updateMeta($,{rotatedFrom:_}),(await this.storage.load($)).meta}async revokeKey(_,$){await this.storage.updateMeta(_,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(_){await this.storage.delete(_)}async markExpiredKeys(){let _=await this.storage.list(),$=new Date,eA=0;for(let rA of _)rA.expiresAt&&new Date(rA.expiresAt)<$&&rA.status==="active"&&(await this.storage.updateMeta(rA.keyId,{status:"expired"}),eA++);return eA}async pruneOldKeys(_=90){let $=await this.storage.list(),eA=new Date;eA.setDate(eA.getDate()-_);let rA=0;for(let IA of $)(IA.status==="revoked"&&IA.revokedAt&&new Date(IA.revokedAt)<eA||IA.status==="expired"&&IA.expiresAt&&new Date(IA.expiresAt)<eA)&&(await this.storage.delete(IA.keyId),rA++);return rA}};$e.KeyRegistry=H0});var jr={};Q0(jr,{CURVE:()=>Fr,Point:()=>Rt,ProjectivePoint:()=>Rt,Signature:()=>ii,etc:()=>L0,getPublicKey:()=>mI,getSharedSecret:()=>RI,sign:()=>kI,signAsync:()=>UI,utils:()=>KI,verify:()=>NI});var Fr,Ye,_t,DI,bI,Ur,ft,Re,TA,kr,Nr,pI,Me,Le,wI,Yr,_i,oe,xr,k0,Yt,Rr,xI,Ke,N0,ti,yi,xA,lt,li,GI,Gr,Lr,Sr,hi,m0,F0,Ai,Mr,SI,Jt,Rt,Ot,Ne,Kr,di,qi,HI,le,ei,Ji,mI,ii,vr,Y0,R0,FI,qr,Jr,UI,kI,NI,YI,RI,Or,LI,MI,L0,KI,Oi,vI,_r,U0,qI,Hr,mr,JI,Tr=Ee(()=>{mA();Fr={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:Ye,n:_t,Gx:DI,Gy:bI,b:Ur}=Fr,ft=32,Re=64,TA=(X="")=>{throw new Error(X)},kr=X=>typeof X=="bigint",Nr=X=>typeof X=="string",pI=X=>X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array",Me=(X,_)=>!pI(X)||typeof _=="number"&&_>0&&X.length!==_?TA("Uint8Array expected"):X,Le=X=>new Uint8Array(X),wI=X=>Uint8Array.from(X),Yr=(X,_)=>X.toString(16).padStart(_,"0"),_i=X=>Array.from(Me(X)).map(_=>Yr(_,2)).join(""),oe={_0:48,_9:57,A:65,F:70,a:97,f:102},xr=X=>{if(X>=oe._0&&X<=oe._9)return X-oe._0;if(X>=oe.A&&X<=oe.F)return X-(oe.A-10);if(X>=oe.a&&X<=oe.f)return X-(oe.a-10)},k0=X=>{let _="hex invalid";if(!Nr(X))return TA(_);let $=X.length,eA=$/2;if($%2)return TA(_);let rA=Le(eA);for(let IA=0,aA=0;IA<eA;IA++,aA+=2){let cA=xr(X.charCodeAt(aA)),EA=xr(X.charCodeAt(aA+1));if(cA===void 0||EA===void 0)return TA(_);rA[IA]=cA*16+EA}return rA},Yt=(X,_)=>Me(Nr(X)?k0(X):wI(Me(X)),_),Rr=()=>globalThis?.crypto,xI=()=>Rr()?.subtle??TA("crypto.subtle must be defined"),Ke=(...X)=>{let _=Le(X.reduce((eA,rA)=>eA+Me(rA).length,0)),$=0;return X.forEach(eA=>{_.set(eA,$),$+=eA.length}),_},N0=(X=ft)=>Rr().getRandomValues(Le(X)),ti=BigInt,yi=(X,_,$,eA="bad number: out of range")=>kr(X)&&_<=X&&X<$?X:TA(eA),xA=(X,_=Ye)=>{let $=X%_;return $>=0n?$:_+$},lt=X=>xA(X,_t),li=(X,_)=>{(X===0n||_<=0n)&&TA("no inverse n="+X+" mod="+_);let $=xA(X,_),eA=_,rA=0n,IA=1n,aA=1n,cA=0n;for(;$!==0n;){let EA=eA/$,yA=eA%$,uA=rA-aA*EA,CA=IA-cA*EA;eA=$,$=yA,rA=aA,IA=cA,aA=uA,cA=CA}return eA===1n?xA(rA,_):TA("no inverse")},GI=X=>{let _=L0[X];return typeof _!="function"&&TA("hashes."+X+" not set"),_},Gr=X=>X instanceof Rt?X:TA("Point expected"),Lr=X=>xA(xA(X*X)*X+Ur),Sr=X=>yi(X,0n,Ye),hi=X=>yi(X,1n,Ye),m0=X=>yi(X,1n,_t),F0=X=>(X&1n)===0n,Ai=X=>Uint8Array.of(X),Mr=X=>Ai(F0(X)?2:3),SI=X=>{let _=Lr(hi(X)),$=1n;for(let eA=_,rA=(Ye+1n)/4n;rA>0n;rA>>=1n)rA&1n&&($=$*eA%Ye),eA=eA*eA%Ye;return xA($*$)===_?$:TA("sqrt invalid")},Jt=class Jt{constructor(_,$,eA){bA(this,"px");bA(this,"py");bA(this,"pz");this.px=Sr(_),this.py=hi($),this.pz=Sr(eA),Object.freeze(this)}static fromBytes(_){Me(_);let $,eA=_[0],rA=_.subarray(1),IA=qi(rA,0,ft),aA=_.length;if(aA===ft+1&&[2,3].includes(eA)){let cA=SI(IA),EA=F0(cA);F0(ti(eA))!==EA&&(cA=xA(-cA)),$=new Jt(IA,cA,1n)}return aA===Re+1&&eA===4&&($=new Jt(IA,qi(rA,ft,Re),1n)),$?$.assertValidity():TA("bad point: not on curve")}equals(_){let{px:$,py:eA,pz:rA}=this,{px:IA,py:aA,pz:cA}=Gr(_),EA=xA($*cA),yA=xA(IA*rA),uA=xA(eA*cA),CA=xA(aA*rA);return EA===yA&&uA===CA}is0(){return this.equals(Ne)}negate(){return new Jt(this.px,xA(-this.py),this.pz)}double(){return this.add(this)}add(_){let{px:$,py:eA,pz:rA}=this,{px:IA,py:aA,pz:cA}=Gr(_),EA=0n,yA=Ur,uA=0n,CA=0n,lA=0n,Z=xA(yA*3n),fA=xA($*IA),HA=xA(eA*aA),NA=xA(rA*cA),wA=xA($+eA),LA=xA(IA+aA);wA=xA(wA*LA),LA=xA(fA+HA),wA=xA(wA-LA),LA=xA($+rA);let pA=xA(IA+cA);return LA=xA(LA*pA),pA=xA(fA+NA),LA=xA(LA-pA),pA=xA(eA+rA),uA=xA(aA+cA),pA=xA(pA*uA),uA=xA(HA+NA),pA=xA(pA-uA),lA=xA(EA*LA),uA=xA(Z*NA),lA=xA(uA+lA),uA=xA(HA-lA),lA=xA(HA+lA),CA=xA(uA*lA),HA=xA(fA+fA),HA=xA(HA+fA),NA=xA(EA*NA),LA=xA(Z*LA),HA=xA(HA+NA),NA=xA(fA-NA),NA=xA(EA*NA),LA=xA(LA+NA),fA=xA(HA*LA),CA=xA(CA+fA),fA=xA(pA*LA),uA=xA(wA*uA),uA=xA(uA-fA),fA=xA(wA*HA),lA=xA(pA*lA),lA=xA(lA+fA),new Jt(uA,CA,lA)}multiply(_,$=!0){if(!$&&_===0n)return Ne;if(m0(_),_===1n)return this;if(this.equals(Ot))return JI(_).p;let eA=Ne,rA=Ot;for(let IA=this;_>0n;IA=IA.double(),_>>=1n)_&1n?eA=eA.add(IA):$&&(rA=rA.add(IA));return eA}toAffine(){let{px:_,py:$,pz:eA}=this;if(this.equals(Ne))return{x:0n,y:0n};if(eA===1n)return{x:_,y:$};let rA=li(eA,Ye);return xA(eA*rA)!==1n&&TA("inverse invalid"),{x:xA(_*rA),y:xA($*rA)}}assertValidity(){let{x:_,y:$}=this.toAffine();return hi(_),hi($),xA($*$)===Lr(_)?this:TA("bad point: not on curve")}toBytes(_=!0){let{x:$,y:eA}=this.assertValidity().toAffine(),rA=le($);return _?Ke(Mr(eA),rA):Ke(Ai(4),rA,le(eA))}static fromAffine(_){let{x:$,y:eA}=_;return $===0n&&eA===0n?Ne:new Jt($,eA,1n)}toHex(_){return _i(this.toBytes(_))}static fromPrivateKey(_){return Ot.multiply(ei(_))}static fromHex(_){return Jt.fromBytes(Yt(_))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(_){return this.toBytes(_)}};bA(Jt,"BASE"),bA(Jt,"ZERO");Rt=Jt,Ot=new Rt(DI,bI,1n),Ne=new Rt(0n,1n,0n);Rt.BASE=Ot;Rt.ZERO=Ne;Kr=(X,_,$)=>Ot.multiply(_,!1).add(X.multiply($,!1)).assertValidity(),di=X=>ti("0x"+(_i(X)||"0")),qi=(X,_,$)=>di(X.subarray(_,$)),HI=2n**256n,le=X=>k0(Yr(yi(X,0n,HI),Re)),ei=X=>{let _=kr(X)?X:di(Yt(X,ft));return yi(_,1n,_t,"private key invalid 3")},Ji=X=>X>_t>>1n,mI=(X,_=!0)=>Ot.multiply(ei(X)).toBytes(_),ii=class X{constructor(_,$,eA){bA(this,"r");bA(this,"s");bA(this,"recovery");this.r=m0(_),this.s=m0($),eA!=null&&(this.recovery=eA),Object.freeze(this)}static fromBytes(_){Me(_,Re);let $=qi(_,0,ft),eA=qi(_,ft,Re);return new X($,eA)}toBytes(){let{r:_,s:$}=this;return Ke(le(_),le($))}addRecoveryBit(_){return new X(this.r,this.s,_)}hasHighS(){return Ji(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return _i(this.toBytes())}recoverPublicKey(_){return YI(this,_)}static fromCompact(_){return X.fromBytes(Yt(_,Re))}assertValidity(){return this}normalizeS(){let{r:_,s:$,recovery:eA}=this;return Ji($)?new X(_,lt(-$),eA):this}},vr=X=>{let _=X.length*8-256;_>1024&&TA("msg invalid");let $=di(X);return _>0?$>>ti(_):$},Y0=X=>lt(vr(Me(X))),R0={lowS:!0},FI={lowS:!0},qr=(X,_,$=R0)=>{["der","recovered","canonical"].some(lA=>lA in $)&&TA("option not supported");let{lowS:eA,extraEntropy:rA}=$;eA==null&&(eA=!0);let IA=le,aA=Y0(Yt(X)),cA=IA(aA),EA=ei(_),yA=[IA(EA),cA];rA&&yA.push(rA===!0?N0(ft):Yt(rA));let uA=aA,CA=lA=>{let Z=vr(lA);if(!(1n<=Z&&Z<_t))return;let fA=Ot.multiply(Z).toAffine(),HA=lt(fA.x);if(HA===0n)return;let NA=li(Z,_t),wA=lt(NA*lt(uA+lt(EA*HA)));if(wA===0n)return;let LA=wA,pA=(fA.x===HA?0:2)|Number(fA.y&1n);return eA&&Ji(wA)&&(LA=lt(-wA),pA^=1),new ii(HA,LA,pA)};return{seed:Ke(...yA),k2sig:CA}},Jr=X=>{let _=Le(ft),$=Le(ft),eA=0,rA=Le(0),IA=()=>{_.fill(1),$.fill(0),eA=0},aA=1e3,cA="drbg: tried 1000 values";if(X){let EA=(...CA)=>L0.hmacSha256Async($,_,...CA),yA=async(CA=rA)=>{$=await EA(Ai(0),CA),_=await EA(),CA.length!==0&&($=await EA(Ai(1),CA),_=await EA())},uA=async()=>(eA++>=aA&&TA(cA),_=await EA(),_);return async(CA,lA)=>{IA(),await yA(CA);let Z;for(;!(Z=lA(await uA()));)await yA();return IA(),Z}}else{let EA=(...CA)=>GI("hmacSha256Sync")($,_,...CA),yA=(CA=rA)=>{$=EA(Ai(0),CA),_=EA(),CA.length!==0&&($=EA(Ai(1),CA),_=EA())},uA=()=>(eA++>=aA&&TA(cA),_=EA(),_);return(CA,lA)=>{IA(),yA(CA);let Z;for(;!(Z=lA(uA()));)yA();return IA(),Z}}},UI=async(X,_,$=R0)=>{let{seed:eA,k2sig:rA}=qr(X,_,$);return await Jr(!0)(eA,rA)},kI=(X,_,$=R0)=>{let{seed:eA,k2sig:rA}=qr(X,_,$);return Jr(!1)(eA,rA)},NI=(X,_,$,eA=FI)=>{let{lowS:rA}=eA;rA==null&&(rA=!0),"strict"in eA&&TA("option not supported");let IA,aA=X&&typeof X=="object"&&"r"in X;!aA&&Yt(X).length!==Re&&TA("signature must be 64 bytes");try{IA=aA?new ii(X.r,X.s):ii.fromCompact(X);let cA=Y0(Yt(_)),EA=Rt.fromBytes(Yt($)),{r:yA,s:uA}=IA;if(rA&&Ji(uA))return!1;let CA=li(uA,_t),lA=lt(cA*CA),Z=lt(yA*CA),fA=Kr(EA,lA,Z).toAffine();return lt(fA.x)===yA}catch{return!1}},YI=(X,_)=>{let{r:$,s:eA,recovery:rA}=X;[0,1,2,3].includes(rA)||TA("recovery id invalid");let IA=Y0(Yt(_,ft)),aA=rA===2||rA===3?$+_t:$;hi(aA);let cA=Mr(ti(rA)),EA=Ke(cA,le(aA)),yA=Rt.fromBytes(EA),uA=li(aA,_t),CA=lt(-IA*uA),lA=lt(eA*uA);return Kr(yA,CA,lA)},RI=(X,_,$=!0)=>Rt.fromBytes(Yt(_)).multiply(ei(X)).toBytes($),Or=X=>{X=Yt(X),(X.length<ft+8||X.length>1024)&&TA("expected 40-1024b");let _=xA(di(X),_t-1n);return le(_+1n)},LI=()=>Or(N0(ft+16)),MI="SHA-256",L0={hexToBytes:k0,bytesToHex:_i,concatBytes:Ke,bytesToNumberBE:di,numberToBytesBE:le,mod:xA,invert:li,hmacSha256Async:async(X,..._)=>{let $=xI(),eA="HMAC",rA=await $.importKey("raw",X,{name:eA,hash:{name:MI}},!1,["sign"]);return Le(await $.sign(eA,rA,Ke(..._)))},hmacSha256Sync:void 0,hashToPrivateKey:Or,randomBytes:N0},KI={normPrivateKeyToScalar:ei,isValidPrivateKey:X=>{try{return!!ei(X)}catch{return!1}},randomPrivateKey:LI,precompute:(X=8,_=Ot)=>(_.multiply(3n),_)},Oi=8,vI=256,_r=Math.ceil(vI/Oi)+1,U0=2**(Oi-1),qI=()=>{let X=[],_=Ot,$=_;for(let eA=0;eA<_r;eA++){$=_,X.push($);for(let rA=1;rA<U0;rA++)$=$.add(_),X.push($);_=$.double()}return X},mr=(X,_)=>{let $=_.negate();return X?$:_},JI=X=>{let _=Hr||(Hr=qI()),$=Ne,eA=Ot,rA=2**Oi,IA=rA,aA=ti(rA-1),cA=ti(Oi);for(let EA=0;EA<_r;EA++){let yA=Number(X&aA);X>>=cA,yA>U0&&(yA-=IA,X+=1n);let uA=EA*U0,CA=uA,lA=uA+Math.abs(yA)-1,Z=EA%2!==0,fA=yA<0;yA===0?eA=eA.add(mr(Z,_[CA])):$=$.add(mr(fA,_[lA]))}return{p:$,f:eA}}});var Pr=ot(ji=>{"use strict";mA();Object.defineProperty(ji,"__esModule",{value:!0});ji.crypto=void 0;ji.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});var Pi=ot(UA=>{"use strict";mA();Object.defineProperty(UA,"__esModule",{value:!0});UA.wrapXOFConstructorWithOpts=UA.wrapConstructorWithOpts=UA.wrapConstructor=UA.Hash=UA.nextTick=UA.swap32IfBE=UA.byteSwapIfBE=UA.swap8IfBE=UA.isLE=void 0;UA.isBytes=Wr;UA.anumber=M0;UA.abytes=ri;UA.ahash=OI;UA.aexists=_I;UA.aoutput=jI;UA.u8=TI;UA.u32=PI;UA.clean=VI;UA.createView=WI;UA.rotr=XI;UA.rotl=ZI;UA.byteSwap=v0;UA.byteSwap32=Xr;UA.bytesToHex=$I;UA.hexToBytes=Ao;UA.asyncLoop=eo;UA.utf8ToBytes=q0;UA.bytesToUtf8=io;UA.toBytes=Ti;UA.kdfInputToBytes=go;UA.concatBytes=ro;UA.checkOpts=no;UA.createHasher=zr;UA.createOptHasher=$r;UA.createXOFer=An;UA.randomBytes=Io;var gi=Pr();function Wr(X){return X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array"}function M0(X){if(!Number.isSafeInteger(X)||X<0)throw new Error("positive integer expected, got "+X)}function ri(X,..._){if(!Wr(X))throw new Error("Uint8Array expected");if(_.length>0&&!_.includes(X.length))throw new Error("Uint8Array expected of length "+_+", got length="+X.length)}function OI(X){if(typeof X!="function"||typeof X.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");M0(X.outputLen),M0(X.blockLen)}function _I(X,_=!0){if(X.destroyed)throw new Error("Hash instance has been destroyed");if(_&&X.finished)throw new Error("Hash#digest() has already been called")}function jI(X,_){ri(X);let $=_.outputLen;if(X.length<$)throw new Error("digestInto() expects output buffer of length at least "+$)}function TI(X){return new Uint8Array(X.buffer,X.byteOffset,X.byteLength)}function PI(X){return new Uint32Array(X.buffer,X.byteOffset,Math.floor(X.byteLength/4))}function VI(...X){for(let _=0;_<X.length;_++)X[_].fill(0)}function WI(X){return new DataView(X.buffer,X.byteOffset,X.byteLength)}function XI(X,_){return X<<32-_|X>>>_}function ZI(X,_){return X<<_|X>>>32-_>>>0}UA.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function v0(X){return X<<24&4278190080|X<<8&16711680|X>>>8&65280|X>>>24&255}UA.swap8IfBE=UA.isLE?X=>X:X=>v0(X);UA.byteSwapIfBE=UA.swap8IfBE;function Xr(X){for(let _=0;_<X.length;_++)X[_]=v0(X[_]);return X}UA.swap32IfBE=UA.isLE?X=>X:Xr;var Zr=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",zI=Array.from({length:256},(X,_)=>_.toString(16).padStart(2,"0"));function $I(X){if(ri(X),Zr)return X.toHex();let _="";for(let $=0;$<X.length;$++)_+=zI[X[$]];return _}var se={_0:48,_9:57,A:65,F:70,a:97,f:102};function Vr(X){if(X>=se._0&&X<=se._9)return X-se._0;if(X>=se.A&&X<=se.F)return X-(se.A-10);if(X>=se.a&&X<=se.f)return X-(se.a-10)}function Ao(X){if(typeof X!="string")throw new Error("hex string expected, got "+typeof X);if(Zr)return Uint8Array.fromHex(X);let _=X.length,$=_/2;if(_%2)throw new Error("hex string expected, got unpadded hex of length "+_);let eA=new Uint8Array($);for(let rA=0,IA=0;rA<$;rA++,IA+=2){let aA=Vr(X.charCodeAt(IA)),cA=Vr(X.charCodeAt(IA+1));if(aA===void 0||cA===void 0){let EA=X[IA]+X[IA+1];throw new Error('hex string expected, got non-hex character "'+EA+'" at index '+IA)}eA[rA]=aA*16+cA}return eA}var to=async()=>{};UA.nextTick=to;async function eo(X,_,$){let eA=Date.now();for(let rA=0;rA<X;rA++){$(rA);let IA=Date.now()-eA;IA>=0&&IA<_||(await(0,UA.nextTick)(),eA+=IA)}}function q0(X){if(typeof X!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(X))}function io(X){return new TextDecoder().decode(X)}function Ti(X){return typeof X=="string"&&(X=q0(X)),ri(X),X}function go(X){return typeof X=="string"&&(X=q0(X)),ri(X),X}function ro(...X){let _=0;for(let eA=0;eA<X.length;eA++){let rA=X[eA];ri(rA),_+=rA.length}let $=new Uint8Array(_);for(let eA=0,rA=0;eA<X.length;eA++){let IA=X[eA];$.set(IA,rA),rA+=IA.length}return $}function no(X,_){if(_!==void 0&&{}.toString.call(_)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(X,_)}var K0=class{};UA.Hash=K0;function zr(X){let _=eA=>X().update(Ti(eA)).digest(),$=X();return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=()=>X(),_}function $r(X){let _=(eA,rA)=>X(rA).update(Ti(eA)).digest(),$=X({});return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=eA=>X(eA),_}function An(X){let _=(eA,rA)=>X(rA).update(Ti(eA)).digest(),$=X({});return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=eA=>X(eA),_}UA.wrapConstructor=zr;UA.wrapConstructorWithOpts=$r;UA.wrapXOFConstructorWithOpts=An;function Io(X=32){if(gi.crypto&&typeof gi.crypto.getRandomValues=="function")return gi.crypto.getRandomValues(new Uint8Array(X));if(gi.crypto&&typeof gi.crypto.randomBytes=="function")return Uint8Array.from(gi.crypto.randomBytes(X));throw new Error("crypto.getRandomValues must be defined")}});var tn=ot(qe=>{"use strict";mA();Object.defineProperty(qe,"__esModule",{value:!0});qe.hmac=qe.HMAC=void 0;var ve=Pi(),Di=class extends ve.Hash{constructor(_,$){super(),this.finished=!1,this.destroyed=!1,(0,ve.ahash)(_);let eA=(0,ve.toBytes)($);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 rA=this.blockLen,IA=new Uint8Array(rA);IA.set(eA.length>rA?_.create().update(eA).digest():eA);for(let aA=0;aA<IA.length;aA++)IA[aA]^=54;this.iHash.update(IA),this.oHash=_.create();for(let aA=0;aA<IA.length;aA++)IA[aA]^=106;this.oHash.update(IA),(0,ve.clean)(IA)}update(_){return(0,ve.aexists)(this),this.iHash.update(_),this}digestInto(_){(0,ve.aexists)(this),(0,ve.abytes)(_,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:$,iHash:eA,finished:rA,destroyed:IA,blockLen:aA,outputLen:cA}=this;return _=_,_.finished=rA,_.destroyed=IA,_.blockLen=aA,_.outputLen=cA,_.oHash=$._cloneInto(_.oHash),_.iHash=eA._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};qe.HMAC=Di;var oo=(X,_,$)=>new Di(X,_).update($).digest();qe.hmac=oo;qe.hmac.create=(X,_)=>new Di(X,_)});var gn=ot(Bt=>{"use strict";mA();Object.defineProperty(Bt,"__esModule",{value:!0});Bt.SHA512_IV=Bt.SHA384_IV=Bt.SHA224_IV=Bt.SHA256_IV=Bt.HashMD=void 0;Bt.setBigUint64=en;Bt.Chi=so;Bt.Maj=ao;var jt=Pi();function en(X,_,$,eA){if(typeof X.setBigUint64=="function")return X.setBigUint64(_,$,eA);let rA=BigInt(32),IA=BigInt(4294967295),aA=Number($>>rA&IA),cA=Number($&IA),EA=eA?4:0,yA=eA?0:4;X.setUint32(_+EA,aA,eA),X.setUint32(_+yA,cA,eA)}function so(X,_,$){return X&_^~X&$}function ao(X,_,$){return X&_^X&$^_&$}var J0=class extends jt.Hash{constructor(_,$,eA,rA){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=_,this.outputLen=$,this.padOffset=eA,this.isLE=rA,this.buffer=new Uint8Array(_),this.view=(0,jt.createView)(this.buffer)}update(_){(0,jt.aexists)(this),_=(0,jt.toBytes)(_),(0,jt.abytes)(_);let{view:$,buffer:eA,blockLen:rA}=this,IA=_.length;for(let aA=0;aA<IA;){let cA=Math.min(rA-this.pos,IA-aA);if(cA===rA){let EA=(0,jt.createView)(_);for(;rA<=IA-aA;aA+=rA)this.process(EA,aA);continue}eA.set(_.subarray(aA,aA+cA),this.pos),this.pos+=cA,aA+=cA,this.pos===rA&&(this.process($,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){(0,jt.aexists)(this),(0,jt.aoutput)(_,this),this.finished=!0;let{buffer:$,view:eA,blockLen:rA,isLE:IA}=this,{pos:aA}=this;$[aA++]=128,(0,jt.clean)(this.buffer.subarray(aA)),this.padOffset>rA-aA&&(this.process(eA,0),aA=0);for(let CA=aA;CA<rA;CA++)$[CA]=0;en(eA,rA-8,BigInt(this.length*8),IA),this.process(eA,0);let cA=(0,jt.createView)(_),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 CA=0;CA<yA;CA++)cA.setUint32(4*CA,uA[CA],IA)}digest(){let{buffer:_,outputLen:$}=this;this.digestInto(_);let eA=_.slice(0,$);return this.destroy(),eA}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:$,buffer:eA,length:rA,finished:IA,destroyed:aA,pos:cA}=this;return _.destroyed=aA,_.finished=IA,_.length=rA,_.pos=cA,rA%$&&_.buffer.set(eA),_}clone(){return this._cloneInto()}};Bt.HashMD=J0;Bt.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Bt.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);Bt.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);Bt.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});var xn=ot(YA=>{"use strict";mA();Object.defineProperty(YA,"__esModule",{value:!0});YA.toBig=YA.shrSL=YA.shrSH=YA.rotrSL=YA.rotrSH=YA.rotrBL=YA.rotrBH=YA.rotr32L=YA.rotr32H=YA.rotlSL=YA.rotlSH=YA.rotlBL=YA.rotlBH=YA.add5L=YA.add5H=YA.add4L=YA.add4H=YA.add3L=YA.add3H=void 0;YA.add=yn;YA.fromBig=_0;YA.split=rn;var Vi=BigInt(2**32-1),O0=BigInt(32);function _0(X,_=!1){return _?{h:Number(X&Vi),l:Number(X>>O0&Vi)}:{h:Number(X>>O0&Vi)|0,l:Number(X&Vi)|0}}function rn(X,_=!1){let $=X.length,eA=new Uint32Array($),rA=new Uint32Array($);for(let IA=0;IA<$;IA++){let{h:aA,l:cA}=_0(X[IA],_);[eA[IA],rA[IA]]=[aA,cA]}return[eA,rA]}var nn=(X,_)=>BigInt(X>>>0)<<O0|BigInt(_>>>0);YA.toBig=nn;var In=(X,_,$)=>X>>>$;YA.shrSH=In;var on=(X,_,$)=>X<<32-$|_>>>$;YA.shrSL=on;var sn=(X,_,$)=>X>>>$|_<<32-$;YA.rotrSH=sn;var an=(X,_,$)=>X<<32-$|_>>>$;YA.rotrSL=an;var Bn=(X,_,$)=>X<<64-$|_>>>$-32;YA.rotrBH=Bn;var Cn=(X,_,$)=>X>>>$-32|_<<64-$;YA.rotrBL=Cn;var cn=(X,_)=>_;YA.rotr32H=cn;var Qn=(X,_)=>X;YA.rotr32L=Qn;var fn=(X,_,$)=>X<<$|_>>>32-$;YA.rotlSH=fn;var En=(X,_,$)=>_<<$|X>>>32-$;YA.rotlSL=En;var un=(X,_,$)=>_<<$-32|X>>>64-$;YA.rotlBH=un;var hn=(X,_,$)=>X<<$-32|_>>>64-$;YA.rotlBL=hn;function yn(X,_,$,eA){let rA=(_>>>0)+(eA>>>0);return{h:X+$+(rA/2**32|0)|0,l:rA|0}}var ln=(X,_,$)=>(X>>>0)+(_>>>0)+($>>>0);YA.add3L=ln;var dn=(X,_,$,eA)=>_+$+eA+(X/2**32|0)|0;YA.add3H=dn;var Dn=(X,_,$,eA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0);YA.add4L=Dn;var bn=(X,_,$,eA,rA)=>_+$+eA+rA+(X/2**32|0)|0;YA.add4H=bn;var pn=(X,_,$,eA,rA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0)+(rA>>>0);YA.add5L=pn;var wn=(X,_,$,eA,rA,IA)=>_+$+eA+rA+IA+(X/2**32|0)|0;YA.add5H=wn;var Bo={fromBig:_0,split:rn,toBig:nn,shrSH:In,shrSL:on,rotrSH:sn,rotrSL:an,rotrBH:Bn,rotrBL:Cn,rotr32H:cn,rotr32L:Qn,rotlSH:fn,rotlSL:En,rotlBH:un,rotlBL:hn,add:yn,add3L:ln,add3H:dn,add4L:Dn,add4H:bn,add5H:wn,add5L:pn};YA.default=Bo});var Sn=ot(qA=>{"use strict";mA();Object.defineProperty(qA,"__esModule",{value:!0});qA.sha512_224=qA.sha512_256=qA.sha384=qA.sha512=qA.sha224=qA.sha256=qA.SHA512_256=qA.SHA512_224=qA.SHA384=qA.SHA512=qA.SHA224=qA.SHA256=void 0;var FA=gn(),RA=xn(),ZA=Pi(),Co=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]),de=new Uint32Array(64),bi=class extends FA.HashMD{constructor(_=32){super(64,_,8,!1),this.A=FA.SHA256_IV[0]|0,this.B=FA.SHA256_IV[1]|0,this.C=FA.SHA256_IV[2]|0,this.D=FA.SHA256_IV[3]|0,this.E=FA.SHA256_IV[4]|0,this.F=FA.SHA256_IV[5]|0,this.G=FA.SHA256_IV[6]|0,this.H=FA.SHA256_IV[7]|0}get(){let{A:_,B:$,C:eA,D:rA,E:IA,F:aA,G:cA,H:EA}=this;return[_,$,eA,rA,IA,aA,cA,EA]}set(_,$,eA,rA,IA,aA,cA,EA){this.A=_|0,this.B=$|0,this.C=eA|0,this.D=rA|0,this.E=IA|0,this.F=aA|0,this.G=cA|0,this.H=EA|0}process(_,$){for(let CA=0;CA<16;CA++,$+=4)de[CA]=_.getUint32($,!1);for(let CA=16;CA<64;CA++){let lA=de[CA-15],Z=de[CA-2],fA=(0,ZA.rotr)(lA,7)^(0,ZA.rotr)(lA,18)^lA>>>3,HA=(0,ZA.rotr)(Z,17)^(0,ZA.rotr)(Z,19)^Z>>>10;de[CA]=HA+de[CA-7]+fA+de[CA-16]|0}let{A:eA,B:rA,C:IA,D:aA,E:cA,F:EA,G:yA,H:uA}=this;for(let CA=0;CA<64;CA++){let lA=(0,ZA.rotr)(cA,6)^(0,ZA.rotr)(cA,11)^(0,ZA.rotr)(cA,25),Z=uA+lA+(0,FA.Chi)(cA,EA,yA)+Co[CA]+de[CA]|0,HA=((0,ZA.rotr)(eA,2)^(0,ZA.rotr)(eA,13)^(0,ZA.rotr)(eA,22))+(0,FA.Maj)(eA,rA,IA)|0;uA=yA,yA=EA,EA=cA,cA=aA+Z|0,aA=IA,IA=rA,rA=eA,eA=Z+HA|0}eA=eA+this.A|0,rA=rA+this.B|0,IA=IA+this.C|0,aA=aA+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(eA,rA,IA,aA,cA,EA,yA,uA)}roundClean(){(0,ZA.clean)(de)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,ZA.clean)(this.buffer)}};qA.SHA256=bi;var Wi=class extends bi{constructor(){super(28),this.A=FA.SHA224_IV[0]|0,this.B=FA.SHA224_IV[1]|0,this.C=FA.SHA224_IV[2]|0,this.D=FA.SHA224_IV[3]|0,this.E=FA.SHA224_IV[4]|0,this.F=FA.SHA224_IV[5]|0,this.G=FA.SHA224_IV[6]|0,this.H=FA.SHA224_IV[7]|0}};qA.SHA224=Wi;var Gn=RA.split(["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(X=>BigInt(X))),co=Gn[0],Qo=Gn[1],De=new Uint32Array(80),be=new Uint32Array(80),Je=class extends FA.HashMD{constructor(_=64){super(128,_,16,!1),this.Ah=FA.SHA512_IV[0]|0,this.Al=FA.SHA512_IV[1]|0,this.Bh=FA.SHA512_IV[2]|0,this.Bl=FA.SHA512_IV[3]|0,this.Ch=FA.SHA512_IV[4]|0,this.Cl=FA.SHA512_IV[5]|0,this.Dh=FA.SHA512_IV[6]|0,this.Dl=FA.SHA512_IV[7]|0,this.Eh=FA.SHA512_IV[8]|0,this.El=FA.SHA512_IV[9]|0,this.Fh=FA.SHA512_IV[10]|0,this.Fl=FA.SHA512_IV[11]|0,this.Gh=FA.SHA512_IV[12]|0,this.Gl=FA.SHA512_IV[13]|0,this.Hh=FA.SHA512_IV[14]|0,this.Hl=FA.SHA512_IV[15]|0}get(){let{Ah:_,Al:$,Bh:eA,Bl:rA,Ch:IA,Cl:aA,Dh:cA,Dl:EA,Eh:yA,El:uA,Fh:CA,Fl:lA,Gh:Z,Gl:fA,Hh:HA,Hl:NA}=this;return[_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA]}set(_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA){this.Ah=_|0,this.Al=$|0,this.Bh=eA|0,this.Bl=rA|0,this.Ch=IA|0,this.Cl=aA|0,this.Dh=cA|0,this.Dl=EA|0,this.Eh=yA|0,this.El=uA|0,this.Fh=CA|0,this.Fl=lA|0,this.Gh=Z|0,this.Gl=fA|0,this.Hh=HA|0,this.Hl=NA|0}process(_,$){for(let pA=0;pA<16;pA++,$+=4)De[pA]=_.getUint32($),be[pA]=_.getUint32($+=4);for(let pA=16;pA<80;pA++){let XA=De[pA-15]|0,zA=be[pA-15]|0,SA=RA.rotrSH(XA,zA,1)^RA.rotrSH(XA,zA,8)^RA.shrSH(XA,zA,7),dA=RA.rotrSL(XA,zA,1)^RA.rotrSL(XA,zA,8)^RA.shrSL(XA,zA,7),OA=De[pA-2]|0,JA=be[pA-2]|0,Ct=RA.rotrSH(OA,JA,19)^RA.rotrBH(OA,JA,61)^RA.shrSH(OA,JA,6),Et=RA.rotrSL(OA,JA,19)^RA.rotrBL(OA,JA,61)^RA.shrSL(OA,JA,6),ut=RA.add4L(dA,Et,be[pA-7],be[pA-16]),Lt=RA.add4H(ut,SA,Ct,De[pA-7],De[pA-16]);De[pA]=Lt|0,be[pA]=ut|0}let{Ah:eA,Al:rA,Bh:IA,Bl:aA,Ch:cA,Cl:EA,Dh:yA,Dl:uA,Eh:CA,El:lA,Fh:Z,Fl:fA,Gh:HA,Gl:NA,Hh:wA,Hl:LA}=this;for(let pA=0;pA<80;pA++){let XA=RA.rotrSH(CA,lA,14)^RA.rotrSH(CA,lA,18)^RA.rotrBH(CA,lA,41),zA=RA.rotrSL(CA,lA,14)^RA.rotrSL(CA,lA,18)^RA.rotrBL(CA,lA,41),SA=CA&Z^~CA&HA,dA=lA&fA^~lA&NA,OA=RA.add5L(LA,zA,dA,Qo[pA],be[pA]),JA=RA.add5H(OA,wA,XA,SA,co[pA],De[pA]),Ct=OA|0,Et=RA.rotrSH(eA,rA,28)^RA.rotrBH(eA,rA,34)^RA.rotrBH(eA,rA,39),ut=RA.rotrSL(eA,rA,28)^RA.rotrBL(eA,rA,34)^RA.rotrBL(eA,rA,39),Lt=eA&IA^eA&cA^IA&cA,Oe=rA&aA^rA&EA^aA&EA;wA=HA|0,LA=NA|0,HA=Z|0,NA=fA|0,Z=CA|0,fA=lA|0,{h:CA,l:lA}=RA.add(yA|0,uA|0,JA|0,Ct|0),yA=cA|0,uA=EA|0,cA=IA|0,EA=aA|0,IA=eA|0,aA=rA|0;let Wt=RA.add3L(Ct,ut,Oe);eA=RA.add3H(Wt,JA,Et,Lt),rA=Wt|0}({h:eA,l:rA}=RA.add(this.Ah|0,this.Al|0,eA|0,rA|0)),{h:IA,l:aA}=RA.add(this.Bh|0,this.Bl|0,IA|0,aA|0),{h:cA,l:EA}=RA.add(this.Ch|0,this.Cl|0,cA|0,EA|0),{h:yA,l:uA}=RA.add(this.Dh|0,this.Dl|0,yA|0,uA|0),{h:CA,l:lA}=RA.add(this.Eh|0,this.El|0,CA|0,lA|0),{h:Z,l:fA}=RA.add(this.Fh|0,this.Fl|0,Z|0,fA|0),{h:HA,l:NA}=RA.add(this.Gh|0,this.Gl|0,HA|0,NA|0),{h:wA,l:LA}=RA.add(this.Hh|0,this.Hl|0,wA|0,LA|0),this.set(eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA,wA,LA)}roundClean(){(0,ZA.clean)(De,be)}destroy(){(0,ZA.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};qA.SHA512=Je;var Xi=class extends Je{constructor(){super(48),this.Ah=FA.SHA384_IV[0]|0,this.Al=FA.SHA384_IV[1]|0,this.Bh=FA.SHA384_IV[2]|0,this.Bl=FA.SHA384_IV[3]|0,this.Ch=FA.SHA384_IV[4]|0,this.Cl=FA.SHA384_IV[5]|0,this.Dh=FA.SHA384_IV[6]|0,this.Dl=FA.SHA384_IV[7]|0,this.Eh=FA.SHA384_IV[8]|0,this.El=FA.SHA384_IV[9]|0,this.Fh=FA.SHA384_IV[10]|0,this.Fl=FA.SHA384_IV[11]|0,this.Gh=FA.SHA384_IV[12]|0,this.Gl=FA.SHA384_IV[13]|0,this.Hh=FA.SHA384_IV[14]|0,this.Hl=FA.SHA384_IV[15]|0}};qA.SHA384=Xi;var st=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),at=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),Zi=class extends Je{constructor(){super(28),this.Ah=st[0]|0,this.Al=st[1]|0,this.Bh=st[2]|0,this.Bl=st[3]|0,this.Ch=st[4]|0,this.Cl=st[5]|0,this.Dh=st[6]|0,this.Dl=st[7]|0,this.Eh=st[8]|0,this.El=st[9]|0,this.Fh=st[10]|0,this.Fl=st[11]|0,this.Gh=st[12]|0,this.Gl=st[13]|0,this.Hh=st[14]|0,this.Hl=st[15]|0}};qA.SHA512_224=Zi;var zi=class extends Je{constructor(){super(32),this.Ah=at[0]|0,this.Al=at[1]|0,this.Bh=at[2]|0,this.Bl=at[3]|0,this.Ch=at[4]|0,this.Cl=at[5]|0,this.Dh=at[6]|0,this.Dl=at[7]|0,this.Eh=at[8]|0,this.El=at[9]|0,this.Fh=at[10]|0,this.Fl=at[11]|0,this.Gh=at[12]|0,this.Gl=at[13]|0,this.Hh=at[14]|0,this.Hl=at[15]|0}};qA.SHA512_256=zi;qA.sha256=(0,ZA.createHasher)(()=>new bi);qA.sha224=(0,ZA.createHasher)(()=>new Wi);qA.sha512=(0,ZA.createHasher)(()=>new Je);qA.sha384=(0,ZA.createHasher)(()=>new Xi);qA.sha512_256=(0,ZA.createHasher)(()=>new zi);qA.sha512_224=(0,ZA.createHasher)(()=>new Zi)});var Hn=ot(Tt=>{"use strict";mA();Object.defineProperty(Tt,"__esModule",{value:!0});Tt.sha224=Tt.SHA224=Tt.sha256=Tt.SHA256=void 0;var $i=Sn();Tt.SHA256=$i.SHA256;Tt.sha256=$i.sha256;Tt.SHA224=$i.SHA224;Tt.sha224=$i.sha224});var mn=ot(Pt=>{"use strict";mA();var fo=Pt&&Pt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),Eo=Pt&&Pt.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),uo=Pt&&Pt.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var rA in $)Object.prototype.hasOwnProperty.call($,rA)&&(eA[eA.length]=rA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),rA=0;rA<eA.length;rA++)eA[rA]!=="default"&&fo($,_,eA[rA]);return Eo($,_),$}})();Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BsvEcdsaSuite=void 0;var ni=uo((Tr(),ai(jr))),ho=tn(),yo=Hn(),A0=ui();ni.etc.hmacSha256Sync=(X,..._)=>(0,ho.hmac)(yo.sha256,X,ni.etc.concatBytes(..._));var j0=class{constructor(){bA(this,"suiteId","bsv-ecdsa-secp256k1");bA(this,"version","1.0.0")}async generateKeypair(){let _=ni.utils.randomPrivateKey(),$=ni.getPublicKey(_,!0);return{privateKey:_,publicKey:$}}async sign(_,$){try{return(await ni.sign($,_)).toCompactRawBytes()}catch(eA){throw new Error(`BsvEcdsaSuite signing failed: ${eA instanceof Error?eA.message:String(eA)}`)}}async verify(_,$,eA){try{return ni.verify(eA,$,_)}catch{return!1}}exportPublicKey(_){return(0,A0.bytesToHex)(_)}importPublicKey(_){return(0,A0.hexToBytes)(_)}exportPrivateKey(_){return(0,A0.bytesToHex)(_)}importPrivateKey(_){let $=(0,A0.hexToBytes)(_);if($.length!==32)throw new Error("Private key must be 32 bytes");return $}};Pt.BsvEcdsaSuite=j0});var Fn=ot((exports,module)=>{mA();var dilithium=(function(){var A,I,g,C={};function B(X,_){if(X===0)return _;throw new Error("Dilithium error: "+X)}function Q(X,_){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,X,_))}function i(X){try{C._free(X)}catch(_){setTimeout((function(){throw _}),0)}}C.ready=new Promise((function(A,I){function g(X){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},g(X)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(X){I(X)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(X,_){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(X,_){var $=x(X);return $?_?$:$.toString():(X=q(X)?new URL(X):e.normalize(X),a.readFileSync(X,_?void 0:"utf8"))},B=function(X){var _=C(X,!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(X){if(!(X==="unwind"||X instanceof p||X.context instanceof p))throw X})),E=function(X,_){throw process.exitCode=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(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.send(null),_.responseText}catch(eA){var $=x(X);if($)return(function(rA){for(var IA=[],aA=0;aA<rA.length;aA++){var cA=rA[aA];cA>255&&(cA&=255),IA.push(String.fromCharCode(cA))}return IA.join("")})($);throw eA}},n&&(B=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(eA){var $=x(X);if($)return $;throw eA}}));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(X){throw Q.onAbort&&Q.onAbort(X),D(X="Aborted("+X+")"),F=!0,X+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(X)}var R,d,M="data:application/octet-stream;base64,";function J(X){return X.startsWith(M)}function q(X){return X.startsWith("file://")}function l(X){return Promise.resolve().then((function(){return(function(_){if(_==R&&f)return new Uint8Array(f);var $=x(_);if($)return $;if(B)return B(_);throw"both async and sync fetching of the wasm failed"})(X)}))}function m(X,_,$,eA){return(function(rA,IA,aA){return l(rA).then((function(cA){return WebAssembly.instantiate(cA,IA)})).then((function(cA){return cA})).then(aA,(function(cA){D("failed to asynchronously prepare wasm: "+cA),U(cA)}))})(_,$,eA)}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 X=new Uint32Array(1);return I.getRandomValues(X),X[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var X=B.randomBytes(4);return(X[0]<<24|X[1]<<16|X[2]<<8|X[3])>>>0};i(),Q.getRandomValue=i}catch(X){throw"No secure random number generator found"}}}};function p(X){this.name="ExitStatus",this.message="Program terminated with exit(".concat(X,")"),this.status=X}var K=function(X){for(;X.length>0;)X.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(X,_,$){var eA=(function(rA,IA){var aA;for(v.length=0,IA>>=2;aA=y[rA++];)IA+=aA!=105&IA,v.push(aA==105?u[IA]:s[IA++>>1]),++IA;return v})(_,$);return L[X].apply(null,eA)},O=function(X){G||(Q.onExit&&Q.onExit(X),F=!0),E(X,new p(X))},T={b:function(X,_,$){return j(X,_,$)},d:function(X,_,$){return y.copyWithin(X,_,_+$)},c:function(X){y.length,U("OOM")},a:function(X,_){O(X)}};(function(){var X={a:T};function _($,eA){var rA,IA,aA=$.exports;return Q.asm=aA,c=Q.asm.e,rA=c.buffer,Q.HEAP8=h=new Int8Array(rA),Q.HEAP16=new Int16Array(rA),Q.HEAP32=u=new Int32Array(rA),Q.HEAPU8=y=new Uint8Array(rA),Q.HEAPU16=new Uint16Array(rA),Q.HEAPU32=new Uint32Array(rA),Q.HEAPF32=new Float32Array(rA),Q.HEAPF64=s=new Float64Array(rA),Q.asm.g,IA=Q.asm.f,N.unshift(IA),(function(cA){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var EA=H;H=null,EA()}})(),aA}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(X,_)}catch($){return D("Module.instantiateWasm callback failed with error: "+$),!1}m(0,R,X,(function($){_($.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(X){if(J(X))return(function(_){if(r!==void 0&&r){var $=Buffer.from(_,"base64");return new Uint8Array($.buffer,$.byteOffset,$.byteLength)}try{for(var eA=atob(_),rA=new Uint8Array(eA.length),IA=0;IA<eA.length;++IA)rA[IA]=eA.charCodeAt(IA);return rA}catch{throw new Error("Converting base64 string to bytes failed.")}})(X.slice(M.length))}function W(){function X(){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),X()}),1)):X()))}if(Q.writeArrayToMemory=function(X,_){h.set(X,_)},H=function X(){b||W(),b||(H=X)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(X){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},A(X)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(X,_){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(X,_){var $=P(X);return $?_?$:$.toString():(X=m(X)?new URL(X):t.normalize(X),r.readFileSync(X,_?void 0:"utf8"))},g=function(X){var _=I(X,!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(X){if(!(X==="unwind"||X instanceof b||X.context instanceof b))throw X})),Q=function(X,_){throw process.exitCode=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(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.send(null),_.responseText}catch(eA){var $=P(X);if($)return(function(rA){for(var IA=[],aA=0;aA<rA.length;aA++){var cA=rA[aA];cA>255&&(cA&=255),IA.push(String.fromCharCode(cA))}return IA.join("")})($);throw eA}},E&&(g=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(eA){var $=P(X);if($)return $;throw eA}}));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(X){this.buffer=new ArrayBuffer(65536*X.initial)},Module:function(X){},Instance:function(X,_){this.exports=(function($){for(var eA,rA=new Uint8Array(123),IA=25;IA>=0;--IA)rA[48+IA]=52+IA,rA[65+IA]=IA,rA[97+IA]=26+IA;function aA(EA,yA,uA){for(var CA,lA,Z=0,fA=yA,HA=uA.length,NA=yA+(3*HA>>2)-(uA[HA-2]=="=")-(uA[HA-1]=="=");Z<HA;Z+=4)CA=rA[uA.charCodeAt(Z+1)],lA=rA[uA.charCodeAt(Z+2)],EA[fA++]=rA[uA.charCodeAt(Z)]<<2|CA>>4,fA<NA&&(EA[fA++]=CA<<4|lA>>2),fA<NA&&(EA[fA++]=lA<<6|rA[uA.charCodeAt(Z+3)])}function cA(){throw new Error("abort")}return rA[43]=62,rA[47]=63,(function(EA){var yA=EA.a,uA=yA.a.buffer,CA=new Int8Array(uA),lA=new Int16Array(uA),Z=new Int32Array(uA),fA=new Uint8Array(uA),HA=new Uint16Array(uA),NA=new Uint32Array(uA),wA=(new Float32Array(uA),new Float64Array(uA),Math.imul),LA=Math.clz32,pA=yA.b,XA=yA.c,zA=yA.d,SA=8392208,dA=0;function OA(z){var iA,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;SA=iA=SA-16|0;A:{e:{t:{i:{o:{n:{s:{f:{B:{a:{I:{C:{c:{g:{if((z|=0)>>>0<=244){if(3&(tA=(sA=Z[776])>>>(AA=(BA=z>>>0<11?16:z+11&-8)>>>3|0)|0)){tA=(z=(AA=AA+(1&(-1^tA))|0)<<3)+3144|0,gA=Z[z+3152>>2],(0|tA)!=(0|(z=Z[gA+8>>2]))?(Z[z+12>>2]=tA,Z[tA+8>>2]=z):Z[776]=Mt(AA)&sA,z=gA+8|0,tA=AA<<3,Z[gA+4>>2]=3|tA,Z[(tA=tA+gA|0)+4>>2]=1|Z[tA+4>>2];break A}if((DA=Z[778])>>>0>=BA>>>0)break g;if(tA){tA=(z=(gA=a0(0-(z=(0-(z=2<<AA)|z)&tA<<AA)&z))<<3)+3144|0,nA=Z[z+3152>>2],(0|tA)!=(0|(z=Z[nA+8>>2]))?(Z[z+12>>2]=tA,Z[tA+8>>2]=z):(sA=Mt(gA)&sA,Z[776]=sA),Z[nA+4>>2]=3|BA,gA=(z=gA<<3)-BA|0,Z[(AA=nA+BA|0)+4>>2]=1|gA,Z[z+nA>>2]=gA,DA&&(tA=3144+(-8&DA)|0,oA=Z[781],(z=1<<(DA>>>3))&sA?z=Z[tA+8>>2]:(Z[776]=z|sA,z=tA),Z[tA+8>>2]=oA,Z[z+12>>2]=oA,Z[oA+12>>2]=tA,Z[oA+8>>2]=z),z=nA+8|0,Z[781]=AA,Z[778]=gA;break A}if(!(hA=Z[777]))break g;for(AA=Z[3408+(a0(0-hA&hA)<<2)>>2],oA=(-8&Z[AA+4>>2])-BA|0,tA=AA;(z=Z[tA+16>>2])||(z=Z[tA+20>>2]);)oA=(gA=(tA=(-8&Z[z+4>>2])-BA|0)>>>0<oA>>>0)?tA:oA,AA=gA?z:AA,tA=z;if(QA=Z[AA+24>>2],(0|(gA=Z[AA+12>>2]))!=(0|AA)){z=Z[AA+8>>2],Z[z+12>>2]=gA,Z[gA+8>>2]=z;break e}if(!(z=Z[(tA=AA+20|0)>>2])){if(!(z=Z[AA+16>>2]))break c;tA=AA+16|0}for(;nA=tA,gA=z,(z=Z[(tA=z+20|0)>>2])||(tA=gA+16|0,z=Z[gA+16>>2]););Z[nA>>2]=0;break e}if(BA=-1,!(z>>>0>4294967231)&&(BA=-8&(z=z+11|0),hA=Z[777])){oA=0-BA|0,sA=0,BA>>>0<256||(sA=31,BA>>>0>16777215||(sA=62+((BA>>>38-(z=LA(z>>>8|0))&1)-(z<<1)|0)|0));r:{Q:{if(tA=Z[3408+(sA<<2)>>2])for(z=0,AA=BA<<((0|sA)!=31?25-(sA>>>1|0)|0:0);;){if(!((nA=(-8&Z[tA+4>>2])-BA|0)>>>0>=oA>>>0||(gA=tA,oA=nA,nA))){oA=0,z=tA;break Q}if(nA=Z[tA+20>>2],tA=Z[16+((AA>>>29&4)+tA|0)>>2],z=nA?(0|nA)==(0|tA)?z:nA:z,AA<<=1,!tA)break}else z=0;if(!(z|gA)){if(gA=0,!(z=(0-(z=2<<sA)|z)&hA))break g;z=Z[3408+(a0(z&0-z)<<2)>>2]}if(!z)break r}for(;oA=(AA=(tA=(-8&Z[z+4>>2])-BA|0)>>>0<oA>>>0)?tA:oA,gA=AA?z:gA,z=(tA=Z[z+16>>2])||Z[z+20>>2];);}if(!(!gA|Z[778]-BA>>>0<=oA>>>0)){if(sA=Z[gA+24>>2],(0|gA)!=(0|(AA=Z[gA+12>>2]))){z=Z[gA+8>>2],Z[z+12>>2]=AA,Z[AA+8>>2]=z;break t}if(!(z=Z[(tA=gA+20|0)>>2])){if(!(z=Z[gA+16>>2]))break C;tA=gA+16|0}for(;nA=tA,AA=z,(z=Z[(tA=z+20|0)>>2])||(tA=AA+16|0,z=Z[AA+16>>2]););Z[nA>>2]=0;break t}}}if((z=Z[778])>>>0>=BA>>>0){gA=Z[781],(tA=z-BA|0)>>>0>=16?(Z[(AA=gA+BA|0)+4>>2]=1|tA,Z[z+gA>>2]=tA,Z[gA+4>>2]=3|BA):(Z[gA+4>>2]=3|z,Z[(z=z+gA|0)+4>>2]=1|Z[z+4>>2],AA=0,tA=0),Z[778]=tA,Z[781]=AA,z=gA+8|0;break A}if((QA=Z[779])>>>0>BA>>>0){tA=QA-BA|0,Z[779]=tA,z=(AA=Z[782])+BA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[AA+4>>2]=3|BA,z=AA+8|0;break A}if(z=0,hA=BA+47|0,Z[894]?AA=Z[896]:(Z[897]=-1,Z[898]=-1,Z[895]=4096,Z[896]=4096,Z[894]=iA+12&-16^1431655768,Z[899]=0,Z[887]=0,AA=4096),(tA=(nA=hA+AA|0)&(oA=0-AA|0))>>>0<=BA>>>0||(gA=Z[886])&&gA>>>0<(sA=(AA=Z[884])+tA|0)>>>0|AA>>>0>=sA>>>0)break A;g:{if(!(4&fA[3548])){r:{Q:{E:{u:{if(gA=Z[782])for(z=3552;;){if((AA=Z[z>>2])>>>0<=gA>>>0&gA>>>0<AA+Z[z+4>>2]>>>0)break u;if(!(z=Z[z+8>>2]))break}if((0|(AA=je(0)))==-1||(sA=tA,(z=(gA=Z[895])-1|0)&AA&&(sA=(tA-AA|0)+(z+AA&0-gA)|0),sA>>>0<=BA>>>0)||(gA=Z[886])&&gA>>>0<(oA=(z=Z[884])+sA|0)>>>0|z>>>0>=oA>>>0)break r;if((0|AA)!=(0|(z=je(sA))))break E;break g}if((0|(AA=je(sA=oA&nA-QA)))==(Z[z>>2]+Z[z+4>>2]|0))break Q;z=AA}if((0|z)==-1)break r;if(BA+48>>>0<=sA>>>0){AA=z;break g}if((0|je(AA=(AA=Z[896])+(hA-sA|0)&0-AA))==-1)break r;sA=AA+sA|0,AA=z;break g}if((0|AA)!=-1)break g}Z[887]=4|Z[887]}if((0|(AA=je(tA)))==-1|(0|(z=je(0)))==-1|z>>>0<=AA>>>0||(sA=z-AA|0)>>>0<=BA+40>>>0)break B}z=Z[884]+sA|0,Z[884]=z,z>>>0>NA[885]&&(Z[885]=z);g:{if(nA=Z[782]){for(z=3552;;){if(((gA=Z[z>>2])+(tA=Z[z+4>>2])|0)==(0|AA))break g;if(!(z=Z[z+8>>2]))break}break I}for((z=Z[780])>>>0<=AA>>>0&&z||(Z[780]=AA),z=0,Z[889]=sA,Z[888]=AA,Z[784]=-1,Z[785]=Z[894],Z[891]=0;tA=(gA=z<<3)+3144|0,Z[gA+3152>>2]=tA,Z[gA+3156>>2]=tA,(0|(z=z+1|0))!=32;);tA=(gA=sA-40|0)-(z=AA+8&7?-8-AA&7:0)|0,Z[779]=tA,z=z+AA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[4+(AA+gA|0)>>2]=40,Z[783]=Z[898];break a}if(8&Z[z+12>>2]|AA>>>0<=nA>>>0|gA>>>0>nA>>>0)break I;Z[z+4>>2]=tA+sA,AA=(z=nA+8&7?-8-nA&7:0)+nA|0,Z[782]=AA,z=(tA=Z[779]+sA|0)-z|0,Z[779]=z,Z[AA+4>>2]=1|z,Z[4+(tA+nA|0)>>2]=40,Z[783]=Z[898];break a}gA=0;break e}AA=0;break t}NA[780]>AA>>>0&&(Z[780]=AA),tA=AA+sA|0,z=3552;I:{C:{c:{for(;;){if((0|tA)!=Z[z>>2]){if(z=Z[z+8>>2])continue;break c}break}if(!(8&fA[z+12|0]))break C}for(z=3552;;){if((tA=Z[z>>2])>>>0<=nA>>>0&&(oA=tA+Z[z+4>>2]|0)>>>0>nA>>>0)break I;z=Z[z+8>>2]}}if(Z[z>>2]=AA,Z[z+4>>2]=Z[z+4>>2]+sA,Z[(hA=(AA+8&7?-8-AA&7:0)+AA|0)+4>>2]=3|BA,z=(sA=tA+(tA+8&7?-8-tA&7:0)|0)-(QA=BA+hA|0)|0,(0|nA)==(0|sA)){Z[782]=QA,z=Z[779]+z|0,Z[779]=z,Z[QA+4>>2]=1|z;break i}if(Z[781]==(0|sA)){Z[781]=QA,z=Z[778]+z|0,Z[778]=z,Z[QA+4>>2]=1|z,Z[z+QA>>2]=z;break i}if((3&(oA=Z[sA+4>>2]))!=1)break o;if(nA=-8&oA,oA>>>0<=255){if((0|(AA=Z[sA+12>>2]))==(0|(tA=Z[sA+8>>2]))){Z[776]=Z[776]&Mt(oA>>>3|0);break n}Z[tA+12>>2]=AA,Z[AA+8>>2]=tA;break n}if(BA=Z[sA+24>>2],(0|sA)!=(0|(AA=Z[sA+12>>2]))){tA=Z[sA+8>>2],Z[tA+12>>2]=AA,Z[AA+8>>2]=tA;break s}if(!(oA=Z[(tA=sA+20|0)>>2])){if(!(oA=Z[sA+16>>2]))break f;tA=sA+16|0}for(;gA=tA,(oA=Z[(tA=(AA=oA)+20|0)>>2])||(tA=AA+16|0,oA=Z[AA+16>>2]););Z[gA>>2]=0;break s}for(tA=(gA=sA-40|0)-(z=AA+8&7?-8-AA&7:0)|0,Z[779]=tA,z=z+AA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[4+(AA+gA|0)>>2]=40,Z[783]=Z[898],Z[(gA=(z=(oA+(oA-39&7?39-oA&7:0)|0)-47|0)>>>0<nA+16>>>0?nA:z)+4>>2]=27,z=Z[891],Z[gA+16>>2]=Z[890],Z[gA+20>>2]=z,z=Z[889],Z[gA+8>>2]=Z[888],Z[gA+12>>2]=z,Z[890]=gA+8,Z[889]=sA,Z[888]=AA,Z[891]=0,z=gA+24|0;Z[z+4>>2]=7,tA=z+8|0,z=z+4|0,tA>>>0<oA>>>0;);if((0|gA)!=(0|nA))if(Z[gA+4>>2]=-2&Z[gA+4>>2],oA=gA-nA|0,Z[nA+4>>2]=1|oA,Z[gA>>2]=oA,oA>>>0<=255)tA=3144+(-8&oA)|0,(AA=Z[776])&(z=1<<(oA>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z;else{z=31,oA>>>0<=16777215&&(z=62+((oA>>>38-(z=LA(oA>>>8|0))&1)-(z<<1)|0)|0),Z[nA+28>>2]=z,Z[nA+16>>2]=0,Z[nA+20>>2]=0,tA=3408+(z<<2)|0;I:{if((gA=Z[777])&(AA=1<<z)){for(z=oA<<((0|z)!=31?25-(z>>>1|0)|0:0),gA=Z[tA>>2];;){if((0|oA)==(-8&Z[(tA=gA)+4>>2]))break I;if(AA=z>>>29|0,z<<=1,!(gA=Z[(AA=(4&AA)+tA|0)+16>>2]))break}Z[AA+16>>2]=nA}else Z[777]=AA|gA,Z[tA>>2]=nA;Z[nA+24>>2]=tA,Z[nA+12>>2]=nA,Z[nA+8>>2]=nA;break a}z=Z[tA+8>>2],Z[z+12>>2]=nA,Z[tA+8>>2]=nA,Z[nA+24>>2]=0,Z[nA+12>>2]=tA,Z[nA+8>>2]=z}}if(!((z=Z[779])>>>0<=BA>>>0)){tA=z-BA|0,Z[779]=tA,z=(AA=Z[782])+BA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[AA+4>>2]=3|BA,z=AA+8|0;break A}}Z[775]=48,z=0;break A}AA=0}if(BA){gA=Z[sA+28>>2];s:{if(Z[(tA=3408+(gA<<2)|0)>>2]==(0|sA)){if(Z[tA>>2]=AA,AA)break s;Z[777]=Z[777]&Mt(gA);break n}if(Z[BA+(Z[BA+16>>2]==(0|sA)?16:20)>>2]=AA,!AA)break n}Z[AA+24>>2]=BA,(tA=Z[sA+16>>2])&&(Z[AA+16>>2]=tA,Z[tA+24>>2]=AA),(tA=Z[sA+20>>2])&&(Z[AA+20>>2]=tA,Z[tA+24>>2]=AA)}}z=z+nA|0,oA=Z[(sA=nA+sA|0)+4>>2]}if(Z[sA+4>>2]=-2&oA,Z[QA+4>>2]=1|z,Z[z+QA>>2]=z,z>>>0<=255)tA=3144+(-8&z)|0,(AA=Z[776])&(z=1<<(z>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=QA,Z[z+12>>2]=QA,Z[QA+12>>2]=tA,Z[QA+8>>2]=z;else{oA=31,z>>>0<=16777215&&(oA=62+((z>>>38-(tA=LA(z>>>8|0))&1)-(tA<<1)|0)|0),Z[QA+28>>2]=oA,Z[QA+16>>2]=0,Z[QA+20>>2]=0,tA=3408+(oA<<2)|0;o:{if((gA=Z[777])&(AA=1<<oA)){for(oA=z<<((0|oA)!=31?25-(oA>>>1|0)|0:0),AA=Z[tA>>2];;){if(tA=AA,(-8&Z[AA+4>>2])==(0|z))break o;if(AA=oA>>>29|0,oA<<=1,!(AA=Z[(gA=(4&AA)+tA|0)+16>>2]))break}Z[gA+16>>2]=QA}else Z[777]=AA|gA,Z[tA>>2]=QA;Z[QA+24>>2]=tA,Z[QA+12>>2]=QA,Z[QA+8>>2]=QA;break i}z=Z[tA+8>>2],Z[z+12>>2]=QA,Z[tA+8>>2]=QA,Z[QA+24>>2]=0,Z[QA+12>>2]=tA,Z[QA+8>>2]=z}}z=hA+8|0;break A}t:if(sA){tA=Z[gA+28>>2];i:{if(Z[(z=3408+(tA<<2)|0)>>2]==(0|gA)){if(Z[z>>2]=AA,AA)break i;hA=Mt(tA)&hA,Z[777]=hA;break t}if(Z[sA+(Z[sA+16>>2]==(0|gA)?16:20)>>2]=AA,!AA)break t}Z[AA+24>>2]=sA,(z=Z[gA+16>>2])&&(Z[AA+16>>2]=z,Z[z+24>>2]=AA),(z=Z[gA+20>>2])&&(Z[AA+20>>2]=z,Z[z+24>>2]=AA)}t:if(oA>>>0<=15)z=oA+BA|0,Z[gA+4>>2]=3|z,Z[(z=z+gA|0)+4>>2]=1|Z[z+4>>2];else if(Z[gA+4>>2]=3|BA,Z[(nA=gA+BA|0)+4>>2]=1|oA,Z[nA+oA>>2]=oA,oA>>>0<=255)tA=3144+(-8&oA)|0,(AA=Z[776])&(z=1<<(oA>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z;else{z=31,oA>>>0<=16777215&&(z=62+((oA>>>38-(z=LA(oA>>>8|0))&1)-(z<<1)|0)|0),Z[nA+28>>2]=z,Z[nA+16>>2]=0,Z[nA+20>>2]=0,tA=3408+(z<<2)|0;i:{if((AA=1<<z)&hA){for(z=oA<<((0|z)!=31?25-(z>>>1|0)|0:0),BA=Z[tA>>2];;){if((-8&Z[(tA=BA)+4>>2])==(0|oA))break i;if(AA=z>>>29|0,z<<=1,!(BA=Z[(AA=(4&AA)+tA|0)+16>>2]))break}Z[AA+16>>2]=nA}else Z[777]=AA|hA,Z[tA>>2]=nA;Z[nA+24>>2]=tA,Z[nA+12>>2]=nA,Z[nA+8>>2]=nA;break t}z=Z[tA+8>>2],Z[z+12>>2]=nA,Z[tA+8>>2]=nA,Z[nA+24>>2]=0,Z[nA+12>>2]=tA,Z[nA+8>>2]=z}z=gA+8|0;break A}e:if(QA){tA=Z[AA+28>>2];t:{if(Z[(z=3408+(tA<<2)|0)>>2]==(0|AA)){if(Z[z>>2]=gA,gA)break t;Z[777]=Mt(tA)&hA;break e}if(Z[QA+(Z[QA+16>>2]==(0|AA)?16:20)>>2]=gA,!gA)break e}Z[gA+24>>2]=QA,(z=Z[AA+16>>2])&&(Z[gA+16>>2]=z,Z[z+24>>2]=gA),(z=Z[AA+20>>2])&&(Z[gA+20>>2]=z,Z[z+24>>2]=gA)}oA>>>0<=15?(z=oA+BA|0,Z[AA+4>>2]=3|z,Z[(z=z+AA|0)+4>>2]=1|Z[z+4>>2]):(Z[AA+4>>2]=3|BA,Z[(gA=AA+BA|0)+4>>2]=1|oA,Z[gA+oA>>2]=oA,DA&&(tA=3144+(-8&DA)|0,nA=Z[781],(z=1<<(DA>>>3))&sA?z=Z[tA+8>>2]:(Z[776]=z|sA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z),Z[781]=gA,Z[778]=oA),z=AA+8|0}return SA=iA+16|0,0|z}function JA(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0,_A=0,jA=0,$A=0,At=0,PA=0,VA=0,WA=0,it=0,gt=0,rt=0,nt=0,ct=0,bt=0,pt=0,wt=0,xt=0,Gt=0,ht=0,St=0,yt=0,Ht=0,mt=0,Ft=0,Ut=0,kt=0,Kt=0,Zt=0,we=0,zt=0,$t=0,Ae=0,te=0,Be=0,ee=0,ie=0,ge=0,re=0,ne=0,Ce=0,ce=0,Qe=0,xe=0,Ge=0,fe=0,Se=0,He=0,Pe=0,Ve=0,me=0,Fe=0,We=0,Si=0,Hi=0,mi=0,lg=0,dg=0,Dg=0,bg=0,pg=0,wg=0,xg=0,Gg=0,Sg=0,Hg=0,c0=0,mg=0,Fg=0,Ug=0,kg=0,Ng=0,Yg=0,Rg=0,Lg=0,Mg=0,Kg=0,vg=0,qg=0,Jg=0,Og=0,_g=0,jg=0;for(zt=Z[z+192>>2],$t=Z[z+196>>2],pt=Z[z+184>>2],Ae=Z[z+188>>2],te=Z[z+176>>2],Be=Z[z+180>>2],wt=Z[z+168>>2],ee=Z[z+172>>2],$A=Z[z+160>>2],Ge=Z[z+164>>2],ie=Z[z+152>>2],fe=Z[z+156>>2],ge=Z[z+144>>2],re=Z[z+148>>2],xt=Z[z+136>>2],Gt=Z[z+140>>2],ht=Z[z+128>>2],Se=Z[z+132>>2],ne=Z[z+120>>2],He=Z[z+124>>2],St=Z[z+112>>2],yt=Z[z+116>>2],KA=Z[z+104>>2],rt=Z[z+108>>2],Ht=Z[z+96>>2],mt=Z[z+100>>2],QA=Z[z+88>>2],nt=Z[z+92>>2],sA=Z[z+80>>2],Ft=Z[z+84>>2],oA=Z[z+72>>2],Ut=Z[z+76>>2],kA=Z[z+64>>2],jA=Z[z+68>>2],At=Z[z+56>>2],MA=Z[z+60>>2],tA=Z[z+48>>2],Ce=Z[z+52>>2],gA=Z[z+40>>2],vA=Z[z+44>>2],PA=Z[z+32>>2],kt=Z[z+36>>2],DA=Z[z+24>>2],VA=Z[z+28>>2],hA=Z[z+16>>2],ct=Z[z+20>>2],AA=Z[z+8>>2],WA=Z[z+12>>2],BA=Z[z>>2],it=Z[z+4>>2];mi>>>0<=23;)iA=DA^kA^KA^pt^ge,Kt=GA(_A=BA^gA^sA^$A^ne,gt=it^vA^Ft^Ge^He,1)^iA,nA=GA(PA^Kt,kt^(Zt=(Pe=VA^jA^rt^Ae^re)^dA),27),Ve=dA,ce=bt=ct^MA^mt^Gt^Be,bt=GA(we=hA^At^Ht^xt^te,bt,1)^_A,_A=GA(QA^bt,nt^(Qe=dA^gt),10),me=dA,xe=gt=WA^Ce^nt^ee^Se,Fe=PA^oA^St^zt^ie,PA=GA(Si=AA^tA^QA^wt^ht,gt,1)^Fe,gt=GA(gt=gA^PA,vA^(nt=(gA=kt^Ut^yt^$t^fe)^dA),36),We=dA,QA=GA(AA^bt,WA^Qe,1),WA=dA,vA=GA(Fe,gA,1)^we,KA=GA(vA^KA,(we=rt)^(rt=dA^ce),25),ce=dA,kt=GA(iA,Pe,1)^Si,AA=GA(kt^At,(we=MA)^(MA=dA^xe),6),Pe=dA,At=GA(DA^vA,VA^rt,28),VA=dA,sA=GA(sA^PA,nt^Ft,3),Ft=dA,iA=GA(oA^Kt,Ut^Zt,20),we=DA=dA,oA=GA(hA^kt,MA^ct,62),Ut=dA,St=GA(St^Kt,yt^Zt,39),yt=dA,gA=GA(kA^vA,jA^rt,55),ct=hA=dA,jA=Z[(kA=(Si=mi<<3)+1120|0)>>2],kA=Z[kA+4>>2],Ht=GA(Ht^kt,MA^mt,43),mt=dA,tA=GA(tA^bt,Ce^Qe,44),Hi=hA=(lg=(it^=nt)^(-1^(Ce=dA))&mt^kA)^(dg=(-1^hA)&yt^Ut)^(Dg=(-1^DA)&Ft^VA)^(bg=(-1^We)&me^Ve)^(pg=(-1^Pe)&ce^WA),kA=GA(jA=(wg=(xe=BA^PA)^(-1^tA)&Ht^jA)^(xg=(-1^gA)&St^oA)^(Gg=(-1^iA)&sA^At)^(Sg=(-1^gt)&_A^nA)^(Hg=(-1^AA)&KA^QA),hA,1),DA=dA,xt=GA(xt^kt,MA^Gt,15),Gt=dA,pt=GA(vA^pt,rt^Ae,56),Fe=dA,ge=GA(vA^ge,rt^re,21),Ae=dA,zt=GA(zt^Kt,$t^Zt,14),re=dA,ne=GA(PA^ne,nt^He,41),$t=dA,hA=GA(wt^bt,ee^Qe,2),BA=dA,ie=GA(ie^Kt,Zt^fe,8),ee=dA,wt=GA($A^PA,nt^Ge,18),PA=dA,$A=GA(ht^bt,Qe^Se,45),ht=dA,c0=(-1^pt)&nA^xt,vA=(-1^zt)&xe^ge,fe=(-1^hA)&oA^ne,nt=(-1^wt)&QA^ie,te=GA(kt^te,MA^Be,61),oA=GA((kA^=Se=c0^vA^fe^nt^(Ge=(-1^te)&At^$A))^(He=(-1^oA)&gA^hA),(DA^=kg=(mg=(-1^Fe)&Ve^Gt)^(Fg=(-1^re)&it^Ae)^(rt=(-1^BA)&Ut^$t)^(MA=(-1^PA)&WA^ee)^(Ug=(-1^(Be=dA))&VA^ht))^(Ut=(-1^Ut)&ct^BA),14),Kt=dA,jg=BA=(Ng=ce^(-1^ee)&PA)^(Yg=mt^(-1^Ae)&re)^(Rg=(-1^$t)&BA^yt)^(Lg=Ft^(-1^ht)&Be)^(Mg=(-1^Gt)&Fe^me),BA=GA(_g=(Kg=KA^(-1^ie)&wt)^(vg=Ht^(-1^ge)&zt)^(qg=(-1^ne)&hA^St)^(Jg=sA^(-1^$A)&te)^(Og=(-1^xt)&pt^_A),BA,1)^jA,sA=GA(BA^(hA=(-1^sA)&$A^iA),(jA=dA^Hi)^($A=(-1^Ft)&ht^we),44),Zt=dA,ht=ct^(-1^yt)&$t,yt=Pe^(-1^ce)&ee,me=We^(-1^me)&Gt,_A=(pt=(ce=pt^(-1^nA)>)^(Hi=te^(-1^At)&iA)^(nA=wt^(-1^QA)&AA)^He^(Gt=(-1^xe)&tA^zt))^GA(AA=(iA=gA^(-1^St)&ne)^(St=AA^(-1^KA)&ie)^(xe=gt^(-1^_A)&xt)^(Ht=(-1^Ht)&ge^tA)^hA,$A^=ht^yt^me^(mt=(-1^mt)&Ae^Ce),1),Qe=tA=(At=(gA=(Ve=Fe^(-1^Ve)&We)^(We=Be^(-1^VA)&we)^(wt=PA^(-1^WA)&Pe)^Ut^(xt=(-1^it)&Ce^re))^dA)^lg,hA=oA,gt=sA,PA=oA^sA&(-1^(bt=_A^wg)),kt=(-1^tA)&Zt^Kt,iA=GA(iA^BA,jA^ht,2),QA=dA,VA=GA(pt,gA,1)^_g,gA=GA(Ge^VA,Ug^(ct=jg^dA),55),KA=dA,WA=GA(Se,kg,1)^AA,AA=GA(WA^vg,(it=$A^dA)^Yg,62),sA=tA=dA,zt=(-1^AA)&gA^iA,$t=(-1^tA)&KA^QA,pt=(tA=GA(_A^Sg,At^bg,41))^(-1^iA)&AA,Ae=(oA=dA)^(-1^QA)&sA,te=(nA=GA(nA^kA,DA^wt,39))^(-1^tA)&iA,Be=(iA=dA)^(-1^oA)&QA,wt=gA^(-1^nA)&tA,ee=KA^(-1^iA)&oA,$A=AA^(-1^gA)&nA,Ge=sA^(-1^KA)&iA,iA=GA(VA^fe,ct^rt,56),QA=dA,gA=GA(_A^Gg,At^Dg,36),KA=dA,AA=GA(kA^Gt,DA^xt,27),sA=tA=dA,ie=(-1^AA)&gA^iA,fe=(-1^tA)&KA^QA,ge=(tA=GA(WA^Og,it^Mg,15))^(-1^iA)&AA,re=(oA=dA)^(-1^QA)&sA,xt=(nA=GA(BA^St,jA^yt,10))^(-1^tA)&iA,Gt=(iA=dA)^(-1^oA)&QA,ht=gA^(-1^nA)&tA,Se=KA^(-1^iA)&oA,ne=(-1^gA)&nA^AA,He=(-1^KA)&iA^sA,iA=GA(_A^xg,At^dg,18),QA=dA,gA=GA(WA^Jg,it^Lg,6),oA=dA,AA=GA(BA^Ht,jA^mt,1),Ft=tA=dA,St=(-1^AA)&gA^iA,yt=(-1^tA)&oA^QA,KA=(tA=GA(kA^ce,DA^Ve,8))^(-1^iA)&AA,rt=(sA=dA)^(-1^QA)&Ft,Ht=(nA=GA(VA^nt,MA^ct,25))^(-1^tA)&iA,mt=(iA=dA)^(-1^sA)&QA,QA=gA^(-1^nA)&tA,nt=oA^(-1^iA)&sA,sA=(-1^gA)&nA^AA,Ft^=(-1^oA)&iA,iA=GA(WA^qg,it^Rg,61),MA=dA,gA=GA(kA^Hi,DA^We,20),DA=dA,AA=GA(vA^VA,ct^Fg,28),vA=tA=dA,oA=(-1^AA)&gA^iA,Ut=(-1^tA)&DA^MA,kA=(tA=GA(BA^xe,jA^me,45))^(-1^iA)&AA,jA=(BA=dA)^(-1^MA)&vA,At=(nA=GA(_A^Hg,At^pg,3))^(-1^tA)&iA,MA=(iA=dA)^(-1^BA)&MA,tA=(-1^nA)&tA^gA,Ce=(-1^iA)&BA^DA,gA=AA^(-1^gA)&nA,vA^=(-1^DA)&iA,DA=(AA=GA(VA^c0,ct^mg,21))^(-1^hA)&bt,VA=(nA=dA)^(-1^Kt)&Qe,hA=(iA=GA(WA^Kg,it^Ng,43))^(-1^AA)&hA,ct=(_A=dA)^(-1^nA)&Kt,AA=(-1^iA)&AA^gt,WA=(-1^_A)&nA^Zt,BA=bt^Z[(nA=1120+(8|Si)|0)>>2]^(-1^gt)&iA,it=Qe^Z[nA+4>>2]^(-1^Zt)&_A,mi=mi+2|0;Z[z+192>>2]=zt,Z[z+196>>2]=$t,Z[z+184>>2]=pt,Z[z+188>>2]=Ae,Z[z+176>>2]=te,Z[z+180>>2]=Be,Z[z+168>>2]=wt,Z[z+172>>2]=ee,Z[z+160>>2]=$A,Z[z+164>>2]=Ge,Z[z+152>>2]=ie,Z[z+156>>2]=fe,Z[z+144>>2]=ge,Z[z+148>>2]=re,Z[z+136>>2]=xt,Z[z+140>>2]=Gt,Z[z+128>>2]=ht,Z[z+132>>2]=Se,Z[z+120>>2]=ne,Z[z+124>>2]=He,Z[z+112>>2]=St,Z[z+116>>2]=yt,Z[z+104>>2]=KA,Z[z+108>>2]=rt,Z[z+96>>2]=Ht,Z[z+100>>2]=mt,Z[z+88>>2]=QA,Z[z+92>>2]=nt,Z[z+80>>2]=sA,Z[z+84>>2]=Ft,Z[z+72>>2]=oA,Z[z+76>>2]=Ut,Z[z+64>>2]=kA,Z[z+68>>2]=jA,Z[z+56>>2]=At,Z[z+60>>2]=MA,Z[z+48>>2]=tA,Z[z+52>>2]=Ce,Z[z+40>>2]=gA,Z[z+44>>2]=vA,Z[z+32>>2]=PA,Z[z+36>>2]=kt,Z[z+24>>2]=DA,Z[z+28>>2]=VA,Z[z+16>>2]=hA,Z[z+20>>2]=ct,Z[z+8>>2]=AA,Z[z+12>>2]=WA,Z[z>>2]=BA,Z[z+4>>2]=it}function Ct(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0;A:if(z|=0){nA=(AA=z-8|0)+(z=-8&(iA=Z[z-4>>2]))|0;e:if(!(1&iA)){if(!(3&iA)||(AA=AA-(iA=Z[AA>>2])|0)>>>0<NA[780])break A;z=z+iA|0;t:{i:{if(Z[781]!=(0|AA)){if(iA>>>0<=255){if(gA=iA>>>3|0,(0|(iA=Z[AA+12>>2]))==(0|(tA=Z[AA+8>>2]))){Z[776]=Z[776]&Mt(gA);break e}Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break e}if(oA=Z[AA+24>>2],(0|AA)!=(0|(iA=Z[AA+12>>2]))){tA=Z[AA+8>>2],Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break t}if(!(tA=Z[(gA=AA+20|0)>>2])){if(!(tA=Z[AA+16>>2]))break i;gA=AA+16|0}for(;sA=gA,(tA=Z[(gA=(iA=tA)+20|0)>>2])||(gA=iA+16|0,tA=Z[iA+16>>2]););Z[sA>>2]=0;break t}if((3&(iA=Z[nA+4>>2]))!=3)break e;return Z[778]=z,Z[nA+4>>2]=-2&iA,Z[AA+4>>2]=1|z,void(Z[nA>>2]=z)}iA=0}if(oA){tA=Z[AA+28>>2];t:{if(Z[(gA=3408+(tA<<2)|0)>>2]==(0|AA)){if(Z[gA>>2]=iA,iA)break t;Z[777]=Z[777]&Mt(tA);break e}if(Z[oA+(Z[oA+16>>2]==(0|AA)?16:20)>>2]=iA,!iA)break e}Z[iA+24>>2]=oA,(tA=Z[AA+16>>2])&&(Z[iA+16>>2]=tA,Z[tA+24>>2]=iA),(tA=Z[AA+20>>2])&&(Z[iA+20>>2]=tA,Z[tA+24>>2]=iA)}}if(!(AA>>>0>=nA>>>0)&&1&(iA=Z[nA+4>>2])){e:{t:{i:{o:{if(!(2&iA)){if(Z[782]==(0|nA)){if(Z[782]=AA,z=Z[779]+z|0,Z[779]=z,Z[AA+4>>2]=1|z,Z[781]!=(0|AA))break A;return Z[778]=0,void(Z[781]=0)}if(Z[781]==(0|nA))return Z[781]=AA,z=Z[778]+z|0,Z[778]=z,Z[AA+4>>2]=1|z,void(Z[z+AA>>2]=z);if(z=(-8&iA)+z|0,iA>>>0<=255){if(gA=iA>>>3|0,(0|(iA=Z[nA+12>>2]))==(0|(tA=Z[nA+8>>2]))){Z[776]=Z[776]&Mt(gA);break t}Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break t}if(oA=Z[nA+24>>2],(0|nA)!=(0|(iA=Z[nA+12>>2]))){tA=Z[nA+8>>2],Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break i}if(!(tA=Z[(gA=nA+20|0)>>2])){if(!(tA=Z[nA+16>>2]))break o;gA=nA+16|0}for(;sA=gA,(tA=Z[(gA=(iA=tA)+20|0)>>2])||(gA=iA+16|0,tA=Z[iA+16>>2]););Z[sA>>2]=0;break i}Z[nA+4>>2]=-2&iA,Z[AA+4>>2]=1|z,Z[z+AA>>2]=z;break e}iA=0}if(oA){tA=Z[nA+28>>2];i:{if(Z[(gA=3408+(tA<<2)|0)>>2]==(0|nA)){if(Z[gA>>2]=iA,iA)break i;Z[777]=Z[777]&Mt(tA);break t}if(Z[oA+(Z[oA+16>>2]==(0|nA)?16:20)>>2]=iA,!iA)break t}Z[iA+24>>2]=oA,(tA=Z[nA+16>>2])&&(Z[iA+16>>2]=tA,Z[tA+24>>2]=iA),(tA=Z[nA+20>>2])&&(Z[iA+20>>2]=tA,Z[tA+24>>2]=iA)}}if(Z[AA+4>>2]=1|z,Z[z+AA>>2]=z,Z[781]==(0|AA))return void(Z[778]=z)}if(z>>>0<=255)return iA=3144+(-8&z)|0,(tA=Z[776])&(z=1<<(z>>>3))?z=Z[iA+8>>2]:(Z[776]=z|tA,z=iA),Z[iA+8>>2]=AA,Z[z+12>>2]=AA,Z[AA+12>>2]=iA,void(Z[AA+8>>2]=z);tA=31,z>>>0<=16777215&&(tA=62+((z>>>38-(iA=LA(z>>>8|0))&1)-(iA<<1)|0)|0),Z[AA+28>>2]=tA,Z[AA+16>>2]=0,Z[AA+20>>2]=0,iA=3408+(tA<<2)|0;e:{t:{if((gA=Z[777])&(sA=1<<tA)){for(tA=z<<((0|tA)!=31?25-(tA>>>1|0)|0:0),iA=Z[iA>>2];;){if(gA=iA,(-8&Z[iA+4>>2])==(0|z))break t;if(iA=tA>>>29|0,tA<<=1,!(iA=Z[(sA=gA+(4&iA)|0)+16>>2]))break}Z[sA+16>>2]=AA,Z[AA+24>>2]=gA}else Z[777]=gA|sA,Z[iA>>2]=AA,Z[AA+24>>2]=iA;Z[AA+12>>2]=AA,Z[AA+8>>2]=AA;break e}z=Z[gA+8>>2],Z[z+12>>2]=AA,Z[gA+8>>2]=AA,Z[AA+24>>2]=0,Z[AA+12>>2]=gA,Z[AA+8>>2]=z}z=Z[784]-1|0,Z[784]=z||-1}}}function Et(z,iA,tA,AA){var gA,nA,oA,sA,BA=0,QA=0,hA=0,DA=0,kA=0;for(SA=nA=SA-160|0,sA=nA+12|0,oA=OA(200),Z[sA>>2]=oA,oA||(pA(111),cA()),SA=gA=SA-208|0;;){if((0|BA)==25){for(;;){if(BA=0,AA>>>0<136){for(QA=0;;){if((0|BA)==136){for(;(0|AA)!=(0|QA);)CA[QA+gA|0]=fA[tA+QA|0],QA=QA+1|0;break}CA[BA+gA|0]=0,BA=BA+1|0}for(CA[AA+gA|0]=31,CA[gA+135|0]=128|fA[gA+135|0],BA=0;(0|BA)!=17;)QA=Z[(tA=(AA=BA<<3)+oA|0)>>2],hA=Z[tA+4>>2],Z[tA>>2]=rg(AA+gA|0)^QA,Z[tA+4>>2]=dA^hA,BA=BA+1|0;SA=gA+208|0;break}for(;(0|BA)!=17;)DA=Z[(QA=(hA=BA<<3)+oA|0)>>2],kA=Z[QA+4>>2],Z[QA>>2]=rg(tA+hA|0)^DA,Z[QA+4>>2]=dA^kA,BA=BA+1|0;JA(oA),tA=tA+136|0,AA=AA-136|0}break}Z[(QA=(BA<<3)+oA|0)>>2]=0,Z[QA+4>>2]=0,BA=BA+1|0}tg(z,tA=(iA>>>0)/136|0,sA);A:if((0|(tA=wA(tA,136)))!=(0|iA))for(AA=iA-tA|0,z=z+tA|0,tg(nA+16|0,1,nA+12|0),iA=0;;){if((0|iA)==(0|AA))break A;CA[z+iA|0]=fA[(nA+16|0)+iA|0],iA=iA+1|0}Ct(Z[nA+12>>2]),SA=nA+160|0}function ut(z,iA,tA,AA){for(var gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0;;){A:{if(sA=0,oA=0,BA=hA=Z[z+204>>2],!(!((QA=AA+(gA=Z[z+200>>2])|0)>>>0<AA>>>0?BA+1|0:BA)&iA>>>0>QA>>>0)){for(;!(!oA&(nA=iA-gA|0)>>>0<=sA>>>0|(0|oA)!=0);)hA=Z[(BA=(-8&(gA=gA+sA|0))+z|0)+4>>2],QA=fA[tA+sA|0],nA=31&(gA<<=3),(63&gA)>>>0>=32?(gA=QA<<nA,nA=0):(gA=(1<<nA)-1&QA>>>32-nA,nA=QA<<nA),Z[BA>>2]=nA^Z[BA>>2],Z[BA+4>>2]=gA^hA,oA=(sA=sA+1|0)?oA:oA+1|0,gA=Z[z+200>>2],hA=Z[z+204>>2];Z[z+200>>2]=0,Z[z+204>>2]=0,JA(z),tA=tA+nA|0,AA=AA-nA|0;continue}for(;;){if(!kA&(0|AA)==(0|DA))break A;iA=DA+Z[z+200>>2]|0,nA=Z[(oA=(-8&iA)+z|0)+4>>2],sA=fA[tA+DA|0],iA=31&(gA=iA<<3),(63&gA)>>>0>=32?(gA=sA<<iA,iA=0):(gA=(1<<iA)-1&sA>>>32-iA,iA=sA<<iA),Z[oA>>2]=iA^Z[oA>>2],Z[oA+4>>2]=gA^nA,iA=kA,kA=(DA=DA+1|0)?iA:iA+1|0}}break}iA=Z[z+204>>2],iA=(tA=AA+Z[z+200>>2]|0)>>>0<AA>>>0?iA+1|0:iA,Z[z+200>>2]=tA,Z[z+204>>2]=iA}function Lt(z,iA,tA,AA){var gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;for(QA=iA;;){oA=Z[tA+200>>2],sA=Z[tA+204>>2];A:{if(!BA&(0|gA)==(0|QA))nA=iA;else{if(nA=gA,(0|BA)==(0|sA)&oA>>>0>gA>>>0|BA>>>0<sA>>>0)break A;QA=gA}for(gA=oA-QA|0,BA=sA-((oA>>>0<QA>>>0)+0|0)|0,QA=iA-nA|0,iA=z+nA|0;Z[tA+200>>2]=gA,Z[tA+204>>2]=BA,QA;){for(JA(tA),z=AA>>>0>QA>>>0?QA:AA,nA=0;(0|z)!=(0|nA);)sA=Z[(gA=(-8&nA)+tA|0)>>2],oA=Z[gA+4>>2],gA=31&(BA=nA<<3&56),CA[iA+nA|0]=(63&BA)>>>0>=32?oA>>>gA|0:((1<<gA)-1&oA)<<32-gA|sA>>>gA,nA=nA+1|0;QA=QA-z|0,iA=z+iA|0,gA=AA-z|0,BA=0}return}DA=hA=z+nA|0,hA=Z[(sA=(-8&(oA=gA+(AA-oA|0)|0))+tA|0)>>2],sA=Z[sA+4>>2],nA=31&(oA<<=3),CA[0|DA]=(63&oA)>>>0>=32?sA>>>nA|0:((1<<nA)-1&sA)<<32-nA|hA>>>nA,BA=(gA=gA+1|0)?BA:BA+1|0}}function Oe(z,iA){var tA,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0;for(SA=tA=SA-160|0,pe(nA=tA+12|0),Dt(nA,iA,32),Te(nA),Xt(tA+16|0,136,nA);;){if(!AA&(0|gA)==8){for(iA=0;;){if((0|iA)==256){for(iA=8,gA=196;(0|gA)!=256;){for(;iA>>>0>=136&&(Xt(tA+16|0,136,tA+12|0),iA=0),AA=(tA+16|0)+iA|0,iA=iA+1|0,(AA=fA[0|AA])>>>0>gA>>>0;);AA=(AA<<2)+z|0,Z[(gA<<2)+z>>2]=Z[AA>>2],Z[AA>>2]=1-(sA<<1&2),gA=gA+1|0,sA=(1&BA)<<31|sA>>>1,BA=BA>>>1|0}ae(tA+12|0),SA=tA+160|0;break}Z[(iA<<2)+z>>2]=0,iA=iA+1|0}break}nA=fA[(tA+16|0)+gA|0],iA=31&(oA=gA<<3),(63&oA)>>>0>=32?(oA=nA<<iA,iA=0):(oA=(1<<iA)-1&nA>>>32-iA,iA=nA<<iA),sA|=iA,BA|=oA,AA=(gA=gA+1|0)?AA:AA+1|0}}function Wt(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0;(0|sA)!=8;){for(DA=sA<<8,kA=wA(sA,7168)+z|0,oA=0;(0|oA)!=7;){for(SA=tA=(SA=gA=SA-864|0)-16|0,AA=oA+DA|0,CA[tA+14|0]=AA,CA[tA+15|0]=AA>>>8,pe(AA=gA+12|0),yg(AA,iA,32),yg(AA,tA+14|0,2),$0(Z[AA>>2],168),SA=tA+16|0,tA=840,hg(nA=gA+16|0,840,AA),AA=gg(QA=(oA<<10)+kA|0,256,nA,840);AA>>>0<=255;){for(BA=tA-(nA=(tA>>>0)%3|0)|0,tA=0;(0|tA)!=(0|nA);)CA[(hA=gA+16|0)+tA|0]=fA[(tA+BA|0)+hA|0],tA=tA+1|0;hg((tA=gA+16|0)|nA,168,gA+12|0),AA=gg((AA<<2)+QA|0,256-AA|0,BA=tA,tA=168|nA)+AA|0}ae(gA+12|0),SA=gA+864|0,oA=oA+1|0}sA=sA+1|0}}function Z0(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;nA=256,AA=1;A:for(;;){e:{if(tA=0,AA>>>0>255)for(;;){if((0|oA)==256)break e;iA=_e(iA=Z[(gA=(oA<<2)+z|0)>>2],iA>>31,41978,0),Z[gA>>2]=xi(iA,dA),oA=oA+1|0}for(;;){t:{if(tA>>>0<=255)for(BA=tA+AA|0,hA=(gA=0-Z[1312+((nA=nA-1|0)<<2)>>2]|0)>>31;;){if((0|tA)==(0|BA))break t;QA=Z[(iA=(tA<<2)+z|0)>>2],DA=iA,iA=Z[(sA=(tA+AA<<2)+z|0)>>2],Z[DA>>2]=QA+iA,iA=QA-iA|0,Z[sA>>2]=iA,Z[sA>>2]=xi(_e(iA,iA>>31,gA,hA),dA),tA=tA+1|0}AA<<=1;continue A}tA=AA+BA|0}}break}}function z0(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;(0|gA)!=32;)tA=(gA<<5)+z|0,AA=wA(gA,3)+iA|0,nA=7&fA[0|AA],Z[tA>>2]=nA,oA=fA[0|AA]>>>3&7,Z[tA+4>>2]=oA,sA=fA[AA+1|0]<<2&4|fA[0|AA]>>>6,Z[tA+8>>2]=sA,BA=fA[AA+1|0]>>>1&7,Z[tA+12>>2]=BA,QA=fA[AA+1|0]>>>4&7,Z[tA+16>>2]=QA,hA=fA[AA+2|0]<<1&6|fA[AA+1|0]>>>7,Z[tA+20>>2]=hA,DA=fA[AA+2|0]>>>2&7,Z[tA+24>>2]=DA,AA=fA[AA+2|0],Z[tA+4>>2]=2-oA,Z[tA>>2]=2-nA,Z[tA+8>>2]=2-sA,Z[tA+12>>2]=2-BA,Z[tA+16>>2]=2-QA,Z[tA+20>>2]=2-hA,Z[tA+24>>2]=2-DA,Z[tA+28>>2]=2-(AA>>>5|0),gA=gA+1|0}function GA(z,iA,tA){var AA=0,gA=0,nA=0,oA=0;return gA=31&(nA=oA=63&tA),nA=nA>>>0>=32?-1>>>gA|0:(AA=-1>>>gA|0)|(1<<gA)-1<<32-gA,nA&=z,AA&=iA,gA=31&oA,oA>>>0>=32?(AA=nA<<gA,oA=0):(AA=(1<<gA)-1&nA>>>32-gA|AA<<gA,oA=nA<<gA),nA=AA,AA=31&(gA=0-tA&63),gA>>>0>=32?(AA=-1<<AA,tA=0):AA=(tA=-1<<AA)|(1<<AA)-1&-1>>>32-AA,z&=tA,iA&=AA,AA=31&gA,gA>>>0>=32?(tA=0,z=iA>>>AA|0):(tA=iA>>>AA|0,z=((1<<AA)-1&iA)<<32-AA|z>>>AA),dA=tA|nA,z|=oA}function r0(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0;for(tA=128;iA=0,tA;){for(;iA>>>0<=255;){for(oA=iA>>>0>(AA=iA+tA|0)>>>0?iA:AA,QA=(AA=Z[1312+((sA=sA+1|0)<<2)>>2])>>31;(0|iA)!=(0|oA);)nA=xi(_e(nA=Z[(gA=(iA+tA<<2)+z|0)>>2],nA>>31,AA,QA),dA),hA=gA,BA=Z[(gA=(iA<<2)+z|0)>>2],Z[hA>>2]=BA-nA,Z[gA>>2]=nA+BA,iA=iA+1|0;iA=tA+oA|0}tA=tA>>>1|0}}function $0(z,iA){var tA,AA=0,gA=0,nA=0;AA=Z[z+200>>2],tA=Z[(gA=z+(-8&AA)|0)+4>>2],AA=31&(nA=AA<<3),(63&nA)>>>0>=32?(nA=31<<AA,AA=0):(nA=(1<<AA)-1&31>>>32-AA,AA=31<<AA),Z[gA>>2]=AA^Z[gA>>2],Z[gA+4>>2]=nA^tA,nA=Z[(iA=(-8&(AA=iA-1|0))+z|0)+4>>2],AA=31&(gA=AA<<3&56),(63&gA)>>>0>=32?(gA=128<<AA,AA=0):(gA=(1<<AA)-1&128>>>32-AA,AA=128<<AA),Z[iA>>2]=AA^Z[iA>>2],Z[iA+4>>2]=gA^nA,Z[z+200>>2]=0,Z[z+204>>2]=0}function Ag(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0;(0|AA)!=32;)sA=Z[(tA=(AA<<5)+iA|0)+16>>2],BA=Z[tA+12>>2],gA=Z[tA+28>>2],QA=Z[tA+20>>2],hA=Z[tA+24>>2],nA=wA(AA,3)+z|0,oA=16-(Z[tA+4>>2]<<3)|2-Z[tA>>2],tA=2-Z[tA+8>>2]|0,CA[0|nA]=oA|tA<<6,oA=64-(gA<<5)|0,gA=2-QA|0,CA[nA+2|0]=oA|8-(hA<<2)|(254&gA)>>>1,CA[nA+1|0]=32-(sA<<4)|4-(BA<<1)|(252&tA)>>>2|gA<<7,AA=AA+1|0}function tg(z,iA,tA){var AA,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0;AA=Z[tA>>2];A:for(;;){if(iA)for(JA(AA),tA=0;;){if((0|tA)==17){iA=iA-1|0,z=z+136|0;continue A}for(QA=(gA=tA<<3)+z|0,hA=Z[(gA=gA+AA|0)>>2],sA=Z[gA+4>>2],nA=0,gA=0;(0|nA)!=8|gA;)oA=31&(BA=nA<<3),CA[nA+QA|0]=(63&BA)>>>0>=32?sA>>>oA|0:((1<<oA)-1&sA)<<32-oA|hA>>>oA,gA=(nA=nA+1|0)?gA:gA+1|0;tA=tA+1|0}break}}function eg(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0;(0|oA)!=128;)gA=(oA<<3)+z|0,tA=wA(oA,5)+iA|0,AA=fA[0|tA],Z[gA>>2]=AA,AA|=fA[tA+1|0]<<8,Z[gA>>2]=AA,AA|=fA[tA+2|0]<<16&983040,Z[gA>>2]=AA,nA=fA[tA+2|0]>>>4|0,Z[gA+4>>2]=nA,nA|=fA[tA+3|0]<<4,Z[gA+4>>2]=nA,tA=fA[tA+4|0],Z[gA>>2]=524288-AA,Z[gA+4>>2]=524288-(nA|tA<<12),oA=oA+1|0}function ig(z,iA,tA){for(var AA=0,gA=0,nA=0,oA=0;!(iA>>>0<=AA>>>0|nA>>>0>135);)oA=(gA=fA[tA+nA|0])>>>4|0,nA=nA+1|0,(0|(gA&=15))!=15&&(Z[(AA<<2)+z>>2]=2+(wA(wA(gA,205)>>>10|0,5)-gA|0),AA=AA+1|0),(0|oA)==15|iA>>>0<=AA>>>0||(Z[(AA<<2)+z>>2]=2+(wA(wA(oA,205)>>>10|0,5)-oA|0),AA=AA+1|0);return AA}function n0(z,iA,tA){for(var AA=0,gA=0,nA=0,oA=0,sA=0,BA=0;(0|AA)!=8;){for(SA=gA=SA-1024|0,wi(oA=(AA<<10)+z|0,sA=wA(AA,7168)+iA|0,tA),nA=1;(0|nA)!=7;)wi(gA,(BA=nA<<10)+sA|0,tA+BA|0),o0(oA,oA,gA),nA=nA+1|0;SA=gA+1024|0,AA=AA+1|0}}function gg(z,iA,tA,AA){for(var gA=0,nA=0,oA=0,sA=0;!(iA>>>0<=nA>>>0||(gA=sA+3|0)>>>0>AA>>>0);)oA=tA+sA|0,sA=gA,(gA=fA[oA+2|0]<<16&8323072|fA[0|oA]|fA[oA+1|0]<<8)>>>0>8380416||(Z[(nA<<2)+z>>2]=gA,nA=nA+1|0);return nA}function rg(z){for(var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0;!(!gA&(0|tA)==8);)nA=fA[z+tA|0],iA=31&(AA=tA<<3),(63&AA)>>>0>=32?(AA=nA<<iA,iA=0):(AA=(1<<iA)-1&nA>>>32-iA,iA=nA<<iA),oA|=iA,sA|=AA,gA=(tA=tA+1|0)?gA:gA+1|0;return dA=sA,oA}function _e(z,iA,tA,AA){var gA,nA,oA,sA,BA=0,QA=0;return sA=wA(BA=tA>>>16|0,QA=z>>>16|0),BA=(65535&(QA=((oA=wA(gA=65535&tA,nA=65535&z))>>>16|0)+wA(QA,gA)|0))+wA(BA,nA)|0,dA=(wA(iA,tA)+sA|0)+wA(z,AA)+(QA>>>16)+(BA>>>16)|0,65535&oA|BA<<16}function ng(z,iA,tA){for(var AA=0,gA=0,nA=0,oA=0,sA=0,BA=0;(0|gA)!=8;){for(oA=(AA=gA<<10)+z|0,sA=iA+AA|0,BA=tA+AA|0,AA=0;(0|AA)!=256;)Z[oA+(nA=AA<<2)>>2]=Z[nA+sA>>2]-Z[nA+BA>>2],AA=AA+1|0;gA=gA+1|0}}function Ig(z,iA,tA){var AA,gA;for(SA=AA=SA-160|0,Qg(gA=AA+12|0,iA,tA),Xt(iA=AA+16|0,136,gA),tA=ig(z,256,iA);tA>>>0<=255;)Xt(iA=AA+16|0,136,AA+12|0),tA=ig((tA<<2)+z|0,256-tA|0,iA)+tA|0;ae(AA+12|0),SA=AA+160|0}function og(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0;(0|AA)!=8;){for(nA=(AA<<7)+z|0,oA=(AA<<10)+iA|0,tA=0;(0|tA)!=128;)gA=(tA<<3)+oA|0,CA[tA+nA|0]=Z[gA+4>>2]<<4|Z[gA>>2],tA=tA+1|0;AA=AA+1|0}}function I0(z){for(var iA=0,tA=0,AA=0,gA=0,nA=0;(0|tA)!=8;){for(nA=(tA<<10)+z|0,iA=0;(0|iA)!=256;)gA=Z[(AA=(iA<<2)+nA|0)>>2],Z[AA>>2]=gA+(gA>>31&8380417),iA=iA+1|0;tA=tA+1|0}}function pe(z){var iA=0,tA=0;for(iA=z,z=OA(208),Z[iA>>2]=z,z||(pA(111),cA());(0|tA)!=25;)Z[(iA=z+(tA<<3)|0)>>2]=0,Z[iA+4>>2]=0,tA=tA+1|0;Z[z+200>>2]=0,Z[z+204>>2]=0}function wi(z,iA,tA){for(var AA=0,gA=0,nA=0;(0|gA)!=256;)AA=_e(AA=Z[(nA=gA<<2)+tA>>2],AA>>31,AA=Z[iA+nA>>2],AA>>31),Z[z+nA>>2]=xi(AA,dA),gA=gA+1|0}function je(z){var iA,tA;return(z=(iA=Z[584])+(tA=z+7&-8)|0)>>>0<=iA>>>0&&tA||z>>>0>(uA.byteLength/65536|0)<<16>>>0&&!(0|zA(0|z))?(Z[775]=48,-1):(Z[584]=z,iA)}function sg(z,iA){var tA=0,AA=0;if((0|iA)<=1047552)for(;;){if((0|AA)==256)return 0;if(tA=AA<<2,AA=AA+1|0,!(((tA=Z[z+tA>>2])-(tA<<1&tA>>31)|0)<(0|iA)))break}return 1}function ag(z){for(var iA=0,tA=0,AA=0;(0|iA)!=256;)AA=Z[(tA=(iA<<2)+z|0)>>2],Z[tA>>2]=AA+wA(AA+4194304>>23,-8380417),iA=iA+1|0}function Bg(z,iA){var tA;return tA=z,z=wA(iA+127>>7,1025)+2097152>>>22&15,iA=wA(z,-523776)+iA|0,Z[tA>>2]=((0|iA)>4190208?-8380417:0)+iA,z}function Cg(z){for(var iA=0,tA=0;;){if((0|iA)==7)return 0;if(tA=iA<<10,iA=iA+1|0,sg(z+tA|0,524168))break}return 1}function cg(z,iA){for(var tA=0,AA=0;;){if((0|tA)==8)return 0;if(AA=tA<<10,tA=tA+1|0,sg(z+AA|0,iA))break}return 1}function o0(z,iA,tA){for(var AA=0,gA=0;(0|AA)!=256;)Z[(gA=AA<<2)+z>>2]=Z[tA+gA>>2]+Z[iA+gA>>2],AA=AA+1|0}function Qg(z,iA,tA){var AA;SA=AA=SA-16|0,CA[AA+14|0]=tA,CA[AA+15|0]=tA>>>8,pe(z),Dt(z,iA,64),Dt(z,AA+14|0,2),Te(z),SA=AA+16|0}function xi(z,iA){var tA=0;return _e(z,iA,0,58728449),tA=_e(tA=dA,tA>>31,-8380417,-1),iA=iA+dA|0,z+tA>>>0<z>>>0?iA+1|0:iA}function fg(z,iA,tA){for(var AA=0,gA=0;(0|AA)!=8;)o0((gA=AA<<10)+z|0,iA+gA|0,tA+gA|0),AA=AA+1|0}function s0(z,iA,tA){for(var AA=0,gA=0;(0|AA)!=8;)wi((gA=AA<<10)+z|0,iA,tA+gA|0),AA=AA+1|0}function Eg(z,iA){var tA=0;for(tA=7168;CA[0|z]=fA[0|iA],z=z+1|0,iA=iA+1|0,tA=tA-1|0;);}function ug(z,iA){for(var tA=0;(0|iA)!=(0|tA);)r0((tA<<10)+z|0),tA=tA+1|0}function Ii(z){for(var iA=0;(0|iA)!=8;)ag((iA<<10)+z|0),iA=iA+1|0}function oi(z){for(var iA=0;(0|iA)!=8;)Z0((iA<<10)+z|0),iA=iA+1|0}function Mt(z){var iA;return(-1>>>(iA=31&z)&-2)<<iA|(-1<<(z=0-z&31)&-2)>>>z}function a0(z){return z?31-LA(z-1^z)|0:32}function hg(z,iA,tA){Lt(z,iA,Z[tA>>2],168)}function yg(z,iA,tA){ut(Z[z>>2],168,iA,tA)}function Xt(z,iA,tA){Lt(z,iA,Z[tA>>2],136)}function Dt(z,iA,tA){ut(Z[z>>2],136,iA,tA)}function Te(z){$0(Z[z>>2],136)}function ae(z){Ct(Z[z>>2])}function B0(z){ug(z,8)}function Gi(z){ug(z,7)}aA(eA=fA,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),aA(eA,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"),aA(eA,2336,"EA6A");var C0,Yn=((C0=[]).set=function(z,iA){this[z]=iA},C0.get=function(z){return this[z]},C0);return{e:function(){},f:Yn,g:OA,h:Ct,i:function(){var z;SA=z=SA-16|0,CA[z+15|0]=0,XA(2376,z+15|0,0),SA=z+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(z,iA){z|=0,iA|=0;var tA,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0;for(SA=tA=SA-96416|0,sA=tA+96288|0;(0|gA)!=32;)SA=oA=SA-16|0,CA[oA+15|0]=0,BA=0|XA(2340,oA+15|0,0),SA=oA+16|0,CA[gA+sA|0]=BA,gA=gA+1|0;for(Et(sA,128,sA,32),Wt(oA=tA+38912|0,sA),DA=tA+31744|0,gA=tA+96320|0;(0|AA)!=7;)Ig(DA+(AA<<10)|0,gA,65535&nA),AA=AA+1|0,nA=nA+1|0;for(kA=tA+16384|0,AA=0,nA=7;(0|AA)!=8;)Ig(kA+(AA<<10)|0,gA,65535&nA),AA=AA+1|0,nA=nA+1|0;for(Eg(AA=tA+24576|0,DA),Gi(AA),n0(nA=tA- -8192|0,oA,AA),Ii(nA),oi(nA),fg(nA,nA,kA),I0(nA),AA=0;(0|AA)!=8;){for(MA=(gA=AA<<10)+nA|0,QA=gA+tA|0,hA=gA+nA|0,gA=0;(0|gA)!=256;)BA=(KA=Z[(oA=gA<<2)+hA>>2])+4095|0,Z[oA+QA>>2]=KA-(-8192&BA),Z[oA+MA>>2]=BA>>13,gA=gA+1|0;AA=AA+1|0}for(AA=0;(0|AA)!=32;)CA[z+AA|0]=fA[AA+sA|0],AA=AA+1|0;for(MA=z+32|0,AA=0;(0|AA)!=8;){for(QA=MA+wA(AA,320)|0,hA=nA+(AA<<10)|0,oA=0;(0|oA)!=64;)BA=QA+wA(oA,5)|0,gA=hA+(oA<<4)|0,CA[0|BA]=Z[gA>>2],CA[BA+1|0]=Z[gA+4>>2]<<2|Z[gA>>2]>>>8,CA[BA+2|0]=Z[gA+8>>2]<<4|Z[gA+4>>2]>>>6,CA[BA+3|0]=Z[gA+12>>2]<<6|Z[gA+8>>2]>>>4,CA[BA+4|0]=Z[gA+12>>2]>>>2,oA=oA+1|0;AA=AA+1|0}for(Et(nA=tA+96256|0,32,z,2592),z=tA+96384|0,AA=0;(0|AA)!=32;)CA[iA+AA|0]=fA[AA+sA|0],AA=AA+1|0;for(gA=iA+32|0,AA=0;(0|AA)!=32;)CA[AA+gA|0]=fA[z+AA|0],AA=AA+1|0;for(z=iA- -64|0,AA=0;(0|AA)!=32;)CA[z+AA|0]=fA[AA+nA|0],AA=AA+1|0;for(z=iA+96|0,AA=0;(0|AA)!=7;)Ag(z+wA(AA,96)|0,DA+(AA<<10)|0),AA=AA+1|0;for(z=iA+768|0,AA=0;(0|AA)!=8;)Ag(z+wA(AA,96)|0,kA+(AA<<10)|0),AA=AA+1|0;for(BA=iA+1536|0,AA=0;(0|AA)!=8;){for(DA=BA+wA(AA,416)|0,kA=(AA<<10)+tA|0,nA=0;(0|nA)!=32;)MA=Z[(iA=kA+(nA<<5)|0)+20>>2],QA=Z[iA+8>>2],hA=Z[iA+28>>2],oA=Z[iA+24>>2],sA=Z[iA+16>>2],gA=Z[iA+12>>2],KA=Z[iA+4>>2],z=DA+wA(nA,13)|0,vA=4096-Z[iA>>2]|0,CA[0|z]=vA,iA=4096-KA|0,CA[z+2|0]=iA>>>3,gA=4096-gA|0,CA[z+5|0]=gA>>>1,sA=4096-sA|0,CA[z+7|0]=sA>>>4,oA=4096-oA|0,CA[z+10|0]=oA>>>2,hA=4096-hA|0,CA[z+12|0]=hA>>>5,CA[z+1|0]=iA<<5|vA>>>8,QA=4096-QA|0,CA[z+3|0]=QA<<2|iA>>>11,CA[z+4|0]=gA<<7|QA>>>6,CA[z+6|0]=sA<<4|gA>>>9,iA=4096-MA|0,CA[z+8|0]=iA<<1|sA>>>12,CA[z+9|0]=oA<<6|iA>>>7,CA[z+11|0]=hA<<3|oA>>>10,nA=nA+1|0;AA=AA+1|0}return SA=tA+96416|0,0},n:function(z,iA,tA,AA){iA|=0,tA|=0,AA|=0;var gA,nA,oA,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0,_A=0,jA=0,$A=0,At=0,PA=0,VA=0,WA=0,it=0,gt=0,rt=0,nt=0;for(nA=(z|=0)+2|0,SA=gA=(SA=oA=SA-16|0)-121072|0,BA=$A=gA+120848|0,QA=At=gA+120880|0,hA=gA+120912|0,DA=gA+33808|0,kA=gA+56336|0,MA=gA+25616|0;(0|sA)!=32;)CA[sA+BA|0]=fA[AA+sA|0],sA=sA+1|0;for(BA=AA+32|0,sA=0;(0|sA)!=32;)CA[sA+hA|0]=fA[sA+BA|0],sA=sA+1|0;for(BA=AA- -64|0,sA=0;(0|sA)!=32;)CA[sA+QA|0]=fA[sA+BA|0],sA=sA+1|0;for(BA=AA+96|0,sA=0;(0|sA)!=7;)z0(kA+(sA<<10)|0,BA+wA(sA,96)|0),sA=sA+1|0;for(BA=AA+768|0,sA=0;(0|sA)!=8;)z0(MA+(sA<<10)|0,BA+wA(sA,96)|0),sA=sA+1|0;for(it=AA+1536|0,sA=0;(0|sA)!=8;){for(gt=DA+(sA<<10)|0,rt=it+wA(sA,416)|0,QA=0;(0|QA)!=32;)AA=gt+(QA<<5)|0,BA=rt+wA(QA,13)|0,PA=fA[0|BA],Z[AA>>2]=PA,PA|=fA[BA+1|0]<<8&7936,Z[AA>>2]=PA,KA=fA[BA+1|0]>>>5|0,Z[AA+4>>2]=KA,KA|=fA[BA+2|0]<<3,Z[AA+4>>2]=KA,KA|=fA[BA+3|0]<<11&6144,Z[AA+4>>2]=KA,VA=fA[BA+3|0]>>>2|0,Z[AA+8>>2]=VA,VA|=fA[BA+4|0]<<6&8128,Z[AA+8>>2]=VA,vA=fA[BA+4|0]>>>7|0,Z[AA+12>>2]=vA,vA|=fA[BA+5|0]<<1,Z[AA+12>>2]=vA,vA|=fA[BA+6|0]<<9&7680,Z[AA+12>>2]=vA,_A=fA[BA+6|0]>>>4|0,Z[AA+16>>2]=_A,_A|=fA[BA+7|0]<<4,Z[AA+16>>2]=_A,_A|=fA[BA+8|0]<<12&4096,Z[AA+16>>2]=_A,WA=fA[BA+8|0]>>>1|0,Z[AA+20>>2]=WA,WA|=fA[BA+9|0]<<7&8064,Z[AA+20>>2]=WA,jA=fA[BA+9|0]>>>6|0,Z[AA+24>>2]=jA,jA|=fA[BA+10|0]<<2,Z[AA+24>>2]=jA,jA|=fA[BA+11|0]<<10&7168,Z[AA+24>>2]=jA,nt=fA[BA+11|0]>>>3|0,Z[AA+28>>2]=nt,BA=fA[BA+12|0],Z[AA+4>>2]=4096-KA,Z[AA>>2]=4096-PA,Z[AA+8>>2]=4096-VA,Z[AA+12>>2]=4096-vA,Z[AA+16>>2]=4096-_A,Z[AA+20>>2]=4096-WA,Z[AA+24>>2]=4096-jA,Z[AA+28>>2]=4096-(BA<<5|nt),QA=QA+1|0;sA=sA+1|0}for(pe(AA=gA+12|0),Dt(AA,At,32),Dt(AA,iA,tA),Te(AA),Xt(At=gA+120944|0,64,AA),ae(AA),Et(it=gA+121008|0,64,hA,96),Wt(gA+63504|0,$A),Gi(kA),B0(MA),B0(DA),sA=0;;){for(BA=gA+49168|0,QA=wA(65535&sA,7),iA=0;(0|iA)!=7;)SA=tA=SA-704|0,Qg(AA=tA+12|0,it,iA+QA&65535),Xt(hA=tA+16|0,680,AA),ae(AA),eg(BA+(iA<<10)|0,hA),SA=tA+704|0,iA=iA+1|0;for(Eg(AA=gA+42e3|0,BA),Gi(AA),n0(iA=gA+17424|0,gA+63504|0,AA),Ii(iA),oi(iA),I0(iA),DA=gA+9232|0,tA=0;(0|tA)!=8;){for(kA=(QA=tA<<10)+iA|0,MA=QA+DA|0,$A=iA+QA|0,QA=0;(0|QA)!=256;)Z[(hA=QA<<2)+kA>>2]=Bg(hA+MA|0,Z[hA+$A>>2]),QA=QA+1|0;tA=tA+1|0}for(og(nA,iA),pe(iA=gA+12|0),Dt(iA,At,64),Dt(iA,nA,1024),Te(iA),Xt(nA,32,iA),ae(iA),Oe(iA=gA+16|0,nA),sA=sA+1|0,r0(iA),QA=gA+56336|0,tA=0;(0|tA)!=7;)wi((hA=tA<<10)+AA|0,iA,QA+hA|0),tA=tA+1|0;for(iA=0;(0|iA)!=7;)Z0(AA+(iA<<10)|0),iA=iA+1|0;for(iA=0;(0|iA)!=7;)o0((tA=iA<<10)+AA|0,tA+AA|0,tA+BA|0),iA=iA+1|0;for(tA=0;(0|tA)!=7;)ag(AA+(tA<<10)|0),tA=tA+1|0;if(!Cg(AA)&&(s0(tA=gA+1040|0,gA+16|0,gA+25616|0),oi(tA),ng(iA=gA+9232|0,iA,tA),Ii(iA),!cg(iA,261768)&&(s0(iA=gA+1040|0,gA+16|0,gA+33808|0),oi(iA),Ii(iA),!cg(iA,261888)))){for(fg(BA=gA+9232|0,BA,kA=gA+1040|0),MA=gA+17424|0,iA=0,tA=0;(0|iA)!=8;){for($A=(AA=iA<<10)+kA|0,gt=AA+BA|0,rt=AA+MA|0,AA=0,QA=0;(0|AA)!=256;)DA=(0|(DA=Z[(hA=AA<<2)+gt>>2]))==-261888&Z[hA+rt>>2]!=0|DA-261889>>>0<4294443519,Z[hA+$A>>2]=DA,QA=QA+DA|0,AA=AA+1|0;tA=tA+QA|0,iA=iA+1|0}if(!(tA>>>0>75))break}}for(QA=gA+42e3|0,hA=gA+1040|0,iA=0;(0|iA)!=32;)CA[0|(tA=iA+nA|0)]=fA[0|tA],iA=iA+1|0;for(DA=nA+32|0,iA=0;(0|iA)!=7;){for(kA=DA+wA(iA,640)|0,MA=QA+(iA<<10)|0,tA=0;(0|tA)!=128;)BA=Z[(sA=MA+(tA<<3)|0)+4>>2],AA=kA+wA(tA,5)|0,sA=524288-Z[sA>>2]|0,CA[0|AA]=sA,CA[AA+1|0]=sA>>>8,BA=524288-BA|0,CA[AA+3|0]=BA>>>4,CA[AA+4|0]=BA>>>12,CA[AA+2|0]=BA<<4|sA>>>16,tA=tA+1|0;iA=iA+1|0}for(sA=nA+4512|0,tA=0,iA=0;;){if((0|iA)==83){for(AA=0;(0|tA)!=8;){for(BA=hA+(tA<<10)|0,iA=0;(0|iA)!=256;)Z[BA+(iA<<2)>>2]&&(CA[AA+sA|0]=iA,AA=AA+1|0),iA=iA+1|0;CA[75+(tA+sA|0)|0]=AA,tA=tA+1|0}break}CA[iA+sA|0]=0,iA=iA+1|0}return Z[oA+12>>2]=4595,SA=gA+121072|0,lA[z>>1]=Z[oA+12>>2],SA=oA+16|0,0},o:function(z,iA,tA,AA){z|=0,iA|=0,AA|=0;var gA,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0;sA=(tA|=0)+2|0,nA=HA[tA>>1],QA=z,oA=iA,tA=0,SA=gA=SA-91312|0,KA=-1;A:if((0|nA)==4595){for(z=gA+90256|0,kA=gA+16400|0,iA=0;(0|iA)!=32;)CA[z+iA|0]=fA[iA+AA|0],iA=iA+1|0;for(hA=AA+32|0,iA=0;(0|iA)!=8;){for(DA=kA+(iA<<10)|0,MA=hA+wA(iA,320)|0,nA=0;(0|nA)!=64;)BA=DA+(nA<<4)|0,z=wA(nA,5)+MA|0,Z[BA>>2]=fA[z+1|0]<<8&768|fA[0|z],Z[BA+4>>2]=fA[z+2|0]<<6&960|fA[z+1|0]>>>2,Z[BA+8>>2]=fA[z+3|0]<<4&1008|fA[z+2|0]>>>4,Z[BA+12>>2]=fA[z+4|0]<<2|fA[z+3|0]>>>6,nA=nA+1|0;iA=iA+1|0}for(z=gA+90160|0,iA=gA+24592|0,kA=gA+16|0;(0|tA)!=32;)CA[z+tA|0]=fA[tA+sA|0],tA=tA+1|0;for(z=sA+32|0,tA=0;(0|tA)!=7;)eg(iA+(tA<<10)|0,z+wA(tA,640)|0),tA=tA+1|0;sA=sA+4512|0,nA=0,z=0;e:{for(;;){t:if((0|nA)!=8){for(BA=kA+(nA<<10)|0,tA=0;(0|tA)!=256;)Z[BA+(tA<<2)>>2]=0,tA=tA+1|0;if(!((iA=fA[(hA=nA+sA|0)+75|0])>>>0>75||(tA=z,iA>>>0<z>>>0))){for(;iA>>>0>tA>>>0;){if(z>>>0<tA>>>0&(iA=fA[0|(DA=tA+sA|0)])>>>0<=fA[DA-1|0])break t;Z[BA+(iA<<2)>>2]=1,tA=tA+1|0,iA=fA[hA+75|0]}nA=nA+1|0,z=iA;continue}}else for(tA=z>>>0<=75?75:z;;){if(iA=0,(0|z)==(0|tA))break e;if(iA=z+sA|0,z=z+1|0,fA[0|iA])break}break}iA=1}if(!iA&&!Cg(gA+24592|0)){for(Et(nA=gA+90192|0,32,AA,2592),pe(z=gA+12|0),Dt(z,nA,32),Dt(z,QA,oA),Te(z),Xt(nA,64,z),ae(z),Oe(oA=gA+89104|0,gA+90160|0),Wt(iA=gA+31760|0,gA+90256|0),Gi(AA=gA+24592|0),n0(tA=gA+8208|0,iA,AA),r0(oA),AA=gA+16400|0,iA=0;(0|iA)!=8;){for(sA=AA+(iA<<10)|0,QA=0;(0|QA)!=256;)Z[(BA=sA+(QA<<2)|0)>>2]=Z[BA>>2]<<13,QA=QA+1|0;iA=iA+1|0}for(B0(AA),s0(AA,oA,AA),ng(tA,tA,AA),Ii(tA),oi(tA),I0(tA),BA=gA+16|0,AA=0;(0|AA)!=8;){for(kA=(iA=AA<<10)+tA|0,hA=iA+tA|0,DA=iA+BA|0,iA=0;(0|iA)!=256;)MA=(oA=iA<<2)+kA|0,vA=Z[oA+DA>>2],SA=QA=SA-16|0,oA=sA=Bg(QA+12|0,Z[oA+hA>>2]),vA&&(oA=sA+1&15,Z[QA+12>>2]>0||(oA=sA-1&15)),SA=QA+16|0,Z[MA>>2]=oA,iA=iA+1|0;AA=AA+1|0}for(og(iA=gA+90288|0,tA),pe(z),Dt(z,nA,64),Dt(z,iA,1024),Te(z),Xt(gA+90128|0,32,z),ae(z),iA=0;;){if((0|iA)==32){KA=0;break A}if(z=(gA+90128|0)+iA|0,tA=(gA+90160|0)+iA|0,iA=iA+1|0,fA[0|tA]!=fA[0|z])break}}}return SA=gA+91312|0,0|KA}}})($)})(_)},instantiate:function(X,_){return{then:function($){var eA=new c.Module(X);$({instance:new c.Instance(eA,_)})}}},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(X){throw C.onAbort&&C.onAbort(X),e(X="Aborted("+X+")"),s=!0,X+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(X)}var M,J,q="data:application/octet-stream;base64,";function l(X){return X.startsWith(q)}function m(X){return X.startsWith("file://")}function L(X){return Promise.resolve().then((function(){return(function(_){if(_==M&&a)return new Uint8Array(a);var $=P(_);if($)return $;if(g)return g(_);throw"both async and sync fetching of the wasm failed"})(X)}))}function p(X,_,$,eA){return(function(rA,IA,aA){return L(rA).then((function(cA){return c.instantiate(cA,IA)})).then((function(cA){return cA})).then(aA,(function(cA){e("failed to asynchronously prepare wasm: "+cA),d(cA)}))})(_,$,eA)}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 X=new Uint32Array(1);return g.getRandomValues(X),X[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var X=Q.randomBytes(4);return(X[0]<<24|X[1]<<16|X[2]<<8|X[3])>>>0};i(),C.getRandomValue=i}catch(X){throw"No secure random number generator found"}}}};function b(X){this.name="ExitStatus",this.message="Program terminated with exit(".concat(X,")"),this.status=X}var v=function(X){for(;X.length>0;)X.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(X,_,$){var eA=(function(rA,IA){var aA;for(O.length=0,IA>>=2;aA=h[rA++];)IA+=aA!=105&IA,O.push(aA==105?y[IA]:u[IA++>>1]),++IA;return O})(_,$);return K[X].apply(null,eA)},x=function(X){D||(C.onExit&&C.onExit(X),s=!0),Q(X,new b(X))},W={c:function(X,_,$){return T(X,_,$)},d:function(X){h.length,d("OOM")},b:function(X,_){x(X)},a:f};(function(){var X={a:W};function _($,eA){var rA,IA=$.exports;return C.asm=IA,C.asm.f,rA=C.asm.e,S.unshift(rA),(function(aA){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var cA=R;R=null,cA()}})(),IA}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(X,_)}catch($){return e("Module.instantiateWasm callback failed with error: "+$),!1}p(0,M,X,(function($){_($.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(X){if(l(X))return(function(_){if(o!==void 0&&o){var $=Buffer.from(_,"base64");return new Uint8Array($.buffer,$.byteOffset,$.byteLength)}try{for(var eA=atob(_),rA=new Uint8Array(eA.length),IA=0;IA<eA.length;++IA)rA[IA]=eA.charCodeAt(IA);return rA}catch{throw new Error("Converting base64 string to bytes failed.")}})(X.slice(q.length))}function V(){function X(){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),X()}),1)):X()))}if(C.writeArrayToMemory=function(X,_){G.set(X,_)},R=function X(){j||V(),j||(R=X)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(X,_){C.onAbort=_,C.onRuntimeInitialized=function(){X(C)}}))})).then((function(X){Object.keys(X).forEach((function(_){C[_]=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 X=C._malloc(A),_=C._malloc(I);try{return B(C._dilithiumjs_keypair(X,_),{publicKey:Q(X,A),privateKey:Q(_,I)})}finally{i(X),i(_)}}))},sign:function(X,_){return o.signDetached(X,_).then((function($){var eA=new Uint8Array(g+X.length);return eA.set($),eA.set(X,g),eA}))},signDetached:function(X,_){return E.then((function(){var $=C._malloc(g),eA=C._malloc(X.length),rA=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),$),C.writeArrayToMemory(X,eA),C.writeArrayToMemory(_,rA);try{return B(C._dilithiumjs_sign($,eA,X.length,rA),Q($,g))}finally{i($),i(eA),i(rA)}}))},open:function(X,_){return E.then((function(){var $=new Uint8Array(X.buffer,X.byteOffset,g),eA=new Uint8Array(X.buffer,X.byteOffset+g,X.length-g);return o.verifyDetached($,eA,_).then((function(rA){if(rA)return eA;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(X,_,$){return E.then((function(){var eA=C._malloc(g),rA=C._malloc(_.length),IA=C._malloc(A);C.writeArrayToMemory(X,eA),C.writeArrayToMemory(_,rA),C.writeArrayToMemory($,IA);try{return C._dilithiumjs_verify(rA,_.length,eA,IA)===0}finally{i(eA),i(rA),i(IA)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var Un=ot(dt=>{"use strict";mA();var lo=dt&&dt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),Do=dt&&dt.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),bo=dt&&dt.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var rA in $)Object.prototype.hasOwnProperty.call($,rA)&&(eA[eA.length]=rA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),rA=0;rA<eA.length;rA++)eA[rA]!=="default"&&lo($,_,eA[rA]);return Do($,_),$}})();Object.defineProperty(dt,"__esModule",{value:!0});dt.MlDsaSuite=dt.MlDsa87Suite=void 0;var t0=ui(),T0=null;async function P0(){return T0||(T0=await Promise.resolve().then(()=>bo(Fn()))),T0}var e0=class{constructor(){bA(this,"suiteId","ml-dsa-87");bA(this,"version","1.0.0")}async generateKeypair(){try{let $=await(await P0()).keyPair();return{publicKey:new Uint8Array($.publicKey),privateKey:new Uint8Array($.privateKey)}}catch(_){throw new Error(`ML-DSA-87 key generation failed: ${_ instanceof Error?_.message:String(_)}`)}}async sign(_,$){try{let rA=await(await P0()).signDetached(Buffer.from($),Buffer.from(_));return new Uint8Array(rA)}catch(eA){throw new Error(`ML-DSA-87 signing failed: ${eA instanceof Error?eA.message:String(eA)}`)}}async verify(_,$,eA){try{return await(await P0()).verifyDetached(Buffer.from(eA),Buffer.from($),Buffer.from(_))}catch{return!1}}exportPublicKey(_){return(0,t0.bytesToHex)(_)}importPublicKey(_){let $=(0,t0.hexToBytes)(_);if($.length!==2592)throw new Error(`ML-DSA-87 public key must be 2592 bytes, got ${$.length}`);return $}exportPrivateKey(_){return(0,t0.bytesToHex)(_)}importPrivateKey(_){let $=(0,t0.hexToBytes)(_);if($.length!==4864)throw new Error(`ML-DSA-87 private key must be 4864 bytes, got ${$.length}`);return $}};dt.MlDsa87Suite=e0;var V0=class{constructor(){bA(this,"suiteId","ml-dsa-65");bA(this,"version","1.0.0");bA(this,"impl",new e0)}async generateKeypair(){return this.impl.generateKeypair()}async sign(_,$){return this.impl.sign(_,$)}async verify(_,$,eA){return this.impl.verify(_,$,eA)}exportPublicKey(_){return this.impl.exportPublicKey(_)}importPublicKey(_){return this.impl.importPublicKey(_)}exportPrivateKey(_){return this.impl.exportPrivateKey(_)}importPrivateKey(_){return this.impl.importPrivateKey(_)}};dt.MlDsaSuite=V0});var i0=ot(tt=>{"use strict";mA();var po=tt&&tt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),pi=tt&&tt.__exportStar||function(X,_){for(var $ in X)$!=="default"&&!Object.prototype.hasOwnProperty.call(_,$)&&po(_,X,$)};Object.defineProperty(tt,"__esModule",{value:!0});tt.globalRegistry=tt.MlDsa87Suite=tt.MlDsaSuite=tt.BsvEcdsaSuite=void 0;pi(Vg(),tt);pi(E0(),tt);pi(ui(),tt);pi(pr(),tt);pi(wr(),tt);var wo=mn();Object.defineProperty(tt,"BsvEcdsaSuite",{enumerable:!0,get:function(){return wo.BsvEcdsaSuite}});var kn=Un();Object.defineProperty(tt,"MlDsaSuite",{enumerable:!0,get:function(){return kn.MlDsaSuite}});Object.defineProperty(tt,"MlDsa87Suite",{enumerable:!0,get:function(){return kn.MlDsa87Suite}});var xo=E0();Object.defineProperty(tt,"globalRegistry",{enumerable:!0,get:function(){return xo.globalRegistry}})});var So={};Q0(So,{InMemoryKeyStorage:()=>Nn.InMemoryKeyStorage,createKeySDK:()=>X0,default:()=>Go});mA();mA();var W0=f0(i0()),g0=class{constructor(_){this.keyCounter=new Map;this.keyRegistry=_.keyRegistry,this.suiteRegistry=_.suiteRegistry}async createKey(_,$,eA={}){let IA=await this.suiteRegistry.getSuite($.primarySignatureSuite).generateKeypair(),aA=this.getNextCounter(_),cA=$.primarySignatureSuite.split("-")[0],EA=`${_}:pk-${cA}-${aA}`;return{meta:await this.keyRegistry.registerKey(EA,IA,$.primarySignatureSuite,{expiresAt:eA.expiresAt,usage:eA.usage||["signing"],cryptoProfileVersion:eA.cryptoProfileVersion||"1.0.0"}),publicKey:IA.publicKey}}async getKey(_){let $=await this.keyRegistry.getPublicKey(_);return $?{meta:$.meta,publicKey:$.publicKey}:null}async signWithKey(_,$){let eA=await this.keyRegistry.getKey(_);if(!eA)throw new Error(`Key not found: ${_}`);if(eA.meta.status!=="active")throw new Error(`Key is not active: ${_} (status: ${eA.meta.status})`);let rA=this.suiteRegistry.getSuite(eA.meta.suiteId),IA=this.getHashAlgorithm(eA.meta.suiteId),aA=await(0,W0.hashBytes)($,IA);return await rA.sign(eA.keypair.privateKey,aA)}async verifySignature(_,$,eA){let rA=await this.keyRegistry.getPublicKey(_);if(!rA)return!1;let IA=this.suiteRegistry.getSuite(rA.meta.suiteId),aA=this.getHashAlgorithm(rA.meta.suiteId),cA=await(0,W0.hashBytes)($,aA);try{return await IA.verify(rA.publicKey,cA,eA)}catch{return!1}}async listKeysForAgent(_,$=!0){let rA=($?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(aA=>aA.keyId.startsWith(`${_}:`)),IA=[];for(let aA of rA){let cA=await this.keyRegistry.getPublicKey(aA.keyId);cA&&IA.push({meta:cA.meta,publicKey:cA.publicKey})}return IA}async getActiveCryptoProfile(_){let $=await this.listKeysForAgent(_,!0);if($.length===0)return null;let eA=new Set($.map(IA=>IA.meta.suiteId)),rA=Array.from(eA);return{primarySignatureSuite:rA[0],secondarySignatureSuite:rA[1]}}async rotateAgentKeys(_){let $=await this.listKeysForAgent(_,!0),eA=[];for(let rA of $){let aA=await this.suiteRegistry.getSuite(rA.meta.suiteId).generateKeypair(),cA=this.getNextCounter(_),EA=rA.meta.suiteId.split("-")[0],yA=`${_}:pk-${EA}-${cA}`,uA=await this.keyRegistry.rotateKey(rA.meta.keyId,yA,aA);eA.push({meta:uA,publicKey:aA.publicKey})}return eA}async getOrCreateKey(_,$,eA={}){let IA=(await this.listKeysForAgent(_,!0)).find(aA=>aA.meta.suiteId===$.primarySignatureSuite);return IA||await this.createKey(_,$,eA)}getHashAlgorithm(_){return _.startsWith("ml-dsa")?"sha3-256":"sha256"}getNextCounter(_){let eA=(this.keyCounter.get(_)||0)+1;return this.keyCounter.set(_,eA),eA}};var Vt=f0(i0());mA();var Nn=f0(i0());async function X0(){let X=new Vt.InMemoryKeyStorage,_=new Vt.KeyRegistry(X),$=new Vt.SignatureSuiteRegistry;return $.register(new Vt.BsvEcdsaSuite),$.register(new Vt.MlDsaSuite),new g0({keyRegistry:_,suiteRegistry:$})}var Go={createKeySDK:X0};typeof window<"u"&&(window.LumenKeys={createKeySDK:X0});return ai(So);})();
|
|
2
|
+
/*! Bundled license information:
|
|
3
|
+
|
|
4
|
+
@noble/hashes/utils.js:
|
|
5
|
+
@noble/hashes/utils.js:
|
|
6
|
+
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
7
|
+
|
|
8
|
+
@noble/secp256k1/index.js:
|
|
9
|
+
(*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
10
|
+
*/
|
|
11
|
+
//# sourceMappingURL=lumen-keys.min.js.map
|