blockcore-notes/472.61355b12e1e319d1.js
2023-02-15 12:43:07 +00:00

1 line
119 KiB
JavaScript

(()=>{var a,se,Xn={5521:(se,a)=>{"use strict";function _(l){if(!Number.isSafeInteger(l))throw new Error(`Wrong integer: ${l}`)}function N(...l){const u=(j,A)=>Z=>j(A(Z));return{encode:Array.from(l).reverse().reduce((j,A)=>j?u(j,A.encode):A.encode,void 0),decode:l.reduce((j,A)=>j?u(j,A.decode):A.decode,void 0)}}function d(l){return{encode:u=>{if(!Array.isArray(u)||u.length&&"number"!=typeof u[0])throw new Error("alphabet.encode input should be an array of numbers");return u.map(y=>{if(_(y),y<0||y>=l.length)throw new Error(`Digit index outside alphabet: ${y} (alphabet: ${l.length})`);return l[y]})},decode:u=>{if(!Array.isArray(u)||u.length&&"string"!=typeof u[0])throw new Error("alphabet.decode input should be array of strings");return u.map(y=>{if("string"!=typeof y)throw new Error(`alphabet.decode: not string element=${y}`);const L=l.indexOf(y);if(-1===L)throw new Error(`Unknown letter: "${y}". Allowed: ${l}`);return L})}}}function U(l=""){if("string"!=typeof l)throw new Error("join separator should be string");return{encode:u=>{if(!Array.isArray(u)||u.length&&"string"!=typeof u[0])throw new Error("join.encode input should be array of strings");for(let y of u)if("string"!=typeof y)throw new Error(`join.encode: non-string input=${y}`);return u.join(l)},decode:u=>{if("string"!=typeof u)throw new Error("join.decode input should be string");return u.split(l)}}}function X(l,u="="){if(_(l),"string"!=typeof u)throw new Error("padding chr should be string");return{encode(y){if(!Array.isArray(y)||y.length&&"string"!=typeof y[0])throw new Error("padding.encode input should be array of strings");for(let L of y)if("string"!=typeof L)throw new Error(`padding.encode: non-string input=${L}`);for(;y.length*l%8;)y.push(u);return y},decode(y){if(!Array.isArray(y)||y.length&&"string"!=typeof y[0])throw new Error("padding.encode input should be array of strings");for(let j of y)if("string"!=typeof j)throw new Error(`padding.decode: non-string input=${j}`);let L=y.length;if(L*l%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;L>0&&y[L-1]===u;L--)if(!((L-1)*l%8))throw new Error("Invalid padding: string has too much padding");return y.slice(0,L)}}}function ee(l){if("function"!=typeof l)throw new Error("normalize fn should be function");return{encode:u=>u,decode:u=>l(u)}}function x(l,u,y){if(u<2)throw new Error(`convertRadix: wrong from=${u}, base cannot be less than 2`);if(y<2)throw new Error(`convertRadix: wrong to=${y}, base cannot be less than 2`);if(!Array.isArray(l))throw new Error("convertRadix: data should be array");if(!l.length)return[];let L=0;const j=[],A=Array.from(l);for(A.forEach(Z=>{if(_(Z),Z<0||Z>=u)throw new Error(`Wrong integer: ${Z}`)});;){let Z=0,le=!0;for(let he=L;he<A.length;he++){const be=A[he],q=u*Z+be;if(!Number.isSafeInteger(q)||u*Z/u!==Z||q-be!=u*Z)throw new Error("convertRadix: carry overflow");if(Z=q%y,A[he]=Math.floor(q/y),!Number.isSafeInteger(A[he])||A[he]*y+Z!==q)throw new Error("convertRadix: carry overflow");le&&(A[he]?le=!1:L=he)}if(j.push(Z),le)break}for(let Z=0;Z<l.length-1&&0===l[Z];Z++)j.push(0);return j.reverse()}Object.defineProperty(a,"__esModule",{value:!0}),a.bytes=a.stringToBytes=a.str=a.bytesToString=a.hex=a.utf8=a.bech32m=a.bech32=a.base58check=a.base58xmr=a.base58xrp=a.base58flickr=a.base58=a.base64url=a.base64=a.base32crockford=a.base32hex=a.base32=a.base16=a.utils=a.assertNumber=void 0,a.assertNumber=_;const w=(l,u)=>u?w(u,l%u):l,O=(l,u)=>l+(u-w(l,u));function M(l,u,y,L){if(!Array.isArray(l))throw new Error("convertRadix2: data should be array");if(u<=0||u>32)throw new Error(`convertRadix2: wrong from=${u}`);if(y<=0||y>32)throw new Error(`convertRadix2: wrong to=${y}`);if(O(u,y)>32)throw new Error(`convertRadix2: carry overflow from=${u} to=${y} carryBits=${O(u,y)}`);let j=0,A=0;const Z=2**y-1,le=[];for(const he of l){if(_(he),he>=2**u)throw new Error(`convertRadix2: invalid data word=${he} from=${u}`);if(j=j<<u|he,A+u>32)throw new Error(`convertRadix2: carry overflow pos=${A} from=${u}`);for(A+=u;A>=y;A-=y)le.push((j>>A-y&Z)>>>0);j&=2**A-1}if(j=j<<y-A&Z,!L&&A>=u)throw new Error("Excess padding");if(!L&&j)throw new Error(`Non-zero padding: ${j}`);return L&&A>0&&le.push(j>>>0),le}function I(l){return _(l),{encode:u=>{if(!(u instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return x(Array.from(u),256,l)},decode:u=>{if(!Array.isArray(u)||u.length&&"number"!=typeof u[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(x(u,l,256))}}}function H(l,u=!1){if(_(l),l<=0||l>32)throw new Error("radix2: bits should be in (0..32]");if(O(8,l)>32||O(l,8)>32)throw new Error("radix2: carry overflow");return{encode:y=>{if(!(y instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return M(Array.from(y),8,l,!u)},decode:y=>{if(!Array.isArray(y)||y.length&&"number"!=typeof y[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(M(y,l,8,u))}}}function z(l){if("function"!=typeof l)throw new Error("unsafeWrapper fn should be function");return function(...u){try{return l.apply(null,u)}catch{}}}function G(l,u){if(_(l),"function"!=typeof u)throw new Error("checksum fn should be function");return{encode(y){if(!(y instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const L=u(y).slice(0,l),j=new Uint8Array(y.length+l);return j.set(y),j.set(L,y.length),j},decode(y){if(!(y instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const L=y.slice(0,-l),j=u(L).slice(0,l),A=y.slice(-l);for(let Z=0;Z<l;Z++)if(j[Z]!==A[Z])throw new Error("Invalid checksum");return L}}}a.utils={alphabet:d,chain:N,checksum:G,radix:I,radix2:H,join:U,padding:X},a.base16=N(H(4),d("0123456789ABCDEF"),U("")),a.base32=N(H(5),d("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),X(5),U("")),a.base32hex=N(H(5),d("0123456789ABCDEFGHIJKLMNOPQRSTUV"),X(5),U("")),a.base32crockford=N(H(5),d("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),U(""),ee(l=>l.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),a.base64=N(H(6),d("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),X(6),U("")),a.base64url=N(H(6),d("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),X(6),U(""));const Y=l=>N(I(58),d(l),U(""));a.base58=Y("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),a.base58flickr=Y("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),a.base58xrp=Y("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const W=[0,2,3,5,6,7,9,10,11];a.base58xmr={encode(l){let u="";for(let y=0;y<l.length;y+=8){const L=l.subarray(y,y+8);u+=a.base58.encode(L).padStart(W[L.length],"1")}return u},decode(l){let u=[];for(let y=0;y<l.length;y+=11){const L=l.slice(y,y+11),j=W.indexOf(L.length),A=a.base58.decode(L);for(let Z=0;Z<A.length-j;Z++)if(0!==A[Z])throw new Error("base58xmr: wrong padding");u=u.concat(Array.from(A.slice(A.length-j)))}return Uint8Array.from(u)}},a.base58check=l=>N(G(4,u=>l(l(u))),a.base58);const V=N(d("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),U("")),Q=[996825010,642813549,513874426,1027748829,705979059];function T(l){const u=l>>25;let y=(33554431&l)<<5;for(let L=0;L<Q.length;L++)1==(u>>L&1)&&(y^=Q[L]);return y}function te(l,u,y=1){const L=l.length;let j=1;for(let A=0;A<L;A++){const Z=l.charCodeAt(A);if(Z<33||Z>126)throw new Error(`Invalid prefix (${l})`);j=T(j)^Z>>5}j=T(j);for(let A=0;A<L;A++)j=T(j)^31&l.charCodeAt(A);for(let A of u)j=T(j)^A;for(let A=0;A<6;A++)j=T(j);return j^=y,V.encode(M([j%1073741824],30,5,!1))}function S(l){const u="bech32"===l?1:734539939,y=H(5),L=y.decode,j=y.encode,A=z(L);function le(q,ie=90){if("string"!=typeof q)throw new Error("bech32.decode input should be string, not "+typeof q);if(q.length<8||!1!==ie&&q.length>ie)throw new TypeError(`Wrong string length: ${q.length} (${q}). Expected (8..${ie})`);const pe=q.toLowerCase();if(q!==pe&&q!==q.toUpperCase())throw new Error("String must be lowercase or uppercase");const E=(q=pe).lastIndexOf("1");if(0===E||-1===E)throw new Error('Letter "1" must be present between prefix and data only');const de=q.slice(0,E),He=q.slice(E+1);if(He.length<6)throw new Error("Data must be at least 6 characters long");const ve=V.decode(He).slice(0,-6),Pe=te(de,ve,u);if(!He.endsWith(Pe))throw new Error(`Invalid checksum in ${q}: expected "${Pe}"`);return{prefix:de,words:ve}}return{encode:function Z(q,ie,pe=90){if("string"!=typeof q)throw new Error("bech32.encode prefix should be string, not "+typeof q);if(!Array.isArray(ie)||ie.length&&"number"!=typeof ie[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof ie);const E=q.length+7+ie.length;if(!1!==pe&&E>pe)throw new TypeError(`Length ${E} exceeds limit ${pe}`);return`${q=q.toLowerCase()}1${V.encode(ie)}${te(q,ie,u)}`},decode:le,decodeToBytes:function be(q){const{prefix:ie,words:pe}=le(q,!1);return{prefix:ie,words:pe,bytes:L(pe)}},decodeUnsafe:z(le),fromWords:L,fromWordsUnsafe:A,toWords:j}}a.bech32=S("bech32"),a.bech32m=S("bech32m"),a.utf8={encode:l=>(new TextDecoder).decode(l),decode:l=>(new TextEncoder).encode(l)},a.hex=N(H(4),d("0123456789abcdef"),U(""),ee(l=>{if("string"!=typeof l||l.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof l} with length ${l.length}`);return l.toLowerCase()}));const h={utf8:a.utf8,hex:a.hex,base16:a.base16,base32:a.base32,base64:a.base64,base64url:a.base64url,base58:a.base58,base58xmr:a.base58xmr},k=`Invalid encoding type. Available types: ${Object.keys(h).join(", ")}`;a.bytesToString=(l,u)=>{if("string"!=typeof l||!h.hasOwnProperty(l))throw new TypeError(k);if(!(u instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return h[l].encode(u)},a.str=a.bytesToString,a.stringToBytes=(l,u)=>{if(!h.hasOwnProperty(l))throw new TypeError(k);if("string"!=typeof u)throw new TypeError("stringToBytes() expects string");return h[l].decode(u)},a.bytes=a.stringToBytes},6837:(se,a,_)=>{"use strict";a.Z1=a._I=a.OF=void 0;const d=_(5729),U=_(9522),X=_(8519),ee=_(27),x=_(7507),w=_(5521);function M(S){if("string"!=typeof S)throw new TypeError("Invalid mnemonic type: "+typeof S);return S.normalize("NFKD")}function I(S){const h=M(S),k=h.split(" ");if(![12,15,18,21,24].includes(k.length))throw new Error("Invalid mnemonic");return{nfkd:h,words:k}}function H(S){d.default.bytes(S,16,20,24,28,32)}a.OF=function z(S,h=128){if(d.default.number(h),h%32!=0||h>256)throw new TypeError("Invalid entropy");return function R(S,h){return H(S),Y(h).encode(S).join((S=>"\u3042\u3044\u3053\u304f\u3057\u3093"===S[0])(h)?"\u3000":" ")}((0,x.randomBytes)(h/8),S)};const G=S=>{const h=8-S.length/4;return new Uint8Array([(0,X.sha256)(S)[0]>>h<<h])};function Y(S){if(!Array.isArray(S)||2048!==S.length||"string"!=typeof S[0])throw new Error("Worlist: expected array of 2048 strings");return S.forEach(h=>{if("string"!=typeof h)throw new Error(`Wordlist: non-string element: ${h}`)}),w.utils.chain(w.utils.checksum(1,G),w.utils.radix2(11,!0),w.utils.alphabet(S))}a._I=function V(S,h){try{!function W(S,h){const{words:k}=I(S),$=Y(h).decode(k);return H($),$}(S,h)}catch{return!1}return!0};a.Z1=function te(S,h=""){return(0,U.pbkdf2)(ee.sha512,I(S).nfkd,(S=>M(`mnemonic${S}`))(h),{c:2048,dkLen:64})}},5729:(se,a)=>{"use strict";function _(w){if(!Number.isSafeInteger(w)||w<0)throw new Error(`Wrong positive integer: ${w}`)}function N(w){if("boolean"!=typeof w)throw new Error(`Expected boolean, not ${w}`)}function d(w,...O){if(!(w instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(O.length>0&&!O.includes(w.length))throw new TypeError(`Expected Uint8Array of length ${O}, not of length=${w.length}`)}function U(w){if("function"!=typeof w||"function"!=typeof w.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");_(w.outputLen),_(w.blockLen)}function X(w,O=!0){if(w.destroyed)throw new Error("Hash instance has been destroyed");if(O&&w.finished)throw new Error("Hash#digest() has already been called")}function ee(w,O){d(w);const M=O.outputLen;if(w.length<M)throw new Error(`digestInto() expects output buffer of length at least ${M}`)}Object.defineProperty(a,"__esModule",{value:!0}),a.output=a.exists=a.hash=a.bytes=a.bool=a.number=void 0,a.number=_,a.bool=N,a.bytes=d,a.hash=U,a.exists=X,a.output=ee,a.default={number:_,bool:N,bytes:d,hash:U,exists:X,output:ee}},4206:(se,a,_)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.SHA2=void 0;const N=_(5729),d=_(7507);a.SHA2=class X extends d.Hash{constructor(x,w,O,M){super(),this.blockLen=x,this.outputLen=w,this.padOffset=O,this.isLE=M,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(x),this.view=(0,d.createView)(this.buffer)}update(x){N.default.exists(this);const{view:w,buffer:O,blockLen:M}=this,I=(x=(0,d.toBytes)(x)).length;for(let H=0;H<I;){const z=Math.min(M-this.pos,I-H);if(z!==M)O.set(x.subarray(H,H+z),this.pos),this.pos+=z,H+=z,this.pos===M&&(this.process(w,0),this.pos=0);else{const G=(0,d.createView)(x);for(;M<=I-H;H+=M)this.process(G,H)}}return this.length+=x.length,this.roundClean(),this}digestInto(x){N.default.exists(this),N.default.output(x,this),this.finished=!0;const{buffer:w,view:O,blockLen:M,isLE:I}=this;let{pos:H}=this;w[H++]=128,this.buffer.subarray(H).fill(0),this.padOffset>M-H&&(this.process(O,0),H=0);for(let R=H;R<M;R++)w[R]=0;(function U(ee,x,w,O){if("function"==typeof ee.setBigUint64)return ee.setBigUint64(x,w,O);const M=BigInt(32),I=BigInt(4294967295),H=Number(w>>M&I),z=Number(w&I),Y=O?0:4;ee.setUint32(x+(O?4:0),H,O),ee.setUint32(x+Y,z,O)})(O,M-8,BigInt(8*this.length),I),this.process(O,0);const z=(0,d.createView)(x),G=this.outputLen;if(G%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const Y=G/4,W=this.get();if(Y>W.length)throw new Error("_sha2: outputLen bigger than state");for(let R=0;R<Y;R++)z.setUint32(4*R,W[R],I)}digest(){const{buffer:x,outputLen:w}=this;this.digestInto(x);const O=x.slice(0,w);return this.destroy(),O}_cloneInto(x){x||(x=new this.constructor),x.set(...this.get());const{blockLen:w,buffer:O,length:M,finished:I,destroyed:H,pos:z}=this;return x.length=M,x.pos=z,x.finished=I,x.destroyed=H,M%w&&x.buffer.set(O),x}}},9027:(se,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.add=a.toBig=a.split=a.fromBig=void 0;const _=BigInt(2**32-1),N=BigInt(32);function d(m,l=!1){return l?{h:Number(m&_),l:Number(m>>N&_)}:{h:0|Number(m>>N&_),l:0|Number(m&_)}}function U(m,l=!1){let u=new Uint32Array(m.length),y=new Uint32Array(m.length);for(let L=0;L<m.length;L++){const{h:j,l:A}=d(m[L],l);[u[L],y[L]]=[j,A]}return[u,y]}function V(m,l,u,y){const L=(l>>>0)+(y>>>0);return{h:m+u+(L/4294967296|0)|0,l:0|L}}a.fromBig=d,a.split=U,a.toBig=(m,l)=>BigInt(m>>>0)<<N|BigInt(l>>>0),a.add=V,a.default={fromBig:d,split:U,toBig:a.toBig,shrSH:(m,l,u)=>m>>>u,shrSL:(m,l,u)=>m<<32-u|l>>>u,rotrSH:(m,l,u)=>m>>>u|l<<32-u,rotrSL:(m,l,u)=>m<<32-u|l>>>u,rotrBH:(m,l,u)=>m<<64-u|l>>>u-32,rotrBL:(m,l,u)=>m>>>u-32|l<<64-u,rotr32H:(m,l)=>l,rotr32L:(m,l)=>m,rotlSH:(m,l,u)=>m<<u|l>>>32-u,rotlSL:(m,l,u)=>l<<u|m>>>32-u,rotlBH:(m,l,u)=>l<<u-32|m>>>64-u,rotlBL:(m,l,u)=>m<<u-32|l>>>64-u,add:V,add3L:(m,l,u)=>(m>>>0)+(l>>>0)+(u>>>0),add3H:(m,l,u,y)=>l+u+y+(m/2**32|0)|0,add4L:(m,l,u,y)=>(m>>>0)+(l>>>0)+(u>>>0)+(y>>>0),add4H:(m,l,u,y,L)=>l+u+y+L+(m/2**32|0)|0,add5H:(m,l,u,y,L,j)=>l+u+y+L+j+(m/2**32|0)|0,add5L:(m,l,u,y,L)=>(m>>>0)+(l>>>0)+(u>>>0)+(y>>>0)+(L>>>0)}},7882:(se,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.crypto=void 0,a.crypto={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0}},602:(se,a,_)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.hmac=void 0;const N=_(5729),d=_(7507);class U extends d.Hash{constructor(x,w){super(),this.finished=!1,this.destroyed=!1,N.default.hash(x);const O=(0,d.toBytes)(w);if(this.iHash=x.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const M=this.blockLen,I=new Uint8Array(M);I.set(O.length>M?x.create().update(O).digest():O);for(let H=0;H<I.length;H++)I[H]^=54;this.iHash.update(I),this.oHash=x.create();for(let H=0;H<I.length;H++)I[H]^=106;this.oHash.update(I),I.fill(0)}update(x){return N.default.exists(this),this.iHash.update(x),this}digestInto(x){N.default.exists(this),N.default.bytes(x,this.outputLen),this.finished=!0,this.iHash.digestInto(x),this.oHash.update(x),this.oHash.digestInto(x),this.destroy()}digest(){const x=new Uint8Array(this.oHash.outputLen);return this.digestInto(x),x}_cloneInto(x){x||(x=Object.create(Object.getPrototypeOf(this),{}));const{oHash:w,iHash:O,finished:M,destroyed:I,blockLen:H,outputLen:z}=this;return x.finished=M,x.destroyed=I,x.blockLen=H,x.outputLen=z,x.oHash=w._cloneInto(x.oHash),x.iHash=O._cloneInto(x.iHash),x}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}a.hmac=(ee,x,w)=>new U(ee,x).update(w).digest(),a.hmac.create=(ee,x)=>new U(ee,x)},9522:(se,a,_)=>{"use strict";var N=_(9598).default;Object.defineProperty(a,"__esModule",{value:!0}),a.pbkdf2Async=a.pbkdf2=void 0;const d=_(5729),U=_(602),X=_(7507);function ee(I,H,z,G){d.default.hash(I);const Y=(0,X.checkOpts)({dkLen:32,asyncTick:10},G),{c:W,dkLen:R,asyncTick:V}=Y;if(d.default.number(W),d.default.number(R),d.default.number(V),W<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const Q=(0,X.toBytes)(H),T=(0,X.toBytes)(z),te=new Uint8Array(R),S=U.hmac.create(I,Q),h=S._cloneInto().update(T);return{c:W,dkLen:R,asyncTick:V,DK:te,PRF:S,PRFSalt:h}}function x(I,H,z,G,Y){return I.destroy(),H.destroy(),G&&G.destroy(),Y.fill(0),z}function M(){return(M=N(function*(I,H,z,G){const{c:Y,dkLen:W,asyncTick:R,DK:V,PRF:Q,PRFSalt:T}=ee(I,H,z,G);let te;const S=new Uint8Array(4),h=(0,X.createView)(S),k=new Uint8Array(Q.outputLen);for(let $=1,m=0;m<W;$++,m+=Q.outputLen){const l=V.subarray(m,m+Q.outputLen);h.setInt32(0,$,!1),(te=T._cloneInto(te)).update(S).digestInto(k),l.set(k.subarray(0,l.length)),yield(0,X.asyncLoop)(Y-1,R,u=>{Q._cloneInto(te).update(k).digestInto(k);for(let y=0;y<l.length;y++)l[y]^=k[y]})}return x(Q,T,V,te,k)})).apply(this,arguments)}a.pbkdf2=function w(I,H,z,G){const{c:Y,dkLen:W,DK:R,PRF:V,PRFSalt:Q}=ee(I,H,z,G);let T;const te=new Uint8Array(4),S=(0,X.createView)(te),h=new Uint8Array(V.outputLen);for(let k=1,$=0;$<W;k++,$+=V.outputLen){const m=R.subarray($,$+V.outputLen);S.setInt32(0,k,!1),(T=Q._cloneInto(T)).update(te).digestInto(h),m.set(h.subarray(0,m.length));for(let l=1;l<Y;l++){V._cloneInto(T).update(h).digestInto(h);for(let u=0;u<m.length;u++)m[u]^=h[u]}}return x(V,Q,R,T,h)},a.pbkdf2Async=function O(I,H,z,G){return M.apply(this,arguments)}},8519:(se,a,_)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.sha224=a.sha256=void 0;const N=_(4206),d=_(7507),U=(I,H,z)=>I&H^~I&z,X=(I,H,z)=>I&H^I&z^H&z,ee=new Uint32Array([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]),x=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),w=new Uint32Array(64);class O extends N.SHA2{constructor(){super(64,32,8,!1),this.A=0|x[0],this.B=0|x[1],this.C=0|x[2],this.D=0|x[3],this.E=0|x[4],this.F=0|x[5],this.G=0|x[6],this.H=0|x[7]}get(){const{A:H,B:z,C:G,D:Y,E:W,F:R,G:V,H:Q}=this;return[H,z,G,Y,W,R,V,Q]}set(H,z,G,Y,W,R,V,Q){this.A=0|H,this.B=0|z,this.C=0|G,this.D=0|Y,this.E=0|W,this.F=0|R,this.G=0|V,this.H=0|Q}process(H,z){for(let S=0;S<16;S++,z+=4)w[S]=H.getUint32(z,!1);for(let S=16;S<64;S++){const h=w[S-15],k=w[S-2],$=(0,d.rotr)(h,7)^(0,d.rotr)(h,18)^h>>>3,m=(0,d.rotr)(k,17)^(0,d.rotr)(k,19)^k>>>10;w[S]=m+w[S-7]+$+w[S-16]|0}let{A:G,B:Y,C:W,D:R,E:V,F:Q,G:T,H:te}=this;for(let S=0;S<64;S++){const k=te+((0,d.rotr)(V,6)^(0,d.rotr)(V,11)^(0,d.rotr)(V,25))+U(V,Q,T)+ee[S]+w[S]|0,m=((0,d.rotr)(G,2)^(0,d.rotr)(G,13)^(0,d.rotr)(G,22))+X(G,Y,W)|0;te=T,T=Q,Q=V,V=R+k|0,R=W,W=Y,Y=G,G=k+m|0}G=G+this.A|0,Y=Y+this.B|0,W=W+this.C|0,R=R+this.D|0,V=V+this.E|0,Q=Q+this.F|0,T=T+this.G|0,te=te+this.H|0,this.set(G,Y,W,R,V,Q,T,te)}roundClean(){w.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class M extends O{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}a.sha256=(0,d.wrapConstructor)(()=>new O),a.sha224=(0,d.wrapConstructor)(()=>new M)},27:(se,a,_)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.sha384=a.sha512_256=a.sha512_224=a.sha512=a.SHA512=void 0;const N=_(4206),d=_(9027),U=_(7507),[X,ee]=d.default.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(z=>BigInt(z))),x=new Uint32Array(80),w=new Uint32Array(80);class O extends N.SHA2{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:G,Al:Y,Bh:W,Bl:R,Ch:V,Cl:Q,Dh:T,Dl:te,Eh:S,El:h,Fh:k,Fl:$,Gh:m,Gl:l,Hh:u,Hl:y}=this;return[G,Y,W,R,V,Q,T,te,S,h,k,$,m,l,u,y]}set(G,Y,W,R,V,Q,T,te,S,h,k,$,m,l,u,y){this.Ah=0|G,this.Al=0|Y,this.Bh=0|W,this.Bl=0|R,this.Ch=0|V,this.Cl=0|Q,this.Dh=0|T,this.Dl=0|te,this.Eh=0|S,this.El=0|h,this.Fh=0|k,this.Fl=0|$,this.Gh=0|m,this.Gl=0|l,this.Hh=0|u,this.Hl=0|y}process(G,Y){for(let A=0;A<16;A++,Y+=4)x[A]=G.getUint32(Y),w[A]=G.getUint32(Y+=4);for(let A=16;A<80;A++){const Z=0|x[A-15],le=0|w[A-15],he=d.default.rotrSH(Z,le,1)^d.default.rotrSH(Z,le,8)^d.default.shrSH(Z,le,7),be=d.default.rotrSL(Z,le,1)^d.default.rotrSL(Z,le,8)^d.default.shrSL(Z,le,7),q=0|x[A-2],ie=0|w[A-2],pe=d.default.rotrSH(q,ie,19)^d.default.rotrBH(q,ie,61)^d.default.shrSH(q,ie,6),E=d.default.rotrSL(q,ie,19)^d.default.rotrBL(q,ie,61)^d.default.shrSL(q,ie,6),de=d.default.add4L(be,E,w[A-7],w[A-16]),He=d.default.add4H(de,he,pe,x[A-7],x[A-16]);x[A]=0|He,w[A]=0|de}let{Ah:W,Al:R,Bh:V,Bl:Q,Ch:T,Cl:te,Dh:S,Dl:h,Eh:k,El:$,Fh:m,Fl:l,Gh:u,Gl:y,Hh:L,Hl:j}=this;for(let A=0;A<80;A++){const Z=d.default.rotrSH(k,$,14)^d.default.rotrSH(k,$,18)^d.default.rotrBH(k,$,41),le=d.default.rotrSL(k,$,14)^d.default.rotrSL(k,$,18)^d.default.rotrBL(k,$,41),he=k&m^~k&u,q=d.default.add5L(j,le,$&l^~$&y,ee[A],w[A]),ie=d.default.add5H(q,L,Z,he,X[A],x[A]),pe=0|q,E=d.default.rotrSH(W,R,28)^d.default.rotrBH(W,R,34)^d.default.rotrBH(W,R,39),de=d.default.rotrSL(W,R,28)^d.default.rotrBL(W,R,34)^d.default.rotrBL(W,R,39),He=W&V^W&T^V&T,ve=R&Q^R&te^Q&te;L=0|u,j=0|y,u=0|m,y=0|l,m=0|k,l=0|$,({h:k,l:$}=d.default.add(0|S,0|h,0|ie,0|pe)),S=0|T,h=0|te,T=0|V,te=0|Q,V=0|W,Q=0|R;const Pe=d.default.add3L(pe,de,ve);W=d.default.add3H(Pe,ie,E,He),R=0|Pe}({h:W,l:R}=d.default.add(0|this.Ah,0|this.Al,0|W,0|R)),({h:V,l:Q}=d.default.add(0|this.Bh,0|this.Bl,0|V,0|Q)),({h:T,l:te}=d.default.add(0|this.Ch,0|this.Cl,0|T,0|te)),({h:S,l:h}=d.default.add(0|this.Dh,0|this.Dl,0|S,0|h)),({h:k,l:$}=d.default.add(0|this.Eh,0|this.El,0|k,0|$)),({h:m,l}=d.default.add(0|this.Fh,0|this.Fl,0|m,0|l)),({h:u,l:y}=d.default.add(0|this.Gh,0|this.Gl,0|u,0|y)),({h:L,l:j}=d.default.add(0|this.Hh,0|this.Hl,0|L,0|j)),this.set(W,R,V,Q,T,te,S,h,k,$,m,l,u,y,L,j)}roundClean(){x.fill(0),w.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}a.SHA512=O;class M extends O{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class I extends O{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class H extends O{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}a.sha512=(0,U.wrapConstructor)(()=>new O),a.sha512_224=(0,U.wrapConstructor)(()=>new M),a.sha512_256=(0,U.wrapConstructor)(()=>new I),a.sha384=(0,U.wrapConstructor)(()=>new H)},7507:(se,a,_)=>{"use strict";var N=_(9598).default;Object.defineProperty(a,"__esModule",{value:!0}),a.randomBytes=a.wrapConstructorWithOpts=a.wrapConstructor=a.checkOpts=a.Hash=a.concatBytes=a.toBytes=a.utf8ToBytes=a.asyncLoop=a.nextTick=a.hexToBytes=a.bytesToHex=a.isLE=a.rotr=a.createView=a.u32=a.u8=void 0;const d=_(7882);if(a.u8=h=>new Uint8Array(h.buffer,h.byteOffset,h.byteLength),a.u32=h=>new Uint32Array(h.buffer,h.byteOffset,Math.floor(h.byteLength/4)),a.createView=h=>new DataView(h.buffer,h.byteOffset,h.byteLength),a.rotr=(h,k)=>h<<32-k|h>>>k,a.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!a.isLE)throw new Error("Non little-endian hardware is not supported");const w=Array.from({length:256},(h,k)=>k.toString(16).padStart(2,"0"));function z(){return(z=N(function*(h,k,$){let m=Date.now();for(let l=0;l<h;l++){$(l);const u=Date.now()-m;u>=0&&u<k||(yield(0,a.nextTick)(),m+=u)}})).apply(this,arguments)}function G(h){if("string"!=typeof h)throw new TypeError("utf8ToBytes expected string, got "+typeof h);return(new TextEncoder).encode(h)}function Y(h){if("string"==typeof h&&(h=G(h)),!(h instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof h})`);return h}a.bytesToHex=function O(h){if(!(h instanceof Uint8Array))throw new Error("Uint8Array expected");let k="";for(let $=0;$<h.length;$++)k+=w[h[$]];return k},a.hexToBytes=function M(h){if("string"!=typeof h)throw new TypeError("hexToBytes: expected string, got "+typeof h);if(h.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const k=new Uint8Array(h.length/2);for(let $=0;$<k.length;$++){const m=2*$,l=h.slice(m,m+2),u=Number.parseInt(l,16);if(Number.isNaN(u)||u<0)throw new Error("Invalid byte sequence");k[$]=u}return k},a.nextTick=function(){var h=N(function*(){});return function(){return h.apply(this,arguments)}}(),a.asyncLoop=function H(h,k,$){return z.apply(this,arguments)},a.utf8ToBytes=G,a.toBytes=Y,a.concatBytes=function W(...h){if(!h.every(m=>m instanceof Uint8Array))throw new Error("Uint8Array list expected");if(1===h.length)return h[0];const k=h.reduce((m,l)=>m+l.length,0),$=new Uint8Array(k);for(let m=0,l=0;m<h.length;m++){const u=h[m];$.set(u,l),l+=u.length}return $},a.Hash=class R{clone(){return this._cloneInto()}},a.checkOpts=function Q(h,k){if(void 0!==k&&("object"!=typeof k||!(h=>"[object Object]"===Object.prototype.toString.call(h)&&h.constructor===Object)(k)))throw new TypeError("Options should be object or undefined");return Object.assign(h,k)},a.wrapConstructor=function T(h){const k=m=>h().update(Y(m)).digest(),$=h();return k.outputLen=$.outputLen,k.blockLen=$.blockLen,k.create=()=>h(),k},a.wrapConstructorWithOpts=function te(h){const k=(m,l)=>h(l).update(Y(m)).digest(),$=h({});return k.outputLen=$.outputLen,k.blockLen=$.blockLen,k.create=m=>h(m),k},a.randomBytes=function S(h=32){if(d.crypto.web)return d.crypto.web.getRandomValues(new Uint8Array(h));if(d.crypto.node)return new Uint8Array(d.crypto.node.randomBytes(h).buffer);throw new Error("The environment doesn't have randomBytes function")}},3439:(se,a)=>{"use strict";a.U=void 0,a.U="abandon\nability\nable\nabout\nabove\nabsent\nabsorb\nabstract\nabsurd\nabuse\naccess\naccident\naccount\naccuse\nachieve\nacid\nacoustic\nacquire\nacross\nact\naction\nactor\nactress\nactual\nadapt\nadd\naddict\naddress\nadjust\nadmit\nadult\nadvance\nadvice\naerobic\naffair\nafford\nafraid\nagain\nage\nagent\nagree\nahead\naim\nair\nairport\naisle\nalarm\nalbum\nalcohol\nalert\nalien\nall\nalley\nallow\nalmost\nalone\nalpha\nalready\nalso\nalter\nalways\namateur\namazing\namong\namount\namused\nanalyst\nanchor\nancient\nanger\nangle\nangry\nanimal\nankle\nannounce\nannual\nanother\nanswer\nantenna\nantique\nanxiety\nany\napart\napology\nappear\napple\napprove\napril\narch\narctic\narea\narena\nargue\narm\narmed\narmor\narmy\naround\narrange\narrest\narrive\narrow\nart\nartefact\nartist\nartwork\nask\naspect\nassault\nasset\nassist\nassume\nasthma\nathlete\natom\nattack\nattend\nattitude\nattract\nauction\naudit\naugust\naunt\nauthor\nauto\nautumn\naverage\navocado\navoid\nawake\naware\naway\nawesome\nawful\nawkward\naxis\nbaby\nbachelor\nbacon\nbadge\nbag\nbalance\nbalcony\nball\nbamboo\nbanana\nbanner\nbar\nbarely\nbargain\nbarrel\nbase\nbasic\nbasket\nbattle\nbeach\nbean\nbeauty\nbecause\nbecome\nbeef\nbefore\nbegin\nbehave\nbehind\nbelieve\nbelow\nbelt\nbench\nbenefit\nbest\nbetray\nbetter\nbetween\nbeyond\nbicycle\nbid\nbike\nbind\nbiology\nbird\nbirth\nbitter\nblack\nblade\nblame\nblanket\nblast\nbleak\nbless\nblind\nblood\nblossom\nblouse\nblue\nblur\nblush\nboard\nboat\nbody\nboil\nbomb\nbone\nbonus\nbook\nboost\nborder\nboring\nborrow\nboss\nbottom\nbounce\nbox\nboy\nbracket\nbrain\nbrand\nbrass\nbrave\nbread\nbreeze\nbrick\nbridge\nbrief\nbright\nbring\nbrisk\nbroccoli\nbroken\nbronze\nbroom\nbrother\nbrown\nbrush\nbubble\nbuddy\nbudget\nbuffalo\nbuild\nbulb\nbulk\nbullet\nbundle\nbunker\nburden\nburger\nburst\nbus\nbusiness\nbusy\nbutter\nbuyer\nbuzz\ncabbage\ncabin\ncable\ncactus\ncage\ncake\ncall\ncalm\ncamera\ncamp\ncan\ncanal\ncancel\ncandy\ncannon\ncanoe\ncanvas\ncanyon\ncapable\ncapital\ncaptain\ncar\ncarbon\ncard\ncargo\ncarpet\ncarry\ncart\ncase\ncash\ncasino\ncastle\ncasual\ncat\ncatalog\ncatch\ncategory\ncattle\ncaught\ncause\ncaution\ncave\nceiling\ncelery\ncement\ncensus\ncentury\ncereal\ncertain\nchair\nchalk\nchampion\nchange\nchaos\nchapter\ncharge\nchase\nchat\ncheap\ncheck\ncheese\nchef\ncherry\nchest\nchicken\nchief\nchild\nchimney\nchoice\nchoose\nchronic\nchuckle\nchunk\nchurn\ncigar\ncinnamon\ncircle\ncitizen\ncity\ncivil\nclaim\nclap\nclarify\nclaw\nclay\nclean\nclerk\nclever\nclick\nclient\ncliff\nclimb\nclinic\nclip\nclock\nclog\nclose\ncloth\ncloud\nclown\nclub\nclump\ncluster\nclutch\ncoach\ncoast\ncoconut\ncode\ncoffee\ncoil\ncoin\ncollect\ncolor\ncolumn\ncombine\ncome\ncomfort\ncomic\ncommon\ncompany\nconcert\nconduct\nconfirm\ncongress\nconnect\nconsider\ncontrol\nconvince\ncook\ncool\ncopper\ncopy\ncoral\ncore\ncorn\ncorrect\ncost\ncotton\ncouch\ncountry\ncouple\ncourse\ncousin\ncover\ncoyote\ncrack\ncradle\ncraft\ncram\ncrane\ncrash\ncrater\ncrawl\ncrazy\ncream\ncredit\ncreek\ncrew\ncricket\ncrime\ncrisp\ncritic\ncrop\ncross\ncrouch\ncrowd\ncrucial\ncruel\ncruise\ncrumble\ncrunch\ncrush\ncry\ncrystal\ncube\nculture\ncup\ncupboard\ncurious\ncurrent\ncurtain\ncurve\ncushion\ncustom\ncute\ncycle\ndad\ndamage\ndamp\ndance\ndanger\ndaring\ndash\ndaughter\ndawn\nday\ndeal\ndebate\ndebris\ndecade\ndecember\ndecide\ndecline\ndecorate\ndecrease\ndeer\ndefense\ndefine\ndefy\ndegree\ndelay\ndeliver\ndemand\ndemise\ndenial\ndentist\ndeny\ndepart\ndepend\ndeposit\ndepth\ndeputy\nderive\ndescribe\ndesert\ndesign\ndesk\ndespair\ndestroy\ndetail\ndetect\ndevelop\ndevice\ndevote\ndiagram\ndial\ndiamond\ndiary\ndice\ndiesel\ndiet\ndiffer\ndigital\ndignity\ndilemma\ndinner\ndinosaur\ndirect\ndirt\ndisagree\ndiscover\ndisease\ndish\ndismiss\ndisorder\ndisplay\ndistance\ndivert\ndivide\ndivorce\ndizzy\ndoctor\ndocument\ndog\ndoll\ndolphin\ndomain\ndonate\ndonkey\ndonor\ndoor\ndose\ndouble\ndove\ndraft\ndragon\ndrama\ndrastic\ndraw\ndream\ndress\ndrift\ndrill\ndrink\ndrip\ndrive\ndrop\ndrum\ndry\nduck\ndumb\ndune\nduring\ndust\ndutch\nduty\ndwarf\ndynamic\neager\neagle\nearly\nearn\nearth\neasily\neast\neasy\necho\necology\neconomy\nedge\nedit\neducate\neffort\negg\neight\neither\nelbow\nelder\nelectric\nelegant\nelement\nelephant\nelevator\nelite\nelse\nembark\nembody\nembrace\nemerge\nemotion\nemploy\nempower\nempty\nenable\nenact\nend\nendless\nendorse\nenemy\nenergy\nenforce\nengage\nengine\nenhance\nenjoy\nenlist\nenough\nenrich\nenroll\nensure\nenter\nentire\nentry\nenvelope\nepisode\nequal\nequip\nera\nerase\nerode\nerosion\nerror\nerupt\nescape\nessay\nessence\nestate\neternal\nethics\nevidence\nevil\nevoke\nevolve\nexact\nexample\nexcess\nexchange\nexcite\nexclude\nexcuse\nexecute\nexercise\nexhaust\nexhibit\nexile\nexist\nexit\nexotic\nexpand\nexpect\nexpire\nexplain\nexpose\nexpress\nextend\nextra\neye\neyebrow\nfabric\nface\nfaculty\nfade\nfaint\nfaith\nfall\nfalse\nfame\nfamily\nfamous\nfan\nfancy\nfantasy\nfarm\nfashion\nfat\nfatal\nfather\nfatigue\nfault\nfavorite\nfeature\nfebruary\nfederal\nfee\nfeed\nfeel\nfemale\nfence\nfestival\nfetch\nfever\nfew\nfiber\nfiction\nfield\nfigure\nfile\nfilm\nfilter\nfinal\nfind\nfine\nfinger\nfinish\nfire\nfirm\nfirst\nfiscal\nfish\nfit\nfitness\nfix\nflag\nflame\nflash\nflat\nflavor\nflee\nflight\nflip\nfloat\nflock\nfloor\nflower\nfluid\nflush\nfly\nfoam\nfocus\nfog\nfoil\nfold\nfollow\nfood\nfoot\nforce\nforest\nforget\nfork\nfortune\nforum\nforward\nfossil\nfoster\nfound\nfox\nfragile\nframe\nfrequent\nfresh\nfriend\nfringe\nfrog\nfront\nfrost\nfrown\nfrozen\nfruit\nfuel\nfun\nfunny\nfurnace\nfury\nfuture\ngadget\ngain\ngalaxy\ngallery\ngame\ngap\ngarage\ngarbage\ngarden\ngarlic\ngarment\ngas\ngasp\ngate\ngather\ngauge\ngaze\ngeneral\ngenius\ngenre\ngentle\ngenuine\ngesture\nghost\ngiant\ngift\ngiggle\nginger\ngiraffe\ngirl\ngive\nglad\nglance\nglare\nglass\nglide\nglimpse\nglobe\ngloom\nglory\nglove\nglow\nglue\ngoat\ngoddess\ngold\ngood\ngoose\ngorilla\ngospel\ngossip\ngovern\ngown\ngrab\ngrace\ngrain\ngrant\ngrape\ngrass\ngravity\ngreat\ngreen\ngrid\ngrief\ngrit\ngrocery\ngroup\ngrow\ngrunt\nguard\nguess\nguide\nguilt\nguitar\ngun\ngym\nhabit\nhair\nhalf\nhammer\nhamster\nhand\nhappy\nharbor\nhard\nharsh\nharvest\nhat\nhave\nhawk\nhazard\nhead\nhealth\nheart\nheavy\nhedgehog\nheight\nhello\nhelmet\nhelp\nhen\nhero\nhidden\nhigh\nhill\nhint\nhip\nhire\nhistory\nhobby\nhockey\nhold\nhole\nholiday\nhollow\nhome\nhoney\nhood\nhope\nhorn\nhorror\nhorse\nhospital\nhost\nhotel\nhour\nhover\nhub\nhuge\nhuman\nhumble\nhumor\nhundred\nhungry\nhunt\nhurdle\nhurry\nhurt\nhusband\nhybrid\nice\nicon\nidea\nidentify\nidle\nignore\nill\nillegal\nillness\nimage\nimitate\nimmense\nimmune\nimpact\nimpose\nimprove\nimpulse\ninch\ninclude\nincome\nincrease\nindex\nindicate\nindoor\nindustry\ninfant\ninflict\ninform\ninhale\ninherit\ninitial\ninject\ninjury\ninmate\ninner\ninnocent\ninput\ninquiry\ninsane\ninsect\ninside\ninspire\ninstall\nintact\ninterest\ninto\ninvest\ninvite\ninvolve\niron\nisland\nisolate\nissue\nitem\nivory\njacket\njaguar\njar\njazz\njealous\njeans\njelly\njewel\njob\njoin\njoke\njourney\njoy\njudge\njuice\njump\njungle\njunior\njunk\njust\nkangaroo\nkeen\nkeep\nketchup\nkey\nkick\nkid\nkidney\nkind\nkingdom\nkiss\nkit\nkitchen\nkite\nkitten\nkiwi\nknee\nknife\nknock\nknow\nlab\nlabel\nlabor\nladder\nlady\nlake\nlamp\nlanguage\nlaptop\nlarge\nlater\nlatin\nlaugh\nlaundry\nlava\nlaw\nlawn\nlawsuit\nlayer\nlazy\nleader\nleaf\nlearn\nleave\nlecture\nleft\nleg\nlegal\nlegend\nleisure\nlemon\nlend\nlength\nlens\nleopard\nlesson\nletter\nlevel\nliar\nliberty\nlibrary\nlicense\nlife\nlift\nlight\nlike\nlimb\nlimit\nlink\nlion\nliquid\nlist\nlittle\nlive\nlizard\nload\nloan\nlobster\nlocal\nlock\nlogic\nlonely\nlong\nloop\nlottery\nloud\nlounge\nlove\nloyal\nlucky\nluggage\nlumber\nlunar\nlunch\nluxury\nlyrics\nmachine\nmad\nmagic\nmagnet\nmaid\nmail\nmain\nmajor\nmake\nmammal\nman\nmanage\nmandate\nmango\nmansion\nmanual\nmaple\nmarble\nmarch\nmargin\nmarine\nmarket\nmarriage\nmask\nmass\nmaster\nmatch\nmaterial\nmath\nmatrix\nmatter\nmaximum\nmaze\nmeadow\nmean\nmeasure\nmeat\nmechanic\nmedal\nmedia\nmelody\nmelt\nmember\nmemory\nmention\nmenu\nmercy\nmerge\nmerit\nmerry\nmesh\nmessage\nmetal\nmethod\nmiddle\nmidnight\nmilk\nmillion\nmimic\nmind\nminimum\nminor\nminute\nmiracle\nmirror\nmisery\nmiss\nmistake\nmix\nmixed\nmixture\nmobile\nmodel\nmodify\nmom\nmoment\nmonitor\nmonkey\nmonster\nmonth\nmoon\nmoral\nmore\nmorning\nmosquito\nmother\nmotion\nmotor\nmountain\nmouse\nmove\nmovie\nmuch\nmuffin\nmule\nmultiply\nmuscle\nmuseum\nmushroom\nmusic\nmust\nmutual\nmyself\nmystery\nmyth\nnaive\nname\nnapkin\nnarrow\nnasty\nnation\nnature\nnear\nneck\nneed\nnegative\nneglect\nneither\nnephew\nnerve\nnest\nnet\nnetwork\nneutral\nnever\nnews\nnext\nnice\nnight\nnoble\nnoise\nnominee\nnoodle\nnormal\nnorth\nnose\nnotable\nnote\nnothing\nnotice\nnovel\nnow\nnuclear\nnumber\nnurse\nnut\noak\nobey\nobject\noblige\nobscure\nobserve\nobtain\nobvious\noccur\nocean\noctober\nodor\noff\noffer\noffice\noften\noil\nokay\nold\nolive\nolympic\nomit\nonce\none\nonion\nonline\nonly\nopen\nopera\nopinion\noppose\noption\norange\norbit\norchard\norder\nordinary\norgan\norient\noriginal\norphan\nostrich\nother\noutdoor\nouter\noutput\noutside\noval\noven\nover\nown\nowner\noxygen\noyster\nozone\npact\npaddle\npage\npair\npalace\npalm\npanda\npanel\npanic\npanther\npaper\nparade\nparent\npark\nparrot\nparty\npass\npatch\npath\npatient\npatrol\npattern\npause\npave\npayment\npeace\npeanut\npear\npeasant\npelican\npen\npenalty\npencil\npeople\npepper\nperfect\npermit\nperson\npet\nphone\nphoto\nphrase\nphysical\npiano\npicnic\npicture\npiece\npig\npigeon\npill\npilot\npink\npioneer\npipe\npistol\npitch\npizza\nplace\nplanet\nplastic\nplate\nplay\nplease\npledge\npluck\nplug\nplunge\npoem\npoet\npoint\npolar\npole\npolice\npond\npony\npool\npopular\nportion\nposition\npossible\npost\npotato\npottery\npoverty\npowder\npower\npractice\npraise\npredict\nprefer\nprepare\npresent\npretty\nprevent\nprice\npride\nprimary\nprint\npriority\nprison\nprivate\nprize\nproblem\nprocess\nproduce\nprofit\nprogram\nproject\npromote\nproof\nproperty\nprosper\nprotect\nproud\nprovide\npublic\npudding\npull\npulp\npulse\npumpkin\npunch\npupil\npuppy\npurchase\npurity\npurpose\npurse\npush\nput\npuzzle\npyramid\nquality\nquantum\nquarter\nquestion\nquick\nquit\nquiz\nquote\nrabbit\nraccoon\nrace\nrack\nradar\nradio\nrail\nrain\nraise\nrally\nramp\nranch\nrandom\nrange\nrapid\nrare\nrate\nrather\nraven\nraw\nrazor\nready\nreal\nreason\nrebel\nrebuild\nrecall\nreceive\nrecipe\nrecord\nrecycle\nreduce\nreflect\nreform\nrefuse\nregion\nregret\nregular\nreject\nrelax\nrelease\nrelief\nrely\nremain\nremember\nremind\nremove\nrender\nrenew\nrent\nreopen\nrepair\nrepeat\nreplace\nreport\nrequire\nrescue\nresemble\nresist\nresource\nresponse\nresult\nretire\nretreat\nreturn\nreunion\nreveal\nreview\nreward\nrhythm\nrib\nribbon\nrice\nrich\nride\nridge\nrifle\nright\nrigid\nring\nriot\nripple\nrisk\nritual\nrival\nriver\nroad\nroast\nrobot\nrobust\nrocket\nromance\nroof\nrookie\nroom\nrose\nrotate\nrough\nround\nroute\nroyal\nrubber\nrude\nrug\nrule\nrun\nrunway\nrural\nsad\nsaddle\nsadness\nsafe\nsail\nsalad\nsalmon\nsalon\nsalt\nsalute\nsame\nsample\nsand\nsatisfy\nsatoshi\nsauce\nsausage\nsave\nsay\nscale\nscan\nscare\nscatter\nscene\nscheme\nschool\nscience\nscissors\nscorpion\nscout\nscrap\nscreen\nscript\nscrub\nsea\nsearch\nseason\nseat\nsecond\nsecret\nsection\nsecurity\nseed\nseek\nsegment\nselect\nsell\nseminar\nsenior\nsense\nsentence\nseries\nservice\nsession\nsettle\nsetup\nseven\nshadow\nshaft\nshallow\nshare\nshed\nshell\nsheriff\nshield\nshift\nshine\nship\nshiver\nshock\nshoe\nshoot\nshop\nshort\nshoulder\nshove\nshrimp\nshrug\nshuffle\nshy\nsibling\nsick\nside\nsiege\nsight\nsign\nsilent\nsilk\nsilly\nsilver\nsimilar\nsimple\nsince\nsing\nsiren\nsister\nsituate\nsix\nsize\nskate\nsketch\nski\nskill\nskin\nskirt\nskull\nslab\nslam\nsleep\nslender\nslice\nslide\nslight\nslim\nslogan\nslot\nslow\nslush\nsmall\nsmart\nsmile\nsmoke\nsmooth\nsnack\nsnake\nsnap\nsniff\nsnow\nsoap\nsoccer\nsocial\nsock\nsoda\nsoft\nsolar\nsoldier\nsolid\nsolution\nsolve\nsomeone\nsong\nsoon\nsorry\nsort\nsoul\nsound\nsoup\nsource\nsouth\nspace\nspare\nspatial\nspawn\nspeak\nspecial\nspeed\nspell\nspend\nsphere\nspice\nspider\nspike\nspin\nspirit\nsplit\nspoil\nsponsor\nspoon\nsport\nspot\nspray\nspread\nspring\nspy\nsquare\nsqueeze\nsquirrel\nstable\nstadium\nstaff\nstage\nstairs\nstamp\nstand\nstart\nstate\nstay\nsteak\nsteel\nstem\nstep\nstereo\nstick\nstill\nsting\nstock\nstomach\nstone\nstool\nstory\nstove\nstrategy\nstreet\nstrike\nstrong\nstruggle\nstudent\nstuff\nstumble\nstyle\nsubject\nsubmit\nsubway\nsuccess\nsuch\nsudden\nsuffer\nsugar\nsuggest\nsuit\nsummer\nsun\nsunny\nsunset\nsuper\nsupply\nsupreme\nsure\nsurface\nsurge\nsurprise\nsurround\nsurvey\nsuspect\nsustain\nswallow\nswamp\nswap\nswarm\nswear\nsweet\nswift\nswim\nswing\nswitch\nsword\nsymbol\nsymptom\nsyrup\nsystem\ntable\ntackle\ntag\ntail\ntalent\ntalk\ntank\ntape\ntarget\ntask\ntaste\ntattoo\ntaxi\nteach\nteam\ntell\nten\ntenant\ntennis\ntent\nterm\ntest\ntext\nthank\nthat\ntheme\nthen\ntheory\nthere\nthey\nthing\nthis\nthought\nthree\nthrive\nthrow\nthumb\nthunder\nticket\ntide\ntiger\ntilt\ntimber\ntime\ntiny\ntip\ntired\ntissue\ntitle\ntoast\ntobacco\ntoday\ntoddler\ntoe\ntogether\ntoilet\ntoken\ntomato\ntomorrow\ntone\ntongue\ntonight\ntool\ntooth\ntop\ntopic\ntopple\ntorch\ntornado\ntortoise\ntoss\ntotal\ntourist\ntoward\ntower\ntown\ntoy\ntrack\ntrade\ntraffic\ntragic\ntrain\ntransfer\ntrap\ntrash\ntravel\ntray\ntreat\ntree\ntrend\ntrial\ntribe\ntrick\ntrigger\ntrim\ntrip\ntrophy\ntrouble\ntruck\ntrue\ntruly\ntrumpet\ntrust\ntruth\ntry\ntube\ntuition\ntumble\ntuna\ntunnel\nturkey\nturn\nturtle\ntwelve\ntwenty\ntwice\ntwin\ntwist\ntwo\ntype\ntypical\nugly\numbrella\nunable\nunaware\nuncle\nuncover\nunder\nundo\nunfair\nunfold\nunhappy\nuniform\nunique\nunit\nuniverse\nunknown\nunlock\nuntil\nunusual\nunveil\nupdate\nupgrade\nuphold\nupon\nupper\nupset\nurban\nurge\nusage\nuse\nused\nuseful\nuseless\nusual\nutility\nvacant\nvacuum\nvague\nvalid\nvalley\nvalve\nvan\nvanish\nvapor\nvarious\nvast\nvault\nvehicle\nvelvet\nvendor\nventure\nvenue\nverb\nverify\nversion\nvery\nvessel\nveteran\nviable\nvibrant\nvicious\nvictory\nvideo\nview\nvillage\nvintage\nviolin\nvirtual\nvirus\nvisa\nvisit\nvisual\nvital\nvivid\nvocal\nvoice\nvoid\nvolcano\nvolume\nvote\nvoyage\nwage\nwagon\nwait\nwalk\nwall\nwalnut\nwant\nwarfare\nwarm\nwarrior\nwash\nwasp\nwaste\nwater\nwave\nway\nwealth\nweapon\nwear\nweasel\nweather\nweb\nwedding\nweekend\nweird\nwelcome\nwest\nwet\nwhale\nwhat\nwheat\nwheel\nwhen\nwhere\nwhip\nwhisper\nwide\nwidth\nwife\nwild\nwill\nwin\nwindow\nwine\nwing\nwink\nwinner\nwinter\nwire\nwisdom\nwise\nwish\nwitness\nwolf\nwoman\nwonder\nwood\nwool\nword\nwork\nworld\nworry\nworth\nwrap\nwreck\nwrestle\nwrist\nwrite\nwrong\nyard\nyear\nyellow\nyou\nyoung\nyouth\nzebra\nzero\nzone\nzoo".split("\n")},5856:()=>{},9598:se=>{function a(N,d,U,X,ee,x,w){try{var O=N[x](w),M=O.value}catch(I){return void U(I)}O.done?d(M):Promise.resolve(M).then(X,ee)}se.exports=function _(N){return function(){var d=this,U=arguments;return new Promise(function(X,ee){var x=N.apply(d,U);function w(M){a(x,X,ee,w,O,"next",M)}function O(M){a(x,X,ee,w,O,"throw",M)}w(void 0)})}},se.exports.__esModule=!0,se.exports.default=se.exports}},tn={};function we(se){var a=tn[se];if(void 0!==a)return a.exports;var _=tn[se]={exports:{}};return Xn[se](_,_.exports,we),_.exports}se=Object.getPrototypeOf?_=>Object.getPrototypeOf(_):_=>_.__proto__,we.t=function(_,N){if(1&N&&(_=this(_)),8&N||"object"==typeof _&&_&&(4&N&&_.__esModule||16&N&&"function"==typeof _.then))return _;var d=Object.create(null);we.r(d);var U={};a=a||[null,se({}),se([]),se(se)];for(var X=2&N&&_;"object"==typeof X&&!~a.indexOf(X);X=se(X))Object.getOwnPropertyNames(X).forEach(ee=>U[ee]=()=>_[ee]);return U.default=()=>_,we.d(d,U),d},we.d=(se,a)=>{for(var _ in a)we.o(a,_)&&!we.o(se,_)&&Object.defineProperty(se,_,{enumerable:!0,get:a[_]})},we.o=(se,a)=>Object.prototype.hasOwnProperty.call(se,a),we.r=se=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(se,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(se,"__esModule",{value:!0})},(()=>{"use strict";function se(t,e,n,r,s,o,i){try{var c=t[o](i),f=c.value}catch(g){return void n(g)}c.done?e(f):Promise.resolve(f).then(r,s)}function a(t){return function(){var e=this,n=arguments;return new Promise(function(r,s){var o=t.apply(e,n);function i(f){se(o,r,s,i,c,"next",f)}function c(f){se(o,r,s,i,c,"throw",f)}i(void 0)})}}var _=we(5856),N=we.t(_,2);const d=BigInt(0),U=BigInt(1),X=BigInt(2),ee=BigInt(3),x=BigInt(8),w=Object.freeze({a:d,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:U,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),O=(t,e)=>(t+e/X)/e,M={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=w,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-U*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,i=BigInt("0x100000000000000000000000000000000"),c=O(o*t,e),f=O(-r*t,e);let g=E(t-c*n-f*s,e),p=E(-c*r-f*o,e);const b=g>i,v=p>i;if(b&&(g=e-g),v&&(p=e-p),g>i||p>i)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:b,k1:g,k2neg:v,k2:p}}};function W(t){const{a:e,b:n}=w,r=E(t*t),s=E(r*t);return E(s+e*t+n)}const R=w.a===d;class V extends Error{constructor(e){super(e)}}function Q(t){if(!(t instanceof T))throw new TypeError("JacobianPoint expected")}class T{constructor(e,n,r){this.x=e,this.y=n,this.z=r}static fromAffine(e){if(!(e instanceof h))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(h.ZERO)?T.ZERO:new T(e.x,e.y,U)}static toAffineBatch(e){const n=function Pe(t,e=w.P){const n=new Array(t.length),s=ve(t.reduce((o,i,c)=>i===d?o:(n[c]=o,E(o*i,e)),U),e);return t.reduceRight((o,i,c)=>i===d?o:(n[c]=E(o*n[c],e),E(o*i,e)),s),n}(e.map(r=>r.z));return e.map((r,s)=>r.toAffine(n[s]))}static normalizeZ(e){return T.toAffineBatch(e).map(T.fromAffine)}equals(e){Q(e);const{x:n,y:r,z:s}=this,{x:o,y:i,z:c}=e,f=E(s*s),g=E(c*c),p=E(n*g),b=E(o*f),v=E(E(r*c)*g),B=E(E(i*s)*f);return p===b&&v===B}negate(){return new T(this.x,E(-this.y),this.z)}double(){const{x:e,y:n,z:r}=this,s=E(e*e),o=E(n*n),i=E(o*o),c=e+o,f=E(X*(E(c*c)-s-i)),g=E(ee*s),p=E(g*g),b=E(p-X*f),v=E(g*(f-b)-x*i),B=E(X*n*r);return new T(b,v,B)}add(e){Q(e);const{x:n,y:r,z:s}=this,{x:o,y:i,z:c}=e;if(o===d||i===d)return this;if(n===d||r===d)return e;const f=E(s*s),g=E(c*c),p=E(n*g),b=E(o*f),v=E(E(r*c)*g),B=E(E(i*s)*f),C=E(b-p),F=E(B-v);if(C===d)return F===d?this.double():T.ZERO;const P=E(C*C),J=E(C*P),re=E(p*P),K=E(F*F-J-X*re),oe=E(F*(re-K)-v*J),D=E(s*c*C);return new T(K,oe,D)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){const n=T.ZERO;if("bigint"==typeof e&&e===d)return n;let r=pe(e);if(r===U)return this;if(!R){let b=n,v=this;for(;r>d;)r&U&&(b=b.add(v)),v=v.double(),r>>=U;return b}let{k1neg:s,k1:o,k2neg:i,k2:c}=M.splitScalar(r),f=n,g=n,p=this;for(;o>d||c>d;)o&U&&(f=f.add(p)),c&U&&(g=g.add(p)),p=p.double(),o>>=U,c>>=U;return s&&(f=f.negate()),i&&(g=g.negate()),g=new T(E(g.x*M.beta),g.y,g.z),f.add(g)}precomputeWindow(e){const n=R?128/e+1:256/e+1,r=[];let s=this,o=s;for(let i=0;i<n;i++){o=s,r.push(o);for(let c=1;c<2**(e-1);c++)o=o.add(s),r.push(o);s=o.double()}return r}wNAF(e,n){!n&&this.equals(T.BASE)&&(n=h.BASE);const r=n&&n._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let s=n&&S.get(n);s||(s=this.precomputeWindow(r),n&&1!==r&&(s=T.normalizeZ(s),S.set(n,s)));let o=T.ZERO,i=T.BASE;const c=1+(R?128/r:256/r),f=2**(r-1),g=BigInt(2**r-1),p=2**r,b=BigInt(r);for(let v=0;v<c;v++){const B=v*f;let C=Number(e&g);e>>=b,C>f&&(C-=p,e+=U);const F=B,P=B+Math.abs(C)-1,re=C<0;0===C?i=i.add(te(v%2!=0,s[F])):o=o.add(te(re,s[P]))}return{p:o,f:i}}multiply(e,n){let s,o,r=pe(e);if(R){const{k1neg:i,k1:c,k2neg:f,k2:g}=M.splitScalar(r);let{p,f:b}=this.wNAF(c,n),{p:v,f:B}=this.wNAF(g,n);p=te(i,p),v=te(f,v),v=new T(E(v.x*M.beta),v.y,v.z),s=p.add(v),o=b.add(B)}else{const{p:i,f:c}=this.wNAF(r,n);s=i,o=c}return T.normalizeZ([s,o])[0]}toAffine(e){const{x:n,y:r,z:s}=this,o=this.equals(T.ZERO);null==e&&(e=o?x:ve(s));const i=e,c=E(i*i),f=E(c*i),g=E(n*c),p=E(r*f),b=E(s*i);if(o)return h.ZERO;if(b!==U)throw new Error("invZ was invalid");return new h(g,p)}}function te(t,e){const n=e.negate();return t?n:e}T.BASE=new T(w.Gx,w.Gy,U),T.ZERO=new T(d,U,d);const S=new WeakMap;class h{constructor(e,n){this.x=e,this.y=n}_setWindowSize(e){this._WINDOW_SIZE=e,S.delete(this)}hasEvenY(){return this.y%X===d}static fromCompressedHex(e){const n=32===e.length,r=q(n?e:e.subarray(1));if(!it(r))throw new Error("Point is not on curve");let o=function He(t){const{P:e}=w,n=BigInt(6),r=BigInt(11),s=BigInt(22),o=BigInt(23),i=BigInt(44),c=BigInt(88),f=t*t*t%e,g=f*f*t%e,p=de(g,ee)*g%e,b=de(p,ee)*g%e,v=de(b,X)*f%e,B=de(v,r)*v%e,C=de(B,s)*B%e,F=de(C,i)*C%e,P=de(F,c)*F%e,J=de(P,i)*C%e,re=de(J,ee)*g%e,K=de(re,o)*B%e,oe=de(K,n)*f%e,D=de(oe,X);if(D*D%e!==t)throw new Error("Cannot find square root");return D}(W(r));const i=(o&U)===U;n?i&&(o=E(-o)):1==(1&e[0])!==i&&(o=E(-o));const c=new h(r,o);return c.assertValidity(),c}static fromUncompressedHex(e){const n=q(e.subarray(1,33)),r=q(e.subarray(33,65)),s=new h(n,r);return s.assertValidity(),s}static fromHex(e){const n=ie(e),r=n.length,s=n[0];if(32===r)return this.fromCompressedHex(n);if(33===r&&(2===s||3===s))return this.fromCompressedHex(n);if(65===r&&4===s)return this.fromUncompressedHex(n);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${r}`)}static fromPrivateKey(e){return h.BASE.multiply(De(e))}static fromSignature(e,n,r){const{r:s,s:o}=sn(n);if(![0,1,2,3].includes(r))throw new Error("Cannot recover: invalid recovery bit");const i=Bt(ie(e)),{n:c}=w,f=2===r||3===r?s+c:s,g=ve(f,c),p=E(-i*g,c),b=E(o*g,c),B=h.fromHex((1&r?"03":"02")+A(f)),C=h.BASE.multiplyAndAddUnsafe(B,p,b);if(!C)throw new Error("Cannot recover signature: point at infinify");return C.assertValidity(),C}toRawBytes(e=!1){return be(this.toHex(e))}toHex(e=!1){const n=A(this.x);return e?`${this.hasEvenY()?"02":"03"}${n}`:`04${n}${A(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const e="Point is not on elliptic curve",{x:n,y:r}=this;if(!it(n)||!it(r))throw new Error(e);const s=E(r*r);if(E(s-W(n))!==d)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new h(this.x,E(-this.y))}double(){return T.fromAffine(this).double().toAffine()}add(e){return T.fromAffine(this).add(T.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return T.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,n,r){const s=T.fromAffine(this),o=n===d||n===U||this!==h.BASE?s.multiplyUnsafe(n):s.multiply(n),i=T.fromAffine(e).multiplyUnsafe(r),c=o.add(i);return c.equals(T.ZERO)?void 0:c.toAffine()}}function k(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function $(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${L(t)}`);const e=t[1],n=t.subarray(2,e+2);if(!e||n.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===n[0]&&n[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:q(n),left:t.subarray(e+2)}}h.BASE=new h(w.Gx,w.Gy),h.ZERO=new h(d,d);class l{constructor(e,n){this.r=e,this.s=n,this.assertValidity()}static fromCompact(e){const n=e instanceof Uint8Array,r="Signature.fromCompact";if("string"!=typeof e&&!n)throw new TypeError(`${r}: Expected string or Uint8Array`);const s=n?L(e):e;if(128!==s.length)throw new Error(`${r}: Expected 64-byte hex`);return new l(he(s.slice(0,64)),he(s.slice(64,128)))}static fromDER(e){const n=e instanceof Uint8Array;if("string"!=typeof e&&!n)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r,s}=function m(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${L(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:n}=$(t.subarray(2)),{data:r,left:s}=$(n);if(s.length)throw new Error(`Invalid signature: left bytes after parsing: ${L(s)}`);return{r:e,s:r}}(n?e:be(e));return new l(r,s)}static fromHex(e){return this.fromDER(e)}assertValidity(){const{r:e,s:n}=this;if(!Ve(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Ve(n))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){return this.s>w.n>>U}normalizeS(){return this.hasHighS()?new l(this.r,E(-this.s,w.n)):this}toDERRawBytes(){return be(this.toDERHex())}toDERHex(){const e=k(le(this.s)),n=k(le(this.r)),r=e.length/2,s=n.length/2,o=le(r),i=le(s);return`30${le(s+r+4)}02${i}${n}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return be(this.toCompactHex())}toCompactHex(){return A(this.r)+A(this.s)}}function u(...t){if(!t.every(r=>r instanceof Uint8Array))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce((r,s)=>r+s.length,0),n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){const o=t[r];n.set(o,s),s+=o.length}return n}const y=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function L(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let n=0;n<t.length;n++)e+=y[t[n]];return e}const j=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function A(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(d<=t&&t<j))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function Z(t){const e=be(A(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function le(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function he(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function be(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,s=t.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}function q(t){return he(L(t))}function ie(t){return t instanceof Uint8Array?Uint8Array.from(t):be(t)}function pe(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&Ve(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function E(t,e=w.P){const n=t%e;return n>=d?n:e+n}function de(t,e){const{P:n}=w;let r=t;for(;e-- >d;)r*=r,r%=n;return r}function ve(t,e=w.P){if(t===d||e<=d)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=E(t,e),r=e,s=d,o=U,i=U,c=d;for(;n!==d;){const g=r/n,p=r%n,b=s-i*g,v=o-c*g;r=n,n=p,s=i,o=c,i=b,c=v}if(r!==U)throw new Error("invert: does not exist");return E(s,e)}function Bt(t,e=!1){const n=function Yn(t){const e=8*t.length-256,n=q(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=w;return n>=r?n-r:n}let We,Qe;class nn{constructor(e,n){if(this.hashLen=e,this.qByteLen=n,"number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof n||n<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return ce.hmacSha256(this.k,...e)}hmacSync(...e){return Qe(this.k,...e)}checkSync(){if("function"!=typeof Qe)throw new V("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}reseed(e=new Uint8Array){var n=this;return a(function*(){n.k=yield n.hmac(n.v,Uint8Array.from([0]),e),n.v=yield n.hmac(n.v),0!==e.length&&(n.k=yield n.hmac(n.v,Uint8Array.from([1]),e),n.v=yield n.hmac(n.v))})()}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),0!==e.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}generate(){var e=this;return a(function*(){e.incr();let n=0;const r=[];for(;n<e.qByteLen;){e.v=yield e.hmac(e.v);const s=e.v.slice();r.push(s),n+=e.v.length}return u(...r)})()}generateSync(){this.checkSync(),this.incr();let e=0;const n=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);const r=this.v.slice();n.push(r),e+=this.v.length}return u(...n)}}function Ve(t){return d<t&&t<w.n}function it(t){return d<t&&t<w.P}function rn(t,e,n,r=!0){const{n:s}=w,o=Bt(t,!0);if(!Ve(o))return;const i=ve(o,s),c=h.BASE.multiply(o),f=E(c.x,s);if(f===d)return;const g=E(i*E(e+n*f,s),s);if(g===d)return;let p=new l(f,g),b=(c.x===p.r?0:2)|Number(c.y&U);return r&&p.hasHighS()&&(p=p.normalizeS(),b^=1),{sig:p,recovery:b}}function De(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(64!==t.length)throw new Error("Expected 32 bytes of private key");e=he(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(32!==t.length)throw new Error("Expected 32 bytes of private key");e=q(t)}if(!Ve(e))throw new Error("Expected private key: 0 < key < n");return e}function Tt(t){return t instanceof h?(t.assertValidity(),t):h.fromHex(t)}function sn(t){if(t instanceof l)return t.assertValidity(),t;try{return l.fromDER(t)}catch{return l.fromCompact(t)}}function on(t){const e=t instanceof Uint8Array,n="string"==typeof t,r=(e||n)&&t.length;return e?33===r||65===r:n?66===r||130===r:t instanceof h}function cn(t,e,n=!1){if(on(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!on(e))throw new TypeError("getSharedSecret: second arg must be public key");const r=Tt(e);return r.assertValidity(),r.multiply(De(t)).toRawBytes(n)}function an(t){return q(t.length>32?t.slice(0,32):t)}function Jn(t){const e=an(t),n=E(e,w.n);return ln(n<d?e:n)}function ln(t){return Z(t)}const tr={strict:!0};function ct(t){return E(q(t),w.n)}class Ze{constructor(e,n){this.r=e,this.s=n,this.assertValidity()}static fromHex(e){const n=ie(e);if(64!==n.length)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${n.length}`);const r=q(n.subarray(0,32)),s=q(n.subarray(32,64));return new Ze(r,s)}assertValidity(){const{r:e,s:n}=this;if(!it(e)||!Ve(n))throw new Error("Invalid signature")}toHex(){return A(this.r)+A(this.s)}toRawBytes(){return be(this.toHex())}}class fn{constructor(e,n,r=ce.randomBytes()){if(null==e)throw new TypeError(`sign: Expected valid message, not "${e}"`);this.m=ie(e);const{x:s,scalar:o}=this.getScalar(De(n));if(this.px=s,this.d=o,this.rand=ie(r),32!==this.rand.length)throw new TypeError("sign: Expected 32 bytes of aux randomness")}getScalar(e){const n=h.fromPrivateKey(e),r=n.hasEvenY()?e:w.n-e;return{point:n,scalar:r,x:n.toRawX()}}initNonce(e,n){return Z(e^q(n))}finalizeNonce(e){const n=E(q(e),w.n);if(n===d)throw new Error("sign: Creation of signature failed. k is zero");const{point:r,x:s,scalar:o}=this.getScalar(n);return{R:r,rx:s,k:o}}finalizeSig(e,n,r,s){return new Ze(e.x,E(n+r*s,w.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}calc(){var e=this;return a(function*(){const{m:n,d:r,px:s,rand:o}=e,i=ce.taggedHash,c=e.initNonce(r,yield i(Te.aux,o)),{R:f,rx:g,k:p}=e.finalizeNonce(yield i(Te.nonce,c,s,n)),b=ct(yield i(Te.challenge,g,s,n)),v=e.finalizeSig(f,p,b,r);return(yield pn(v,n,s))||e.error(),v})()}calcSync(){const{m:e,d:n,px:r,rand:s}=this,o=ce.taggedHashSync,i=this.initNonce(n,o(Te.aux,s)),{R:c,rx:f,k:g}=this.finalizeNonce(o(Te.nonce,i,r,e)),p=ct(o(Te.challenge,f,r,e)),b=this.finalizeSig(c,g,p,n);return yn(b,e,r)||this.error(),b}}function Ut(){return(Ut=a(function*(t,e,n){return new fn(t,e,n).calc()})).apply(this,arguments)}function dn(t,e,n){const r=t instanceof Ze,s=r?t:Ze.fromHex(t);return r&&s.assertValidity(),{...s,m:ie(e),P:Tt(n)}}function bn(t,e,n,r){const s=h.BASE.multiplyAndAddUnsafe(e,De(n),E(-r,w.n));return!(!s||!s.hasEvenY()||s.x!==t)}function pn(t,e,n){return It.apply(this,arguments)}function It(){return(It=a(function*(t,e,n){try{const{r,s,m:o,P:i}=dn(t,e,n),c=ct(yield ce.taggedHash(Te.challenge,Z(r),i.toRawX(),o));return bn(r,i,s,c)}catch{return!1}})).apply(this,arguments)}function yn(t,e,n){try{const{r,s,m:o,P:i}=dn(t,e,n),c=ct(ce.taggedHashSync(Te.challenge,Z(r),i.toRawX(),o));return bn(r,i,s,c)}catch(r){if(r instanceof V)throw r;return!1}}const at={Signature:Ze,getPublicKey:function rr(t){return h.fromPrivateKey(t).toRawX()},sign:function sr(t,e,n){return Ut.apply(this,arguments)},verify:pn,signSync:function or(t,e,n){return new fn(t,e,n).calcSync()},verifySync:yn};h.BASE._setWindowSize(8);const xe={node:N,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Te={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},lt={},ce={bytesToHex:L,hexToBytes:be,concatBytes:u,mod:E,invert:ve,isValidPrivateKey(t){try{return De(t),!0}catch{return!1}},_bigintTo32Bytes:Z,_normalizePrivateKey:De,hashToPrivateKey:t=>{if((t=ie(t)).length<40||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return Z(E(q(t),w.n-U)+U)},randomBytes:(t=32)=>{if(xe.web)return xe.web.getRandomValues(new Uint8Array(t));if(xe.node){const{randomBytes:e}=xe.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>ce.hashToPrivateKey(ce.randomBytes(40)),precompute(t=8,e=h.BASE){const n=e===h.BASE?e:new h(e.x,e.y);return n._setWindowSize(t),n.multiply(ee),n},sha256:(t=a(function*(...e){if(xe.web){const n=yield xe.web.subtle.digest("SHA-256",u(...e));return new Uint8Array(n)}if(xe.node){const{createHash:n}=xe.node,r=n("sha256");return e.forEach(s=>r.update(s)),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have sha256 function")}),function(){return t.apply(this,arguments)}),hmacSha256:function(){var t=a(function*(e,...n){if(xe.web){const r=yield xe.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),s=u(...n),o=yield xe.web.subtle.sign("HMAC",r,s);return new Uint8Array(o)}if(xe.node){const{createHmac:r}=xe.node,s=r("sha256",e);return n.forEach(o=>s.update(o)),Uint8Array.from(s.digest())}throw new Error("The environment doesn't have hmac-sha256 function")});return function(n){return t.apply(this,arguments)}}(),sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:function(){var t=a(function*(e,...n){let r=lt[e];if(void 0===r){const s=yield ce.sha256(Uint8Array.from(e,o=>o.charCodeAt(0)));r=u(s,s),lt[e]=r}return ce.sha256(r,...n)});return function(n){return t.apply(this,arguments)}}(),taggedHashSync:(t,...e)=>{if("function"!=typeof We)throw new V("sha256Sync is undefined, you need to set it");let n=lt[t];if(void 0===n){const r=We(Uint8Array.from(t,s=>s.charCodeAt(0)));n=u(r,r),lt[t]=n}return We(n,...e)},_JacobianPoint:T};var t;Object.defineProperties(ce,{sha256Sync:{configurable:!1,get:()=>We,set(t){We||(We=t)}},hmacSha256Sync:{configurable:!1,get:()=>Qe,set(t){Qe||(Qe=t)}}});const ut={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Ct=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Ae=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");function ht(t){if("string"==typeof t&&(t=function lr(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}function gn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0")),(()=>{const t=typeof module<"u"&&"function"==typeof module.require&&module.require.bind(module);try{if(t){const{setImmediate:e}=t("timers")}}catch{}})();class $t{clone(){return this._cloneInto()}}function dr(t=32){if(ut.web)return ut.web.getRandomValues(new Uint8Array(t));if(ut.node)return new Uint8Array(ut.node.randomBytes(t).buffer);throw new Error("The environment doesn't have randomBytes function")}class pr extends $t{constructor(e,n,r,s){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ct(this.buffer)}update(e){if(this.destroyed)throw new Error("instance is destroyed");const{view:n,buffer:r,blockLen:s,finished:o}=this;if(o)throw new Error("digest() was already called");const i=(e=ht(e)).length;for(let c=0;c<i;){const f=Math.min(s-this.pos,i-c);if(f!==s)r.set(e.subarray(c,c+f),this.pos),this.pos+=f,c+=f,this.pos===s&&(this.process(n,0),this.pos=0);else{const g=Ct(e);for(;s<=i-c;c+=s)this.process(g,c)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){if(this.destroyed)throw new Error("instance is destroyed");if(!(e instanceof Uint8Array)||e.length<this.outputLen)throw new Error("_Sha2: Invalid output buffer");if(this.finished)throw new Error("digest() was already called");this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>s-i&&(this.process(r,0),i=0);for(let f=i;f<s;f++)n[f]=0;(function br(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),c=Number(n&o),g=r?0:4;t.setUint32(e+(r?4:0),i,r),t.setUint32(e+g,c,r)})(r,s-8,BigInt(8*this.length),o),this.process(r,0);const c=Ct(e);this.get().forEach((f,g)=>c.setUint32(4*g,f,o))}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:o,destroyed:i,pos:c}=this;return e.length=s,e.pos=c,e.finished=o,e.destroyed=i,s%n&&e.buffer.set(r),e}}const yr=(t,e,n)=>t&e^~t&n,gr=(t,e,n)=>t&e^t&n^e&n,wr=new Uint32Array([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]),Le=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ue=new Uint32Array(64);class xr extends pr{constructor(){super(64,32,8,!1),this.A=0|Le[0],this.B=0|Le[1],this.C=0|Le[2],this.D=0|Le[3],this.E=0|Le[4],this.F=0|Le[5],this.G=0|Le[6],this.H=0|Le[7]}get(){const{A:e,B:n,C:r,D:s,E:o,F:i,G:c,H:f}=this;return[e,n,r,s,o,i,c,f]}set(e,n,r,s,o,i,c,f){this.A=0|e,this.B=0|n,this.C=0|r,this.D=0|s,this.E=0|o,this.F=0|i,this.G=0|c,this.H=0|f}process(e,n){for(let b=0;b<16;b++,n+=4)Ue[b]=e.getUint32(n,!1);for(let b=16;b<64;b++){const v=Ue[b-15],B=Ue[b-2],C=Ae(v,7)^Ae(v,18)^v>>>3,F=Ae(B,17)^Ae(B,19)^B>>>10;Ue[b]=F+Ue[b-7]+C+Ue[b-16]|0}let{A:r,B:s,C:o,D:i,E:c,F:f,G:g,H:p}=this;for(let b=0;b<64;b++){const B=p+(Ae(c,6)^Ae(c,11)^Ae(c,25))+yr(c,f,g)+wr[b]+Ue[b]|0,F=(Ae(r,2)^Ae(r,13)^Ae(r,22))+gr(r,s,o)|0;p=g,g=f,f=c,c=i+B|0,i=o,o=s,s=r,r=B+F|0}r=r+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,c=c+this.E|0,f=f+this.F|0,g=g+this.G|0,p=p+this.H|0,this.set(r,s,o,i,c,f,g,p)}roundClean(){Ue.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Je=function fr(t){const e=r=>t().update(ht(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.init=e.create=()=>t(),e}(()=>new xr);function Ne(t){if(!Number.isSafeInteger(t))throw new Error(`Wrong integer: ${t}`)}function Ee(...t){const e=(s,o)=>i=>s(o(i));return{encode:Array.from(t).reverse().reduce((s,o)=>s?e(s,o.encode):o.encode,void 0),decode:t.reduce((s,o)=>s?e(s,o.decode):o.decode,void 0)}}function ke(t){return{encode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("alphabet.encode input should be an array of numbers");return e.map(n=>{if(Ne(n),n<0||n>=t.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${t.length})`);return t[n]})},decode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("alphabet.decode input should be array of strings");return e.map(n=>{if("string"!=typeof n)throw new Error(`alphabet.decode: not string element=${n}`);const r=t.indexOf(n);if(-1===r)throw new Error(`Unknown letter: "${n}". Allowed: ${t}`);return r})}}}function Se(t=""){if("string"!=typeof t)throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("join.encode input should be array of strings");for(let n of e)if("string"!=typeof n)throw new Error(`join.encode: non-string input=${n}`);return e.join(t)},decode:e=>{if("string"!=typeof e)throw new Error("join.decode input should be string");return e.split(t)}}}function et(t,e="="){if(Ne(t),"string"!=typeof e)throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let r of n)if("string"!=typeof r)throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*t%8;)n.push(e);return n},decode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let s of n)if("string"!=typeof s)throw new Error(`padding.decode: non-string input=${s}`);let r=n.length;if(r*t%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if(!((r-1)*t%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function wn(t){if("function"!=typeof t)throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>t(e)}}function xn(t,e,n){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(t))throw new Error("convertRadix: data should be array");if(!t.length)return[];let r=0;const s=[],o=Array.from(t);for(o.forEach(i=>{if(Ne(i),i<0||i>=e)throw new Error(`Wrong integer: ${i}`)});;){let i=0,c=!0;for(let f=r;f<o.length;f++){const g=o[f],p=e*i+g;if(!Number.isSafeInteger(p)||e*i/e!==i||p-g!=e*i)throw new Error("convertRadix: carry overflow");if(i=p%n,o[f]=Math.floor(p/n),!Number.isSafeInteger(o[f])||o[f]*n+i!==p)throw new Error("convertRadix: carry overflow");c&&(o[f]?c=!1:r=f)}if(s.push(i),c)break}for(let i=0;i<t.length-1&&0===t[i];i++)s.push(0);return s.reverse()}const mn=(t,e)=>e?mn(e,t%e):t,ft=(t,e)=>t+(e-mn(t,e));function jt(t,e,n,r){if(!Array.isArray(t))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(ft(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${ft(e,n)}`);let s=0,o=0;const i=2**n-1,c=[];for(const f of t){if(Ne(f),f>=2**e)throw new Error(`convertRadix2: invalid data word=${f} from=${e}`);if(s=s<<e|f,o+e>32)throw new Error(`convertRadix2: carry overflow pos=${o} from=${e}`);for(o+=e;o>=n;o-=n)c.push((s>>o-n&i)>>>0);s&=2**o-1}if(s=s<<n-o&i,!r&&o>=e)throw new Error("Excess padding");if(!r&&s)throw new Error(`Non-zero padding: ${s}`);return r&&o>0&&c.push(s>>>0),c}function Be(t,e=!1){if(Ne(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(ft(8,t)>32||ft(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return jt(Array.from(n),8,t,!e)},decode:n=>{if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(jt(n,t,8,e))}}}function En(t){if("function"!=typeof t)throw new Error("unsafeWrapper fn should be function");return function(...e){try{return t.apply(null,e)}catch{}}}const mr=Ee(Be(4),ke("0123456789ABCDEF"),Se("")),vr=Ee(Be(5),ke("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),et(5),Se("")),tt=(Ee(Be(5),ke("0123456789ABCDEFGHIJKLMNOPQRSTUV"),et(5),Se("")),Ee(Be(5),ke("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Se(""),wn(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),Ee(Be(6),ke("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),et(6),Se(""))),Er=Ee(Be(6),ke("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),et(6),Se("")),Rt=t=>Ee(function vn(t){return Ne(t),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return xn(Array.from(e),256,t)},decode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(xn(e,t,256))}}}(58),ke(t),Se("")),dt=Rt("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),kn=(Rt("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),Rt("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"),[0,2,3,5,6,7,9,10,11]),Ar={encode(t){let e="";for(let n=0;n<t.length;n+=8){const r=t.subarray(n,n+8);e+=dt.encode(r).padStart(kn[r.length],"1")}return e},decode(t){let e=[];for(let n=0;n<t.length;n+=11){const r=t.slice(n,n+11),s=kn.indexOf(r.length),o=dt.decode(r);for(let i=0;i<o.length-s;i++)if(0!==o[i])throw new Error("base58xmr: wrong padding");e=e.concat(Array.from(o.slice(o.length-s)))}return Uint8Array.from(e)}},Pt=Ee(ke("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Se("")),Sn=[996825010,642813549,513874426,1027748829,705979059];function nt(t){const e=t>>25;let n=(33554431&t)<<5;for(let r=0;r<Sn.length;r++)1==(e>>r&1)&&(n^=Sn[r]);return n}function _n(t,e,n=1){const r=t.length;let s=1;for(let o=0;o<r;o++){const i=t.charCodeAt(o);if(i<33||i>126)throw new Error(`Invalid prefix (${t})`);s=nt(s)^i>>5}s=nt(s);for(let o=0;o<r;o++)s=nt(s)^31&t.charCodeAt(o);for(let o of e)s=nt(s)^o;for(let o=0;o<6;o++)s=nt(s);return s^=n,Pt.encode(jt([s%2**30],30,5,!1))}function Hn(t){const e="bech32"===t?1:734539939,n=Be(5),r=n.decode,s=n.encode,o=En(r);function c(p,b=90){if("string"!=typeof p)throw new Error("bech32.decode input should be string, not "+typeof p);if(p.length<8||!1!==b&&p.length>b)throw new TypeError(`Wrong string length: ${p.length} (${p}). Expected (8..${b})`);const v=p.toLowerCase();if(p!==v&&p!==p.toUpperCase())throw new Error("String must be lowercase or uppercase");const B=(p=v).lastIndexOf("1");if(0===B||-1===B)throw new Error('Letter "1" must be present between prefix and data only');const C=p.slice(0,B),F=p.slice(B+1);if(F.length<6)throw new Error("Data must be at least 6 characters long");const P=Pt.decode(F).slice(0,-6),J=_n(C,P,e);if(!F.endsWith(J))throw new Error(`Invalid checksum in ${p}: expected "${J}"`);return{prefix:C,words:P}}return{encode:function i(p,b,v=90){if("string"!=typeof p)throw new Error("bech32.encode prefix should be string, not "+typeof p);if(!Array.isArray(b)||b.length&&"number"!=typeof b[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof b);const B=p.length+7+b.length;if(!1!==v&&B>v)throw new TypeError(`Length ${B} exceeds limit ${v}`);return`${p=p.toLowerCase()}1${Pt.encode(b)}${_n(p,b,e)}`},decode:c,decodeToBytes:function g(p){const{prefix:b,words:v}=c(p,!1);return{prefix:b,words:v,bytes:r(v)}},decodeUnsafe:En(c),fromWords:r,fromWordsUnsafe:o,toWords:s}}const Ie=Hn("bech32"),Sr=(Hn("bech32m"),{encode:t=>(new TextDecoder).decode(t),decode:t=>(new TextEncoder).encode(t)}),_r=Ee(Be(4),ke("0123456789abcdef"),Se(""),wn(t=>{if("string"!=typeof t||t.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()}));Object.keys({utf8:Sr,hex:_r,base16:mr,base32:vr,base64:tt,base64url:Er,base58:dt,base58xmr:Ar}).join(", ");var Tn=we(3439),Dt=we(6837);function Nt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Me(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}const qe={number:Nt,bool:function Hr(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:Me,hash:function Br(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Nt(t.outputLen),Nt(t.blockLen)},exists:function Tr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function Lr(t,e){Me(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}},Xe=("object"==typeof self&&"crypto"in self&&self,t=>new DataView(t.buffer,t.byteOffset,t.byteLength)),_e=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");const Ur=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ln(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}function bt(t){if("string"==typeof t&&(t=Ln(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}function pt(...t){if(!t.every(r=>r instanceof Uint8Array))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce((r,s)=>r+s.length,0),n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){const o=t[r];n.set(o,s),s+=o.length}return n}class Un{clone(){return this._cloneInto()}}function Fe(t){const e=r=>t().update(bt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}class In extends Un{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,qe.hash(e);const r=bt(n);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,o=new Uint8Array(s);o.set(r.length>s?e.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=e.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(e){return qe.exists(this),this.iHash.update(e),this}digestInto(e){qe.exists(this),qe.bytes(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:o,blockLen:i,outputLen:c}=this;return e.finished=s,e.destroyed=o,e.blockLen=i,e.outputLen=c,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const yt=(t,e,n)=>new In(t,e).update(n).digest();yt.create=(t,e)=>new In(t,e);class qt extends Un{constructor(e,n,r,s){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Xe(this.buffer)}update(e){qe.exists(this);const{view:n,buffer:r,blockLen:s}=this,o=(e=bt(e)).length;for(let i=0;i<o;){const c=Math.min(s-this.pos,o-i);if(c!==s)r.set(e.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===s&&(this.process(n,0),this.pos=0);else{const f=Xe(e);for(;s<=o-i;i+=s)this.process(f,i)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){qe.exists(this),qe.output(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>s-i&&(this.process(r,0),i=0);for(let b=i;b<s;b++)n[b]=0;(function jr(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),c=Number(n&o),g=r?0:4;t.setUint32(e+(r?4:0),i,r),t.setUint32(e+g,c,r)})(r,s-8,BigInt(8*this.length),o),this.process(r,0);const c=Xe(e),f=this.outputLen;if(f%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const g=f/4,p=this.get();if(g>p.length)throw new Error("_sha2: outputLen bigger than state");for(let b=0;b<g;b++)c.setUint32(4*b,p[b],o)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:o,destroyed:i,pos:c}=this;return e.length=s,e.pos=c,e.finished=o,e.destroyed=i,s%n&&e.buffer.set(r),e}}const Rr=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Cn=Uint8Array.from({length:16},(t,e)=>e),Pr=Cn.map(t=>(9*t+5)%16);let Ft=[Cn],zt=[Pr];for(let t=0;t<4;t++)for(let e of[Ft,zt])e.push(e[t].map(n=>Rr[n]));const On=[[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(t=>new Uint8Array(t)),Dr=Ft.map((t,e)=>t.map(n=>On[e][n])),Nr=zt.map((t,e)=>t.map(n=>On[e][n])),Mr=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),qr=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),gt=(t,e)=>t<<e|t>>>32-e;function $n(t,e,n,r){return 0===t?e^n^r:1===t?e&n|~e&r:2===t?(e|~n)^r:3===t?e&r|n&~r:e^(n|~r)}const wt=new Uint32Array(16);class Fr extends qt{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:n,h2:r,h3:s,h4:o}=this;return[e,n,r,s,o]}set(e,n,r,s,o){this.h0=0|e,this.h1=0|n,this.h2=0|r,this.h3=0|s,this.h4=0|o}process(e,n){for(let B=0;B<16;B++,n+=4)wt[B]=e.getUint32(n,!0);let r=0|this.h0,s=r,o=0|this.h1,i=o,c=0|this.h2,f=c,g=0|this.h3,p=g,b=0|this.h4,v=b;for(let B=0;B<5;B++){const C=4-B,F=Mr[B],P=qr[B],J=Ft[B],re=zt[B],K=Dr[B],oe=Nr[B];for(let D=0;D<16;D++){const ue=gt(r+$n(B,o,c,g)+wt[J[D]]+F,K[D])+b|0;r=b,b=g,g=0|gt(c,10),c=o,o=ue}for(let D=0;D<16;D++){const ue=gt(s+$n(C,i,f,p)+wt[re[D]]+P,oe[D])+v|0;s=v,v=p,p=0|gt(f,10),f=i,i=ue}}this.set(this.h1+c+p|0,this.h2+g+v|0,this.h3+b+s|0,this.h4+r+i|0,this.h0+o+f|0)}roundClean(){wt.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const zr=Fe(()=>new Fr),Kr=(t,e,n)=>t&e^~t&n,Gr=(t,e,n)=>t&e^t&n^e&n,Wr=new Uint32Array([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]),Ce=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Oe=new Uint32Array(64);class jn extends qt{constructor(){super(64,32,8,!1),this.A=0|Ce[0],this.B=0|Ce[1],this.C=0|Ce[2],this.D=0|Ce[3],this.E=0|Ce[4],this.F=0|Ce[5],this.G=0|Ce[6],this.H=0|Ce[7]}get(){const{A:e,B:n,C:r,D:s,E:o,F:i,G:c,H:f}=this;return[e,n,r,s,o,i,c,f]}set(e,n,r,s,o,i,c,f){this.A=0|e,this.B=0|n,this.C=0|r,this.D=0|s,this.E=0|o,this.F=0|i,this.G=0|c,this.H=0|f}process(e,n){for(let b=0;b<16;b++,n+=4)Oe[b]=e.getUint32(n,!1);for(let b=16;b<64;b++){const v=Oe[b-15],B=Oe[b-2],C=_e(v,7)^_e(v,18)^v>>>3,F=_e(B,17)^_e(B,19)^B>>>10;Oe[b]=F+Oe[b-7]+C+Oe[b-16]|0}let{A:r,B:s,C:o,D:i,E:c,F:f,G:g,H:p}=this;for(let b=0;b<64;b++){const B=p+(_e(c,6)^_e(c,11)^_e(c,25))+Kr(c,f,g)+Wr[b]+Oe[b]|0,F=(_e(r,2)^_e(r,13)^_e(r,22))+Gr(r,s,o)|0;p=g,g=f,f=c,c=i+B|0,i=o,o=s,s=r,r=B+F|0}r=r+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,c=c+this.E|0,f=f+this.F|0,g=g+this.G|0,p=p+this.H|0,this.set(r,s,o,i,c,f,g,p)}roundClean(){Oe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Vr extends jn{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const Kt=Fe(()=>new jn),xt=(Fe(()=>new Vr),BigInt(2**32-1)),Gt=BigInt(32);function Rn(t,e=!1){return e?{h:Number(t&xt),l:Number(t>>Gt&xt)}:{h:0|Number(t>>Gt&xt),l:0|Number(t&xt)}}const ne_split=function Zr(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let s=0;s<t.length;s++){const{h:o,l:i}=Rn(t[s],e);[n[s],r[s]]=[o,i]}return[n,r]},ne_shrSH=(t,e,n)=>t>>>n,ne_shrSL=(t,e,n)=>t<<32-n|e>>>n,ne_rotrSH=(t,e,n)=>t>>>n|e<<32-n,ne_rotrSL=(t,e,n)=>t<<32-n|e>>>n,ne_rotrBH=(t,e,n)=>t<<64-n|e>>>n-32,ne_rotrBL=(t,e,n)=>t>>>n-32|e<<64-n,ne_add=function ls(t,e,n,r){const s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:0|s}},ne_add3L=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),ne_add3H=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,ne_add4L=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),ne_add4H=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,ne_add5H=(t,e,n,r,s,o)=>e+n+r+s+o+(t/2**32|0)|0,ne_add5L=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),[us,hs]=ne_split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),$e=new Uint32Array(80),je=new Uint32Array(80);class mt extends qt{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:n,Bh:r,Bl:s,Ch:o,Cl:i,Dh:c,Dl:f,Eh:g,El:p,Fh:b,Fl:v,Gh:B,Gl:C,Hh:F,Hl:P}=this;return[e,n,r,s,o,i,c,f,g,p,b,v,B,C,F,P]}set(e,n,r,s,o,i,c,f,g,p,b,v,B,C,F,P){this.Ah=0|e,this.Al=0|n,this.Bh=0|r,this.Bl=0|s,this.Ch=0|o,this.Cl=0|i,this.Dh=0|c,this.Dl=0|f,this.Eh=0|g,this.El=0|p,this.Fh=0|b,this.Fl=0|v,this.Gh=0|B,this.Gl=0|C,this.Hh=0|F,this.Hl=0|P}process(e,n){for(let K=0;K<16;K++,n+=4)$e[K]=e.getUint32(n),je[K]=e.getUint32(n+=4);for(let K=16;K<80;K++){const oe=0|$e[K-15],D=0|je[K-15],ue=ne_rotrSH(oe,D,1)^ne_rotrSH(oe,D,8)^ne_shrSH(oe,D,7),ae=ne_rotrSL(oe,D,1)^ne_rotrSL(oe,D,8)^ne_shrSL(oe,D,7),fe=0|$e[K-2],ge=0|je[K-2],Ye=ne_rotrSH(fe,ge,19)^ne_rotrBH(fe,ge,61)^ne_shrSH(fe,ge,6),me=ne_rotrSL(fe,ge,19)^ne_rotrBL(fe,ge,61)^ne_shrSL(fe,ge,6),Re=ne_add4L(ae,me,je[K-7],je[K-16]),st=ne_add4H(Re,ue,Ye,$e[K-7],$e[K-16]);$e[K]=0|st,je[K]=0|Re}let{Ah:r,Al:s,Bh:o,Bl:i,Ch:c,Cl:f,Dh:g,Dl:p,Eh:b,El:v,Fh:B,Fl:C,Gh:F,Gl:P,Hh:J,Hl:re}=this;for(let K=0;K<80;K++){const oe=ne_rotrSH(b,v,14)^ne_rotrSH(b,v,18)^ne_rotrBH(b,v,41),D=ne_rotrSL(b,v,14)^ne_rotrSL(b,v,18)^ne_rotrBL(b,v,41),ue=b&B^~b&F,fe=ne_add5L(re,D,v&C^~v&P,hs[K],je[K]),ge=ne_add5H(fe,J,oe,ue,us[K],$e[K]),Ye=0|fe,me=ne_rotrSH(r,s,28)^ne_rotrBH(r,s,34)^ne_rotrBH(r,s,39),Re=ne_rotrSL(r,s,28)^ne_rotrBL(r,s,34)^ne_rotrBL(r,s,39),st=r&o^r&c^o&c,ot=s&i^s&f^i&f;J=0|F,re=0|P,F=0|B,P=0|C,B=0|b,C=0|v,({h:b,l:v}=ne_add(0|g,0|p,0|ge,0|Ye)),g=0|c,p=0|f,c=0|o,f=0|i,o=0|r,i=0|s;const Zn=ne_add3L(Ye,Re,ot);r=ne_add3H(Zn,ge,me,st),s=0|Zn}({h:r,l:s}=ne_add(0|this.Ah,0|this.Al,0|r,0|s)),({h:o,l:i}=ne_add(0|this.Bh,0|this.Bl,0|o,0|i)),({h:c,l:f}=ne_add(0|this.Ch,0|this.Cl,0|c,0|f)),({h:g,l:p}=ne_add(0|this.Dh,0|this.Dl,0|g,0|p)),({h:b,l:v}=ne_add(0|this.Eh,0|this.El,0|b,0|v)),({h:B,l:C}=ne_add(0|this.Fh,0|this.Fl,0|B,0|C)),({h:F,l:P}=ne_add(0|this.Gh,0|this.Gl,0|F,0|P)),({h:J,l:re}=ne_add(0|this.Hh,0|this.Hl,0|J,0|re)),this.set(r,s,o,i,c,f,g,p,b,v,B,C,F,P,J,re)}roundClean(){$e.fill(0),je.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class fs extends mt{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class ds extends mt{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class bs extends mt{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}const Pn=Fe(()=>new mt);Fe(()=>new fs),Fe(()=>new ds),Fe(()=>new bs),ce.hmacSha256Sync=(t,...e)=>yt(Kt,t,ce.concatBytes(...e));const Wt=(t=>Ee(function An(t,e){if(Ne(t),"function"!=typeof e)throw new Error("checksum fn should be function");return{encode(n){if(!(n instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const r=e(n).slice(0,t),s=new Uint8Array(n.length+t);return s.set(n),s.set(r,n.length),s},decode(n){if(!(n instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const r=n.slice(0,-t),s=e(r).slice(0,t),o=n.slice(-t);for(let i=0;i<t;i++)if(s[i]!==o[i])throw new Error("Invalid checksum");return r}}}(4,e=>t(t(e))),dt))(Kt);function Dn(t){return BigInt(`0x${function Ir(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=Ur[t[n]];return e}(t)}`)}const ys=Ln("Bitcoin seed"),Vt={private:76066276,public:76067358},Zt=2147483648,vt=t=>{if(!Number.isSafeInteger(t)||t<0||t>2**32-1)throw new Error(`Invalid number=${t}. Should be from 0 to 2 ** 32 - 1`);const e=new Uint8Array(4);return Xe(e).setUint32(0,t,!1),e};class ze{constructor(e){if(this.depth=0,this.index=0,this.chainCode=null,this.parentFingerprint=0,!e||"object"!=typeof e)throw new Error("HDKey.constructor must not be called directly");if(this.versions=e.versions||Vt,this.depth=e.depth||0,this.chainCode=e.chainCode,this.index=e.index||0,this.parentFingerprint=e.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(e.publicKey&&e.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(e.privateKey){if(!ce.isValidPrivateKey(e.privateKey))throw new Error("Invalid private key");this.privKey="bigint"==typeof e.privateKey?e.privateKey:Dn(e.privateKey),this.privKeyBytes=function ps(t){return function Cr(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,s=t.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}(t.toString(16).padStart(64,"0"))}(this.privKey),this.pubKey=function Qn(t,e=!1){return h.fromPrivateKey(t).toRawBytes(e)}(e.privateKey,!0)}else{if(!e.publicKey)throw new Error("HDKey: no public or private key provided");this.pubKey=h.fromHex(e.publicKey).toRawBytes(!0)}this.pubHash=(t=>zr(Kt(this.pubKey)))()}get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return(t=>Xe(this.pubHash).getUint32(0,!1))()}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this.privKeyBytes||null}get publicKey(){return this.pubKey||null}get privateExtendedKey(){const e=this.privateKey;if(!e)throw new Error("No private key");return Wt.encode(this.serialize(this.versions.private,pt(new Uint8Array([0]),e)))}get publicExtendedKey(){if(!this.pubKey)throw new Error("No public key");return Wt.encode(this.serialize(this.versions.public,this.pubKey))}static fromMasterSeed(e,n=Vt){if(Me(e),8*e.length<128||8*e.length>512)throw new Error(`HDKey: wrong seed length=${e.length}. Should be between 128 and 512 bits; 256 bits is advised)`);const r=yt(Pn,ys,e);return new ze({versions:n,chainCode:r.slice(32),privateKey:r.slice(0,32)})}static fromExtendedKey(e,n=Vt){const r=Wt.decode(e),s=Xe(r),o=s.getUint32(0,!1),i={versions:n,depth:r[4],parentFingerprint:s.getUint32(5,!1),index:s.getUint32(9,!1),chainCode:r.slice(13,45)},c=r.slice(45),f=0===c[0];if(o!==n[f?"private":"public"])throw new Error("Version mismatch");return new ze(f?{...i,privateKey:c.slice(1)}:{...i,publicKey:c})}static fromJSON(e){return ze.fromExtendedKey(e.xpriv)}derive(e){if(!/^[mM]'?/.test(e))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(e))return this;const n=e.replace(/^[mM]'?\//,"").split("/");let r=this;for(const s of n){const o=/^(\d+)('?)$/.exec(s);if(!o||3!==o.length)throw new Error(`Invalid child index: ${s}`);let i=+o[1];if(!Number.isSafeInteger(i)||i>=Zt)throw new Error("Invalid index");"'"===o[2]&&(i+=Zt),r=r.deriveChild(i)}return r}deriveChild(e){if(!this.pubKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=vt(e);if(e>=Zt){const c=this.privateKey;if(!c)throw new Error("Could not derive hardened child key");n=pt(new Uint8Array([0]),c,n)}else n=pt(this.pubKey,n);const r=yt(Pn,this.chainCode,n),s=Dn(r.slice(0,32)),o=r.slice(32);if(!ce.isValidPrivateKey(s))throw new Error("Tweak bigger than curve order");const i={versions:this.versions,chainCode:o,depth:this.depth+1,parentFingerprint:this.fingerprint,index:e};try{if(this.privateKey){const c=ce.mod(this.privKey+s,w.n);if(!ce.isValidPrivateKey(c))throw new Error("The tweak was out of range or the resulted private key is invalid");i.privateKey=c}else{const c=h.fromHex(this.pubKey).add(h.fromPrivateKey(s));if(c.equals(h.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");i.publicKey=c.toRawBytes(!0)}return new ze(i)}catch{return this.deriveChild(e+1)}}sign(e){if(!this.privateKey)throw new Error("No privateKey set!");return Me(e,32),function er(t,e,n={}){const{seed:r,m:s,d:o}=function un(t,e,n){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const r=ie(t),s=De(e),o=[ln(s),Jn(r)];if(null!=n){!0===n&&(n=ce.randomBytes(32));const f=ie(n);if(32!==f.length)throw new Error("sign: Expected 32 bytes of extra data");o.push(f)}return{seed:u(...o),m:an(r),d:s}}(t,e,n.extraEntropy),i=new nn(32,32);let c;for(i.reseedSync(r);!(c=rn(i.generateSync(),s,o,n.canonical));)i.reseedSync();return function hn(t,e){const{sig:n,recovery:r}=t,{der:s,recovered:o}=Object.assign({canonical:!0,der:!0},e),i=s?n.toDERRawBytes():n.toCompactRawBytes();return o?[i,r]:i}(c,n)}(e,this.privKey,{canonical:!0,der:!1})}verify(e,n){if(Me(e,32),Me(n,64),!this.publicKey)throw new Error("No publicKey set!");let r;try{r=l.fromCompact(n)}catch{return!1}return function nr(t,e,n,r=tr){let s;try{s=sn(t),e=ie(e)}catch{return!1}const{r:o,s:i}=s;if(r.strict&&s.hasHighS())return!1;const c=Bt(e);let f;try{f=Tt(n)}catch{return!1}const{n:g}=w,p=ve(i,g),b=E(c*p,g),v=E(o*p,g),B=h.BASE.multiplyAndAddUnsafe(f,b,v);return!!B&&E(B.x,g)===o}(r,e,this.publicKey)}wipePrivateData(){return this.privKey=void 0,this.privKeyBytes&&(this.privKeyBytes.fill(0),this.privKeyBytes=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(e,n){if(!this.chainCode)throw new Error("No chainCode set");return Me(n,33),pt(vt(e),new Uint8Array([this.depth]),vt(this.parentFingerprint),vt(this.index),this.chainCode,n)}}class Nn extends $t{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,function ur(t){if("function"!=typeof t||"function"!=typeof t.init)throw new Error("Hash should be wrapped by utils.wrapConstructor");gn(t.outputLen),gn(t.blockLen)}(e);const r=ht(n);if(this.iHash=e.create(),!(this.iHash instanceof $t))throw new TypeError("Expected instance of class which extends utils.Hash");const s=this.blockLen=this.iHash.blockLen;this.outputLen=this.iHash.outputLen;const o=new Uint8Array(s);o.set(r.length>this.iHash.blockLen?e.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=e.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(e){if(this.destroyed)throw new Error("instance is destroyed");return this.iHash.update(e),this}digestInto(e){if(this.destroyed)throw new Error("instance is destroyed");if(!(e instanceof Uint8Array)||e.length!==this.outputLen)throw new Error("HMAC: Invalid output buffer");if(this.finished)throw new Error("digest() was already called");this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:o,blockLen:i,outputLen:c}=this;return e.finished=s,e.destroyed=o,e.blockLen=i,e.outputLen=c,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Et=(t,e,n)=>new Nn(t,e).update(n).digest();Et.create=(t,e)=>new Nn(t,e),Et.init=Et.create;var xs=Object.defineProperty,Ke=(t,e)=>{for(var n in e)xs(t,n,{get:e[n],enumerable:!0})};function ms(t){return ce.bytesToHex(at.getPublicKey(t))}Ke({},{insertEventIntoAscendingList:()=>As,insertEventIntoDescendingList:()=>Es,normalizeURL:()=>kt,utf8Decoder:()=>At,utf8Encoder:()=>Ge});var _t,At=new TextDecoder("utf-8"),Ge=new TextEncoder;function kt(t){let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),("80"===e.port&&"ws:"===e.protocol||"443"===e.port&&"wss:"===e.protocol)&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}function Es(t,e){let s,n=0,r=t.length-1,o=n;if(r<0)o=0;else if(e.created_at<t[r].created_at)o=r+1;else if(e.created_at>=t[n].created_at)o=n;else for(;;){if(r<=n+1){o=r;break}if(s=Math.floor(n+(r-n)/2),t[s].created_at>e.created_at)n=s;else{if(!(t[s].created_at<e.created_at)){o=s;break}r=s}}return t[o]?.id!==e.id?[...t.slice(0,o),e,...t.slice(o)]:t}function As(t,e){let s,n=0,r=t.length-1,o=n;if(r<0)o=0;else if(e.created_at>t[r].created_at)o=r+1;else if(e.created_at<=t[n].created_at)o=n;else for(;;){if(r<=n+1){o=r;break}if(s=Math.floor(n+(r-n)/2),t[s].created_at<e.created_at)n=s;else{if(!(t[s].created_at>e.created_at)){o=s;break}r=s}}return t[o]?.id!==e.id?[...t.slice(0,o),e,...t.slice(o)]:t}function qn(t){if("string"!=typeof t.content||"number"!=typeof t.created_at||"string"!=typeof t.pubkey||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if("object"==typeof n[r])return!1}return!0}function _s(t){return at.verifySync(t.sig,function Mn(t){let e=Je(Ge.encode(function Ss(t){if(!qn(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}(t)));return ce.bytesToHex(e)}(t),t.pubkey)}function Hs(t,e){if(t.ids&&-1===t.ids.indexOf(e.id)||t.kinds&&-1===t.kinds.indexOf(e.kind)||t.authors&&-1===t.authors.indexOf(e.pubkey))return!1;for(let n in t)if("#"===n[0]){let s=t[`#${n.slice(1)}`];if(s&&!e.tags.find(([o,i])=>o===n.slice(1)&&-1!==s.indexOf(i)))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>=t.until)}function Bs(t,e){for(let n=0;n<t.length;n++)if(Hs(t[n],e))return!0;return!1}function St(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,s=t.slice(r).indexOf('"')+r+1;return t.slice(s,s+64)}function Fn(t,e){let n=e.length,r=t.indexOf(`"${e}":`)+n+3,s=t.slice(r),o=Math.min(s.indexOf(","),s.indexOf("}"));return parseInt(s.slice(0,o),10)}function zn(t){let e=t.slice(0,22).indexOf('"EVENT"');if(-1===e)return null;let n=t.slice(e+7+1).indexOf('"');if(-1===n)return null;let r=e+7+1+n,s=t.slice(r+1,80).indexOf('"');return-1===s?null:t.slice(r+1,r+1+s)}function Ls(t,e){return e===St(t,"id")}function Us(t,e){return e===St(t,"pubkey")}function Is(t,e){return e===Fn(t,"kind")}function $s(t,e,n){return Xt.apply(this,arguments)}function Xt(){return Xt=a(function*(t,e,n){const s=Gn(cn(t,"02"+e));let o=Uint8Array.from(dr(16)),i=Ge.encode(n),c=yield crypto.subtle.importKey("raw",s,{name:"AES-CBC"},!1,["encrypt"]),f=yield crypto.subtle.encrypt({name:"AES-CBC",iv:o},c,i);return`${tt.encode(new Uint8Array(f))}?iv=${tt.encode(new Uint8Array(o.buffer))}`}),Xt.apply(this,arguments)}function js(t,e,n){return Yt.apply(this,arguments)}function Yt(){return Yt=a(function*(t,e,n){let[r,s]=n.split("?iv="),i=Gn(cn(t,"02"+e)),c=yield crypto.subtle.importKey("raw",i,{name:"AES-CBC"},!1,["decrypt"]),f=tt.decode(r),g=tt.decode(s),p=yield crypto.subtle.decrypt({name:"AES-CBC",iv:g},c,f);return At.decode(p)}),Yt.apply(this,arguments)}function Gn(t){return t.slice(1,33)}Ke({},{getHex64:()=>St,getInt:()=>Fn,getSubscriptionId:()=>zn,matchEventId:()=>Ls,matchEventKind:()=>Is,matchEventPubkey:()=>Us}),Ke({},{decrypt:()=>js,encrypt:()=>$s}),Ke({},{queryProfile:()=>Ns,searchDomain:()=>Ds,useFetchImplementation:()=>Ps});try{_t=fetch}catch{}function Ps(t){_t=t}function Ds(t){return Qt.apply(this,arguments)}function Qt(){return Qt=a(function*(t,e=""){try{return(yield(yield _t(`https://${t}/.well-known/nostr.json?name=${e}`)).json()).names}catch{return{}}}),Qt.apply(this,arguments)}function Ns(t){return Jt.apply(this,arguments)}function Jt(){return Jt=a(function*(t){let[e,n]=t.split("@");if(n||(n=e,e="_"),!e.match(/^[A-Za-z0-9-_]+$/))return null;let r=yield(yield _t(`https://${n}/.well-known/nostr.json?name=${e}`)).json();if(!r?.names?.[e])return null;let s=r.names[e];return{pubkey:s,relays:r.relays?.[s]||[]}}),Jt.apply(this,arguments)}function qs(t,e){let r=ze.fromMasterSeed((0,Dt.Z1)(t,e)).derive("m/44'/1237'/0'/0/0").privateKey;if(!r)throw new Error("could not derive private key");return ce.bytesToHex(r)}function Fs(){return(0,Dt.OF)(Tn.U)}function zs(t){return(0,Dt._I)(t,Tn.U)}function Gs(t){let{prefix:e,words:n}=Ie.decode(t,5e3),r=new Uint8Array(Ie.fromWords(n));if("nprofile"===e){let s=Wn(r);if(!s[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(32!==s[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:ce.bytesToHex(s[0][0]),relays:s[1].map(o=>At.decode(o))}}}if("nevent"===e){let s=Wn(r);if(!s[0]?.[0])throw new Error("missing TLV 0 for nevent");if(32!==s[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nevent",data:{id:ce.bytesToHex(s[0][0]),relays:s[1].map(o=>At.decode(o))}}}if("nsec"===e||"npub"===e||"note"===e)return{type:e,data:ce.bytesToHex(r)};throw new Error(`unknown prefix ${e}`)}function Wn(t){let e={},n=t;for(;n.length>0;){let r=n[0],s=n[1],o=n.slice(2,2+s);n=n.slice(2+s),!(o.length<s)&&(e[r]=e[r]||[],e[r].push(o))}return e}function Ws(t){return en("nsec",t)}function Vs(t){return en("npub",t)}function Zs(t){return en("note",t)}function en(t,e){let n=ce.hexToBytes(e),r=Ie.toWords(n);return Ie.encode(t,r,5e3)}function Xs(t){let e=Vn({0:[ce.hexToBytes(t.pubkey)],1:(t.relays||[]).map(r=>Ge.encode(r))}),n=Ie.toWords(e);return Ie.encode("nprofile",n,5e3)}function Ys(t){let e=Vn({0:[ce.hexToBytes(t.id)],1:(t.relays||[]).map(r=>Ge.encode(r))}),n=Ie.toWords(e);return Ie.encode("nevent",n,5e3)}function Vn(t){let e=[];return Object.entries(t).forEach(([n,r])=>{r.forEach(s=>{let o=new Uint8Array(s.length+2);o.set([parseInt(n)],0),o.set([s.length],1),o.set(s,2),e.push(o)})}),ce.concatBytes(...e)}function Js(t,e){let n=[];(e.kind||-1)>=0&&n.push(`kind=${e.kind}`),e.until&&n.push(`created_at<${e.until}`),e.since&&n.push(`created_at>${e.since}`);let r=n.join("&");if(""===r)throw new Error("refusing to create a delegation without any conditions");let s=Je(Ge.encode(`nostr:delegation:${e.pubkey}:${r}`)),o=ce.bytesToHex(at.signSync(s,t));return{from:ms(t),to:e.pubkey,cond:r,sig:o}}function eo(t){let e=t.tags.find(c=>"delegation"===c[0]&&c.length>=4);if(!e)return null;let n=e[1],r=e[2],s=e[3],o=r.split("&");for(let c=0;c<o.length;c++){let[f,g,p]=o[c].split(/\b/);if("kind"!==f||"="!==g||t.kind!==parseInt(p)){if("created_at"===f&&"<"===g&&t.created_at<parseInt(p))continue;if("created_at"===f&&">"===g&&t.created_at>parseInt(p))continue;return null}}let i=Je(Ge.encode(`nostr:delegation:${t.pubkey}:${r}`));return at.verifySync(s,i,n)?n:null}Ke({},{generateSeedWords:()=>Fs,privateKeyFromSeedWords:()=>qs,validateWords:()=>zs}),Ke({},{decode:()=>Gs,neventEncode:()=>Ys,noteEncode:()=>Zs,nprofileEncode:()=>Xs,npubEncode:()=>Vs,nsecEncode:()=>Ws}),Ke({},{createDelegation:()=>Js,getDelegator:()=>eo}),ce.hmacSha256Sync=(t,...e)=>Et(Je,t,ce.concatBytes(...e)),ce.sha256Sync=(...t)=>Je(ce.concatBytes(...t));class to{constructor(){this.queues={profile:{active:!1,jobs:[]},event:{active:!1,jobs:[]},contacts:{active:!1,jobs:[]},subscriptions:{active:!1,jobs:[]}}}enqueProfile(e){this.queues.profile.jobs.push({identifier:e,type:"Profile"})}enqueEvent(e){this.queues.event.jobs.push({identifier:e,type:"Event"})}enqueContacts(e){this.queues.contacts.jobs.push({identifier:e,type:"Contacts"})}enque(e,n){"Profile"===n?this.enqueProfile(e):"Event"===n?this.enqueEvent(e):"Contacts"===n&&this.enqueContacts(e)}}class no{constructor(e){this.url=e,this.subscriptions=[],this.queue=new to}publish(e){var n=this;return a(function*(){let r=n.relay.publish(e);r.on("ok",()=>{console.log(`${n.relay.url} has accepted our event`)}),r.on("seen",()=>{console.log(`we saw the event on ${n.relay.url}`)}),r.on("failed",s=>{console.log(`failed to publish to ${n.relay.url}: ${s}`)})})()}enque(e){if("Profile"==e.type)this.queue.queues.profile.jobs.push(e);else if("Contacts"==e.type)this.queue.queues.contacts.jobs.push(e);else{if("Event"!=e.type)throw Error(`This type of job (${e.type}) is currently not supported.`);this.queue.queues.event.jobs.push(e)}console.log(`${this.url}: Job enqued...processing...`),setTimeout(()=>{this.process()},150)}process(){this.processProfiles(),this.processContacts(),this.processEvents(),this.processSubscriptions()}processSubscriptions(){if(this.relay&&1==this.relay.status&&0!=this.queue.queues.subscriptions.jobs.length)for(;this.queue.queues.subscriptions.jobs.length;){const e=this.queue.queues.subscriptions.jobs.shift();e&&this.subscribe(e.filters,e.id)}}processProfiles(){if(!this.relay||1!=this.relay.status||this.queue.queues.profile.active)return void console.log(`${this.url}: processProfiles: Relay not ready or currently active: ${this.queue.queues.profile.active}.`,this.relay);if(0==this.queue.queues.profile.jobs.length)return void(this.queue.queues.profile.active=!1);this.queue.queues.profile.active=!0;const e=this.queue.queues.profile.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);this.downloadProfile(e,3*e.length)}processContacts(){if(!this.relay||1!=this.relay.status||this.queue.queues.contacts.active)return;if(0==this.queue.queues.contacts.jobs.length)return void(this.queue.queues.contacts.active=!1);this.queue.queues.contacts.active=!0;const e=this.queue.queues.contacts.jobs.shift();this.downloadContacts(e.identifier,()=>{this.queue.queues.contacts.active=!1,this.processContacts()})}processEvents(){if(!this.relay||1!=this.relay.status||this.queue.queues.event.active)return void console.log(`${this.url}: processProfiles: Relay not ready or currently active: ${this.queue.queues.event.active}.`,this.relay);if(console.log(`${this.url}: processEvents: Processing with downloading... Count: `+this.queue.queues.event.jobs.length),0==this.queue.queues.event.jobs.length)return void(this.queue.queues.event.active=!1);this.queue.queues.event.active=!0,console.log(this.relay);const e=this.queue.queues.event.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);console.log("eventsToDownload:",e),this.downloadEvent(e,3*e.length)}connect(e){var n=this;return a(function*(){const r=function Kn(t){var e,n,r,s=new Promise(P=>{r=P}),o={},i={connect:[],disconnect:[],error:[],notice:[]},c={},f={};function g(){return p.apply(this,arguments)}function p(){return(p=a(function*(){return new Promise((P,J)=>{(e=new WebSocket(t)).onopen=()=>{i.connect.forEach(D=>D()),r(),P()},e.onerror=()=>{i.error.forEach(D=>D()),J()},e.onclose=a(function*(){i.disconnect.forEach(D=>D()),n&&n()});let K,re=[];function oe(){if(0===re.length)return clearInterval(K),void(K=null);var D=re.shift();if(!D)return;let ue=zn(D);if(ue){let ae=o[ue];if(ae&&ae.alreadyHaveEvent&&ae.alreadyHaveEvent(St(D,"id"),t))return}try{let ae=JSON.parse(D);switch(ae[0]){case"EVENT":let fe=ae[1],ge=ae[2];return void(qn(ge)&&o[fe]&&(o[fe].skipVerification||_s(ge))&&Bs(o[fe].filters,ge)&&(c[fe]?.event||[]).forEach(me=>me(ge)));case"EOSE":return void(c[ae[1]]?.eose||[]).forEach(Re=>Re());case"OK":{let me=ae[1],st=ae[3]||"";return void(ae[2]?f[me]?.ok.forEach(ot=>ot()):f[me]?.failed.forEach(ot=>ot(st)))}case"NOTICE":let Ye=ae[1];return void i.notice.forEach(me=>me(Ye))}}catch{return}}e.onmessage=D=>{re.push(D.data),K||(K=setInterval(oe,0))}})})).apply(this,arguments)}function v(){return(v=a(function*(){e?.readyState&&1===e.readyState||(yield g())})).apply(this,arguments)}function B(P){return C.apply(this,arguments)}function C(){return(C=a(function*(P){let J=JSON.stringify(P);yield s;try{e.send(J)}catch(re){console.log(re)}})).apply(this,arguments)}const F=(P,{skipVerification:J=!1,alreadyHaveEvent:re=null,id:K=Math.random().toString().slice(2)}={})=>{let oe=K;return o[oe]={id:oe,filters:P,skipVerification:J,alreadyHaveEvent:re},B(["REQ",oe,...P]),{sub:(D,ue={})=>F(D||P,{skipVerification:ue.skipVerification||J,alreadyHaveEvent:ue.alreadyHaveEvent||re,id:oe}),unsub:()=>{delete o[oe],delete c[oe],B(["CLOSE",oe])},on:(D,ue)=>{c[oe]=c[oe]||{event:[],eose:[]},c[oe][D].push(ue)},off:(D,ue)=>{let ae=c[oe],fe=ae[D].indexOf(ue);fe>=0&&ae[D].splice(fe,1)}}};return{url:t,sub:F,on:(P,J)=>{i[P].push(J),"connect"===P&&1===e?.readyState&&J()},off:(P,J)=>{let re=i[P].indexOf(J);-1!==re&&i[P].splice(re,1)},list:(P,J)=>new Promise(re=>{let K=F(P,J),oe=[],D=setTimeout(()=>{K.unsub(),re(oe)},1500);K.on("eose",()=>{K.unsub(),clearTimeout(D),re(oe)}),K.on("event",ue=>{oe.push(ue)})}),get:(P,J)=>new Promise(re=>{let K=F([P],J),oe=setTimeout(()=>{K.unsub(),re(null)},1500);K.on("event",D=>{K.unsub(),clearTimeout(oe),re(D)})}),publish(P){if(!P.id)throw new Error(`event ${P} has no id`);let J=P.id;var re=!1,K=!1;B(["EVENT",P]).then(()=>{re=!0,K&&(oe(),K=!1)}).catch(()=>{});const oe=()=>{let D=F([{ids:[J]}],{id:`monitor-${J.slice(0,5)}`}),ue=setTimeout(()=>{(f[J]?.failed||[]).forEach(ae=>ae("event not seen after 5 seconds")),D.unsub()},5e3);D.on("event",()=>{clearTimeout(ue),(f[J]?.seen||[]).forEach(ae=>ae())})};return{on:(D,ue)=>{f[J]=f[J]||{ok:[],seen:[],failed:[]},f[J][D].push(ue),"seen"===D&&(re?oe():K=!0)},off:(D,ue)=>{let ae=f[J];if(!ae)return;let fe=ae[D].indexOf(ue);fe>=0&&ae[D].splice(fe,1)}}},connect:function b(){return v.apply(this,arguments)},close:()=>e.readyState>1?Promise.resolve():(e.close(),new Promise(P=>{n=P})),get status(){return e?.readyState??3}}}(n.url);n.relay=r,r.on("connect",a(function*(){console.log(`${n.url}: Connected.`),postMessage({type:"status",data:1,url:r.url}),e?(yield n.publish(e),yield n.disconnect(),postMessage({type:"terminated",url:n.url})):n.process()})),r.on("disconnect",()=>{console.log(`${n.url}: DISCONNECTED!`),n.subscriptions=[],postMessage({type:"status",data:0,url:r.url})}),r.on("notice",s=>{console.log(`${n.url}: NOTICE: ${s}`),postMessage({type:"notice",data:s,url:r.url})});try{yield r.connect()}catch{postMessage({type:"error",relay:n.url,error:"Unable to connect."}),console.error("Unable to connect.")}})()}disconnect(){var e=this;return a(function*(){if(1==e.relay.status)return console.log(`${e.url}: relay.status: ${e.relay.status}, calling close!`),e.relay.close()})()}unsubscribe(e){const n=this.subscriptions.findIndex(s=>s.id===e);if(-1==n)return;const r=this.subscriptions[n];this.subscriptions.splice(n,1),r.sub?.unsub(),console.log("Unsubscribed: ",e)}clearProfileSub(){this.profileSub?.unsub(),this.profileSub=void 0}clearContactsSub(){this.contactsSub?.unsub(),this.contactsSub=void 0}clearEventSub(){this.eventSub?.unsub(),this.eventSub=void 0}downloadProfile(e,n=12){if(console.log("DOWNLOAD PROFILE...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.profileSub&&(console.log("Profile sub already existed, unsub before continue."),this.clearProfileSub());const s=this.relay.sub([{kinds:[0],authors:e}]);this.profileSub=s,s.on("event",o=>{console.log("POST MESSAGE BACK TO MAIN"),postMessage({url:this.url,type:"event",data:o}),console.log("FINISHED POST MESSAGE BACK TO MAIN")}),s.on("eose",()=>{console.log("eose on profile, profile likely not found."),clearTimeout(this.profileTimer),this.clearProfileSub(),this.queue.queues.profile.active=!1,this.processProfiles()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.profileTimer=setTimeout(()=>{console.warn(`${this.url}: Profile download timeout reached.`),this.clearProfileSub(),this.queue.queues.profile.active=!1,this.processProfiles(),postMessage({url:this.url,type:"timeout",data:{type:"Profile",identifier:e}})},1e3*n)}downloadContacts(e,n,r=3e3){console.log("DOWNLOAD CONTACTS....");let s=!1;if(!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.contactsSub&&this.clearContactsSub();const o=this.relay.sub([{kinds:[3],authors:[e]}]);this.contactsSub=o,o.on("event",i=>{postMessage({url:this.url,type:"event",data:i}),this.clearContactsSub(),clearTimeout(this.contactsTimer),s||(s=!0,n())}),this.contactsTimer=setTimeout(()=>{this.clearContactsSub(),s||(s=!0,n())},1e3*r)}downloadEvent(e,n=12){if(console.log("DOWNLOAD EVENT...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.eventSub&&(console.log("Event sub already existed, unsub before continue."),this.clearEventSub());const s=this.relay.sub([{kinds:[1],ids:e}]);this.eventSub=s,s.on("event",o=>{console.log("POST MESSAGE BACK TO MAIN"),postMessage({url:this.url,type:"event",data:o}),console.log("FINISHED POST MESSAGE BACK TO MAIN")}),s.on("eose",()=>{console.log("eose on event."),clearTimeout(this.eventTimer),this.clearEventSub(),this.queue.queues.event.active=!1,this.processEvents()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.eventTimer=setTimeout(()=>{console.warn(`${this.url}: Event download timeout reached.`),this.clearEventSub(),this.queue.queues.event.active=!1,this.processEvents(),postMessage({url:this.url,type:"timeout",data:{type:"Event",identifier:e}})},1e3*n)}subscribe(e,n){if(console.log("SUBSCRIBE...."),!this.relay||1!=this.relay.status)return this.queue.queues.subscriptions.jobs.push({id:n,filters:e}),void console.warn("This relay does not have active connection and subscription cannot be created at this time. Subscription has been scheduled for adding later.");if(this.subscriptions.findIndex(s=>s.id==n)>-1)return void console.log("This subscription is already added!");const r=this.relay.sub(e);console.log("SUBSCRIPTION:",r),this.subscriptions.push({id:n,filters:e,sub:r}),r.on("event",s=>{postMessage({url:this.url,subscription:n,type:"event",data:s})}),r.on("eose",()=>{console.log("eose on:",this.url)})}info(){var e=this;return a(function*(){try{const r=`https://${new URL(e.url).hostname}`,s=yield fetch(r,{method:"GET",mode:"cors",headers:{Accept:"application/nostr+json"}});if(200===s.status){const o=yield s.json();postMessage({type:"nip11",data:o,url:e.url})}else postMessage({type:"nip11",data:{error:`Unable to get NIP-11 data. Status: ${s.statusText}`},url:e.url})}catch(n){console.warn(n),postMessage({type:"nip11",data:{error:`Unable to get NIP-11 data. Status: ${n}`},url:e.url})}})()}}let ye;addEventListener("message",function(){var t=a(function*(e){console.log(`${ye?.url}: MESSAGE RECEIVED IN RELAY WORKER!!`,JSON.stringify(e.data));const n=e.data;switch(n.type){case"connect":if(ye&&ye.relay&&1==ye.relay.status){console.log("Already connected...");break}ye=new no(n.data.url),yield ye.connect(n.data.event),yield ye.info();break;case"disconnect":yield ye.disconnect();break;case"publish":yield ye.publish(n.data);break;case"enque":yield ye.enque(n.data);break;case"subscribe":yield ye.subscribe(n.data.filters,n.data.id);break;case"unsubscribe":yield ye.unsubscribe(n.data);break;case"terminate":try{yield ye.disconnect()}catch(r){console.error("Error during disconnect.",r)}console.log(`${ye.url}: Sending 'terminated' event.`),postMessage({type:"terminated",url:ye.url})}});return function(e){return t.apply(this,arguments)}}())})()})();