@smartledger/keys 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -23
- package/README.md +535 -492
- package/dist/cjs/browser.d.ts.map +1 -1
- package/dist/cjs/browser.js +5 -2
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/sdk.d.ts +30 -1
- package/dist/cjs/sdk.d.ts.map +1 -1
- package/dist/cjs/sdk.js +127 -4
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/cjs/types.d.ts +47 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/browser.d.ts.map +1 -1
- package/dist/esm/browser.js +6 -3
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/sdk.d.ts +30 -1
- package/dist/esm/sdk.d.ts.map +1 -1
- package/dist/esm/sdk.js +127 -4
- package/dist/esm/sdk.js.map +1 -1
- package/dist/esm/types.d.ts +47 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/lumen-keys.js +157 -34
- package/dist/lumen-keys.js.map +3 -3
- package/dist/lumen-keys.min.js +3 -3
- package/dist/lumen-keys.min.js.map +3 -3
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +76 -76
package/dist/lumen-keys.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var LumenKeys=(()=>{var Sc=Object.create;var nn=Object.defineProperty;var Hc=Object.getOwnPropertyDescriptor;var kc=Object.getOwnPropertyNames;var Gc=Object.getPrototypeOf,vc=Object.prototype.hasOwnProperty;var Uc=(Z,_,z)=>_ in Z?nn(Z,_,{enumerable:!0,configurable:!0,writable:!0,value:z}):Z[_]=z;var cr=(Z,_)=>()=>(Z&&(_=Z(Z=0)),_);var Lc=(Z,_)=>()=>(_||Z((_={exports:{}}).exports,_),_.exports),Ts=(Z,_)=>{for(var z in _)nn(Z,z,{get:_[z],enumerable:!0})},_s=(Z,_,z,X)=>{if(_&&typeof _=="object"||typeof _=="function")for(let ee of kc(_))!vc.call(Z,ee)&&ee!==z&&nn(Z,ee,{get:()=>_[ee],enumerable:!(X=Hc(_,ee))||X.enumerable});return Z};var Nc=(Z,_,z)=>(z=Z!=null?Sc(Gc(Z)):{},_s(_||!Z||!Z.__esModule?nn(z,"default",{value:Z,enumerable:!0}):z,Z)),Fc=Z=>_s(nn({},"__esModule",{value:!0}),Z);var he=(Z,_,z)=>Uc(Z,typeof _!="symbol"?_+"":_,z);var Buffer,process,be=cr(()=>{"use strict";Buffer={from:function(Z,_){if(typeof Z=="string"){if(_==="base64"){let X=atob(Z),ee=new Uint8Array(X.length);for(let ne=0;ne<X.length;ne++)ee[ne]=X.charCodeAt(ne);return ee}return new TextEncoder().encode(Z)}return new Uint8Array(Z)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let Z=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(_){if(_==="base64"){let z="",X=new Uint8Array(this);for(let ee=0;ee<X.byteLength;ee++)z+=String.fromCharCode(X[ee]);return btoa(z)}return Z.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});function Yc(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function qo(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function Yr(Z,_,z=""){let X=Yc(Z),ee=Z?.length,ne=_!==void 0;if(!X||ne&&ee!==_){let ie=z&&`"${z}" `,ae=ne?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function Kr(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function Pn(Z,_){Yr(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function js(Z){return new Uint32Array(Z.buffer,Z.byteOffset,Math.floor(Z.byteLength/4))}function rA(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function Vn(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function jt(Z,_){return Z<<32-_|Z>>>_}function Mc(Z){return Z<<24&4278190080|Z<<8&16711680|Z>>>8&65280|Z>>>24&255}function qc(Z){for(let _=0;_<Z.length;_++)Z[_]=Mc(Z[_]);return Z}function on(Z,_={}){let z=(ee,ne)=>Z(ne).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}var Kc,Oo,sn,Wn=cr(()=>{be();Kc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Oo=Kc?Z=>Z:qc;sn=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])})});function Ps(Z,_,z){return Z&_^~Z&z}function Vs(Z,_,z){return Z&_^Z&z^_&z}var an,bA,Qt,Ws=cr(()=>{be();Wn();an=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=Vn(this.buffer)}update(_){Kr(this),Yr(_);let{view:z,buffer:X,blockLen:ee}=this,ne=_.length;for(let ie=0;ie<ne;){let ae=Math.min(ee-this.pos,ne-ie);if(ae===ee){let fe=Vn(_);for(;ee<=ne-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){Kr(this),Pn(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:ne}=this,{pos:ie}=this;z[ie++]=128,rA(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ge=ie;ge<ee;ge++)z[ge]=0;X.setBigUint64(ee-8,BigInt(this.length*8),ne),this.process(X,0);let ae=Vn(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let de=fe/4,Ce=this.get();if(de>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ge=0;ge<de;ge++)ae.setUint32(4*ge,Ce[ge],ne)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:ne,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=ne,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},bA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Qt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function Oc(Z,_=!1){return _?{h:Number(Z&Zn),l:Number(Z>>Zs&Zn)}:{h:Number(Z>>Zs&Zn)|0,l:Number(Z&Zn)|0}}function zn(Z,_=!1){let z=Z.length,X=new Uint32Array(z),ee=new Uint32Array(z);for(let ne=0;ne<z;ne++){let{h:ie,l:ae}=Oc(Z[ne],_);[X[ne],ee[ne]]=[ie,ae]}return[X,ee]}function nA(Z,_,z,X){let ee=(_>>>0)+(X>>>0);return{h:Z+z+(ee/2**32|0)|0,l:ee|0}}var Zn,Zs,Jo,To,fr,ur,cn,gn,zs,Xs,$s,e0,t0,A0,r0,n0,o0,i0,_o=cr(()=>{be();Zn=BigInt(4294967295),Zs=BigInt(32);Jo=(Z,_,z)=>Z>>>z,To=(Z,_,z)=>Z<<32-z|_>>>z,fr=(Z,_,z)=>Z>>>z|_<<32-z,ur=(Z,_,z)=>Z<<32-z|_>>>z,cn=(Z,_,z)=>Z<<64-z|_>>>z-32,gn=(Z,_,z)=>Z>>>z-32|_<<64-z,zs=(Z,_,z)=>Z<<z|_>>>32-z,Xs=(Z,_,z)=>_<<z|Z>>>32-z,$s=(Z,_,z)=>_<<z-32|Z>>>64-z,e0=(Z,_,z)=>Z<<z-32|_>>>64-z;t0=(Z,_,z)=>(Z>>>0)+(_>>>0)+(z>>>0),A0=(Z,_,z,X)=>_+z+X+(Z/2**32|0)|0,r0=(Z,_,z,X)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0),n0=(Z,_,z,X,ee)=>_+z+X+ee+(Z/2**32|0)|0,o0=(Z,_,z,X,ee)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0)+(ee>>>0),i0=(Z,_,z,X,ee,ne)=>_+z+X+ee+ne+(Z/2**32|0)|0});var Tc,MA,jo,Po,s0,_c,jc,qA,OA,Vo,Wo,a0,c0,g0=cr(()=>{be();Ws();_o();Wn();Tc=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),MA=new Uint32Array(64),jo=class extends an{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:ne,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,ne,ie,ae,fe]}set(_,z,X,ee,ne,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=ne|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ge=0;ge<16;ge++,z+=4)MA[ge]=_.getUint32(z,!1);for(let ge=16;ge<64;ge++){let Ee=MA[ge-15],$=MA[ge-2],Be=jt(Ee,7)^jt(Ee,18)^Ee>>>3,xe=jt($,17)^jt($,19)^$>>>10;MA[ge]=xe+MA[ge-7]+Be+MA[ge-16]|0}let{A:X,B:ee,C:ne,D:ie,E:ae,F:fe,G:de,H:Ce}=this;for(let ge=0;ge<64;ge++){let Ee=jt(ae,6)^jt(ae,11)^jt(ae,25),$=Ce+Ee+Ps(ae,fe,de)+Tc[ge]+MA[ge]|0,xe=(jt(X,2)^jt(X,13)^jt(X,22))+Vs(X,ee,ne)|0;Ce=de,de=fe,fe=ae,ae=ie+$|0,ie=ne,ne=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,ne=ne+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,de=de+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,ne,ie,ae,fe,de,Ce)}roundClean(){rA(MA)}destroy(){this.set(0,0,0,0,0,0,0,0),rA(this.buffer)}},Po=class extends jo{constructor(){super(32);he(this,"A",bA[0]|0);he(this,"B",bA[1]|0);he(this,"C",bA[2]|0);he(this,"D",bA[3]|0);he(this,"E",bA[4]|0);he(this,"F",bA[5]|0);he(this,"G",bA[6]|0);he(this,"H",bA[7]|0)}},s0=zn(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(Z=>BigInt(Z))),_c=s0[0],jc=s0[1],qA=new Uint32Array(80),OA=new Uint32Array(80),Vo=class extends an{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:z,Bh:X,Bl:ee,Ch:ne,Cl:ie,Dh:ae,Dl:fe,Eh:de,El:Ce,Fh:ge,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,z,X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He]}set(_,z,X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=ne|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=de|0,this.El=Ce|0,this.Fh=ge|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,z){for(let we=0;we<16;we++,z+=4)qA[we]=_.getUint32(z),OA[we]=_.getUint32(z+=4);for(let we=16;we<80;we++){let Me=qA[we-15]|0,Ve=OA[we-15]|0,Ge=fr(Me,Ve,1)^fr(Me,Ve,8)^Jo(Me,Ve,7),ke=ur(Me,Ve,1)^ur(Me,Ve,8)^To(Me,Ve,7),Pe=qA[we-2]|0,qe=OA[we-2]|0,rt=fr(Pe,qe,19)^cn(Pe,qe,61)^Jo(Pe,qe,6),tt=ur(Pe,qe,19)^gn(Pe,qe,61)^To(Pe,qe,6),Je=r0(ke,tt,OA[we-7],OA[we-16]),Te=n0(Je,Ge,rt,qA[we-7],qA[we-16]);qA[we]=Te|0,OA[we]=Je|0}let{Ah:X,Al:ee,Bh:ne,Bl:ie,Ch:ae,Cl:fe,Dh:de,Dl:Ce,Eh:ge,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=fr(ge,Ee,14)^fr(ge,Ee,18)^cn(ge,Ee,41),Ve=ur(ge,Ee,14)^ur(ge,Ee,18)^gn(ge,Ee,41),Ge=ge&$^~ge&xe,ke=Ee&Be^~Ee&He,Pe=o0(Re,Ve,ke,jc[we],OA[we]),qe=i0(Pe,Se,Me,Ge,_c[we],qA[we]),rt=Pe|0,tt=fr(X,ee,28)^cn(X,ee,34)^cn(X,ee,39),Je=ur(X,ee,28)^gn(X,ee,34)^gn(X,ee,39),Te=X&ne^X&ae^ne&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ge|0,Be=Ee|0,{h:ge,l:Ee}=nA(de|0,Ce|0,qe|0,rt|0),de=ae|0,Ce=fe|0,ae=ne|0,fe=ie|0,ne=X|0,ie=ee|0;let ye=t0(rt,Je,pe);X=A0(ye,qe,tt,Te),ee=ye|0}({h:X,l:ee}=nA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:ne,l:ie}=nA(this.Bh|0,this.Bl|0,ne|0,ie|0),{h:ae,l:fe}=nA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:de,l:Ce}=nA(this.Dh|0,this.Dl|0,de|0,Ce|0),{h:ge,l:Ee}=nA(this.Eh|0,this.El|0,ge|0,Ee|0),{h:$,l:Be}=nA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=nA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=nA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He,Se,Re)}roundClean(){rA(qA,OA)}destroy(){rA(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Wo=class extends Vo{constructor(){super(64);he(this,"Ah",Qt[0]|0);he(this,"Al",Qt[1]|0);he(this,"Bh",Qt[2]|0);he(this,"Bl",Qt[3]|0);he(this,"Ch",Qt[4]|0);he(this,"Cl",Qt[5]|0);he(this,"Dh",Qt[6]|0);he(this,"Dl",Qt[7]|0);he(this,"Eh",Qt[8]|0);he(this,"El",Qt[9]|0);he(this,"Fh",Qt[10]|0);he(this,"Fl",Qt[11]|0);he(this,"Gh",Qt[12]|0);he(this,"Gl",Qt[13]|0);he(this,"Hh",Qt[14]|0);he(this,"Hl",Qt[15]|0)}},a0=on(()=>new Po,sn(1)),c0=on(()=>new Wo,sn(3))});function eg(Z,_=24){let z=new Uint32Array(10);for(let X=24-_;X<24;X++){for(let ie=0;ie<10;ie++)z[ie]=Z[ie]^Z[ie+10]^Z[ie+20]^Z[ie+30]^Z[ie+40];for(let ie=0;ie<10;ie+=2){let ae=(ie+8)%10,fe=(ie+2)%10,de=z[fe],Ce=z[fe+1],ge=f0(de,Ce,1)^z[ae],Ee=u0(de,Ce,1)^z[ae+1];for(let $=0;$<50;$+=10)Z[ie+$]^=ge,Z[ie+$+1]^=Ee}let ee=Z[2],ne=Z[3];for(let ie=0;ie<24;ie++){let ae=h0[ie],fe=f0(ee,ne,ae),de=u0(ee,ne,ae),Ce=I0[ie];ee=Z[Ce],ne=Z[Ce+1],Z[Ce]=fe,Z[Ce+1]=de}for(let ie=0;ie<50;ie+=10){for(let ae=0;ae<10;ae++)z[ae]=Z[ie+ae];for(let ae=0;ae<10;ae++)Z[ie+ae]^=~z[(ae+2)%10]&z[(ae+4)%10]}Z[0]^=Xc[X],Z[1]^=$c[X]}rA(z)}var Pc,fn,Vc,Wc,Zc,zc,I0,h0,l0,d0,Xc,$c,f0,u0,Zo,tg,B0,C0=cr(()=>{be();_o();Wn();Pc=BigInt(0),fn=BigInt(1),Vc=BigInt(2),Wc=BigInt(7),Zc=BigInt(256),zc=BigInt(113),I0=[],h0=[],l0=[];for(let Z=0,_=fn,z=1,X=0;Z<24;Z++){[z,X]=[X,(2*z+3*X)%5],I0.push(2*(5*X+z)),h0.push((Z+1)*(Z+2)/2%64);let ee=Pc;for(let ne=0;ne<7;ne++)_=(_<<fn^(_>>Wc)*zc)%Zc,_&Vc&&(ee^=fn<<(fn<<BigInt(ne))-fn);l0.push(ee)}d0=zn(l0,!0),Xc=d0[0],$c=d0[1],f0=(Z,_,z)=>z>32?$s(Z,_,z):zs(Z,_,z),u0=(Z,_,z)=>z>32?e0(Z,_,z):Xs(Z,_,z);Zo=class Z{constructor(_,z,X,ee=!1,ne=24){he(this,"state");he(this,"pos",0);he(this,"posOut",0);he(this,"finished",!1);he(this,"state32");he(this,"destroyed",!1);he(this,"blockLen");he(this,"suffix");he(this,"outputLen");he(this,"enableXOF",!1);he(this,"rounds");if(this.blockLen=_,this.suffix=z,this.outputLen=X,this.enableXOF=ee,this.rounds=ne,qo(X,"outputLen"),!(0<_&&_<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=js(this.state)}clone(){return this._cloneInto()}keccak(){Oo(this.state32),eg(this.state32,this.rounds),Oo(this.state32),this.posOut=0,this.pos=0}update(_){Kr(this),Yr(_);let{blockLen:z,state:X}=this,ee=_.length;for(let ne=0;ne<ee;){let ie=Math.min(z-this.pos,ee-ne);for(let ae=0;ae<ie;ae++)X[this.pos++]^=_[ne++];this.pos===z&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:_,suffix:z,pos:X,blockLen:ee}=this;_[X]^=z,(z&128)!==0&&X===ee-1&&this.keccak(),_[ee-1]^=128,this.keccak()}writeInto(_){Kr(this,!1),Yr(_),this.finish();let z=this.state,{blockLen:X}=this;for(let ee=0,ne=_.length;ee<ne;){this.posOut>=X&&this.keccak();let ie=Math.min(X-this.posOut,ne-ee);_.set(z.subarray(this.posOut,this.posOut+ie),ee),this.posOut+=ie,ee+=ie}return _}xofInto(_){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(_)}xof(_){return qo(_),this.xofInto(new Uint8Array(_))}digestInto(_){if(Pn(_,this),this.finished)throw new Error("digest() was already called");return this.writeInto(_),this.destroy(),_}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,rA(this.state)}_cloneInto(_){let{blockLen:z,suffix:X,outputLen:ee,rounds:ne,enableXOF:ie}=this;return _||(_=new Z(z,X,ee,ie,ne)),_.state32.set(this.state32),_.pos=this.pos,_.posOut=this.posOut,_.finished=this.finished,_.rounds=ne,_.suffix=X,_.outputLen=ee,_.enableXOF=ie,_.destroyed=this.destroyed,_}},tg=(Z,_,z,X={})=>on(()=>new Zo(_,Z,z),X),B0=tg(6,136,32,sn(8))});var Xn={};Ts(Xn,{createHash:()=>E0,default:()=>Ag});function E0(Z){let _=new Uint8Array(0),z;switch(Z.toLowerCase()){case"sha256":case"sha-256":z=a0;break;case"sha512":case"sha-512":z=c0;break;case"sha3-256":z=B0;break;default:throw new Error(`Unsupported hash algorithm: ${Z}`)}return{update(X){let ee=X instanceof Uint8Array?X:new Uint8Array(X),ne=new Uint8Array(_.length+ee.length);return ne.set(_),ne.set(ee,_.length),_=ne,this},digest(){return z(_)}}}var Ag,$n=cr(()=>{"use strict";be();g0();C0();Ag={createHash:E0}});var mc=Lc((exports,module)=>{be();var dilithium=(function(){var A,I,g,C={};function B(Z,_){if(Z===0)return _;throw new Error("Dilithium error: "+Z)}function Q(Z,_){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,Z,_))}function i(Z){try{C._free(Z)}catch(_){setTimeout((function(){throw _}),0)}}C.ready=new Promise((function(A,I){function g(Z){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},g(Z)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(Z){I(Z)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(Z,_){throw _},o=(typeof window>"u"?"undefined":g(window))=="object",n=typeof importScripts=="function",r=(typeof process>"u"?"undefined":g(process))=="object"&&g(process.versions)=="object"&&typeof process.versions.node=="string",t="";if(r){var a=eval("require")("fs"),e=eval("require")("path");t=n?e.dirname(t)+"/":__dirname+"/",C=function(Z,_){var z=x(Z);return z?_?z:z.toString():(Z=q(Z)?new URL(Z):e.normalize(Z),a.readFileSync(Z,_?void 0:"utf8"))},B=function(Z){var _=C(Z,!0);return _.buffer||(_=new Uint8Array(_)),_},!Q.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=Q),process.on("uncaughtException",(function(Z){if(!(Z==="unwind"||Z instanceof p||Z.context instanceof p))throw Z})),E=function(Z,_){throw process.exitCode=Z,_},Q.inspect=function(){return"[Emscripten Module object]"}}else(o||n)&&(n?t=self.location.href:typeof document<"u"&&document.currentScript&&(t=document.currentScript.src),t=t.indexOf("blob:")!==0?t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1):"",C=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.send(null),_.responseText}catch(X){var z=x(Z);if(z)return(function(ee){for(var ne=[],ie=0;ie<ee.length;ie++){var ae=ee[ie];ae>255&&(ae&=255),ne.push(String.fromCharCode(ae))}return ne.join("")})(z);throw X}},n&&(B=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(X){var z=x(Z);if(z)return z;throw X}}));Q.print||console.log.bind(console);var f,D=Q.printErr||console.error.bind(console);Object.assign(Q,i),i=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&(E=Q.quit),Q.wasmBinary&&(f=Q.wasmBinary);var c,G=Q.noExitRuntime||!0;(typeof WebAssembly>"u"?"undefined":g(WebAssembly))!="object"&&U("no native wasm support detected");var h,y,u,s,F=!1,Y=[],N=[],w=[],S=0,k=null,H=null;function U(Z){throw Q.onAbort&&Q.onAbort(Z),D(Z="Aborted("+Z+")"),F=!0,Z+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(Z)}var R,d,M="data:application/octet-stream;base64,";function J(Z){return Z.startsWith(M)}function q(Z){return Z.startsWith("file://")}function l(Z){return Promise.resolve().then((function(){return(function(_){if(_==R&&f)return new Uint8Array(f);var z=x(_);if(z)return z;if(B)return B(_);throw"both async and sync fetching of the wasm failed"})(Z)}))}function m(Z,_,z,X){return(function(ee,ne,ie){return l(ee).then((function(ae){return WebAssembly.instantiate(ae,ne)})).then((function(ae){return ae})).then(ie,(function(ae){D("failed to asynchronously prepare wasm: "+ae),U(ae)}))})(_,z,X)}J(R="data:application/octet-stream;base64,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aiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQegAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQShyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQewAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQThyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfwAcmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEFA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgBUECdCIDQSByaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBJHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EEcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EocmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQSxyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBDHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBMHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EQcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0E0cmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQThyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBGHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBPHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EccmoiAygCACIBIAJrNgIAIAMgASACajYCACAFQfABSSEDIAVBEGohBSADDQALQQAhBQNAIAZBAWoiBkECdEGgCmo0AgAiByAAIAVBAnQiA0EQcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQRRyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBBHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBGHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EIcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EccmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB+AFJIQMgBUEIaiEFIAMNAAtBACEDA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgA0ECdCIFQQhyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIAVqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIAVBDHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgBUEEcmoiBSgCACIBIAJrNgIAIAUgASACajYCACADQfwBSSEFIANBBGohAyAFDQALQQAhAwNAIAAgA0ECdCICQQRyaiIBNAIAIAZBAWoiBkECdEGgCmo0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSABIAAgAmoiAigCACIBIAVrNgIAIAIgASAFajYCACADQf4BSSEFIANBAmohAyAFDQALC4oCAQp/A0AgACAEQQV0aiICIAEgBEEDbGoiAy0AAEEHcSIFNgIAIAIgAy0AAEEDdkEHcSIGNgIEIAIgAy0A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IgEgACADQcgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQQxyaiIBIAAgA0HMAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EQcmoiASAAIANB0AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBFHJqIgEgACADQdQAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQRhyaiIBIAAgA0HYAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EccmoiASAAIANB3AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBIHJqIgEgACADQeAAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQSRyaiIBIAAgA0HkAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EocmoiASAAIANB6AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBLHJqIgEgACADQewAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTByaiIBIAAgA0HwAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0E0cmoiASAAIANB9AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBOHJqIgEgACADQfgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTxyaiICIAAgA0H8AHJqIgMoAgAiASACKAIAIgJqNgIAIAMgAiABayICNgIAIAMgAqwgCX4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEDQQAgBEECdEGYCmooAgBrrCEJA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0EgRw0AC0EAIARBAnRBlApqKAIAa6whCUHAACEDA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0HgAEcNAAtBACAEQQJ0QZAKaigCAGusIQlBgAEhAwNAIAAgA0ECdGoiBiAGKAKAASIFIAYoAgAiAmo2AgAgBiACIAVrIgU2AoABIAYgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKAASADQQFqIgNBoAFHDQALQQAgBEECdEGMCmooAgBrrCEJQcABIQMDQCAAIANBAnRqIgYgBigCgAEiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAASAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAEgA0EBaiIDQeABRw0AC0EAIQNBACAEQQJ0QYgKaigCAGusIQkDQCAAIANBAnRqIgYgBigCgAIiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAAiAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAIgA0EBaiIDQcAARw0AC0EAIARBAnRBhApqKAIAa6whCUGAASEDA0AgACADQQJ0aiIGIAYoAoACIgUgBigCACICajYCACAGIAIgBWsiBTYCgAIgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoACIANBAWoiA0HAAUcNAAtBACEDQQAgBEECdEGACmooAgBrrCEJQQAhBgNAIAAgBkECdGoiBCAEKAKABCIFIAQoAgAiAmo2AgAgBCACIAVrIgU2AoAEIAQgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKABCAGQQFqIgZBgAFHDQALA0AgACADQQJ0aiIGIAY0AgBC+scCfiIJIAlCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgA0EBaiIDQYACRw0ACwsQACAAKAIAQYgBIAEgAhA6C8kCAgd/A34gAigCACEDAn9BACABRQ0AGiABrSEMA0AgCqciAiAKIAMpA8gBIgtaDQEaIAAgAmogAyAKIAt9IgunQYgBakF4cWopAwAgC0IDhog8AAAgCkIBfCIKIAxSDQALIAELIQIgAyADKQPIASACrX03A8gBIAEgAmsiBQRAIAAgAmohAANAIAMQJUGIASAFIAVBiAFPGyIEQQFxIQZBACECIARBAUcEQCAEQf4BcSEHQQAhAQNAIAAgAmogAyACQXhxaiIIKQMAIAJBA3RBMHGtiDwAACAAIAJBAXIiCWogCCkDACAJQQN0QThxrYg8AAAgAkECaiECIAFBAmoiASAHRw0ACwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBiAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwsJACAAKAIAECoLrgEBAX8jAEGACGsiAyQAIAAgASACEAUgAyABQYAIaiACQYAIahAFIAAgACADEAYgAyABQYAQaiACQYAQahAFIAAgACADEAYgAyABQYAYaiACQYAYahAFIAAgACADEAYgAyABQYAgaiACQYAgahAFIAAgACADEAYgAyABQYAoaiACQYAoahAFIAAgACADEAYgAyABQYAwaiACQYAwahAFIAAgACADEAYgA0GACGokAAtVAQJ/A0Ag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CwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBqAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwtsAQF/QQEhAgJAIAAgARALDQAgAEGACGogARALDQAgAEGAEGogARALDQAgAEGAGGogARALDQAgAEGAIGogARALDQAgAEGAKGogARALDQAgAEGAMGogARALDQAgAEGAOGogARALQQBHIQILIAILlgEAIAAgASACEBwgAEGACGogAUGACGogAkGACGoQHCAAQYAQaiABQYAQaiACQYAQahAcIABBgBhqIAFBgBhqIAJBgBhqEBwgAEGAIGogAUGAIGogAkGAIGoQHCAAQYAoaiABQYAoaiACQYAoahAcIABBgDBqIAFBgDBqIAJBgDBqEBwgAEGAOGogAUGAOGogAkGAOGoQHAuWAQAgACABIAIQBiAAQYAIaiABQYAIaiACQYAIahAGIABBgBBqIAFBgBBqIAJBgBBqEAYgAEGAGGogAUGAGGogAkGAGGoQBiAAQYAgaiABQYAgaiACQYAgahAGIABBgChqIAFBgChqIAJBgChqEAYgAEGAMGogAUGAMGogAkGAMGoQBiAAQYA4aiABQYA4aiACQYA4ahAGC24BAX9BASEBAkAgAEGI/x8QCw0AIABBgAhqQYj/HxALDQAgAEGAEGpBiP8fEAsNACAAQYAYakGI/x8QCw0AIABBgCBqQYj/HxALDQAgAEGAKGpBiP8fEAsNACAAQYAwakGI/x8QC0EARyEBCyABC4EDAgd+AX8gAa0iBiAAKQPIASIEIAOtIgh8WARAA0BBACELQgAhBSABIASnRwRAA0AgACAEIAV8IgSnQXhxaiILIAspAwAgAiAFp2oxAAAgBEIDhoaFNwMAIAVCAXwiBSABIAApA8gBIgSnayILrVQNAAsLIABCADcDyAEgABAlIAIgC2ohAiAAKQPIASIEIAMgC2siA60iCHwgBloNAAsLIAAgAwR+IAOtIgRCAYMhBkIAIQUgA0EBRwRAIARC/v///w+DIQlCACEEA0AgACAAKQPIASAFfCIHp0F4cWoiASABKQMAIAIgBadqMQAAIAdCA4aGhTcDACAAIAVCAYQiByAAKQPIAXwiCqdBeHFqIgEgASkDACACIAenajEAACAKQgOGhoU3AwAgBUICfCEFIARC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ACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDrIyAEQYAIaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7CMgBEGAEGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6AO0jIARBgBhqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDuIyAEQYAgaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7yMgBEGAKGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6APAjIARBgDBqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDxIyAEQYA4aiEEQQAhAgNAIAQgAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAEIAJBAXIiCEECdGooAgAEQCABIANqIAg6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA8iMgDkHzIzYCDCAHQfCxB2okACAAIA4oAgw7AQAgDkEQaiQAQQALghEBFH8jAEGg8QVrIgUkACAFQaDwBWohAiMAQRBrIgQkAANAIARBADoADyACIANqQaQSIARBD2pBABABOgAAIANBAWoiA0EgRw0ACyAEQRBqJAAgAkGAASACQSAQKSAFQYCwAmoiCCACEDEgBUGA+AFqIgYiBCAFQcDwBWoiA0EAEAogBEGACGogA0EBEAogBEGAEGogA0ECEAogBEGAGGogA0EDEAogBEGAIGogA0EEEAogBEGAKGogA0EFEAogBEGAMGogA0EGEAogBUGAgAFqIgQgA0EHEAogBEGACGogA0EIEAogBEGAEGogA0EJEAogBEGAGGogA0EKEAogBEGAIGogA0ELEAogBEGAKGogA0EMEAogBEGAMGogA0ENEAogBEGAOGoiDiADQQ4QCiAFQYDAAWoiByAGQYA4ECwgBxAoIAVBgEBrIgMgCCAHEDAgAxAnIAMQJiADIAMgBBA4IAMQLyADIAUgAxAaIANBgAhqIgcgBUGACGoiDyAHEBogA0GAEGoiCCAFQYAQaiIQIAgQGiADQYAYaiIJIAVBgBhqIhEgCRAaIANBgCBqIgogBUGAIGoiEiAKEBogA0GAKGoiCyAFQYAoaiITIAsQGiADQYAwaiIMIAVBgDBqIhQgDBAaIANBgDhqIg0gBUGAOGoiFSANEBogACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAIAItAAg6AAggACACLQAJOgAJIAAgAi0ACjoACiAAIAItAAs6AAsgACACLQAMOgAMIAAgAi0ADToADSAAIAItAA46AA4gACACLQAPOgAPIAAgAi0AEDoAECAAIAItABE6ABEgACACLQASOgASIAAgAi0AEzoAEyAAIAItABQ6ABQgACACLQAVOgAVIAAgAi0AFjoAFiAAIAItABc6ABcgACACLQAYOgAYIAAgAi0AGToAGSAAIAItABo6ABogACACLQAbOgAbIAAgAi0AHDoAHCAAIAItAB06AB0gACACLQAeOgAeIAAgAi0AHzoAHyAAQSBqIAMQFiAAQeACaiAHEBYgAEGgBWogCBAWIABB4AdqIAkQFiAAQaAKaiAKEBYgAEHgDGogCxAWIABBoA9qIAwQFiAAQeARaiANEBYgBUGA8AVqIgNBICAAQaAUECkgASACLQAAOgAAIAEgAi0AAToAASABIAItAAI6AAIgASACLQADOgADIAEgAi0ABDoABCABIAItAAU6AAUgASACLQAGOgAGIAEgAi0ABzoAByABIAItAAg6AAggASACLQAJOgAJIAEgAi0ACjoACiABIAItAAs6AAsgASACLQAMOgAMIAEgAi0ADToADSABIAItAA46AA4gASACLQAPOgAPIAEgAi0AEDoAECABIAItABE6ABEgASACLQASOgASIAEgAi0AEzoAEyABIAItABQ6ABQgASACLQAVOgAVIAEgAi0AFjoAFiABIAItABc6ABcgASACLQAYOgAYIAEgAi0AGToAGSABIAItABo6ABogASACLQAbOgAbIAEgAi0AHDoAHCABIAItAB06AB0gASACLQAeOgAeIAEgAi0AHzoAHyABIAVBgPEFaiIALQAAOgAgIAEgAC0AAToAISABIAAtAAI6ACIgASAALQADOgAjIAEgAC0ABDoAJCABIAAtAAU6ACUgASAALQAGOgAmIAEgAC0ABzoAJyABIAAtAAg6ACggASAALQAJOgApIAEgAC0ACjoAKiABIAAtAAs6ACsgASAALQAMOgAsIAEgAC0ADToALSABIAAtAA46AC4gASAALQAPOgAvIAEgAC0AEDoAMCABIAAtABE6ADEgASAALQASOgAyIAEgAC0AEzoAMyABIAAtABQ6ADQgASAALQAVOgA1IAEgAC0AFjoANiABIAAtABc6ADcgASAALQAYOgA4IAEgAC0AGToAOSABIAAtABo6ADogASAALQAbOgA7IAEgAC0AHDoAPCABIAAtAB06AD0gASAALQAeOgA+IAEgAC0AHzoAPyABIAMtAAA6AEAgASADLQABOgBBIAEgAy0AAjoAQiABIAMtAAM6AEMgASADLQAEOgBEIAEgAy0ABToARSABIAMtAAY6AEYgASADLQAHOgBHIAEgAy0ACDoASCABIAMtAAk6AEkgASADLQAKOgBKIAEgAy0ACzoASyABIAMtAAw6AEwgASADLQANOgBNIAEgAy0ADjoATiABIAMtAA86AE8gASADLQAQOgBQIAEgAy0AEToAUSABIAMtABI6AFIgASADLQATOgBTIAEgAy0AFDoAVCABIAMtABU6AFUgASADLQAWOgBWIAEgAy0AFzoAVyABIAMtABg6AFggASADLQAZOgBZIAEgAy0AGjoAWiABIAMtABs6AFsgASADLQAcOgBcIAEgAy0AHToAXSABIAMtAB46AF4gASADLQAfOgBfIAFB4ABqIAYQCSABQcABaiAGQYAI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")||(d=R,R=Q.locateFile?Q.locateFile(d,t):t+d);var L={2340:function(){return Q.getRandomValue()},2376:function(){if(Q.getRandomValue===void 0)try{var A=(typeof window>"u"?"undefined":g(window))==="object"?window:self,I=A.crypto!==void 0?A.crypto:A.msCrypto,C=function(){var Z=new Uint32Array(1);return I.getRandomValues(Z),Z[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var Z=B.randomBytes(4);return(Z[0]<<24|Z[1]<<16|Z[2]<<8|Z[3])>>>0};i(),Q.getRandomValue=i}catch(Z){throw"No secure random number generator found"}}}};function p(Z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(Z,")"),this.status=Z}var K=function(Z){for(;Z.length>0;)Z.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(Z,_,z){var X=(function(ee,ne){var ie;for(v.length=0,ne>>=2;ie=y[ee++];)ne+=ie!=105&ne,v.push(ie==105?u[ne]:s[ne++>>1]),++ne;return v})(_,z);return L[Z].apply(null,X)},O=function(Z){G||(Q.onExit&&Q.onExit(Z),F=!0),E(Z,new p(Z))},T={b:function(Z,_,z){return j(Z,_,z)},d:function(Z,_,z){return y.copyWithin(Z,_,_+z)},c:function(Z){y.length,U("OOM")},a:function(Z,_){O(Z)}};(function(){var Z={a:T};function _(z,X){var ee,ne,ie=z.exports;return Q.asm=ie,c=Q.asm.e,ee=c.buffer,Q.HEAP8=h=new Int8Array(ee),Q.HEAP16=new Int16Array(ee),Q.HEAP32=u=new Int32Array(ee),Q.HEAPU8=y=new Uint8Array(ee),Q.HEAPU16=new Uint16Array(ee),Q.HEAPU32=new Uint32Array(ee),Q.HEAPF32=new Float32Array(ee),Q.HEAPF64=s=new Float64Array(ee),Q.asm.g,ne=Q.asm.f,N.unshift(ne),(function(ae){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var fe=H;H=null,fe()}})(),ie}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(Z,_)}catch(z){return D("Module.instantiateWasm callback failed with error: "+z),!1}m(0,R,Z,(function(z){_(z.instance)}))})(),Q._malloc=function(){return(Q._malloc=Q.asm.h).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.i).apply(null,arguments)},Q._dilithiumjs_init=function(){return(Q._dilithiumjs_init=Q.asm.j).apply(null,arguments)},Q._dilithiumjs_public_key_bytes=function(){return(Q._dilithiumjs_public_key_bytes=Q.asm.k).apply(null,arguments)},Q._dilithiumjs_secret_key_bytes=function(){return(Q._dilithiumjs_secret_key_bytes=Q.asm.l).apply(null,arguments)},Q._dilithiumjs_signature_bytes=function(){return(Q._dilithiumjs_signature_bytes=Q.asm.m).apply(null,arguments)},Q._dilithiumjs_keypair=function(){return(Q._dilithiumjs_keypair=Q.asm.n).apply(null,arguments)},Q._dilithiumjs_sign=function(){return(Q._dilithiumjs_sign=Q.asm.o).apply(null,arguments)},Q._dilithiumjs_verify=function(){return(Q._dilithiumjs_verify=Q.asm.p).apply(null,arguments)};function x(Z){if(J(Z))return(function(_){if(r!==void 0&&r){var z=Buffer.from(_,"base64");return new Uint8Array(z.buffer,z.byteOffset,z.byteLength)}try{for(var X=atob(_),ee=new Uint8Array(X.length),ne=0;ne<X.length;++ne)ee[ne]=X.charCodeAt(ne);return ee}catch{throw new Error("Converting base64 string to bytes failed.")}})(Z.slice(M.length))}function W(){function Z(){b||(b=!0,Q.calledRun=!0,F||(K(N),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),(function(){if(Q.postRun)for(typeof Q.postRun=="function"&&(Q.postRun=[Q.postRun]);Q.postRun.length;)_=Q.postRun.shift(),w.unshift(_);var _;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)_=Q.preRun.shift(),Y.unshift(_);var _;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),Z()}),1)):Z()))}if(Q.writeArrayToMemory=function(Z,_){h.set(Z,_)},H=function Z(){b||W(),b||(H=Z)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(Z){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},A(Z)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(Z,_){throw _},i=(typeof window>"u"?"undefined":A(window))=="object",E=typeof importScripts=="function",o=(typeof process>"u"?"undefined":A(process))=="object"&&A(process.versions)=="object"&&typeof process.versions.node=="string",n="";if(o){var r=eval("require")("fs"),t=eval("require")("path");n=E?t.dirname(n)+"/":__dirname+"/",I=function(Z,_){var z=P(Z);return z?_?z:z.toString():(Z=m(Z)?new URL(Z):t.normalize(Z),r.readFileSync(Z,_?void 0:"utf8"))},g=function(Z){var _=I(Z,!0);return _.buffer||(_=new Uint8Array(_)),_},!C.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=C),process.on("uncaughtException",(function(Z){if(!(Z==="unwind"||Z instanceof b||Z.context instanceof b))throw Z})),Q=function(Z,_){throw process.exitCode=Z,_},C.inspect=function(){return"[Emscripten Module object]"}}else(i||E)&&(E?n=self.location.href:typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),n=n.indexOf("blob:")!==0?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",I=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.send(null),_.responseText}catch(X){var z=P(Z);if(z)return(function(ee){for(var ne=[],ie=0;ie<ee.length;ie++){var ae=ee[ie];ae>255&&(ae&=255),ne.push(String.fromCharCode(ae))}return ne.join("")})(z);throw X}},E&&(g=function(Z){try{var _=new XMLHttpRequest;return _.open("GET",Z,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(X){var z=P(Z);if(z)return z;throw X}}));C.print||console.log.bind(console);var a,e=C.printErr||console.error.bind(console);Object.assign(C,B),B=null,C.arguments&&C.arguments,C.thisProgram&&C.thisProgram,C.quit&&(Q=C.quit),C.wasmBinary&&(a=C.wasmBinary);var f,D=C.noExitRuntime||!0,c={Memory:function(Z){this.buffer=new ArrayBuffer(65536*Z.initial)},Module:function(Z){},Instance:function(Z,_){this.exports=(function(z){for(var X,ee=new Uint8Array(123),ne=25;ne>=0;--ne)ee[48+ne]=52+ne,ee[65+ne]=ne,ee[97+ne]=26+ne;function ie(fe,de,Ce){for(var ge,Ee,$=0,Be=de,xe=Ce.length,He=de+(3*xe>>2)-(Ce[xe-2]=="=")-(Ce[xe-1]=="=");$<xe;$+=4)ge=ee[Ce.charCodeAt($+1)],Ee=ee[Ce.charCodeAt($+2)],fe[Be++]=ee[Ce.charCodeAt($)]<<2|ge>>4,Be<He&&(fe[Be++]=ge<<4|Ee>>2),Be<He&&(fe[Be++]=Ee<<6|ee[Ce.charCodeAt($+3)])}function ae(){throw new Error("abort")}return ee[43]=62,ee[47]=63,(function(fe){var de=fe.a,Ce=de.a.buffer,ge=new Int8Array(Ce),Ee=new Int16Array(Ce),$=new Int32Array(Ce),Be=new Uint8Array(Ce),xe=new Uint16Array(Ce),He=new Uint32Array(Ce),Se=(new Float32Array(Ce),new Float64Array(Ce),Math.imul),Re=Math.clz32,we=de.b,Me=de.c,Ve=de.d,Ge=8392208,ke=0;function Pe(te){var oe,re=0,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0;Ge=oe=Ge-16|0;e:{A:{t:{r:{a:{i:{c:{l:{f:{g:{s:{u:{I:{n:{if((te|=0)>>>0<=244){if(3&(re=(Ie=$[776])>>>(Ae=(le=te>>>0<11?16:te+11&-8)>>>3|0)|0)){re=(te=(Ae=Ae+(1&(-1^re))|0)<<3)+3144|0,se=$[te+3152>>2],(0|re)!=(0|(te=$[se+8>>2]))?($[te+12>>2]=re,$[re+8>>2]=te):$[776]=tA(Ae)&Ie,te=se+8|0,re=Ae<<3,$[se+4>>2]=3|re,$[(re=re+se|0)+4>>2]=1|$[re+4>>2];break e}if((ve=$[778])>>>0>=le>>>0)break n;if(re){re=(te=(se=Ro(0-(te=(0-(te=2<<Ae)|te)&re<<Ae)&te))<<3)+3144|0,ce=$[te+3152>>2],(0|re)!=(0|(te=$[ce+8>>2]))?($[te+12>>2]=re,$[re+8>>2]=te):(Ie=tA(se)&Ie,$[776]=Ie),$[ce+4>>2]=3|le,se=(te=se<<3)-le|0,$[(Ae=ce+le|0)+4>>2]=1|se,$[te+ce>>2]=se,ve&&(re=3144+(-8&ve)|0,ue=$[781],(te=1<<(ve>>>3))&Ie?te=$[re+8>>2]:($[776]=te|Ie,te=re),$[re+8>>2]=ue,$[te+12>>2]=ue,$[ue+12>>2]=re,$[ue+8>>2]=te),te=ce+8|0,$[781]=Ae,$[778]=se;break e}if(!(De=$[777]))break n;for(Ae=$[3408+(Ro(0-De&De)<<2)>>2],ue=(-8&$[Ae+4>>2])-le|0,re=Ae;(te=$[re+16>>2])||(te=$[re+20>>2]);)ue=(se=(re=(-8&$[te+4>>2])-le|0)>>>0<ue>>>0)?re:ue,Ae=se?te:Ae,re=te;if(Qe=$[Ae+24>>2],(0|(se=$[Ae+12>>2]))!=(0|Ae)){te=$[Ae+8>>2],$[te+12>>2]=se,$[se+8>>2]=te;break A}if(!(te=$[(re=Ae+20|0)>>2])){if(!(te=$[Ae+16>>2]))break I;re=Ae+16|0}for(;ce=re,se=te,(te=$[(re=te+20|0)>>2])||(re=se+16|0,te=$[se+16>>2]););$[ce>>2]=0;break A}if(le=-1,!(te>>>0>4294967231)&&(le=-8&(te=te+11|0),De=$[777])){ue=0-le|0,Ie=0,le>>>0<256||(Ie=31,le>>>0>16777215||(Ie=62+((le>>>38-(te=Re(te>>>8|0))&1)-(te<<1)|0)|0));o:{h:{if(re=$[3408+(Ie<<2)>>2])for(te=0,Ae=le<<((0|Ie)!=31?25-(Ie>>>1|0)|0:0);;){if(!((ce=(-8&$[re+4>>2])-le|0)>>>0>=ue>>>0||(se=re,ue=ce,ce))){ue=0,te=re;break h}if(ce=$[re+20>>2],re=$[16+((Ae>>>29&4)+re|0)>>2],te=ce?(0|ce)==(0|re)?te:ce:te,Ae<<=1,!re)break}else te=0;if(!(te|se)){if(se=0,!(te=(0-(te=2<<Ie)|te)&De))break n;te=$[3408+(Ro(te&0-te)<<2)>>2]}if(!te)break o}for(;ue=(Ae=(re=(-8&$[te+4>>2])-le|0)>>>0<ue>>>0)?re:ue,se=Ae?te:se,te=(re=$[te+16>>2])||$[te+20>>2];);}if(!(!se|$[778]-le>>>0<=ue>>>0)){if(Ie=$[se+24>>2],(0|se)!=(0|(Ae=$[se+12>>2]))){te=$[se+8>>2],$[te+12>>2]=Ae,$[Ae+8>>2]=te;break t}if(!(te=$[(re=se+20|0)>>2])){if(!(te=$[se+16>>2]))break u;re=se+16|0}for(;ce=re,Ae=te,(te=$[(re=te+20|0)>>2])||(re=Ae+16|0,te=$[Ae+16>>2]););$[ce>>2]=0;break t}}}if((te=$[778])>>>0>=le>>>0){se=$[781],(re=te-le|0)>>>0>=16?($[(Ae=se+le|0)+4>>2]=1|re,$[te+se>>2]=re,$[se+4>>2]=3|le):($[se+4>>2]=3|te,$[(te=te+se|0)+4>>2]=1|$[te+4>>2],Ae=0,re=0),$[778]=re,$[781]=Ae,te=se+8|0;break e}if((Qe=$[779])>>>0>le>>>0){re=Qe-le|0,$[779]=re,te=(Ae=$[782])+le|0,$[782]=te,$[te+4>>2]=1|re,$[Ae+4>>2]=3|le,te=Ae+8|0;break e}if(te=0,De=le+47|0,$[894]?Ae=$[896]:($[897]=-1,$[898]=-1,$[895]=4096,$[896]=4096,$[894]=oe+12&-16^1431655768,$[899]=0,$[887]=0,Ae=4096),(re=(ce=De+Ae|0)&(ue=0-Ae|0))>>>0<=le>>>0||(se=$[886])&&se>>>0<(Ie=(Ae=$[884])+re|0)>>>0|Ae>>>0>=Ie>>>0)break e;n:{if(!(4&Be[3548])){o:{h:{d:{B:{if(se=$[782])for(te=3552;;){if((Ae=$[te>>2])>>>0<=se>>>0&se>>>0<Ae+$[te+4>>2]>>>0)break B;if(!(te=$[te+8>>2]))break}if((0|(Ae=Ur(0)))==-1||(Ie=re,(te=(se=$[895])-1|0)&Ae&&(Ie=(re-Ae|0)+(te+Ae&0-se)|0),Ie>>>0<=le>>>0)||(se=$[886])&&se>>>0<(ue=(te=$[884])+Ie|0)>>>0|te>>>0>=ue>>>0)break o;if((0|Ae)!=(0|(te=Ur(Ie))))break d;break n}if((0|(Ae=Ur(Ie=ue&ce-Qe)))==($[te>>2]+$[te+4>>2]|0))break h;te=Ae}if((0|te)==-1)break o;if(le+48>>>0<=Ie>>>0){Ae=te;break n}if((0|Ur(Ae=(Ae=$[896])+(De-Ie|0)&0-Ae))==-1)break o;Ie=Ae+Ie|0,Ae=te;break n}if((0|Ae)!=-1)break n}$[887]=4|$[887]}if((0|(Ae=Ur(re)))==-1|(0|(te=Ur(0)))==-1|te>>>0<=Ae>>>0||(Ie=te-Ae|0)>>>0<=le+40>>>0)break f}te=$[884]+Ie|0,$[884]=te,te>>>0>He[885]&&($[885]=te);n:{if(ce=$[782]){for(te=3552;;){if(((se=$[te>>2])+(re=$[te+4>>2])|0)==(0|Ae))break n;if(!(te=$[te+8>>2]))break}break s}for((te=$[780])>>>0<=Ae>>>0&&te||($[780]=Ae),te=0,$[889]=Ie,$[888]=Ae,$[784]=-1,$[785]=$[894],$[891]=0;re=(se=te<<3)+3144|0,$[se+3152>>2]=re,$[se+3156>>2]=re,(0|(te=te+1|0))!=32;);re=(se=Ie-40|0)-(te=Ae+8&7?-8-Ae&7:0)|0,$[779]=re,te=te+Ae|0,$[782]=te,$[te+4>>2]=1|re,$[4+(Ae+se|0)>>2]=40,$[783]=$[898];break g}if(8&$[te+12>>2]|Ae>>>0<=ce>>>0|se>>>0>ce>>>0)break s;$[te+4>>2]=re+Ie,Ae=(te=ce+8&7?-8-ce&7:0)+ce|0,$[782]=Ae,te=(re=$[779]+Ie|0)-te|0,$[779]=te,$[Ae+4>>2]=1|te,$[4+(re+ce|0)>>2]=40,$[783]=$[898];break g}se=0;break A}Ae=0;break t}He[780]>Ae>>>0&&($[780]=Ae),re=Ae+Ie|0,te=3552;s:{u:{I:{for(;;){if((0|re)!=$[te>>2]){if(te=$[te+8>>2])continue;break I}break}if(!(8&Be[te+12|0]))break u}for(te=3552;;){if((re=$[te>>2])>>>0<=ce>>>0&&(ue=re+$[te+4>>2]|0)>>>0>ce>>>0)break s;te=$[te+8>>2]}}if($[te>>2]=Ae,$[te+4>>2]=$[te+4>>2]+Ie,$[(De=(Ae+8&7?-8-Ae&7:0)+Ae|0)+4>>2]=3|le,te=(Ie=re+(re+8&7?-8-re&7:0)|0)-(Qe=le+De|0)|0,(0|ce)==(0|Ie)){$[782]=Qe,te=$[779]+te|0,$[779]=te,$[Qe+4>>2]=1|te;break r}if($[781]==(0|Ie)){$[781]=Qe,te=$[778]+te|0,$[778]=te,$[Qe+4>>2]=1|te,$[te+Qe>>2]=te;break r}if((3&(ue=$[Ie+4>>2]))!=1)break a;if(ce=-8&ue,ue>>>0<=255){if((0|(Ae=$[Ie+12>>2]))==(0|(re=$[Ie+8>>2]))){$[776]=$[776]&tA(ue>>>3|0);break i}$[re+12>>2]=Ae,$[Ae+8>>2]=re;break i}if(le=$[Ie+24>>2],(0|Ie)!=(0|(Ae=$[Ie+12>>2]))){re=$[Ie+8>>2],$[re+12>>2]=Ae,$[Ae+8>>2]=re;break c}if(!(ue=$[(re=Ie+20|0)>>2])){if(!(ue=$[Ie+16>>2]))break l;re=Ie+16|0}for(;se=re,(ue=$[(re=(Ae=ue)+20|0)>>2])||(re=Ae+16|0,ue=$[Ae+16>>2]););$[se>>2]=0;break c}for(re=(se=Ie-40|0)-(te=Ae+8&7?-8-Ae&7:0)|0,$[779]=re,te=te+Ae|0,$[782]=te,$[te+4>>2]=1|re,$[4+(Ae+se|0)>>2]=40,$[783]=$[898],$[(se=(te=(ue+(ue-39&7?39-ue&7:0)|0)-47|0)>>>0<ce+16>>>0?ce:te)+4>>2]=27,te=$[891],$[se+16>>2]=$[890],$[se+20>>2]=te,te=$[889],$[se+8>>2]=$[888],$[se+12>>2]=te,$[890]=se+8,$[889]=Ie,$[888]=Ae,$[891]=0,te=se+24|0;$[te+4>>2]=7,re=te+8|0,te=te+4|0,re>>>0<ue>>>0;);if((0|se)!=(0|ce))if($[se+4>>2]=-2&$[se+4>>2],ue=se-ce|0,$[ce+4>>2]=1|ue,$[se>>2]=ue,ue>>>0<=255)re=3144+(-8&ue)|0,(Ae=$[776])&(te=1<<(ue>>>3))?te=$[re+8>>2]:($[776]=te|Ae,te=re),$[re+8>>2]=ce,$[te+12>>2]=ce,$[ce+12>>2]=re,$[ce+8>>2]=te;else{te=31,ue>>>0<=16777215&&(te=62+((ue>>>38-(te=Re(ue>>>8|0))&1)-(te<<1)|0)|0),$[ce+28>>2]=te,$[ce+16>>2]=0,$[ce+20>>2]=0,re=3408+(te<<2)|0;s:{if((se=$[777])&(Ae=1<<te)){for(te=ue<<((0|te)!=31?25-(te>>>1|0)|0:0),se=$[re>>2];;){if((0|ue)==(-8&$[(re=se)+4>>2]))break s;if(Ae=te>>>29|0,te<<=1,!(se=$[(Ae=(4&Ae)+re|0)+16>>2]))break}$[Ae+16>>2]=ce}else $[777]=Ae|se,$[re>>2]=ce;$[ce+24>>2]=re,$[ce+12>>2]=ce,$[ce+8>>2]=ce;break g}te=$[re+8>>2],$[te+12>>2]=ce,$[re+8>>2]=ce,$[ce+24>>2]=0,$[ce+12>>2]=re,$[ce+8>>2]=te}}if(!((te=$[779])>>>0<=le>>>0)){re=te-le|0,$[779]=re,te=(Ae=$[782])+le|0,$[782]=te,$[te+4>>2]=1|re,$[Ae+4>>2]=3|le,te=Ae+8|0;break e}}$[775]=48,te=0;break e}Ae=0}if(le){se=$[Ie+28>>2];c:{if($[(re=3408+(se<<2)|0)>>2]==(0|Ie)){if($[re>>2]=Ae,Ae)break c;$[777]=$[777]&tA(se);break i}if($[le+($[le+16>>2]==(0|Ie)?16:20)>>2]=Ae,!Ae)break i}$[Ae+24>>2]=le,(re=$[Ie+16>>2])&&($[Ae+16>>2]=re,$[re+24>>2]=Ae),(re=$[Ie+20>>2])&&($[Ae+20>>2]=re,$[re+24>>2]=Ae)}}te=te+ce|0,ue=$[(Ie=ce+Ie|0)+4>>2]}if($[Ie+4>>2]=-2&ue,$[Qe+4>>2]=1|te,$[te+Qe>>2]=te,te>>>0<=255)re=3144+(-8&te)|0,(Ae=$[776])&(te=1<<(te>>>3))?te=$[re+8>>2]:($[776]=te|Ae,te=re),$[re+8>>2]=Qe,$[te+12>>2]=Qe,$[Qe+12>>2]=re,$[Qe+8>>2]=te;else{ue=31,te>>>0<=16777215&&(ue=62+((te>>>38-(re=Re(te>>>8|0))&1)-(re<<1)|0)|0),$[Qe+28>>2]=ue,$[Qe+16>>2]=0,$[Qe+20>>2]=0,re=3408+(ue<<2)|0;a:{if((se=$[777])&(Ae=1<<ue)){for(ue=te<<((0|ue)!=31?25-(ue>>>1|0)|0:0),Ae=$[re>>2];;){if(re=Ae,(-8&$[Ae+4>>2])==(0|te))break a;if(Ae=ue>>>29|0,ue<<=1,!(Ae=$[(se=(4&Ae)+re|0)+16>>2]))break}$[se+16>>2]=Qe}else $[777]=Ae|se,$[re>>2]=Qe;$[Qe+24>>2]=re,$[Qe+12>>2]=Qe,$[Qe+8>>2]=Qe;break r}te=$[re+8>>2],$[te+12>>2]=Qe,$[re+8>>2]=Qe,$[Qe+24>>2]=0,$[Qe+12>>2]=re,$[Qe+8>>2]=te}}te=De+8|0;break e}t:if(Ie){re=$[se+28>>2];r:{if($[(te=3408+(re<<2)|0)>>2]==(0|se)){if($[te>>2]=Ae,Ae)break r;De=tA(re)&De,$[777]=De;break t}if($[Ie+($[Ie+16>>2]==(0|se)?16:20)>>2]=Ae,!Ae)break t}$[Ae+24>>2]=Ie,(te=$[se+16>>2])&&($[Ae+16>>2]=te,$[te+24>>2]=Ae),(te=$[se+20>>2])&&($[Ae+20>>2]=te,$[te+24>>2]=Ae)}t:if(ue>>>0<=15)te=ue+le|0,$[se+4>>2]=3|te,$[(te=te+se|0)+4>>2]=1|$[te+4>>2];else if($[se+4>>2]=3|le,$[(ce=se+le|0)+4>>2]=1|ue,$[ce+ue>>2]=ue,ue>>>0<=255)re=3144+(-8&ue)|0,(Ae=$[776])&(te=1<<(ue>>>3))?te=$[re+8>>2]:($[776]=te|Ae,te=re),$[re+8>>2]=ce,$[te+12>>2]=ce,$[ce+12>>2]=re,$[ce+8>>2]=te;else{te=31,ue>>>0<=16777215&&(te=62+((ue>>>38-(te=Re(ue>>>8|0))&1)-(te<<1)|0)|0),$[ce+28>>2]=te,$[ce+16>>2]=0,$[ce+20>>2]=0,re=3408+(te<<2)|0;r:{if((Ae=1<<te)&De){for(te=ue<<((0|te)!=31?25-(te>>>1|0)|0:0),le=$[re>>2];;){if((-8&$[(re=le)+4>>2])==(0|ue))break r;if(Ae=te>>>29|0,te<<=1,!(le=$[(Ae=(4&Ae)+re|0)+16>>2]))break}$[Ae+16>>2]=ce}else $[777]=Ae|De,$[re>>2]=ce;$[ce+24>>2]=re,$[ce+12>>2]=ce,$[ce+8>>2]=ce;break t}te=$[re+8>>2],$[te+12>>2]=ce,$[re+8>>2]=ce,$[ce+24>>2]=0,$[ce+12>>2]=re,$[ce+8>>2]=te}te=se+8|0;break e}A:if(Qe){re=$[Ae+28>>2];t:{if($[(te=3408+(re<<2)|0)>>2]==(0|Ae)){if($[te>>2]=se,se)break t;$[777]=tA(re)&De;break A}if($[Qe+($[Qe+16>>2]==(0|Ae)?16:20)>>2]=se,!se)break A}$[se+24>>2]=Qe,(te=$[Ae+16>>2])&&($[se+16>>2]=te,$[te+24>>2]=se),(te=$[Ae+20>>2])&&($[se+20>>2]=te,$[te+24>>2]=se)}ue>>>0<=15?(te=ue+le|0,$[Ae+4>>2]=3|te,$[(te=te+Ae|0)+4>>2]=1|$[te+4>>2]):($[Ae+4>>2]=3|le,$[(se=Ae+le|0)+4>>2]=1|ue,$[se+ue>>2]=ue,ve&&(re=3144+(-8&ve)|0,ce=$[781],(te=1<<(ve>>>3))&Ie?te=$[re+8>>2]:($[776]=te|Ie,te=re),$[re+8>>2]=ce,$[te+12>>2]=ce,$[ce+12>>2]=re,$[ce+8>>2]=te),$[781]=se,$[778]=ue),te=Ae+8|0}return Ge=oe+16|0,0|te}function qe(te){var oe=0,re=0,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0,nt=0,it=0,It=0,ht=0,ct=0,gt=0,ft=0,dt=0,Bt=0,Ct=0,Et=0,mt=0,Nt=0,Ft=0,Rt=0,Yt=0,Kt=0,kt=0,Mt=0,Gt=0,qt=0,Ot=0,Jt=0,Tt=0,_t=0,AA=0,hA=0,Ar=0,lA=0,dA=0,BA=0,CA=0,NA=0,EA=0,QA=0,yA=0,pA=0,xA=0,FA=0,RA=0,YA=0,rr=0,nr=0,KA=0,or=0,ir=0,Nr=0,Fr=0,sr=0,ar=0,Rr=0,Tn=0,_n=0,jn=0,Cs=0,Es=0,Qs=0,ys=0,ps=0,xs=0,bs=0,ws=0,ms=0,Ds=0,Mo=0,Ss=0,Hs=0,ks=0,Gs=0,vs=0,Us=0,Ls=0,Ns=0,Fs=0,Rs=0,Ys=0,Ks=0,Ms=0,qs=0,Os=0,Js=0;for(lA=$[te+192>>2],dA=$[te+196>>2],Ft=$[te+184>>2],BA=$[te+188>>2],CA=$[te+176>>2],NA=$[te+180>>2],Rt=$[te+168>>2],EA=$[te+172>>2],It=$[te+160>>2],nr=$[te+164>>2],QA=$[te+152>>2],KA=$[te+156>>2],yA=$[te+144>>2],pA=$[te+148>>2],Yt=$[te+136>>2],Kt=$[te+140>>2],kt=$[te+128>>2],or=$[te+132>>2],xA=$[te+120>>2],ir=$[te+124>>2],Mt=$[te+112>>2],Gt=$[te+116>>2],ze=$[te+104>>2],Ct=$[te+108>>2],qt=$[te+96>>2],Ot=$[te+100>>2],Qe=$[te+88>>2],Et=$[te+92>>2],Ie=$[te+80>>2],Jt=$[te+84>>2],ue=$[te+72>>2],Tt=$[te+76>>2],Ke=$[te+64>>2],it=$[te+68>>2],ht=$[te+56>>2],Ze=$[te+60>>2],re=$[te+48>>2],FA=$[te+52>>2],se=$[te+40>>2],Xe=$[te+44>>2],ct=$[te+32>>2],_t=$[te+36>>2],ve=$[te+24>>2],gt=$[te+28>>2],De=$[te+16>>2],mt=$[te+20>>2],Ae=$[te+8>>2],ft=$[te+12>>2],le=$[te>>2],dt=$[te+4>>2];jn>>>0<=23;)oe=ve^Ke^ze^Ft^yA,AA=me(nt=le^se^Ie^It^xA,Bt=dt^Xe^Jt^nr^ir,1)^oe,ce=me(ct^AA,_t^(hA=(Nr=gt^it^Ct^BA^pA)^ke),27),Fr=ke,RA=Nt=mt^Ze^Ot^Kt^NA,Nt=me(Ar=De^ht^qt^Yt^CA,Nt,1)^nt,nt=me(Qe^Nt,Et^(YA=ke^Bt),10),sr=ke,rr=Bt=ft^FA^Et^EA^or,ar=ct^ue^Mt^lA^QA,ct=me(Tn=Ae^re^Qe^Rt^kt,Bt,1)^ar,Bt=me(Bt=se^ct,Xe^(Et=(se=_t^Tt^Gt^dA^KA)^ke),36),Rr=ke,Qe=me(Ae^Nt,ft^YA,1),ft=ke,Xe=me(ar,se,1)^Ar,ze=me(Xe^ze,(Ar=Ct)^(Ct=ke^RA),25),RA=ke,_t=me(oe,Nr,1)^Tn,Ae=me(_t^ht,(Ar=Ze)^(Ze=ke^rr),6),Nr=ke,ht=me(ve^Xe,gt^Ct,28),gt=ke,Ie=me(Ie^ct,Et^Jt,3),Jt=ke,oe=me(ue^AA,Tt^hA,20),Ar=ve=ke,ue=me(De^_t,Ze^mt,62),Tt=ke,Mt=me(Mt^AA,Gt^hA,39),Gt=ke,se=me(Ke^Xe,it^Ct,55),mt=De=ke,it=$[(Ke=(Tn=jn<<3)+1120|0)>>2],Ke=$[Ke+4>>2],qt=me(qt^_t,Ze^Ot,43),Ot=ke,re=me(re^Nt,FA^YA,44),_n=De=(Cs=(dt^=Et)^(-1^(FA=ke))&Ot^Ke)^(Es=(-1^De)&Gt^Tt)^(Qs=(-1^ve)&Jt^gt)^(ys=(-1^Rr)&sr^Fr)^(ps=(-1^Nr)&RA^ft),Ke=me(it=(xs=(rr=le^ct)^(-1^re)&qt^it)^(bs=(-1^se)&Mt^ue)^(ws=(-1^oe)&Ie^ht)^(ms=(-1^Bt)&nt^ce)^(Ds=(-1^Ae)&ze^Qe),De,1),ve=ke,Yt=me(Yt^_t,Ze^Kt,15),Kt=ke,Ft=me(Xe^Ft,Ct^BA,56),ar=ke,yA=me(Xe^yA,Ct^pA,21),BA=ke,lA=me(lA^AA,dA^hA,14),pA=ke,xA=me(ct^xA,Et^ir,41),dA=ke,De=me(Rt^Nt,EA^YA,2),le=ke,QA=me(QA^AA,hA^KA,8),EA=ke,Rt=me(It^ct,Et^nr,18),ct=ke,It=me(kt^Nt,YA^or,45),kt=ke,Mo=(-1^Ft)&ce^Yt,Xe=(-1^lA)&rr^yA,KA=(-1^De)&ue^xA,Et=(-1^Rt)&Qe^QA,CA=me(_t^CA,Ze^NA,61),ue=me((Ke^=or=Mo^Xe^KA^Et^(nr=(-1^CA)&ht^It))^(ir=(-1^ue)&se^De),(ve^=Gs=(Ss=(-1^ar)&Fr^Kt)^(Hs=(-1^pA)&dt^BA)^(Ct=(-1^le)&Tt^dA)^(Ze=(-1^ct)&ft^EA)^(ks=(-1^(NA=ke))>^kt))^(Tt=(-1^Tt)&mt^le),14),AA=ke,Js=le=(vs=RA^(-1^EA)&ct)^(Us=Ot^(-1^BA)&pA)^(Ls=(-1^dA)&le^Gt)^(Ns=Jt^(-1^kt)&NA)^(Fs=(-1^Kt)&ar^sr),le=me(Os=(Rs=ze^(-1^QA)&Rt)^(Ys=qt^(-1^yA)&lA)^(Ks=(-1^xA)&De^Mt)^(Ms=Ie^(-1^It)&CA)^(qs=(-1^Yt)&Ft^nt),le,1)^it,Ie=me(le^(De=(-1^Ie)&It^oe),(it=ke^_n)^(It=(-1^Jt)&kt^Ar),44),hA=ke,kt=mt^(-1^Gt)&dA,Gt=Nr^(-1^RA)&EA,sr=Rr^(-1^sr)&Kt,nt=(Ft=(RA=Ft^(-1^ce)&Bt)^(_n=CA^(-1^ht)&oe)^(ce=Rt^(-1^Qe)&Ae)^ir^(Kt=(-1^rr)&re^lA))^me(Ae=(oe=se^(-1^Mt)&xA)^(Mt=Ae^(-1^ze)&QA)^(rr=Bt^(-1^nt)&Yt)^(qt=(-1^qt)&yA^re)^De,It^=kt^Gt^sr^(Ot=(-1^Ot)&BA^FA),1),YA=re=(ht=(se=(Fr=ar^(-1^Fr)&Rr)^(Rr=NA^(-1^gt)&Ar)^(Rt=ct^(-1^ft)&Nr)^Tt^(Yt=(-1^dt)&FA^pA))^ke)^Cs,De=ue,Bt=Ie,ct=ue^Ie&(-1^(Nt=nt^xs)),_t=(-1^re)&hA^AA,oe=me(oe^le,it^kt,2),Qe=ke,gt=me(Ft,se,1)^Os,se=me(nr^gt,ks^(mt=Js^ke),55),ze=ke,ft=me(or,Gs,1)^Ae,Ae=me(ft^Ys,(dt=It^ke)^Us,62),Ie=re=ke,lA=(-1^Ae)&se^oe,dA=(-1^re)&ze^Qe,Ft=(re=me(nt^ms,ht^ys,41))^(-1^oe)&Ae,BA=(ue=ke)^(-1^Qe)&Ie,CA=(ce=me(ce^Ke,ve^Rt,39))^(-1^re)&oe,NA=(oe=ke)^(-1^ue)&Qe,Rt=se^(-1^ce)&re,EA=ze^(-1^oe)&ue,It=Ae^(-1^se)&ce,nr=Ie^(-1^ze)&oe,oe=me(gt^KA,mt^Ct,56),Qe=ke,se=me(nt^ws,ht^Qs,36),ze=ke,Ae=me(Ke^Kt,ve^Yt,27),Ie=re=ke,QA=(-1^Ae)&se^oe,KA=(-1^re)&ze^Qe,yA=(re=me(ft^qs,dt^Fs,15))^(-1^oe)&Ae,pA=(ue=ke)^(-1^Qe)&Ie,Yt=(ce=me(le^Mt,it^Gt,10))^(-1^re)&oe,Kt=(oe=ke)^(-1^ue)&Qe,kt=se^(-1^ce)&re,or=ze^(-1^oe)&ue,xA=(-1^se)&ce^Ae,ir=(-1^ze)&oe^Ie,oe=me(nt^bs,ht^Es,18),Qe=ke,se=me(ft^Ms,dt^Ns,6),ue=ke,Ae=me(le^qt,it^Ot,1),Jt=re=ke,Mt=(-1^Ae)&se^oe,Gt=(-1^re)&ue^Qe,ze=(re=me(Ke^RA,ve^Fr,8))^(-1^oe)&Ae,Ct=(Ie=ke)^(-1^Qe)&Jt,qt=(ce=me(gt^Et,Ze^mt,25))^(-1^re)&oe,Ot=(oe=ke)^(-1^Ie)&Qe,Qe=se^(-1^ce)&re,Et=ue^(-1^oe)&Ie,Ie=(-1^se)&ce^Ae,Jt^=(-1^ue)&oe,oe=me(ft^Ks,dt^Ls,61),Ze=ke,se=me(Ke^_n,ve^Rr,20),ve=ke,Ae=me(Xe^gt,mt^Hs,28),Xe=re=ke,ue=(-1^Ae)&se^oe,Tt=(-1^re)&ve^Ze,Ke=(re=me(le^rr,it^sr,45))^(-1^oe)&Ae,it=(le=ke)^(-1^Ze)&Xe,ht=(ce=me(nt^Ds,ht^ps,3))^(-1^re)&oe,Ze=(oe=ke)^(-1^le)&Ze,re=(-1^ce)&re^se,FA=(-1^oe)&le^ve,se=Ae^(-1^se)&ce,Xe^=(-1^ve)&oe,ve=(Ae=me(gt^Mo,mt^Ss,21))^(-1^De)&Nt,gt=(ce=ke)^(-1^AA)&YA,De=(oe=me(ft^Rs,dt^vs,43))^(-1^Ae)&De,mt=(nt=ke)^(-1^ce)&AA,Ae=(-1^oe)&Ae^Bt,ft=(-1^nt)&ce^hA,le=Nt^$[(ce=1120+(8|Tn)|0)>>2]^(-1^Bt)&oe,dt=YA^$[ce+4>>2]^(-1^hA)&nt,jn=jn+2|0;$[te+192>>2]=lA,$[te+196>>2]=dA,$[te+184>>2]=Ft,$[te+188>>2]=BA,$[te+176>>2]=CA,$[te+180>>2]=NA,$[te+168>>2]=Rt,$[te+172>>2]=EA,$[te+160>>2]=It,$[te+164>>2]=nr,$[te+152>>2]=QA,$[te+156>>2]=KA,$[te+144>>2]=yA,$[te+148>>2]=pA,$[te+136>>2]=Yt,$[te+140>>2]=Kt,$[te+128>>2]=kt,$[te+132>>2]=or,$[te+120>>2]=xA,$[te+124>>2]=ir,$[te+112>>2]=Mt,$[te+116>>2]=Gt,$[te+104>>2]=ze,$[te+108>>2]=Ct,$[te+96>>2]=qt,$[te+100>>2]=Ot,$[te+88>>2]=Qe,$[te+92>>2]=Et,$[te+80>>2]=Ie,$[te+84>>2]=Jt,$[te+72>>2]=ue,$[te+76>>2]=Tt,$[te+64>>2]=Ke,$[te+68>>2]=it,$[te+56>>2]=ht,$[te+60>>2]=Ze,$[te+48>>2]=re,$[te+52>>2]=FA,$[te+40>>2]=se,$[te+44>>2]=Xe,$[te+32>>2]=ct,$[te+36>>2]=_t,$[te+24>>2]=ve,$[te+28>>2]=gt,$[te+16>>2]=De,$[te+20>>2]=mt,$[te+8>>2]=Ae,$[te+12>>2]=ft,$[te>>2]=le,$[te+4>>2]=dt}function rt(te){var oe=0,re=0,Ae=0,se=0,ce=0,ue=0,Ie=0;e:if(te|=0){ce=(Ae=te-8|0)+(te=-8&(oe=$[te-4>>2]))|0;A:if(!(1&oe)){if(!(3&oe)||(Ae=Ae-(oe=$[Ae>>2])|0)>>>0<He[780])break e;te=te+oe|0;t:{r:{if($[781]!=(0|Ae)){if(oe>>>0<=255){if(se=oe>>>3|0,(0|(oe=$[Ae+12>>2]))==(0|(re=$[Ae+8>>2]))){$[776]=$[776]&tA(se);break A}$[re+12>>2]=oe,$[oe+8>>2]=re;break A}if(ue=$[Ae+24>>2],(0|Ae)!=(0|(oe=$[Ae+12>>2]))){re=$[Ae+8>>2],$[re+12>>2]=oe,$[oe+8>>2]=re;break t}if(!(re=$[(se=Ae+20|0)>>2])){if(!(re=$[Ae+16>>2]))break r;se=Ae+16|0}for(;Ie=se,(re=$[(se=(oe=re)+20|0)>>2])||(se=oe+16|0,re=$[oe+16>>2]););$[Ie>>2]=0;break t}if((3&(oe=$[ce+4>>2]))!=3)break A;return $[778]=te,$[ce+4>>2]=-2&oe,$[Ae+4>>2]=1|te,void($[ce>>2]=te)}oe=0}if(ue){re=$[Ae+28>>2];t:{if($[(se=3408+(re<<2)|0)>>2]==(0|Ae)){if($[se>>2]=oe,oe)break t;$[777]=$[777]&tA(re);break A}if($[ue+($[ue+16>>2]==(0|Ae)?16:20)>>2]=oe,!oe)break A}$[oe+24>>2]=ue,(re=$[Ae+16>>2])&&($[oe+16>>2]=re,$[re+24>>2]=oe),(re=$[Ae+20>>2])&&($[oe+20>>2]=re,$[re+24>>2]=oe)}}if(!(Ae>>>0>=ce>>>0)&&1&(oe=$[ce+4>>2])){A:{t:{r:{a:{if(!(2&oe)){if($[782]==(0|ce)){if($[782]=Ae,te=$[779]+te|0,$[779]=te,$[Ae+4>>2]=1|te,$[781]!=(0|Ae))break e;return $[778]=0,void($[781]=0)}if($[781]==(0|ce))return $[781]=Ae,te=$[778]+te|0,$[778]=te,$[Ae+4>>2]=1|te,void($[te+Ae>>2]=te);if(te=(-8&oe)+te|0,oe>>>0<=255){if(se=oe>>>3|0,(0|(oe=$[ce+12>>2]))==(0|(re=$[ce+8>>2]))){$[776]=$[776]&tA(se);break t}$[re+12>>2]=oe,$[oe+8>>2]=re;break t}if(ue=$[ce+24>>2],(0|ce)!=(0|(oe=$[ce+12>>2]))){re=$[ce+8>>2],$[re+12>>2]=oe,$[oe+8>>2]=re;break r}if(!(re=$[(se=ce+20|0)>>2])){if(!(re=$[ce+16>>2]))break a;se=ce+16|0}for(;Ie=se,(re=$[(se=(oe=re)+20|0)>>2])||(se=oe+16|0,re=$[oe+16>>2]););$[Ie>>2]=0;break r}$[ce+4>>2]=-2&oe,$[Ae+4>>2]=1|te,$[te+Ae>>2]=te;break A}oe=0}if(ue){re=$[ce+28>>2];r:{if($[(se=3408+(re<<2)|0)>>2]==(0|ce)){if($[se>>2]=oe,oe)break r;$[777]=$[777]&tA(re);break t}if($[ue+($[ue+16>>2]==(0|ce)?16:20)>>2]=oe,!oe)break t}$[oe+24>>2]=ue,(re=$[ce+16>>2])&&($[oe+16>>2]=re,$[re+24>>2]=oe),(re=$[ce+20>>2])&&($[oe+20>>2]=re,$[re+24>>2]=oe)}}if($[Ae+4>>2]=1|te,$[te+Ae>>2]=te,$[781]==(0|Ae))return void($[778]=te)}if(te>>>0<=255)return oe=3144+(-8&te)|0,(re=$[776])&(te=1<<(te>>>3))?te=$[oe+8>>2]:($[776]=te|re,te=oe),$[oe+8>>2]=Ae,$[te+12>>2]=Ae,$[Ae+12>>2]=oe,void($[Ae+8>>2]=te);re=31,te>>>0<=16777215&&(re=62+((te>>>38-(oe=Re(te>>>8|0))&1)-(oe<<1)|0)|0),$[Ae+28>>2]=re,$[Ae+16>>2]=0,$[Ae+20>>2]=0,oe=3408+(re<<2)|0;A:{t:{if((se=$[777])&(Ie=1<<re)){for(re=te<<((0|re)!=31?25-(re>>>1|0)|0:0),oe=$[oe>>2];;){if(se=oe,(-8&$[oe+4>>2])==(0|te))break t;if(oe=re>>>29|0,re<<=1,!(oe=$[(Ie=se+(4&oe)|0)+16>>2]))break}$[Ie+16>>2]=Ae,$[Ae+24>>2]=se}else $[777]=se|Ie,$[oe>>2]=Ae,$[Ae+24>>2]=oe;$[Ae+12>>2]=Ae,$[Ae+8>>2]=Ae;break A}te=$[se+8>>2],$[te+12>>2]=Ae,$[se+8>>2]=Ae,$[Ae+24>>2]=0,$[Ae+12>>2]=se,$[Ae+8>>2]=te}te=$[784]-1|0,$[784]=te||-1}}}function tt(te,oe,re,Ae){var se,ce,ue,Ie,le=0,Qe=0,De=0,ve=0,Ke=0;for(Ge=ce=Ge-160|0,Ie=ce+12|0,ue=Pe(200),$[Ie>>2]=ue,ue||(we(111),ae()),Ge=se=Ge-208|0;;){if((0|le)==25){for(;;){if(le=0,Ae>>>0<136){for(Qe=0;;){if((0|le)==136){for(;(0|Ae)!=(0|Qe);)ge[Qe+se|0]=Be[re+Qe|0],Qe=Qe+1|0;break}ge[le+se|0]=0,le=le+1|0}for(ge[Ae+se|0]=31,ge[se+135|0]=128|Be[se+135|0],le=0;(0|le)!=17;)Qe=$[(re=(Ae=le<<3)+ue|0)>>2],De=$[re+4>>2],$[re>>2]=ut(Ae+se|0)^Qe,$[re+4>>2]=ke^De,le=le+1|0;Ge=se+208|0;break}for(;(0|le)!=17;)ve=$[(Qe=(De=le<<3)+ue|0)>>2],Ke=$[Qe+4>>2],$[Qe>>2]=ut(re+De|0)^ve,$[Qe+4>>2]=ke^Ke,le=le+1|0;qe(ue),re=re+136|0,Ae=Ae-136|0}break}$[(Qe=(le<<3)+ue|0)>>2]=0,$[Qe+4>>2]=0,le=le+1|0}_e(te,re=(oe>>>0)/136|0,Ie);e:if((0|(re=Se(re,136)))!=(0|oe))for(Ae=oe-re|0,te=te+re|0,_e(ce+16|0,1,ce+12|0),oe=0;;){if((0|oe)==(0|Ae))break e;ge[te+oe|0]=Be[(ce+16|0)+oe|0],oe=oe+1|0}rt($[ce+12>>2]),Ge=ce+160|0}function Je(te,oe,re,Ae){for(var se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0,Ke=0;;){e:{if(Ie=0,ue=0,le=De=$[te+204>>2],!(!((Qe=Ae+(se=$[te+200>>2])|0)>>>0<Ae>>>0?le+1|0:le)&oe>>>0>Qe>>>0)){for(;!(!ue&(ce=oe-se|0)>>>0<=Ie>>>0|(0|ue)!=0);)De=$[(le=(-8&(se=se+Ie|0))+te|0)+4>>2],Qe=Be[re+Ie|0],ce=31&(se<<=3),(63&se)>>>0>=32?(se=Qe<<ce,ce=0):(se=(1<<ce)-1&Qe>>>32-ce,ce=Qe<<ce),$[le>>2]=ce^$[le>>2],$[le+4>>2]=se^De,ue=(Ie=Ie+1|0)?ue:ue+1|0,se=$[te+200>>2],De=$[te+204>>2];$[te+200>>2]=0,$[te+204>>2]=0,qe(te),re=re+ce|0,Ae=Ae-ce|0;continue}for(;;){if(!Ke&(0|Ae)==(0|ve))break e;oe=ve+$[te+200>>2]|0,ce=$[(ue=(-8&oe)+te|0)+4>>2],Ie=Be[re+ve|0],oe=31&(se=oe<<3),(63&se)>>>0>=32?(se=Ie<<oe,oe=0):(se=(1<<oe)-1&Ie>>>32-oe,oe=Ie<<oe),$[ue>>2]=oe^$[ue>>2],$[ue+4>>2]=se^ce,oe=Ke,Ke=(ve=ve+1|0)?oe:oe+1|0}}break}oe=$[te+204>>2],oe=(re=Ae+$[te+200>>2]|0)>>>0<Ae>>>0?oe+1|0:oe,$[te+200>>2]=re,$[te+204>>2]=oe}function Te(te,oe,re,Ae){var se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0;for(Qe=oe;;){ue=$[re+200>>2],Ie=$[re+204>>2];e:{if(!le&(0|se)==(0|Qe))ce=oe;else{if(ce=se,(0|le)==(0|Ie)&ue>>>0>se>>>0|le>>>0<Ie>>>0)break e;Qe=se}for(se=ue-Qe|0,le=Ie-((ue>>>0<Qe>>>0)+0|0)|0,Qe=oe-ce|0,oe=te+ce|0;$[re+200>>2]=se,$[re+204>>2]=le,Qe;){for(qe(re),te=Ae>>>0>Qe>>>0?Qe:Ae,ce=0;(0|te)!=(0|ce);)Ie=$[(se=(-8&ce)+re|0)>>2],ue=$[se+4>>2],se=31&(le=ce<<3&56),ge[oe+ce|0]=(63&le)>>>0>=32?ue>>>se|0:((1<<se)-1&ue)<<32-se|Ie>>>se,ce=ce+1|0;Qe=Qe-te|0,oe=te+oe|0,se=Ae-te|0,le=0}return}ve=De=te+ce|0,De=$[(Ie=(-8&(ue=se+(Ae-ue|0)|0))+re|0)>>2],Ie=$[Ie+4>>2],ce=31&(ue<<=3),ge[0|ve]=(63&ue)>>>0>=32?Ie>>>ce|0:((1<<ce)-1&Ie)<<32-ce|De>>>ce,le=(se=se+1|0)?le:le+1|0}}function pe(te,oe){var re,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0;for(Ge=re=Ge-160|0,eA(ce=re+12|0),Lt(ce,oe,32),Lr(ce),IA(re+16|0,136,ce);;){if(!Ae&(0|se)==8){for(oe=0;;){if((0|oe)==256){for(oe=8,se=196;(0|se)!=256;){for(;oe>>>0>=136&&(IA(re+16|0,136,re+12|0),oe=0),Ae=(re+16|0)+oe|0,oe=oe+1|0,(Ae=Be[0|Ae])>>>0>se>>>0;);Ae=(Ae<<2)+te|0,$[(se<<2)+te>>2]=$[Ae>>2],$[Ae>>2]=1-(Ie<<1&2),se=se+1|0,Ie=(1&le)<<31|Ie>>>1,le=le>>>1|0}LA(re+12|0),Ge=re+160|0;break}$[(oe<<2)+te>>2]=0,oe=oe+1|0}break}ce=Be[(re+16|0)+se|0],oe=31&(ue=se<<3),(63&ue)>>>0>=32?(ue=ce<<oe,oe=0):(ue=(1<<oe)-1&ce>>>32-oe,oe=ce<<oe),Ie|=oe,le|=ue,Ae=(se=se+1|0)?Ae:Ae+1|0}}function ye(te,oe){for(var re=0,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0,Ke=0;(0|Ie)!=8;){for(ve=Ie<<8,Ke=Se(Ie,7168)+te|0,ue=0;(0|ue)!=7;){for(Ge=re=(Ge=se=Ge-864|0)-16|0,Ae=ue+ve|0,ge[re+14|0]=Ae,ge[re+15|0]=Ae>>>8,eA(Ae=se+12|0),Bs(Ae,oe,32),Bs(Ae,re+14|0,2),Oe($[Ae>>2],168),Ge=re+16|0,re=840,ds(ce=se+16|0,840,Ae),Ae=je(Qe=(ue<<10)+Ke|0,256,ce,840);Ae>>>0<=255;){for(le=re-(ce=(re>>>0)%3|0)|0,re=0;(0|re)!=(0|ce);)ge[(De=se+16|0)+re|0]=Be[(re+le|0)+De|0],re=re+1|0;ds((re=se+16|0)|ce,168,se+12|0),Ae=je((Ae<<2)+Qe|0,256-Ae|0,le=re,re=168|ce)+Ae|0}LA(se+12|0),Ge=se+864|0,ue=ue+1|0}Ie=Ie+1|0}}function Ue(te){var oe=0,re=0,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0;ce=256,Ae=1;e:for(;;){A:{if(re=0,Ae>>>0>255)for(;;){if((0|ue)==256)break A;oe=ot(oe=$[(se=(ue<<2)+te|0)>>2],oe>>31,41978,0),$[se>>2]=On(oe,ke),ue=ue+1|0}for(;;){t:{if(re>>>0<=255)for(le=re+Ae|0,De=(se=0-$[1312+((ce=ce-1|0)<<2)>>2]|0)>>31;;){if((0|re)==(0|le))break t;Qe=$[(oe=(re<<2)+te|0)>>2],ve=oe,oe=$[(Ie=(re+Ae<<2)+te|0)>>2],$[ve>>2]=Qe+oe,oe=Qe-oe|0,$[Ie>>2]=oe,$[Ie>>2]=On(ot(oe,oe>>31,se,De),ke),re=re+1|0}Ae<<=1;continue e}re=Ae+le|0}}break}}function Fe(te,oe){for(var re=0,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0;(0|se)!=32;)re=(se<<5)+te|0,Ae=Se(se,3)+oe|0,ce=7&Be[0|Ae],$[re>>2]=ce,ue=Be[0|Ae]>>>3&7,$[re+4>>2]=ue,Ie=Be[Ae+1|0]<<2&4|Be[0|Ae]>>>6,$[re+8>>2]=Ie,le=Be[Ae+1|0]>>>1&7,$[re+12>>2]=le,Qe=Be[Ae+1|0]>>>4&7,$[re+16>>2]=Qe,De=Be[Ae+2|0]<<1&6|Be[Ae+1|0]>>>7,$[re+20>>2]=De,ve=Be[Ae+2|0]>>>2&7,$[re+24>>2]=ve,Ae=Be[Ae+2|0],$[re+4>>2]=2-ue,$[re>>2]=2-ce,$[re+8>>2]=2-Ie,$[re+12>>2]=2-le,$[re+16>>2]=2-Qe,$[re+20>>2]=2-De,$[re+24>>2]=2-ve,$[re+28>>2]=2-(Ae>>>5|0),se=se+1|0}function me(te,oe,re){var Ae=0,se=0,ce=0,ue=0;return se=31&(ce=ue=63&re),ce=ce>>>0>=32?-1>>>se|0:(Ae=-1>>>se|0)|(1<<se)-1<<32-se,ce&=te,Ae&=oe,se=31&ue,ue>>>0>=32?(Ae=ce<<se,ue=0):(Ae=(1<<se)-1&ce>>>32-se|Ae<<se,ue=ce<<se),ce=Ae,Ae=31&(se=0-re&63),se>>>0>=32?(Ae=-1<<Ae,re=0):Ae=(re=-1<<Ae)|(1<<Ae)-1&-1>>>32-Ae,te&=re,oe&=Ae,Ae=31&se,se>>>0>=32?(re=0,te=oe>>>Ae|0):(re=oe>>>Ae|0,te=((1<<Ae)-1&oe)<<32-Ae|te>>>Ae),ke=re|ce,te|=ue}function Ye(te){var oe=0,re=0,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0;for(re=128;oe=0,re;){for(;oe>>>0<=255;){for(ue=oe>>>0>(Ae=oe+re|0)>>>0?oe:Ae,Qe=(Ae=$[1312+((Ie=Ie+1|0)<<2)>>2])>>31;(0|oe)!=(0|ue);)ce=On(ot(ce=$[(se=(oe+re<<2)+te|0)>>2],ce>>31,Ae,Qe),ke),De=se,le=$[(se=(oe<<2)+te|0)>>2],$[De>>2]=le-ce,$[se>>2]=ce+le,oe=oe+1|0;oe=re+ue|0}re=re>>>1|0}}function Oe(te,oe){var re,Ae=0,se=0,ce=0;Ae=$[te+200>>2],re=$[(se=te+(-8&Ae)|0)+4>>2],Ae=31&(ce=Ae<<3),(63&ce)>>>0>=32?(ce=31<<Ae,Ae=0):(ce=(1<<Ae)-1&31>>>32-Ae,Ae=31<<Ae),$[se>>2]=Ae^$[se>>2],$[se+4>>2]=ce^re,ce=$[(oe=(-8&(Ae=oe-1|0))+te|0)+4>>2],Ae=31&(se=Ae<<3&56),(63&se)>>>0>=32?(se=128<<Ae,Ae=0):(se=(1<<Ae)-1&128>>>32-Ae,Ae=128<<Ae),$[oe>>2]=Ae^$[oe>>2],$[oe+4>>2]=se^ce,$[te+200>>2]=0,$[te+204>>2]=0}function Le(te,oe){for(var re=0,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0;(0|Ae)!=32;)Ie=$[(re=(Ae<<5)+oe|0)+16>>2],le=$[re+12>>2],se=$[re+28>>2],Qe=$[re+20>>2],De=$[re+24>>2],ce=Se(Ae,3)+te|0,ue=16-($[re+4>>2]<<3)|2-$[re>>2],re=2-$[re+8>>2]|0,ge[0|ce]=ue|re<<6,ue=64-(se<<5)|0,se=2-Qe|0,ge[ce+2|0]=ue|8-(De<<2)|(254&se)>>>1,ge[ce+1|0]=32-(Ie<<4)|4-(le<<1)|(252&re)>>>2|se<<7,Ae=Ae+1|0}function _e(te,oe,re){var Ae,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0;Ae=$[re>>2];e:for(;;){if(oe)for(qe(Ae),re=0;;){if((0|re)==17){oe=oe-1|0,te=te+136|0;continue e}for(Qe=(se=re<<3)+te|0,De=$[(se=se+Ae|0)>>2],Ie=$[se+4>>2],ce=0,se=0;(0|ce)!=8|se;)ue=31&(le=ce<<3),ge[ce+Qe|0]=(63&le)>>>0>=32?Ie>>>ue|0:((1<<ue)-1&Ie)<<32-ue|De>>>ue,se=(ce=ce+1|0)?se:se+1|0;re=re+1|0}break}}function We(te,oe){for(var re=0,Ae=0,se=0,ce=0,ue=0;(0|ue)!=128;)se=(ue<<3)+te|0,re=Se(ue,5)+oe|0,Ae=Be[0|re],$[se>>2]=Ae,Ae|=Be[re+1|0]<<8,$[se>>2]=Ae,Ae|=Be[re+2|0]<<16&983040,$[se>>2]=Ae,ce=Be[re+2|0]>>>4|0,$[se+4>>2]=ce,ce|=Be[re+3|0]<<4,$[se+4>>2]=ce,re=Be[re+4|0],$[se>>2]=524288-Ae,$[se+4>>2]=524288-(ce|re<<12),ue=ue+1|0}function at(te,oe,re){for(var Ae=0,se=0,ce=0,ue=0;!(oe>>>0<=Ae>>>0|ce>>>0>135);)ue=(se=Be[re+ce|0])>>>4|0,ce=ce+1|0,(0|(se&=15))!=15&&($[(Ae<<2)+te>>2]=2+(Se(Se(se,205)>>>10|0,5)-se|0),Ae=Ae+1|0),(0|ue)==15|oe>>>0<=Ae>>>0||($[(Ae<<2)+te>>2]=2+(Se(Se(ue,205)>>>10|0,5)-ue|0),Ae=Ae+1|0);return Ae}function $e(te,oe,re){for(var Ae=0,se=0,ce=0,ue=0,Ie=0,le=0;(0|Ae)!=8;){for(Ge=se=Ge-1024|0,qn(ue=(Ae<<10)+te|0,Ie=Se(Ae,7168)+oe|0,re),ce=1;(0|ce)!=7;)qn(se,(le=ce<<10)+Ie|0,re+le|0),No(ue,ue,se),ce=ce+1|0;Ge=se+1024|0,Ae=Ae+1|0}}function je(te,oe,re,Ae){for(var se=0,ce=0,ue=0,Ie=0;!(oe>>>0<=ce>>>0||(se=Ie+3|0)>>>0>Ae>>>0);)ue=re+Ie|0,Ie=se,(se=Be[ue+2|0]<<16&8323072|Be[0|ue]|Be[ue+1|0]<<8)>>>0>8380416||($[(ce<<2)+te>>2]=se,ce=ce+1|0);return ce}function ut(te){for(var oe=0,re=0,Ae=0,se=0,ce=0,ue=0,Ie=0;!(!se&(0|re)==8);)ce=Be[te+re|0],oe=31&(Ae=re<<3),(63&Ae)>>>0>=32?(Ae=ce<<oe,oe=0):(Ae=(1<<oe)-1&ce>>>32-oe,oe=ce<<oe),ue|=oe,Ie|=Ae,se=(re=re+1|0)?se:se+1|0;return ke=Ie,ue}function ot(te,oe,re,Ae){var se,ce,ue,Ie,le=0,Qe=0;return Ie=Se(le=re>>>16|0,Qe=te>>>16|0),le=(65535&(Qe=((ue=Se(se=65535&re,ce=65535&te))>>>16|0)+Se(Qe,se)|0))+Se(le,ce)|0,ke=(Se(oe,re)+Ie|0)+Se(te,Ae)+(Qe>>>16)+(le>>>16)|0,65535&ue|le<<16}function xt(te,oe,re){for(var Ae=0,se=0,ce=0,ue=0,Ie=0,le=0;(0|se)!=8;){for(ue=(Ae=se<<10)+te|0,Ie=oe+Ae|0,le=re+Ae|0,Ae=0;(0|Ae)!=256;)$[ue+(ce=Ae<<2)>>2]=$[ce+Ie>>2]-$[ce+le>>2],Ae=Ae+1|0;se=se+1|0}}function At(te,oe,re){var Ae,se;for(Ge=Ae=Ge-160|0,us(se=Ae+12|0,oe,re),IA(oe=Ae+16|0,136,se),re=at(te,256,oe);re>>>0<=255;)IA(oe=Ae+16|0,136,Ae+12|0),re=at((re<<2)+te|0,256-re|0,oe)+re|0;LA(Ae+12|0),Ge=Ae+160|0}function lt(te,oe){for(var re=0,Ae=0,se=0,ce=0,ue=0;(0|Ae)!=8;){for(ce=(Ae<<7)+te|0,ue=(Ae<<10)+oe|0,re=0;(0|re)!=128;)se=(re<<3)+ue|0,ge[re+ce|0]=$[se+4>>2]<<4|$[se>>2],re=re+1|0;Ae=Ae+1|0}}function vr(te){for(var oe=0,re=0,Ae=0,se=0,ce=0;(0|re)!=8;){for(ce=(re<<10)+te|0,oe=0;(0|oe)!=256;)se=$[(Ae=(oe<<2)+ce|0)>>2],$[Ae>>2]=se+(se>>31&8380417),oe=oe+1|0;re=re+1|0}}function eA(te){var oe=0,re=0;for(oe=te,te=Pe(208),$[oe>>2]=te,te||(we(111),ae());(0|re)!=25;)$[(oe=te+(re<<3)|0)>>2]=0,$[oe+4>>2]=0,re=re+1|0;$[te+200>>2]=0,$[te+204>>2]=0}function qn(te,oe,re){for(var Ae=0,se=0,ce=0;(0|se)!=256;)Ae=ot(Ae=$[(ce=se<<2)+re>>2],Ae>>31,Ae=$[oe+ce>>2],Ae>>31),$[te+ce>>2]=On(Ae,ke),se=se+1|0}function Ur(te){var oe,re;return(te=(oe=$[584])+(re=te+7&-8)|0)>>>0<=oe>>>0&&re||te>>>0>(Ce.byteLength/65536|0)<<16>>>0&&!(0|Ve(0|te))?($[775]=48,-1):($[584]=te,oe)}function ss(te,oe){var re=0,Ae=0;if((0|oe)<=1047552)for(;;){if((0|Ae)==256)return 0;if(re=Ae<<2,Ae=Ae+1|0,!(((re=$[te+re>>2])-(re<<1&re>>31)|0)<(0|oe)))break}return 1}function as(te){for(var oe=0,re=0,Ae=0;(0|oe)!=256;)Ae=$[(re=(oe<<2)+te|0)>>2],$[re>>2]=Ae+Se(Ae+4194304>>23,-8380417),oe=oe+1|0}function cs(te,oe){var re;return re=te,te=Se(oe+127>>7,1025)+2097152>>>22&15,oe=Se(te,-523776)+oe|0,$[re>>2]=((0|oe)>4190208?-8380417:0)+oe,te}function gs(te){for(var oe=0,re=0;;){if((0|oe)==7)return 0;if(re=oe<<10,oe=oe+1|0,ss(te+re|0,524168))break}return 1}function fs(te,oe){for(var re=0,Ae=0;;){if((0|re)==8)return 0;if(Ae=re<<10,re=re+1|0,ss(te+Ae|0,oe))break}return 1}function No(te,oe,re){for(var Ae=0,se=0;(0|Ae)!=256;)$[(se=Ae<<2)+te>>2]=$[re+se>>2]+$[oe+se>>2],Ae=Ae+1|0}function us(te,oe,re){var Ae;Ge=Ae=Ge-16|0,ge[Ae+14|0]=re,ge[Ae+15|0]=re>>>8,eA(te),Lt(te,oe,64),Lt(te,Ae+14|0,2),Lr(te),Ge=Ae+16|0}function On(te,oe){var re=0;return ot(te,oe,0,58728449),re=ot(re=ke,re>>31,-8380417,-1),oe=oe+ke|0,te+re>>>0<te>>>0?oe+1|0:oe}function Is(te,oe,re){for(var Ae=0,se=0;(0|Ae)!=8;)No((se=Ae<<10)+te|0,oe+se|0,re+se|0),Ae=Ae+1|0}function Fo(te,oe,re){for(var Ae=0,se=0;(0|Ae)!=8;)qn((se=Ae<<10)+te|0,oe,re+se|0),Ae=Ae+1|0}function hs(te,oe){var re=0;for(re=7168;ge[0|te]=Be[0|oe],te=te+1|0,oe=oe+1|0,re=re-1|0;);}function ls(te,oe){for(var re=0;(0|oe)!=(0|re);)Ye((re<<10)+te|0),re=re+1|0}function An(te){for(var oe=0;(0|oe)!=8;)as((oe<<10)+te|0),oe=oe+1|0}function rn(te){for(var oe=0;(0|oe)!=8;)Ue((oe<<10)+te|0),oe=oe+1|0}function tA(te){var oe;return(-1>>>(oe=31&te)&-2)<<oe|(-1<<(te=0-te&31)&-2)>>>te}function Ro(te){return te?31-Re(te-1^te)|0:32}function ds(te,oe,re){Te(te,oe,$[re>>2],168)}function Bs(te,oe,re){Je($[te>>2],168,oe,re)}function IA(te,oe,re){Te(te,oe,$[re>>2],136)}function Lt(te,oe,re){Je($[te>>2],136,oe,re)}function Lr(te){Oe($[te>>2],136)}function LA(te){rt($[te>>2])}function Yo(te){ls(te,8)}function Jn(te){ls(te,7)}ie(X=Be,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),ie(X,1120,"AQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zike"),ie(X,2336,"EA6A");var Ko,Dc=((Ko=[]).set=function(te,oe){this[te]=oe},Ko.get=function(te){return this[te]},Ko);return{e:function(){},f:Dc,g:Pe,h:rt,i:function(){var te;Ge=te=Ge-16|0,ge[te+15|0]=0,Me(2376,te+15|0,0),Ge=te+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(te,oe){te|=0,oe|=0;var re,Ae=0,se=0,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0;for(Ge=re=Ge-96416|0,Ie=re+96288|0;(0|se)!=32;)Ge=ue=Ge-16|0,ge[ue+15|0]=0,le=0|Me(2340,ue+15|0,0),Ge=ue+16|0,ge[se+Ie|0]=le,se=se+1|0;for(tt(Ie,128,Ie,32),ye(ue=re+38912|0,Ie),ve=re+31744|0,se=re+96320|0;(0|Ae)!=7;)At(ve+(Ae<<10)|0,se,65535&ce),Ae=Ae+1|0,ce=ce+1|0;for(Ke=re+16384|0,Ae=0,ce=7;(0|Ae)!=8;)At(Ke+(Ae<<10)|0,se,65535&ce),Ae=Ae+1|0,ce=ce+1|0;for(hs(Ae=re+24576|0,ve),Jn(Ae),$e(ce=re- -8192|0,ue,Ae),An(ce),rn(ce),Is(ce,ce,Ke),vr(ce),Ae=0;(0|Ae)!=8;){for(Ze=(se=Ae<<10)+ce|0,Qe=se+re|0,De=se+ce|0,se=0;(0|se)!=256;)le=(ze=$[(ue=se<<2)+De>>2])+4095|0,$[ue+Qe>>2]=ze-(-8192&le),$[ue+Ze>>2]=le>>13,se=se+1|0;Ae=Ae+1|0}for(Ae=0;(0|Ae)!=32;)ge[te+Ae|0]=Be[Ae+Ie|0],Ae=Ae+1|0;for(Ze=te+32|0,Ae=0;(0|Ae)!=8;){for(Qe=Ze+Se(Ae,320)|0,De=ce+(Ae<<10)|0,ue=0;(0|ue)!=64;)le=Qe+Se(ue,5)|0,se=De+(ue<<4)|0,ge[0|le]=$[se>>2],ge[le+1|0]=$[se+4>>2]<<2|$[se>>2]>>>8,ge[le+2|0]=$[se+8>>2]<<4|$[se+4>>2]>>>6,ge[le+3|0]=$[se+12>>2]<<6|$[se+8>>2]>>>4,ge[le+4|0]=$[se+12>>2]>>>2,ue=ue+1|0;Ae=Ae+1|0}for(tt(ce=re+96256|0,32,te,2592),te=re+96384|0,Ae=0;(0|Ae)!=32;)ge[oe+Ae|0]=Be[Ae+Ie|0],Ae=Ae+1|0;for(se=oe+32|0,Ae=0;(0|Ae)!=32;)ge[Ae+se|0]=Be[te+Ae|0],Ae=Ae+1|0;for(te=oe- -64|0,Ae=0;(0|Ae)!=32;)ge[te+Ae|0]=Be[Ae+ce|0],Ae=Ae+1|0;for(te=oe+96|0,Ae=0;(0|Ae)!=7;)Le(te+Se(Ae,96)|0,ve+(Ae<<10)|0),Ae=Ae+1|0;for(te=oe+768|0,Ae=0;(0|Ae)!=8;)Le(te+Se(Ae,96)|0,Ke+(Ae<<10)|0),Ae=Ae+1|0;for(le=oe+1536|0,Ae=0;(0|Ae)!=8;){for(ve=le+Se(Ae,416)|0,Ke=(Ae<<10)+re|0,ce=0;(0|ce)!=32;)Ze=$[(oe=Ke+(ce<<5)|0)+20>>2],Qe=$[oe+8>>2],De=$[oe+28>>2],ue=$[oe+24>>2],Ie=$[oe+16>>2],se=$[oe+12>>2],ze=$[oe+4>>2],te=ve+Se(ce,13)|0,Xe=4096-$[oe>>2]|0,ge[0|te]=Xe,oe=4096-ze|0,ge[te+2|0]=oe>>>3,se=4096-se|0,ge[te+5|0]=se>>>1,Ie=4096-Ie|0,ge[te+7|0]=Ie>>>4,ue=4096-ue|0,ge[te+10|0]=ue>>>2,De=4096-De|0,ge[te+12|0]=De>>>5,ge[te+1|0]=oe<<5|Xe>>>8,Qe=4096-Qe|0,ge[te+3|0]=Qe<<2|oe>>>11,ge[te+4|0]=se<<7|Qe>>>6,ge[te+6|0]=Ie<<4|se>>>9,oe=4096-Ze|0,ge[te+8|0]=oe<<1|Ie>>>12,ge[te+9|0]=ue<<6|oe>>>7,ge[te+11|0]=De<<3|ue>>>10,ce=ce+1|0;Ae=Ae+1|0}return Ge=re+96416|0,0},n:function(te,oe,re,Ae){oe|=0,re|=0,Ae|=0;var se,ce,ue,Ie=0,le=0,Qe=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0,nt=0,it=0,It=0,ht=0,ct=0,gt=0,ft=0,dt=0,Bt=0,Ct=0,Et=0;for(ce=(te|=0)+2|0,Ge=se=(Ge=ue=Ge-16|0)-121072|0,le=It=se+120848|0,Qe=ht=se+120880|0,De=se+120912|0,ve=se+33808|0,Ke=se+56336|0,Ze=se+25616|0;(0|Ie)!=32;)ge[Ie+le|0]=Be[Ae+Ie|0],Ie=Ie+1|0;for(le=Ae+32|0,Ie=0;(0|Ie)!=32;)ge[Ie+De|0]=Be[Ie+le|0],Ie=Ie+1|0;for(le=Ae- -64|0,Ie=0;(0|Ie)!=32;)ge[Ie+Qe|0]=Be[Ie+le|0],Ie=Ie+1|0;for(le=Ae+96|0,Ie=0;(0|Ie)!=7;)Fe(Ke+(Ie<<10)|0,le+Se(Ie,96)|0),Ie=Ie+1|0;for(le=Ae+768|0,Ie=0;(0|Ie)!=8;)Fe(Ze+(Ie<<10)|0,le+Se(Ie,96)|0),Ie=Ie+1|0;for(dt=Ae+1536|0,Ie=0;(0|Ie)!=8;){for(Bt=ve+(Ie<<10)|0,Ct=dt+Se(Ie,416)|0,Qe=0;(0|Qe)!=32;)Ae=Bt+(Qe<<5)|0,le=Ct+Se(Qe,13)|0,ct=Be[0|le],$[Ae>>2]=ct,ct|=Be[le+1|0]<<8&7936,$[Ae>>2]=ct,ze=Be[le+1|0]>>>5|0,$[Ae+4>>2]=ze,ze|=Be[le+2|0]<<3,$[Ae+4>>2]=ze,ze|=Be[le+3|0]<<11&6144,$[Ae+4>>2]=ze,gt=Be[le+3|0]>>>2|0,$[Ae+8>>2]=gt,gt|=Be[le+4|0]<<6&8128,$[Ae+8>>2]=gt,Xe=Be[le+4|0]>>>7|0,$[Ae+12>>2]=Xe,Xe|=Be[le+5|0]<<1,$[Ae+12>>2]=Xe,Xe|=Be[le+6|0]<<9&7680,$[Ae+12>>2]=Xe,nt=Be[le+6|0]>>>4|0,$[Ae+16>>2]=nt,nt|=Be[le+7|0]<<4,$[Ae+16>>2]=nt,nt|=Be[le+8|0]<<12&4096,$[Ae+16>>2]=nt,ft=Be[le+8|0]>>>1|0,$[Ae+20>>2]=ft,ft|=Be[le+9|0]<<7&8064,$[Ae+20>>2]=ft,it=Be[le+9|0]>>>6|0,$[Ae+24>>2]=it,it|=Be[le+10|0]<<2,$[Ae+24>>2]=it,it|=Be[le+11|0]<<10&7168,$[Ae+24>>2]=it,Et=Be[le+11|0]>>>3|0,$[Ae+28>>2]=Et,le=Be[le+12|0],$[Ae+4>>2]=4096-ze,$[Ae>>2]=4096-ct,$[Ae+8>>2]=4096-gt,$[Ae+12>>2]=4096-Xe,$[Ae+16>>2]=4096-nt,$[Ae+20>>2]=4096-ft,$[Ae+24>>2]=4096-it,$[Ae+28>>2]=4096-(le<<5|Et),Qe=Qe+1|0;Ie=Ie+1|0}for(eA(Ae=se+12|0),Lt(Ae,ht,32),Lt(Ae,oe,re),Lr(Ae),IA(ht=se+120944|0,64,Ae),LA(Ae),tt(dt=se+121008|0,64,De,96),ye(se+63504|0,It),Jn(Ke),Yo(Ze),Yo(ve),Ie=0;;){for(le=se+49168|0,Qe=Se(65535&Ie,7),oe=0;(0|oe)!=7;)Ge=re=Ge-704|0,us(Ae=re+12|0,dt,oe+Qe&65535),IA(De=re+16|0,680,Ae),LA(Ae),We(le+(oe<<10)|0,De),Ge=re+704|0,oe=oe+1|0;for(hs(Ae=se+42e3|0,le),Jn(Ae),$e(oe=se+17424|0,se+63504|0,Ae),An(oe),rn(oe),vr(oe),ve=se+9232|0,re=0;(0|re)!=8;){for(Ke=(Qe=re<<10)+oe|0,Ze=Qe+ve|0,It=oe+Qe|0,Qe=0;(0|Qe)!=256;)$[(De=Qe<<2)+Ke>>2]=cs(De+Ze|0,$[De+It>>2]),Qe=Qe+1|0;re=re+1|0}for(lt(ce,oe),eA(oe=se+12|0),Lt(oe,ht,64),Lt(oe,ce,1024),Lr(oe),IA(ce,32,oe),LA(oe),pe(oe=se+16|0,ce),Ie=Ie+1|0,Ye(oe),Qe=se+56336|0,re=0;(0|re)!=7;)qn((De=re<<10)+Ae|0,oe,Qe+De|0),re=re+1|0;for(oe=0;(0|oe)!=7;)Ue(Ae+(oe<<10)|0),oe=oe+1|0;for(oe=0;(0|oe)!=7;)No((re=oe<<10)+Ae|0,re+Ae|0,re+le|0),oe=oe+1|0;for(re=0;(0|re)!=7;)as(Ae+(re<<10)|0),re=re+1|0;if(!gs(Ae)&&(Fo(re=se+1040|0,se+16|0,se+25616|0),rn(re),xt(oe=se+9232|0,oe,re),An(oe),!fs(oe,261768)&&(Fo(oe=se+1040|0,se+16|0,se+33808|0),rn(oe),An(oe),!fs(oe,261888)))){for(Is(le=se+9232|0,le,Ke=se+1040|0),Ze=se+17424|0,oe=0,re=0;(0|oe)!=8;){for(It=(Ae=oe<<10)+Ke|0,Bt=Ae+le|0,Ct=Ae+Ze|0,Ae=0,Qe=0;(0|Ae)!=256;)ve=(0|(ve=$[(De=Ae<<2)+Bt>>2]))==-261888&$[De+Ct>>2]!=0|ve-261889>>>0<4294443519,$[De+It>>2]=ve,Qe=Qe+ve|0,Ae=Ae+1|0;re=re+Qe|0,oe=oe+1|0}if(!(re>>>0>75))break}}for(Qe=se+42e3|0,De=se+1040|0,oe=0;(0|oe)!=32;)ge[0|(re=oe+ce|0)]=Be[0|re],oe=oe+1|0;for(ve=ce+32|0,oe=0;(0|oe)!=7;){for(Ke=ve+Se(oe,640)|0,Ze=Qe+(oe<<10)|0,re=0;(0|re)!=128;)le=$[(Ie=Ze+(re<<3)|0)+4>>2],Ae=Ke+Se(re,5)|0,Ie=524288-$[Ie>>2]|0,ge[0|Ae]=Ie,ge[Ae+1|0]=Ie>>>8,le=524288-le|0,ge[Ae+3|0]=le>>>4,ge[Ae+4|0]=le>>>12,ge[Ae+2|0]=le<<4|Ie>>>16,re=re+1|0;oe=oe+1|0}for(Ie=ce+4512|0,re=0,oe=0;;){if((0|oe)==83){for(Ae=0;(0|re)!=8;){for(le=De+(re<<10)|0,oe=0;(0|oe)!=256;)$[le+(oe<<2)>>2]&&(ge[Ae+Ie|0]=oe,Ae=Ae+1|0),oe=oe+1|0;ge[75+(re+Ie|0)|0]=Ae,re=re+1|0}break}ge[oe+Ie|0]=0,oe=oe+1|0}return $[ue+12>>2]=4595,Ge=se+121072|0,Ee[te>>1]=$[ue+12>>2],Ge=ue+16|0,0},o:function(te,oe,re,Ae){te|=0,oe|=0,Ae|=0;var se,ce=0,ue=0,Ie=0,le=0,Qe=0,De=0,ve=0,Ke=0,Ze=0,ze=0,Xe=0;Ie=(re|=0)+2|0,ce=xe[re>>1],Qe=te,ue=oe,re=0,Ge=se=Ge-91312|0,ze=-1;e:if((0|ce)==4595){for(te=se+90256|0,Ke=se+16400|0,oe=0;(0|oe)!=32;)ge[te+oe|0]=Be[oe+Ae|0],oe=oe+1|0;for(De=Ae+32|0,oe=0;(0|oe)!=8;){for(ve=Ke+(oe<<10)|0,Ze=De+Se(oe,320)|0,ce=0;(0|ce)!=64;)le=ve+(ce<<4)|0,te=Se(ce,5)+Ze|0,$[le>>2]=Be[te+1|0]<<8&768|Be[0|te],$[le+4>>2]=Be[te+2|0]<<6&960|Be[te+1|0]>>>2,$[le+8>>2]=Be[te+3|0]<<4&1008|Be[te+2|0]>>>4,$[le+12>>2]=Be[te+4|0]<<2|Be[te+3|0]>>>6,ce=ce+1|0;oe=oe+1|0}for(te=se+90160|0,oe=se+24592|0,Ke=se+16|0;(0|re)!=32;)ge[te+re|0]=Be[re+Ie|0],re=re+1|0;for(te=Ie+32|0,re=0;(0|re)!=7;)We(oe+(re<<10)|0,te+Se(re,640)|0),re=re+1|0;Ie=Ie+4512|0,ce=0,te=0;A:{for(;;){t:if((0|ce)!=8){for(le=Ke+(ce<<10)|0,re=0;(0|re)!=256;)$[le+(re<<2)>>2]=0,re=re+1|0;if(!((oe=Be[(De=ce+Ie|0)+75|0])>>>0>75||(re=te,oe>>>0<te>>>0))){for(;oe>>>0>re>>>0;){if(te>>>0<re>>>0&(oe=Be[0|(ve=re+Ie|0)])>>>0<=Be[ve-1|0])break t;$[le+(oe<<2)>>2]=1,re=re+1|0,oe=Be[De+75|0]}ce=ce+1|0,te=oe;continue}}else for(re=te>>>0<=75?75:te;;){if(oe=0,(0|te)==(0|re))break A;if(oe=te+Ie|0,te=te+1|0,Be[0|oe])break}break}oe=1}if(!oe&&!gs(se+24592|0)){for(tt(ce=se+90192|0,32,Ae,2592),eA(te=se+12|0),Lt(te,ce,32),Lt(te,Qe,ue),Lr(te),IA(ce,64,te),LA(te),pe(ue=se+89104|0,se+90160|0),ye(oe=se+31760|0,se+90256|0),Jn(Ae=se+24592|0),$e(re=se+8208|0,oe,Ae),Ye(ue),Ae=se+16400|0,oe=0;(0|oe)!=8;){for(Ie=Ae+(oe<<10)|0,Qe=0;(0|Qe)!=256;)$[(le=Ie+(Qe<<2)|0)>>2]=$[le>>2]<<13,Qe=Qe+1|0;oe=oe+1|0}for(Yo(Ae),Fo(Ae,ue,Ae),xt(re,re,Ae),An(re),rn(re),vr(re),le=se+16|0,Ae=0;(0|Ae)!=8;){for(Ke=(oe=Ae<<10)+re|0,De=oe+re|0,ve=oe+le|0,oe=0;(0|oe)!=256;)Ze=(ue=oe<<2)+Ke|0,Xe=$[ue+ve>>2],Ge=Qe=Ge-16|0,ue=Ie=cs(Qe+12|0,$[ue+De>>2]),Xe&&(ue=Ie+1&15,$[Qe+12>>2]>0||(ue=Ie-1&15)),Ge=Qe+16|0,$[Ze>>2]=ue,oe=oe+1|0;Ae=Ae+1|0}for(lt(oe=se+90288|0,re),eA(te),Lt(te,ce,64),Lt(te,oe,1024),Lr(te),IA(se+90128|0,32,te),LA(te),oe=0;;){if((0|oe)==32){ze=0;break e}if(te=(se+90128|0)+oe|0,re=(se+90160|0)+oe|0,oe=oe+1|0,Be[0|re]!=Be[0|te])break}}}return Ge=se+91312|0,0|ze}}})(z)})(_)},instantiate:function(Z,_){return{then:function(z){var X=new c.Module(Z);z({instance:new c.Instance(X,_)})}}},RuntimeError:Error};a=[],A(c)!="object"&&d("no native wasm support detected");var G,h,y,u,s=!1,F,Y,N=C.INITIAL_MEMORY||16777216;F="INITIAL_MEMORY should be larger than STACK_SIZE, was "+N+"! (STACK_SIZE=8388608)",N>=8388608||d(F),f=C.wasmMemory?C.wasmMemory:new c.Memory({initial:N/65536,maximum:N/65536}),Y=f.buffer,C.HEAP8=G=new Int8Array(Y),C.HEAP16=new Int16Array(Y),C.HEAP32=y=new Int32Array(Y),C.HEAPU8=h=new Uint8Array(Y),C.HEAPU16=new Uint16Array(Y),C.HEAPU32=new Uint32Array(Y),C.HEAPF32=new Float32Array(Y),C.HEAPF64=u=new Float64Array(Y),N=f.buffer.byteLength;var w=[],S=[],k=[],H=0,U=null,R=null;function d(Z){throw C.onAbort&&C.onAbort(Z),e(Z="Aborted("+Z+")"),s=!0,Z+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(Z)}var M,J,q="data:application/octet-stream;base64,";function l(Z){return Z.startsWith(q)}function m(Z){return Z.startsWith("file://")}function L(Z){return Promise.resolve().then((function(){return(function(_){if(_==M&&a)return new Uint8Array(a);var z=P(_);if(z)return z;if(g)return g(_);throw"both async and sync fetching of the wasm failed"})(Z)}))}function p(Z,_,z,X){return(function(ee,ne,ie){return L(ee).then((function(ae){return c.instantiate(ae,ne)})).then((function(ae){return ae})).then(ie,(function(ae){e("failed to asynchronously prepare wasm: "+ae),d(ae)}))})(_,z,X)}l(M="<<< WASM_BINARY_FILE >>>")||(J=M,M=C.locateFile?C.locateFile(J,n):n+J);var K={2340:function(){return C.getRandomValue()},2376:function(){if(C.getRandomValue===void 0)try{var I=(typeof window>"u"?"undefined":A(window))==="object"?window:self,g=I.crypto!==void 0?I.crypto:I.msCrypto,B=function(){var Z=new Uint32Array(1);return g.getRandomValues(Z),Z[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var Z=Q.randomBytes(4);return(Z[0]<<24|Z[1]<<16|Z[2]<<8|Z[3])>>>0};i(),C.getRandomValue=i}catch(Z){throw"No secure random number generator found"}}}};function b(Z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(Z,")"),this.status=Z}var v=function(Z){for(;Z.length>0;)Z.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(Z,_,z){var X=(function(ee,ne){var ie;for(O.length=0,ne>>=2;ie=h[ee++];)ne+=ie!=105&ne,O.push(ie==105?y[ne]:u[ne++>>1]),++ne;return O})(_,z);return K[Z].apply(null,X)},x=function(Z){D||(C.onExit&&C.onExit(Z),s=!0),Q(Z,new b(Z))},W={c:function(Z,_,z){return T(Z,_,z)},d:function(Z){h.length,d("OOM")},b:function(Z,_){x(Z)},a:f};(function(){var Z={a:W};function _(z,X){var ee,ne=z.exports;return C.asm=ne,C.asm.f,ee=C.asm.e,S.unshift(ee),(function(ie){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var ae=R;R=null,ae()}})(),ne}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(Z,_)}catch(z){return e("Module.instantiateWasm callback failed with error: "+z),!1}p(0,M,Z,(function(z){_(z.instance)}))})(),C._malloc=function(){return(C._malloc=C.asm.g).apply(null,arguments)},C._free=function(){return(C._free=C.asm.h).apply(null,arguments)},C._dilithiumjs_init=function(){return(C._dilithiumjs_init=C.asm.i).apply(null,arguments)},C._dilithiumjs_public_key_bytes=function(){return(C._dilithiumjs_public_key_bytes=C.asm.j).apply(null,arguments)},C._dilithiumjs_secret_key_bytes=function(){return(C._dilithiumjs_secret_key_bytes=C.asm.k).apply(null,arguments)},C._dilithiumjs_signature_bytes=function(){return(C._dilithiumjs_signature_bytes=C.asm.l).apply(null,arguments)},C._dilithiumjs_keypair=function(){return(C._dilithiumjs_keypair=C.asm.m).apply(null,arguments)},C._dilithiumjs_sign=function(){return(C._dilithiumjs_sign=C.asm.n).apply(null,arguments)},C._dilithiumjs_verify=function(){return(C._dilithiumjs_verify=C.asm.o).apply(null,arguments)};function P(Z){if(l(Z))return(function(_){if(o!==void 0&&o){var z=Buffer.from(_,"base64");return new Uint8Array(z.buffer,z.byteOffset,z.byteLength)}try{for(var X=atob(_),ee=new Uint8Array(X.length),ne=0;ne<X.length;++ne)ee[ne]=X.charCodeAt(ne);return ee}catch{throw new Error("Converting base64 string to bytes failed.")}})(Z.slice(q.length))}function V(){function Z(){j||(j=!0,C.calledRun=!0,s||(v(S),C.onRuntimeInitialized&&C.onRuntimeInitialized(),(function(){if(C.postRun)for(typeof C.postRun=="function"&&(C.postRun=[C.postRun]);C.postRun.length;)_=C.postRun.shift(),k.unshift(_);var _;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)_=C.preRun.shift(),w.unshift(_);var _;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),Z()}),1)):Z()))}if(C.writeArrayToMemory=function(Z,_){G.set(Z,_)},R=function Z(){j||V(),j||(R=Z)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(Z,_){C.onAbort=_,C.onRuntimeInitialized=function(){Z(C)}}))})).then((function(Z){Object.keys(Z).forEach((function(_){C[_]=Z[_]}))}));var E=C.ready.then((function(){C._dilithiumjs_init(),A=C._dilithiumjs_public_key_bytes(),I=C._dilithiumjs_secret_key_bytes(),g=C._dilithiumjs_signature_bytes()})),o={publicKeyBytes:E.then((function(){return A})),privateKeyBytes:E.then((function(){return I})),bytes:E.then((function(){return g})),keyPair:function(){return E.then((function(){var Z=C._malloc(A),_=C._malloc(I);try{return B(C._dilithiumjs_keypair(Z,_),{publicKey:Q(Z,A),privateKey:Q(_,I)})}finally{i(Z),i(_)}}))},sign:function(Z,_){return o.signDetached(Z,_).then((function(z){var X=new Uint8Array(g+Z.length);return X.set(z),X.set(Z,g),X}))},signDetached:function(Z,_){return E.then((function(){var z=C._malloc(g),X=C._malloc(Z.length),ee=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),z),C.writeArrayToMemory(Z,X),C.writeArrayToMemory(_,ee);try{return B(C._dilithiumjs_sign(z,X,Z.length,ee),Q(z,g))}finally{i(z),i(X),i(ee)}}))},open:function(Z,_){return E.then((function(){var z=new Uint8Array(Z.buffer,Z.byteOffset,g),X=new Uint8Array(Z.buffer,Z.byteOffset+g,Z.length-g);return o.verifyDetached(z,X,_).then((function(ee){if(ee)return X;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(Z,_,z){return E.then((function(){var X=C._malloc(g),ee=C._malloc(_.length),ne=C._malloc(A);C.writeArrayToMemory(Z,X),C.writeArrayToMemory(_,ee),C.writeArrayToMemory(z,ne);try{return C._dilithiumjs_verify(ee,_.length,X,ne)===0}finally{i(X),i(ee),i(ne)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var kf={};Ts(kf,{InMemoryKeyStorage:()=>JA,createKeySDK:()=>is,default:()=>Hf});be();be();be();be();be();var gr=class{constructor(){he(this,"suites",new Map)}register(_){if(this.suites.has(_.suiteId))throw new Error(`Signature suite already registered: ${_.suiteId}`);this.suites.set(_.suiteId,_)}getSuite(_){let z=this.suites.get(_);if(!z)throw new Error(`Unknown signature suite: ${_}. Available: ${this.listSuites().join(", ")}`);return z}hasSuite(_){return this.suites.has(_)}listSuites(){return[...this.suites.keys()]}getAllSuites(){return[...this.suites.values()]}unregister(_){return this.suites.delete(_)}clear(){this.suites.clear()}},Rc=new gr;be();function un(Z){return Array.from(Z).map(_=>_.toString(16).padStart(2,"0")).join("")}function Mr(Z){if(Z.length%2!==0)throw new Error("Hex string must have even length");let _=new Uint8Array(Z.length/2);for(let z=0;z<Z.length;z+=2)_[z/2]=parseInt(Z.slice(z,z+2),16);return _}async function eo(Z,_){if(_==="sha256"){let z=await Promise.resolve().then(()=>($n(),Xn));return new Uint8Array(z.createHash("sha256").update(Z).digest())}else if(_==="sha512"){let z=await Promise.resolve().then(()=>($n(),Xn));return new Uint8Array(z.createHash("sha512").update(Z).digest())}else if(_==="sha3-256"){let z=await Promise.resolve().then(()=>($n(),Xn));return new Uint8Array(z.createHash("sha3-256").update(Z).digest())}throw new Error(`Unsupported hash algorithm: ${_}`)}be();be();var JA=class{constructor(){he(this,"keys",new Map)}async store(_,z,X){this.keys.set(_,{keypair:z,meta:X})}async load(_){return this.keys.get(_)||null}async list(_){let z=Array.from(this.keys.values()).map(X=>X.meta);return _?z.filter(X=>Object.entries(_).every(([ee,ne])=>ee==="usage"&&Array.isArray(ne)?ne.some(ie=>X.usage.includes(ie)):X[ee]===ne)):z}async delete(_){this.keys.delete(_)}async updateMeta(_,z){let X=this.keys.get(_);if(!X)throw new Error(`Key not found: ${_}`);this.keys.set(_,{keypair:X.keypair,meta:{...X.meta,...z}})}clear(){this.keys.clear()}},In=class{constructor(_=new JA){he(this,"storage");this.storage=_}async registerKey(_,z,X,ee={}){let ne={keyId:_,suiteId:X,createdAt:new Date().toISOString(),expiresAt:ee.expiresAt,usage:ee.usage||["signing"],cryptoProfileVersion:ee.cryptoProfileVersion||"1.0.0",status:ee.status||"active"};return await this.storage.store(_,z,ne),ne}async getKey(_){return await this.storage.load(_)}async getPublicKey(_){let z=await this.storage.load(_);return z?{publicKey:z.keypair.publicKey,meta:z.meta}:null}async listKeys(_){return await this.storage.list(_)}async listActiveKeys(_){let z=await this.storage.list(_),X=new Date;return z.filter(ee=>!(ee.status&&ee.status!=="active"||ee.expiresAt&&new Date(ee.expiresAt)<X))}async rotateKey(_,z,X){let ee=await this.storage.load(_);if(!ee)throw new Error(`Cannot rotate: key not found: ${_}`);return await this.storage.updateMeta(_,{status:"rotated"}),await this.registerKey(z,X,ee.meta.suiteId,{usage:ee.meta.usage,cryptoProfileVersion:ee.meta.cryptoProfileVersion,expiresAt:ee.meta.expiresAt,status:"active"}),await this.storage.updateMeta(z,{rotatedFrom:_}),(await this.storage.load(z)).meta}async revokeKey(_,z){await this.storage.updateMeta(_,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(_){await this.storage.delete(_)}async markExpiredKeys(){let _=await this.storage.list(),z=new Date,X=0;for(let ee of _)ee.expiresAt&&new Date(ee.expiresAt)<z&&ee.status==="active"&&(await this.storage.updateMeta(ee.keyId,{status:"expired"}),X++);return X}async pruneOldKeys(_=90){let z=await this.storage.list(),X=new Date;X.setDate(X.getDate()-_);let ee=0;for(let ne of z)(ne.status==="revoked"&&ne.revokedAt&&new Date(ne.revokedAt)<X||ne.status==="expired"&&ne.expiresAt&&new Date(ne.expiresAt)<X)&&(await this.storage.delete(ne.keyId),ee++);return ee}};be();be();be();be();var rg={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:hr,n:aA,Gx:ng,Gy:og,b:w0}=rg,Dt=32,lr=64,st=(Z="")=>{throw new Error(Z)},m0=Z=>typeof Z=="bigint",D0=Z=>typeof Z=="string",ig=Z=>Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array",Br=(Z,_)=>!ig(Z)||typeof _=="number"&&_>0&&Z.length!==_?st("Uint8Array expected"):Z,dr=Z=>new Uint8Array(Z),sg=Z=>Uint8Array.from(Z),S0=(Z,_)=>Z.toString(16).padStart(_,"0"),no=Z=>Array.from(Br(Z)).map(_=>S0(_,2)).join(""),wA={_0:48,_9:57,A:65,F:70,a:97,f:102},Q0=Z=>{if(Z>=wA._0&&Z<=wA._9)return Z-wA._0;if(Z>=wA.A&&Z<=wA.F)return Z-(wA.A-10);if(Z>=wA.a&&Z<=wA.f)return Z-(wA.a-10)},ei=Z=>{let _="hex invalid";if(!D0(Z))return st(_);let z=Z.length,X=z/2;if(z%2)return st(_);let ee=dr(X);for(let ne=0,ie=0;ne<X;ne++,ie+=2){let ae=Q0(Z.charCodeAt(ie)),fe=Q0(Z.charCodeAt(ie+1));if(ae===void 0||fe===void 0)return st(_);ee[ne]=ae*16+fe}return ee},iA=(Z,_)=>Br(D0(Z)?ei(Z):sg(Br(Z)),_),H0=()=>globalThis?.crypto,ag=()=>H0()?.subtle??st("crypto.subtle must be defined"),Cr=(...Z)=>{let _=dr(Z.reduce((X,ee)=>X+Br(ee).length,0)),z=0;return Z.forEach(X=>{_.set(X,z),z+=X.length}),_},ti=(Z=Dt)=>H0().getRandomValues(dr(Z)),Or=BigInt,Bn=(Z,_,z,X="bad number: out of range")=>m0(Z)&&_<=Z&&Z<z?Z:st(X),Ne=(Z,_=hr)=>{let z=Z%_;return z>=0n?z:_+z},vt=Z=>Ne(Z,aA),Cn=(Z,_)=>{(Z===0n||_<=0n)&&st("no inverse n="+Z+" mod="+_);let z=Ne(Z,_),X=_,ee=0n,ne=1n,ie=1n,ae=0n;for(;z!==0n;){let fe=X/z,de=X%z,Ce=ee-ie*fe,ge=ne-ae*fe;X=z,z=de,ee=ie,ne=ae,ie=Ce,ae=ge}return X===1n?Ne(ee,_):st("no inverse")},cg=Z=>{let _=Qn[Z];return typeof _!="function"&&st("hashes."+Z+" not set"),_},y0=Z=>Z instanceof mA?Z:st("Point expected"),k0=Z=>Ne(Ne(Z*Z)*Z+w0),p0=Z=>Bn(Z,0n,hr),hn=Z=>Bn(Z,1n,hr),zo=Z=>Bn(Z,1n,aA),Xo=Z=>(Z&1n)===0n,qr=Z=>Uint8Array.of(Z),G0=Z=>qr(Xo(Z)?2:3),gg=Z=>{let _=k0(hn(Z)),z=1n;for(let X=_,ee=(hr+1n)/4n;ee>0n;ee>>=1n)ee&1n&&(z=z*X%hr),X=X*X%hr;return Ne(z*z)===_?z:st("sqrt invalid")},oA=class oA{constructor(_,z,X){he(this,"px");he(this,"py");he(this,"pz");this.px=p0(_),this.py=hn(z),this.pz=p0(X),Object.freeze(this)}static fromBytes(_){Br(_);let z,X=_[0],ee=_.subarray(1),ne=to(ee,0,Dt),ie=_.length;if(ie===Dt+1&&[2,3].includes(X)){let ae=gg(ne),fe=Xo(ae);Xo(Or(X))!==fe&&(ae=Ne(-ae)),z=new oA(ne,ae,1n)}return ie===lr+1&&X===4&&(z=new oA(ne,to(ee,Dt,lr),1n)),z?z.assertValidity():st("bad point: not on curve")}equals(_){let{px:z,py:X,pz:ee}=this,{px:ne,py:ie,pz:ae}=y0(_),fe=Ne(z*ae),de=Ne(ne*ee),Ce=Ne(X*ae),ge=Ne(ie*ee);return fe===de&&Ce===ge}is0(){return this.equals(Ir)}negate(){return new oA(this.px,Ne(-this.py),this.pz)}double(){return this.add(this)}add(_){let{px:z,py:X,pz:ee}=this,{px:ne,py:ie,pz:ae}=y0(_),fe=0n,de=w0,Ce=0n,ge=0n,Ee=0n,$=Ne(de*3n),Be=Ne(z*ne),xe=Ne(X*ie),He=Ne(ee*ae),Se=Ne(z+X),Re=Ne(ne+ie);Se=Ne(Se*Re),Re=Ne(Be+xe),Se=Ne(Se-Re),Re=Ne(z+ee);let we=Ne(ne+ae);return Re=Ne(Re*we),we=Ne(Be+He),Re=Ne(Re-we),we=Ne(X+ee),Ce=Ne(ie+ae),we=Ne(we*Ce),Ce=Ne(xe+He),we=Ne(we-Ce),Ee=Ne(fe*Re),Ce=Ne($*He),Ee=Ne(Ce+Ee),Ce=Ne(xe-Ee),Ee=Ne(xe+Ee),ge=Ne(Ce*Ee),xe=Ne(Be+Be),xe=Ne(xe+Be),He=Ne(fe*He),Re=Ne($*Re),xe=Ne(xe+He),He=Ne(Be-He),He=Ne(fe*He),Re=Ne(Re+He),Be=Ne(xe*Re),ge=Ne(ge+Be),Be=Ne(we*Re),Ce=Ne(Se*Ce),Ce=Ne(Ce-Be),Be=Ne(Se*xe),Ee=Ne(we*Ee),Ee=Ne(Ee+Be),new oA(Ce,ge,Ee)}multiply(_,z=!0){if(!z&&_===0n)return Ir;if(zo(_),_===1n)return this;if(this.equals(sA))return Qg(_).p;let X=Ir,ee=sA;for(let ne=this;_>0n;ne=ne.double(),_>>=1n)_&1n?X=X.add(ne):z&&(ee=ee.add(ne));return X}toAffine(){let{px:_,py:z,pz:X}=this;if(this.equals(Ir))return{x:0n,y:0n};if(X===1n)return{x:_,y:z};let ee=Cn(X,hr);return Ne(X*ee)!==1n&&st("inverse invalid"),{x:Ne(_*ee),y:Ne(z*ee)}}assertValidity(){let{x:_,y:z}=this.toAffine();return hn(_),hn(z),Ne(z*z)===k0(_)?this:st("bad point: not on curve")}toBytes(_=!0){let{x:z,y:X}=this.assertValidity().toAffine(),ee=TA(z);return _?Cr(G0(X),ee):Cr(qr(4),ee,TA(X))}static fromAffine(_){let{x:z,y:X}=_;return z===0n&&X===0n?Ir:new oA(z,X,1n)}toHex(_){return no(this.toBytes(_))}static fromPrivateKey(_){return sA.multiply(ln(_))}static fromHex(_){return oA.fromBytes(iA(_))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(_){return this.toBytes(_)}};he(oA,"BASE"),he(oA,"ZERO");var mA=oA,sA=new mA(ng,og,1n),Ir=new mA(0n,1n,0n);mA.BASE=sA;mA.ZERO=Ir;var v0=(Z,_,z)=>sA.multiply(_,!1).add(Z.multiply(z,!1)).assertValidity(),En=Z=>Or("0x"+(no(Z)||"0")),to=(Z,_,z)=>En(Z.subarray(_,z)),fg=2n**256n,TA=Z=>ei(S0(Bn(Z,0n,fg),lr)),ln=Z=>{let _=m0(Z)?Z:En(iA(Z,Dt));return Bn(_,1n,aA,"private key invalid 3")},Ao=Z=>Z>aA>>1n,U0=(Z,_=!0)=>sA.multiply(ln(Z)).toBytes(_),dn=class Z{constructor(_,z,X){he(this,"r");he(this,"s");he(this,"recovery");this.r=zo(_),this.s=zo(z),X!=null&&(this.recovery=X),Object.freeze(this)}static fromBytes(_){Br(_,lr);let z=to(_,0,Dt),X=to(_,Dt,lr);return new Z(z,X)}toBytes(){let{r:_,s:z}=this;return Cr(TA(_),TA(z))}addRecoveryBit(_){return new Z(this.r,this.s,_)}hasHighS(){return Ao(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return no(this.toBytes())}recoverPublicKey(_){return lg(this,_)}static fromCompact(_){return Z.fromBytes(iA(_,lr))}assertValidity(){return this}normalizeS(){let{r:_,s:z,recovery:X}=this;return Ao(z)?new Z(_,vt(-z),X):this}},L0=Z=>{let _=Z.length*8-256;_>1024&&st("msg invalid");let z=En(Z);return _>0?z>>Or(_):z},Ai=Z=>vt(L0(Br(Z))),N0={lowS:!0},ug={lowS:!0},Ig=(Z,_,z=N0)=>{["der","recovered","canonical"].some(Ee=>Ee in z)&&st("option not supported");let{lowS:X,extraEntropy:ee}=z;X==null&&(X=!0);let ne=TA,ie=Ai(iA(Z)),ae=ne(ie),fe=ln(_),de=[ne(fe),ae];ee&&de.push(ee===!0?ti(Dt):iA(ee));let Ce=ie,ge=Ee=>{let $=L0(Ee);if(!(1n<=$&&$<aA))return;let Be=sA.multiply($).toAffine(),xe=vt(Be.x);if(xe===0n)return;let He=Cn($,aA),Se=vt(He*vt(Ce+vt(fe*xe)));if(Se===0n)return;let Re=Se,we=(Be.x===xe?0:2)|Number(Be.y&1n);return X&&Ao(Se)&&(Re=vt(-Se),we^=1),new dn(xe,Re,we)};return{seed:Cr(...de),k2sig:ge}},hg=Z=>{let _=dr(Dt),z=dr(Dt),X=0,ee=dr(0),ne=()=>{_.fill(1),z.fill(0),X=0},ie=1e3,ae="drbg: tried 1000 values";if(Z){let fe=(...ge)=>Qn.hmacSha256Async(z,_,...ge),de=async(ge=ee)=>{z=await fe(qr(0),ge),_=await fe(),ge.length!==0&&(z=await fe(qr(1),ge),_=await fe())},Ce=async()=>(X++>=ie&&st(ae),_=await fe(),_);return async(ge,Ee)=>{ne(),await de(ge);let $;for(;!($=Ee(await Ce()));)await de();return ne(),$}}else{let fe=(...ge)=>cg("hmacSha256Sync")(z,_,...ge),de=(ge=ee)=>{z=fe(qr(0),ge),_=fe(),ge.length!==0&&(z=fe(qr(1),ge),_=fe())},Ce=()=>(X++>=ie&&st(ae),_=fe(),_);return(ge,Ee)=>{ne(),de(ge);let $;for(;!($=Ee(Ce()));)de();return ne(),$}}};var F0=(Z,_,z=N0)=>{let{seed:X,k2sig:ee}=Ig(Z,_,z);return hg(!1)(X,ee)},R0=(Z,_,z,X=ug)=>{let{lowS:ee}=X;ee==null&&(ee=!0),"strict"in X&&st("option not supported");let ne,ie=Z&&typeof Z=="object"&&"r"in Z;!ie&&iA(Z).length!==lr&&st("signature must be 64 bytes");try{ne=ie?new dn(Z.r,Z.s):dn.fromCompact(Z);let ae=Ai(iA(_)),fe=mA.fromBytes(iA(z)),{r:de,s:Ce}=ne;if(ee&&Ao(Ce))return!1;let ge=Cn(Ce,aA),Ee=vt(ae*ge),$=vt(de*ge),Be=v0(fe,Ee,$).toAffine();return vt(Be.x)===de}catch{return!1}},lg=(Z,_)=>{let{r:z,s:X,recovery:ee}=Z;[0,1,2,3].includes(ee)||st("recovery id invalid");let ne=Ai(iA(_,Dt)),ie=ee===2||ee===3?z+aA:z;hn(ie);let ae=G0(Or(ee)),fe=Cr(ae,TA(ie)),de=mA.fromBytes(fe),Ce=Cn(ie,aA),ge=vt(-ne*Ce),Ee=vt(X*Ce);return v0(de,ge,Ee)};var Y0=Z=>{Z=iA(Z),(Z.length<Dt+8||Z.length>1024)&&st("expected 40-1024b");let _=Ne(En(Z),aA-1n);return TA(_+1n)},dg=()=>Y0(ti(Dt+16)),Bg="SHA-256",Qn={hexToBytes:ei,bytesToHex:no,concatBytes:Cr,bytesToNumberBE:En,numberToBytesBE:TA,mod:Ne,invert:Cn,hmacSha256Async:async(Z,..._)=>{let z=ag(),X="HMAC",ee=await z.importKey("raw",Z,{name:X,hash:{name:Bg}},!1,["sign"]);return dr(await z.sign(X,ee,Cr(..._)))},hmacSha256Sync:void 0,hashToPrivateKey:Y0,randomBytes:ti},K0={normPrivateKeyToScalar:ln,isValidPrivateKey:Z=>{try{return!!ln(Z)}catch{return!1}},randomPrivateKey:dg,precompute:(Z=8,_=sA)=>(_.multiply(3n),_)},ro=8,Cg=256,M0=Math.ceil(Cg/ro)+1,$o=2**(ro-1),Eg=()=>{let Z=[],_=sA,z=_;for(let X=0;X<M0;X++){z=_,Z.push(z);for(let ee=1;ee<$o;ee++)z=z.add(_),Z.push(z);_=z.double()}return Z},x0,b0=(Z,_)=>{let z=_.negate();return Z?z:_},Qg=Z=>{let _=x0||(x0=Eg()),z=Ir,X=sA,ee=2**ro,ne=ee,ie=Or(ee-1),ae=Or(ro);for(let fe=0;fe<M0;fe++){let de=Number(Z&ie);Z>>=ae,de>$o&&(de-=ne,Z+=1n);let Ce=fe*$o,ge=Ce,Ee=Ce+Math.abs(de)-1,$=fe%2!==0,Be=de<0;de===0?X=X.add(b0($,_[ge])):z=z.add(b0(Be,_[Ee]))}return{p:z,f:X}};be();be();function pg(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function q0(Z){if(!Number.isSafeInteger(Z)||Z<0)throw new Error("positive integer expected, got "+Z)}function Tr(Z,..._){if(!pg(Z))throw new Error("Uint8Array expected");if(_.length>0&&!_.includes(Z.length))throw new Error("Uint8Array expected of length "+_+", got length="+Z.length)}function O0(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");q0(Z.outputLen),q0(Z.blockLen)}function _r(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function J0(Z,_){Tr(Z);let z=_.outputLen;if(Z.length<z)throw new Error("digestInto() expects output buffer of length at least "+z)}function Er(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function oo(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function Pt(Z,_){return Z<<32-_|Z>>>_}function xg(Z){if(typeof Z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(Z))}function yn(Z){return typeof Z=="string"&&(Z=xg(Z)),Tr(Z),Z}var Jr=class{};function T0(Z){let _=X=>Z().update(yn(X)).digest(),z=Z();return _.outputLen=z.outputLen,_.blockLen=z.blockLen,_.create=()=>Z(),_}var io=class extends Jr{constructor(_,z){super(),this.finished=!1,this.destroyed=!1,O0(_);let X=yn(z);if(this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let ee=this.blockLen,ne=new Uint8Array(ee);ne.set(X.length>ee?_.create().update(X).digest():X);for(let ie=0;ie<ne.length;ie++)ne[ie]^=54;this.iHash.update(ne),this.oHash=_.create();for(let ie=0;ie<ne.length;ie++)ne[ie]^=106;this.oHash.update(ne),Er(ne)}update(_){return _r(this),this.iHash.update(_),this}digestInto(_){_r(this),Tr(_,this.outputLen),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:ne,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=ne,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ri=(Z,_,z)=>new io(Z,_).update(z).digest();ri.create=(Z,_)=>new io(Z,_);be();be();be();function bg(Z,_,z,X){if(typeof Z.setBigUint64=="function")return Z.setBigUint64(_,z,X);let ee=BigInt(32),ne=BigInt(4294967295),ie=Number(z>>ee&ne),ae=Number(z&ne),fe=X?4:0,de=X?0:4;Z.setUint32(_+fe,ie,X),Z.setUint32(_+de,ae,X)}function _0(Z,_,z){return Z&_^~Z&z}function j0(Z,_,z){return Z&_^Z&z^_&z}var so=class extends Jr{constructor(_,z,X,ee){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=oo(this.buffer)}update(_){_r(this),_=yn(_),Tr(_);let{view:z,buffer:X,blockLen:ee}=this,ne=_.length;for(let ie=0;ie<ne;){let ae=Math.min(ee-this.pos,ne-ie);if(ae===ee){let fe=oo(_);for(;ee<=ne-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){_r(this),J0(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:ne}=this,{pos:ie}=this;z[ie++]=128,Er(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ge=ie;ge<ee;ge++)z[ge]=0;bg(X,ee-8,BigInt(this.length*8),ne),this.process(X,0);let ae=oo(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let de=fe/4,Ce=this.get();if(de>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ge=0;ge<de;ge++)ae.setUint32(4*ge,Ce[ge],ne)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:ne,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=ne,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},DA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var wg=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),_A=new Uint32Array(64),ao=class extends so{constructor(_=32){super(64,_,8,!1),this.A=DA[0]|0,this.B=DA[1]|0,this.C=DA[2]|0,this.D=DA[3]|0,this.E=DA[4]|0,this.F=DA[5]|0,this.G=DA[6]|0,this.H=DA[7]|0}get(){let{A:_,B:z,C:X,D:ee,E:ne,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,ne,ie,ae,fe]}set(_,z,X,ee,ne,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=ne|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ge=0;ge<16;ge++,z+=4)_A[ge]=_.getUint32(z,!1);for(let ge=16;ge<64;ge++){let Ee=_A[ge-15],$=_A[ge-2],Be=Pt(Ee,7)^Pt(Ee,18)^Ee>>>3,xe=Pt($,17)^Pt($,19)^$>>>10;_A[ge]=xe+_A[ge-7]+Be+_A[ge-16]|0}let{A:X,B:ee,C:ne,D:ie,E:ae,F:fe,G:de,H:Ce}=this;for(let ge=0;ge<64;ge++){let Ee=Pt(ae,6)^Pt(ae,11)^Pt(ae,25),$=Ce+Ee+_0(ae,fe,de)+wg[ge]+_A[ge]|0,xe=(Pt(X,2)^Pt(X,13)^Pt(X,22))+j0(X,ee,ne)|0;Ce=de,de=fe,fe=ae,ae=ie+$|0,ie=ne,ne=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,ne=ne+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,de=de+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,ne,ie,ae,fe,de,Ce)}roundClean(){Er(_A)}destroy(){this.set(0,0,0,0,0,0,0,0),Er(this.buffer)}};var P0=T0(()=>new ao);var Qr=P0;be();be();be();be();be();be();function pn(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function cA(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function et(Z,_,z=""){let X=pn(Z),ee=Z?.length,ne=_!==void 0;if(!X||ne&&ee!==_){let ie=z&&`"${z}" `,ae=ne?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function co(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");cA(Z.outputLen),cA(Z.blockLen)}function jr(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function W0(Z,_){et(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function yr(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function go(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function Vt(Z,_){return Z<<32-_|Z>>>_}var Z0=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",mg=Array.from({length:256},(Z,_)=>_.toString(16).padStart(2,"0"));function pr(Z){if(et(Z),Z0)return Z.toHex();let _="";for(let z=0;z<Z.length;z++)_+=mg[Z[z]];return _}var SA={_0:48,_9:57,A:65,F:70,a:97,f:102};function V0(Z){if(Z>=SA._0&&Z<=SA._9)return Z-SA._0;if(Z>=SA.A&&Z<=SA.F)return Z-(SA.A-10);if(Z>=SA.a&&Z<=SA.f)return Z-(SA.a-10)}function xr(Z){if(typeof Z!="string")throw new Error("hex string expected, got "+typeof Z);if(Z0)return Uint8Array.fromHex(Z);let _=Z.length,z=_/2;if(_%2)throw new Error("hex string expected, got unpadded hex of length "+_);let X=new Uint8Array(z);for(let ee=0,ne=0;ee<z;ee++,ne+=2){let ie=V0(Z.charCodeAt(ne)),ae=V0(Z.charCodeAt(ne+1));if(ie===void 0||ae===void 0){let fe=Z[ne]+Z[ne+1];throw new Error('hex string expected, got non-hex character "'+fe+'" at index '+ne)}X[ee]=ie*16+ae}return X}function Wt(...Z){let _=0;for(let X=0;X<Z.length;X++){let ee=Z[X];et(ee),_+=ee.length}let z=new Uint8Array(_);for(let X=0,ee=0;X<Z.length;X++){let ne=Z[X];z.set(ne,ee),ee+=ne.length}return z}function z0(Z,_={}){let z=(ee,ne)=>Z(ne).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}function fo(Z=32){let _=typeof globalThis=="object"?globalThis.crypto:null;if(typeof _?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return _.getRandomValues(new Uint8Array(Z))}var X0=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])});function $0(Z,_,z){return Z&_^~Z&z}function ea(Z,_,z){return Z&_^Z&z^_&z}var uo=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=go(this.buffer)}update(_){jr(this),et(_);let{view:z,buffer:X,blockLen:ee}=this,ne=_.length;for(let ie=0;ie<ne;){let ae=Math.min(ee-this.pos,ne-ie);if(ae===ee){let fe=go(_);for(;ee<=ne-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){jr(this),W0(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:ne}=this,{pos:ie}=this;z[ie++]=128,yr(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ge=ie;ge<ee;ge++)z[ge]=0;X.setBigUint64(ee-8,BigInt(this.length*8),ne),this.process(X,0);let ae=go(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let de=fe/4,Ce=this.get();if(de>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ge=0;ge<de;ge++)ae.setUint32(4*ge,Ce[ge],ne)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:ne,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=ne,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},HA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Dg=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),jA=new Uint32Array(64),ni=class extends uo{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:ne,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,ne,ie,ae,fe]}set(_,z,X,ee,ne,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=ne|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ge=0;ge<16;ge++,z+=4)jA[ge]=_.getUint32(z,!1);for(let ge=16;ge<64;ge++){let Ee=jA[ge-15],$=jA[ge-2],Be=Vt(Ee,7)^Vt(Ee,18)^Ee>>>3,xe=Vt($,17)^Vt($,19)^$>>>10;jA[ge]=xe+jA[ge-7]+Be+jA[ge-16]|0}let{A:X,B:ee,C:ne,D:ie,E:ae,F:fe,G:de,H:Ce}=this;for(let ge=0;ge<64;ge++){let Ee=Vt(ae,6)^Vt(ae,11)^Vt(ae,25),$=Ce+Ee+$0(ae,fe,de)+Dg[ge]+jA[ge]|0,xe=(Vt(X,2)^Vt(X,13)^Vt(X,22))+ea(X,ee,ne)|0;Ce=de,de=fe,fe=ae,ae=ie+$|0,ie=ne,ne=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,ne=ne+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,de=de+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,ne,ie,ae,fe,de,Ce)}roundClean(){yr(jA)}destroy(){this.set(0,0,0,0,0,0,0,0),yr(this.buffer)}},oi=class extends ni{constructor(){super(32);he(this,"A",HA[0]|0);he(this,"B",HA[1]|0);he(this,"C",HA[2]|0);he(this,"D",HA[3]|0);he(this,"E",HA[4]|0);he(this,"F",HA[5]|0);he(this,"G",HA[6]|0);he(this,"H",HA[7]|0)}};var ta=z0(()=>new oi,X0(1));be();be();var si=BigInt(0),ii=BigInt(1);function xn(Z,_=""){if(typeof Z!="boolean"){let z=_&&`"${_}" `;throw new Error(z+"expected boolean, got type="+typeof Z)}return Z}function Aa(Z){if(typeof Z=="bigint"){if(!Io(Z))throw new Error("positive bigint expected, got "+Z)}else cA(Z);return Z}function bn(Z){let _=Aa(Z).toString(16);return _.length&1?"0"+_:_}function ra(Z){if(typeof Z!="string")throw new Error("hex string expected, got "+typeof Z);return Z===""?si:BigInt("0x"+Z)}function Pr(Z){return ra(pr(Z))}function ai(Z){return ra(pr(Sg(et(Z)).reverse()))}function ho(Z,_){cA(_),Z=Aa(Z);let z=xr(Z.toString(16).padStart(_*2,"0"));if(z.length!==_)throw new Error("number too large");return z}function ci(Z,_){return ho(Z,_).reverse()}function Sg(Z){return Uint8Array.from(Z)}var Io=Z=>typeof Z=="bigint"&&si<=Z;function Hg(Z,_,z){return Io(Z)&&Io(_)&&Io(z)&&_<=Z&&Z<z}function na(Z,_,z,X){if(!Hg(_,z,X))throw new Error("expected valid "+Z+": "+z+" <= n < "+X+", got "+_)}function gi(Z){let _;for(_=0;Z>si;Z>>=ii,_+=1);return _}var wn=Z=>(ii<<BigInt(Z))-ii;function oa(Z,_,z){if(cA(Z,"hashLen"),cA(_,"qByteLen"),typeof z!="function")throw new Error("hmacFn must be a function");let X=He=>new Uint8Array(He),ee=Uint8Array.of(),ne=Uint8Array.of(0),ie=Uint8Array.of(1),ae=1e3,fe=X(Z),de=X(Z),Ce=0,ge=()=>{fe.fill(1),de.fill(0),Ce=0},Ee=(...He)=>z(de,Wt(fe,...He)),$=(He=ee)=>{de=Ee(ne,He),fe=Ee(),He.length!==0&&(de=Ee(ie,He),fe=Ee())},Be=()=>{if(Ce++>=ae)throw new Error("drbg: tried max amount of iterations");let He=0,Se=[];for(;He<_;){fe=Ee();let Re=fe.slice();Se.push(Re),He+=fe.length}return Wt(...Se)};return(He,Se)=>{ge(),$(He);let Re;for(;!(Re=Se(Be()));)$();return ge(),Re}}function mn(Z,_={},z={}){if(!Z||typeof Z!="object")throw new Error("expected valid options object");function X(ne,ie,ae){let fe=Z[ne];if(ae&&fe===void 0)return;let de=typeof fe;if(de!==ie||fe===null)throw new Error(`param "${ne}" is invalid: expected ${ie}, got ${de}`)}let ee=(ne,ie)=>Object.entries(ne).forEach(([ae,fe])=>X(ae,fe,ie));ee(_,!1),ee(z,!0)}function fi(Z){let _=new WeakMap;return(z,...X)=>{let ee=_.get(z);if(ee!==void 0)return ee;let ne=Z(z,...X);return _.set(z,ne),ne}}be();var wt=BigInt(0),bt=BigInt(1),br=BigInt(2),aa=BigInt(3),ca=BigInt(4),ga=BigInt(5),kg=BigInt(7),fa=BigInt(8),Gg=BigInt(9),ua=BigInt(16);function Zt(Z,_){let z=Z%_;return z>=wt?z:_+z}function St(Z,_,z){let X=Z;for(;_-- >wt;)X*=X,X%=z;return X}function ia(Z,_){if(Z===wt)throw new Error("invert: expected non-zero number");if(_<=wt)throw new Error("invert: expected positive modulus, got "+_);let z=Zt(Z,_),X=_,ee=wt,ne=bt,ie=bt,ae=wt;for(;z!==wt;){let de=X/z,Ce=X%z,ge=ee-ie*de,Ee=ne-ae*de;X=z,z=Ce,ee=ie,ne=ae,ie=ge,ae=Ee}if(X!==bt)throw new Error("invert: does not exist");return Zt(ee,_)}function Ii(Z,_,z){if(!Z.eql(Z.sqr(_),z))throw new Error("Cannot find square root")}function Ia(Z,_){let z=(Z.ORDER+bt)/ca,X=Z.pow(_,z);return Ii(Z,X,_),X}function vg(Z,_){let z=(Z.ORDER-ga)/fa,X=Z.mul(_,br),ee=Z.pow(X,z),ne=Z.mul(_,ee),ie=Z.mul(Z.mul(ne,br),ee),ae=Z.mul(ne,Z.sub(ie,Z.ONE));return Ii(Z,ae,_),ae}function Ug(Z){let _=Vr(Z),z=ha(Z),X=z(_,_.neg(_.ONE)),ee=z(_,X),ne=z(_,_.neg(X)),ie=(Z+kg)/ua;return(ae,fe)=>{let de=ae.pow(fe,ie),Ce=ae.mul(de,X),ge=ae.mul(de,ee),Ee=ae.mul(de,ne),$=ae.eql(ae.sqr(Ce),fe),Be=ae.eql(ae.sqr(ge),fe);de=ae.cmov(de,Ce,$),Ce=ae.cmov(Ee,ge,Be);let xe=ae.eql(ae.sqr(Ce),fe),He=ae.cmov(de,Ce,xe);return Ii(ae,He,fe),He}}function ha(Z){if(Z<aa)throw new Error("sqrt is not defined for small field");let _=Z-bt,z=0;for(;_%br===wt;)_/=br,z++;let X=br,ee=Vr(Z);for(;sa(ee,X)===1;)if(X++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(z===1)return Ia;let ne=ee.pow(X,_),ie=(_+bt)/br;return function(fe,de){if(fe.is0(de))return de;if(sa(fe,de)!==1)throw new Error("Cannot find square root");let Ce=z,ge=fe.mul(fe.ONE,ne),Ee=fe.pow(de,_),$=fe.pow(de,ie);for(;!fe.eql(Ee,fe.ONE);){if(fe.is0(Ee))return fe.ZERO;let Be=1,xe=fe.sqr(Ee);for(;!fe.eql(xe,fe.ONE);)if(Be++,xe=fe.sqr(xe),Be===Ce)throw new Error("Cannot find square root");let He=bt<<BigInt(Ce-Be-1),Se=fe.pow(ge,He);Ce=Be,ge=fe.sqr(Se),Ee=fe.mul(Ee,ge),$=fe.mul($,Se)}return $}}function Lg(Z){return Z%ca===aa?Ia:Z%fa===ga?vg:Z%ua===Gg?Ug(Z):ha(Z)}var Ng=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function hi(Z){let _={ORDER:"bigint",BYTES:"number",BITS:"number"},z=Ng.reduce((X,ee)=>(X[ee]="function",X),_);return mn(Z,z),Z}function Fg(Z,_,z){if(z<wt)throw new Error("invalid exponent, negatives unsupported");if(z===wt)return Z.ONE;if(z===bt)return _;let X=Z.ONE,ee=_;for(;z>wt;)z&bt&&(X=Z.mul(X,ee)),ee=Z.sqr(ee),z>>=bt;return X}function lo(Z,_,z=!1){let X=new Array(_.length).fill(z?Z.ZERO:void 0),ee=_.reduce((ie,ae,fe)=>Z.is0(ae)?ie:(X[fe]=ie,Z.mul(ie,ae)),Z.ONE),ne=Z.inv(ee);return _.reduceRight((ie,ae,fe)=>Z.is0(ae)?ie:(X[fe]=Z.mul(ie,X[fe]),Z.mul(ie,ae)),ne),X}function sa(Z,_){let z=(Z.ORDER-bt)/br,X=Z.pow(_,z),ee=Z.eql(X,Z.ONE),ne=Z.eql(X,Z.ZERO),ie=Z.eql(X,Z.neg(Z.ONE));if(!ee&&!ne&&!ie)throw new Error("invalid Legendre symbol result");return ee?1:ne?0:-1}function Rg(Z,_){_!==void 0&&cA(_);let z=_!==void 0?_:Z.toString(2).length,X=Math.ceil(z/8);return{nBitLength:z,nByteLength:X}}var ui=class{constructor(_,z={}){he(this,"ORDER");he(this,"BITS");he(this,"BYTES");he(this,"isLE");he(this,"ZERO",wt);he(this,"ONE",bt);he(this,"_lengths");he(this,"_sqrt");he(this,"_mod");if(_<=wt)throw new Error("invalid field: expected ORDER > 0, got "+_);let X;this.isLE=!1,z!=null&&typeof z=="object"&&(typeof z.BITS=="number"&&(X=z.BITS),typeof z.sqrt=="function"&&(this.sqrt=z.sqrt),typeof z.isLE=="boolean"&&(this.isLE=z.isLE),z.allowedLengths&&(this._lengths=z.allowedLengths?.slice()),typeof z.modFromBytes=="boolean"&&(this._mod=z.modFromBytes));let{nBitLength:ee,nByteLength:ne}=Rg(_,X);if(ne>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=_,this.BITS=ee,this.BYTES=ne,this._sqrt=void 0,Object.preventExtensions(this)}create(_){return Zt(_,this.ORDER)}isValid(_){if(typeof _!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof _);return wt<=_&&_<this.ORDER}is0(_){return _===wt}isValidNot0(_){return!this.is0(_)&&this.isValid(_)}isOdd(_){return(_&bt)===bt}neg(_){return Zt(-_,this.ORDER)}eql(_,z){return _===z}sqr(_){return Zt(_*_,this.ORDER)}add(_,z){return Zt(_+z,this.ORDER)}sub(_,z){return Zt(_-z,this.ORDER)}mul(_,z){return Zt(_*z,this.ORDER)}pow(_,z){return Fg(this,_,z)}div(_,z){return Zt(_*ia(z,this.ORDER),this.ORDER)}sqrN(_){return _*_}addN(_,z){return _+z}subN(_,z){return _-z}mulN(_,z){return _*z}inv(_){return ia(_,this.ORDER)}sqrt(_){return this._sqrt||(this._sqrt=Lg(this.ORDER)),this._sqrt(this,_)}toBytes(_){return this.isLE?ci(_,this.BYTES):ho(_,this.BYTES)}fromBytes(_,z=!1){et(_);let{_lengths:X,BYTES:ee,isLE:ne,ORDER:ie,_mod:ae}=this;if(X){if(!X.includes(_.length)||_.length>ee)throw new Error("Field.fromBytes: expected "+X+" bytes, got "+_.length);let de=new Uint8Array(ee);de.set(_,ne?0:de.length-_.length),_=de}if(_.length!==ee)throw new Error("Field.fromBytes: expected "+ee+" bytes, got "+_.length);let fe=ne?ai(_):Pr(_);if(ae&&(fe=Zt(fe,ie)),!z&&!this.isValid(fe))throw new Error("invalid field element: outside of range 0..ORDER");return fe}invertBatch(_){return lo(this,_)}cmov(_,z,X){return X?z:_}};function Vr(Z,_={}){return new ui(Z,_)}function la(Z){if(typeof Z!="bigint")throw new Error("field order must be bigint");let _=Z.toString(2).length;return Math.ceil(_/8)}function li(Z){let _=la(Z);return _+Math.ceil(_/2)}function di(Z,_,z=!1){et(Z);let X=Z.length,ee=la(_),ne=li(_);if(X<16||X<ne||X>1024)throw new Error("expected "+ne+"-1024 bytes of input, got "+X);let ie=z?ai(Z):Pr(Z),ae=Zt(ie,_-bt)+bt;return z?ci(ae,ee):ho(ae,ee)}var Wr=BigInt(0),wr=BigInt(1);function Dn(Z,_){let z=_.negate();return Z?z:_}function Qi(Z,_){let z=lo(Z.Fp,_.map(X=>X.Z));return _.map((X,ee)=>Z.fromAffine(X.toAffine(z[ee])))}function Ea(Z,_){if(!Number.isSafeInteger(Z)||Z<=0||Z>_)throw new Error("invalid window size, expected [1.."+_+"], got W="+Z)}function Bi(Z,_){Ea(Z,_);let z=Math.ceil(_/Z)+1,X=2**(Z-1),ee=2**Z,ne=wn(Z),ie=BigInt(Z);return{windows:z,windowSize:X,mask:ne,maxNumber:ee,shiftBy:ie}}function da(Z,_,z){let{windowSize:X,mask:ee,maxNumber:ne,shiftBy:ie}=z,ae=Number(Z&ee),fe=Z>>ie;ae>X&&(ae-=ne,fe+=wr);let de=_*X,Ce=de+Math.abs(ae)-1,ge=ae===0,Ee=ae<0,$=_%2!==0;return{nextN:fe,offset:Ce,isZero:ge,isNeg:Ee,isNegF:$,offsetF:de}}var Ci=new WeakMap,Qa=new WeakMap;function Ei(Z){return Qa.get(Z)||1}function Ba(Z){if(Z!==Wr)throw new Error("invalid wNAF")}var Bo=class{constructor(_,z){he(this,"BASE");he(this,"ZERO");he(this,"Fn");he(this,"bits");this.BASE=_.BASE,this.ZERO=_.ZERO,this.Fn=_.Fn,this.bits=z}_unsafeLadder(_,z,X=this.ZERO){let ee=_;for(;z>Wr;)z&wr&&(X=X.add(ee)),ee=ee.double(),z>>=wr;return X}precomputeWindow(_,z){let{windows:X,windowSize:ee}=Bi(z,this.bits),ne=[],ie=_,ae=ie;for(let fe=0;fe<X;fe++){ae=ie,ne.push(ae);for(let de=1;de<ee;de++)ae=ae.add(ie),ne.push(ae);ie=ae.double()}return ne}wNAF(_,z,X){if(!this.Fn.isValid(X))throw new Error("invalid scalar");let ee=this.ZERO,ne=this.BASE,ie=Bi(_,this.bits);for(let ae=0;ae<ie.windows;ae++){let{nextN:fe,offset:de,isZero:Ce,isNeg:ge,isNegF:Ee,offsetF:$}=da(X,ae,ie);X=fe,Ce?ne=ne.add(Dn(Ee,z[$])):ee=ee.add(Dn(ge,z[de]))}return Ba(X),{p:ee,f:ne}}wNAFUnsafe(_,z,X,ee=this.ZERO){let ne=Bi(_,this.bits);for(let ie=0;ie<ne.windows&&X!==Wr;ie++){let{nextN:ae,offset:fe,isZero:de,isNeg:Ce}=da(X,ie,ne);if(X=ae,!de){let ge=z[fe];ee=ee.add(Ce?ge.negate():ge)}}return Ba(X),ee}getPrecomputes(_,z,X){let ee=Ci.get(z);return ee||(ee=this.precomputeWindow(z,_),_!==1&&(typeof X=="function"&&(ee=X(ee)),Ci.set(z,ee))),ee}cached(_,z,X){let ee=Ei(_);return this.wNAF(ee,this.getPrecomputes(ee,_,X),z)}unsafe(_,z,X,ee){let ne=Ei(_);return ne===1?this._unsafeLadder(_,z,ee):this.wNAFUnsafe(ne,this.getPrecomputes(ne,_,X),z,ee)}createCache(_,z){Ea(z,this.bits),Qa.set(_,z),Ci.delete(_)}hasCache(_){return Ei(_)!==1}};function ya(Z,_,z,X){let ee=_,ne=Z.ZERO,ie=Z.ZERO;for(;z>Wr||X>Wr;)z&wr&&(ne=ne.add(ee)),X&wr&&(ie=ie.add(ee)),ee=ee.double(),z>>=wr,X>>=wr;return{p1:ne,p2:ie}}function Ca(Z,_,z){if(_){if(_.ORDER!==Z)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return hi(_),_}else return Vr(Z,{isLE:z})}function pa(Z,_,z={},X){if(X===void 0&&(X=Z==="edwards"),!_||typeof _!="object")throw new Error(`expected valid ${Z} CURVE object`);for(let fe of["p","n","h"]){let de=_[fe];if(!(typeof de=="bigint"&&de>Wr))throw new Error(`CURVE.${fe} must be positive bigint`)}let ee=Ca(_.p,z.Fp,X),ne=Ca(_.n,z.Fn,X),ae=["Gx","Gy","a",Z==="weierstrass"?"b":"d"];for(let fe of ae)if(!ee.isValid(_[fe]))throw new Error(`CURVE.${fe} must be valid field element of CURVE.Fp`);return _=Object.freeze(Object.assign({},_)),{CURVE:_,Fp:ee,Fn:ne}}function xa(Z,_){return function(X){let ee=Z(X);return{secretKey:ee,publicKey:_(ee)}}}be();be();var Co=class{constructor(_,z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(co(_),et(z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(z.length>X?_.create().update(z).digest():z);for(let ne=0;ne<ee.length;ne++)ee[ne]^=54;this.iHash.update(ee),this.oHash=_.create();for(let ne=0;ne<ee.length;ne++)ee[ne]^=106;this.oHash.update(ee),yr(ee)}update(_){return jr(this),this.iHash.update(_),this}digestInto(_){jr(this),et(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:ne,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=ne,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},yi=(Z,_,z)=>new Co(Z,_).update(z).digest();yi.create=(Z,_)=>new Co(Z,_);var ba=(Z,_)=>(Z+(Z>=0?_:-_)/wa)/_;function Yg(Z,_,z){let[[X,ee],[ne,ie]]=_,ae=ba(ie*Z,z),fe=ba(-ee*Z,z),de=Z-ae*X-fe*ne,Ce=-ae*ee-fe*ie,ge=de<kA,Ee=Ce<kA;ge&&(de=-de),Ee&&(Ce=-Ce);let $=wn(Math.ceil(gi(z)/2))+Zr;if(de<kA||de>=$||Ce<kA||Ce>=$)throw new Error("splitScalar (endomorphism): failed, k="+Z);return{k1neg:ge,k1:de,k2neg:Ee,k2:Ce}}function xi(Z){if(!["compact","recovered","der"].includes(Z))throw new Error('Signature format must be "compact", "recovered", or "der"');return Z}function pi(Z,_){let z={};for(let X of Object.keys(_))z[X]=Z[X]===void 0?_[X]:Z[X];return xn(z.lowS,"lowS"),xn(z.prehash,"prehash"),z.format!==void 0&&xi(z.format),z}var bi=class extends Error{constructor(_=""){super(_)}},PA={Err:bi,_tlv:{encode:(Z,_)=>{let{Err:z}=PA;if(Z<0||Z>256)throw new z("tlv.encode: wrong tag");if(_.length&1)throw new z("tlv.encode: unpadded data");let X=_.length/2,ee=bn(X);if(ee.length/2&128)throw new z("tlv.encode: long form length too big");let ne=X>127?bn(ee.length/2|128):"";return bn(Z)+ne+ee+_},decode(Z,_){let{Err:z}=PA,X=0;if(Z<0||Z>256)throw new z("tlv.encode: wrong tag");if(_.length<2||_[X++]!==Z)throw new z("tlv.decode: wrong tlv");let ee=_[X++],ne=!!(ee&128),ie=0;if(!ne)ie=ee;else{let fe=ee&127;if(!fe)throw new z("tlv.decode(long): indefinite length not supported");if(fe>4)throw new z("tlv.decode(long): byte length is too big");let de=_.subarray(X,X+fe);if(de.length!==fe)throw new z("tlv.decode: length bytes not complete");if(de[0]===0)throw new z("tlv.decode(long): zero leftmost byte");for(let Ce of de)ie=ie<<8|Ce;if(X+=fe,ie<128)throw new z("tlv.decode(long): not minimal encoding")}let ae=_.subarray(X,X+ie);if(ae.length!==ie)throw new z("tlv.decode: wrong value length");return{v:ae,l:_.subarray(X+ie)}}},_int:{encode(Z){let{Err:_}=PA;if(Z<kA)throw new _("integer: negative integers are not allowed");let z=bn(Z);if(Number.parseInt(z[0],16)&8&&(z="00"+z),z.length&1)throw new _("unexpected DER parsing assertion: unpadded hex");return z},decode(Z){let{Err:_}=PA;if(Z[0]&128)throw new _("invalid signature integer: negative");if(Z[0]===0&&!(Z[1]&128))throw new _("invalid signature integer: unnecessary leading zero");return Pr(Z)}},toSig(Z){let{Err:_,_int:z,_tlv:X}=PA,ee=et(Z,void 0,"signature"),{v:ne,l:ie}=X.decode(48,ee);if(ie.length)throw new _("invalid signature: left bytes after parsing");let{v:ae,l:fe}=X.decode(2,ne),{v:de,l:Ce}=X.decode(2,fe);if(Ce.length)throw new _("invalid signature: left bytes after parsing");return{r:z.decode(ae),s:z.decode(de)}},hexFromSig(Z){let{_tlv:_,_int:z}=PA,X=_.encode(2,z.encode(Z.r)),ee=_.encode(2,z.encode(Z.s)),ne=X+ee;return _.encode(48,ne)}},kA=BigInt(0),Zr=BigInt(1),wa=BigInt(2),Eo=BigInt(3),Kg=BigInt(4);function ma(Z,_={}){let z=pa("weierstrass",Z,_),{Fp:X,Fn:ee}=z,ne=z.CURVE,{h:ie,n:ae}=ne;mn(_,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:fe}=_;if(fe&&(!X.is0(ne.a)||typeof fe.beta!="bigint"||!Array.isArray(fe.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let de=Sa(X,ee);function Ce(){if(!X.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function ge(Te,pe,ye){let{x:Ue,y:Fe}=pe.toAffine(),me=X.toBytes(Ue);if(xn(ye,"isCompressed"),ye){Ce();let Ye=!X.isOdd(Fe);return Wt(Da(Ye),me)}else return Wt(Uint8Array.of(4),me,X.toBytes(Fe))}function Ee(Te){et(Te,void 0,"Point");let{publicKey:pe,publicKeyUncompressed:ye}=de,Ue=Te.length,Fe=Te[0],me=Te.subarray(1);if(Ue===pe&&(Fe===2||Fe===3)){let Ye=X.fromBytes(me);if(!X.isValid(Ye))throw new Error("bad point: is not on curve, wrong x");let Oe=xe(Ye),Le;try{Le=X.sqrt(Oe)}catch(at){let $e=at instanceof Error?": "+at.message:"";throw new Error("bad point: is not on curve, sqrt error"+$e)}Ce();let _e=X.isOdd(Le);return(Fe&1)===1!==_e&&(Le=X.neg(Le)),{x:Ye,y:Le}}else if(Ue===ye&&Fe===4){let Ye=X.BYTES,Oe=X.fromBytes(me.subarray(0,Ye)),Le=X.fromBytes(me.subarray(Ye,Ye*2));if(!He(Oe,Le))throw new Error("bad point: is not on curve");return{x:Oe,y:Le}}else throw new Error(`bad point: got length ${Ue}, expected compressed=${pe} or uncompressed=${ye}`)}let $=_.toBytes||ge,Be=_.fromBytes||Ee;function xe(Te){let pe=X.sqr(Te),ye=X.mul(pe,Te);return X.add(X.add(ye,X.mul(Te,ne.a)),ne.b)}function He(Te,pe){let ye=X.sqr(pe),Ue=xe(Te);return X.eql(ye,Ue)}if(!He(ne.Gx,ne.Gy))throw new Error("bad curve params: generator point");let Se=X.mul(X.pow(ne.a,Eo),Kg),Re=X.mul(X.sqr(ne.b),BigInt(27));if(X.is0(X.add(Se,Re)))throw new Error("bad curve params: a or b");function we(Te,pe,ye=!1){if(!X.isValid(pe)||ye&&X.is0(pe))throw new Error(`bad point coordinate ${Te}`);return pe}function Me(Te){if(!(Te instanceof qe))throw new Error("Weierstrass Point expected")}function Ve(Te){if(!fe||!fe.basises)throw new Error("no endo");return Yg(Te,fe.basises,ee.ORDER)}let Ge=fi((Te,pe)=>{let{X:ye,Y:Ue,Z:Fe}=Te;if(X.eql(Fe,X.ONE))return{x:ye,y:Ue};let me=Te.is0();pe==null&&(pe=me?X.ONE:X.inv(Fe));let Ye=X.mul(ye,pe),Oe=X.mul(Ue,pe),Le=X.mul(Fe,pe);if(me)return{x:X.ZERO,y:X.ZERO};if(!X.eql(Le,X.ONE))throw new Error("invZ was invalid");return{x:Ye,y:Oe}}),ke=fi(Te=>{if(Te.is0()){if(_.allowInfinityPoint&&!X.is0(Te.Y))return;throw new Error("bad point: ZERO")}let{x:pe,y:ye}=Te.toAffine();if(!X.isValid(pe)||!X.isValid(ye))throw new Error("bad point: x or y not field elements");if(!He(pe,ye))throw new Error("bad point: equation left != right");if(!Te.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function Pe(Te,pe,ye,Ue,Fe){return ye=new qe(X.mul(ye.X,Te),ye.Y,ye.Z),pe=Dn(Ue,pe),ye=Dn(Fe,ye),pe.add(ye)}let Je=class Je{constructor(pe,ye,Ue){he(this,"X");he(this,"Y");he(this,"Z");this.X=we("x",pe),this.Y=we("y",ye,!0),this.Z=we("z",Ue),Object.freeze(this)}static CURVE(){return ne}static fromAffine(pe){let{x:ye,y:Ue}=pe||{};if(!pe||!X.isValid(ye)||!X.isValid(Ue))throw new Error("invalid affine point");if(pe instanceof Je)throw new Error("projective point not allowed");return X.is0(ye)&&X.is0(Ue)?Je.ZERO:new Je(ye,Ue,X.ONE)}static fromBytes(pe){let ye=Je.fromAffine(Be(et(pe,void 0,"point")));return ye.assertValidity(),ye}static fromHex(pe){return Je.fromBytes(xr(pe))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(pe=8,ye=!0){return tt.createCache(this,pe),ye||this.multiply(Eo),this}assertValidity(){ke(this)}hasEvenY(){let{y:pe}=this.toAffine();if(!X.isOdd)throw new Error("Field doesn't support isOdd");return!X.isOdd(pe)}equals(pe){Me(pe);let{X:ye,Y:Ue,Z:Fe}=this,{X:me,Y:Ye,Z:Oe}=pe,Le=X.eql(X.mul(ye,Oe),X.mul(me,Fe)),_e=X.eql(X.mul(Ue,Oe),X.mul(Ye,Fe));return Le&&_e}negate(){return new Je(this.X,X.neg(this.Y),this.Z)}double(){let{a:pe,b:ye}=ne,Ue=X.mul(ye,Eo),{X:Fe,Y:me,Z:Ye}=this,Oe=X.ZERO,Le=X.ZERO,_e=X.ZERO,We=X.mul(Fe,Fe),at=X.mul(me,me),$e=X.mul(Ye,Ye),je=X.mul(Fe,me);return je=X.add(je,je),_e=X.mul(Fe,Ye),_e=X.add(_e,_e),Oe=X.mul(pe,_e),Le=X.mul(Ue,$e),Le=X.add(Oe,Le),Oe=X.sub(at,Le),Le=X.add(at,Le),Le=X.mul(Oe,Le),Oe=X.mul(je,Oe),_e=X.mul(Ue,_e),$e=X.mul(pe,$e),je=X.sub(We,$e),je=X.mul(pe,je),je=X.add(je,_e),_e=X.add(We,We),We=X.add(_e,We),We=X.add(We,$e),We=X.mul(We,je),Le=X.add(Le,We),$e=X.mul(me,Ye),$e=X.add($e,$e),We=X.mul($e,je),Oe=X.sub(Oe,We),_e=X.mul($e,at),_e=X.add(_e,_e),_e=X.add(_e,_e),new Je(Oe,Le,_e)}add(pe){Me(pe);let{X:ye,Y:Ue,Z:Fe}=this,{X:me,Y:Ye,Z:Oe}=pe,Le=X.ZERO,_e=X.ZERO,We=X.ZERO,at=ne.a,$e=X.mul(ne.b,Eo),je=X.mul(ye,me),ut=X.mul(Ue,Ye),ot=X.mul(Fe,Oe),xt=X.add(ye,Ue),At=X.add(me,Ye);xt=X.mul(xt,At),At=X.add(je,ut),xt=X.sub(xt,At),At=X.add(ye,Fe);let lt=X.add(me,Oe);return At=X.mul(At,lt),lt=X.add(je,ot),At=X.sub(At,lt),lt=X.add(Ue,Fe),Le=X.add(Ye,Oe),lt=X.mul(lt,Le),Le=X.add(ut,ot),lt=X.sub(lt,Le),We=X.mul(at,At),Le=X.mul($e,ot),We=X.add(Le,We),Le=X.sub(ut,We),We=X.add(ut,We),_e=X.mul(Le,We),ut=X.add(je,je),ut=X.add(ut,je),ot=X.mul(at,ot),At=X.mul($e,At),ut=X.add(ut,ot),ot=X.sub(je,ot),ot=X.mul(at,ot),At=X.add(At,ot),je=X.mul(ut,At),_e=X.add(_e,je),je=X.mul(lt,At),Le=X.mul(xt,Le),Le=X.sub(Le,je),je=X.mul(xt,ut),We=X.mul(lt,We),We=X.add(We,je),new Je(Le,_e,We)}subtract(pe){return this.add(pe.negate())}is0(){return this.equals(Je.ZERO)}multiply(pe){let{endo:ye}=_;if(!ee.isValidNot0(pe))throw new Error("invalid scalar: out of range");let Ue,Fe,me=Ye=>tt.cached(this,Ye,Oe=>Qi(Je,Oe));if(ye){let{k1neg:Ye,k1:Oe,k2neg:Le,k2:_e}=Ve(pe),{p:We,f:at}=me(Oe),{p:$e,f:je}=me(_e);Fe=at.add(je),Ue=Pe(ye.beta,We,$e,Ye,Le)}else{let{p:Ye,f:Oe}=me(pe);Ue=Ye,Fe=Oe}return Qi(Je,[Ue,Fe])[0]}multiplyUnsafe(pe){let{endo:ye}=_,Ue=this;if(!ee.isValid(pe))throw new Error("invalid scalar: out of range");if(pe===kA||Ue.is0())return Je.ZERO;if(pe===Zr)return Ue;if(tt.hasCache(this))return this.multiply(pe);if(ye){let{k1neg:Fe,k1:me,k2neg:Ye,k2:Oe}=Ve(pe),{p1:Le,p2:_e}=ya(Je,Ue,me,Oe);return Pe(ye.beta,Le,_e,Fe,Ye)}else return tt.unsafe(Ue,pe)}toAffine(pe){return Ge(this,pe)}isTorsionFree(){let{isTorsionFree:pe}=_;return ie===Zr?!0:pe?pe(Je,this):tt.unsafe(this,ae).is0()}clearCofactor(){let{clearCofactor:pe}=_;return ie===Zr?this:pe?pe(Je,this):this.multiplyUnsafe(ie)}isSmallOrder(){return this.multiplyUnsafe(ie).is0()}toBytes(pe=!0){return xn(pe,"isCompressed"),this.assertValidity(),$(Je,this,pe)}toHex(pe=!0){return pr(this.toBytes(pe))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}};he(Je,"BASE",new Je(ne.Gx,ne.Gy,X.ONE)),he(Je,"ZERO",new Je(X.ZERO,X.ONE,X.ZERO)),he(Je,"Fp",X),he(Je,"Fn",ee);let qe=Je,rt=ee.BITS,tt=new Bo(qe,_.endo?Math.ceil(rt/2):rt);return qe.BASE.precompute(8),qe}function Da(Z){return Uint8Array.of(Z?2:3)}function Sa(Z,_){return{secretKey:_.BYTES,publicKey:1+Z.BYTES,publicKeyUncompressed:1+2*Z.BYTES,publicKeyHasPrefix:!0,signature:2*_.BYTES}}function Mg(Z,_={}){let{Fn:z}=Z,X=_.randomBytes||fo,ee=Object.assign(Sa(Z.Fp,z),{seed:li(z.ORDER)});function ne($){try{let Be=z.fromBytes($);return z.isValidNot0(Be)}catch{return!1}}function ie($,Be){let{publicKey:xe,publicKeyUncompressed:He}=ee;try{let Se=$.length;return Be===!0&&Se!==xe||Be===!1&&Se!==He?!1:!!Z.fromBytes($)}catch{return!1}}function ae($=X(ee.seed)){return di(et($,ee.seed,"seed"),z.ORDER)}function fe($,Be=!0){return Z.BASE.multiply(z.fromBytes($)).toBytes(Be)}function de($){let{secretKey:Be,publicKey:xe,publicKeyUncompressed:He}=ee;if(!pn($)||"_lengths"in z&&z._lengths||Be===xe)return;let Se=et($,void 0,"key").length;return Se===xe||Se===He}function Ce($,Be,xe=!0){if(de($)===!0)throw new Error("first arg must be private key");if(de(Be)===!1)throw new Error("second arg must be public key");let He=z.fromBytes($);return Z.fromBytes(Be).multiply(He).toBytes(xe)}let ge={isValidSecretKey:ne,isValidPublicKey:ie,randomSecretKey:ae},Ee=xa(ae,fe);return Object.freeze({getPublicKey:fe,getSharedSecret:Ce,keygen:Ee,Point:Z,utils:ge,lengths:ee})}function Ha(Z,_,z={}){co(_),mn(z,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),z=Object.assign({},z);let X=z.randomBytes||fo,ee=z.hmac||((pe,ye)=>yi(_,pe,ye)),{Fp:ne,Fn:ie}=Z,{ORDER:ae,BITS:fe}=ie,{keygen:de,getPublicKey:Ce,getSharedSecret:ge,utils:Ee,lengths:$}=Mg(Z,z),Be={prehash:!0,lowS:typeof z.lowS=="boolean"?z.lowS:!0,format:"compact",extraEntropy:!1},xe=ae*wa<ne.ORDER;function He(pe){let ye=ae>>Zr;return pe>ye}function Se(pe,ye){if(!ie.isValidNot0(ye))throw new Error(`invalid signature ${pe}: out of range 1..Point.Fn.ORDER`);return ye}function Re(){if(xe)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function we(pe,ye){xi(ye);let Ue=$.signature,Fe=ye==="compact"?Ue:ye==="recovered"?Ue+1:void 0;return et(pe,Fe)}class Me{constructor(ye,Ue,Fe){he(this,"r");he(this,"s");he(this,"recovery");if(this.r=Se("r",ye),this.s=Se("s",Ue),Fe!=null){if(Re(),![0,1,2,3].includes(Fe))throw new Error("invalid recovery id");this.recovery=Fe}Object.freeze(this)}static fromBytes(ye,Ue=Be.format){we(ye,Ue);let Fe;if(Ue==="der"){let{r:Le,s:_e}=PA.toSig(et(ye));return new Me(Le,_e)}Ue==="recovered"&&(Fe=ye[0],Ue="compact",ye=ye.subarray(1));let me=$.signature/2,Ye=ye.subarray(0,me),Oe=ye.subarray(me,me*2);return new Me(ie.fromBytes(Ye),ie.fromBytes(Oe),Fe)}static fromHex(ye,Ue){return this.fromBytes(xr(ye),Ue)}assertRecovery(){let{recovery:ye}=this;if(ye==null)throw new Error("invalid recovery id: must be present");return ye}addRecoveryBit(ye){return new Me(this.r,this.s,ye)}recoverPublicKey(ye){let{r:Ue,s:Fe}=this,me=this.assertRecovery(),Ye=me===2||me===3?Ue+ae:Ue;if(!ne.isValid(Ye))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let Oe=ne.toBytes(Ye),Le=Z.fromBytes(Wt(Da((me&1)===0),Oe)),_e=ie.inv(Ye),We=Ge(et(ye,void 0,"msgHash")),at=ie.create(-We*_e),$e=ie.create(Fe*_e),je=Z.BASE.multiplyUnsafe(at).add(Le.multiplyUnsafe($e));if(je.is0())throw new Error("invalid recovery: point at infinify");return je.assertValidity(),je}hasHighS(){return He(this.s)}toBytes(ye=Be.format){if(xi(ye),ye==="der")return xr(PA.hexFromSig(this));let{r:Ue,s:Fe}=this,me=ie.toBytes(Ue),Ye=ie.toBytes(Fe);return ye==="recovered"?(Re(),Wt(Uint8Array.of(this.assertRecovery()),me,Ye)):Wt(me,Ye)}toHex(ye){return pr(this.toBytes(ye))}}let Ve=z.bits2int||function(ye){if(ye.length>8192)throw new Error("input is too large");let Ue=Pr(ye),Fe=ye.length*8-fe;return Fe>0?Ue>>BigInt(Fe):Ue},Ge=z.bits2int_modN||function(ye){return ie.create(Ve(ye))},ke=wn(fe);function Pe(pe){return na("num < 2^"+fe,pe,kA,ke),ie.toBytes(pe)}function qe(pe,ye){return et(pe,void 0,"message"),ye?et(_(pe),void 0,"prehashed message"):pe}function rt(pe,ye,Ue){let{lowS:Fe,prehash:me,extraEntropy:Ye}=pi(Ue,Be);pe=qe(pe,me);let Oe=Ge(pe),Le=ie.fromBytes(ye);if(!ie.isValidNot0(Le))throw new Error("invalid private key");let _e=[Pe(Le),Pe(Oe)];if(Ye!=null&&Ye!==!1){let je=Ye===!0?X($.secretKey):Ye;_e.push(et(je,void 0,"extraEntropy"))}let We=Wt(..._e),at=Oe;function $e(je){let ut=Ve(je);if(!ie.isValidNot0(ut))return;let ot=ie.inv(ut),xt=Z.BASE.multiply(ut).toAffine(),At=ie.create(xt.x);if(At===kA)return;let lt=ie.create(ot*ie.create(at+At*Le));if(lt===kA)return;let vr=(xt.x===At?0:2)|Number(xt.y&Zr),eA=lt;return Fe&&He(lt)&&(eA=ie.neg(lt),vr^=1),new Me(At,eA,xe?void 0:vr)}return{seed:We,k2sig:$e}}function tt(pe,ye,Ue={}){let{seed:Fe,k2sig:me}=rt(pe,ye,Ue);return oa(_.outputLen,ie.BYTES,ee)(Fe,me).toBytes(Ue.format)}function Je(pe,ye,Ue,Fe={}){let{lowS:me,prehash:Ye,format:Oe}=pi(Fe,Be);if(Ue=et(Ue,void 0,"publicKey"),ye=qe(ye,Ye),!pn(pe)){let Le=pe instanceof Me?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+Le)}we(pe,Oe);try{let Le=Me.fromBytes(pe,Oe),_e=Z.fromBytes(Ue);if(me&&Le.hasHighS())return!1;let{r:We,s:at}=Le,$e=Ge(ye),je=ie.inv(at),ut=ie.create($e*je),ot=ie.create(We*je),xt=Z.BASE.multiplyUnsafe(ut).add(_e.multiplyUnsafe(ot));return xt.is0()?!1:ie.create(xt.x)===We}catch{return!1}}function Te(pe,ye,Ue={}){let{prehash:Fe}=pi(Ue,Be);return ye=qe(ye,Fe),Me.fromBytes(pe,"recovered").recoverPublicKey(ye).toBytes()}return Object.freeze({keygen:de,getPublicKey:Ce,getSharedSecret:ge,utils:Ee,lengths:$,Point:Z,sign:tt,verify:Je,recoverPublicKey:Te,Signature:Me,hash:_})}var mi={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},qg={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var ka=BigInt(2);function Og(Z){let _=mi.p,z=BigInt(3),X=BigInt(6),ee=BigInt(11),ne=BigInt(22),ie=BigInt(23),ae=BigInt(44),fe=BigInt(88),de=Z*Z*Z%_,Ce=de*de*Z%_,ge=St(Ce,z,_)*Ce%_,Ee=St(ge,z,_)*Ce%_,$=St(Ee,ka,_)*de%_,Be=St($,ee,_)*$%_,xe=St(Be,ne,_)*Be%_,He=St(xe,ae,_)*xe%_,Se=St(He,fe,_)*He%_,Re=St(Se,ae,_)*xe%_,we=St(Re,z,_)*Ce%_,Me=St(we,ie,_)*Be%_,Ve=St(Me,X,_)*de%_,Ge=St(Ve,ka,_);if(!wi.eql(wi.sqr(Ge),Z))throw new Error("Cannot find square root");return Ge}var wi=Vr(mi.p,{sqrt:Og}),Jg=ma(mi,{Fp:wi,endo:qg}),mr=Ha(Jg,ta);be();be();function Tg(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function Ga(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function Ht(Z,_,z=""){let X=Tg(Z),ee=Z?.length,ne=_!==void 0;if(!X||ne&&ee!==_){let ie=z&&`"${z}" `,ae=ne?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function va(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Ga(Z.outputLen),Ga(Z.blockLen)}function zr(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function Ua(Z,_){Ht(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function Ut(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function VA(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function zt(Z,_){return Z<<32-_|Z>>>_}function Sn(Z,_){return Z<<_|Z>>>32-_>>>0}function Hn(...Z){let _=0;for(let X=0;X<Z.length;X++){let ee=Z[X];Ht(ee),_+=ee.length}let z=new Uint8Array(_);for(let X=0,ee=0;X<Z.length;X++){let ne=Z[X];z.set(ne,ee),ee+=ne.length}return z}function kn(Z,_={}){let z=(ee,ne)=>Z(ne).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}var Di=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])});var Qo=class{constructor(_,z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(va(_),Ht(z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(z.length>X?_.create().update(z).digest():z);for(let ne=0;ne<ee.length;ne++)ee[ne]^=54;this.iHash.update(ee),this.oHash=_.create();for(let ne=0;ne<ee.length;ne++)ee[ne]^=106;this.oHash.update(ee),Ut(ee)}update(_){return zr(this),this.iHash.update(_),this}digestInto(_){zr(this),Ht(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:ne,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=ne,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},yo=(Z,_,z)=>new Qo(Z,_).update(z).digest();yo.create=(Z,_)=>new Qo(Z,_);be();be();function Si(Z,_,z){return Z&_^~Z&z}function Hi(Z,_,z){return Z&_^Z&z^_&z}var Dr=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=VA(this.buffer)}update(_){zr(this),Ht(_);let{view:z,buffer:X,blockLen:ee}=this,ne=_.length;for(let ie=0;ie<ne;){let ae=Math.min(ee-this.pos,ne-ie);if(ae===ee){let fe=VA(_);for(;ee<=ne-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){zr(this),Ua(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:ne}=this,{pos:ie}=this;z[ie++]=128,Ut(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ge=ie;ge<ee;ge++)z[ge]=0;X.setBigUint64(ee-8,BigInt(this.length*8),ne),this.process(X,0);let ae=VA(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let de=fe/4,Ce=this.get();if(de>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ge=0;ge<de;ge++)ae.setUint32(4*ge,Ce[ge],ne)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:ne,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=ne,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},GA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var yt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var _g=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Na=Uint8Array.from(new Array(16).fill(0).map((Z,_)=>_)),jg=Na.map(Z=>(9*Z+5)%16),Fa=(()=>{let z=[[Na],[jg]];for(let X=0;X<4;X++)for(let ee of z)ee.push(ee[X].map(ne=>_g[ne]));return z})(),Ra=Fa[0],Ya=Fa[1],Ka=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(Z=>Uint8Array.from(Z)),Pg=Ra.map((Z,_)=>Z.map(z=>Ka[_][z])),Vg=Ya.map((Z,_)=>Z.map(z=>Ka[_][z])),Wg=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Zg=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function La(Z,_,z,X){return Z===0?_^z^X:Z===1?_&z|~_&X:Z===2?(_|~z)^X:Z===3?_&X|z&~X:_^(z|~X)}var po=new Uint32Array(16),ki=class extends Dr{constructor(){super(64,20,8,!0);he(this,"h0",1732584193);he(this,"h1",-271733879);he(this,"h2",-1732584194);he(this,"h3",271733878);he(this,"h4",-1009589776)}get(){let{h0:z,h1:X,h2:ee,h3:ne,h4:ie}=this;return[z,X,ee,ne,ie]}set(z,X,ee,ne,ie){this.h0=z|0,this.h1=X|0,this.h2=ee|0,this.h3=ne|0,this.h4=ie|0}process(z,X){for(let Be=0;Be<16;Be++,X+=4)po[Be]=z.getUint32(X,!0);let ee=this.h0|0,ne=ee,ie=this.h1|0,ae=ie,fe=this.h2|0,de=fe,Ce=this.h3|0,ge=Ce,Ee=this.h4|0,$=Ee;for(let Be=0;Be<5;Be++){let xe=4-Be,He=Wg[Be],Se=Zg[Be],Re=Ra[Be],we=Ya[Be],Me=Pg[Be],Ve=Vg[Be];for(let Ge=0;Ge<16;Ge++){let ke=Sn(ee+La(Be,ie,fe,Ce)+po[Re[Ge]]+He,Me[Ge])+Ee|0;ee=Ee,Ee=Ce,Ce=Sn(fe,10)|0,fe=ie,ie=ke}for(let Ge=0;Ge<16;Ge++){let ke=Sn(ne+La(xe,ae,de,ge)+po[we[Ge]]+Se,Ve[Ge])+$|0;ne=$,$=ge,ge=Sn(de,10)|0,de=ae,ae=ke}}this.set(this.h1+fe+ge|0,this.h2+Ce+$|0,this.h3+Ee+ne|0,this.h4+ee+ae|0,this.h0+ie+de|0)}roundClean(){Ut(po)}destroy(){this.destroyed=!0,Ut(this.buffer),this.set(0,0,0,0,0)}},Ma=kn(()=>new ki);be();be();var xo=BigInt(4294967295),qa=BigInt(32);function zg(Z,_=!1){return _?{h:Number(Z&xo),l:Number(Z>>qa&xo)}:{h:Number(Z>>qa&xo)|0,l:Number(Z&xo)|0}}function Oa(Z,_=!1){let z=Z.length,X=new Uint32Array(z),ee=new Uint32Array(z);for(let ne=0;ne<z;ne++){let{h:ie,l:ae}=zg(Z[ne],_);[X[ne],ee[ne]]=[ie,ae]}return[X,ee]}var Gi=(Z,_,z)=>Z>>>z,vi=(Z,_,z)=>Z<<32-z|_>>>z,Sr=(Z,_,z)=>Z>>>z|_<<32-z,Hr=(Z,_,z)=>Z<<32-z|_>>>z,Gn=(Z,_,z)=>Z<<64-z|_>>>z-32,vn=(Z,_,z)=>Z>>>z-32|_<<64-z;function gA(Z,_,z,X){let ee=(_>>>0)+(X>>>0);return{h:Z+z+(ee/2**32|0)|0,l:ee|0}}var Ja=(Z,_,z)=>(Z>>>0)+(_>>>0)+(z>>>0),Ta=(Z,_,z,X)=>_+z+X+(Z/2**32|0)|0,_a=(Z,_,z,X)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0),ja=(Z,_,z,X,ee)=>_+z+X+ee+(Z/2**32|0)|0,Pa=(Z,_,z,X,ee)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0)+(ee>>>0),Va=(Z,_,z,X,ee,ne)=>_+z+X+ee+ne+(Z/2**32|0)|0;var $g=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),WA=new Uint32Array(64),Ui=class extends Dr{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:ne,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,ne,ie,ae,fe]}set(_,z,X,ee,ne,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=ne|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ge=0;ge<16;ge++,z+=4)WA[ge]=_.getUint32(z,!1);for(let ge=16;ge<64;ge++){let Ee=WA[ge-15],$=WA[ge-2],Be=zt(Ee,7)^zt(Ee,18)^Ee>>>3,xe=zt($,17)^zt($,19)^$>>>10;WA[ge]=xe+WA[ge-7]+Be+WA[ge-16]|0}let{A:X,B:ee,C:ne,D:ie,E:ae,F:fe,G:de,H:Ce}=this;for(let ge=0;ge<64;ge++){let Ee=zt(ae,6)^zt(ae,11)^zt(ae,25),$=Ce+Ee+Si(ae,fe,de)+$g[ge]+WA[ge]|0,xe=(zt(X,2)^zt(X,13)^zt(X,22))+Hi(X,ee,ne)|0;Ce=de,de=fe,fe=ae,ae=ie+$|0,ie=ne,ne=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,ne=ne+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,de=de+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,ne,ie,ae,fe,de,Ce)}roundClean(){Ut(WA)}destroy(){this.set(0,0,0,0,0,0,0,0),Ut(this.buffer)}},Li=class extends Ui{constructor(){super(32);he(this,"A",GA[0]|0);he(this,"B",GA[1]|0);he(this,"C",GA[2]|0);he(this,"D",GA[3]|0);he(this,"E",GA[4]|0);he(this,"F",GA[5]|0);he(this,"G",GA[6]|0);he(this,"H",GA[7]|0)}};var Wa=Oa(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(Z=>BigInt(Z))),ef=Wa[0],tf=Wa[1],ZA=new Uint32Array(80),zA=new Uint32Array(80),Ni=class extends Dr{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:z,Bh:X,Bl:ee,Ch:ne,Cl:ie,Dh:ae,Dl:fe,Eh:de,El:Ce,Fh:ge,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,z,X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He]}set(_,z,X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=ne|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=de|0,this.El=Ce|0,this.Fh=ge|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,z){for(let we=0;we<16;we++,z+=4)ZA[we]=_.getUint32(z),zA[we]=_.getUint32(z+=4);for(let we=16;we<80;we++){let Me=ZA[we-15]|0,Ve=zA[we-15]|0,Ge=Sr(Me,Ve,1)^Sr(Me,Ve,8)^Gi(Me,Ve,7),ke=Hr(Me,Ve,1)^Hr(Me,Ve,8)^vi(Me,Ve,7),Pe=ZA[we-2]|0,qe=zA[we-2]|0,rt=Sr(Pe,qe,19)^Gn(Pe,qe,61)^Gi(Pe,qe,6),tt=Hr(Pe,qe,19)^vn(Pe,qe,61)^vi(Pe,qe,6),Je=_a(ke,tt,zA[we-7],zA[we-16]),Te=ja(Je,Ge,rt,ZA[we-7],ZA[we-16]);ZA[we]=Te|0,zA[we]=Je|0}let{Ah:X,Al:ee,Bh:ne,Bl:ie,Ch:ae,Cl:fe,Dh:de,Dl:Ce,Eh:ge,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=Sr(ge,Ee,14)^Sr(ge,Ee,18)^Gn(ge,Ee,41),Ve=Hr(ge,Ee,14)^Hr(ge,Ee,18)^vn(ge,Ee,41),Ge=ge&$^~ge&xe,ke=Ee&Be^~Ee&He,Pe=Pa(Re,Ve,ke,tf[we],zA[we]),qe=Va(Pe,Se,Me,Ge,ef[we],ZA[we]),rt=Pe|0,tt=Sr(X,ee,28)^Gn(X,ee,34)^Gn(X,ee,39),Je=Hr(X,ee,28)^vn(X,ee,34)^vn(X,ee,39),Te=X&ne^X&ae^ne&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ge|0,Be=Ee|0,{h:ge,l:Ee}=gA(de|0,Ce|0,qe|0,rt|0),de=ae|0,Ce=fe|0,ae=ne|0,fe=ie|0,ne=X|0,ie=ee|0;let ye=Ja(rt,Je,pe);X=Ta(ye,qe,tt,Te),ee=ye|0}({h:X,l:ee}=gA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:ne,l:ie}=gA(this.Bh|0,this.Bl|0,ne|0,ie|0),{h:ae,l:fe}=gA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:de,l:Ce}=gA(this.Dh|0,this.Dl|0,de|0,Ce|0),{h:ge,l:Ee}=gA(this.Eh|0,this.El|0,ge|0,Ee|0),{h:$,l:Be}=gA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=gA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=gA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He,Se,Re)}roundClean(){Ut(ZA,zA)}destroy(){Ut(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Fi=class extends Ni{constructor(){super(64);he(this,"Ah",yt[0]|0);he(this,"Al",yt[1]|0);he(this,"Bh",yt[2]|0);he(this,"Bl",yt[3]|0);he(this,"Ch",yt[4]|0);he(this,"Cl",yt[5]|0);he(this,"Dh",yt[6]|0);he(this,"Dl",yt[7]|0);he(this,"Eh",yt[8]|0);he(this,"El",yt[9]|0);he(this,"Fh",yt[10]|0);he(this,"Fl",yt[11]|0);he(this,"Gh",yt[12]|0);he(this,"Gl",yt[13]|0);he(this,"Hh",yt[14]|0);he(this,"Hl",yt[15]|0)}};var Ri=kn(()=>new Li,Di(1));var Yi=kn(()=>new Fi,Di(3));be();function bo(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function Za(Z,_){return Array.isArray(_)?_.length===0?!0:Z?_.every(z=>typeof z=="string"):_.every(z=>Number.isSafeInteger(z)):!1}function Af(Z){if(typeof Z!="function")throw new Error("function expected");return!0}function wo(Z,_){if(typeof _!="string")throw new Error(`${Z}: string expected`);return!0}function Xr(Z){if(!Number.isSafeInteger(Z))throw new Error(`invalid integer: ${Z}`)}function mo(Z){if(!Array.isArray(Z))throw new Error("array expected")}function Do(Z,_){if(!Za(!0,_))throw new Error(`${Z}: array of strings expected`)}function za(Z,_){if(!Za(!1,_))throw new Error(`${Z}: array of numbers expected`)}function Oi(...Z){let _=ne=>ne,z=(ne,ie)=>ae=>ne(ie(ae)),X=Z.map(ne=>ne.encode).reduceRight(z,_),ee=Z.map(ne=>ne.decode).reduce(z,_);return{encode:X,decode:ee}}function Xa(Z){let _=typeof Z=="string"?Z.split(""):Z,z=_.length;Do("alphabet",_);let X=new Map(_.map((ee,ne)=>[ee,ne]));return{encode:ee=>(mo(ee),ee.map(ne=>{if(!Number.isSafeInteger(ne)||ne<0||ne>=z)throw new Error(`alphabet.encode: digit index outside alphabet "${ne}". Allowed: ${Z}`);return _[ne]})),decode:ee=>(mo(ee),ee.map(ne=>{wo("alphabet.decode",ne);let ie=X.get(ne);if(ie===void 0)throw new Error(`Unknown letter: "${ne}". Allowed: ${Z}`);return ie}))}}function $a(Z=""){return wo("join",Z),{encode:_=>(Do("join.decode",_),_.join(Z)),decode:_=>(wo("join.decode",_),_.split(Z))}}function rf(Z,_="="){return Xr(Z),wo("padding",_),{encode(z){for(Do("padding.encode",z);z.length*Z%8;)z.push(_);return z},decode(z){Do("padding.decode",z);let X=z.length;if(X*Z%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;X>0&&z[X-1]===_;X--)if((X-1)*Z%8===0)throw new Error("padding: invalid, string has too much padding");return z.slice(0,X)}}}function Mi(Z,_,z){if(_<2)throw new Error(`convertRadix: invalid from=${_}, base cannot be less than 2`);if(z<2)throw new Error(`convertRadix: invalid to=${z}, base cannot be less than 2`);if(mo(Z),!Z.length)return[];let X=0,ee=[],ne=Array.from(Z,ae=>{if(Xr(ae),ae<0||ae>=_)throw new Error(`invalid integer: ${ae}`);return ae}),ie=ne.length;for(;;){let ae=0,fe=!0;for(let de=X;de<ie;de++){let Ce=ne[de],ge=_*ae,Ee=ge+Ce;if(!Number.isSafeInteger(Ee)||ge/_!==ae||Ee-Ce!==ge)throw new Error("convertRadix: carry overflow");let $=Ee/z;ae=Ee%z;let Be=Math.floor($);if(ne[de]=Be,!Number.isSafeInteger(Be)||Be*z+ae!==Ee)throw new Error("convertRadix: carry overflow");if(fe)Be?fe=!1:X=de;else continue}if(ee.push(ae),fe)break}for(let ae=0;ae<Z.length-1&&Z[ae]===0;ae++)ee.push(0);return ee.reverse()}var ec=(Z,_)=>_===0?Z:ec(_,Z%_),So=(Z,_)=>Z+(_-ec(Z,_)),Ki=(()=>{let Z=[];for(let _=0;_<40;_++)Z.push(2**_);return Z})();function qi(Z,_,z,X){if(mo(Z),_<=0||_>32)throw new Error(`convertRadix2: wrong from=${_}`);if(z<=0||z>32)throw new Error(`convertRadix2: wrong to=${z}`);if(So(_,z)>32)throw new Error(`convertRadix2: carry overflow from=${_} to=${z} carryBits=${So(_,z)}`);let ee=0,ne=0,ie=Ki[_],ae=Ki[z]-1,fe=[];for(let de of Z){if(Xr(de),de>=ie)throw new Error(`convertRadix2: invalid data word=${de} from=${_}`);if(ee=ee<<_|de,ne+_>32)throw new Error(`convertRadix2: carry overflow pos=${ne} from=${_}`);for(ne+=_;ne>=z;ne-=z)fe.push((ee>>ne-z&ae)>>>0);let Ce=Ki[ne];if(Ce===void 0)throw new Error("invalid carry");ee&=Ce-1}if(ee=ee<<z-ne&ae,!X&&ne>=_)throw new Error("Excess padding");if(!X&&ee>0)throw new Error(`Non-zero padding: ${ee}`);return X&&ne>0&&fe.push(ee>>>0),fe}function tc(Z){Xr(Z);let _=2**8;return{encode:z=>{if(!bo(z))throw new Error("radix.encode input should be Uint8Array");return Mi(Array.from(z),_,Z)},decode:z=>(za("radix.decode",z),Uint8Array.from(Mi(z,Z,_)))}}function nf(Z,_=!1){if(Xr(Z),Z<=0||Z>32)throw new Error("radix2: bits should be in (0..32]");if(So(8,Z)>32||So(Z,8)>32)throw new Error("radix2: carry overflow");return{encode:z=>{if(!bo(z))throw new Error("radix2.encode input should be Uint8Array");return qi(Array.from(z),8,Z,!_)},decode:z=>(za("radix2.decode",z),Uint8Array.from(qi(z,Z,8,_)))}}function Ac(Z,_){return Xr(Z),Af(_),{encode(z){if(!bo(z))throw new Error("checksum.encode: input should be Uint8Array");let X=_(z).slice(0,Z),ee=new Uint8Array(z.length+Z);return ee.set(z),ee.set(X,z.length),ee},decode(z){if(!bo(z))throw new Error("checksum.decode: input should be Uint8Array");let X=z.slice(0,-Z),ee=z.slice(-Z),ne=_(X).slice(0,Z);for(let ie=0;ie<Z;ie++)if(ne[ie]!==ee[ie])throw new Error("Invalid checksum");return X}}}var Un={alphabet:Xa,chain:Oi,checksum:Ac,convertRadix:Mi,convertRadix2:qi,radix:tc,radix2:nf,join:$a,padding:rf};var of=Z=>Oi(tc(58),Xa(Z),$a("")),sf=of("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var rc=Z=>Oi(Ac(4,_=>Z(Z(_))),sf);var Nn=mr.Point,{Fn:Ln}=Nn,Ji=rc(Ri),af=Uint8Array.from("Bitcoin seed".split(""),Z=>Z.charCodeAt(0)),Ti={private:76066276,public:76067358},_i=2147483648,cf=Z=>Ma(Ri(Z)),gf=Z=>VA(Z).getUint32(0,!1),Ho=Z=>{if(!Number.isSafeInteger(Z)||Z<0||Z>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+Z);let _=new Uint8Array(4);return VA(_).setUint32(0,Z,!1),_},ko=class Z{constructor(_){he(this,"versions");he(this,"depth",0);he(this,"index",0);he(this,"chainCode",null);he(this,"parentFingerprint",0);he(this,"_privateKey");he(this,"_publicKey");he(this,"pubHash");if(!_||typeof _!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=_.versions||Ti,this.depth=_.depth||0,this.chainCode=_.chainCode||null,this.index=_.index||0,this.parentFingerprint=_.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(this.depth>255)throw new Error("HDKey: depth exceeds the serializable value 255");if(_.publicKey&&_.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(_.privateKey){if(!mr.utils.isValidSecretKey(_.privateKey))throw new Error("Invalid private key");this._privateKey=_.privateKey,this._publicKey=mr.getPublicKey(_.privateKey,!0)}else if(_.publicKey)this._publicKey=Nn.fromBytes(_.publicKey).toBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=cf(this._publicKey)}get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return gf(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this._privateKey||null}get publicKey(){return this._publicKey||null}get privateExtendedKey(){let _=this._privateKey;if(!_)throw new Error("No private key");return Ji.encode(this.serialize(this.versions.private,Hn(Uint8Array.of(0),_)))}get publicExtendedKey(){if(!this._publicKey)throw new Error("No public key");return Ji.encode(this.serialize(this.versions.public,this._publicKey))}static fromMasterSeed(_,z=Ti){if(Ht(_),8*_.length<128||8*_.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+_.length);let X=yo(Yi,af,_),ee=X.slice(0,32),ne=X.slice(32);return new Z({versions:z,chainCode:ne,privateKey:ee})}static fromExtendedKey(_,z=Ti){let X=Ji.decode(_),ee=VA(X),ne=ee.getUint32(0,!1),ie={versions:z,depth:X[4],parentFingerprint:ee.getUint32(5,!1),index:ee.getUint32(9,!1),chainCode:X.slice(13,45)},ae=X.slice(45),fe=ae[0]===0;if(ne!==z[fe?"private":"public"])throw new Error("Version mismatch");return fe?new Z({...ie,privateKey:ae.slice(1)}):new Z({...ie,publicKey:ae})}static fromJSON(_){return Z.fromExtendedKey(_.xpriv)}derive(_){if(!/^[mM]'?/.test(_))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(_))return this;let z=_.replace(/^[mM]'?\//,"").split("/"),X=this;for(let ee of z){let ne=/^(\d+)('?)$/.exec(ee),ie=ne&&ne[1];if(!ne||ne.length!==3||typeof ie!="string")throw new Error("invalid child index: "+ee);let ae=+ie;if(!Number.isSafeInteger(ae)||ae>=_i)throw new Error("Invalid index");ne[2]==="'"&&(ae+=_i),X=X.deriveChild(ae)}return X}deriveChild(_){if(!this._publicKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let z=Ho(_);if(_>=_i){let fe=this._privateKey;if(!fe)throw new Error("Could not derive hardened child key");z=Hn(Uint8Array.of(0),fe,z)}else z=Hn(this._publicKey,z);let X=yo(Yi,this.chainCode,z),ee=X.slice(0,32),ne=X.slice(32);if(!mr.utils.isValidSecretKey(ee))throw new Error("Tweak bigger than curve order");let ie={versions:this.versions,chainCode:ne,depth:this.depth+1,parentFingerprint:this.fingerprint,index:_},ae=Ln.fromBytes(ee);try{if(this._privateKey){let fe=Ln.create(Ln.fromBytes(this._privateKey)+ae);if(!Ln.isValidNot0(fe))throw new Error("The tweak was out of range or the resulted private key is invalid");ie.privateKey=Ln.toBytes(fe)}else{let fe=Nn.fromBytes(this._publicKey).add(Nn.BASE.multiply(ae));if(fe.equals(Nn.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");ie.publicKey=fe.toBytes(!0)}return new Z(ie)}catch{return this.deriveChild(_+1)}}sign(_){if(!this._privateKey)throw new Error("No privateKey set!");return Ht(_,32),mr.sign(_,this._privateKey,{prehash:!1})}verify(_,z){if(Ht(_,32),Ht(z,64),!this._publicKey)throw new Error("No publicKey set!");return mr.verify(z,_,this._publicKey,{prehash:!1})}wipePrivateData(){return this._privateKey&&(this._privateKey.fill(0),this._privateKey=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(_,z){if(!this.chainCode)throw new Error("No chainCode set");return Ht(z,33),Hn(Ho(_),new Uint8Array([this.depth]),Ho(this.parentFingerprint),Ho(this.index),this.chainCode,z)}};be();be();be();be();function ff(Z){return Z instanceof Uint8Array||ArrayBuffer.isView(Z)&&Z.constructor.name==="Uint8Array"}function XA(Z,_=""){if(!Number.isSafeInteger(Z)||Z<0){let z=_&&`"${_}" `;throw new Error(`${z}expected integer >= 0, got ${Z}`)}}function vA(Z,_,z=""){let X=ff(Z),ee=Z?.length,ne=_!==void 0;if(!X||ne&&ee!==_){let ie=z&&`"${z}" `,ae=ne?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof Z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return Z}function Go(Z){if(typeof Z!="function"||typeof Z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");XA(Z.outputLen),XA(Z.blockLen)}function $r(Z,_=!0){if(Z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&Z.finished)throw new Error("Hash#digest() has already been called")}function nc(Z,_){vA(Z,void 0,"digestInto() output");let z=_.outputLen;if(Z.length<z)throw new Error('"digestInto() output" expected to be of length >='+z)}function Xt(...Z){for(let _=0;_<Z.length;_++)Z[_].fill(0)}function en(Z){return new DataView(Z.buffer,Z.byteOffset,Z.byteLength)}function $t(Z,_){return Z<<32-_|Z>>>_}function uf(Z){if(typeof Z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(Z))}function ji(Z,_=""){return typeof Z=="string"?uf(Z):vA(Z,void 0,_)}function oc(Z,_){if(_!==void 0&&{}.toString.call(_)!=="[object Object]")throw new Error("options must be object or undefined");return Object.assign(Z,_)}function Pi(Z,_={}){let z=(ee,ne)=>Z(ne).update(ee).digest(),X=Z(void 0);return z.outputLen=X.outputLen,z.blockLen=X.blockLen,z.create=ee=>Z(ee),Object.assign(z,_),Object.freeze(z)}function ic(Z=32){let _=typeof globalThis=="object"?globalThis.crypto:null;if(typeof _?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return _.getRandomValues(new Uint8Array(Z))}var Vi=Z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,Z])});var vo=class{constructor(_,z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(Go(_),vA(z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(z.length>X?_.create().update(z).digest():z);for(let ne=0;ne<ee.length;ne++)ee[ne]^=54;this.iHash.update(ee),this.oHash=_.create();for(let ne=0;ne<ee.length;ne++)ee[ne]^=106;this.oHash.update(ee),Xt(ee)}update(_){return $r(this),this.iHash.update(_),this}digestInto(_){$r(this),vA(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:z,iHash:X,finished:ee,destroyed:ne,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=ne,_.blockLen=ie,_.outputLen=ae,_.oHash=z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Wi=(Z,_,z)=>new vo(Z,_).update(z).digest();Wi.create=(Z,_)=>new vo(Z,_);function If(Z,_,z,X){Go(Z);let ee=oc({dkLen:32,asyncTick:10},X),{c:ne,dkLen:ie,asyncTick:ae}=ee;if(XA(ne,"c"),XA(ie,"dkLen"),XA(ae,"asyncTick"),ne<1)throw new Error("iterations (c) must be >= 1");let fe=ji(_,"password"),de=ji(z,"salt"),Ce=new Uint8Array(ie),ge=Wi.create(Z,fe),Ee=ge._cloneInto().update(de);return{c:ne,dkLen:ie,asyncTick:ae,DK:Ce,PRF:ge,PRFSalt:Ee}}function hf(Z,_,z,X,ee){return Z.destroy(),_.destroy(),X&&X.destroy(),Xt(ee),z}function sc(Z,_,z,X){let{c:ee,dkLen:ne,DK:ie,PRF:ae,PRFSalt:fe}=If(Z,_,z,X),de,Ce=new Uint8Array(4),ge=en(Ce),Ee=new Uint8Array(ae.outputLen);for(let $=1,Be=0;Be<ne;$++,Be+=ae.outputLen){let xe=ie.subarray(Be,Be+ae.outputLen);ge.setInt32(0,$,!1),(de=fe._cloneInto(de)).update(Ce).digestInto(Ee),xe.set(Ee.subarray(0,xe.length));for(let He=1;He<ee;He++){ae._cloneInto(de).update(Ee).digestInto(Ee);for(let Se=0;Se<xe.length;Se++)xe[Se]^=Ee[Se]}}return hf(ae,fe,ie,de,Ee)}be();be();function ac(Z,_,z){return Z&_^~Z&z}function cc(Z,_,z){return Z&_^Z&z^_&z}var Fn=class{constructor(_,z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=en(this.buffer)}update(_){$r(this),vA(_);let{view:z,buffer:X,blockLen:ee}=this,ne=_.length;for(let ie=0;ie<ne;){let ae=Math.min(ee-this.pos,ne-ie);if(ae===ee){let fe=en(_);for(;ee<=ne-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){$r(this),nc(_,this),this.finished=!0;let{buffer:z,view:X,blockLen:ee,isLE:ne}=this,{pos:ie}=this;z[ie++]=128,Xt(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ge=ie;ge<ee;ge++)z[ge]=0;X.setBigUint64(ee-8,BigInt(this.length*8),ne),this.process(X,0);let ae=en(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let de=fe/4,Ce=this.get();if(de>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ge=0;ge<de;ge++)ae.setUint32(4*ge,Ce[ge],ne)}digest(){let{buffer:_,outputLen:z}=this;this.digestInto(_);let X=_.slice(0,z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:z,buffer:X,length:ee,finished:ne,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=ne,_.length=ee,_.pos=ae,ee%z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},UA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var pt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);be();var Uo=BigInt(4294967295),gc=BigInt(32);function lf(Z,_=!1){return _?{h:Number(Z&Uo),l:Number(Z>>gc&Uo)}:{h:Number(Z>>gc&Uo)|0,l:Number(Z&Uo)|0}}function fc(Z,_=!1){let z=Z.length,X=new Uint32Array(z),ee=new Uint32Array(z);for(let ne=0;ne<z;ne++){let{h:ie,l:ae}=lf(Z[ne],_);[X[ne],ee[ne]]=[ie,ae]}return[X,ee]}var Zi=(Z,_,z)=>Z>>>z,zi=(Z,_,z)=>Z<<32-z|_>>>z,kr=(Z,_,z)=>Z>>>z|_<<32-z,Gr=(Z,_,z)=>Z<<32-z|_>>>z,Rn=(Z,_,z)=>Z<<64-z|_>>>z-32,Yn=(Z,_,z)=>Z>>>z-32|_<<64-z;function fA(Z,_,z,X){let ee=(_>>>0)+(X>>>0);return{h:Z+z+(ee/2**32|0)|0,l:ee|0}}var uc=(Z,_,z)=>(Z>>>0)+(_>>>0)+(z>>>0),Ic=(Z,_,z,X)=>_+z+X+(Z/2**32|0)|0,hc=(Z,_,z,X)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0),lc=(Z,_,z,X,ee)=>_+z+X+ee+(Z/2**32|0)|0,dc=(Z,_,z,X,ee)=>(Z>>>0)+(_>>>0)+(z>>>0)+(X>>>0)+(ee>>>0),Bc=(Z,_,z,X,ee,ne)=>_+z+X+ee+ne+(Z/2**32|0)|0;var Bf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),$A=new Uint32Array(64),Xi=class extends Fn{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:z,C:X,D:ee,E:ne,F:ie,G:ae,H:fe}=this;return[_,z,X,ee,ne,ie,ae,fe]}set(_,z,X,ee,ne,ie,ae,fe){this.A=_|0,this.B=z|0,this.C=X|0,this.D=ee|0,this.E=ne|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,z){for(let ge=0;ge<16;ge++,z+=4)$A[ge]=_.getUint32(z,!1);for(let ge=16;ge<64;ge++){let Ee=$A[ge-15],$=$A[ge-2],Be=$t(Ee,7)^$t(Ee,18)^Ee>>>3,xe=$t($,17)^$t($,19)^$>>>10;$A[ge]=xe+$A[ge-7]+Be+$A[ge-16]|0}let{A:X,B:ee,C:ne,D:ie,E:ae,F:fe,G:de,H:Ce}=this;for(let ge=0;ge<64;ge++){let Ee=$t(ae,6)^$t(ae,11)^$t(ae,25),$=Ce+Ee+ac(ae,fe,de)+Bf[ge]+$A[ge]|0,xe=($t(X,2)^$t(X,13)^$t(X,22))+cc(X,ee,ne)|0;Ce=de,de=fe,fe=ae,ae=ie+$|0,ie=ne,ne=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,ne=ne+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,de=de+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,ne,ie,ae,fe,de,Ce)}roundClean(){Xt($A)}destroy(){this.set(0,0,0,0,0,0,0,0),Xt(this.buffer)}},$i=class extends Xi{constructor(){super(32);he(this,"A",UA[0]|0);he(this,"B",UA[1]|0);he(this,"C",UA[2]|0);he(this,"D",UA[3]|0);he(this,"E",UA[4]|0);he(this,"F",UA[5]|0);he(this,"G",UA[6]|0);he(this,"H",UA[7]|0)}};var Cc=fc(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(Z=>BigInt(Z))),Cf=Cc[0],Ef=Cc[1],er=new Uint32Array(80),tr=new Uint32Array(80),es=class extends Fn{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:z,Bh:X,Bl:ee,Ch:ne,Cl:ie,Dh:ae,Dl:fe,Eh:de,El:Ce,Fh:ge,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,z,X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He]}set(_,z,X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=ne|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=de|0,this.El=Ce|0,this.Fh=ge|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,z){for(let we=0;we<16;we++,z+=4)er[we]=_.getUint32(z),tr[we]=_.getUint32(z+=4);for(let we=16;we<80;we++){let Me=er[we-15]|0,Ve=tr[we-15]|0,Ge=kr(Me,Ve,1)^kr(Me,Ve,8)^Zi(Me,Ve,7),ke=Gr(Me,Ve,1)^Gr(Me,Ve,8)^zi(Me,Ve,7),Pe=er[we-2]|0,qe=tr[we-2]|0,rt=kr(Pe,qe,19)^Rn(Pe,qe,61)^Zi(Pe,qe,6),tt=Gr(Pe,qe,19)^Yn(Pe,qe,61)^zi(Pe,qe,6),Je=hc(ke,tt,tr[we-7],tr[we-16]),Te=lc(Je,Ge,rt,er[we-7],er[we-16]);er[we]=Te|0,tr[we]=Je|0}let{Ah:X,Al:ee,Bh:ne,Bl:ie,Ch:ae,Cl:fe,Dh:de,Dl:Ce,Eh:ge,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=kr(ge,Ee,14)^kr(ge,Ee,18)^Rn(ge,Ee,41),Ve=Gr(ge,Ee,14)^Gr(ge,Ee,18)^Yn(ge,Ee,41),Ge=ge&$^~ge&xe,ke=Ee&Be^~Ee&He,Pe=dc(Re,Ve,ke,Ef[we],tr[we]),qe=Bc(Pe,Se,Me,Ge,Cf[we],er[we]),rt=Pe|0,tt=kr(X,ee,28)^Rn(X,ee,34)^Rn(X,ee,39),Je=Gr(X,ee,28)^Yn(X,ee,34)^Yn(X,ee,39),Te=X&ne^X&ae^ne&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ge|0,Be=Ee|0,{h:ge,l:Ee}=fA(de|0,Ce|0,qe|0,rt|0),de=ae|0,Ce=fe|0,ae=ne|0,fe=ie|0,ne=X|0,ie=ee|0;let ye=uc(rt,Je,pe);X=Ic(ye,qe,tt,Te),ee=ye|0}({h:X,l:ee}=fA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:ne,l:ie}=fA(this.Bh|0,this.Bl|0,ne|0,ie|0),{h:ae,l:fe}=fA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:de,l:Ce}=fA(this.Dh|0,this.Dl|0,de|0,Ce|0),{h:ge,l:Ee}=fA(this.Eh|0,this.El|0,ge|0,Ee|0),{h:$,l:Be}=fA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=fA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=fA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,ne,ie,ae,fe,de,Ce,ge,Ee,$,Be,xe,He,Se,Re)}roundClean(){Xt(er,tr)}destroy(){Xt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ts=class extends es{constructor(){super(64);he(this,"Ah",pt[0]|0);he(this,"Al",pt[1]|0);he(this,"Bh",pt[2]|0);he(this,"Bl",pt[3]|0);he(this,"Ch",pt[4]|0);he(this,"Cl",pt[5]|0);he(this,"Dh",pt[6]|0);he(this,"Dl",pt[7]|0);he(this,"Eh",pt[8]|0);he(this,"El",pt[9]|0);he(this,"Fh",pt[10]|0);he(this,"Fl",pt[11]|0);he(this,"Gh",pt[12]|0);he(this,"Gl",pt[13]|0);he(this,"Hh",pt[14]|0);he(this,"Hl",pt[15]|0)}};var Ec=Pi(()=>new $i,Vi(1));var Qc=Pi(()=>new ts,Vi(3));var Qf=Z=>Z[0]==="\u3042\u3044\u3053\u304F\u3057\u3093";function yc(Z){if(typeof Z!="string")throw new TypeError("invalid mnemonic type: "+typeof Z);return Z.normalize("NFKD")}function yf(Z){let _=yc(Z),z=_.split(" ");if(![12,15,18,21,24].includes(z.length))throw new Error("Invalid mnemonic");return{nfkd:_,words:z}}function pf(Z){if(vA(Z),![16,20,24,28,32].includes(Z.length))throw new Error("invalid entropy length")}function pc(Z,_=128){if(XA(_),_%32!==0||_>256)throw new TypeError("Invalid entropy");return wf(ic(_/8),Z)}var xf=Z=>{let _=8-Z.length/4;return new Uint8Array([Ec(Z)[0]>>_<<_])};function bf(Z){if(!Array.isArray(Z)||Z.length!==2048||typeof Z[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return Z.forEach(_=>{if(typeof _!="string")throw new Error("wordlist: non-string element: "+_)}),Un.chain(Un.checksum(1,xf),Un.radix2(11,!0),Un.alphabet(Z))}function wf(Z,_){return pf(Z),bf(_).encode(Z).join(Qf(_)?"\u3000":" ")}var mf=Z=>yc("mnemonic"+Z);function xc(Z,_=""){return sc(Qc,yf(Z).nfkd,mf(_),{c:2048,dkLen:64})}be();var bc=`abandon
|
|
1
|
+
"use strict";var LumenKeys=(()=>{var vc=Object.create;var sn=Object.defineProperty;var Uc=Object.getOwnPropertyDescriptor;var Lc=Object.getOwnPropertyNames;var Nc=Object.getPrototypeOf,Fc=Object.prototype.hasOwnProperty;var Rc=(z,_,Z)=>_ in z?sn(z,_,{enumerable:!0,configurable:!0,writable:!0,value:Z}):z[_]=Z;var cr=(z,_)=>()=>(z&&(_=z(z=0)),_);var Yc=(z,_)=>()=>(_||z((_={exports:{}}).exports,_),_.exports),Vs=(z,_)=>{for(var Z in _)sn(z,Z,{get:_[Z],enumerable:!0})},Ws=(z,_,Z,X)=>{if(_&&typeof _=="object"||typeof _=="function")for(let ee of Lc(_))!Fc.call(z,ee)&&ee!==Z&&sn(z,ee,{get:()=>_[ee],enumerable:!(X=Uc(_,ee))||X.enumerable});return z};var Kc=(z,_,Z)=>(Z=z!=null?vc(Nc(z)):{},Ws(_||!z||!z.__esModule?sn(Z,"default",{value:z,enumerable:!0}):Z,z)),Mc=z=>Ws(sn({},"__esModule",{value:!0}),z);var he=(z,_,Z)=>Rc(z,typeof _!="symbol"?_+"":_,Z);var Buffer,process,be=cr(()=>{"use strict";Buffer={from:function(z,_){if(typeof z=="string"){if(_==="base64"){let X=atob(z),ee=new Uint8Array(X.length);for(let re=0;re<X.length;re++)ee[re]=X.charCodeAt(re);return ee}return new TextEncoder().encode(z)}return new Uint8Array(z)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let z=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(_){if(_==="base64"){let Z="",X=new Uint8Array(this);for(let ee=0;ee<X.byteLength;ee++)Z+=String.fromCharCode(X[ee]);return btoa(Z)}return z.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});function Oc(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Ji(z,_=""){if(!Number.isSafeInteger(z)||z<0){let Z=_&&`"${_}" `;throw new Error(`${Z}expected integer >= 0, got ${z}`)}}function Yr(z,_,Z=""){let X=Oc(z),ee=z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=Z&&`"${Z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return z}function Kr(z,_=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&z.finished)throw new Error("Hash#digest() has already been called")}function zn(z,_){Yr(z,void 0,"digestInto() output");let Z=_.outputLen;if(z.length<Z)throw new Error('"digestInto() output" expected to be of length >='+Z)}function zs(z){return new Uint32Array(z.buffer,z.byteOffset,Math.floor(z.byteLength/4))}function rA(...z){for(let _=0;_<z.length;_++)z[_].fill(0)}function Zn(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function jt(z,_){return z<<32-_|z>>>_}function Tc(z){return z<<24&4278190080|z<<8&16711680|z>>>8&65280|z>>>24&255}function _c(z){for(let _=0;_<z.length;_++)z[_]=Tc(z[_]);return z}function an(z,_={}){let Z=(ee,re)=>z(re).update(ee).digest(),X=z(void 0);return Z.outputLen=X.outputLen,Z.blockLen=X.blockLen,Z.create=ee=>z(ee),Object.assign(Z,_),Object.freeze(Z)}var Jc,Ti,cn,Xn=cr(()=>{be();Jc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Ti=Jc?z=>z:_c;cn=z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,z])})});function Zs(z,_,Z){return z&_^~z&Z}function Xs(z,_,Z){return z&_^z&Z^_&Z}var gn,bA,yt,$s=cr(()=>{be();Xn();gn=class{constructor(_,Z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=Z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=Zn(this.buffer)}update(_){Kr(this),Yr(_);let{view:Z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=Zn(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(Z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){Kr(this),zn(_,this),this.finished=!0;let{buffer:Z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;Z[ie++]=128,rA(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)Z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=Zn(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:Z}=this;this.digestInto(_);let X=_.slice(0,Z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:Z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%Z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},bA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),yt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function jc(z,_=!1){return _?{h:Number(z&$n),l:Number(z>>e0&$n)}:{h:Number(z>>e0&$n)|0,l:Number(z&$n)|0}}function ei(z,_=!1){let Z=z.length,X=new Uint32Array(Z),ee=new Uint32Array(Z);for(let re=0;re<Z;re++){let{h:ie,l:ae}=jc(z[re],_);[X[re],ee[re]]=[ie,ae]}return[X,ee]}function nA(z,_,Z,X){let ee=(_>>>0)+(X>>>0);return{h:z+Z+(ee/2**32|0)|0,l:ee|0}}var $n,e0,_i,ji,fr,ur,fn,un,t0,A0,r0,n0,i0,o0,s0,a0,c0,g0,Pi=cr(()=>{be();$n=BigInt(4294967295),e0=BigInt(32);_i=(z,_,Z)=>z>>>Z,ji=(z,_,Z)=>z<<32-Z|_>>>Z,fr=(z,_,Z)=>z>>>Z|_<<32-Z,ur=(z,_,Z)=>z<<32-Z|_>>>Z,fn=(z,_,Z)=>z<<64-Z|_>>>Z-32,un=(z,_,Z)=>z>>>Z-32|_<<64-Z,t0=(z,_,Z)=>z<<Z|_>>>32-Z,A0=(z,_,Z)=>_<<Z|z>>>32-Z,r0=(z,_,Z)=>_<<Z-32|z>>>64-Z,n0=(z,_,Z)=>z<<Z-32|_>>>64-Z;i0=(z,_,Z)=>(z>>>0)+(_>>>0)+(Z>>>0),o0=(z,_,Z,X)=>_+Z+X+(z/2**32|0)|0,s0=(z,_,Z,X)=>(z>>>0)+(_>>>0)+(Z>>>0)+(X>>>0),a0=(z,_,Z,X,ee)=>_+Z+X+ee+(z/2**32|0)|0,c0=(z,_,Z,X,ee)=>(z>>>0)+(_>>>0)+(Z>>>0)+(X>>>0)+(ee>>>0),g0=(z,_,Z,X,ee,re)=>_+Z+X+ee+re+(z/2**32|0)|0});var Vc,MA,Vi,Wi,f0,Wc,zc,qA,OA,zi,Zi,u0,I0,h0=cr(()=>{be();$s();Pi();Xn();Vc=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),MA=new Uint32Array(64),Vi=class extends gn{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:Z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,Z,X,ee,re,ie,ae,fe]}set(_,Z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=Z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,Z){for(let ce=0;ce<16;ce++,Z+=4)MA[ce]=_.getUint32(Z,!1);for(let ce=16;ce<64;ce++){let Ee=MA[ce-15],$=MA[ce-2],Be=jt(Ee,7)^jt(Ee,18)^Ee>>>3,xe=jt($,17)^jt($,19)^$>>>10;MA[ce]=xe+MA[ce-7]+Be+MA[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=jt(ae,6)^jt(ae,11)^jt(ae,25),$=Ce+Ee+Zs(ae,fe,le)+Vc[ce]+MA[ce]|0,xe=(jt(X,2)^jt(X,13)^jt(X,22))+Xs(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){rA(MA)}destroy(){this.set(0,0,0,0,0,0,0,0),rA(this.buffer)}},Wi=class extends Vi{constructor(){super(32);he(this,"A",bA[0]|0);he(this,"B",bA[1]|0);he(this,"C",bA[2]|0);he(this,"D",bA[3]|0);he(this,"E",bA[4]|0);he(this,"F",bA[5]|0);he(this,"G",bA[6]|0);he(this,"H",bA[7]|0)}},f0=ei(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(z=>BigInt(z))),Wc=f0[0],zc=f0[1],qA=new Uint32Array(80),OA=new Uint32Array(80),zi=class extends gn{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:Z,Bh:X,Bl:ee,Ch:re,Cl:ie,Dh:ae,Dl:fe,Eh:le,El:Ce,Fh:ce,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,Z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He]}set(_,Z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=Z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=re|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=le|0,this.El=Ce|0,this.Fh=ce|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,Z){for(let we=0;we<16;we++,Z+=4)qA[we]=_.getUint32(Z),OA[we]=_.getUint32(Z+=4);for(let we=16;we<80;we++){let Me=qA[we-15]|0,Ve=OA[we-15]|0,Ge=fr(Me,Ve,1)^fr(Me,Ve,8)^_i(Me,Ve,7),ke=ur(Me,Ve,1)^ur(Me,Ve,8)^ji(Me,Ve,7),Pe=qA[we-2]|0,qe=OA[we-2]|0,rt=fr(Pe,qe,19)^fn(Pe,qe,61)^_i(Pe,qe,6),tt=ur(Pe,qe,19)^un(Pe,qe,61)^ji(Pe,qe,6),Je=s0(ke,tt,OA[we-7],OA[we-16]),Te=a0(Je,Ge,rt,qA[we-7],qA[we-16]);qA[we]=Te|0,OA[we]=Je|0}let{Ah:X,Al:ee,Bh:re,Bl:ie,Ch:ae,Cl:fe,Dh:le,Dl:Ce,Eh:ce,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=fr(ce,Ee,14)^fr(ce,Ee,18)^fn(ce,Ee,41),Ve=ur(ce,Ee,14)^ur(ce,Ee,18)^un(ce,Ee,41),Ge=ce&$^~ce&xe,ke=Ee&Be^~Ee&He,Pe=c0(Re,Ve,ke,zc[we],OA[we]),qe=g0(Pe,Se,Me,Ge,Wc[we],qA[we]),rt=Pe|0,tt=fr(X,ee,28)^fn(X,ee,34)^fn(X,ee,39),Je=ur(X,ee,28)^un(X,ee,34)^un(X,ee,39),Te=X&re^X&ae^re&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ce|0,Be=Ee|0,{h:ce,l:Ee}=nA(le|0,Ce|0,qe|0,rt|0),le=ae|0,Ce=fe|0,ae=re|0,fe=ie|0,re=X|0,ie=ee|0;let Qe=i0(rt,Je,pe);X=o0(Qe,qe,tt,Te),ee=Qe|0}({h:X,l:ee}=nA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:re,l:ie}=nA(this.Bh|0,this.Bl|0,re|0,ie|0),{h:ae,l:fe}=nA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:le,l:Ce}=nA(this.Dh|0,this.Dl|0,le|0,Ce|0),{h:ce,l:Ee}=nA(this.Eh|0,this.El|0,ce|0,Ee|0),{h:$,l:Be}=nA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=nA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=nA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He,Se,Re)}roundClean(){rA(qA,OA)}destroy(){rA(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Zi=class extends zi{constructor(){super(64);he(this,"Ah",yt[0]|0);he(this,"Al",yt[1]|0);he(this,"Bh",yt[2]|0);he(this,"Bl",yt[3]|0);he(this,"Ch",yt[4]|0);he(this,"Cl",yt[5]|0);he(this,"Dh",yt[6]|0);he(this,"Dl",yt[7]|0);he(this,"Eh",yt[8]|0);he(this,"El",yt[9]|0);he(this,"Fh",yt[10]|0);he(this,"Fl",yt[11]|0);he(this,"Gh",yt[12]|0);he(this,"Gl",yt[13]|0);he(this,"Hh",yt[14]|0);he(this,"Hl",yt[15]|0)}},u0=an(()=>new Wi,cn(1)),I0=an(()=>new Zi,cn(3))});function ng(z,_=24){let Z=new Uint32Array(10);for(let X=24-_;X<24;X++){for(let ie=0;ie<10;ie++)Z[ie]=z[ie]^z[ie+10]^z[ie+20]^z[ie+30]^z[ie+40];for(let ie=0;ie<10;ie+=2){let ae=(ie+8)%10,fe=(ie+2)%10,le=Z[fe],Ce=Z[fe+1],ce=d0(le,Ce,1)^Z[ae],Ee=l0(le,Ce,1)^Z[ae+1];for(let $=0;$<50;$+=10)z[ie+$]^=ce,z[ie+$+1]^=Ee}let ee=z[2],re=z[3];for(let ie=0;ie<24;ie++){let ae=C0[ie],fe=d0(ee,re,ae),le=l0(ee,re,ae),Ce=B0[ie];ee=z[Ce],re=z[Ce+1],z[Ce]=fe,z[Ce+1]=le}for(let ie=0;ie<50;ie+=10){for(let ae=0;ae<10;ae++)Z[ae]=z[ie+ae];for(let ae=0;ae<10;ae++)z[ie+ae]^=~Z[(ae+2)%10]&Z[(ae+4)%10]}z[0]^=Ag[X],z[1]^=rg[X]}rA(Z)}var Zc,In,Xc,$c,eg,tg,B0,C0,E0,y0,Ag,rg,d0,l0,Xi,ig,Q0,p0=cr(()=>{be();Pi();Xn();Zc=BigInt(0),In=BigInt(1),Xc=BigInt(2),$c=BigInt(7),eg=BigInt(256),tg=BigInt(113),B0=[],C0=[],E0=[];for(let z=0,_=In,Z=1,X=0;z<24;z++){[Z,X]=[X,(2*Z+3*X)%5],B0.push(2*(5*X+Z)),C0.push((z+1)*(z+2)/2%64);let ee=Zc;for(let re=0;re<7;re++)_=(_<<In^(_>>$c)*tg)%eg,_&Xc&&(ee^=In<<(In<<BigInt(re))-In);E0.push(ee)}y0=ei(E0,!0),Ag=y0[0],rg=y0[1],d0=(z,_,Z)=>Z>32?r0(z,_,Z):t0(z,_,Z),l0=(z,_,Z)=>Z>32?n0(z,_,Z):A0(z,_,Z);Xi=class z{constructor(_,Z,X,ee=!1,re=24){he(this,"state");he(this,"pos",0);he(this,"posOut",0);he(this,"finished",!1);he(this,"state32");he(this,"destroyed",!1);he(this,"blockLen");he(this,"suffix");he(this,"outputLen");he(this,"enableXOF",!1);he(this,"rounds");if(this.blockLen=_,this.suffix=Z,this.outputLen=X,this.enableXOF=ee,this.rounds=re,Ji(X,"outputLen"),!(0<_&&_<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=zs(this.state)}clone(){return this._cloneInto()}keccak(){Ti(this.state32),ng(this.state32,this.rounds),Ti(this.state32),this.posOut=0,this.pos=0}update(_){Kr(this),Yr(_);let{blockLen:Z,state:X}=this,ee=_.length;for(let re=0;re<ee;){let ie=Math.min(Z-this.pos,ee-re);for(let ae=0;ae<ie;ae++)X[this.pos++]^=_[re++];this.pos===Z&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:_,suffix:Z,pos:X,blockLen:ee}=this;_[X]^=Z,(Z&128)!==0&&X===ee-1&&this.keccak(),_[ee-1]^=128,this.keccak()}writeInto(_){Kr(this,!1),Yr(_),this.finish();let Z=this.state,{blockLen:X}=this;for(let ee=0,re=_.length;ee<re;){this.posOut>=X&&this.keccak();let ie=Math.min(X-this.posOut,re-ee);_.set(Z.subarray(this.posOut,this.posOut+ie),ee),this.posOut+=ie,ee+=ie}return _}xofInto(_){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(_)}xof(_){return Ji(_),this.xofInto(new Uint8Array(_))}digestInto(_){if(zn(_,this),this.finished)throw new Error("digest() was already called");return this.writeInto(_),this.destroy(),_}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,rA(this.state)}_cloneInto(_){let{blockLen:Z,suffix:X,outputLen:ee,rounds:re,enableXOF:ie}=this;return _||(_=new z(Z,X,ee,ie,re)),_.state32.set(this.state32),_.pos=this.pos,_.posOut=this.posOut,_.finished=this.finished,_.rounds=re,_.suffix=X,_.outputLen=ee,_.enableXOF=ie,_.destroyed=this.destroyed,_}},ig=(z,_,Z,X={})=>an(()=>new Xi(_,z,Z),X),Q0=ig(6,136,32,cn(8))});var ti={};Vs(ti,{createHash:()=>x0,default:()=>og});function x0(z){let _=new Uint8Array(0),Z;switch(z.toLowerCase()){case"sha256":case"sha-256":Z=u0;break;case"sha512":case"sha-512":Z=I0;break;case"sha3-256":Z=Q0;break;default:throw new Error(`Unsupported hash algorithm: ${z}`)}return{update(X){let ee=X instanceof Uint8Array?X:new Uint8Array(X),re=new Uint8Array(_.length+ee.length);return re.set(_),re.set(ee,_.length),_=re,this},digest(){return Z(_)}}}var og,Ai=cr(()=>{"use strict";be();h0();p0();og={createHash:x0}});var kc=Yc((exports,module)=>{be();var dilithium=(function(){var A,I,g,C={};function B(z,_){if(z===0)return _;throw new Error("Dilithium error: "+z)}function Q(z,_){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,z,_))}function i(z){try{C._free(z)}catch(_){setTimeout((function(){throw _}),0)}}C.ready=new Promise((function(A,I){function g(z){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},g(z)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(z){I(z)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(z,_){throw _},o=(typeof window>"u"?"undefined":g(window))=="object",n=typeof importScripts=="function",r=(typeof process>"u"?"undefined":g(process))=="object"&&g(process.versions)=="object"&&typeof process.versions.node=="string",t="";if(r){var a=eval("require")("fs"),e=eval("require")("path");t=n?e.dirname(t)+"/":__dirname+"/",C=function(z,_){var Z=x(z);return Z?_?Z:Z.toString():(z=q(z)?new URL(z):e.normalize(z),a.readFileSync(z,_?void 0:"utf8"))},B=function(z){var _=C(z,!0);return _.buffer||(_=new Uint8Array(_)),_},!Q.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=Q),process.on("uncaughtException",(function(z){if(!(z==="unwind"||z instanceof p||z.context instanceof p))throw z})),E=function(z,_){throw process.exitCode=z,_},Q.inspect=function(){return"[Emscripten Module object]"}}else(o||n)&&(n?t=self.location.href:typeof document<"u"&&document.currentScript&&(t=document.currentScript.src),t=t.indexOf("blob:")!==0?t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1):"",C=function(z){try{var _=new XMLHttpRequest;return _.open("GET",z,!1),_.send(null),_.responseText}catch(X){var Z=x(z);if(Z)return(function(ee){for(var re=[],ie=0;ie<ee.length;ie++){var ae=ee[ie];ae>255&&(ae&=255),re.push(String.fromCharCode(ae))}return re.join("")})(Z);throw X}},n&&(B=function(z){try{var _=new XMLHttpRequest;return _.open("GET",z,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(X){var Z=x(z);if(Z)return Z;throw X}}));Q.print||console.log.bind(console);var f,D=Q.printErr||console.error.bind(console);Object.assign(Q,i),i=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&(E=Q.quit),Q.wasmBinary&&(f=Q.wasmBinary);var c,G=Q.noExitRuntime||!0;(typeof WebAssembly>"u"?"undefined":g(WebAssembly))!="object"&&U("no native wasm support detected");var h,y,u,s,F=!1,Y=[],N=[],w=[],S=0,k=null,H=null;function U(z){throw Q.onAbort&&Q.onAbort(z),D(z="Aborted("+z+")"),F=!0,z+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(z)}var R,d,M="data:application/octet-stream;base64,";function J(z){return z.startsWith(M)}function q(z){return z.startsWith("file://")}function l(z){return Promise.resolve().then((function(){return(function(_){if(_==R&&f)return new Uint8Array(f);var Z=x(_);if(Z)return Z;if(B)return B(_);throw"both async and sync fetching of the wasm failed"})(z)}))}function m(z,_,Z,X){return(function(ee,re,ie){return l(ee).then((function(ae){return WebAssembly.instantiate(ae,re)})).then((function(ae){return ae})).then(ie,(function(ae){D("failed to asynchronously prepare wasm: "+ae),U(ae)}))})(_,Z,X)}J(R="data:application/octet-stream;base64,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aiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQegAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQShyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQewAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQThyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfwAcmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEFA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgBUECdCIDQSByaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBJHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EEcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EocmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQSxyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBDHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBMHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EQcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0E0cmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQThyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBGHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBPHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EccmoiAygCACIBIAJrNgIAIAMgASACajYCACAFQfABSSEDIAVBEGohBSADDQALQQAhBQNAIAZBAWoiBkECdEGgCmo0AgAiByAAIAVBAnQiA0EQcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQRRyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBBHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBGHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EIcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EccmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB+AFJIQMgBUEIaiEFIAMNAAtBACEDA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgA0ECdCIFQQhyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIAVqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIAVBDHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgBUEEcmoiBSgCACIBIAJrNgIAIAUgASACajYCACADQfwBSSEFIANBBGohAyAFDQALQQAhAwNAIAAgA0ECdCICQQRyaiIBNAIAIAZBAWoiBkECdEGgCmo0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSABIAAgAmoiAigCACIBIAVrNgIAIAIgASAFajYCACADQf4BSSEFIANBAmohAyAFDQALC4oCAQp/A0AgACAEQQV0aiICIAEgBEEDbGoiAy0AAEEHcSIFNgIAIAIgAy0AAEEDdkEHcSIGNgIEIAIgAy0A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IgEgACADQcgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQQxyaiIBIAAgA0HMAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EQcmoiASAAIANB0AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBFHJqIgEgACADQdQAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQRhyaiIBIAAgA0HYAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EccmoiASAAIANB3AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBIHJqIgEgACADQeAAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQSRyaiIBIAAgA0HkAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EocmoiASAAIANB6AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBLHJqIgEgACADQewAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTByaiIBIAAgA0HwAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0E0cmoiASAAIANB9AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBOHJqIgEgACADQfgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTxyaiICIAAgA0H8AHJqIgMoAgAiASACKAIAIgJqNgIAIAMgAiABayICNgIAIAMgAqwgCX4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEDQQAgBEECdEGYCmooAgBrrCEJA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0EgRw0AC0EAIARBAnRBlApqKAIAa6whCUHAACEDA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0HgAEcNAAtBACAEQQJ0QZAKaigCAGusIQlBgAEhAwNAIAAgA0ECdGoiBiAGKAKAASIFIAYoAgAiAmo2AgAgBiACIAVrIgU2AoABIAYgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKAASADQQFqIgNBoAFHDQALQQAgBEECdEGMCmooAgBrrCEJQcABIQMDQCAAIANBAnRqIgYgBigCgAEiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAASAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAEgA0EBaiIDQeABRw0AC0EAIQNBACAEQQJ0QYgKaigCAGusIQkDQCAAIANBAnRqIgYgBigCgAIiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAAiAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAIgA0EBaiIDQcAARw0AC0EAIARBAnRBhApqKAIAa6whCUGAASEDA0AgACADQQJ0aiIGIAYoAoACIgUgBigCACICajYCACAGIAIgBWsiBTYCgAIgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoACIANBAWoiA0HAAUcNAAtBACEDQQAgBEECdEGACmooAgBrrCEJQQAhBgNAIAAgBkECdGoiBCAEKAKABCIFIAQoAgAiAmo2AgAgBCACIAVrIgU2AoAEIAQgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKABCAGQQFqIgZBgAFHDQALA0AgACADQQJ0aiIGIAY0AgBC+scCfiIJIAlCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgA0EBaiIDQYACRw0ACwsQACAAKAIAQYgBIAEgAhA6C8kCAgd/A34gAigCACEDAn9BACABRQ0AGiABrSEMA0AgCqciAiAKIAMpA8gBIgtaDQEaIAAgAmogAyAKIAt9IgunQYgBakF4cWopAwAgC0IDhog8AAAgCkIBfCIKIAxSDQALIAELIQIgAyADKQPIASACrX03A8gBIAEgAmsiBQRAIAAgAmohAANAIAMQJUGIASAFIAVBiAFPGyIEQQFxIQZBACECIARBAUcEQCAEQf4BcSEHQQAhAQNAIAAgAmogAyACQXhxaiIIKQMAIAJBA3RBMHGtiDwAACAAIAJBAXIiCWogCCkDACAJQQN0QThxrYg8AAAgAkECaiECIAFBAmoiASAHRw0ACwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBiAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwsJACAAKAIAECoLrgEBAX8jAEGACGsiAyQAIAAgASACEAUgAyABQYAIaiACQYAIahAFIAAgACADEAYgAyABQYAQaiACQYAQahAFIAAgACADEAYgAyABQYAYaiACQYAYahAFIAAgACADEAYgAyABQYAgaiACQYAgahAFIAAgACADEAYgAyABQYAoaiACQYAoahAFIAAgACADEAYgAyABQYAwaiACQYAwahAFIAAgACADEAYgA0GACGokAAtVAQJ/A0Ag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CwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBqAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwtsAQF/QQEhAgJAIAAgARALDQAgAEGACGogARALDQAgAEGAEGogARALDQAgAEGAGGogARALDQAgAEGAIGogARALDQAgAEGAKGogARALDQAgAEGAMGogARALDQAgAEGAOGogARALQQBHIQILIAILlgEAIAAgASACEBwgAEGACGogAUGACGogAkGACGoQHCAAQYAQaiABQYAQaiACQYAQahAcIABBgBhqIAFBgBhqIAJBgBhqEBwgAEGAIGogAUGAIGogAkGAIGoQHCAAQYAoaiABQYAoaiACQYAoahAcIABBgDBqIAFBgDBqIAJBgDBqEBwgAEGAOGogAUGAOGogAkGAOGoQHAuWAQAgACABIAIQBiAAQYAIaiABQYAIaiACQYAIahAGIABBgBBqIAFBgBBqIAJBgBBqEAYgAEGAGGogAUGAGGogAkGAGGoQBiAAQYAgaiABQYAgaiACQYAgahAGIABBgChqIAFBgChqIAJBgChqEAYgAEGAMGogAUGAMGogAkGAMGoQBiAAQYA4aiABQYA4aiACQYA4ahAGC24BAX9BASEBAkAgAEGI/x8QCw0AIABBgAhqQYj/HxALDQAgAEGAEGpBiP8fEAsNACAAQYAYakGI/x8QCw0AIABBgCBqQYj/HxALDQAgAEGAKGpBiP8fEAsNACAAQYAwakGI/x8QC0EARyEBCyABC4EDAgd+AX8gAa0iBiAAKQPIASIEIAOtIgh8WARAA0BBACELQgAhBSABIASnRwRAA0AgACAEIAV8IgSnQXhxaiILIAspAwAgAiAFp2oxAAAgBEIDhoaFNwMAIAVCAXwiBSABIAApA8gBIgSnayILrVQNAAsLIABCADcDyAEgABAlIAIgC2ohAiAAKQPIASIEIAMgC2siA60iCHwgBloNAAsLIAAgAwR+IAOtIgRCAYMhBkIAIQUgA0EBRwRAIARC/v///w+DIQlCACEEA0AgACAAKQPIASAFfCIHp0F4cWoiASABKQMAIAIgBadqMQAAIAdCA4aGhTcDACAAIAVCAYQiByAAKQPIAXwiCqdBeHFqIgEgASkDACACIAenajEAACAKQgOGhoU3AwAgBUICfCEFIARC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ACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDrIyAEQYAIaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7CMgBEGAEGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6AO0jIARBgBhqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDuIyAEQYAgaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7yMgBEGAKGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6APAjIARBgDBqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDxIyAEQYA4aiEEQQAhAgNAIAQgAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAEIAJBAXIiCEECdGooAgAEQCABIANqIAg6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA8iMgDkHzIzYCDCAHQfCxB2okACAAIA4oAgw7AQAgDkEQaiQAQQALghEBFH8jAEGg8QVrIgUkACAFQaDwBWohAiMAQRBrIgQkAANAIARBADoADyACIANqQaQSIARBD2pBABABOgAAIANBAWoiA0EgRw0ACyAEQRBqJAAgAkGAASACQSAQKSAFQYCwAmoiCCACEDEgBUGA+AFqIgYiBCAFQcDwBWoiA0EAEAogBEGACGogA0EBEAogBEGAEGogA0ECEAogBEGAGGogA0EDEAogBEGAIGogA0EEEAogBEGAKGogA0EFEAogBEGAMGogA0EGEAogBUGAgAFqIgQgA0EHEAogBEGACGogA0EIEAogBEGAEGogA0EJEAogBEGAGGogA0EKEAogBEGAIGogA0ELEAogBEGAKGogA0EMEAogBEGAMGogA0ENEAogBEGAOGoiDiADQQ4QCiAFQYDAAWoiByAGQYA4ECwgBxAoIAVBgEBrIgMgCCAHEDAgAxAnIAMQJiADIAMgBBA4IAMQLyADIAUgAxAaIANBgAhqIgcgBUGACGoiDyAHEBogA0GAEGoiCCAFQYAQaiIQIAgQGiADQYAYaiIJIAVBgBhqIhEgCRAaIANBgCBqIgogBUGAIGoiEiAKEBogA0GAKGoiCyAFQYAoaiITIAsQGiADQYAwaiIMIAVBgDBqIhQgDBAaIANBgDhqIg0gBUGAOGoiFSANEBogACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAIAItAAg6AAggACACLQAJOgAJIAAgAi0ACjoACiAAIAItAAs6AAsgACACLQAMOgAMIAAgAi0ADToADSAAIAItAA46AA4gACACLQAPOgAPIAAgAi0AEDoAECAAIAItABE6ABEgACACLQASOgASIAAgAi0AEzoAEyAAIAItABQ6ABQgACACLQAVOgAVIAAgAi0AFjoAFiAAIAItABc6ABcgACACLQAYOgAYIAAgAi0AGToAGSAAIAItABo6ABogACACLQAbOgAbIAAgAi0AHDoAHCAAIAItAB06AB0gACACLQAeOgAeIAAgAi0AHzoAHyAAQSBqIAMQFiAAQeACaiAHEBYgAEGgBWogCBAWIABB4AdqIAkQFiAAQaAKaiAKEBYgAEHgDGogCxAWIABBoA9qIAwQFiAAQeARaiANEBYgBUGA8AVqIgNBICAAQaAUECkgASACLQAAOgAAIAEgAi0AAToAASABIAItAAI6AAIgASACLQADOgADIAEgAi0ABDoABCABIAItAAU6AAUgASACLQAGOgAGIAEgAi0ABzoAByABIAItAAg6AAggASACLQAJOgAJIAEgAi0ACjoACiABIAItAAs6AAsgASACLQAMOgAMIAEgAi0ADToADSABIAItAA46AA4gASACLQAPOgAPIAEgAi0AEDoAECABIAItABE6ABEgASACLQASOgASIAEgAi0AEzoAEyABIAItABQ6ABQgASACLQAVOgAVIAEgAi0AFjoAFiABIAItABc6ABcgASACLQAYOgAYIAEgAi0AGToAGSABIAItABo6ABogASACLQAbOgAbIAEgAi0AHDoAHCABIAItAB06AB0gASACLQAeOgAeIAEgAi0AHzoAHyABIAVBgPEFaiIALQAAOgAgIAEgAC0AAToAISABIAAtAAI6ACIgASAALQADOgAjIAEgAC0ABDoAJCABIAAtAAU6ACUgASAALQAGOgAmIAEgAC0ABzoAJyABIAAtAAg6ACggASAALQAJOgApIAEgAC0ACjoAKiABIAAtAAs6ACsgASAALQAMOgAsIAEgAC0ADToALSABIAAtAA46AC4gASAALQAPOgAvIAEgAC0AEDoAMCABIAAtABE6ADEgASAALQASOgAyIAEgAC0AEzoAMyABIAAtABQ6ADQgASAALQAVOgA1IAEgAC0AFjoANiABIAAtABc6ADcgASAALQAYOgA4IAEgAC0AGToAOSABIAAtABo6ADogASAALQAbOgA7IAEgAC0AHDoAPCABIAAtAB06AD0gASAALQAeOgA+IAEgAC0AHzoAPyABIAMtAAA6AEAgASADLQABOgBBIAEgAy0AAjoAQiABIAMtAAM6AEMgASADLQAEOgBEIAEgAy0ABToARSABIAMtAAY6AEYgASADLQAHOgBHIAEgAy0ACDoASCABIAMtAAk6AEkgASADLQAKOgBKIAEgAy0ACzoASyABIAMtAAw6AEwgASADLQANOgBNIAEgAy0ADjoATiABIAMtAA86AE8gASADLQAQOgBQIAEgAy0AEToAUSABIAMtABI6AFIgASADLQATOgBTIAEgAy0AFDoAVCABIAMtABU6AFUgASADLQAWOgBWIAEgAy0AFzoAVyABIAMtABg6AFggASADLQAZOgBZIAEgAy0AGjoAWiABIAMtABs6AFsgASADLQAcOgBcIAEgAy0AHToAXSABIAMtAB46AF4gASADLQAfOgBfIAFB4ABqIAYQCSABQcABaiAGQYAI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")||(d=R,R=Q.locateFile?Q.locateFile(d,t):t+d);var L={2340:function(){return Q.getRandomValue()},2376:function(){if(Q.getRandomValue===void 0)try{var A=(typeof window>"u"?"undefined":g(window))==="object"?window:self,I=A.crypto!==void 0?A.crypto:A.msCrypto,C=function(){var z=new Uint32Array(1);return I.getRandomValues(z),z[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var z=B.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),Q.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function p(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var K=function(z){for(;z.length>0;)z.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(z,_,Z){var X=(function(ee,re){var ie;for(v.length=0,re>>=2;ie=y[ee++];)re+=ie!=105&re,v.push(ie==105?u[re]:s[re++>>1]),++re;return v})(_,Z);return L[z].apply(null,X)},O=function(z){G||(Q.onExit&&Q.onExit(z),F=!0),E(z,new p(z))},T={b:function(z,_,Z){return j(z,_,Z)},d:function(z,_,Z){return y.copyWithin(z,_,_+Z)},c:function(z){y.length,U("OOM")},a:function(z,_){O(z)}};(function(){var z={a:T};function _(Z,X){var ee,re,ie=Z.exports;return Q.asm=ie,c=Q.asm.e,ee=c.buffer,Q.HEAP8=h=new Int8Array(ee),Q.HEAP16=new Int16Array(ee),Q.HEAP32=u=new Int32Array(ee),Q.HEAPU8=y=new Uint8Array(ee),Q.HEAPU16=new Uint16Array(ee),Q.HEAPU32=new Uint32Array(ee),Q.HEAPF32=new Float32Array(ee),Q.HEAPF64=s=new Float64Array(ee),Q.asm.g,re=Q.asm.f,N.unshift(re),(function(ae){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var fe=H;H=null,fe()}})(),ie}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(z,_)}catch(Z){return D("Module.instantiateWasm callback failed with error: "+Z),!1}m(0,R,z,(function(Z){_(Z.instance)}))})(),Q._malloc=function(){return(Q._malloc=Q.asm.h).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.i).apply(null,arguments)},Q._dilithiumjs_init=function(){return(Q._dilithiumjs_init=Q.asm.j).apply(null,arguments)},Q._dilithiumjs_public_key_bytes=function(){return(Q._dilithiumjs_public_key_bytes=Q.asm.k).apply(null,arguments)},Q._dilithiumjs_secret_key_bytes=function(){return(Q._dilithiumjs_secret_key_bytes=Q.asm.l).apply(null,arguments)},Q._dilithiumjs_signature_bytes=function(){return(Q._dilithiumjs_signature_bytes=Q.asm.m).apply(null,arguments)},Q._dilithiumjs_keypair=function(){return(Q._dilithiumjs_keypair=Q.asm.n).apply(null,arguments)},Q._dilithiumjs_sign=function(){return(Q._dilithiumjs_sign=Q.asm.o).apply(null,arguments)},Q._dilithiumjs_verify=function(){return(Q._dilithiumjs_verify=Q.asm.p).apply(null,arguments)};function x(z){if(J(z))return(function(_){if(r!==void 0&&r){var Z=Buffer.from(_,"base64");return new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength)}try{for(var X=atob(_),ee=new Uint8Array(X.length),re=0;re<X.length;++re)ee[re]=X.charCodeAt(re);return ee}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(M.length))}function W(){function z(){b||(b=!0,Q.calledRun=!0,F||(K(N),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),(function(){if(Q.postRun)for(typeof Q.postRun=="function"&&(Q.postRun=[Q.postRun]);Q.postRun.length;)_=Q.postRun.shift(),w.unshift(_);var _;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)_=Q.preRun.shift(),Y.unshift(_);var _;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),z()}),1)):z()))}if(Q.writeArrayToMemory=function(z,_){h.set(z,_)},H=function z(){b||W(),b||(H=z)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(z){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},A(z)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(z,_){throw _},i=(typeof window>"u"?"undefined":A(window))=="object",E=typeof importScripts=="function",o=(typeof process>"u"?"undefined":A(process))=="object"&&A(process.versions)=="object"&&typeof process.versions.node=="string",n="";if(o){var r=eval("require")("fs"),t=eval("require")("path");n=E?t.dirname(n)+"/":__dirname+"/",I=function(z,_){var Z=P(z);return Z?_?Z:Z.toString():(z=m(z)?new URL(z):t.normalize(z),r.readFileSync(z,_?void 0:"utf8"))},g=function(z){var _=I(z,!0);return _.buffer||(_=new Uint8Array(_)),_},!C.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=C),process.on("uncaughtException",(function(z){if(!(z==="unwind"||z instanceof b||z.context instanceof b))throw z})),Q=function(z,_){throw process.exitCode=z,_},C.inspect=function(){return"[Emscripten Module object]"}}else(i||E)&&(E?n=self.location.href:typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),n=n.indexOf("blob:")!==0?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",I=function(z){try{var _=new XMLHttpRequest;return _.open("GET",z,!1),_.send(null),_.responseText}catch(X){var Z=P(z);if(Z)return(function(ee){for(var re=[],ie=0;ie<ee.length;ie++){var ae=ee[ie];ae>255&&(ae&=255),re.push(String.fromCharCode(ae))}return re.join("")})(Z);throw X}},E&&(g=function(z){try{var _=new XMLHttpRequest;return _.open("GET",z,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(X){var Z=P(z);if(Z)return Z;throw X}}));C.print||console.log.bind(console);var a,e=C.printErr||console.error.bind(console);Object.assign(C,B),B=null,C.arguments&&C.arguments,C.thisProgram&&C.thisProgram,C.quit&&(Q=C.quit),C.wasmBinary&&(a=C.wasmBinary);var f,D=C.noExitRuntime||!0,c={Memory:function(z){this.buffer=new ArrayBuffer(65536*z.initial)},Module:function(z){},Instance:function(z,_){this.exports=(function(Z){for(var X,ee=new Uint8Array(123),re=25;re>=0;--re)ee[48+re]=52+re,ee[65+re]=re,ee[97+re]=26+re;function ie(fe,le,Ce){for(var ce,Ee,$=0,Be=le,xe=Ce.length,He=le+(3*xe>>2)-(Ce[xe-2]=="=")-(Ce[xe-1]=="=");$<xe;$+=4)ce=ee[Ce.charCodeAt($+1)],Ee=ee[Ce.charCodeAt($+2)],fe[Be++]=ee[Ce.charCodeAt($)]<<2|ce>>4,Be<He&&(fe[Be++]=ce<<4|Ee>>2),Be<He&&(fe[Be++]=Ee<<6|ee[Ce.charCodeAt($+3)])}function ae(){throw new Error("abort")}return ee[43]=62,ee[47]=63,(function(fe){var le=fe.a,Ce=le.a.buffer,ce=new Int8Array(Ce),Ee=new Int16Array(Ce),$=new Int32Array(Ce),Be=new Uint8Array(Ce),xe=new Uint16Array(Ce),He=new Uint32Array(Ce),Se=(new Float32Array(Ce),new Float64Array(Ce),Math.imul),Re=Math.clz32,we=le.b,Me=le.c,Ve=le.d,Ge=8392208,ke=0;function Pe(te){var oe,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;Ge=oe=Ge-16|0;e:{A:{t:{r:{a:{o:{c:{d:{f:{g:{s:{u:{I:{n:{if((te|=0)>>>0<=244){if(3&(ne=(Ie=$[776])>>>(Ae=(de=te>>>0<11?16:te+11&-8)>>>3|0)|0)){ne=(te=(Ae=Ae+(1&(-1^ne))|0)<<3)+3144|0,se=$[te+3152>>2],(0|ne)!=(0|(te=$[se+8>>2]))?($[te+12>>2]=ne,$[ne+8>>2]=te):$[776]=tA(Ae)&Ie,te=se+8|0,ne=Ae<<3,$[se+4>>2]=3|ne,$[(ne=ne+se|0)+4>>2]=1|$[ne+4>>2];break e}if((ve=$[778])>>>0>=de>>>0)break n;if(ne){ne=(te=(se=Ki(0-(te=(0-(te=2<<Ae)|te)&ne<<Ae)&te))<<3)+3144|0,ge=$[te+3152>>2],(0|ne)!=(0|(te=$[ge+8>>2]))?($[te+12>>2]=ne,$[ne+8>>2]=te):(Ie=tA(se)&Ie,$[776]=Ie),$[ge+4>>2]=3|de,se=(te=se<<3)-de|0,$[(Ae=ge+de|0)+4>>2]=1|se,$[te+ge>>2]=se,ve&&(ne=3144+(-8&ve)|0,ue=$[781],(te=1<<(ve>>>3))&Ie?te=$[ne+8>>2]:($[776]=te|Ie,te=ne),$[ne+8>>2]=ue,$[te+12>>2]=ue,$[ue+12>>2]=ne,$[ue+8>>2]=te),te=ge+8|0,$[781]=Ae,$[778]=se;break e}if(!(De=$[777]))break n;for(Ae=$[3408+(Ki(0-De&De)<<2)>>2],ue=(-8&$[Ae+4>>2])-de|0,ne=Ae;(te=$[ne+16>>2])||(te=$[ne+20>>2]);)ue=(se=(ne=(-8&$[te+4>>2])-de|0)>>>0<ue>>>0)?ne:ue,Ae=se?te:Ae,ne=te;if(ye=$[Ae+24>>2],(0|(se=$[Ae+12>>2]))!=(0|Ae)){te=$[Ae+8>>2],$[te+12>>2]=se,$[se+8>>2]=te;break A}if(!(te=$[(ne=Ae+20|0)>>2])){if(!(te=$[Ae+16>>2]))break I;ne=Ae+16|0}for(;ge=ne,se=te,(te=$[(ne=te+20|0)>>2])||(ne=se+16|0,te=$[se+16>>2]););$[ge>>2]=0;break A}if(de=-1,!(te>>>0>4294967231)&&(de=-8&(te=te+11|0),De=$[777])){ue=0-de|0,Ie=0,de>>>0<256||(Ie=31,de>>>0>16777215||(Ie=62+((de>>>38-(te=Re(te>>>8|0))&1)-(te<<1)|0)|0));i:{h:{if(ne=$[3408+(Ie<<2)>>2])for(te=0,Ae=de<<((0|Ie)!=31?25-(Ie>>>1|0)|0:0);;){if(!((ge=(-8&$[ne+4>>2])-de|0)>>>0>=ue>>>0||(se=ne,ue=ge,ge))){ue=0,te=ne;break h}if(ge=$[ne+20>>2],ne=$[16+((Ae>>>29&4)+ne|0)>>2],te=ge?(0|ge)==(0|ne)?te:ge:te,Ae<<=1,!ne)break}else te=0;if(!(te|se)){if(se=0,!(te=(0-(te=2<<Ie)|te)&De))break n;te=$[3408+(Ki(te&0-te)<<2)>>2]}if(!te)break i}for(;ue=(Ae=(ne=(-8&$[te+4>>2])-de|0)>>>0<ue>>>0)?ne:ue,se=Ae?te:se,te=(ne=$[te+16>>2])||$[te+20>>2];);}if(!(!se|$[778]-de>>>0<=ue>>>0)){if(Ie=$[se+24>>2],(0|se)!=(0|(Ae=$[se+12>>2]))){te=$[se+8>>2],$[te+12>>2]=Ae,$[Ae+8>>2]=te;break t}if(!(te=$[(ne=se+20|0)>>2])){if(!(te=$[se+16>>2]))break u;ne=se+16|0}for(;ge=ne,Ae=te,(te=$[(ne=te+20|0)>>2])||(ne=Ae+16|0,te=$[Ae+16>>2]););$[ge>>2]=0;break t}}}if((te=$[778])>>>0>=de>>>0){se=$[781],(ne=te-de|0)>>>0>=16?($[(Ae=se+de|0)+4>>2]=1|ne,$[te+se>>2]=ne,$[se+4>>2]=3|de):($[se+4>>2]=3|te,$[(te=te+se|0)+4>>2]=1|$[te+4>>2],Ae=0,ne=0),$[778]=ne,$[781]=Ae,te=se+8|0;break e}if((ye=$[779])>>>0>de>>>0){ne=ye-de|0,$[779]=ne,te=(Ae=$[782])+de|0,$[782]=te,$[te+4>>2]=1|ne,$[Ae+4>>2]=3|de,te=Ae+8|0;break e}if(te=0,De=de+47|0,$[894]?Ae=$[896]:($[897]=-1,$[898]=-1,$[895]=4096,$[896]=4096,$[894]=oe+12&-16^1431655768,$[899]=0,$[887]=0,Ae=4096),(ne=(ge=De+Ae|0)&(ue=0-Ae|0))>>>0<=de>>>0||(se=$[886])&&se>>>0<(Ie=(Ae=$[884])+ne|0)>>>0|Ae>>>0>=Ie>>>0)break e;n:{if(!(4&Be[3548])){i:{h:{l:{B:{if(se=$[782])for(te=3552;;){if((Ae=$[te>>2])>>>0<=se>>>0&se>>>0<Ae+$[te+4>>2]>>>0)break B;if(!(te=$[te+8>>2]))break}if((0|(Ae=Ur(0)))==-1||(Ie=ne,(te=(se=$[895])-1|0)&Ae&&(Ie=(ne-Ae|0)+(te+Ae&0-se)|0),Ie>>>0<=de>>>0)||(se=$[886])&&se>>>0<(ue=(te=$[884])+Ie|0)>>>0|te>>>0>=ue>>>0)break i;if((0|Ae)!=(0|(te=Ur(Ie))))break l;break n}if((0|(Ae=Ur(Ie=ue&ge-ye)))==($[te>>2]+$[te+4>>2]|0))break h;te=Ae}if((0|te)==-1)break i;if(de+48>>>0<=Ie>>>0){Ae=te;break n}if((0|Ur(Ae=(Ae=$[896])+(De-Ie|0)&0-Ae))==-1)break i;Ie=Ae+Ie|0,Ae=te;break n}if((0|Ae)!=-1)break n}$[887]=4|$[887]}if((0|(Ae=Ur(ne)))==-1|(0|(te=Ur(0)))==-1|te>>>0<=Ae>>>0||(Ie=te-Ae|0)>>>0<=de+40>>>0)break f}te=$[884]+Ie|0,$[884]=te,te>>>0>He[885]&&($[885]=te);n:{if(ge=$[782]){for(te=3552;;){if(((se=$[te>>2])+(ne=$[te+4>>2])|0)==(0|Ae))break n;if(!(te=$[te+8>>2]))break}break s}for((te=$[780])>>>0<=Ae>>>0&&te||($[780]=Ae),te=0,$[889]=Ie,$[888]=Ae,$[784]=-1,$[785]=$[894],$[891]=0;ne=(se=te<<3)+3144|0,$[se+3152>>2]=ne,$[se+3156>>2]=ne,(0|(te=te+1|0))!=32;);ne=(se=Ie-40|0)-(te=Ae+8&7?-8-Ae&7:0)|0,$[779]=ne,te=te+Ae|0,$[782]=te,$[te+4>>2]=1|ne,$[4+(Ae+se|0)>>2]=40,$[783]=$[898];break g}if(8&$[te+12>>2]|Ae>>>0<=ge>>>0|se>>>0>ge>>>0)break s;$[te+4>>2]=ne+Ie,Ae=(te=ge+8&7?-8-ge&7:0)+ge|0,$[782]=Ae,te=(ne=$[779]+Ie|0)-te|0,$[779]=te,$[Ae+4>>2]=1|te,$[4+(ne+ge|0)>>2]=40,$[783]=$[898];break g}se=0;break A}Ae=0;break t}He[780]>Ae>>>0&&($[780]=Ae),ne=Ae+Ie|0,te=3552;s:{u:{I:{for(;;){if((0|ne)!=$[te>>2]){if(te=$[te+8>>2])continue;break I}break}if(!(8&Be[te+12|0]))break u}for(te=3552;;){if((ne=$[te>>2])>>>0<=ge>>>0&&(ue=ne+$[te+4>>2]|0)>>>0>ge>>>0)break s;te=$[te+8>>2]}}if($[te>>2]=Ae,$[te+4>>2]=$[te+4>>2]+Ie,$[(De=(Ae+8&7?-8-Ae&7:0)+Ae|0)+4>>2]=3|de,te=(Ie=ne+(ne+8&7?-8-ne&7:0)|0)-(ye=de+De|0)|0,(0|ge)==(0|Ie)){$[782]=ye,te=$[779]+te|0,$[779]=te,$[ye+4>>2]=1|te;break r}if($[781]==(0|Ie)){$[781]=ye,te=$[778]+te|0,$[778]=te,$[ye+4>>2]=1|te,$[te+ye>>2]=te;break r}if((3&(ue=$[Ie+4>>2]))!=1)break a;if(ge=-8&ue,ue>>>0<=255){if((0|(Ae=$[Ie+12>>2]))==(0|(ne=$[Ie+8>>2]))){$[776]=$[776]&tA(ue>>>3|0);break o}$[ne+12>>2]=Ae,$[Ae+8>>2]=ne;break o}if(de=$[Ie+24>>2],(0|Ie)!=(0|(Ae=$[Ie+12>>2]))){ne=$[Ie+8>>2],$[ne+12>>2]=Ae,$[Ae+8>>2]=ne;break c}if(!(ue=$[(ne=Ie+20|0)>>2])){if(!(ue=$[Ie+16>>2]))break d;ne=Ie+16|0}for(;se=ne,(ue=$[(ne=(Ae=ue)+20|0)>>2])||(ne=Ae+16|0,ue=$[Ae+16>>2]););$[se>>2]=0;break c}for(ne=(se=Ie-40|0)-(te=Ae+8&7?-8-Ae&7:0)|0,$[779]=ne,te=te+Ae|0,$[782]=te,$[te+4>>2]=1|ne,$[4+(Ae+se|0)>>2]=40,$[783]=$[898],$[(se=(te=(ue+(ue-39&7?39-ue&7:0)|0)-47|0)>>>0<ge+16>>>0?ge:te)+4>>2]=27,te=$[891],$[se+16>>2]=$[890],$[se+20>>2]=te,te=$[889],$[se+8>>2]=$[888],$[se+12>>2]=te,$[890]=se+8,$[889]=Ie,$[888]=Ae,$[891]=0,te=se+24|0;$[te+4>>2]=7,ne=te+8|0,te=te+4|0,ne>>>0<ue>>>0;);if((0|se)!=(0|ge))if($[se+4>>2]=-2&$[se+4>>2],ue=se-ge|0,$[ge+4>>2]=1|ue,$[se>>2]=ue,ue>>>0<=255)ne=3144+(-8&ue)|0,(Ae=$[776])&(te=1<<(ue>>>3))?te=$[ne+8>>2]:($[776]=te|Ae,te=ne),$[ne+8>>2]=ge,$[te+12>>2]=ge,$[ge+12>>2]=ne,$[ge+8>>2]=te;else{te=31,ue>>>0<=16777215&&(te=62+((ue>>>38-(te=Re(ue>>>8|0))&1)-(te<<1)|0)|0),$[ge+28>>2]=te,$[ge+16>>2]=0,$[ge+20>>2]=0,ne=3408+(te<<2)|0;s:{if((se=$[777])&(Ae=1<<te)){for(te=ue<<((0|te)!=31?25-(te>>>1|0)|0:0),se=$[ne>>2];;){if((0|ue)==(-8&$[(ne=se)+4>>2]))break s;if(Ae=te>>>29|0,te<<=1,!(se=$[(Ae=(4&Ae)+ne|0)+16>>2]))break}$[Ae+16>>2]=ge}else $[777]=Ae|se,$[ne>>2]=ge;$[ge+24>>2]=ne,$[ge+12>>2]=ge,$[ge+8>>2]=ge;break g}te=$[ne+8>>2],$[te+12>>2]=ge,$[ne+8>>2]=ge,$[ge+24>>2]=0,$[ge+12>>2]=ne,$[ge+8>>2]=te}}if(!((te=$[779])>>>0<=de>>>0)){ne=te-de|0,$[779]=ne,te=(Ae=$[782])+de|0,$[782]=te,$[te+4>>2]=1|ne,$[Ae+4>>2]=3|de,te=Ae+8|0;break e}}$[775]=48,te=0;break e}Ae=0}if(de){se=$[Ie+28>>2];c:{if($[(ne=3408+(se<<2)|0)>>2]==(0|Ie)){if($[ne>>2]=Ae,Ae)break c;$[777]=$[777]&tA(se);break o}if($[de+($[de+16>>2]==(0|Ie)?16:20)>>2]=Ae,!Ae)break o}$[Ae+24>>2]=de,(ne=$[Ie+16>>2])&&($[Ae+16>>2]=ne,$[ne+24>>2]=Ae),(ne=$[Ie+20>>2])&&($[Ae+20>>2]=ne,$[ne+24>>2]=Ae)}}te=te+ge|0,ue=$[(Ie=ge+Ie|0)+4>>2]}if($[Ie+4>>2]=-2&ue,$[ye+4>>2]=1|te,$[te+ye>>2]=te,te>>>0<=255)ne=3144+(-8&te)|0,(Ae=$[776])&(te=1<<(te>>>3))?te=$[ne+8>>2]:($[776]=te|Ae,te=ne),$[ne+8>>2]=ye,$[te+12>>2]=ye,$[ye+12>>2]=ne,$[ye+8>>2]=te;else{ue=31,te>>>0<=16777215&&(ue=62+((te>>>38-(ne=Re(te>>>8|0))&1)-(ne<<1)|0)|0),$[ye+28>>2]=ue,$[ye+16>>2]=0,$[ye+20>>2]=0,ne=3408+(ue<<2)|0;a:{if((se=$[777])&(Ae=1<<ue)){for(ue=te<<((0|ue)!=31?25-(ue>>>1|0)|0:0),Ae=$[ne>>2];;){if(ne=Ae,(-8&$[Ae+4>>2])==(0|te))break a;if(Ae=ue>>>29|0,ue<<=1,!(Ae=$[(se=(4&Ae)+ne|0)+16>>2]))break}$[se+16>>2]=ye}else $[777]=Ae|se,$[ne>>2]=ye;$[ye+24>>2]=ne,$[ye+12>>2]=ye,$[ye+8>>2]=ye;break r}te=$[ne+8>>2],$[te+12>>2]=ye,$[ne+8>>2]=ye,$[ye+24>>2]=0,$[ye+12>>2]=ne,$[ye+8>>2]=te}}te=De+8|0;break e}t:if(Ie){ne=$[se+28>>2];r:{if($[(te=3408+(ne<<2)|0)>>2]==(0|se)){if($[te>>2]=Ae,Ae)break r;De=tA(ne)&De,$[777]=De;break t}if($[Ie+($[Ie+16>>2]==(0|se)?16:20)>>2]=Ae,!Ae)break t}$[Ae+24>>2]=Ie,(te=$[se+16>>2])&&($[Ae+16>>2]=te,$[te+24>>2]=Ae),(te=$[se+20>>2])&&($[Ae+20>>2]=te,$[te+24>>2]=Ae)}t:if(ue>>>0<=15)te=ue+de|0,$[se+4>>2]=3|te,$[(te=te+se|0)+4>>2]=1|$[te+4>>2];else if($[se+4>>2]=3|de,$[(ge=se+de|0)+4>>2]=1|ue,$[ge+ue>>2]=ue,ue>>>0<=255)ne=3144+(-8&ue)|0,(Ae=$[776])&(te=1<<(ue>>>3))?te=$[ne+8>>2]:($[776]=te|Ae,te=ne),$[ne+8>>2]=ge,$[te+12>>2]=ge,$[ge+12>>2]=ne,$[ge+8>>2]=te;else{te=31,ue>>>0<=16777215&&(te=62+((ue>>>38-(te=Re(ue>>>8|0))&1)-(te<<1)|0)|0),$[ge+28>>2]=te,$[ge+16>>2]=0,$[ge+20>>2]=0,ne=3408+(te<<2)|0;r:{if((Ae=1<<te)&De){for(te=ue<<((0|te)!=31?25-(te>>>1|0)|0:0),de=$[ne>>2];;){if((-8&$[(ne=de)+4>>2])==(0|ue))break r;if(Ae=te>>>29|0,te<<=1,!(de=$[(Ae=(4&Ae)+ne|0)+16>>2]))break}$[Ae+16>>2]=ge}else $[777]=Ae|De,$[ne>>2]=ge;$[ge+24>>2]=ne,$[ge+12>>2]=ge,$[ge+8>>2]=ge;break t}te=$[ne+8>>2],$[te+12>>2]=ge,$[ne+8>>2]=ge,$[ge+24>>2]=0,$[ge+12>>2]=ne,$[ge+8>>2]=te}te=se+8|0;break e}A:if(ye){ne=$[Ae+28>>2];t:{if($[(te=3408+(ne<<2)|0)>>2]==(0|Ae)){if($[te>>2]=se,se)break t;$[777]=tA(ne)&De;break A}if($[ye+($[ye+16>>2]==(0|Ae)?16:20)>>2]=se,!se)break A}$[se+24>>2]=ye,(te=$[Ae+16>>2])&&($[se+16>>2]=te,$[te+24>>2]=se),(te=$[Ae+20>>2])&&($[se+20>>2]=te,$[te+24>>2]=se)}ue>>>0<=15?(te=ue+de|0,$[Ae+4>>2]=3|te,$[(te=te+Ae|0)+4>>2]=1|$[te+4>>2]):($[Ae+4>>2]=3|de,$[(se=Ae+de|0)+4>>2]=1|ue,$[se+ue>>2]=ue,ve&&(ne=3144+(-8&ve)|0,ge=$[781],(te=1<<(ve>>>3))&Ie?te=$[ne+8>>2]:($[776]=te|Ie,te=ne),$[ne+8>>2]=ge,$[te+12>>2]=ge,$[ge+12>>2]=ne,$[ge+8>>2]=te),$[781]=se,$[778]=ue),te=Ae+8|0}return Ge=oe+16|0,0|te}function qe(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,ze=0,Ze=0,Xe=0,nt=0,ot=0,It=0,ht=0,ct=0,gt=0,ft=0,lt=0,Bt=0,Ct=0,Et=0,mt=0,Nt=0,Ft=0,Rt=0,Yt=0,Kt=0,kt=0,Mt=0,Gt=0,qt=0,Ot=0,Jt=0,Tt=0,_t=0,AA=0,hA=0,Ar=0,dA=0,lA=0,BA=0,CA=0,NA=0,EA=0,yA=0,QA=0,pA=0,xA=0,FA=0,RA=0,YA=0,rr=0,nr=0,KA=0,ir=0,or=0,Nr=0,Fr=0,sr=0,ar=0,Rr=0,Pn=0,Vn=0,Wn=0,ps=0,xs=0,bs=0,ws=0,ms=0,Ds=0,Ss=0,Hs=0,ks=0,Gs=0,Oi=0,vs=0,Us=0,Ls=0,Ns=0,Fs=0,Rs=0,Ys=0,Ks=0,Ms=0,qs=0,Os=0,Js=0,Ts=0,_s=0,js=0,Ps=0;for(dA=$[te+192>>2],lA=$[te+196>>2],Ft=$[te+184>>2],BA=$[te+188>>2],CA=$[te+176>>2],NA=$[te+180>>2],Rt=$[te+168>>2],EA=$[te+172>>2],It=$[te+160>>2],nr=$[te+164>>2],yA=$[te+152>>2],KA=$[te+156>>2],QA=$[te+144>>2],pA=$[te+148>>2],Yt=$[te+136>>2],Kt=$[te+140>>2],kt=$[te+128>>2],ir=$[te+132>>2],xA=$[te+120>>2],or=$[te+124>>2],Mt=$[te+112>>2],Gt=$[te+116>>2],Ze=$[te+104>>2],Ct=$[te+108>>2],qt=$[te+96>>2],Ot=$[te+100>>2],ye=$[te+88>>2],Et=$[te+92>>2],Ie=$[te+80>>2],Jt=$[te+84>>2],ue=$[te+72>>2],Tt=$[te+76>>2],Ke=$[te+64>>2],ot=$[te+68>>2],ht=$[te+56>>2],ze=$[te+60>>2],ne=$[te+48>>2],FA=$[te+52>>2],se=$[te+40>>2],Xe=$[te+44>>2],ct=$[te+32>>2],_t=$[te+36>>2],ve=$[te+24>>2],gt=$[te+28>>2],De=$[te+16>>2],mt=$[te+20>>2],Ae=$[te+8>>2],ft=$[te+12>>2],de=$[te>>2],lt=$[te+4>>2];Wn>>>0<=23;)oe=ve^Ke^Ze^Ft^QA,AA=me(nt=de^se^Ie^It^xA,Bt=lt^Xe^Jt^nr^or,1)^oe,ge=me(ct^AA,_t^(hA=(Nr=gt^ot^Ct^BA^pA)^ke),27),Fr=ke,RA=Nt=mt^ze^Ot^Kt^NA,Nt=me(Ar=De^ht^qt^Yt^CA,Nt,1)^nt,nt=me(ye^Nt,Et^(YA=ke^Bt),10),sr=ke,rr=Bt=ft^FA^Et^EA^ir,ar=ct^ue^Mt^dA^yA,ct=me(Pn=Ae^ne^ye^Rt^kt,Bt,1)^ar,Bt=me(Bt=se^ct,Xe^(Et=(se=_t^Tt^Gt^lA^KA)^ke),36),Rr=ke,ye=me(Ae^Nt,ft^YA,1),ft=ke,Xe=me(ar,se,1)^Ar,Ze=me(Xe^Ze,(Ar=Ct)^(Ct=ke^RA),25),RA=ke,_t=me(oe,Nr,1)^Pn,Ae=me(_t^ht,(Ar=ze)^(ze=ke^rr),6),Nr=ke,ht=me(ve^Xe,gt^Ct,28),gt=ke,Ie=me(Ie^ct,Et^Jt,3),Jt=ke,oe=me(ue^AA,Tt^hA,20),Ar=ve=ke,ue=me(De^_t,ze^mt,62),Tt=ke,Mt=me(Mt^AA,Gt^hA,39),Gt=ke,se=me(Ke^Xe,ot^Ct,55),mt=De=ke,ot=$[(Ke=(Pn=Wn<<3)+1120|0)>>2],Ke=$[Ke+4>>2],qt=me(qt^_t,ze^Ot,43),Ot=ke,ne=me(ne^Nt,FA^YA,44),Vn=De=(ps=(lt^=Et)^(-1^(FA=ke))&Ot^Ke)^(xs=(-1^De)&Gt^Tt)^(bs=(-1^ve)&Jt^gt)^(ws=(-1^Rr)&sr^Fr)^(ms=(-1^Nr)&RA^ft),Ke=me(ot=(Ds=(rr=de^ct)^(-1^ne)&qt^ot)^(Ss=(-1^se)&Mt^ue)^(Hs=(-1^oe)&Ie^ht)^(ks=(-1^Bt)&nt^ge)^(Gs=(-1^Ae)&Ze^ye),De,1),ve=ke,Yt=me(Yt^_t,ze^Kt,15),Kt=ke,Ft=me(Xe^Ft,Ct^BA,56),ar=ke,QA=me(Xe^QA,Ct^pA,21),BA=ke,dA=me(dA^AA,lA^hA,14),pA=ke,xA=me(ct^xA,Et^or,41),lA=ke,De=me(Rt^Nt,EA^YA,2),de=ke,yA=me(yA^AA,hA^KA,8),EA=ke,Rt=me(It^ct,Et^nr,18),ct=ke,It=me(kt^Nt,YA^ir,45),kt=ke,Oi=(-1^Ft)&ge^Yt,Xe=(-1^dA)&rr^QA,KA=(-1^De)&ue^xA,Et=(-1^Rt)&ye^yA,CA=me(_t^CA,ze^NA,61),ue=me((Ke^=ir=Oi^Xe^KA^Et^(nr=(-1^CA)&ht^It))^(or=(-1^ue)&se^De),(ve^=Ns=(vs=(-1^ar)&Fr^Kt)^(Us=(-1^pA)<^BA)^(Ct=(-1^de)&Tt^lA)^(ze=(-1^ct)&ft^EA)^(Ls=(-1^(NA=ke))>^kt))^(Tt=(-1^Tt)&mt^de),14),AA=ke,Ps=de=(Fs=RA^(-1^EA)&ct)^(Rs=Ot^(-1^BA)&pA)^(Ys=(-1^lA)&de^Gt)^(Ks=Jt^(-1^kt)&NA)^(Ms=(-1^Kt)&ar^sr),de=me(js=(qs=Ze^(-1^yA)&Rt)^(Os=qt^(-1^QA)&dA)^(Js=(-1^xA)&De^Mt)^(Ts=Ie^(-1^It)&CA)^(_s=(-1^Yt)&Ft^nt),de,1)^ot,Ie=me(de^(De=(-1^Ie)&It^oe),(ot=ke^Vn)^(It=(-1^Jt)&kt^Ar),44),hA=ke,kt=mt^(-1^Gt)&lA,Gt=Nr^(-1^RA)&EA,sr=Rr^(-1^sr)&Kt,nt=(Ft=(RA=Ft^(-1^ge)&Bt)^(Vn=CA^(-1^ht)&oe)^(ge=Rt^(-1^ye)&Ae)^or^(Kt=(-1^rr)&ne^dA))^me(Ae=(oe=se^(-1^Mt)&xA)^(Mt=Ae^(-1^Ze)&yA)^(rr=Bt^(-1^nt)&Yt)^(qt=(-1^qt)&QA^ne)^De,It^=kt^Gt^sr^(Ot=(-1^Ot)&BA^FA),1),YA=ne=(ht=(se=(Fr=ar^(-1^Fr)&Rr)^(Rr=NA^(-1^gt)&Ar)^(Rt=ct^(-1^ft)&Nr)^Tt^(Yt=(-1^lt)&FA^pA))^ke)^ps,De=ue,Bt=Ie,ct=ue^Ie&(-1^(Nt=nt^Ds)),_t=(-1^ne)&hA^AA,oe=me(oe^de,ot^kt,2),ye=ke,gt=me(Ft,se,1)^js,se=me(nr^gt,Ls^(mt=Ps^ke),55),Ze=ke,ft=me(ir,Ns,1)^Ae,Ae=me(ft^Os,(lt=It^ke)^Rs,62),Ie=ne=ke,dA=(-1^Ae)&se^oe,lA=(-1^ne)&Ze^ye,Ft=(ne=me(nt^ks,ht^ws,41))^(-1^oe)&Ae,BA=(ue=ke)^(-1^ye)&Ie,CA=(ge=me(ge^Ke,ve^Rt,39))^(-1^ne)&oe,NA=(oe=ke)^(-1^ue)&ye,Rt=se^(-1^ge)&ne,EA=Ze^(-1^oe)&ue,It=Ae^(-1^se)&ge,nr=Ie^(-1^Ze)&oe,oe=me(gt^KA,mt^Ct,56),ye=ke,se=me(nt^Hs,ht^bs,36),Ze=ke,Ae=me(Ke^Kt,ve^Yt,27),Ie=ne=ke,yA=(-1^Ae)&se^oe,KA=(-1^ne)&Ze^ye,QA=(ne=me(ft^_s,lt^Ms,15))^(-1^oe)&Ae,pA=(ue=ke)^(-1^ye)&Ie,Yt=(ge=me(de^Mt,ot^Gt,10))^(-1^ne)&oe,Kt=(oe=ke)^(-1^ue)&ye,kt=se^(-1^ge)&ne,ir=Ze^(-1^oe)&ue,xA=(-1^se)&ge^Ae,or=(-1^Ze)&oe^Ie,oe=me(nt^Ss,ht^xs,18),ye=ke,se=me(ft^Ts,lt^Ks,6),ue=ke,Ae=me(de^qt,ot^Ot,1),Jt=ne=ke,Mt=(-1^Ae)&se^oe,Gt=(-1^ne)&ue^ye,Ze=(ne=me(Ke^RA,ve^Fr,8))^(-1^oe)&Ae,Ct=(Ie=ke)^(-1^ye)&Jt,qt=(ge=me(gt^Et,ze^mt,25))^(-1^ne)&oe,Ot=(oe=ke)^(-1^Ie)&ye,ye=se^(-1^ge)&ne,Et=ue^(-1^oe)&Ie,Ie=(-1^se)&ge^Ae,Jt^=(-1^ue)&oe,oe=me(ft^Js,lt^Ys,61),ze=ke,se=me(Ke^Vn,ve^Rr,20),ve=ke,Ae=me(Xe^gt,mt^Us,28),Xe=ne=ke,ue=(-1^Ae)&se^oe,Tt=(-1^ne)&ve^ze,Ke=(ne=me(de^rr,ot^sr,45))^(-1^oe)&Ae,ot=(de=ke)^(-1^ze)&Xe,ht=(ge=me(nt^Gs,ht^ms,3))^(-1^ne)&oe,ze=(oe=ke)^(-1^de)&ze,ne=(-1^ge)&ne^se,FA=(-1^oe)&de^ve,se=Ae^(-1^se)&ge,Xe^=(-1^ve)&oe,ve=(Ae=me(gt^Oi,mt^vs,21))^(-1^De)&Nt,gt=(ge=ke)^(-1^AA)&YA,De=(oe=me(ft^qs,lt^Fs,43))^(-1^Ae)&De,mt=(nt=ke)^(-1^ge)&AA,Ae=(-1^oe)&Ae^Bt,ft=(-1^nt)&ge^hA,de=Nt^$[(ge=1120+(8|Pn)|0)>>2]^(-1^Bt)&oe,lt=YA^$[ge+4>>2]^(-1^hA)&nt,Wn=Wn+2|0;$[te+192>>2]=dA,$[te+196>>2]=lA,$[te+184>>2]=Ft,$[te+188>>2]=BA,$[te+176>>2]=CA,$[te+180>>2]=NA,$[te+168>>2]=Rt,$[te+172>>2]=EA,$[te+160>>2]=It,$[te+164>>2]=nr,$[te+152>>2]=yA,$[te+156>>2]=KA,$[te+144>>2]=QA,$[te+148>>2]=pA,$[te+136>>2]=Yt,$[te+140>>2]=Kt,$[te+128>>2]=kt,$[te+132>>2]=ir,$[te+120>>2]=xA,$[te+124>>2]=or,$[te+112>>2]=Mt,$[te+116>>2]=Gt,$[te+104>>2]=Ze,$[te+108>>2]=Ct,$[te+96>>2]=qt,$[te+100>>2]=Ot,$[te+88>>2]=ye,$[te+92>>2]=Et,$[te+80>>2]=Ie,$[te+84>>2]=Jt,$[te+72>>2]=ue,$[te+76>>2]=Tt,$[te+64>>2]=Ke,$[te+68>>2]=ot,$[te+56>>2]=ht,$[te+60>>2]=ze,$[te+48>>2]=ne,$[te+52>>2]=FA,$[te+40>>2]=se,$[te+44>>2]=Xe,$[te+32>>2]=ct,$[te+36>>2]=_t,$[te+24>>2]=ve,$[te+28>>2]=gt,$[te+16>>2]=De,$[te+20>>2]=mt,$[te+8>>2]=Ae,$[te+12>>2]=ft,$[te>>2]=de,$[te+4>>2]=lt}function rt(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0;e:if(te|=0){ge=(Ae=te-8|0)+(te=-8&(oe=$[te-4>>2]))|0;A:if(!(1&oe)){if(!(3&oe)||(Ae=Ae-(oe=$[Ae>>2])|0)>>>0<He[780])break e;te=te+oe|0;t:{r:{if($[781]!=(0|Ae)){if(oe>>>0<=255){if(se=oe>>>3|0,(0|(oe=$[Ae+12>>2]))==(0|(ne=$[Ae+8>>2]))){$[776]=$[776]&tA(se);break A}$[ne+12>>2]=oe,$[oe+8>>2]=ne;break A}if(ue=$[Ae+24>>2],(0|Ae)!=(0|(oe=$[Ae+12>>2]))){ne=$[Ae+8>>2],$[ne+12>>2]=oe,$[oe+8>>2]=ne;break t}if(!(ne=$[(se=Ae+20|0)>>2])){if(!(ne=$[Ae+16>>2]))break r;se=Ae+16|0}for(;Ie=se,(ne=$[(se=(oe=ne)+20|0)>>2])||(se=oe+16|0,ne=$[oe+16>>2]););$[Ie>>2]=0;break t}if((3&(oe=$[ge+4>>2]))!=3)break A;return $[778]=te,$[ge+4>>2]=-2&oe,$[Ae+4>>2]=1|te,void($[ge>>2]=te)}oe=0}if(ue){ne=$[Ae+28>>2];t:{if($[(se=3408+(ne<<2)|0)>>2]==(0|Ae)){if($[se>>2]=oe,oe)break t;$[777]=$[777]&tA(ne);break A}if($[ue+($[ue+16>>2]==(0|Ae)?16:20)>>2]=oe,!oe)break A}$[oe+24>>2]=ue,(ne=$[Ae+16>>2])&&($[oe+16>>2]=ne,$[ne+24>>2]=oe),(ne=$[Ae+20>>2])&&($[oe+20>>2]=ne,$[ne+24>>2]=oe)}}if(!(Ae>>>0>=ge>>>0)&&1&(oe=$[ge+4>>2])){A:{t:{r:{a:{if(!(2&oe)){if($[782]==(0|ge)){if($[782]=Ae,te=$[779]+te|0,$[779]=te,$[Ae+4>>2]=1|te,$[781]!=(0|Ae))break e;return $[778]=0,void($[781]=0)}if($[781]==(0|ge))return $[781]=Ae,te=$[778]+te|0,$[778]=te,$[Ae+4>>2]=1|te,void($[te+Ae>>2]=te);if(te=(-8&oe)+te|0,oe>>>0<=255){if(se=oe>>>3|0,(0|(oe=$[ge+12>>2]))==(0|(ne=$[ge+8>>2]))){$[776]=$[776]&tA(se);break t}$[ne+12>>2]=oe,$[oe+8>>2]=ne;break t}if(ue=$[ge+24>>2],(0|ge)!=(0|(oe=$[ge+12>>2]))){ne=$[ge+8>>2],$[ne+12>>2]=oe,$[oe+8>>2]=ne;break r}if(!(ne=$[(se=ge+20|0)>>2])){if(!(ne=$[ge+16>>2]))break a;se=ge+16|0}for(;Ie=se,(ne=$[(se=(oe=ne)+20|0)>>2])||(se=oe+16|0,ne=$[oe+16>>2]););$[Ie>>2]=0;break r}$[ge+4>>2]=-2&oe,$[Ae+4>>2]=1|te,$[te+Ae>>2]=te;break A}oe=0}if(ue){ne=$[ge+28>>2];r:{if($[(se=3408+(ne<<2)|0)>>2]==(0|ge)){if($[se>>2]=oe,oe)break r;$[777]=$[777]&tA(ne);break t}if($[ue+($[ue+16>>2]==(0|ge)?16:20)>>2]=oe,!oe)break t}$[oe+24>>2]=ue,(ne=$[ge+16>>2])&&($[oe+16>>2]=ne,$[ne+24>>2]=oe),(ne=$[ge+20>>2])&&($[oe+20>>2]=ne,$[ne+24>>2]=oe)}}if($[Ae+4>>2]=1|te,$[te+Ae>>2]=te,$[781]==(0|Ae))return void($[778]=te)}if(te>>>0<=255)return oe=3144+(-8&te)|0,(ne=$[776])&(te=1<<(te>>>3))?te=$[oe+8>>2]:($[776]=te|ne,te=oe),$[oe+8>>2]=Ae,$[te+12>>2]=Ae,$[Ae+12>>2]=oe,void($[Ae+8>>2]=te);ne=31,te>>>0<=16777215&&(ne=62+((te>>>38-(oe=Re(te>>>8|0))&1)-(oe<<1)|0)|0),$[Ae+28>>2]=ne,$[Ae+16>>2]=0,$[Ae+20>>2]=0,oe=3408+(ne<<2)|0;A:{t:{if((se=$[777])&(Ie=1<<ne)){for(ne=te<<((0|ne)!=31?25-(ne>>>1|0)|0:0),oe=$[oe>>2];;){if(se=oe,(-8&$[oe+4>>2])==(0|te))break t;if(oe=ne>>>29|0,ne<<=1,!(oe=$[(Ie=se+(4&oe)|0)+16>>2]))break}$[Ie+16>>2]=Ae,$[Ae+24>>2]=se}else $[777]=se|Ie,$[oe>>2]=Ae,$[Ae+24>>2]=oe;$[Ae+12>>2]=Ae,$[Ae+8>>2]=Ae;break A}te=$[se+8>>2],$[te+12>>2]=Ae,$[se+8>>2]=Ae,$[Ae+24>>2]=0,$[Ae+12>>2]=se,$[Ae+8>>2]=te}te=$[784]-1|0,$[784]=te||-1}}}function tt(te,oe,ne,Ae){var se,ge,ue,Ie,de=0,ye=0,De=0,ve=0,Ke=0;for(Ge=ge=Ge-160|0,Ie=ge+12|0,ue=Pe(200),$[Ie>>2]=ue,ue||(we(111),ae()),Ge=se=Ge-208|0;;){if((0|de)==25){for(;;){if(de=0,Ae>>>0<136){for(ye=0;;){if((0|de)==136){for(;(0|Ae)!=(0|ye);)ce[ye+se|0]=Be[ne+ye|0],ye=ye+1|0;break}ce[de+se|0]=0,de=de+1|0}for(ce[Ae+se|0]=31,ce[se+135|0]=128|Be[se+135|0],de=0;(0|de)!=17;)ye=$[(ne=(Ae=de<<3)+ue|0)>>2],De=$[ne+4>>2],$[ne>>2]=ut(Ae+se|0)^ye,$[ne+4>>2]=ke^De,de=de+1|0;Ge=se+208|0;break}for(;(0|de)!=17;)ve=$[(ye=(De=de<<3)+ue|0)>>2],Ke=$[ye+4>>2],$[ye>>2]=ut(ne+De|0)^ve,$[ye+4>>2]=ke^Ke,de=de+1|0;qe(ue),ne=ne+136|0,Ae=Ae-136|0}break}$[(ye=(de<<3)+ue|0)>>2]=0,$[ye+4>>2]=0,de=de+1|0}_e(te,ne=(oe>>>0)/136|0,Ie);e:if((0|(ne=Se(ne,136)))!=(0|oe))for(Ae=oe-ne|0,te=te+ne|0,_e(ge+16|0,1,ge+12|0),oe=0;;){if((0|oe)==(0|Ae))break e;ce[te+oe|0]=Be[(ge+16|0)+oe|0],oe=oe+1|0}rt($[ge+12>>2]),Ge=ge+160|0}function Je(te,oe,ne,Ae){for(var se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0;;){e:{if(Ie=0,ue=0,de=De=$[te+204>>2],!(!((ye=Ae+(se=$[te+200>>2])|0)>>>0<Ae>>>0?de+1|0:de)&oe>>>0>ye>>>0)){for(;!(!ue&(ge=oe-se|0)>>>0<=Ie>>>0|(0|ue)!=0);)De=$[(de=(-8&(se=se+Ie|0))+te|0)+4>>2],ye=Be[ne+Ie|0],ge=31&(se<<=3),(63&se)>>>0>=32?(se=ye<<ge,ge=0):(se=(1<<ge)-1&ye>>>32-ge,ge=ye<<ge),$[de>>2]=ge^$[de>>2],$[de+4>>2]=se^De,ue=(Ie=Ie+1|0)?ue:ue+1|0,se=$[te+200>>2],De=$[te+204>>2];$[te+200>>2]=0,$[te+204>>2]=0,qe(te),ne=ne+ge|0,Ae=Ae-ge|0;continue}for(;;){if(!Ke&(0|Ae)==(0|ve))break e;oe=ve+$[te+200>>2]|0,ge=$[(ue=(-8&oe)+te|0)+4>>2],Ie=Be[ne+ve|0],oe=31&(se=oe<<3),(63&se)>>>0>=32?(se=Ie<<oe,oe=0):(se=(1<<oe)-1&Ie>>>32-oe,oe=Ie<<oe),$[ue>>2]=oe^$[ue>>2],$[ue+4>>2]=se^ge,oe=Ke,Ke=(ve=ve+1|0)?oe:oe+1|0}}break}oe=$[te+204>>2],oe=(ne=Ae+$[te+200>>2]|0)>>>0<Ae>>>0?oe+1|0:oe,$[te+200>>2]=ne,$[te+204>>2]=oe}function Te(te,oe,ne,Ae){var se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;for(ye=oe;;){ue=$[ne+200>>2],Ie=$[ne+204>>2];e:{if(!de&(0|se)==(0|ye))ge=oe;else{if(ge=se,(0|de)==(0|Ie)&ue>>>0>se>>>0|de>>>0<Ie>>>0)break e;ye=se}for(se=ue-ye|0,de=Ie-((ue>>>0<ye>>>0)+0|0)|0,ye=oe-ge|0,oe=te+ge|0;$[ne+200>>2]=se,$[ne+204>>2]=de,ye;){for(qe(ne),te=Ae>>>0>ye>>>0?ye:Ae,ge=0;(0|te)!=(0|ge);)Ie=$[(se=(-8&ge)+ne|0)>>2],ue=$[se+4>>2],se=31&(de=ge<<3&56),ce[oe+ge|0]=(63&de)>>>0>=32?ue>>>se|0:((1<<se)-1&ue)<<32-se|Ie>>>se,ge=ge+1|0;ye=ye-te|0,oe=te+oe|0,se=Ae-te|0,de=0}return}ve=De=te+ge|0,De=$[(Ie=(-8&(ue=se+(Ae-ue|0)|0))+ne|0)>>2],Ie=$[Ie+4>>2],ge=31&(ue<<=3),ce[0|ve]=(63&ue)>>>0>=32?Ie>>>ge|0:((1<<ge)-1&Ie)<<32-ge|De>>>ge,de=(se=se+1|0)?de:de+1|0}}function pe(te,oe){var ne,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0;for(Ge=ne=Ge-160|0,eA(ge=ne+12|0),Lt(ge,oe,32),Lr(ge),IA(ne+16|0,136,ge);;){if(!Ae&(0|se)==8){for(oe=0;;){if((0|oe)==256){for(oe=8,se=196;(0|se)!=256;){for(;oe>>>0>=136&&(IA(ne+16|0,136,ne+12|0),oe=0),Ae=(ne+16|0)+oe|0,oe=oe+1|0,(Ae=Be[0|Ae])>>>0>se>>>0;);Ae=(Ae<<2)+te|0,$[(se<<2)+te>>2]=$[Ae>>2],$[Ae>>2]=1-(Ie<<1&2),se=se+1|0,Ie=(1&de)<<31|Ie>>>1,de=de>>>1|0}LA(ne+12|0),Ge=ne+160|0;break}$[(oe<<2)+te>>2]=0,oe=oe+1|0}break}ge=Be[(ne+16|0)+se|0],oe=31&(ue=se<<3),(63&ue)>>>0>=32?(ue=ge<<oe,oe=0):(ue=(1<<oe)-1&ge>>>32-oe,oe=ge<<oe),Ie|=oe,de|=ue,Ae=(se=se+1|0)?Ae:Ae+1|0}}function Qe(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0;(0|Ie)!=8;){for(ve=Ie<<8,Ke=Se(Ie,7168)+te|0,ue=0;(0|ue)!=7;){for(Ge=ne=(Ge=se=Ge-864|0)-16|0,Ae=ue+ve|0,ce[ne+14|0]=Ae,ce[ne+15|0]=Ae>>>8,eA(Ae=se+12|0),Qs(Ae,oe,32),Qs(Ae,ne+14|0,2),Oe($[Ae>>2],168),Ge=ne+16|0,ne=840,ys(ge=se+16|0,840,Ae),Ae=je(ye=(ue<<10)+Ke|0,256,ge,840);Ae>>>0<=255;){for(de=ne-(ge=(ne>>>0)%3|0)|0,ne=0;(0|ne)!=(0|ge);)ce[(De=se+16|0)+ne|0]=Be[(ne+de|0)+De|0],ne=ne+1|0;ys((ne=se+16|0)|ge,168,se+12|0),Ae=je((Ae<<2)+ye|0,256-Ae|0,de=ne,ne=168|ge)+Ae|0}LA(se+12|0),Ge=se+864|0,ue=ue+1|0}Ie=Ie+1|0}}function Ue(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;ge=256,Ae=1;e:for(;;){A:{if(ne=0,Ae>>>0>255)for(;;){if((0|ue)==256)break A;oe=it(oe=$[(se=(ue<<2)+te|0)>>2],oe>>31,41978,0),$[se>>2]=_n(oe,ke),ue=ue+1|0}for(;;){t:{if(ne>>>0<=255)for(de=ne+Ae|0,De=(se=0-$[1312+((ge=ge-1|0)<<2)>>2]|0)>>31;;){if((0|ne)==(0|de))break t;ye=$[(oe=(ne<<2)+te|0)>>2],ve=oe,oe=$[(Ie=(ne+Ae<<2)+te|0)>>2],$[ve>>2]=ye+oe,oe=ye-oe|0,$[Ie>>2]=oe,$[Ie>>2]=_n(it(oe,oe>>31,se,De),ke),ne=ne+1|0}Ae<<=1;continue e}ne=Ae+de|0}}break}}function Fe(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0;(0|se)!=32;)ne=(se<<5)+te|0,Ae=Se(se,3)+oe|0,ge=7&Be[0|Ae],$[ne>>2]=ge,ue=Be[0|Ae]>>>3&7,$[ne+4>>2]=ue,Ie=Be[Ae+1|0]<<2&4|Be[0|Ae]>>>6,$[ne+8>>2]=Ie,de=Be[Ae+1|0]>>>1&7,$[ne+12>>2]=de,ye=Be[Ae+1|0]>>>4&7,$[ne+16>>2]=ye,De=Be[Ae+2|0]<<1&6|Be[Ae+1|0]>>>7,$[ne+20>>2]=De,ve=Be[Ae+2|0]>>>2&7,$[ne+24>>2]=ve,Ae=Be[Ae+2|0],$[ne+4>>2]=2-ue,$[ne>>2]=2-ge,$[ne+8>>2]=2-Ie,$[ne+12>>2]=2-de,$[ne+16>>2]=2-ye,$[ne+20>>2]=2-De,$[ne+24>>2]=2-ve,$[ne+28>>2]=2-(Ae>>>5|0),se=se+1|0}function me(te,oe,ne){var Ae=0,se=0,ge=0,ue=0;return se=31&(ge=ue=63&ne),ge=ge>>>0>=32?-1>>>se|0:(Ae=-1>>>se|0)|(1<<se)-1<<32-se,ge&=te,Ae&=oe,se=31&ue,ue>>>0>=32?(Ae=ge<<se,ue=0):(Ae=(1<<se)-1&ge>>>32-se|Ae<<se,ue=ge<<se),ge=Ae,Ae=31&(se=0-ne&63),se>>>0>=32?(Ae=-1<<Ae,ne=0):Ae=(ne=-1<<Ae)|(1<<Ae)-1&-1>>>32-Ae,te&=ne,oe&=Ae,Ae=31&se,se>>>0>=32?(ne=0,te=oe>>>Ae|0):(ne=oe>>>Ae|0,te=((1<<Ae)-1&oe)<<32-Ae|te>>>Ae),ke=ne|ge,te|=ue}function Ye(te){var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0;for(ne=128;oe=0,ne;){for(;oe>>>0<=255;){for(ue=oe>>>0>(Ae=oe+ne|0)>>>0?oe:Ae,ye=(Ae=$[1312+((Ie=Ie+1|0)<<2)>>2])>>31;(0|oe)!=(0|ue);)ge=_n(it(ge=$[(se=(oe+ne<<2)+te|0)>>2],ge>>31,Ae,ye),ke),De=se,de=$[(se=(oe<<2)+te|0)>>2],$[De>>2]=de-ge,$[se>>2]=ge+de,oe=oe+1|0;oe=ne+ue|0}ne=ne>>>1|0}}function Oe(te,oe){var ne,Ae=0,se=0,ge=0;Ae=$[te+200>>2],ne=$[(se=te+(-8&Ae)|0)+4>>2],Ae=31&(ge=Ae<<3),(63&ge)>>>0>=32?(ge=31<<Ae,Ae=0):(ge=(1<<Ae)-1&31>>>32-Ae,Ae=31<<Ae),$[se>>2]=Ae^$[se>>2],$[se+4>>2]=ge^ne,ge=$[(oe=(-8&(Ae=oe-1|0))+te|0)+4>>2],Ae=31&(se=Ae<<3&56),(63&se)>>>0>=32?(se=128<<Ae,Ae=0):(se=(1<<Ae)-1&128>>>32-Ae,Ae=128<<Ae),$[oe>>2]=Ae^$[oe>>2],$[oe+4>>2]=se^ge,$[te+200>>2]=0,$[te+204>>2]=0}function Le(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0;(0|Ae)!=32;)Ie=$[(ne=(Ae<<5)+oe|0)+16>>2],de=$[ne+12>>2],se=$[ne+28>>2],ye=$[ne+20>>2],De=$[ne+24>>2],ge=Se(Ae,3)+te|0,ue=16-($[ne+4>>2]<<3)|2-$[ne>>2],ne=2-$[ne+8>>2]|0,ce[0|ge]=ue|ne<<6,ue=64-(se<<5)|0,se=2-ye|0,ce[ge+2|0]=ue|8-(De<<2)|(254&se)>>>1,ce[ge+1|0]=32-(Ie<<4)|4-(de<<1)|(252&ne)>>>2|se<<7,Ae=Ae+1|0}function _e(te,oe,ne){var Ae,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0;Ae=$[ne>>2];e:for(;;){if(oe)for(qe(Ae),ne=0;;){if((0|ne)==17){oe=oe-1|0,te=te+136|0;continue e}for(ye=(se=ne<<3)+te|0,De=$[(se=se+Ae|0)>>2],Ie=$[se+4>>2],ge=0,se=0;(0|ge)!=8|se;)ue=31&(de=ge<<3),ce[ge+ye|0]=(63&de)>>>0>=32?Ie>>>ue|0:((1<<ue)-1&Ie)<<32-ue|De>>>ue,se=(ge=ge+1|0)?se:se+1|0;ne=ne+1|0}break}}function We(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0;(0|ue)!=128;)se=(ue<<3)+te|0,ne=Se(ue,5)+oe|0,Ae=Be[0|ne],$[se>>2]=Ae,Ae|=Be[ne+1|0]<<8,$[se>>2]=Ae,Ae|=Be[ne+2|0]<<16&983040,$[se>>2]=Ae,ge=Be[ne+2|0]>>>4|0,$[se+4>>2]=ge,ge|=Be[ne+3|0]<<4,$[se+4>>2]=ge,ne=Be[ne+4|0],$[se>>2]=524288-Ae,$[se+4>>2]=524288-(ge|ne<<12),ue=ue+1|0}function at(te,oe,ne){for(var Ae=0,se=0,ge=0,ue=0;!(oe>>>0<=Ae>>>0|ge>>>0>135);)ue=(se=Be[ne+ge|0])>>>4|0,ge=ge+1|0,(0|(se&=15))!=15&&($[(Ae<<2)+te>>2]=2+(Se(Se(se,205)>>>10|0,5)-se|0),Ae=Ae+1|0),(0|ue)==15|oe>>>0<=Ae>>>0||($[(Ae<<2)+te>>2]=2+(Se(Se(ue,205)>>>10|0,5)-ue|0),Ae=Ae+1|0);return Ae}function $e(te,oe,ne){for(var Ae=0,se=0,ge=0,ue=0,Ie=0,de=0;(0|Ae)!=8;){for(Ge=se=Ge-1024|0,Tn(ue=(Ae<<10)+te|0,Ie=Se(Ae,7168)+oe|0,ne),ge=1;(0|ge)!=7;)Tn(se,(de=ge<<10)+Ie|0,ne+de|0),Ri(ue,ue,se),ge=ge+1|0;Ge=se+1024|0,Ae=Ae+1|0}}function je(te,oe,ne,Ae){for(var se=0,ge=0,ue=0,Ie=0;!(oe>>>0<=ge>>>0||(se=Ie+3|0)>>>0>Ae>>>0);)ue=ne+Ie|0,Ie=se,(se=Be[ue+2|0]<<16&8323072|Be[0|ue]|Be[ue+1|0]<<8)>>>0>8380416||($[(ge<<2)+te>>2]=se,ge=ge+1|0);return ge}function ut(te){for(var oe=0,ne=0,Ae=0,se=0,ge=0,ue=0,Ie=0;!(!se&(0|ne)==8);)ge=Be[te+ne|0],oe=31&(Ae=ne<<3),(63&Ae)>>>0>=32?(Ae=ge<<oe,oe=0):(Ae=(1<<oe)-1&ge>>>32-oe,oe=ge<<oe),ue|=oe,Ie|=Ae,se=(ne=ne+1|0)?se:se+1|0;return ke=Ie,ue}function it(te,oe,ne,Ae){var se,ge,ue,Ie,de=0,ye=0;return Ie=Se(de=ne>>>16|0,ye=te>>>16|0),de=(65535&(ye=((ue=Se(se=65535&ne,ge=65535&te))>>>16|0)+Se(ye,se)|0))+Se(de,ge)|0,ke=(Se(oe,ne)+Ie|0)+Se(te,Ae)+(ye>>>16)+(de>>>16)|0,65535&ue|de<<16}function xt(te,oe,ne){for(var Ae=0,se=0,ge=0,ue=0,Ie=0,de=0;(0|se)!=8;){for(ue=(Ae=se<<10)+te|0,Ie=oe+Ae|0,de=ne+Ae|0,Ae=0;(0|Ae)!=256;)$[ue+(ge=Ae<<2)>>2]=$[ge+Ie>>2]-$[ge+de>>2],Ae=Ae+1|0;se=se+1|0}}function At(te,oe,ne){var Ae,se;for(Ge=Ae=Ge-160|0,ls(se=Ae+12|0,oe,ne),IA(oe=Ae+16|0,136,se),ne=at(te,256,oe);ne>>>0<=255;)IA(oe=Ae+16|0,136,Ae+12|0),ne=at((ne<<2)+te|0,256-ne|0,oe)+ne|0;LA(Ae+12|0),Ge=Ae+160|0}function dt(te,oe){for(var ne=0,Ae=0,se=0,ge=0,ue=0;(0|Ae)!=8;){for(ge=(Ae<<7)+te|0,ue=(Ae<<10)+oe|0,ne=0;(0|ne)!=128;)se=(ne<<3)+ue|0,ce[ne+ge|0]=$[se+4>>2]<<4|$[se>>2],ne=ne+1|0;Ae=Ae+1|0}}function vr(te){for(var oe=0,ne=0,Ae=0,se=0,ge=0;(0|ne)!=8;){for(ge=(ne<<10)+te|0,oe=0;(0|oe)!=256;)se=$[(Ae=(oe<<2)+ge|0)>>2],$[Ae>>2]=se+(se>>31&8380417),oe=oe+1|0;ne=ne+1|0}}function eA(te){var oe=0,ne=0;for(oe=te,te=Pe(208),$[oe>>2]=te,te||(we(111),ae());(0|ne)!=25;)$[(oe=te+(ne<<3)|0)>>2]=0,$[oe+4>>2]=0,ne=ne+1|0;$[te+200>>2]=0,$[te+204>>2]=0}function Tn(te,oe,ne){for(var Ae=0,se=0,ge=0;(0|se)!=256;)Ae=it(Ae=$[(ge=se<<2)+ne>>2],Ae>>31,Ae=$[oe+ge>>2],Ae>>31),$[te+ge>>2]=_n(Ae,ke),se=se+1|0}function Ur(te){var oe,ne;return(te=(oe=$[584])+(ne=te+7&-8)|0)>>>0<=oe>>>0&&ne||te>>>0>(Ce.byteLength/65536|0)<<16>>>0&&!(0|Ve(0|te))?($[775]=48,-1):($[584]=te,oe)}function fs(te,oe){var ne=0,Ae=0;if((0|oe)<=1047552)for(;;){if((0|Ae)==256)return 0;if(ne=Ae<<2,Ae=Ae+1|0,!(((ne=$[te+ne>>2])-(ne<<1&ne>>31)|0)<(0|oe)))break}return 1}function us(te){for(var oe=0,ne=0,Ae=0;(0|oe)!=256;)Ae=$[(ne=(oe<<2)+te|0)>>2],$[ne>>2]=Ae+Se(Ae+4194304>>23,-8380417),oe=oe+1|0}function Is(te,oe){var ne;return ne=te,te=Se(oe+127>>7,1025)+2097152>>>22&15,oe=Se(te,-523776)+oe|0,$[ne>>2]=((0|oe)>4190208?-8380417:0)+oe,te}function hs(te){for(var oe=0,ne=0;;){if((0|oe)==7)return 0;if(ne=oe<<10,oe=oe+1|0,fs(te+ne|0,524168))break}return 1}function ds(te,oe){for(var ne=0,Ae=0;;){if((0|ne)==8)return 0;if(Ae=ne<<10,ne=ne+1|0,fs(te+Ae|0,oe))break}return 1}function Ri(te,oe,ne){for(var Ae=0,se=0;(0|Ae)!=256;)$[(se=Ae<<2)+te>>2]=$[ne+se>>2]+$[oe+se>>2],Ae=Ae+1|0}function ls(te,oe,ne){var Ae;Ge=Ae=Ge-16|0,ce[Ae+14|0]=ne,ce[Ae+15|0]=ne>>>8,eA(te),Lt(te,oe,64),Lt(te,Ae+14|0,2),Lr(te),Ge=Ae+16|0}function _n(te,oe){var ne=0;return it(te,oe,0,58728449),ne=it(ne=ke,ne>>31,-8380417,-1),oe=oe+ke|0,te+ne>>>0<te>>>0?oe+1|0:oe}function Bs(te,oe,ne){for(var Ae=0,se=0;(0|Ae)!=8;)Ri((se=Ae<<10)+te|0,oe+se|0,ne+se|0),Ae=Ae+1|0}function Yi(te,oe,ne){for(var Ae=0,se=0;(0|Ae)!=8;)Tn((se=Ae<<10)+te|0,oe,ne+se|0),Ae=Ae+1|0}function Cs(te,oe){var ne=0;for(ne=7168;ce[0|te]=Be[0|oe],te=te+1|0,oe=oe+1|0,ne=ne-1|0;);}function Es(te,oe){for(var ne=0;(0|oe)!=(0|ne);)Ye((ne<<10)+te|0),ne=ne+1|0}function nn(te){for(var oe=0;(0|oe)!=8;)us((oe<<10)+te|0),oe=oe+1|0}function on(te){for(var oe=0;(0|oe)!=8;)Ue((oe<<10)+te|0),oe=oe+1|0}function tA(te){var oe;return(-1>>>(oe=31&te)&-2)<<oe|(-1<<(te=0-te&31)&-2)>>>te}function Ki(te){return te?31-Re(te-1^te)|0:32}function ys(te,oe,ne){Te(te,oe,$[ne>>2],168)}function Qs(te,oe,ne){Je($[te>>2],168,oe,ne)}function IA(te,oe,ne){Te(te,oe,$[ne>>2],136)}function Lt(te,oe,ne){Je($[te>>2],136,oe,ne)}function Lr(te){Oe($[te>>2],136)}function LA(te){rt($[te>>2])}function Mi(te){Es(te,8)}function jn(te){Es(te,7)}ie(X=Be,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),ie(X,1120,"AQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zike"),ie(X,2336,"EA6A");var qi,Gc=((qi=[]).set=function(te,oe){this[te]=oe},qi.get=function(te){return this[te]},qi);return{e:function(){},f:Gc,g:Pe,h:rt,i:function(){var te;Ge=te=Ge-16|0,ce[te+15|0]=0,Me(2376,te+15|0,0),Ge=te+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(te,oe){te|=0,oe|=0;var ne,Ae=0,se=0,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,ze=0,Ze=0,Xe=0;for(Ge=ne=Ge-96416|0,Ie=ne+96288|0;(0|se)!=32;)Ge=ue=Ge-16|0,ce[ue+15|0]=0,de=0|Me(2340,ue+15|0,0),Ge=ue+16|0,ce[se+Ie|0]=de,se=se+1|0;for(tt(Ie,128,Ie,32),Qe(ue=ne+38912|0,Ie),ve=ne+31744|0,se=ne+96320|0;(0|Ae)!=7;)At(ve+(Ae<<10)|0,se,65535&ge),Ae=Ae+1|0,ge=ge+1|0;for(Ke=ne+16384|0,Ae=0,ge=7;(0|Ae)!=8;)At(Ke+(Ae<<10)|0,se,65535&ge),Ae=Ae+1|0,ge=ge+1|0;for(Cs(Ae=ne+24576|0,ve),jn(Ae),$e(ge=ne- -8192|0,ue,Ae),nn(ge),on(ge),Bs(ge,ge,Ke),vr(ge),Ae=0;(0|Ae)!=8;){for(ze=(se=Ae<<10)+ge|0,ye=se+ne|0,De=se+ge|0,se=0;(0|se)!=256;)de=(Ze=$[(ue=se<<2)+De>>2])+4095|0,$[ue+ye>>2]=Ze-(-8192&de),$[ue+ze>>2]=de>>13,se=se+1|0;Ae=Ae+1|0}for(Ae=0;(0|Ae)!=32;)ce[te+Ae|0]=Be[Ae+Ie|0],Ae=Ae+1|0;for(ze=te+32|0,Ae=0;(0|Ae)!=8;){for(ye=ze+Se(Ae,320)|0,De=ge+(Ae<<10)|0,ue=0;(0|ue)!=64;)de=ye+Se(ue,5)|0,se=De+(ue<<4)|0,ce[0|de]=$[se>>2],ce[de+1|0]=$[se+4>>2]<<2|$[se>>2]>>>8,ce[de+2|0]=$[se+8>>2]<<4|$[se+4>>2]>>>6,ce[de+3|0]=$[se+12>>2]<<6|$[se+8>>2]>>>4,ce[de+4|0]=$[se+12>>2]>>>2,ue=ue+1|0;Ae=Ae+1|0}for(tt(ge=ne+96256|0,32,te,2592),te=ne+96384|0,Ae=0;(0|Ae)!=32;)ce[oe+Ae|0]=Be[Ae+Ie|0],Ae=Ae+1|0;for(se=oe+32|0,Ae=0;(0|Ae)!=32;)ce[Ae+se|0]=Be[te+Ae|0],Ae=Ae+1|0;for(te=oe- -64|0,Ae=0;(0|Ae)!=32;)ce[te+Ae|0]=Be[Ae+ge|0],Ae=Ae+1|0;for(te=oe+96|0,Ae=0;(0|Ae)!=7;)Le(te+Se(Ae,96)|0,ve+(Ae<<10)|0),Ae=Ae+1|0;for(te=oe+768|0,Ae=0;(0|Ae)!=8;)Le(te+Se(Ae,96)|0,Ke+(Ae<<10)|0),Ae=Ae+1|0;for(de=oe+1536|0,Ae=0;(0|Ae)!=8;){for(ve=de+Se(Ae,416)|0,Ke=(Ae<<10)+ne|0,ge=0;(0|ge)!=32;)ze=$[(oe=Ke+(ge<<5)|0)+20>>2],ye=$[oe+8>>2],De=$[oe+28>>2],ue=$[oe+24>>2],Ie=$[oe+16>>2],se=$[oe+12>>2],Ze=$[oe+4>>2],te=ve+Se(ge,13)|0,Xe=4096-$[oe>>2]|0,ce[0|te]=Xe,oe=4096-Ze|0,ce[te+2|0]=oe>>>3,se=4096-se|0,ce[te+5|0]=se>>>1,Ie=4096-Ie|0,ce[te+7|0]=Ie>>>4,ue=4096-ue|0,ce[te+10|0]=ue>>>2,De=4096-De|0,ce[te+12|0]=De>>>5,ce[te+1|0]=oe<<5|Xe>>>8,ye=4096-ye|0,ce[te+3|0]=ye<<2|oe>>>11,ce[te+4|0]=se<<7|ye>>>6,ce[te+6|0]=Ie<<4|se>>>9,oe=4096-ze|0,ce[te+8|0]=oe<<1|Ie>>>12,ce[te+9|0]=ue<<6|oe>>>7,ce[te+11|0]=De<<3|ue>>>10,ge=ge+1|0;Ae=Ae+1|0}return Ge=ne+96416|0,0},n:function(te,oe,ne,Ae){oe|=0,ne|=0,Ae|=0;var se,ge,ue,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,ze=0,Ze=0,Xe=0,nt=0,ot=0,It=0,ht=0,ct=0,gt=0,ft=0,lt=0,Bt=0,Ct=0,Et=0;for(ge=(te|=0)+2|0,Ge=se=(Ge=ue=Ge-16|0)-121072|0,de=It=se+120848|0,ye=ht=se+120880|0,De=se+120912|0,ve=se+33808|0,Ke=se+56336|0,ze=se+25616|0;(0|Ie)!=32;)ce[Ie+de|0]=Be[Ae+Ie|0],Ie=Ie+1|0;for(de=Ae+32|0,Ie=0;(0|Ie)!=32;)ce[Ie+De|0]=Be[Ie+de|0],Ie=Ie+1|0;for(de=Ae- -64|0,Ie=0;(0|Ie)!=32;)ce[Ie+ye|0]=Be[Ie+de|0],Ie=Ie+1|0;for(de=Ae+96|0,Ie=0;(0|Ie)!=7;)Fe(Ke+(Ie<<10)|0,de+Se(Ie,96)|0),Ie=Ie+1|0;for(de=Ae+768|0,Ie=0;(0|Ie)!=8;)Fe(ze+(Ie<<10)|0,de+Se(Ie,96)|0),Ie=Ie+1|0;for(lt=Ae+1536|0,Ie=0;(0|Ie)!=8;){for(Bt=ve+(Ie<<10)|0,Ct=lt+Se(Ie,416)|0,ye=0;(0|ye)!=32;)Ae=Bt+(ye<<5)|0,de=Ct+Se(ye,13)|0,ct=Be[0|de],$[Ae>>2]=ct,ct|=Be[de+1|0]<<8&7936,$[Ae>>2]=ct,Ze=Be[de+1|0]>>>5|0,$[Ae+4>>2]=Ze,Ze|=Be[de+2|0]<<3,$[Ae+4>>2]=Ze,Ze|=Be[de+3|0]<<11&6144,$[Ae+4>>2]=Ze,gt=Be[de+3|0]>>>2|0,$[Ae+8>>2]=gt,gt|=Be[de+4|0]<<6&8128,$[Ae+8>>2]=gt,Xe=Be[de+4|0]>>>7|0,$[Ae+12>>2]=Xe,Xe|=Be[de+5|0]<<1,$[Ae+12>>2]=Xe,Xe|=Be[de+6|0]<<9&7680,$[Ae+12>>2]=Xe,nt=Be[de+6|0]>>>4|0,$[Ae+16>>2]=nt,nt|=Be[de+7|0]<<4,$[Ae+16>>2]=nt,nt|=Be[de+8|0]<<12&4096,$[Ae+16>>2]=nt,ft=Be[de+8|0]>>>1|0,$[Ae+20>>2]=ft,ft|=Be[de+9|0]<<7&8064,$[Ae+20>>2]=ft,ot=Be[de+9|0]>>>6|0,$[Ae+24>>2]=ot,ot|=Be[de+10|0]<<2,$[Ae+24>>2]=ot,ot|=Be[de+11|0]<<10&7168,$[Ae+24>>2]=ot,Et=Be[de+11|0]>>>3|0,$[Ae+28>>2]=Et,de=Be[de+12|0],$[Ae+4>>2]=4096-Ze,$[Ae>>2]=4096-ct,$[Ae+8>>2]=4096-gt,$[Ae+12>>2]=4096-Xe,$[Ae+16>>2]=4096-nt,$[Ae+20>>2]=4096-ft,$[Ae+24>>2]=4096-ot,$[Ae+28>>2]=4096-(de<<5|Et),ye=ye+1|0;Ie=Ie+1|0}for(eA(Ae=se+12|0),Lt(Ae,ht,32),Lt(Ae,oe,ne),Lr(Ae),IA(ht=se+120944|0,64,Ae),LA(Ae),tt(lt=se+121008|0,64,De,96),Qe(se+63504|0,It),jn(Ke),Mi(ze),Mi(ve),Ie=0;;){for(de=se+49168|0,ye=Se(65535&Ie,7),oe=0;(0|oe)!=7;)Ge=ne=Ge-704|0,ls(Ae=ne+12|0,lt,oe+ye&65535),IA(De=ne+16|0,680,Ae),LA(Ae),We(de+(oe<<10)|0,De),Ge=ne+704|0,oe=oe+1|0;for(Cs(Ae=se+42e3|0,de),jn(Ae),$e(oe=se+17424|0,se+63504|0,Ae),nn(oe),on(oe),vr(oe),ve=se+9232|0,ne=0;(0|ne)!=8;){for(Ke=(ye=ne<<10)+oe|0,ze=ye+ve|0,It=oe+ye|0,ye=0;(0|ye)!=256;)$[(De=ye<<2)+Ke>>2]=Is(De+ze|0,$[De+It>>2]),ye=ye+1|0;ne=ne+1|0}for(dt(ge,oe),eA(oe=se+12|0),Lt(oe,ht,64),Lt(oe,ge,1024),Lr(oe),IA(ge,32,oe),LA(oe),pe(oe=se+16|0,ge),Ie=Ie+1|0,Ye(oe),ye=se+56336|0,ne=0;(0|ne)!=7;)Tn((De=ne<<10)+Ae|0,oe,ye+De|0),ne=ne+1|0;for(oe=0;(0|oe)!=7;)Ue(Ae+(oe<<10)|0),oe=oe+1|0;for(oe=0;(0|oe)!=7;)Ri((ne=oe<<10)+Ae|0,ne+Ae|0,ne+de|0),oe=oe+1|0;for(ne=0;(0|ne)!=7;)us(Ae+(ne<<10)|0),ne=ne+1|0;if(!hs(Ae)&&(Yi(ne=se+1040|0,se+16|0,se+25616|0),on(ne),xt(oe=se+9232|0,oe,ne),nn(oe),!ds(oe,261768)&&(Yi(oe=se+1040|0,se+16|0,se+33808|0),on(oe),nn(oe),!ds(oe,261888)))){for(Bs(de=se+9232|0,de,Ke=se+1040|0),ze=se+17424|0,oe=0,ne=0;(0|oe)!=8;){for(It=(Ae=oe<<10)+Ke|0,Bt=Ae+de|0,Ct=Ae+ze|0,Ae=0,ye=0;(0|Ae)!=256;)ve=(0|(ve=$[(De=Ae<<2)+Bt>>2]))==-261888&$[De+Ct>>2]!=0|ve-261889>>>0<4294443519,$[De+It>>2]=ve,ye=ye+ve|0,Ae=Ae+1|0;ne=ne+ye|0,oe=oe+1|0}if(!(ne>>>0>75))break}}for(ye=se+42e3|0,De=se+1040|0,oe=0;(0|oe)!=32;)ce[0|(ne=oe+ge|0)]=Be[0|ne],oe=oe+1|0;for(ve=ge+32|0,oe=0;(0|oe)!=7;){for(Ke=ve+Se(oe,640)|0,ze=ye+(oe<<10)|0,ne=0;(0|ne)!=128;)de=$[(Ie=ze+(ne<<3)|0)+4>>2],Ae=Ke+Se(ne,5)|0,Ie=524288-$[Ie>>2]|0,ce[0|Ae]=Ie,ce[Ae+1|0]=Ie>>>8,de=524288-de|0,ce[Ae+3|0]=de>>>4,ce[Ae+4|0]=de>>>12,ce[Ae+2|0]=de<<4|Ie>>>16,ne=ne+1|0;oe=oe+1|0}for(Ie=ge+4512|0,ne=0,oe=0;;){if((0|oe)==83){for(Ae=0;(0|ne)!=8;){for(de=De+(ne<<10)|0,oe=0;(0|oe)!=256;)$[de+(oe<<2)>>2]&&(ce[Ae+Ie|0]=oe,Ae=Ae+1|0),oe=oe+1|0;ce[75+(ne+Ie|0)|0]=Ae,ne=ne+1|0}break}ce[oe+Ie|0]=0,oe=oe+1|0}return $[ue+12>>2]=4595,Ge=se+121072|0,Ee[te>>1]=$[ue+12>>2],Ge=ue+16|0,0},o:function(te,oe,ne,Ae){te|=0,oe|=0,Ae|=0;var se,ge=0,ue=0,Ie=0,de=0,ye=0,De=0,ve=0,Ke=0,ze=0,Ze=0,Xe=0;Ie=(ne|=0)+2|0,ge=xe[ne>>1],ye=te,ue=oe,ne=0,Ge=se=Ge-91312|0,Ze=-1;e:if((0|ge)==4595){for(te=se+90256|0,Ke=se+16400|0,oe=0;(0|oe)!=32;)ce[te+oe|0]=Be[oe+Ae|0],oe=oe+1|0;for(De=Ae+32|0,oe=0;(0|oe)!=8;){for(ve=Ke+(oe<<10)|0,ze=De+Se(oe,320)|0,ge=0;(0|ge)!=64;)de=ve+(ge<<4)|0,te=Se(ge,5)+ze|0,$[de>>2]=Be[te+1|0]<<8&768|Be[0|te],$[de+4>>2]=Be[te+2|0]<<6&960|Be[te+1|0]>>>2,$[de+8>>2]=Be[te+3|0]<<4&1008|Be[te+2|0]>>>4,$[de+12>>2]=Be[te+4|0]<<2|Be[te+3|0]>>>6,ge=ge+1|0;oe=oe+1|0}for(te=se+90160|0,oe=se+24592|0,Ke=se+16|0;(0|ne)!=32;)ce[te+ne|0]=Be[ne+Ie|0],ne=ne+1|0;for(te=Ie+32|0,ne=0;(0|ne)!=7;)We(oe+(ne<<10)|0,te+Se(ne,640)|0),ne=ne+1|0;Ie=Ie+4512|0,ge=0,te=0;A:{for(;;){t:if((0|ge)!=8){for(de=Ke+(ge<<10)|0,ne=0;(0|ne)!=256;)$[de+(ne<<2)>>2]=0,ne=ne+1|0;if(!((oe=Be[(De=ge+Ie|0)+75|0])>>>0>75||(ne=te,oe>>>0<te>>>0))){for(;oe>>>0>ne>>>0;){if(te>>>0<ne>>>0&(oe=Be[0|(ve=ne+Ie|0)])>>>0<=Be[ve-1|0])break t;$[de+(oe<<2)>>2]=1,ne=ne+1|0,oe=Be[De+75|0]}ge=ge+1|0,te=oe;continue}}else for(ne=te>>>0<=75?75:te;;){if(oe=0,(0|te)==(0|ne))break A;if(oe=te+Ie|0,te=te+1|0,Be[0|oe])break}break}oe=1}if(!oe&&!hs(se+24592|0)){for(tt(ge=se+90192|0,32,Ae,2592),eA(te=se+12|0),Lt(te,ge,32),Lt(te,ye,ue),Lr(te),IA(ge,64,te),LA(te),pe(ue=se+89104|0,se+90160|0),Qe(oe=se+31760|0,se+90256|0),jn(Ae=se+24592|0),$e(ne=se+8208|0,oe,Ae),Ye(ue),Ae=se+16400|0,oe=0;(0|oe)!=8;){for(Ie=Ae+(oe<<10)|0,ye=0;(0|ye)!=256;)$[(de=Ie+(ye<<2)|0)>>2]=$[de>>2]<<13,ye=ye+1|0;oe=oe+1|0}for(Mi(Ae),Yi(Ae,ue,Ae),xt(ne,ne,Ae),nn(ne),on(ne),vr(ne),de=se+16|0,Ae=0;(0|Ae)!=8;){for(Ke=(oe=Ae<<10)+ne|0,De=oe+ne|0,ve=oe+de|0,oe=0;(0|oe)!=256;)ze=(ue=oe<<2)+Ke|0,Xe=$[ue+ve>>2],Ge=ye=Ge-16|0,ue=Ie=Is(ye+12|0,$[ue+De>>2]),Xe&&(ue=Ie+1&15,$[ye+12>>2]>0||(ue=Ie-1&15)),Ge=ye+16|0,$[ze>>2]=ue,oe=oe+1|0;Ae=Ae+1|0}for(dt(oe=se+90288|0,ne),eA(te),Lt(te,ge,64),Lt(te,oe,1024),Lr(te),IA(se+90128|0,32,te),LA(te),oe=0;;){if((0|oe)==32){Ze=0;break e}if(te=(se+90128|0)+oe|0,ne=(se+90160|0)+oe|0,oe=oe+1|0,Be[0|ne]!=Be[0|te])break}}}return Ge=se+91312|0,0|Ze}}})(Z)})(_)},instantiate:function(z,_){return{then:function(Z){var X=new c.Module(z);Z({instance:new c.Instance(X,_)})}}},RuntimeError:Error};a=[],A(c)!="object"&&d("no native wasm support detected");var G,h,y,u,s=!1,F,Y,N=C.INITIAL_MEMORY||16777216;F="INITIAL_MEMORY should be larger than STACK_SIZE, was "+N+"! (STACK_SIZE=8388608)",N>=8388608||d(F),f=C.wasmMemory?C.wasmMemory:new c.Memory({initial:N/65536,maximum:N/65536}),Y=f.buffer,C.HEAP8=G=new Int8Array(Y),C.HEAP16=new Int16Array(Y),C.HEAP32=y=new Int32Array(Y),C.HEAPU8=h=new Uint8Array(Y),C.HEAPU16=new Uint16Array(Y),C.HEAPU32=new Uint32Array(Y),C.HEAPF32=new Float32Array(Y),C.HEAPF64=u=new Float64Array(Y),N=f.buffer.byteLength;var w=[],S=[],k=[],H=0,U=null,R=null;function d(z){throw C.onAbort&&C.onAbort(z),e(z="Aborted("+z+")"),s=!0,z+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(z)}var M,J,q="data:application/octet-stream;base64,";function l(z){return z.startsWith(q)}function m(z){return z.startsWith("file://")}function L(z){return Promise.resolve().then((function(){return(function(_){if(_==M&&a)return new Uint8Array(a);var Z=P(_);if(Z)return Z;if(g)return g(_);throw"both async and sync fetching of the wasm failed"})(z)}))}function p(z,_,Z,X){return(function(ee,re,ie){return L(ee).then((function(ae){return c.instantiate(ae,re)})).then((function(ae){return ae})).then(ie,(function(ae){e("failed to asynchronously prepare wasm: "+ae),d(ae)}))})(_,Z,X)}l(M="<<< WASM_BINARY_FILE >>>")||(J=M,M=C.locateFile?C.locateFile(J,n):n+J);var K={2340:function(){return C.getRandomValue()},2376:function(){if(C.getRandomValue===void 0)try{var I=(typeof window>"u"?"undefined":A(window))==="object"?window:self,g=I.crypto!==void 0?I.crypto:I.msCrypto,B=function(){var z=new Uint32Array(1);return g.getRandomValues(z),z[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var z=Q.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),C.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function b(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var v=function(z){for(;z.length>0;)z.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(z,_,Z){var X=(function(ee,re){var ie;for(O.length=0,re>>=2;ie=h[ee++];)re+=ie!=105&re,O.push(ie==105?y[re]:u[re++>>1]),++re;return O})(_,Z);return K[z].apply(null,X)},x=function(z){D||(C.onExit&&C.onExit(z),s=!0),Q(z,new b(z))},W={c:function(z,_,Z){return T(z,_,Z)},d:function(z){h.length,d("OOM")},b:function(z,_){x(z)},a:f};(function(){var z={a:W};function _(Z,X){var ee,re=Z.exports;return C.asm=re,C.asm.f,ee=C.asm.e,S.unshift(ee),(function(ie){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var ae=R;R=null,ae()}})(),re}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(z,_)}catch(Z){return e("Module.instantiateWasm callback failed with error: "+Z),!1}p(0,M,z,(function(Z){_(Z.instance)}))})(),C._malloc=function(){return(C._malloc=C.asm.g).apply(null,arguments)},C._free=function(){return(C._free=C.asm.h).apply(null,arguments)},C._dilithiumjs_init=function(){return(C._dilithiumjs_init=C.asm.i).apply(null,arguments)},C._dilithiumjs_public_key_bytes=function(){return(C._dilithiumjs_public_key_bytes=C.asm.j).apply(null,arguments)},C._dilithiumjs_secret_key_bytes=function(){return(C._dilithiumjs_secret_key_bytes=C.asm.k).apply(null,arguments)},C._dilithiumjs_signature_bytes=function(){return(C._dilithiumjs_signature_bytes=C.asm.l).apply(null,arguments)},C._dilithiumjs_keypair=function(){return(C._dilithiumjs_keypair=C.asm.m).apply(null,arguments)},C._dilithiumjs_sign=function(){return(C._dilithiumjs_sign=C.asm.n).apply(null,arguments)},C._dilithiumjs_verify=function(){return(C._dilithiumjs_verify=C.asm.o).apply(null,arguments)};function P(z){if(l(z))return(function(_){if(o!==void 0&&o){var Z=Buffer.from(_,"base64");return new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength)}try{for(var X=atob(_),ee=new Uint8Array(X.length),re=0;re<X.length;++re)ee[re]=X.charCodeAt(re);return ee}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(q.length))}function V(){function z(){j||(j=!0,C.calledRun=!0,s||(v(S),C.onRuntimeInitialized&&C.onRuntimeInitialized(),(function(){if(C.postRun)for(typeof C.postRun=="function"&&(C.postRun=[C.postRun]);C.postRun.length;)_=C.postRun.shift(),k.unshift(_);var _;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)_=C.preRun.shift(),w.unshift(_);var _;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),z()}),1)):z()))}if(C.writeArrayToMemory=function(z,_){G.set(z,_)},R=function z(){j||V(),j||(R=z)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(z,_){C.onAbort=_,C.onRuntimeInitialized=function(){z(C)}}))})).then((function(z){Object.keys(z).forEach((function(_){C[_]=z[_]}))}));var E=C.ready.then((function(){C._dilithiumjs_init(),A=C._dilithiumjs_public_key_bytes(),I=C._dilithiumjs_secret_key_bytes(),g=C._dilithiumjs_signature_bytes()})),o={publicKeyBytes:E.then((function(){return A})),privateKeyBytes:E.then((function(){return I})),bytes:E.then((function(){return g})),keyPair:function(){return E.then((function(){var z=C._malloc(A),_=C._malloc(I);try{return B(C._dilithiumjs_keypair(z,_),{publicKey:Q(z,A),privateKey:Q(_,I)})}finally{i(z),i(_)}}))},sign:function(z,_){return o.signDetached(z,_).then((function(Z){var X=new Uint8Array(g+z.length);return X.set(Z),X.set(z,g),X}))},signDetached:function(z,_){return E.then((function(){var Z=C._malloc(g),X=C._malloc(z.length),ee=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),Z),C.writeArrayToMemory(z,X),C.writeArrayToMemory(_,ee);try{return B(C._dilithiumjs_sign(Z,X,z.length,ee),Q(Z,g))}finally{i(Z),i(X),i(ee)}}))},open:function(z,_){return E.then((function(){var Z=new Uint8Array(z.buffer,z.byteOffset,g),X=new Uint8Array(z.buffer,z.byteOffset+g,z.length-g);return o.verifyDetached(Z,X,_).then((function(ee){if(ee)return X;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(z,_,Z){return E.then((function(){var X=C._malloc(g),ee=C._malloc(_.length),re=C._malloc(A);C.writeArrayToMemory(z,X),C.writeArrayToMemory(_,ee),C.writeArrayToMemory(Z,re);try{return C._dilithiumjs_verify(ee,_.length,X,re)===0}finally{i(X),i(ee),i(re)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var Lf={};Vs(Lf,{InMemoryKeyStorage:()=>JA,createKeySDK:()=>gs,default:()=>Uf});be();be();be();be();be();var gr=class{constructor(){he(this,"suites",new Map)}register(_){if(this.suites.has(_.suiteId))throw new Error(`Signature suite already registered: ${_.suiteId}`);this.suites.set(_.suiteId,_)}getSuite(_){let Z=this.suites.get(_);if(!Z)throw new Error(`Unknown signature suite: ${_}. Available: ${this.listSuites().join(", ")}`);return Z}hasSuite(_){return this.suites.has(_)}listSuites(){return[...this.suites.keys()]}getAllSuites(){return[...this.suites.values()]}unregister(_){return this.suites.delete(_)}clear(){this.suites.clear()}},qc=new gr;be();function hn(z){return Array.from(z).map(_=>_.toString(16).padStart(2,"0")).join("")}function Mr(z){if(z.length%2!==0)throw new Error("Hex string must have even length");let _=new Uint8Array(z.length/2);for(let Z=0;Z<z.length;Z+=2)_[Z/2]=parseInt(z.slice(Z,Z+2),16);return _}async function ri(z,_){if(_==="sha256"){let Z=await Promise.resolve().then(()=>(Ai(),ti));return new Uint8Array(Z.createHash("sha256").update(z).digest())}else if(_==="sha512"){let Z=await Promise.resolve().then(()=>(Ai(),ti));return new Uint8Array(Z.createHash("sha512").update(z).digest())}else if(_==="sha3-256"){let Z=await Promise.resolve().then(()=>(Ai(),ti));return new Uint8Array(Z.createHash("sha3-256").update(z).digest())}throw new Error(`Unsupported hash algorithm: ${_}`)}be();be();var JA=class{constructor(){he(this,"keys",new Map)}async store(_,Z,X){this.keys.set(_,{keypair:Z,meta:X})}async load(_){return this.keys.get(_)||null}async list(_){let Z=Array.from(this.keys.values()).map(X=>X.meta);return _?Z.filter(X=>Object.entries(_).every(([ee,re])=>ee==="usage"&&Array.isArray(re)?re.some(ie=>X.usage.includes(ie)):X[ee]===re)):Z}async delete(_){this.keys.delete(_)}async updateMeta(_,Z){let X=this.keys.get(_);if(!X)throw new Error(`Key not found: ${_}`);this.keys.set(_,{keypair:X.keypair,meta:{...X.meta,...Z}})}clear(){this.keys.clear()}},dn=class{constructor(_=new JA){he(this,"storage");this.storage=_}async registerKey(_,Z,X,ee={}){let re={keyId:_,suiteId:X,createdAt:new Date().toISOString(),expiresAt:ee.expiresAt,usage:ee.usage||["signing"],cryptoProfileVersion:ee.cryptoProfileVersion||"1.0.0",status:ee.status||"active"};return await this.storage.store(_,Z,re),re}async getKey(_){return await this.storage.load(_)}async getPublicKey(_){let Z=await this.storage.load(_);return Z?{publicKey:Z.keypair.publicKey,meta:Z.meta}:null}async listKeys(_){return await this.storage.list(_)}async listActiveKeys(_){let Z=await this.storage.list(_),X=new Date;return Z.filter(ee=>!(ee.status&&ee.status!=="active"||ee.expiresAt&&new Date(ee.expiresAt)<X))}async rotateKey(_,Z,X){let ee=await this.storage.load(_);if(!ee)throw new Error(`Cannot rotate: key not found: ${_}`);return await this.storage.updateMeta(_,{status:"rotated"}),await this.registerKey(Z,X,ee.meta.suiteId,{usage:ee.meta.usage,cryptoProfileVersion:ee.meta.cryptoProfileVersion,expiresAt:ee.meta.expiresAt,status:"active"}),await this.storage.updateMeta(Z,{rotatedFrom:_}),(await this.storage.load(Z)).meta}async revokeKey(_,Z){await this.storage.updateMeta(_,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(_){await this.storage.delete(_)}async markExpiredKeys(){let _=await this.storage.list(),Z=new Date,X=0;for(let ee of _)ee.expiresAt&&new Date(ee.expiresAt)<Z&&ee.status==="active"&&(await this.storage.updateMeta(ee.keyId,{status:"expired"}),X++);return X}async pruneOldKeys(_=90){let Z=await this.storage.list(),X=new Date;X.setDate(X.getDate()-_);let ee=0;for(let re of Z)(re.status==="revoked"&&re.revokedAt&&new Date(re.revokedAt)<X||re.status==="expired"&&re.expiresAt&&new Date(re.expiresAt)<X)&&(await this.storage.delete(re.keyId),ee++);return ee}};be();be();be();be();var sg={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:hr,n:aA,Gx:ag,Gy:cg,b:H0}=sg,Dt=32,dr=64,st=(z="")=>{throw new Error(z)},k0=z=>typeof z=="bigint",G0=z=>typeof z=="string",gg=z=>z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array",Br=(z,_)=>!gg(z)||typeof _=="number"&&_>0&&z.length!==_?st("Uint8Array expected"):z,lr=z=>new Uint8Array(z),fg=z=>Uint8Array.from(z),v0=(z,_)=>z.toString(16).padStart(_,"0"),si=z=>Array.from(Br(z)).map(_=>v0(_,2)).join(""),wA={_0:48,_9:57,A:65,F:70,a:97,f:102},b0=z=>{if(z>=wA._0&&z<=wA._9)return z-wA._0;if(z>=wA.A&&z<=wA.F)return z-(wA.A-10);if(z>=wA.a&&z<=wA.f)return z-(wA.a-10)},Ao=z=>{let _="hex invalid";if(!G0(z))return st(_);let Z=z.length,X=Z/2;if(Z%2)return st(_);let ee=lr(X);for(let re=0,ie=0;re<X;re++,ie+=2){let ae=b0(z.charCodeAt(ie)),fe=b0(z.charCodeAt(ie+1));if(ae===void 0||fe===void 0)return st(_);ee[re]=ae*16+fe}return ee},oA=(z,_)=>Br(G0(z)?Ao(z):fg(Br(z)),_),U0=()=>globalThis?.crypto,ug=()=>U0()?.subtle??st("crypto.subtle must be defined"),Cr=(...z)=>{let _=lr(z.reduce((X,ee)=>X+Br(ee).length,0)),Z=0;return z.forEach(X=>{_.set(X,Z),Z+=X.length}),_},ro=(z=Dt)=>U0().getRandomValues(lr(z)),Or=BigInt,En=(z,_,Z,X="bad number: out of range")=>k0(z)&&_<=z&&z<Z?z:st(X),Ne=(z,_=hr)=>{let Z=z%_;return Z>=0n?Z:_+Z},vt=z=>Ne(z,aA),yn=(z,_)=>{(z===0n||_<=0n)&&st("no inverse n="+z+" mod="+_);let Z=Ne(z,_),X=_,ee=0n,re=1n,ie=1n,ae=0n;for(;Z!==0n;){let fe=X/Z,le=X%Z,Ce=ee-ie*fe,ce=re-ae*fe;X=Z,Z=le,ee=ie,re=ae,ie=Ce,ae=ce}return X===1n?Ne(ee,_):st("no inverse")},Ig=z=>{let _=pn[z];return typeof _!="function"&&st("hashes."+z+" not set"),_},w0=z=>z instanceof mA?z:st("Point expected"),L0=z=>Ne(Ne(z*z)*z+H0),m0=z=>En(z,0n,hr),ln=z=>En(z,1n,hr),$i=z=>En(z,1n,aA),eo=z=>(z&1n)===0n,qr=z=>Uint8Array.of(z),N0=z=>qr(eo(z)?2:3),hg=z=>{let _=L0(ln(z)),Z=1n;for(let X=_,ee=(hr+1n)/4n;ee>0n;ee>>=1n)ee&1n&&(Z=Z*X%hr),X=X*X%hr;return Ne(Z*Z)===_?Z:st("sqrt invalid")},iA=class iA{constructor(_,Z,X){he(this,"px");he(this,"py");he(this,"pz");this.px=m0(_),this.py=ln(Z),this.pz=m0(X),Object.freeze(this)}static fromBytes(_){Br(_);let Z,X=_[0],ee=_.subarray(1),re=ni(ee,0,Dt),ie=_.length;if(ie===Dt+1&&[2,3].includes(X)){let ae=hg(re),fe=eo(ae);eo(Or(X))!==fe&&(ae=Ne(-ae)),Z=new iA(re,ae,1n)}return ie===dr+1&&X===4&&(Z=new iA(re,ni(ee,Dt,dr),1n)),Z?Z.assertValidity():st("bad point: not on curve")}equals(_){let{px:Z,py:X,pz:ee}=this,{px:re,py:ie,pz:ae}=w0(_),fe=Ne(Z*ae),le=Ne(re*ee),Ce=Ne(X*ae),ce=Ne(ie*ee);return fe===le&&Ce===ce}is0(){return this.equals(Ir)}negate(){return new iA(this.px,Ne(-this.py),this.pz)}double(){return this.add(this)}add(_){let{px:Z,py:X,pz:ee}=this,{px:re,py:ie,pz:ae}=w0(_),fe=0n,le=H0,Ce=0n,ce=0n,Ee=0n,$=Ne(le*3n),Be=Ne(Z*re),xe=Ne(X*ie),He=Ne(ee*ae),Se=Ne(Z+X),Re=Ne(re+ie);Se=Ne(Se*Re),Re=Ne(Be+xe),Se=Ne(Se-Re),Re=Ne(Z+ee);let we=Ne(re+ae);return Re=Ne(Re*we),we=Ne(Be+He),Re=Ne(Re-we),we=Ne(X+ee),Ce=Ne(ie+ae),we=Ne(we*Ce),Ce=Ne(xe+He),we=Ne(we-Ce),Ee=Ne(fe*Re),Ce=Ne($*He),Ee=Ne(Ce+Ee),Ce=Ne(xe-Ee),Ee=Ne(xe+Ee),ce=Ne(Ce*Ee),xe=Ne(Be+Be),xe=Ne(xe+Be),He=Ne(fe*He),Re=Ne($*Re),xe=Ne(xe+He),He=Ne(Be-He),He=Ne(fe*He),Re=Ne(Re+He),Be=Ne(xe*Re),ce=Ne(ce+Be),Be=Ne(we*Re),Ce=Ne(Se*Ce),Ce=Ne(Ce-Be),Be=Ne(Se*xe),Ee=Ne(we*Ee),Ee=Ne(Ee+Be),new iA(Ce,ce,Ee)}multiply(_,Z=!0){if(!Z&&_===0n)return Ir;if($i(_),_===1n)return this;if(this.equals(sA))return bg(_).p;let X=Ir,ee=sA;for(let re=this;_>0n;re=re.double(),_>>=1n)_&1n?X=X.add(re):Z&&(ee=ee.add(re));return X}toAffine(){let{px:_,py:Z,pz:X}=this;if(this.equals(Ir))return{x:0n,y:0n};if(X===1n)return{x:_,y:Z};let ee=yn(X,hr);return Ne(X*ee)!==1n&&st("inverse invalid"),{x:Ne(_*ee),y:Ne(Z*ee)}}assertValidity(){let{x:_,y:Z}=this.toAffine();return ln(_),ln(Z),Ne(Z*Z)===L0(_)?this:st("bad point: not on curve")}toBytes(_=!0){let{x:Z,y:X}=this.assertValidity().toAffine(),ee=TA(Z);return _?Cr(N0(X),ee):Cr(qr(4),ee,TA(X))}static fromAffine(_){let{x:Z,y:X}=_;return Z===0n&&X===0n?Ir:new iA(Z,X,1n)}toHex(_){return si(this.toBytes(_))}static fromPrivateKey(_){return sA.multiply(Bn(_))}static fromHex(_){return iA.fromBytes(oA(_))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(_){return this.toBytes(_)}};he(iA,"BASE"),he(iA,"ZERO");var mA=iA,sA=new mA(ag,cg,1n),Ir=new mA(0n,1n,0n);mA.BASE=sA;mA.ZERO=Ir;var F0=(z,_,Z)=>sA.multiply(_,!1).add(z.multiply(Z,!1)).assertValidity(),Qn=z=>Or("0x"+(si(z)||"0")),ni=(z,_,Z)=>Qn(z.subarray(_,Z)),dg=2n**256n,TA=z=>Ao(v0(En(z,0n,dg),dr)),Bn=z=>{let _=k0(z)?z:Qn(oA(z,Dt));return En(_,1n,aA,"private key invalid 3")},ii=z=>z>aA>>1n,R0=(z,_=!0)=>sA.multiply(Bn(z)).toBytes(_),Cn=class z{constructor(_,Z,X){he(this,"r");he(this,"s");he(this,"recovery");this.r=$i(_),this.s=$i(Z),X!=null&&(this.recovery=X),Object.freeze(this)}static fromBytes(_){Br(_,dr);let Z=ni(_,0,Dt),X=ni(_,Dt,dr);return new z(Z,X)}toBytes(){let{r:_,s:Z}=this;return Cr(TA(_),TA(Z))}addRecoveryBit(_){return new z(this.r,this.s,_)}hasHighS(){return ii(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return si(this.toBytes())}recoverPublicKey(_){return Eg(this,_)}static fromCompact(_){return z.fromBytes(oA(_,dr))}assertValidity(){return this}normalizeS(){let{r:_,s:Z,recovery:X}=this;return ii(Z)?new z(_,vt(-Z),X):this}},Y0=z=>{let _=z.length*8-256;_>1024&&st("msg invalid");let Z=Qn(z);return _>0?Z>>Or(_):Z},no=z=>vt(Y0(Br(z))),K0={lowS:!0},lg={lowS:!0},Bg=(z,_,Z=K0)=>{["der","recovered","canonical"].some(Ee=>Ee in Z)&&st("option not supported");let{lowS:X,extraEntropy:ee}=Z;X==null&&(X=!0);let re=TA,ie=no(oA(z)),ae=re(ie),fe=Bn(_),le=[re(fe),ae];ee&&le.push(ee===!0?ro(Dt):oA(ee));let Ce=ie,ce=Ee=>{let $=Y0(Ee);if(!(1n<=$&&$<aA))return;let Be=sA.multiply($).toAffine(),xe=vt(Be.x);if(xe===0n)return;let He=yn($,aA),Se=vt(He*vt(Ce+vt(fe*xe)));if(Se===0n)return;let Re=Se,we=(Be.x===xe?0:2)|Number(Be.y&1n);return X&&ii(Se)&&(Re=vt(-Se),we^=1),new Cn(xe,Re,we)};return{seed:Cr(...le),k2sig:ce}},Cg=z=>{let _=lr(Dt),Z=lr(Dt),X=0,ee=lr(0),re=()=>{_.fill(1),Z.fill(0),X=0},ie=1e3,ae="drbg: tried 1000 values";if(z){let fe=(...ce)=>pn.hmacSha256Async(Z,_,...ce),le=async(ce=ee)=>{Z=await fe(qr(0),ce),_=await fe(),ce.length!==0&&(Z=await fe(qr(1),ce),_=await fe())},Ce=async()=>(X++>=ie&&st(ae),_=await fe(),_);return async(ce,Ee)=>{re(),await le(ce);let $;for(;!($=Ee(await Ce()));)await le();return re(),$}}else{let fe=(...ce)=>Ig("hmacSha256Sync")(Z,_,...ce),le=(ce=ee)=>{Z=fe(qr(0),ce),_=fe(),ce.length!==0&&(Z=fe(qr(1),ce),_=fe())},Ce=()=>(X++>=ie&&st(ae),_=fe(),_);return(ce,Ee)=>{re(),le(ce);let $;for(;!($=Ee(Ce()));)le();return re(),$}}};var M0=(z,_,Z=K0)=>{let{seed:X,k2sig:ee}=Bg(z,_,Z);return Cg(!1)(X,ee)},q0=(z,_,Z,X=lg)=>{let{lowS:ee}=X;ee==null&&(ee=!0),"strict"in X&&st("option not supported");let re,ie=z&&typeof z=="object"&&"r"in z;!ie&&oA(z).length!==dr&&st("signature must be 64 bytes");try{re=ie?new Cn(z.r,z.s):Cn.fromCompact(z);let ae=no(oA(_)),fe=mA.fromBytes(oA(Z)),{r:le,s:Ce}=re;if(ee&&ii(Ce))return!1;let ce=yn(Ce,aA),Ee=vt(ae*ce),$=vt(le*ce),Be=F0(fe,Ee,$).toAffine();return vt(Be.x)===le}catch{return!1}},Eg=(z,_)=>{let{r:Z,s:X,recovery:ee}=z;[0,1,2,3].includes(ee)||st("recovery id invalid");let re=no(oA(_,Dt)),ie=ee===2||ee===3?Z+aA:Z;ln(ie);let ae=N0(Or(ee)),fe=Cr(ae,TA(ie)),le=mA.fromBytes(fe),Ce=yn(ie,aA),ce=vt(-re*Ce),Ee=vt(X*Ce);return F0(le,ce,Ee)};var O0=z=>{z=oA(z),(z.length<Dt+8||z.length>1024)&&st("expected 40-1024b");let _=Ne(Qn(z),aA-1n);return TA(_+1n)},yg=()=>O0(ro(Dt+16)),Qg="SHA-256",pn={hexToBytes:Ao,bytesToHex:si,concatBytes:Cr,bytesToNumberBE:Qn,numberToBytesBE:TA,mod:Ne,invert:yn,hmacSha256Async:async(z,..._)=>{let Z=ug(),X="HMAC",ee=await Z.importKey("raw",z,{name:X,hash:{name:Qg}},!1,["sign"]);return lr(await Z.sign(X,ee,Cr(..._)))},hmacSha256Sync:void 0,hashToPrivateKey:O0,randomBytes:ro},J0={normPrivateKeyToScalar:Bn,isValidPrivateKey:z=>{try{return!!Bn(z)}catch{return!1}},randomPrivateKey:yg,precompute:(z=8,_=sA)=>(_.multiply(3n),_)},oi=8,pg=256,T0=Math.ceil(pg/oi)+1,to=2**(oi-1),xg=()=>{let z=[],_=sA,Z=_;for(let X=0;X<T0;X++){Z=_,z.push(Z);for(let ee=1;ee<to;ee++)Z=Z.add(_),z.push(Z);_=Z.double()}return z},D0,S0=(z,_)=>{let Z=_.negate();return z?Z:_},bg=z=>{let _=D0||(D0=xg()),Z=Ir,X=sA,ee=2**oi,re=ee,ie=Or(ee-1),ae=Or(oi);for(let fe=0;fe<T0;fe++){let le=Number(z&ie);z>>=ae,le>to&&(le-=re,z+=1n);let Ce=fe*to,ce=Ce,Ee=Ce+Math.abs(le)-1,$=fe%2!==0,Be=le<0;le===0?X=X.add(S0($,_[ce])):Z=Z.add(S0(Be,_[Ee]))}return{p:Z,f:X}};be();be();function mg(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function _0(z){if(!Number.isSafeInteger(z)||z<0)throw new Error("positive integer expected, got "+z)}function Tr(z,..._){if(!mg(z))throw new Error("Uint8Array expected");if(_.length>0&&!_.includes(z.length))throw new Error("Uint8Array expected of length "+_+", got length="+z.length)}function j0(z){if(typeof z!="function"||typeof z.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");_0(z.outputLen),_0(z.blockLen)}function _r(z,_=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&z.finished)throw new Error("Hash#digest() has already been called")}function P0(z,_){Tr(z);let Z=_.outputLen;if(z.length<Z)throw new Error("digestInto() expects output buffer of length at least "+Z)}function Er(...z){for(let _=0;_<z.length;_++)z[_].fill(0)}function ai(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function Pt(z,_){return z<<32-_|z>>>_}function Dg(z){if(typeof z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(z))}function xn(z){return typeof z=="string"&&(z=Dg(z)),Tr(z),z}var Jr=class{};function V0(z){let _=X=>z().update(xn(X)).digest(),Z=z();return _.outputLen=Z.outputLen,_.blockLen=Z.blockLen,_.create=()=>z(),_}var ci=class extends Jr{constructor(_,Z){super(),this.finished=!1,this.destroyed=!1,j0(_);let X=xn(Z);if(this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let ee=this.blockLen,re=new Uint8Array(ee);re.set(X.length>ee?_.create().update(X).digest():X);for(let ie=0;ie<re.length;ie++)re[ie]^=54;this.iHash.update(re),this.oHash=_.create();for(let ie=0;ie<re.length;ie++)re[ie]^=106;this.oHash.update(re),Er(re)}update(_){return _r(this),this.iHash.update(_),this}digestInto(_){_r(this),Tr(_,this.outputLen),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=Z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},io=(z,_,Z)=>new ci(z,_).update(Z).digest();io.create=(z,_)=>new ci(z,_);be();be();be();function Sg(z,_,Z,X){if(typeof z.setBigUint64=="function")return z.setBigUint64(_,Z,X);let ee=BigInt(32),re=BigInt(4294967295),ie=Number(Z>>ee&re),ae=Number(Z&re),fe=X?4:0,le=X?0:4;z.setUint32(_+fe,ie,X),z.setUint32(_+le,ae,X)}function W0(z,_,Z){return z&_^~z&Z}function z0(z,_,Z){return z&_^z&Z^_&Z}var gi=class extends Jr{constructor(_,Z,X,ee){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=_,this.outputLen=Z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=ai(this.buffer)}update(_){_r(this),_=xn(_),Tr(_);let{view:Z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=ai(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(Z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){_r(this),P0(_,this),this.finished=!0;let{buffer:Z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;Z[ie++]=128,Er(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)Z[ce]=0;Sg(X,ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=ai(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:Z}=this;this.digestInto(_);let X=_.slice(0,Z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:Z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%Z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},DA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Hg=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),_A=new Uint32Array(64),fi=class extends gi{constructor(_=32){super(64,_,8,!1),this.A=DA[0]|0,this.B=DA[1]|0,this.C=DA[2]|0,this.D=DA[3]|0,this.E=DA[4]|0,this.F=DA[5]|0,this.G=DA[6]|0,this.H=DA[7]|0}get(){let{A:_,B:Z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,Z,X,ee,re,ie,ae,fe]}set(_,Z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=Z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,Z){for(let ce=0;ce<16;ce++,Z+=4)_A[ce]=_.getUint32(Z,!1);for(let ce=16;ce<64;ce++){let Ee=_A[ce-15],$=_A[ce-2],Be=Pt(Ee,7)^Pt(Ee,18)^Ee>>>3,xe=Pt($,17)^Pt($,19)^$>>>10;_A[ce]=xe+_A[ce-7]+Be+_A[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=Pt(ae,6)^Pt(ae,11)^Pt(ae,25),$=Ce+Ee+W0(ae,fe,le)+Hg[ce]+_A[ce]|0,xe=(Pt(X,2)^Pt(X,13)^Pt(X,22))+z0(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Er(_A)}destroy(){this.set(0,0,0,0,0,0,0,0),Er(this.buffer)}};var Z0=V0(()=>new fi);var yr=Z0;be();be();be();be();be();be();function bn(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function cA(z,_=""){if(!Number.isSafeInteger(z)||z<0){let Z=_&&`"${_}" `;throw new Error(`${Z}expected integer >= 0, got ${z}`)}}function et(z,_,Z=""){let X=bn(z),ee=z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=Z&&`"${Z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return z}function ui(z){if(typeof z!="function"||typeof z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");cA(z.outputLen),cA(z.blockLen)}function jr(z,_=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&z.finished)throw new Error("Hash#digest() has already been called")}function $0(z,_){et(z,void 0,"digestInto() output");let Z=_.outputLen;if(z.length<Z)throw new Error('"digestInto() output" expected to be of length >='+Z)}function Qr(...z){for(let _=0;_<z.length;_++)z[_].fill(0)}function Ii(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function Vt(z,_){return z<<32-_|z>>>_}var ea=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",kg=Array.from({length:256},(z,_)=>_.toString(16).padStart(2,"0"));function pr(z){if(et(z),ea)return z.toHex();let _="";for(let Z=0;Z<z.length;Z++)_+=kg[z[Z]];return _}var SA={_0:48,_9:57,A:65,F:70,a:97,f:102};function X0(z){if(z>=SA._0&&z<=SA._9)return z-SA._0;if(z>=SA.A&&z<=SA.F)return z-(SA.A-10);if(z>=SA.a&&z<=SA.f)return z-(SA.a-10)}function xr(z){if(typeof z!="string")throw new Error("hex string expected, got "+typeof z);if(ea)return Uint8Array.fromHex(z);let _=z.length,Z=_/2;if(_%2)throw new Error("hex string expected, got unpadded hex of length "+_);let X=new Uint8Array(Z);for(let ee=0,re=0;ee<Z;ee++,re+=2){let ie=X0(z.charCodeAt(re)),ae=X0(z.charCodeAt(re+1));if(ie===void 0||ae===void 0){let fe=z[re]+z[re+1];throw new Error('hex string expected, got non-hex character "'+fe+'" at index '+re)}X[ee]=ie*16+ae}return X}function Wt(...z){let _=0;for(let X=0;X<z.length;X++){let ee=z[X];et(ee),_+=ee.length}let Z=new Uint8Array(_);for(let X=0,ee=0;X<z.length;X++){let re=z[X];Z.set(re,ee),ee+=re.length}return Z}function ta(z,_={}){let Z=(ee,re)=>z(re).update(ee).digest(),X=z(void 0);return Z.outputLen=X.outputLen,Z.blockLen=X.blockLen,Z.create=ee=>z(ee),Object.assign(Z,_),Object.freeze(Z)}function hi(z=32){let _=typeof globalThis=="object"?globalThis.crypto:null;if(typeof _?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return _.getRandomValues(new Uint8Array(z))}var Aa=z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,z])});function ra(z,_,Z){return z&_^~z&Z}function na(z,_,Z){return z&_^z&Z^_&Z}var di=class{constructor(_,Z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=Z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=Ii(this.buffer)}update(_){jr(this),et(_);let{view:Z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=Ii(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(Z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){jr(this),$0(_,this),this.finished=!0;let{buffer:Z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;Z[ie++]=128,Qr(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)Z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=Ii(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:Z}=this;this.digestInto(_);let X=_.slice(0,Z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:Z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%Z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},HA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Gg=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),jA=new Uint32Array(64),oo=class extends di{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:Z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,Z,X,ee,re,ie,ae,fe]}set(_,Z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=Z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,Z){for(let ce=0;ce<16;ce++,Z+=4)jA[ce]=_.getUint32(Z,!1);for(let ce=16;ce<64;ce++){let Ee=jA[ce-15],$=jA[ce-2],Be=Vt(Ee,7)^Vt(Ee,18)^Ee>>>3,xe=Vt($,17)^Vt($,19)^$>>>10;jA[ce]=xe+jA[ce-7]+Be+jA[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=Vt(ae,6)^Vt(ae,11)^Vt(ae,25),$=Ce+Ee+ra(ae,fe,le)+Gg[ce]+jA[ce]|0,xe=(Vt(X,2)^Vt(X,13)^Vt(X,22))+na(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Qr(jA)}destroy(){this.set(0,0,0,0,0,0,0,0),Qr(this.buffer)}},so=class extends oo{constructor(){super(32);he(this,"A",HA[0]|0);he(this,"B",HA[1]|0);he(this,"C",HA[2]|0);he(this,"D",HA[3]|0);he(this,"E",HA[4]|0);he(this,"F",HA[5]|0);he(this,"G",HA[6]|0);he(this,"H",HA[7]|0)}};var ia=ta(()=>new so,Aa(1));be();be();var co=BigInt(0),ao=BigInt(1);function wn(z,_=""){if(typeof z!="boolean"){let Z=_&&`"${_}" `;throw new Error(Z+"expected boolean, got type="+typeof z)}return z}function oa(z){if(typeof z=="bigint"){if(!li(z))throw new Error("positive bigint expected, got "+z)}else cA(z);return z}function mn(z){let _=oa(z).toString(16);return _.length&1?"0"+_:_}function sa(z){if(typeof z!="string")throw new Error("hex string expected, got "+typeof z);return z===""?co:BigInt("0x"+z)}function Pr(z){return sa(pr(z))}function go(z){return sa(pr(vg(et(z)).reverse()))}function Bi(z,_){cA(_),z=oa(z);let Z=xr(z.toString(16).padStart(_*2,"0"));if(Z.length!==_)throw new Error("number too large");return Z}function fo(z,_){return Bi(z,_).reverse()}function vg(z){return Uint8Array.from(z)}var li=z=>typeof z=="bigint"&&co<=z;function Ug(z,_,Z){return li(z)&&li(_)&&li(Z)&&_<=z&&z<Z}function aa(z,_,Z,X){if(!Ug(_,Z,X))throw new Error("expected valid "+z+": "+Z+" <= n < "+X+", got "+_)}function uo(z){let _;for(_=0;z>co;z>>=ao,_+=1);return _}var Dn=z=>(ao<<BigInt(z))-ao;function ca(z,_,Z){if(cA(z,"hashLen"),cA(_,"qByteLen"),typeof Z!="function")throw new Error("hmacFn must be a function");let X=He=>new Uint8Array(He),ee=Uint8Array.of(),re=Uint8Array.of(0),ie=Uint8Array.of(1),ae=1e3,fe=X(z),le=X(z),Ce=0,ce=()=>{fe.fill(1),le.fill(0),Ce=0},Ee=(...He)=>Z(le,Wt(fe,...He)),$=(He=ee)=>{le=Ee(re,He),fe=Ee(),He.length!==0&&(le=Ee(ie,He),fe=Ee())},Be=()=>{if(Ce++>=ae)throw new Error("drbg: tried max amount of iterations");let He=0,Se=[];for(;He<_;){fe=Ee();let Re=fe.slice();Se.push(Re),He+=fe.length}return Wt(...Se)};return(He,Se)=>{ce(),$(He);let Re;for(;!(Re=Se(Be()));)$();return ce(),Re}}function Sn(z,_={},Z={}){if(!z||typeof z!="object")throw new Error("expected valid options object");function X(re,ie,ae){let fe=z[re];if(ae&&fe===void 0)return;let le=typeof fe;if(le!==ie||fe===null)throw new Error(`param "${re}" is invalid: expected ${ie}, got ${le}`)}let ee=(re,ie)=>Object.entries(re).forEach(([ae,fe])=>X(ae,fe,ie));ee(_,!1),ee(Z,!0)}function Io(z){let _=new WeakMap;return(Z,...X)=>{let ee=_.get(Z);if(ee!==void 0)return ee;let re=z(Z,...X);return _.set(Z,re),re}}be();var wt=BigInt(0),bt=BigInt(1),br=BigInt(2),ua=BigInt(3),Ia=BigInt(4),ha=BigInt(5),Lg=BigInt(7),da=BigInt(8),Ng=BigInt(9),la=BigInt(16);function zt(z,_){let Z=z%_;return Z>=wt?Z:_+Z}function St(z,_,Z){let X=z;for(;_-- >wt;)X*=X,X%=Z;return X}function ga(z,_){if(z===wt)throw new Error("invert: expected non-zero number");if(_<=wt)throw new Error("invert: expected positive modulus, got "+_);let Z=zt(z,_),X=_,ee=wt,re=bt,ie=bt,ae=wt;for(;Z!==wt;){let le=X/Z,Ce=X%Z,ce=ee-ie*le,Ee=re-ae*le;X=Z,Z=Ce,ee=ie,re=ae,ie=ce,ae=Ee}if(X!==bt)throw new Error("invert: does not exist");return zt(ee,_)}function lo(z,_,Z){if(!z.eql(z.sqr(_),Z))throw new Error("Cannot find square root")}function Ba(z,_){let Z=(z.ORDER+bt)/Ia,X=z.pow(_,Z);return lo(z,X,_),X}function Fg(z,_){let Z=(z.ORDER-ha)/da,X=z.mul(_,br),ee=z.pow(X,Z),re=z.mul(_,ee),ie=z.mul(z.mul(re,br),ee),ae=z.mul(re,z.sub(ie,z.ONE));return lo(z,ae,_),ae}function Rg(z){let _=Vr(z),Z=Ca(z),X=Z(_,_.neg(_.ONE)),ee=Z(_,X),re=Z(_,_.neg(X)),ie=(z+Lg)/la;return(ae,fe)=>{let le=ae.pow(fe,ie),Ce=ae.mul(le,X),ce=ae.mul(le,ee),Ee=ae.mul(le,re),$=ae.eql(ae.sqr(Ce),fe),Be=ae.eql(ae.sqr(ce),fe);le=ae.cmov(le,Ce,$),Ce=ae.cmov(Ee,ce,Be);let xe=ae.eql(ae.sqr(Ce),fe),He=ae.cmov(le,Ce,xe);return lo(ae,He,fe),He}}function Ca(z){if(z<ua)throw new Error("sqrt is not defined for small field");let _=z-bt,Z=0;for(;_%br===wt;)_/=br,Z++;let X=br,ee=Vr(z);for(;fa(ee,X)===1;)if(X++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(Z===1)return Ba;let re=ee.pow(X,_),ie=(_+bt)/br;return function(fe,le){if(fe.is0(le))return le;if(fa(fe,le)!==1)throw new Error("Cannot find square root");let Ce=Z,ce=fe.mul(fe.ONE,re),Ee=fe.pow(le,_),$=fe.pow(le,ie);for(;!fe.eql(Ee,fe.ONE);){if(fe.is0(Ee))return fe.ZERO;let Be=1,xe=fe.sqr(Ee);for(;!fe.eql(xe,fe.ONE);)if(Be++,xe=fe.sqr(xe),Be===Ce)throw new Error("Cannot find square root");let He=bt<<BigInt(Ce-Be-1),Se=fe.pow(ce,He);Ce=Be,ce=fe.sqr(Se),Ee=fe.mul(Ee,ce),$=fe.mul($,Se)}return $}}function Yg(z){return z%Ia===ua?Ba:z%da===ha?Fg:z%la===Ng?Rg(z):Ca(z)}var Kg=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Bo(z){let _={ORDER:"bigint",BYTES:"number",BITS:"number"},Z=Kg.reduce((X,ee)=>(X[ee]="function",X),_);return Sn(z,Z),z}function Mg(z,_,Z){if(Z<wt)throw new Error("invalid exponent, negatives unsupported");if(Z===wt)return z.ONE;if(Z===bt)return _;let X=z.ONE,ee=_;for(;Z>wt;)Z&bt&&(X=z.mul(X,ee)),ee=z.sqr(ee),Z>>=bt;return X}function Ci(z,_,Z=!1){let X=new Array(_.length).fill(Z?z.ZERO:void 0),ee=_.reduce((ie,ae,fe)=>z.is0(ae)?ie:(X[fe]=ie,z.mul(ie,ae)),z.ONE),re=z.inv(ee);return _.reduceRight((ie,ae,fe)=>z.is0(ae)?ie:(X[fe]=z.mul(ie,X[fe]),z.mul(ie,ae)),re),X}function fa(z,_){let Z=(z.ORDER-bt)/br,X=z.pow(_,Z),ee=z.eql(X,z.ONE),re=z.eql(X,z.ZERO),ie=z.eql(X,z.neg(z.ONE));if(!ee&&!re&&!ie)throw new Error("invalid Legendre symbol result");return ee?1:re?0:-1}function qg(z,_){_!==void 0&&cA(_);let Z=_!==void 0?_:z.toString(2).length,X=Math.ceil(Z/8);return{nBitLength:Z,nByteLength:X}}var ho=class{constructor(_,Z={}){he(this,"ORDER");he(this,"BITS");he(this,"BYTES");he(this,"isLE");he(this,"ZERO",wt);he(this,"ONE",bt);he(this,"_lengths");he(this,"_sqrt");he(this,"_mod");if(_<=wt)throw new Error("invalid field: expected ORDER > 0, got "+_);let X;this.isLE=!1,Z!=null&&typeof Z=="object"&&(typeof Z.BITS=="number"&&(X=Z.BITS),typeof Z.sqrt=="function"&&(this.sqrt=Z.sqrt),typeof Z.isLE=="boolean"&&(this.isLE=Z.isLE),Z.allowedLengths&&(this._lengths=Z.allowedLengths?.slice()),typeof Z.modFromBytes=="boolean"&&(this._mod=Z.modFromBytes));let{nBitLength:ee,nByteLength:re}=qg(_,X);if(re>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=_,this.BITS=ee,this.BYTES=re,this._sqrt=void 0,Object.preventExtensions(this)}create(_){return zt(_,this.ORDER)}isValid(_){if(typeof _!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof _);return wt<=_&&_<this.ORDER}is0(_){return _===wt}isValidNot0(_){return!this.is0(_)&&this.isValid(_)}isOdd(_){return(_&bt)===bt}neg(_){return zt(-_,this.ORDER)}eql(_,Z){return _===Z}sqr(_){return zt(_*_,this.ORDER)}add(_,Z){return zt(_+Z,this.ORDER)}sub(_,Z){return zt(_-Z,this.ORDER)}mul(_,Z){return zt(_*Z,this.ORDER)}pow(_,Z){return Mg(this,_,Z)}div(_,Z){return zt(_*ga(Z,this.ORDER),this.ORDER)}sqrN(_){return _*_}addN(_,Z){return _+Z}subN(_,Z){return _-Z}mulN(_,Z){return _*Z}inv(_){return ga(_,this.ORDER)}sqrt(_){return this._sqrt||(this._sqrt=Yg(this.ORDER)),this._sqrt(this,_)}toBytes(_){return this.isLE?fo(_,this.BYTES):Bi(_,this.BYTES)}fromBytes(_,Z=!1){et(_);let{_lengths:X,BYTES:ee,isLE:re,ORDER:ie,_mod:ae}=this;if(X){if(!X.includes(_.length)||_.length>ee)throw new Error("Field.fromBytes: expected "+X+" bytes, got "+_.length);let le=new Uint8Array(ee);le.set(_,re?0:le.length-_.length),_=le}if(_.length!==ee)throw new Error("Field.fromBytes: expected "+ee+" bytes, got "+_.length);let fe=re?go(_):Pr(_);if(ae&&(fe=zt(fe,ie)),!Z&&!this.isValid(fe))throw new Error("invalid field element: outside of range 0..ORDER");return fe}invertBatch(_){return Ci(this,_)}cmov(_,Z,X){return X?Z:_}};function Vr(z,_={}){return new ho(z,_)}function Ea(z){if(typeof z!="bigint")throw new Error("field order must be bigint");let _=z.toString(2).length;return Math.ceil(_/8)}function Co(z){let _=Ea(z);return _+Math.ceil(_/2)}function Eo(z,_,Z=!1){et(z);let X=z.length,ee=Ea(_),re=Co(_);if(X<16||X<re||X>1024)throw new Error("expected "+re+"-1024 bytes of input, got "+X);let ie=Z?go(z):Pr(z),ae=zt(ie,_-bt)+bt;return Z?fo(ae,ee):Bi(ae,ee)}var Wr=BigInt(0),wr=BigInt(1);function Hn(z,_){let Z=_.negate();return z?Z:_}function xo(z,_){let Z=Ci(z.Fp,_.map(X=>X.Z));return _.map((X,ee)=>z.fromAffine(X.toAffine(Z[ee])))}function xa(z,_){if(!Number.isSafeInteger(z)||z<=0||z>_)throw new Error("invalid window size, expected [1.."+_+"], got W="+z)}function yo(z,_){xa(z,_);let Z=Math.ceil(_/z)+1,X=2**(z-1),ee=2**z,re=Dn(z),ie=BigInt(z);return{windows:Z,windowSize:X,mask:re,maxNumber:ee,shiftBy:ie}}function ya(z,_,Z){let{windowSize:X,mask:ee,maxNumber:re,shiftBy:ie}=Z,ae=Number(z&ee),fe=z>>ie;ae>X&&(ae-=re,fe+=wr);let le=_*X,Ce=le+Math.abs(ae)-1,ce=ae===0,Ee=ae<0,$=_%2!==0;return{nextN:fe,offset:Ce,isZero:ce,isNeg:Ee,isNegF:$,offsetF:le}}var Qo=new WeakMap,ba=new WeakMap;function po(z){return ba.get(z)||1}function Qa(z){if(z!==Wr)throw new Error("invalid wNAF")}var Ei=class{constructor(_,Z){he(this,"BASE");he(this,"ZERO");he(this,"Fn");he(this,"bits");this.BASE=_.BASE,this.ZERO=_.ZERO,this.Fn=_.Fn,this.bits=Z}_unsafeLadder(_,Z,X=this.ZERO){let ee=_;for(;Z>Wr;)Z&wr&&(X=X.add(ee)),ee=ee.double(),Z>>=wr;return X}precomputeWindow(_,Z){let{windows:X,windowSize:ee}=yo(Z,this.bits),re=[],ie=_,ae=ie;for(let fe=0;fe<X;fe++){ae=ie,re.push(ae);for(let le=1;le<ee;le++)ae=ae.add(ie),re.push(ae);ie=ae.double()}return re}wNAF(_,Z,X){if(!this.Fn.isValid(X))throw new Error("invalid scalar");let ee=this.ZERO,re=this.BASE,ie=yo(_,this.bits);for(let ae=0;ae<ie.windows;ae++){let{nextN:fe,offset:le,isZero:Ce,isNeg:ce,isNegF:Ee,offsetF:$}=ya(X,ae,ie);X=fe,Ce?re=re.add(Hn(Ee,Z[$])):ee=ee.add(Hn(ce,Z[le]))}return Qa(X),{p:ee,f:re}}wNAFUnsafe(_,Z,X,ee=this.ZERO){let re=yo(_,this.bits);for(let ie=0;ie<re.windows&&X!==Wr;ie++){let{nextN:ae,offset:fe,isZero:le,isNeg:Ce}=ya(X,ie,re);if(X=ae,!le){let ce=Z[fe];ee=ee.add(Ce?ce.negate():ce)}}return Qa(X),ee}getPrecomputes(_,Z,X){let ee=Qo.get(Z);return ee||(ee=this.precomputeWindow(Z,_),_!==1&&(typeof X=="function"&&(ee=X(ee)),Qo.set(Z,ee))),ee}cached(_,Z,X){let ee=po(_);return this.wNAF(ee,this.getPrecomputes(ee,_,X),Z)}unsafe(_,Z,X,ee){let re=po(_);return re===1?this._unsafeLadder(_,Z,ee):this.wNAFUnsafe(re,this.getPrecomputes(re,_,X),Z,ee)}createCache(_,Z){xa(Z,this.bits),ba.set(_,Z),Qo.delete(_)}hasCache(_){return po(_)!==1}};function wa(z,_,Z,X){let ee=_,re=z.ZERO,ie=z.ZERO;for(;Z>Wr||X>Wr;)Z&wr&&(re=re.add(ee)),X&wr&&(ie=ie.add(ee)),ee=ee.double(),Z>>=wr,X>>=wr;return{p1:re,p2:ie}}function pa(z,_,Z){if(_){if(_.ORDER!==z)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Bo(_),_}else return Vr(z,{isLE:Z})}function ma(z,_,Z={},X){if(X===void 0&&(X=z==="edwards"),!_||typeof _!="object")throw new Error(`expected valid ${z} CURVE object`);for(let fe of["p","n","h"]){let le=_[fe];if(!(typeof le=="bigint"&&le>Wr))throw new Error(`CURVE.${fe} must be positive bigint`)}let ee=pa(_.p,Z.Fp,X),re=pa(_.n,Z.Fn,X),ae=["Gx","Gy","a",z==="weierstrass"?"b":"d"];for(let fe of ae)if(!ee.isValid(_[fe]))throw new Error(`CURVE.${fe} must be valid field element of CURVE.Fp`);return _=Object.freeze(Object.assign({},_)),{CURVE:_,Fp:ee,Fn:re}}function Da(z,_){return function(X){let ee=z(X);return{secretKey:ee,publicKey:_(ee)}}}be();be();var yi=class{constructor(_,Z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(ui(_),et(Z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(Z.length>X?_.create().update(Z).digest():Z);for(let re=0;re<ee.length;re++)ee[re]^=54;this.iHash.update(ee),this.oHash=_.create();for(let re=0;re<ee.length;re++)ee[re]^=106;this.oHash.update(ee),Qr(ee)}update(_){return jr(this),this.iHash.update(_),this}digestInto(_){jr(this),et(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=Z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},bo=(z,_,Z)=>new yi(z,_).update(Z).digest();bo.create=(z,_)=>new yi(z,_);var Sa=(z,_)=>(z+(z>=0?_:-_)/Ha)/_;function Og(z,_,Z){let[[X,ee],[re,ie]]=_,ae=Sa(ie*z,Z),fe=Sa(-ee*z,Z),le=z-ae*X-fe*re,Ce=-ae*ee-fe*ie,ce=le<kA,Ee=Ce<kA;ce&&(le=-le),Ee&&(Ce=-Ce);let $=Dn(Math.ceil(uo(Z)/2))+zr;if(le<kA||le>=$||Ce<kA||Ce>=$)throw new Error("splitScalar (endomorphism): failed, k="+z);return{k1neg:ce,k1:le,k2neg:Ee,k2:Ce}}function mo(z){if(!["compact","recovered","der"].includes(z))throw new Error('Signature format must be "compact", "recovered", or "der"');return z}function wo(z,_){let Z={};for(let X of Object.keys(_))Z[X]=z[X]===void 0?_[X]:z[X];return wn(Z.lowS,"lowS"),wn(Z.prehash,"prehash"),Z.format!==void 0&&mo(Z.format),Z}var Do=class extends Error{constructor(_=""){super(_)}},PA={Err:Do,_tlv:{encode:(z,_)=>{let{Err:Z}=PA;if(z<0||z>256)throw new Z("tlv.encode: wrong tag");if(_.length&1)throw new Z("tlv.encode: unpadded data");let X=_.length/2,ee=mn(X);if(ee.length/2&128)throw new Z("tlv.encode: long form length too big");let re=X>127?mn(ee.length/2|128):"";return mn(z)+re+ee+_},decode(z,_){let{Err:Z}=PA,X=0;if(z<0||z>256)throw new Z("tlv.encode: wrong tag");if(_.length<2||_[X++]!==z)throw new Z("tlv.decode: wrong tlv");let ee=_[X++],re=!!(ee&128),ie=0;if(!re)ie=ee;else{let fe=ee&127;if(!fe)throw new Z("tlv.decode(long): indefinite length not supported");if(fe>4)throw new Z("tlv.decode(long): byte length is too big");let le=_.subarray(X,X+fe);if(le.length!==fe)throw new Z("tlv.decode: length bytes not complete");if(le[0]===0)throw new Z("tlv.decode(long): zero leftmost byte");for(let Ce of le)ie=ie<<8|Ce;if(X+=fe,ie<128)throw new Z("tlv.decode(long): not minimal encoding")}let ae=_.subarray(X,X+ie);if(ae.length!==ie)throw new Z("tlv.decode: wrong value length");return{v:ae,l:_.subarray(X+ie)}}},_int:{encode(z){let{Err:_}=PA;if(z<kA)throw new _("integer: negative integers are not allowed");let Z=mn(z);if(Number.parseInt(Z[0],16)&8&&(Z="00"+Z),Z.length&1)throw new _("unexpected DER parsing assertion: unpadded hex");return Z},decode(z){let{Err:_}=PA;if(z[0]&128)throw new _("invalid signature integer: negative");if(z[0]===0&&!(z[1]&128))throw new _("invalid signature integer: unnecessary leading zero");return Pr(z)}},toSig(z){let{Err:_,_int:Z,_tlv:X}=PA,ee=et(z,void 0,"signature"),{v:re,l:ie}=X.decode(48,ee);if(ie.length)throw new _("invalid signature: left bytes after parsing");let{v:ae,l:fe}=X.decode(2,re),{v:le,l:Ce}=X.decode(2,fe);if(Ce.length)throw new _("invalid signature: left bytes after parsing");return{r:Z.decode(ae),s:Z.decode(le)}},hexFromSig(z){let{_tlv:_,_int:Z}=PA,X=_.encode(2,Z.encode(z.r)),ee=_.encode(2,Z.encode(z.s)),re=X+ee;return _.encode(48,re)}},kA=BigInt(0),zr=BigInt(1),Ha=BigInt(2),Qi=BigInt(3),Jg=BigInt(4);function ka(z,_={}){let Z=ma("weierstrass",z,_),{Fp:X,Fn:ee}=Z,re=Z.CURVE,{h:ie,n:ae}=re;Sn(_,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:fe}=_;if(fe&&(!X.is0(re.a)||typeof fe.beta!="bigint"||!Array.isArray(fe.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let le=va(X,ee);function Ce(){if(!X.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function ce(Te,pe,Qe){let{x:Ue,y:Fe}=pe.toAffine(),me=X.toBytes(Ue);if(wn(Qe,"isCompressed"),Qe){Ce();let Ye=!X.isOdd(Fe);return Wt(Ga(Ye),me)}else return Wt(Uint8Array.of(4),me,X.toBytes(Fe))}function Ee(Te){et(Te,void 0,"Point");let{publicKey:pe,publicKeyUncompressed:Qe}=le,Ue=Te.length,Fe=Te[0],me=Te.subarray(1);if(Ue===pe&&(Fe===2||Fe===3)){let Ye=X.fromBytes(me);if(!X.isValid(Ye))throw new Error("bad point: is not on curve, wrong x");let Oe=xe(Ye),Le;try{Le=X.sqrt(Oe)}catch(at){let $e=at instanceof Error?": "+at.message:"";throw new Error("bad point: is not on curve, sqrt error"+$e)}Ce();let _e=X.isOdd(Le);return(Fe&1)===1!==_e&&(Le=X.neg(Le)),{x:Ye,y:Le}}else if(Ue===Qe&&Fe===4){let Ye=X.BYTES,Oe=X.fromBytes(me.subarray(0,Ye)),Le=X.fromBytes(me.subarray(Ye,Ye*2));if(!He(Oe,Le))throw new Error("bad point: is not on curve");return{x:Oe,y:Le}}else throw new Error(`bad point: got length ${Ue}, expected compressed=${pe} or uncompressed=${Qe}`)}let $=_.toBytes||ce,Be=_.fromBytes||Ee;function xe(Te){let pe=X.sqr(Te),Qe=X.mul(pe,Te);return X.add(X.add(Qe,X.mul(Te,re.a)),re.b)}function He(Te,pe){let Qe=X.sqr(pe),Ue=xe(Te);return X.eql(Qe,Ue)}if(!He(re.Gx,re.Gy))throw new Error("bad curve params: generator point");let Se=X.mul(X.pow(re.a,Qi),Jg),Re=X.mul(X.sqr(re.b),BigInt(27));if(X.is0(X.add(Se,Re)))throw new Error("bad curve params: a or b");function we(Te,pe,Qe=!1){if(!X.isValid(pe)||Qe&&X.is0(pe))throw new Error(`bad point coordinate ${Te}`);return pe}function Me(Te){if(!(Te instanceof qe))throw new Error("Weierstrass Point expected")}function Ve(Te){if(!fe||!fe.basises)throw new Error("no endo");return Og(Te,fe.basises,ee.ORDER)}let Ge=Io((Te,pe)=>{let{X:Qe,Y:Ue,Z:Fe}=Te;if(X.eql(Fe,X.ONE))return{x:Qe,y:Ue};let me=Te.is0();pe==null&&(pe=me?X.ONE:X.inv(Fe));let Ye=X.mul(Qe,pe),Oe=X.mul(Ue,pe),Le=X.mul(Fe,pe);if(me)return{x:X.ZERO,y:X.ZERO};if(!X.eql(Le,X.ONE))throw new Error("invZ was invalid");return{x:Ye,y:Oe}}),ke=Io(Te=>{if(Te.is0()){if(_.allowInfinityPoint&&!X.is0(Te.Y))return;throw new Error("bad point: ZERO")}let{x:pe,y:Qe}=Te.toAffine();if(!X.isValid(pe)||!X.isValid(Qe))throw new Error("bad point: x or y not field elements");if(!He(pe,Qe))throw new Error("bad point: equation left != right");if(!Te.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function Pe(Te,pe,Qe,Ue,Fe){return Qe=new qe(X.mul(Qe.X,Te),Qe.Y,Qe.Z),pe=Hn(Ue,pe),Qe=Hn(Fe,Qe),pe.add(Qe)}let Je=class Je{constructor(pe,Qe,Ue){he(this,"X");he(this,"Y");he(this,"Z");this.X=we("x",pe),this.Y=we("y",Qe,!0),this.Z=we("z",Ue),Object.freeze(this)}static CURVE(){return re}static fromAffine(pe){let{x:Qe,y:Ue}=pe||{};if(!pe||!X.isValid(Qe)||!X.isValid(Ue))throw new Error("invalid affine point");if(pe instanceof Je)throw new Error("projective point not allowed");return X.is0(Qe)&&X.is0(Ue)?Je.ZERO:new Je(Qe,Ue,X.ONE)}static fromBytes(pe){let Qe=Je.fromAffine(Be(et(pe,void 0,"point")));return Qe.assertValidity(),Qe}static fromHex(pe){return Je.fromBytes(xr(pe))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(pe=8,Qe=!0){return tt.createCache(this,pe),Qe||this.multiply(Qi),this}assertValidity(){ke(this)}hasEvenY(){let{y:pe}=this.toAffine();if(!X.isOdd)throw new Error("Field doesn't support isOdd");return!X.isOdd(pe)}equals(pe){Me(pe);let{X:Qe,Y:Ue,Z:Fe}=this,{X:me,Y:Ye,Z:Oe}=pe,Le=X.eql(X.mul(Qe,Oe),X.mul(me,Fe)),_e=X.eql(X.mul(Ue,Oe),X.mul(Ye,Fe));return Le&&_e}negate(){return new Je(this.X,X.neg(this.Y),this.Z)}double(){let{a:pe,b:Qe}=re,Ue=X.mul(Qe,Qi),{X:Fe,Y:me,Z:Ye}=this,Oe=X.ZERO,Le=X.ZERO,_e=X.ZERO,We=X.mul(Fe,Fe),at=X.mul(me,me),$e=X.mul(Ye,Ye),je=X.mul(Fe,me);return je=X.add(je,je),_e=X.mul(Fe,Ye),_e=X.add(_e,_e),Oe=X.mul(pe,_e),Le=X.mul(Ue,$e),Le=X.add(Oe,Le),Oe=X.sub(at,Le),Le=X.add(at,Le),Le=X.mul(Oe,Le),Oe=X.mul(je,Oe),_e=X.mul(Ue,_e),$e=X.mul(pe,$e),je=X.sub(We,$e),je=X.mul(pe,je),je=X.add(je,_e),_e=X.add(We,We),We=X.add(_e,We),We=X.add(We,$e),We=X.mul(We,je),Le=X.add(Le,We),$e=X.mul(me,Ye),$e=X.add($e,$e),We=X.mul($e,je),Oe=X.sub(Oe,We),_e=X.mul($e,at),_e=X.add(_e,_e),_e=X.add(_e,_e),new Je(Oe,Le,_e)}add(pe){Me(pe);let{X:Qe,Y:Ue,Z:Fe}=this,{X:me,Y:Ye,Z:Oe}=pe,Le=X.ZERO,_e=X.ZERO,We=X.ZERO,at=re.a,$e=X.mul(re.b,Qi),je=X.mul(Qe,me),ut=X.mul(Ue,Ye),it=X.mul(Fe,Oe),xt=X.add(Qe,Ue),At=X.add(me,Ye);xt=X.mul(xt,At),At=X.add(je,ut),xt=X.sub(xt,At),At=X.add(Qe,Fe);let dt=X.add(me,Oe);return At=X.mul(At,dt),dt=X.add(je,it),At=X.sub(At,dt),dt=X.add(Ue,Fe),Le=X.add(Ye,Oe),dt=X.mul(dt,Le),Le=X.add(ut,it),dt=X.sub(dt,Le),We=X.mul(at,At),Le=X.mul($e,it),We=X.add(Le,We),Le=X.sub(ut,We),We=X.add(ut,We),_e=X.mul(Le,We),ut=X.add(je,je),ut=X.add(ut,je),it=X.mul(at,it),At=X.mul($e,At),ut=X.add(ut,it),it=X.sub(je,it),it=X.mul(at,it),At=X.add(At,it),je=X.mul(ut,At),_e=X.add(_e,je),je=X.mul(dt,At),Le=X.mul(xt,Le),Le=X.sub(Le,je),je=X.mul(xt,ut),We=X.mul(dt,We),We=X.add(We,je),new Je(Le,_e,We)}subtract(pe){return this.add(pe.negate())}is0(){return this.equals(Je.ZERO)}multiply(pe){let{endo:Qe}=_;if(!ee.isValidNot0(pe))throw new Error("invalid scalar: out of range");let Ue,Fe,me=Ye=>tt.cached(this,Ye,Oe=>xo(Je,Oe));if(Qe){let{k1neg:Ye,k1:Oe,k2neg:Le,k2:_e}=Ve(pe),{p:We,f:at}=me(Oe),{p:$e,f:je}=me(_e);Fe=at.add(je),Ue=Pe(Qe.beta,We,$e,Ye,Le)}else{let{p:Ye,f:Oe}=me(pe);Ue=Ye,Fe=Oe}return xo(Je,[Ue,Fe])[0]}multiplyUnsafe(pe){let{endo:Qe}=_,Ue=this;if(!ee.isValid(pe))throw new Error("invalid scalar: out of range");if(pe===kA||Ue.is0())return Je.ZERO;if(pe===zr)return Ue;if(tt.hasCache(this))return this.multiply(pe);if(Qe){let{k1neg:Fe,k1:me,k2neg:Ye,k2:Oe}=Ve(pe),{p1:Le,p2:_e}=wa(Je,Ue,me,Oe);return Pe(Qe.beta,Le,_e,Fe,Ye)}else return tt.unsafe(Ue,pe)}toAffine(pe){return Ge(this,pe)}isTorsionFree(){let{isTorsionFree:pe}=_;return ie===zr?!0:pe?pe(Je,this):tt.unsafe(this,ae).is0()}clearCofactor(){let{clearCofactor:pe}=_;return ie===zr?this:pe?pe(Je,this):this.multiplyUnsafe(ie)}isSmallOrder(){return this.multiplyUnsafe(ie).is0()}toBytes(pe=!0){return wn(pe,"isCompressed"),this.assertValidity(),$(Je,this,pe)}toHex(pe=!0){return pr(this.toBytes(pe))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}};he(Je,"BASE",new Je(re.Gx,re.Gy,X.ONE)),he(Je,"ZERO",new Je(X.ZERO,X.ONE,X.ZERO)),he(Je,"Fp",X),he(Je,"Fn",ee);let qe=Je,rt=ee.BITS,tt=new Ei(qe,_.endo?Math.ceil(rt/2):rt);return qe.BASE.precompute(8),qe}function Ga(z){return Uint8Array.of(z?2:3)}function va(z,_){return{secretKey:_.BYTES,publicKey:1+z.BYTES,publicKeyUncompressed:1+2*z.BYTES,publicKeyHasPrefix:!0,signature:2*_.BYTES}}function Tg(z,_={}){let{Fn:Z}=z,X=_.randomBytes||hi,ee=Object.assign(va(z.Fp,Z),{seed:Co(Z.ORDER)});function re($){try{let Be=Z.fromBytes($);return Z.isValidNot0(Be)}catch{return!1}}function ie($,Be){let{publicKey:xe,publicKeyUncompressed:He}=ee;try{let Se=$.length;return Be===!0&&Se!==xe||Be===!1&&Se!==He?!1:!!z.fromBytes($)}catch{return!1}}function ae($=X(ee.seed)){return Eo(et($,ee.seed,"seed"),Z.ORDER)}function fe($,Be=!0){return z.BASE.multiply(Z.fromBytes($)).toBytes(Be)}function le($){let{secretKey:Be,publicKey:xe,publicKeyUncompressed:He}=ee;if(!bn($)||"_lengths"in Z&&Z._lengths||Be===xe)return;let Se=et($,void 0,"key").length;return Se===xe||Se===He}function Ce($,Be,xe=!0){if(le($)===!0)throw new Error("first arg must be private key");if(le(Be)===!1)throw new Error("second arg must be public key");let He=Z.fromBytes($);return z.fromBytes(Be).multiply(He).toBytes(xe)}let ce={isValidSecretKey:re,isValidPublicKey:ie,randomSecretKey:ae},Ee=Da(ae,fe);return Object.freeze({getPublicKey:fe,getSharedSecret:Ce,keygen:Ee,Point:z,utils:ce,lengths:ee})}function Ua(z,_,Z={}){ui(_),Sn(Z,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),Z=Object.assign({},Z);let X=Z.randomBytes||hi,ee=Z.hmac||((pe,Qe)=>bo(_,pe,Qe)),{Fp:re,Fn:ie}=z,{ORDER:ae,BITS:fe}=ie,{keygen:le,getPublicKey:Ce,getSharedSecret:ce,utils:Ee,lengths:$}=Tg(z,Z),Be={prehash:!0,lowS:typeof Z.lowS=="boolean"?Z.lowS:!0,format:"compact",extraEntropy:!1},xe=ae*Ha<re.ORDER;function He(pe){let Qe=ae>>zr;return pe>Qe}function Se(pe,Qe){if(!ie.isValidNot0(Qe))throw new Error(`invalid signature ${pe}: out of range 1..Point.Fn.ORDER`);return Qe}function Re(){if(xe)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function we(pe,Qe){mo(Qe);let Ue=$.signature,Fe=Qe==="compact"?Ue:Qe==="recovered"?Ue+1:void 0;return et(pe,Fe)}class Me{constructor(Qe,Ue,Fe){he(this,"r");he(this,"s");he(this,"recovery");if(this.r=Se("r",Qe),this.s=Se("s",Ue),Fe!=null){if(Re(),![0,1,2,3].includes(Fe))throw new Error("invalid recovery id");this.recovery=Fe}Object.freeze(this)}static fromBytes(Qe,Ue=Be.format){we(Qe,Ue);let Fe;if(Ue==="der"){let{r:Le,s:_e}=PA.toSig(et(Qe));return new Me(Le,_e)}Ue==="recovered"&&(Fe=Qe[0],Ue="compact",Qe=Qe.subarray(1));let me=$.signature/2,Ye=Qe.subarray(0,me),Oe=Qe.subarray(me,me*2);return new Me(ie.fromBytes(Ye),ie.fromBytes(Oe),Fe)}static fromHex(Qe,Ue){return this.fromBytes(xr(Qe),Ue)}assertRecovery(){let{recovery:Qe}=this;if(Qe==null)throw new Error("invalid recovery id: must be present");return Qe}addRecoveryBit(Qe){return new Me(this.r,this.s,Qe)}recoverPublicKey(Qe){let{r:Ue,s:Fe}=this,me=this.assertRecovery(),Ye=me===2||me===3?Ue+ae:Ue;if(!re.isValid(Ye))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let Oe=re.toBytes(Ye),Le=z.fromBytes(Wt(Ga((me&1)===0),Oe)),_e=ie.inv(Ye),We=Ge(et(Qe,void 0,"msgHash")),at=ie.create(-We*_e),$e=ie.create(Fe*_e),je=z.BASE.multiplyUnsafe(at).add(Le.multiplyUnsafe($e));if(je.is0())throw new Error("invalid recovery: point at infinify");return je.assertValidity(),je}hasHighS(){return He(this.s)}toBytes(Qe=Be.format){if(mo(Qe),Qe==="der")return xr(PA.hexFromSig(this));let{r:Ue,s:Fe}=this,me=ie.toBytes(Ue),Ye=ie.toBytes(Fe);return Qe==="recovered"?(Re(),Wt(Uint8Array.of(this.assertRecovery()),me,Ye)):Wt(me,Ye)}toHex(Qe){return pr(this.toBytes(Qe))}}let Ve=Z.bits2int||function(Qe){if(Qe.length>8192)throw new Error("input is too large");let Ue=Pr(Qe),Fe=Qe.length*8-fe;return Fe>0?Ue>>BigInt(Fe):Ue},Ge=Z.bits2int_modN||function(Qe){return ie.create(Ve(Qe))},ke=Dn(fe);function Pe(pe){return aa("num < 2^"+fe,pe,kA,ke),ie.toBytes(pe)}function qe(pe,Qe){return et(pe,void 0,"message"),Qe?et(_(pe),void 0,"prehashed message"):pe}function rt(pe,Qe,Ue){let{lowS:Fe,prehash:me,extraEntropy:Ye}=wo(Ue,Be);pe=qe(pe,me);let Oe=Ge(pe),Le=ie.fromBytes(Qe);if(!ie.isValidNot0(Le))throw new Error("invalid private key");let _e=[Pe(Le),Pe(Oe)];if(Ye!=null&&Ye!==!1){let je=Ye===!0?X($.secretKey):Ye;_e.push(et(je,void 0,"extraEntropy"))}let We=Wt(..._e),at=Oe;function $e(je){let ut=Ve(je);if(!ie.isValidNot0(ut))return;let it=ie.inv(ut),xt=z.BASE.multiply(ut).toAffine(),At=ie.create(xt.x);if(At===kA)return;let dt=ie.create(it*ie.create(at+At*Le));if(dt===kA)return;let vr=(xt.x===At?0:2)|Number(xt.y&zr),eA=dt;return Fe&&He(dt)&&(eA=ie.neg(dt),vr^=1),new Me(At,eA,xe?void 0:vr)}return{seed:We,k2sig:$e}}function tt(pe,Qe,Ue={}){let{seed:Fe,k2sig:me}=rt(pe,Qe,Ue);return ca(_.outputLen,ie.BYTES,ee)(Fe,me).toBytes(Ue.format)}function Je(pe,Qe,Ue,Fe={}){let{lowS:me,prehash:Ye,format:Oe}=wo(Fe,Be);if(Ue=et(Ue,void 0,"publicKey"),Qe=qe(Qe,Ye),!bn(pe)){let Le=pe instanceof Me?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+Le)}we(pe,Oe);try{let Le=Me.fromBytes(pe,Oe),_e=z.fromBytes(Ue);if(me&&Le.hasHighS())return!1;let{r:We,s:at}=Le,$e=Ge(Qe),je=ie.inv(at),ut=ie.create($e*je),it=ie.create(We*je),xt=z.BASE.multiplyUnsafe(ut).add(_e.multiplyUnsafe(it));return xt.is0()?!1:ie.create(xt.x)===We}catch{return!1}}function Te(pe,Qe,Ue={}){let{prehash:Fe}=wo(Ue,Be);return Qe=qe(Qe,Fe),Me.fromBytes(pe,"recovered").recoverPublicKey(Qe).toBytes()}return Object.freeze({keygen:le,getPublicKey:Ce,getSharedSecret:ce,utils:Ee,lengths:$,Point:z,sign:tt,verify:Je,recoverPublicKey:Te,Signature:Me,hash:_})}var Ho={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},_g={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var La=BigInt(2);function jg(z){let _=Ho.p,Z=BigInt(3),X=BigInt(6),ee=BigInt(11),re=BigInt(22),ie=BigInt(23),ae=BigInt(44),fe=BigInt(88),le=z*z*z%_,Ce=le*le*z%_,ce=St(Ce,Z,_)*Ce%_,Ee=St(ce,Z,_)*Ce%_,$=St(Ee,La,_)*le%_,Be=St($,ee,_)*$%_,xe=St(Be,re,_)*Be%_,He=St(xe,ae,_)*xe%_,Se=St(He,fe,_)*He%_,Re=St(Se,ae,_)*xe%_,we=St(Re,Z,_)*Ce%_,Me=St(we,ie,_)*Be%_,Ve=St(Me,X,_)*le%_,Ge=St(Ve,La,_);if(!So.eql(So.sqr(Ge),z))throw new Error("Cannot find square root");return Ge}var So=Vr(Ho.p,{sqrt:jg}),Pg=ka(Ho,{Fp:So,endo:_g}),mr=Ua(Pg,ia);be();be();function Vg(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Na(z,_=""){if(!Number.isSafeInteger(z)||z<0){let Z=_&&`"${_}" `;throw new Error(`${Z}expected integer >= 0, got ${z}`)}}function Ht(z,_,Z=""){let X=Vg(z),ee=z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=Z&&`"${Z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return z}function Fa(z){if(typeof z!="function"||typeof z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Na(z.outputLen),Na(z.blockLen)}function Zr(z,_=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&z.finished)throw new Error("Hash#digest() has already been called")}function Ra(z,_){Ht(z,void 0,"digestInto() output");let Z=_.outputLen;if(z.length<Z)throw new Error('"digestInto() output" expected to be of length >='+Z)}function Ut(...z){for(let _=0;_<z.length;_++)z[_].fill(0)}function VA(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function Zt(z,_){return z<<32-_|z>>>_}function kn(z,_){return z<<_|z>>>32-_>>>0}function Gn(...z){let _=0;for(let X=0;X<z.length;X++){let ee=z[X];Ht(ee),_+=ee.length}let Z=new Uint8Array(_);for(let X=0,ee=0;X<z.length;X++){let re=z[X];Z.set(re,ee),ee+=re.length}return Z}function vn(z,_={}){let Z=(ee,re)=>z(re).update(ee).digest(),X=z(void 0);return Z.outputLen=X.outputLen,Z.blockLen=X.blockLen,Z.create=ee=>z(ee),Object.assign(Z,_),Object.freeze(Z)}var ko=z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,z])});var pi=class{constructor(_,Z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(Fa(_),Ht(Z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(Z.length>X?_.create().update(Z).digest():Z);for(let re=0;re<ee.length;re++)ee[re]^=54;this.iHash.update(ee),this.oHash=_.create();for(let re=0;re<ee.length;re++)ee[re]^=106;this.oHash.update(ee),Ut(ee)}update(_){return Zr(this),this.iHash.update(_),this}digestInto(_){Zr(this),Ht(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=Z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},xi=(z,_,Z)=>new pi(z,_).update(Z).digest();xi.create=(z,_)=>new pi(z,_);be();be();function Go(z,_,Z){return z&_^~z&Z}function vo(z,_,Z){return z&_^z&Z^_&Z}var Dr=class{constructor(_,Z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=Z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=VA(this.buffer)}update(_){Zr(this),Ht(_);let{view:Z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=VA(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(Z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){Zr(this),Ra(_,this),this.finished=!0;let{buffer:Z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;Z[ie++]=128,Ut(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)Z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=VA(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:Z}=this;this.digestInto(_);let X=_.slice(0,Z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:Z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%Z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},GA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Qt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Wg=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Ka=Uint8Array.from(new Array(16).fill(0).map((z,_)=>_)),zg=Ka.map(z=>(9*z+5)%16),Ma=(()=>{let Z=[[Ka],[zg]];for(let X=0;X<4;X++)for(let ee of Z)ee.push(ee[X].map(re=>Wg[re]));return Z})(),qa=Ma[0],Oa=Ma[1],Ja=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(z=>Uint8Array.from(z)),Zg=qa.map((z,_)=>z.map(Z=>Ja[_][Z])),Xg=Oa.map((z,_)=>z.map(Z=>Ja[_][Z])),$g=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),ef=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Ya(z,_,Z,X){return z===0?_^Z^X:z===1?_&Z|~_&X:z===2?(_|~Z)^X:z===3?_&X|Z&~X:_^(Z|~X)}var bi=new Uint32Array(16),Uo=class extends Dr{constructor(){super(64,20,8,!0);he(this,"h0",1732584193);he(this,"h1",-271733879);he(this,"h2",-1732584194);he(this,"h3",271733878);he(this,"h4",-1009589776)}get(){let{h0:Z,h1:X,h2:ee,h3:re,h4:ie}=this;return[Z,X,ee,re,ie]}set(Z,X,ee,re,ie){this.h0=Z|0,this.h1=X|0,this.h2=ee|0,this.h3=re|0,this.h4=ie|0}process(Z,X){for(let Be=0;Be<16;Be++,X+=4)bi[Be]=Z.getUint32(X,!0);let ee=this.h0|0,re=ee,ie=this.h1|0,ae=ie,fe=this.h2|0,le=fe,Ce=this.h3|0,ce=Ce,Ee=this.h4|0,$=Ee;for(let Be=0;Be<5;Be++){let xe=4-Be,He=$g[Be],Se=ef[Be],Re=qa[Be],we=Oa[Be],Me=Zg[Be],Ve=Xg[Be];for(let Ge=0;Ge<16;Ge++){let ke=kn(ee+Ya(Be,ie,fe,Ce)+bi[Re[Ge]]+He,Me[Ge])+Ee|0;ee=Ee,Ee=Ce,Ce=kn(fe,10)|0,fe=ie,ie=ke}for(let Ge=0;Ge<16;Ge++){let ke=kn(re+Ya(xe,ae,le,ce)+bi[we[Ge]]+Se,Ve[Ge])+$|0;re=$,$=ce,ce=kn(le,10)|0,le=ae,ae=ke}}this.set(this.h1+fe+ce|0,this.h2+Ce+$|0,this.h3+Ee+re|0,this.h4+ee+ae|0,this.h0+ie+le|0)}roundClean(){Ut(bi)}destroy(){this.destroyed=!0,Ut(this.buffer),this.set(0,0,0,0,0)}},Ta=vn(()=>new Uo);be();be();var wi=BigInt(4294967295),_a=BigInt(32);function tf(z,_=!1){return _?{h:Number(z&wi),l:Number(z>>_a&wi)}:{h:Number(z>>_a&wi)|0,l:Number(z&wi)|0}}function ja(z,_=!1){let Z=z.length,X=new Uint32Array(Z),ee=new Uint32Array(Z);for(let re=0;re<Z;re++){let{h:ie,l:ae}=tf(z[re],_);[X[re],ee[re]]=[ie,ae]}return[X,ee]}var Lo=(z,_,Z)=>z>>>Z,No=(z,_,Z)=>z<<32-Z|_>>>Z,Sr=(z,_,Z)=>z>>>Z|_<<32-Z,Hr=(z,_,Z)=>z<<32-Z|_>>>Z,Un=(z,_,Z)=>z<<64-Z|_>>>Z-32,Ln=(z,_,Z)=>z>>>Z-32|_<<64-Z;function gA(z,_,Z,X){let ee=(_>>>0)+(X>>>0);return{h:z+Z+(ee/2**32|0)|0,l:ee|0}}var Pa=(z,_,Z)=>(z>>>0)+(_>>>0)+(Z>>>0),Va=(z,_,Z,X)=>_+Z+X+(z/2**32|0)|0,Wa=(z,_,Z,X)=>(z>>>0)+(_>>>0)+(Z>>>0)+(X>>>0),za=(z,_,Z,X,ee)=>_+Z+X+ee+(z/2**32|0)|0,Za=(z,_,Z,X,ee)=>(z>>>0)+(_>>>0)+(Z>>>0)+(X>>>0)+(ee>>>0),Xa=(z,_,Z,X,ee,re)=>_+Z+X+ee+re+(z/2**32|0)|0;var rf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),WA=new Uint32Array(64),Fo=class extends Dr{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:Z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,Z,X,ee,re,ie,ae,fe]}set(_,Z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=Z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,Z){for(let ce=0;ce<16;ce++,Z+=4)WA[ce]=_.getUint32(Z,!1);for(let ce=16;ce<64;ce++){let Ee=WA[ce-15],$=WA[ce-2],Be=Zt(Ee,7)^Zt(Ee,18)^Ee>>>3,xe=Zt($,17)^Zt($,19)^$>>>10;WA[ce]=xe+WA[ce-7]+Be+WA[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=Zt(ae,6)^Zt(ae,11)^Zt(ae,25),$=Ce+Ee+Go(ae,fe,le)+rf[ce]+WA[ce]|0,xe=(Zt(X,2)^Zt(X,13)^Zt(X,22))+vo(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Ut(WA)}destroy(){this.set(0,0,0,0,0,0,0,0),Ut(this.buffer)}},Ro=class extends Fo{constructor(){super(32);he(this,"A",GA[0]|0);he(this,"B",GA[1]|0);he(this,"C",GA[2]|0);he(this,"D",GA[3]|0);he(this,"E",GA[4]|0);he(this,"F",GA[5]|0);he(this,"G",GA[6]|0);he(this,"H",GA[7]|0)}};var $a=ja(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(z=>BigInt(z))),nf=$a[0],of=$a[1],zA=new Uint32Array(80),ZA=new Uint32Array(80),Yo=class extends Dr{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:Z,Bh:X,Bl:ee,Ch:re,Cl:ie,Dh:ae,Dl:fe,Eh:le,El:Ce,Fh:ce,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,Z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He]}set(_,Z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=Z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=re|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=le|0,this.El=Ce|0,this.Fh=ce|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,Z){for(let we=0;we<16;we++,Z+=4)zA[we]=_.getUint32(Z),ZA[we]=_.getUint32(Z+=4);for(let we=16;we<80;we++){let Me=zA[we-15]|0,Ve=ZA[we-15]|0,Ge=Sr(Me,Ve,1)^Sr(Me,Ve,8)^Lo(Me,Ve,7),ke=Hr(Me,Ve,1)^Hr(Me,Ve,8)^No(Me,Ve,7),Pe=zA[we-2]|0,qe=ZA[we-2]|0,rt=Sr(Pe,qe,19)^Un(Pe,qe,61)^Lo(Pe,qe,6),tt=Hr(Pe,qe,19)^Ln(Pe,qe,61)^No(Pe,qe,6),Je=Wa(ke,tt,ZA[we-7],ZA[we-16]),Te=za(Je,Ge,rt,zA[we-7],zA[we-16]);zA[we]=Te|0,ZA[we]=Je|0}let{Ah:X,Al:ee,Bh:re,Bl:ie,Ch:ae,Cl:fe,Dh:le,Dl:Ce,Eh:ce,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=Sr(ce,Ee,14)^Sr(ce,Ee,18)^Un(ce,Ee,41),Ve=Hr(ce,Ee,14)^Hr(ce,Ee,18)^Ln(ce,Ee,41),Ge=ce&$^~ce&xe,ke=Ee&Be^~Ee&He,Pe=Za(Re,Ve,ke,of[we],ZA[we]),qe=Xa(Pe,Se,Me,Ge,nf[we],zA[we]),rt=Pe|0,tt=Sr(X,ee,28)^Un(X,ee,34)^Un(X,ee,39),Je=Hr(X,ee,28)^Ln(X,ee,34)^Ln(X,ee,39),Te=X&re^X&ae^re&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ce|0,Be=Ee|0,{h:ce,l:Ee}=gA(le|0,Ce|0,qe|0,rt|0),le=ae|0,Ce=fe|0,ae=re|0,fe=ie|0,re=X|0,ie=ee|0;let Qe=Pa(rt,Je,pe);X=Va(Qe,qe,tt,Te),ee=Qe|0}({h:X,l:ee}=gA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:re,l:ie}=gA(this.Bh|0,this.Bl|0,re|0,ie|0),{h:ae,l:fe}=gA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:le,l:Ce}=gA(this.Dh|0,this.Dl|0,le|0,Ce|0),{h:ce,l:Ee}=gA(this.Eh|0,this.El|0,ce|0,Ee|0),{h:$,l:Be}=gA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=gA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=gA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He,Se,Re)}roundClean(){Ut(zA,ZA)}destroy(){Ut(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ko=class extends Yo{constructor(){super(64);he(this,"Ah",Qt[0]|0);he(this,"Al",Qt[1]|0);he(this,"Bh",Qt[2]|0);he(this,"Bl",Qt[3]|0);he(this,"Ch",Qt[4]|0);he(this,"Cl",Qt[5]|0);he(this,"Dh",Qt[6]|0);he(this,"Dl",Qt[7]|0);he(this,"Eh",Qt[8]|0);he(this,"El",Qt[9]|0);he(this,"Fh",Qt[10]|0);he(this,"Fl",Qt[11]|0);he(this,"Gh",Qt[12]|0);he(this,"Gl",Qt[13]|0);he(this,"Hh",Qt[14]|0);he(this,"Hl",Qt[15]|0)}};var Mo=vn(()=>new Ro,ko(1));var qo=vn(()=>new Ko,ko(3));be();function mi(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function ec(z,_){return Array.isArray(_)?_.length===0?!0:z?_.every(Z=>typeof Z=="string"):_.every(Z=>Number.isSafeInteger(Z)):!1}function sf(z){if(typeof z!="function")throw new Error("function expected");return!0}function Di(z,_){if(typeof _!="string")throw new Error(`${z}: string expected`);return!0}function Xr(z){if(!Number.isSafeInteger(z))throw new Error(`invalid integer: ${z}`)}function Si(z){if(!Array.isArray(z))throw new Error("array expected")}function Hi(z,_){if(!ec(!0,_))throw new Error(`${z}: array of strings expected`)}function tc(z,_){if(!ec(!1,_))throw new Error(`${z}: array of numbers expected`)}function _o(...z){let _=re=>re,Z=(re,ie)=>ae=>re(ie(ae)),X=z.map(re=>re.encode).reduceRight(Z,_),ee=z.map(re=>re.decode).reduce(Z,_);return{encode:X,decode:ee}}function Ac(z){let _=typeof z=="string"?z.split(""):z,Z=_.length;Hi("alphabet",_);let X=new Map(_.map((ee,re)=>[ee,re]));return{encode:ee=>(Si(ee),ee.map(re=>{if(!Number.isSafeInteger(re)||re<0||re>=Z)throw new Error(`alphabet.encode: digit index outside alphabet "${re}". Allowed: ${z}`);return _[re]})),decode:ee=>(Si(ee),ee.map(re=>{Di("alphabet.decode",re);let ie=X.get(re);if(ie===void 0)throw new Error(`Unknown letter: "${re}". Allowed: ${z}`);return ie}))}}function rc(z=""){return Di("join",z),{encode:_=>(Hi("join.decode",_),_.join(z)),decode:_=>(Di("join.decode",_),_.split(z))}}function af(z,_="="){return Xr(z),Di("padding",_),{encode(Z){for(Hi("padding.encode",Z);Z.length*z%8;)Z.push(_);return Z},decode(Z){Hi("padding.decode",Z);let X=Z.length;if(X*z%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;X>0&&Z[X-1]===_;X--)if((X-1)*z%8===0)throw new Error("padding: invalid, string has too much padding");return Z.slice(0,X)}}}function Jo(z,_,Z){if(_<2)throw new Error(`convertRadix: invalid from=${_}, base cannot be less than 2`);if(Z<2)throw new Error(`convertRadix: invalid to=${Z}, base cannot be less than 2`);if(Si(z),!z.length)return[];let X=0,ee=[],re=Array.from(z,ae=>{if(Xr(ae),ae<0||ae>=_)throw new Error(`invalid integer: ${ae}`);return ae}),ie=re.length;for(;;){let ae=0,fe=!0;for(let le=X;le<ie;le++){let Ce=re[le],ce=_*ae,Ee=ce+Ce;if(!Number.isSafeInteger(Ee)||ce/_!==ae||Ee-Ce!==ce)throw new Error("convertRadix: carry overflow");let $=Ee/Z;ae=Ee%Z;let Be=Math.floor($);if(re[le]=Be,!Number.isSafeInteger(Be)||Be*Z+ae!==Ee)throw new Error("convertRadix: carry overflow");if(fe)Be?fe=!1:X=le;else continue}if(ee.push(ae),fe)break}for(let ae=0;ae<z.length-1&&z[ae]===0;ae++)ee.push(0);return ee.reverse()}var nc=(z,_)=>_===0?z:nc(_,z%_),ki=(z,_)=>z+(_-nc(z,_)),Oo=(()=>{let z=[];for(let _=0;_<40;_++)z.push(2**_);return z})();function To(z,_,Z,X){if(Si(z),_<=0||_>32)throw new Error(`convertRadix2: wrong from=${_}`);if(Z<=0||Z>32)throw new Error(`convertRadix2: wrong to=${Z}`);if(ki(_,Z)>32)throw new Error(`convertRadix2: carry overflow from=${_} to=${Z} carryBits=${ki(_,Z)}`);let ee=0,re=0,ie=Oo[_],ae=Oo[Z]-1,fe=[];for(let le of z){if(Xr(le),le>=ie)throw new Error(`convertRadix2: invalid data word=${le} from=${_}`);if(ee=ee<<_|le,re+_>32)throw new Error(`convertRadix2: carry overflow pos=${re} from=${_}`);for(re+=_;re>=Z;re-=Z)fe.push((ee>>re-Z&ae)>>>0);let Ce=Oo[re];if(Ce===void 0)throw new Error("invalid carry");ee&=Ce-1}if(ee=ee<<Z-re&ae,!X&&re>=_)throw new Error("Excess padding");if(!X&&ee>0)throw new Error(`Non-zero padding: ${ee}`);return X&&re>0&&fe.push(ee>>>0),fe}function ic(z){Xr(z);let _=2**8;return{encode:Z=>{if(!mi(Z))throw new Error("radix.encode input should be Uint8Array");return Jo(Array.from(Z),_,z)},decode:Z=>(tc("radix.decode",Z),Uint8Array.from(Jo(Z,z,_)))}}function cf(z,_=!1){if(Xr(z),z<=0||z>32)throw new Error("radix2: bits should be in (0..32]");if(ki(8,z)>32||ki(z,8)>32)throw new Error("radix2: carry overflow");return{encode:Z=>{if(!mi(Z))throw new Error("radix2.encode input should be Uint8Array");return To(Array.from(Z),8,z,!_)},decode:Z=>(tc("radix2.decode",Z),Uint8Array.from(To(Z,z,8,_)))}}function oc(z,_){return Xr(z),sf(_),{encode(Z){if(!mi(Z))throw new Error("checksum.encode: input should be Uint8Array");let X=_(Z).slice(0,z),ee=new Uint8Array(Z.length+z);return ee.set(Z),ee.set(X,Z.length),ee},decode(Z){if(!mi(Z))throw new Error("checksum.decode: input should be Uint8Array");let X=Z.slice(0,-z),ee=Z.slice(-z),re=_(X).slice(0,z);for(let ie=0;ie<z;ie++)if(re[ie]!==ee[ie])throw new Error("Invalid checksum");return X}}}var Nn={alphabet:Ac,chain:_o,checksum:oc,convertRadix:Jo,convertRadix2:To,radix:ic,radix2:cf,join:rc,padding:af};var gf=z=>_o(ic(58),Ac(z),rc("")),ff=gf("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var sc=z=>_o(oc(4,_=>z(z(_))),ff);var Rn=mr.Point,{Fn}=Rn,jo=sc(Mo),uf=Uint8Array.from("Bitcoin seed".split(""),z=>z.charCodeAt(0)),Po={private:76066276,public:76067358},Vo=2147483648,If=z=>Ta(Mo(z)),hf=z=>VA(z).getUint32(0,!1),Gi=z=>{if(!Number.isSafeInteger(z)||z<0||z>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+z);let _=new Uint8Array(4);return VA(_).setUint32(0,z,!1),_},vi=class z{constructor(_){he(this,"versions");he(this,"depth",0);he(this,"index",0);he(this,"chainCode",null);he(this,"parentFingerprint",0);he(this,"_privateKey");he(this,"_publicKey");he(this,"pubHash");if(!_||typeof _!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=_.versions||Po,this.depth=_.depth||0,this.chainCode=_.chainCode||null,this.index=_.index||0,this.parentFingerprint=_.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(this.depth>255)throw new Error("HDKey: depth exceeds the serializable value 255");if(_.publicKey&&_.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(_.privateKey){if(!mr.utils.isValidSecretKey(_.privateKey))throw new Error("Invalid private key");this._privateKey=_.privateKey,this._publicKey=mr.getPublicKey(_.privateKey,!0)}else if(_.publicKey)this._publicKey=Rn.fromBytes(_.publicKey).toBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=If(this._publicKey)}get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return hf(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this._privateKey||null}get publicKey(){return this._publicKey||null}get privateExtendedKey(){let _=this._privateKey;if(!_)throw new Error("No private key");return jo.encode(this.serialize(this.versions.private,Gn(Uint8Array.of(0),_)))}get publicExtendedKey(){if(!this._publicKey)throw new Error("No public key");return jo.encode(this.serialize(this.versions.public,this._publicKey))}static fromMasterSeed(_,Z=Po){if(Ht(_),8*_.length<128||8*_.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+_.length);let X=xi(qo,uf,_),ee=X.slice(0,32),re=X.slice(32);return new z({versions:Z,chainCode:re,privateKey:ee})}static fromExtendedKey(_,Z=Po){let X=jo.decode(_),ee=VA(X),re=ee.getUint32(0,!1),ie={versions:Z,depth:X[4],parentFingerprint:ee.getUint32(5,!1),index:ee.getUint32(9,!1),chainCode:X.slice(13,45)},ae=X.slice(45),fe=ae[0]===0;if(re!==Z[fe?"private":"public"])throw new Error("Version mismatch");return fe?new z({...ie,privateKey:ae.slice(1)}):new z({...ie,publicKey:ae})}static fromJSON(_){return z.fromExtendedKey(_.xpriv)}derive(_){if(!/^[mM]'?/.test(_))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(_))return this;let Z=_.replace(/^[mM]'?\//,"").split("/"),X=this;for(let ee of Z){let re=/^(\d+)('?)$/.exec(ee),ie=re&&re[1];if(!re||re.length!==3||typeof ie!="string")throw new Error("invalid child index: "+ee);let ae=+ie;if(!Number.isSafeInteger(ae)||ae>=Vo)throw new Error("Invalid index");re[2]==="'"&&(ae+=Vo),X=X.deriveChild(ae)}return X}deriveChild(_){if(!this._publicKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let Z=Gi(_);if(_>=Vo){let fe=this._privateKey;if(!fe)throw new Error("Could not derive hardened child key");Z=Gn(Uint8Array.of(0),fe,Z)}else Z=Gn(this._publicKey,Z);let X=xi(qo,this.chainCode,Z),ee=X.slice(0,32),re=X.slice(32);if(!mr.utils.isValidSecretKey(ee))throw new Error("Tweak bigger than curve order");let ie={versions:this.versions,chainCode:re,depth:this.depth+1,parentFingerprint:this.fingerprint,index:_},ae=Fn.fromBytes(ee);try{if(this._privateKey){let fe=Fn.create(Fn.fromBytes(this._privateKey)+ae);if(!Fn.isValidNot0(fe))throw new Error("The tweak was out of range or the resulted private key is invalid");ie.privateKey=Fn.toBytes(fe)}else{let fe=Rn.fromBytes(this._publicKey).add(Rn.BASE.multiply(ae));if(fe.equals(Rn.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");ie.publicKey=fe.toBytes(!0)}return new z(ie)}catch{return this.deriveChild(_+1)}}sign(_){if(!this._privateKey)throw new Error("No privateKey set!");return Ht(_,32),mr.sign(_,this._privateKey,{prehash:!1})}verify(_,Z){if(Ht(_,32),Ht(Z,64),!this._publicKey)throw new Error("No publicKey set!");return mr.verify(Z,_,this._publicKey,{prehash:!1})}wipePrivateData(){return this._privateKey&&(this._privateKey.fill(0),this._privateKey=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(_,Z){if(!this.chainCode)throw new Error("No chainCode set");return Ht(Z,33),Gn(Gi(_),new Uint8Array([this.depth]),Gi(this.parentFingerprint),Gi(this.index),this.chainCode,Z)}};be();be();be();be();function df(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function XA(z,_=""){if(!Number.isSafeInteger(z)||z<0){let Z=_&&`"${_}" `;throw new Error(`${Z}expected integer >= 0, got ${z}`)}}function vA(z,_,Z=""){let X=df(z),ee=z?.length,re=_!==void 0;if(!X||re&&ee!==_){let ie=Z&&`"${Z}" `,ae=re?` of length ${_}`:"",fe=X?`length=${ee}`:`type=${typeof z}`;throw new Error(ie+"expected Uint8Array"+ae+", got "+fe)}return z}function Ui(z){if(typeof z!="function"||typeof z.create!="function")throw new Error("Hash must wrapped by utils.createHasher");XA(z.outputLen),XA(z.blockLen)}function $r(z,_=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(_&&z.finished)throw new Error("Hash#digest() has already been called")}function ac(z,_){vA(z,void 0,"digestInto() output");let Z=_.outputLen;if(z.length<Z)throw new Error('"digestInto() output" expected to be of length >='+Z)}function Xt(...z){for(let _=0;_<z.length;_++)z[_].fill(0)}function en(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function $t(z,_){return z<<32-_|z>>>_}function lf(z){if(typeof z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(z))}function Wo(z,_=""){return typeof z=="string"?lf(z):vA(z,void 0,_)}function cc(z,_){if(_!==void 0&&{}.toString.call(_)!=="[object Object]")throw new Error("options must be object or undefined");return Object.assign(z,_)}function zo(z,_={}){let Z=(ee,re)=>z(re).update(ee).digest(),X=z(void 0);return Z.outputLen=X.outputLen,Z.blockLen=X.blockLen,Z.create=ee=>z(ee),Object.assign(Z,_),Object.freeze(Z)}function gc(z=32){let _=typeof globalThis=="object"?globalThis.crypto:null;if(typeof _?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return _.getRandomValues(new Uint8Array(z))}var Zo=z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,z])});var Li=class{constructor(_,Z){he(this,"oHash");he(this,"iHash");he(this,"blockLen");he(this,"outputLen");he(this,"finished",!1);he(this,"destroyed",!1);if(Ui(_),vA(Z,void 0,"key"),this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let X=this.blockLen,ee=new Uint8Array(X);ee.set(Z.length>X?_.create().update(Z).digest():Z);for(let re=0;re<ee.length;re++)ee[re]^=54;this.iHash.update(ee),this.oHash=_.create();for(let re=0;re<ee.length;re++)ee[re]^=106;this.oHash.update(ee),Xt(ee)}update(_){return $r(this),this.iHash.update(_),this}digestInto(_){$r(this),vA(_,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Z,iHash:X,finished:ee,destroyed:re,blockLen:ie,outputLen:ae}=this;return _=_,_.finished=ee,_.destroyed=re,_.blockLen=ie,_.outputLen=ae,_.oHash=Z._cloneInto(_.oHash),_.iHash=X._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Xo=(z,_,Z)=>new Li(z,_).update(Z).digest();Xo.create=(z,_)=>new Li(z,_);function Bf(z,_,Z,X){Ui(z);let ee=cc({dkLen:32,asyncTick:10},X),{c:re,dkLen:ie,asyncTick:ae}=ee;if(XA(re,"c"),XA(ie,"dkLen"),XA(ae,"asyncTick"),re<1)throw new Error("iterations (c) must be >= 1");let fe=Wo(_,"password"),le=Wo(Z,"salt"),Ce=new Uint8Array(ie),ce=Xo.create(z,fe),Ee=ce._cloneInto().update(le);return{c:re,dkLen:ie,asyncTick:ae,DK:Ce,PRF:ce,PRFSalt:Ee}}function Cf(z,_,Z,X,ee){return z.destroy(),_.destroy(),X&&X.destroy(),Xt(ee),Z}function fc(z,_,Z,X){let{c:ee,dkLen:re,DK:ie,PRF:ae,PRFSalt:fe}=Bf(z,_,Z,X),le,Ce=new Uint8Array(4),ce=en(Ce),Ee=new Uint8Array(ae.outputLen);for(let $=1,Be=0;Be<re;$++,Be+=ae.outputLen){let xe=ie.subarray(Be,Be+ae.outputLen);ce.setInt32(0,$,!1),(le=fe._cloneInto(le)).update(Ce).digestInto(Ee),xe.set(Ee.subarray(0,xe.length));for(let He=1;He<ee;He++){ae._cloneInto(le).update(Ee).digestInto(Ee);for(let Se=0;Se<xe.length;Se++)xe[Se]^=Ee[Se]}}return Cf(ae,fe,ie,le,Ee)}be();be();function uc(z,_,Z){return z&_^~z&Z}function Ic(z,_,Z){return z&_^z&Z^_&Z}var Yn=class{constructor(_,Z,X,ee){he(this,"blockLen");he(this,"outputLen");he(this,"padOffset");he(this,"isLE");he(this,"buffer");he(this,"view");he(this,"finished",!1);he(this,"length",0);he(this,"pos",0);he(this,"destroyed",!1);this.blockLen=_,this.outputLen=Z,this.padOffset=X,this.isLE=ee,this.buffer=new Uint8Array(_),this.view=en(this.buffer)}update(_){$r(this),vA(_);let{view:Z,buffer:X,blockLen:ee}=this,re=_.length;for(let ie=0;ie<re;){let ae=Math.min(ee-this.pos,re-ie);if(ae===ee){let fe=en(_);for(;ee<=re-ie;ie+=ee)this.process(fe,ie);continue}X.set(_.subarray(ie,ie+ae),this.pos),this.pos+=ae,ie+=ae,this.pos===ee&&(this.process(Z,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){$r(this),ac(_,this),this.finished=!0;let{buffer:Z,view:X,blockLen:ee,isLE:re}=this,{pos:ie}=this;Z[ie++]=128,Xt(this.buffer.subarray(ie)),this.padOffset>ee-ie&&(this.process(X,0),ie=0);for(let ce=ie;ce<ee;ce++)Z[ce]=0;X.setBigUint64(ee-8,BigInt(this.length*8),re),this.process(X,0);let ae=en(_),fe=this.outputLen;if(fe%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let le=fe/4,Ce=this.get();if(le>Ce.length)throw new Error("_sha2: outputLen bigger than state");for(let ce=0;ce<le;ce++)ae.setUint32(4*ce,Ce[ce],re)}digest(){let{buffer:_,outputLen:Z}=this;this.digestInto(_);let X=_.slice(0,Z);return this.destroy(),X}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:Z,buffer:X,length:ee,finished:re,destroyed:ie,pos:ae}=this;return _.destroyed=ie,_.finished=re,_.length=ee,_.pos=ae,ee%Z&&_.buffer.set(X),_}clone(){return this._cloneInto()}},UA=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var pt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);be();var Ni=BigInt(4294967295),hc=BigInt(32);function Ef(z,_=!1){return _?{h:Number(z&Ni),l:Number(z>>hc&Ni)}:{h:Number(z>>hc&Ni)|0,l:Number(z&Ni)|0}}function dc(z,_=!1){let Z=z.length,X=new Uint32Array(Z),ee=new Uint32Array(Z);for(let re=0;re<Z;re++){let{h:ie,l:ae}=Ef(z[re],_);[X[re],ee[re]]=[ie,ae]}return[X,ee]}var $o=(z,_,Z)=>z>>>Z,es=(z,_,Z)=>z<<32-Z|_>>>Z,kr=(z,_,Z)=>z>>>Z|_<<32-Z,Gr=(z,_,Z)=>z<<32-Z|_>>>Z,Kn=(z,_,Z)=>z<<64-Z|_>>>Z-32,Mn=(z,_,Z)=>z>>>Z-32|_<<64-Z;function fA(z,_,Z,X){let ee=(_>>>0)+(X>>>0);return{h:z+Z+(ee/2**32|0)|0,l:ee|0}}var lc=(z,_,Z)=>(z>>>0)+(_>>>0)+(Z>>>0),Bc=(z,_,Z,X)=>_+Z+X+(z/2**32|0)|0,Cc=(z,_,Z,X)=>(z>>>0)+(_>>>0)+(Z>>>0)+(X>>>0),Ec=(z,_,Z,X,ee)=>_+Z+X+ee+(z/2**32|0)|0,yc=(z,_,Z,X,ee)=>(z>>>0)+(_>>>0)+(Z>>>0)+(X>>>0)+(ee>>>0),Qc=(z,_,Z,X,ee,re)=>_+Z+X+ee+re+(z/2**32|0)|0;var Qf=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),$A=new Uint32Array(64),ts=class extends Yn{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:Z,C:X,D:ee,E:re,F:ie,G:ae,H:fe}=this;return[_,Z,X,ee,re,ie,ae,fe]}set(_,Z,X,ee,re,ie,ae,fe){this.A=_|0,this.B=Z|0,this.C=X|0,this.D=ee|0,this.E=re|0,this.F=ie|0,this.G=ae|0,this.H=fe|0}process(_,Z){for(let ce=0;ce<16;ce++,Z+=4)$A[ce]=_.getUint32(Z,!1);for(let ce=16;ce<64;ce++){let Ee=$A[ce-15],$=$A[ce-2],Be=$t(Ee,7)^$t(Ee,18)^Ee>>>3,xe=$t($,17)^$t($,19)^$>>>10;$A[ce]=xe+$A[ce-7]+Be+$A[ce-16]|0}let{A:X,B:ee,C:re,D:ie,E:ae,F:fe,G:le,H:Ce}=this;for(let ce=0;ce<64;ce++){let Ee=$t(ae,6)^$t(ae,11)^$t(ae,25),$=Ce+Ee+uc(ae,fe,le)+Qf[ce]+$A[ce]|0,xe=($t(X,2)^$t(X,13)^$t(X,22))+Ic(X,ee,re)|0;Ce=le,le=fe,fe=ae,ae=ie+$|0,ie=re,re=ee,ee=X,X=$+xe|0}X=X+this.A|0,ee=ee+this.B|0,re=re+this.C|0,ie=ie+this.D|0,ae=ae+this.E|0,fe=fe+this.F|0,le=le+this.G|0,Ce=Ce+this.H|0,this.set(X,ee,re,ie,ae,fe,le,Ce)}roundClean(){Xt($A)}destroy(){this.set(0,0,0,0,0,0,0,0),Xt(this.buffer)}},As=class extends ts{constructor(){super(32);he(this,"A",UA[0]|0);he(this,"B",UA[1]|0);he(this,"C",UA[2]|0);he(this,"D",UA[3]|0);he(this,"E",UA[4]|0);he(this,"F",UA[5]|0);he(this,"G",UA[6]|0);he(this,"H",UA[7]|0)}};var pc=dc(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(z=>BigInt(z))),pf=pc[0],xf=pc[1],er=new Uint32Array(80),tr=new Uint32Array(80),rs=class extends Yn{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:Z,Bh:X,Bl:ee,Ch:re,Cl:ie,Dh:ae,Dl:fe,Eh:le,El:Ce,Fh:ce,Fl:Ee,Gh:$,Gl:Be,Hh:xe,Hl:He}=this;return[_,Z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He]}set(_,Z,X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He){this.Ah=_|0,this.Al=Z|0,this.Bh=X|0,this.Bl=ee|0,this.Ch=re|0,this.Cl=ie|0,this.Dh=ae|0,this.Dl=fe|0,this.Eh=le|0,this.El=Ce|0,this.Fh=ce|0,this.Fl=Ee|0,this.Gh=$|0,this.Gl=Be|0,this.Hh=xe|0,this.Hl=He|0}process(_,Z){for(let we=0;we<16;we++,Z+=4)er[we]=_.getUint32(Z),tr[we]=_.getUint32(Z+=4);for(let we=16;we<80;we++){let Me=er[we-15]|0,Ve=tr[we-15]|0,Ge=kr(Me,Ve,1)^kr(Me,Ve,8)^$o(Me,Ve,7),ke=Gr(Me,Ve,1)^Gr(Me,Ve,8)^es(Me,Ve,7),Pe=er[we-2]|0,qe=tr[we-2]|0,rt=kr(Pe,qe,19)^Kn(Pe,qe,61)^$o(Pe,qe,6),tt=Gr(Pe,qe,19)^Mn(Pe,qe,61)^es(Pe,qe,6),Je=Cc(ke,tt,tr[we-7],tr[we-16]),Te=Ec(Je,Ge,rt,er[we-7],er[we-16]);er[we]=Te|0,tr[we]=Je|0}let{Ah:X,Al:ee,Bh:re,Bl:ie,Ch:ae,Cl:fe,Dh:le,Dl:Ce,Eh:ce,El:Ee,Fh:$,Fl:Be,Gh:xe,Gl:He,Hh:Se,Hl:Re}=this;for(let we=0;we<80;we++){let Me=kr(ce,Ee,14)^kr(ce,Ee,18)^Kn(ce,Ee,41),Ve=Gr(ce,Ee,14)^Gr(ce,Ee,18)^Mn(ce,Ee,41),Ge=ce&$^~ce&xe,ke=Ee&Be^~Ee&He,Pe=yc(Re,Ve,ke,xf[we],tr[we]),qe=Qc(Pe,Se,Me,Ge,pf[we],er[we]),rt=Pe|0,tt=kr(X,ee,28)^Kn(X,ee,34)^Kn(X,ee,39),Je=Gr(X,ee,28)^Mn(X,ee,34)^Mn(X,ee,39),Te=X&re^X&ae^re&ae,pe=ee&ie^ee&fe^ie&fe;Se=xe|0,Re=He|0,xe=$|0,He=Be|0,$=ce|0,Be=Ee|0,{h:ce,l:Ee}=fA(le|0,Ce|0,qe|0,rt|0),le=ae|0,Ce=fe|0,ae=re|0,fe=ie|0,re=X|0,ie=ee|0;let Qe=lc(rt,Je,pe);X=Bc(Qe,qe,tt,Te),ee=Qe|0}({h:X,l:ee}=fA(this.Ah|0,this.Al|0,X|0,ee|0)),{h:re,l:ie}=fA(this.Bh|0,this.Bl|0,re|0,ie|0),{h:ae,l:fe}=fA(this.Ch|0,this.Cl|0,ae|0,fe|0),{h:le,l:Ce}=fA(this.Dh|0,this.Dl|0,le|0,Ce|0),{h:ce,l:Ee}=fA(this.Eh|0,this.El|0,ce|0,Ee|0),{h:$,l:Be}=fA(this.Fh|0,this.Fl|0,$|0,Be|0),{h:xe,l:He}=fA(this.Gh|0,this.Gl|0,xe|0,He|0),{h:Se,l:Re}=fA(this.Hh|0,this.Hl|0,Se|0,Re|0),this.set(X,ee,re,ie,ae,fe,le,Ce,ce,Ee,$,Be,xe,He,Se,Re)}roundClean(){Xt(er,tr)}destroy(){Xt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ns=class extends rs{constructor(){super(64);he(this,"Ah",pt[0]|0);he(this,"Al",pt[1]|0);he(this,"Bh",pt[2]|0);he(this,"Bl",pt[3]|0);he(this,"Ch",pt[4]|0);he(this,"Cl",pt[5]|0);he(this,"Dh",pt[6]|0);he(this,"Dl",pt[7]|0);he(this,"Eh",pt[8]|0);he(this,"El",pt[9]|0);he(this,"Fh",pt[10]|0);he(this,"Fl",pt[11]|0);he(this,"Gh",pt[12]|0);he(this,"Gl",pt[13]|0);he(this,"Hh",pt[14]|0);he(this,"Hl",pt[15]|0)}};var xc=zo(()=>new As,Zo(1));var bc=zo(()=>new ns,Zo(3));var bf=z=>z[0]==="\u3042\u3044\u3053\u304F\u3057\u3093";function wc(z){if(typeof z!="string")throw new TypeError("invalid mnemonic type: "+typeof z);return z.normalize("NFKD")}function wf(z){let _=wc(z),Z=_.split(" ");if(![12,15,18,21,24].includes(Z.length))throw new Error("Invalid mnemonic");return{nfkd:_,words:Z}}function mf(z){if(vA(z),![16,20,24,28,32].includes(z.length))throw new Error("invalid entropy length")}function mc(z,_=128){if(XA(_),_%32!==0||_>256)throw new TypeError("Invalid entropy");return Hf(gc(_/8),z)}var Df=z=>{let _=8-z.length/4;return new Uint8Array([xc(z)[0]>>_<<_])};function Sf(z){if(!Array.isArray(z)||z.length!==2048||typeof z[0]!="string")throw new Error("Wordlist: expected array of 2048 strings");return z.forEach(_=>{if(typeof _!="string")throw new Error("wordlist: non-string element: "+_)}),Nn.chain(Nn.checksum(1,Df),Nn.radix2(11,!0),Nn.alphabet(z))}function Hf(z,_){return mf(z),Sf(_).encode(z).join(bf(_)?"\u3000":" ")}var kf=z=>wc("mnemonic"+z);function Dc(z,_=""){return fc(bc,wf(z).nfkd,kf(_),{c:2048,dkLen:64})}be();var Sc=`abandon
|
|
2
2
|
ability
|
|
3
3
|
able
|
|
4
4
|
about
|
|
@@ -2046,9 +2046,9 @@ zebra
|
|
|
2046
2046
|
zero
|
|
2047
2047
|
zone
|
|
2048
2048
|
zoo`.split(`
|
|
2049
|
-
`);var uA=class{async deriveKeypair(_){if(!_.seed)throw new Error("BIP32 derivation requires a seed");if(!_.path)throw new Error(`BIP32 derivation requires a path (e.g., "m/44'/0'/0'/0/0")`);try{let X=
|
|
2049
|
+
`);var uA=class{async deriveKeypair(_){if(!_.seed)throw new Error("BIP32 derivation requires a seed");if(!_.path)throw new Error(`BIP32 derivation requires a path (e.g., "m/44'/0'/0'/0/0")`);try{let X=vi.fromMasterSeed(_.seed).derive(_.path);if(!X.privateKey)throw new Error(`Failed to derive private key at path ${_.path}`);if(!X.publicKey)throw new Error(`Failed to derive public key at path ${_.path}`);return{privateKey:X.privateKey,publicKey:X.publicKey}}catch(Z){throw new Error(`BIP32 derivation failed at path ${_.path}: ${Z instanceof Error?Z.message:String(Z)}`)}}mnemonicToSeed(_,Z){return Dc(_,Z)}generateMnemonic(_=256){return mc(Sc,_)}static bitcoinPath(_=0,Z=0,X=0){return`m/44'/0'/${_}'/${Z}/${X}`}static bitcoinSegWitPath(_=0,Z=0,X=0){return`m/84'/0'/${_}'/${Z}/${X}`}};be();var Hc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function Gf(z){let _=0n;for(let X of z)_=_*256n+BigInt(X);let Z="";for(;_>0n;){let X=Number(_%58n);Z=Hc[X]+Z,_=_/58n}for(let X of z){if(X!==0)break;Z="1"+Z}return Z}function vf(z){let _=0n;for(let X of z){let ee=Hc.indexOf(X);if(ee===-1)throw new Error(`Invalid Base58 character: ${X}`);_=_*58n+BigInt(ee)}let Z=[];for(;_>0n;)Z.unshift(Number(_%256n)),_=_/256n;for(let X of z){if(X!=="1")break;Z.unshift(0)}return new Uint8Array(Z)}function is(z,_=!0,Z="mainnet"){if(z.length!==32)throw new Error("Private key must be 32 bytes");let X=Z==="mainnet"?128:239,ee=new Uint8Array(_?34:33);ee[0]=X,ee.set(z,1),_&&(ee[33]=1);let re=yr(ee),ae=yr(re).slice(0,4),fe=new Uint8Array(ee.length+4);return fe.set(ee),fe.set(ae,ee.length),Gf(fe)}function os(z){let _=vf(z);if(_.length!==37&&_.length!==38)throw new Error("Invalid WIF length");let Z=_.slice(0,-4),X=_.slice(-4),ee=yr(Z),ie=yr(ee).slice(0,4);if(!X.every((ce,Ee)=>ce===ie[Ee]))throw new Error("Invalid WIF checksum");let ae=Z[0],fe=ae===128?"mainnet":ae===239?"testnet":null;if(!fe)throw new Error(`Invalid WIF version byte: 0x${ae.toString(16)}`);let le=Z.length===34&&Z[33]===1;return{privateKey:Z.slice(1,33),compressed:le,network:fe}}pn.hmacSha256Sync=(z,..._)=>io(yr,z,pn.concatBytes(..._));var tn=class{constructor(){he(this,"suiteId","bsv-ecdsa-secp256k1");he(this,"version","1.0.0");he(this,"capabilities",{derivation:new uA})}async generateKeypair(){let _=J0.randomPrivateKey(),Z=R0(_,!0);return{privateKey:_,publicKey:Z}}async sign(_,Z){try{return(await M0(Z,_)).toCompactRawBytes()}catch(X){throw new Error(`BsvEcdsaSuite signing failed: ${X instanceof Error?X.message:String(X)}`)}}async verify(_,Z,X){try{return q0(X,Z,_)}catch{return!1}}exportPublicKey(_){return hn(_)}importPublicKey(_){return Mr(_)}exportPrivateKey(_){return is(_,!0,"mainnet")}importPrivateKey(_){if(_.length===64){let Z=Mr(_);if(Z.length!==32)throw new Error("Private key must be 32 bytes");return Z}else try{let{privateKey:Z}=os(_);return Z}catch(Z){throw new Error(`Invalid private key format: ${Z instanceof Error?Z.message:String(Z)}`)}}};be();var ss=null;async function as(){if(!ss){let z=await Promise.resolve().then(()=>Kc(kc(),1));ss=z.default||z}return ss}var cs={"ml-dsa-44":{publicKey:1312,privateKey:2560,signature:2420},"ml-dsa-65":{publicKey:1952,privateKey:4032,signature:3309},"ml-dsa-87":{publicKey:2592,privateKey:4864,signature:4627}},qn=class{constructor(){he(this,"version","1.0.0");he(this,"capabilities",{})}async generateKeypair(){try{let Z=await(await as()).keyPair();return{publicKey:new Uint8Array(Z.publicKey),privateKey:new Uint8Array(Z.privateKey)}}catch(_){throw new Error(`${this.suiteId} key generation failed: ${_ instanceof Error?_.message:String(_)}`)}}async sign(_,Z){try{let ee=await(await as()).signDetached(Buffer.from(Z),Buffer.from(_));return new Uint8Array(ee)}catch(X){throw new Error(`${this.suiteId} signing failed: ${X instanceof Error?X.message:String(X)}`)}}async verify(_,Z,X){try{return await(await as()).verifyDetached(Buffer.from(X),Buffer.from(Z),Buffer.from(_))}catch{return!1}}exportPublicKey(_){return hn(_)}importPublicKey(_){let Z=Mr(_);if(Z.length!==this.sizes.publicKey)throw new Error(`${this.suiteId} public key must be ${this.sizes.publicKey} bytes, got ${Z.length}`);return Z}exportPrivateKey(_){return hn(_)}importPrivateKey(_){let Z=Mr(_);if(Z.length!==this.sizes.privateKey)throw new Error(`${this.suiteId} private key must be ${this.sizes.privateKey} bytes, got ${Z.length}`);return Z}},On=class extends qn{constructor(){super(...arguments);he(this,"suiteId","ml-dsa-44")}get sizes(){return cs["ml-dsa-44"]}},An=class extends qn{constructor(){super(...arguments);he(this,"suiteId","ml-dsa-65")}get sizes(){return cs["ml-dsa-65"]}},rn=class extends qn{constructor(){super(...arguments);he(this,"suiteId","ml-dsa-87")}get sizes(){return cs["ml-dsa-87"]}},Jn=class extends An{};var Fi=class{constructor(_){this.keyCounter=new Map;this.counterInitialized=new Set;this.counterInitPromises=new Map;this.keyRegistry=_.keyRegistry,this.suiteRegistry=_.suiteRegistry}async createKey(_,Z,X={}){let ee=this.suiteRegistry.getSuite(Z.primarySignatureSuite),re;if(X.derivationContext){if(!ee.capabilities?.derivation){let Ce=this.getSuitesWithCapability("derivation");throw new Error(`Suite '${ee.suiteId}' does not support key derivation.
|
|
2050
2050
|
`+(Ce.length>0?`Suites with derivation capability: ${Ce.join(", ")}
|
|
2051
|
-
Consider using one of these suites or remove the derivationContext option.`:"No suites currently support derivation. Remove the derivationContext option."))}
|
|
2051
|
+
Consider using one of these suites or remove the derivationContext option.`:"No suites currently support derivation. Remove the derivationContext option."))}re=await ee.capabilities.derivation.deriveKeypair(X.derivationContext)}else re=await ee.generateKeypair();let ie=await this.getNextCounter(_),ae=Z.primarySignatureSuite.split("-")[0],fe=`${_}:pk-${ae}-${ie}`;return{meta:await this.keyRegistry.registerKey(fe,re,Z.primarySignatureSuite,{expiresAt:X.expiresAt,usage:X.usage||["signing"],cryptoProfileVersion:X.cryptoProfileVersion||"1.0.0"}),publicKey:re.publicKey}}async getKey(_){let Z=await this.keyRegistry.getPublicKey(_);return Z?{meta:Z.meta,publicKey:Z.publicKey}:null}async signWithKey(_,Z){let X=await this.keyRegistry.getKey(_);if(!X)throw new Error(`Key not found: ${_}`);if(X.meta.status!=="active")throw new Error(`Key is not active: ${_} (status: ${X.meta.status})`);let ee=this.suiteRegistry.getSuite(X.meta.suiteId),re=this.getHashAlgorithm(X.meta.suiteId),ie=await ri(Z,re);return await ee.sign(X.keypair.privateKey,ie)}async verifySignature(_,Z,X){let ee=await this.keyRegistry.getPublicKey(_);if(!ee)return!1;let re=this.suiteRegistry.getSuite(ee.meta.suiteId),ie=this.getHashAlgorithm(ee.meta.suiteId),ae=await ri(Z,ie);try{return await re.verify(ee.publicKey,ae,X)}catch{return!1}}async listKeysForAgent(_,Z=!0){let ee=(Z?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(ie=>ie.keyId.startsWith(`${_}:`)),re=[];for(let ie of ee){let ae=await this.keyRegistry.getPublicKey(ie.keyId);ae&&re.push({meta:ae.meta,publicKey:ae.publicKey})}return re}async getActiveCryptoProfile(_){let Z=await this.listKeysForAgent(_,!0);if(Z.length===0)return null;let X=this.sortKeysByCreatedAt(Z),ee=new Set(X.map(ie=>ie.meta.suiteId)),re=Array.from(ee);return{primarySignatureSuite:re[0],secondarySignatureSuite:re[1]}}async rotateAgentKeys(_){let Z=await this.listKeysForAgent(_,!0),X=[];for(let ee of Z){let ie=await this.suiteRegistry.getSuite(ee.meta.suiteId).generateKeypair(),ae=await this.getNextCounter(_),fe=ee.meta.suiteId.split("-")[0],le=`${_}:pk-${fe}-${ae}`,Ce=await this.keyRegistry.rotateKey(ee.meta.keyId,le,ie);X.push({meta:Ce,publicKey:ie.publicKey})}return X}async getOrCreateKey(_,Z,X={}){let re=(await this.listKeysForAgent(_,!0)).find(ie=>ie.meta.suiteId===Z.primarySignatureSuite);return re||await this.createKey(_,Z,X)}async createDualSignatureKeys(_,Z,X={}){if(!Z.secondarySignatureSuite)throw new Error("secondarySignatureSuite is required to create dual signature keys");let ee=await this.createKey(_,{primarySignatureSuite:Z.primarySignatureSuite},X),re=await this.createKey(_,{primarySignatureSuite:Z.secondarySignatureSuite},X);return{primaryKey:ee,secondaryKey:re}}async getOrCreateDualSignatureKeys(_,Z,X={}){if(!Z.secondarySignatureSuite)throw new Error("secondarySignatureSuite is required to create dual signature keys");let ee=await this.getOrCreateKey(_,{primarySignatureSuite:Z.primarySignatureSuite},X),re=await this.getOrCreateKey(_,{primarySignatureSuite:Z.secondarySignatureSuite},X);return{primaryKey:ee,secondaryKey:re}}async signWithSuites(_,Z,X){let ee=this.sortKeysByCreatedAt(await this.listKeysForAgent(_,!0));if(ee.length===0)throw new Error(`No active keys found for agent: ${_}`);let re=X?.length?X:Array.from(new Set(ee.map(ae=>ae.meta.suiteId))),ie=[];for(let ae of re){let fe=ee.find(Ce=>Ce.meta.suiteId===ae);if(!fe)throw new Error(`No active key for suite '${ae}' and agent '${_}'`);let le=await this.signWithKey(fe.meta.keyId,Z);ie.push({suiteId:ae,keyId:fe.meta.keyId,signature:le})}return{signatures:ie}}async verifyWithSuites(_,Z,X){let ee=[];for(let re of X)try{let ie=await this.verifySignature(re.keyId,Z,re.signature);ee.push({suiteId:re.suiteId,keyId:re.keyId,valid:ie})}catch(ie){ee.push({suiteId:re.suiteId,keyId:re.keyId,valid:!1,error:ie.message})}return{results:ee,allValid:ee.every(re=>re.valid)}}generateMnemonic(_=256){return new uA().generateMnemonic(_)}async createKeyFromMnemonic(_,Z,X,ee=uA.bitcoinPath(0,0,0),re,ie={}){let fe=new uA().mnemonicToSeed(X,re);return await this.createKey(_,Z,{...ie,derivationContext:{seed:fe,path:ee}})}getCapabilities(_){let Z=this.suiteRegistry.getSuite(_),X=[];return Z.capabilities?.derivation&&X.push("derivation"),Z.capabilities?.encryption&&X.push("encryption"),Z.capabilities?.threshold&&X.push("threshold"),X}getSuitesWithCapability(_){return this.suiteRegistry.getAllSuites().filter(X=>!!X.capabilities?.[_]).map(X=>X.suiteId)}async createBitcoinWalletKey(_,Z,X=0,ee=0,re=!1,ie={}){let ae=uA.bitcoinPath(X,re?1:0,ee);return this.createKeyFromMnemonic(_,{primarySignatureSuite:"bsv-ecdsa-secp256k1"},Z,ae,void 0,ie)}getHashAlgorithm(_){return _.startsWith("ml-dsa")?"sha3-256":"sha256"}async getNextCounter(_){if(!this.counterInitialized.has(_)){if(!this.counterInitPromises.has(_)){let re=(async()=>{let ae=(await this.keyRegistry.listKeys()).reduce((fe,le)=>{if(!le.keyId.startsWith(`${_}:pk-`))return fe;let Ce=le.keyId.match(/:pk-[^-]+-(\d+)$/);if(!Ce)return fe;let ce=parseInt(Ce[1],10);return Number.isFinite(ce)?Math.max(fe,ce):fe},0);this.keyCounter.set(_,ae),this.counterInitialized.add(_),this.counterInitPromises.delete(_)})();this.counterInitPromises.set(_,re)}let ee=this.counterInitPromises.get(_);ee&&await ee}let X=(this.keyCounter.get(_)||0)+1;return this.keyCounter.set(_,X),X}sortKeysByCreatedAt(_){return[..._].sort((Z,X)=>{let ee=new Date(Z.meta.createdAt).getTime(),re=new Date(X.meta.createdAt).getTime();if(ee!==re)return ee-re;let ie=this.getSuitePriority(Z.meta.suiteId)-this.getSuitePriority(X.meta.suiteId);return ie!==0?ie:Z.meta.keyId.localeCompare(X.meta.keyId)})}getSuitePriority(_){return _.startsWith("ml-dsa")?0:_.includes("ecdsa")?1:2}};be();async function gs(){let z=new JA,_=new dn(z),Z=new gr;return Z.register(new tn),Z.register(new On),Z.register(new An),Z.register(new rn),Z.register(new Jn),new Fi({keyRegistry:_,suiteRegistry:Z})}var Uf={createKeySDK:gs};typeof window<"u"&&(window.LumenKeys={createKeySDK:gs});return Mc(Lf);})();
|
|
2052
2052
|
/*! Bundled license information:
|
|
2053
2053
|
|
|
2054
2054
|
@noble/hashes/utils.js:
|