blockcore-notes/911.0ced23e4f4eeccca.js
2023-03-05 11:05:47 +00:00

1 line
127 KiB
JavaScript

(()=>{var c,re,tr={5521:(re,c)=>{"use strict";function _(l){if(!Number.isSafeInteger(l))throw new Error(`Wrong integer: ${l}`)}function R(...l){const u=(q,A)=>K=>q(A(K));return{encode:Array.from(l).reverse().reduce((q,A)=>q?u(q,A.encode):A.encode,void 0),decode:l.reduce((q,A)=>q?u(q,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 I(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 V(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 q of y)if("string"!=typeof q)throw new Error(`padding.decode: non-string input=${q}`);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 J(l){if("function"!=typeof l)throw new Error("normalize fn should be function");return{encode:u=>u,decode:u=>l(u)}}function m(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 q=[],A=Array.from(l);for(A.forEach(K=>{if(_(K),K<0||K>=u)throw new Error(`Wrong integer: ${K}`)});;){let K=0,le=!0;for(let he=L;he<A.length;he++){const be=A[he],P=u*K+be;if(!Number.isSafeInteger(P)||u*K/u!==K||P-be!=u*K)throw new Error("convertRadix: carry overflow");if(K=P%y,A[he]=Math.floor(P/y),!Number.isSafeInteger(A[he])||A[he]*y+K!==P)throw new Error("convertRadix: carry overflow");le&&(A[he]?le=!1:L=he)}if(q.push(K),le)break}for(let K=0;K<l.length-1&&0===l[K];K++)q.push(0);return q.reverse()}Object.defineProperty(c,"__esModule",{value:!0}),c.bytes=c.stringToBytes=c.str=c.bytesToString=c.hex=c.utf8=c.bech32m=c.bech32=c.base58check=c.base58xmr=c.base58xrp=c.base58flickr=c.base58=c.base64url=c.base64=c.base32crockford=c.base32hex=c.base32=c.base16=c.utils=c.assertNumber=void 0,c.assertNumber=_;const w=(l,u)=>u?w(u,l%u):l,O=(l,u)=>l+(u-w(l,u));function N(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 q=0,A=0;const K=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(q=q<<u|he,A+u>32)throw new Error(`convertRadix2: carry overflow pos=${A} from=${u}`);for(A+=u;A>=y;A-=y)le.push((q>>A-y&K)>>>0);q&=2**A-1}if(q=q<<y-A&K,!L&&A>=u)throw new Error("Excess padding");if(!L&&q)throw new Error(`Non-zero padding: ${q}`);return L&&A>0&&le.push(q>>>0),le}function U(l){return _(l),{encode:u=>{if(!(u instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return m(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(m(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 N(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(N(y,l,8,u))}}}function M(l){if("function"!=typeof l)throw new Error("unsafeWrapper fn should be function");return function(...u){try{return l.apply(null,u)}catch{}}}function z(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),q=new Uint8Array(y.length+l);return q.set(y),q.set(L,y.length),q},decode(y){if(!(y instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const L=y.slice(0,-l),q=u(L).slice(0,l),A=y.slice(-l);for(let K=0;K<l;K++)if(q[K]!==A[K])throw new Error("Invalid checksum");return L}}}c.utils={alphabet:d,chain:R,checksum:z,radix:U,radix2:H,join:I,padding:V},c.base16=R(H(4),d("0123456789ABCDEF"),I("")),c.base32=R(H(5),d("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),V(5),I("")),c.base32hex=R(H(5),d("0123456789ABCDEFGHIJKLMNOPQRSTUV"),V(5),I("")),c.base32crockford=R(H(5),d("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),I(""),J(l=>l.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),c.base64=R(H(6),d("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),V(6),I("")),c.base64url=R(H(6),d("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),V(6),I(""));const Z=l=>R(U(58),d(l),I(""));c.base58=Z("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),c.base58flickr=Z("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),c.base58xrp=Z("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const G=[0,2,3,5,6,7,9,10,11];c.base58xmr={encode(l){let u="";for(let y=0;y<l.length;y+=8){const L=l.subarray(y,y+8);u+=c.base58.encode(L).padStart(G[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),q=G.indexOf(L.length),A=c.base58.decode(L);for(let K=0;K<A.length-q;K++)if(0!==A[K])throw new Error("base58xmr: wrong padding");u=u.concat(Array.from(A.slice(A.length-q)))}return Uint8Array.from(u)}},c.base58check=l=>R(z(4,u=>l(l(u))),c.base58);const W=R(d("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),I("")),Y=[996825010,642813549,513874426,1027748829,705979059];function T(l){const u=l>>25;let y=(33554431&l)<<5;for(let L=0;L<Y.length;L++)1==(u>>L&1)&&(y^=Y[L]);return y}function ee(l,u,y=1){const L=l.length;let q=1;for(let A=0;A<L;A++){const K=l.charCodeAt(A);if(K<33||K>126)throw new Error(`Invalid prefix (${l})`);q=T(q)^K>>5}q=T(q);for(let A=0;A<L;A++)q=T(q)^31&l.charCodeAt(A);for(let A of u)q=T(q)^A;for(let A=0;A<6;A++)q=T(q);return q^=y,W.encode(N([q%1073741824],30,5,!1))}function k(l){const u="bech32"===l?1:734539939,y=H(5),L=y.decode,q=y.encode,A=M(L);function le(P,ce=90){if("string"!=typeof P)throw new Error("bech32.decode input should be string, not "+typeof P);if(P.length<8||!1!==ce&&P.length>ce)throw new TypeError(`Wrong string length: ${P.length} (${P}). Expected (8..${ce})`);const ye=P.toLowerCase();if(P!==ye&&P!==P.toUpperCase())throw new Error("String must be lowercase or uppercase");const E=(P=ye).lastIndexOf("1");if(0===E||-1===E)throw new Error('Letter "1" must be present between prefix and data only');const fe=P.slice(0,E),Be=P.slice(E+1);if(Be.length<6)throw new Error("Data must be at least 6 characters long");const Ee=W.decode(Be).slice(0,-6),Ne=ee(fe,Ee,u);if(!Be.endsWith(Ne))throw new Error(`Invalid checksum in ${P}: expected "${Ne}"`);return{prefix:fe,words:Ee}}return{encode:function K(P,ce,ye=90){if("string"!=typeof P)throw new Error("bech32.encode prefix should be string, not "+typeof P);if(!Array.isArray(ce)||ce.length&&"number"!=typeof ce[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof ce);const E=P.length+7+ce.length;if(!1!==ye&&E>ye)throw new TypeError(`Length ${E} exceeds limit ${ye}`);return`${P=P.toLowerCase()}1${W.encode(ce)}${ee(P,ce,u)}`},decode:le,decodeToBytes:function be(P){const{prefix:ce,words:ye}=le(P,!1);return{prefix:ce,words:ye,bytes:L(ye)}},decodeUnsafe:M(le),fromWords:L,fromWordsUnsafe:A,toWords:q}}c.bech32=k("bech32"),c.bech32m=k("bech32m"),c.utf8={encode:l=>(new TextDecoder).decode(l),decode:l=>(new TextEncoder).encode(l)},c.hex=R(H(4),d("0123456789abcdef"),I(""),J(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:c.utf8,hex:c.hex,base16:c.base16,base32:c.base32,base64:c.base64,base64url:c.base64url,base58:c.base58,base58xmr:c.base58xmr},S=`Invalid encoding type. Available types: ${Object.keys(h).join(", ")}`;c.bytesToString=(l,u)=>{if("string"!=typeof l||!h.hasOwnProperty(l))throw new TypeError(S);if(!(u instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return h[l].encode(u)},c.str=c.bytesToString,c.stringToBytes=(l,u)=>{if(!h.hasOwnProperty(l))throw new TypeError(S);if("string"!=typeof u)throw new TypeError("stringToBytes() expects string");return h[l].decode(u)},c.bytes=c.stringToBytes},6837:(re,c,_)=>{"use strict";c.Z1=c._I=c.OF=void 0;const d=_(5729),I=_(9522),V=_(8519),J=_(27),m=_(7507),w=_(5521),O=k=>"\u3042\u3044\u3053\u304f\u3057\u3093"===k[0];function N(k){if("string"!=typeof k)throw new TypeError("Invalid mnemonic type: "+typeof k);return k.normalize("NFKD")}function U(k){const h=N(k),S=h.split(" ");if(![12,15,18,21,24].includes(S.length))throw new Error("Invalid mnemonic");return{nfkd:h,words:S}}function H(k){d.default.bytes(k,16,20,24,28,32)}c.OF=function M(k,h=128){if(d.default.number(h),h%32!=0||h>256)throw new TypeError("Invalid entropy");return function j(k,h){return H(k),Z(h).encode(k).join(O(h)?"\u3000":" ")}((0,m.randomBytes)(h/8),k)};const z=k=>{const h=8-k.length/4;return new Uint8Array([(0,V.sha256)(k)[0]>>h<<h])};function Z(k){if(!Array.isArray(k)||2048!==k.length||"string"!=typeof k[0])throw new Error("Worlist: expected array of 2048 strings");return k.forEach(h=>{if("string"!=typeof h)throw new Error(`Wordlist: non-string element: ${h}`)}),w.utils.chain(w.utils.checksum(1,z),w.utils.radix2(11,!0),w.utils.alphabet(k))}c._I=function W(k,h){try{!function G(k,h){const{words:S}=U(k),D=Z(h).decode(S);return H(D),D}(k,h)}catch{return!1}return!0};c.Z1=function ee(k,h=""){return(0,I.pbkdf2)(J.sha512,U(k).nfkd,(k=>N(`mnemonic${k}`))(h),{c:2048,dkLen:64})}},5729:(re,c)=>{"use strict";function _(w){if(!Number.isSafeInteger(w)||w<0)throw new Error(`Wrong positive integer: ${w}`)}function R(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 I(w){if("function"!=typeof w||"function"!=typeof w.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");_(w.outputLen),_(w.blockLen)}function V(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 J(w,O){d(w);const N=O.outputLen;if(w.length<N)throw new Error(`digestInto() expects output buffer of length at least ${N}`)}Object.defineProperty(c,"__esModule",{value:!0}),c.output=c.exists=c.hash=c.bytes=c.bool=c.number=void 0,c.number=_,c.bool=R,c.bytes=d,c.hash=I,c.exists=V,c.output=J,c.default={number:_,bool:R,bytes:d,hash:I,exists:V,output:J}},4206:(re,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.SHA2=void 0;const R=_(5729),d=_(7507);c.SHA2=class V extends d.Hash{constructor(m,w,O,N){super(),this.blockLen=m,this.outputLen=w,this.padOffset=O,this.isLE=N,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(m),this.view=(0,d.createView)(this.buffer)}update(m){R.default.exists(this);const{view:w,buffer:O,blockLen:N}=this,U=(m=(0,d.toBytes)(m)).length;for(let H=0;H<U;){const M=Math.min(N-this.pos,U-H);if(M!==N)O.set(m.subarray(H,H+M),this.pos),this.pos+=M,H+=M,this.pos===N&&(this.process(w,0),this.pos=0);else{const z=(0,d.createView)(m);for(;N<=U-H;H+=N)this.process(z,H)}}return this.length+=m.length,this.roundClean(),this}digestInto(m){R.default.exists(this),R.default.output(m,this),this.finished=!0;const{buffer:w,view:O,blockLen:N,isLE:U}=this;let{pos:H}=this;w[H++]=128,this.buffer.subarray(H).fill(0),this.padOffset>N-H&&(this.process(O,0),H=0);for(let j=H;j<N;j++)w[j]=0;(function I(J,m,w,O){if("function"==typeof J.setBigUint64)return J.setBigUint64(m,w,O);const N=BigInt(32),U=BigInt(4294967295),H=Number(w>>N&U),M=Number(w&U),Z=O?0:4;J.setUint32(m+(O?4:0),H,O),J.setUint32(m+Z,M,O)})(O,N-8,BigInt(8*this.length),U),this.process(O,0);const M=(0,d.createView)(m),z=this.outputLen;if(z%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const Z=z/4,G=this.get();if(Z>G.length)throw new Error("_sha2: outputLen bigger than state");for(let j=0;j<Z;j++)M.setUint32(4*j,G[j],U)}digest(){const{buffer:m,outputLen:w}=this;this.digestInto(m);const O=m.slice(0,w);return this.destroy(),O}_cloneInto(m){m||(m=new this.constructor),m.set(...this.get());const{blockLen:w,buffer:O,length:N,finished:U,destroyed:H,pos:M}=this;return m.length=N,m.pos=M,m.finished=U,m.destroyed=H,N%w&&m.buffer.set(O),m}}},9027:(re,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.add=c.toBig=c.split=c.fromBig=void 0;const _=BigInt(2**32-1),R=BigInt(32);function d(x,l=!1){return l?{h:Number(x&_),l:Number(x>>R&_)}:{h:0|Number(x>>R&_),l:0|Number(x&_)}}function I(x,l=!1){let u=new Uint32Array(x.length),y=new Uint32Array(x.length);for(let L=0;L<x.length;L++){const{h:q,l:A}=d(x[L],l);[u[L],y[L]]=[q,A]}return[u,y]}function W(x,l,u,y){const L=(l>>>0)+(y>>>0);return{h:x+u+(L/4294967296|0)|0,l:0|L}}c.fromBig=d,c.split=I,c.toBig=(x,l)=>BigInt(x>>>0)<<R|BigInt(l>>>0),c.add=W,c.default={fromBig:d,split:I,toBig:c.toBig,shrSH:(x,l,u)=>x>>>u,shrSL:(x,l,u)=>x<<32-u|l>>>u,rotrSH:(x,l,u)=>x>>>u|l<<32-u,rotrSL:(x,l,u)=>x<<32-u|l>>>u,rotrBH:(x,l,u)=>x<<64-u|l>>>u-32,rotrBL:(x,l,u)=>x>>>u-32|l<<64-u,rotr32H:(x,l)=>l,rotr32L:(x,l)=>x,rotlSH:(x,l,u)=>x<<u|l>>>32-u,rotlSL:(x,l,u)=>l<<u|x>>>32-u,rotlBH:(x,l,u)=>l<<u-32|x>>>64-u,rotlBL:(x,l,u)=>x<<u-32|l>>>64-u,add:W,add3L:(x,l,u)=>(x>>>0)+(l>>>0)+(u>>>0),add3H:(x,l,u,y)=>l+u+y+(x/2**32|0)|0,add4L:(x,l,u,y)=>(x>>>0)+(l>>>0)+(u>>>0)+(y>>>0),add4H:(x,l,u,y,L)=>l+u+y+L+(x/2**32|0)|0,add5H:(x,l,u,y,L,q)=>l+u+y+L+q+(x/2**32|0)|0,add5L:(x,l,u,y,L)=>(x>>>0)+(l>>>0)+(u>>>0)+(y>>>0)+(L>>>0)}},7882:(re,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.crypto=void 0,c.crypto={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0}},602:(re,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.hmac=void 0;const R=_(5729),d=_(7507);class I extends d.Hash{constructor(m,w){super(),this.finished=!1,this.destroyed=!1,R.default.hash(m);const O=(0,d.toBytes)(w);if(this.iHash=m.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 N=this.blockLen,U=new Uint8Array(N);U.set(O.length>N?m.create().update(O).digest():O);for(let H=0;H<U.length;H++)U[H]^=54;this.iHash.update(U),this.oHash=m.create();for(let H=0;H<U.length;H++)U[H]^=106;this.oHash.update(U),U.fill(0)}update(m){return R.default.exists(this),this.iHash.update(m),this}digestInto(m){R.default.exists(this),R.default.bytes(m,this.outputLen),this.finished=!0,this.iHash.digestInto(m),this.oHash.update(m),this.oHash.digestInto(m),this.destroy()}digest(){const m=new Uint8Array(this.oHash.outputLen);return this.digestInto(m),m}_cloneInto(m){m||(m=Object.create(Object.getPrototypeOf(this),{}));const{oHash:w,iHash:O,finished:N,destroyed:U,blockLen:H,outputLen:M}=this;return m.finished=N,m.destroyed=U,m.blockLen=H,m.outputLen=M,m.oHash=w._cloneInto(m.oHash),m.iHash=O._cloneInto(m.iHash),m}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}c.hmac=(J,m,w)=>new I(J,m).update(w).digest(),c.hmac.create=(J,m)=>new I(J,m)},9522:(re,c,_)=>{"use strict";var R=_(9598).default;Object.defineProperty(c,"__esModule",{value:!0}),c.pbkdf2Async=c.pbkdf2=void 0;const d=_(5729),I=_(602),V=_(7507);function J(U,H,M,z){d.default.hash(U);const Z=(0,V.checkOpts)({dkLen:32,asyncTick:10},z),{c:G,dkLen:j,asyncTick:W}=Z;if(d.default.number(G),d.default.number(j),d.default.number(W),G<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const Y=(0,V.toBytes)(H),T=(0,V.toBytes)(M),ee=new Uint8Array(j),k=I.hmac.create(U,Y),h=k._cloneInto().update(T);return{c:G,dkLen:j,asyncTick:W,DK:ee,PRF:k,PRFSalt:h}}function m(U,H,M,z,Z){return U.destroy(),H.destroy(),z&&z.destroy(),Z.fill(0),M}function N(){return(N=R(function*(U,H,M,z){const{c:Z,dkLen:G,asyncTick:j,DK:W,PRF:Y,PRFSalt:T}=J(U,H,M,z);let ee;const k=new Uint8Array(4),h=(0,V.createView)(k),S=new Uint8Array(Y.outputLen);for(let D=1,x=0;x<G;D++,x+=Y.outputLen){const l=W.subarray(x,x+Y.outputLen);h.setInt32(0,D,!1),(ee=T._cloneInto(ee)).update(k).digestInto(S),l.set(S.subarray(0,l.length)),yield(0,V.asyncLoop)(Z-1,j,u=>{Y._cloneInto(ee).update(S).digestInto(S);for(let y=0;y<l.length;y++)l[y]^=S[y]})}return m(Y,T,W,ee,S)})).apply(this,arguments)}c.pbkdf2=function w(U,H,M,z){const{c:Z,dkLen:G,DK:j,PRF:W,PRFSalt:Y}=J(U,H,M,z);let T;const ee=new Uint8Array(4),k=(0,V.createView)(ee),h=new Uint8Array(W.outputLen);for(let S=1,D=0;D<G;S++,D+=W.outputLen){const x=j.subarray(D,D+W.outputLen);k.setInt32(0,S,!1),(T=Y._cloneInto(T)).update(ee).digestInto(h),x.set(h.subarray(0,x.length));for(let l=1;l<Z;l++){W._cloneInto(T).update(h).digestInto(h);for(let u=0;u<x.length;u++)x[u]^=h[u]}}return m(W,Y,j,T,h)},c.pbkdf2Async=function O(U,H,M,z){return N.apply(this,arguments)}},8519:(re,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.sha224=c.sha256=void 0;const R=_(4206),d=_(7507),I=(U,H,M)=>U&H^~U&M,V=(U,H,M)=>U&H^U&M^H&M,J=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]),m=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),w=new Uint32Array(64);class O extends R.SHA2{constructor(){super(64,32,8,!1),this.A=0|m[0],this.B=0|m[1],this.C=0|m[2],this.D=0|m[3],this.E=0|m[4],this.F=0|m[5],this.G=0|m[6],this.H=0|m[7]}get(){const{A:H,B:M,C:z,D:Z,E:G,F:j,G:W,H:Y}=this;return[H,M,z,Z,G,j,W,Y]}set(H,M,z,Z,G,j,W,Y){this.A=0|H,this.B=0|M,this.C=0|z,this.D=0|Z,this.E=0|G,this.F=0|j,this.G=0|W,this.H=0|Y}process(H,M){for(let k=0;k<16;k++,M+=4)w[k]=H.getUint32(M,!1);for(let k=16;k<64;k++){const h=w[k-15],S=w[k-2],D=(0,d.rotr)(h,7)^(0,d.rotr)(h,18)^h>>>3,x=(0,d.rotr)(S,17)^(0,d.rotr)(S,19)^S>>>10;w[k]=x+w[k-7]+D+w[k-16]|0}let{A:z,B:Z,C:G,D:j,E:W,F:Y,G:T,H:ee}=this;for(let k=0;k<64;k++){const S=ee+((0,d.rotr)(W,6)^(0,d.rotr)(W,11)^(0,d.rotr)(W,25))+I(W,Y,T)+J[k]+w[k]|0,x=((0,d.rotr)(z,2)^(0,d.rotr)(z,13)^(0,d.rotr)(z,22))+V(z,Z,G)|0;ee=T,T=Y,Y=W,W=j+S|0,j=G,G=Z,Z=z,z=S+x|0}z=z+this.A|0,Z=Z+this.B|0,G=G+this.C|0,j=j+this.D|0,W=W+this.E|0,Y=Y+this.F|0,T=T+this.G|0,ee=ee+this.H|0,this.set(z,Z,G,j,W,Y,T,ee)}roundClean(){w.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class N 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}}c.sha256=(0,d.wrapConstructor)(()=>new O),c.sha224=(0,d.wrapConstructor)(()=>new N)},27:(re,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.sha384=c.sha512_256=c.sha512_224=c.sha512=c.SHA512=void 0;const R=_(4206),d=_(9027),I=_(7507),[V,J]=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(M=>BigInt(M))),m=new Uint32Array(80),w=new Uint32Array(80);class O extends R.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:z,Al:Z,Bh:G,Bl:j,Ch:W,Cl:Y,Dh:T,Dl:ee,Eh:k,El:h,Fh:S,Fl:D,Gh:x,Gl:l,Hh:u,Hl:y}=this;return[z,Z,G,j,W,Y,T,ee,k,h,S,D,x,l,u,y]}set(z,Z,G,j,W,Y,T,ee,k,h,S,D,x,l,u,y){this.Ah=0|z,this.Al=0|Z,this.Bh=0|G,this.Bl=0|j,this.Ch=0|W,this.Cl=0|Y,this.Dh=0|T,this.Dl=0|ee,this.Eh=0|k,this.El=0|h,this.Fh=0|S,this.Fl=0|D,this.Gh=0|x,this.Gl=0|l,this.Hh=0|u,this.Hl=0|y}process(z,Z){for(let A=0;A<16;A++,Z+=4)m[A]=z.getUint32(Z),w[A]=z.getUint32(Z+=4);for(let A=16;A<80;A++){const K=0|m[A-15],le=0|w[A-15],he=d.default.rotrSH(K,le,1)^d.default.rotrSH(K,le,8)^d.default.shrSH(K,le,7),be=d.default.rotrSL(K,le,1)^d.default.rotrSL(K,le,8)^d.default.shrSL(K,le,7),P=0|m[A-2],ce=0|w[A-2],ye=d.default.rotrSH(P,ce,19)^d.default.rotrBH(P,ce,61)^d.default.shrSH(P,ce,6),E=d.default.rotrSL(P,ce,19)^d.default.rotrBL(P,ce,61)^d.default.shrSL(P,ce,6),fe=d.default.add4L(be,E,w[A-7],w[A-16]),Be=d.default.add4H(fe,he,ye,m[A-7],m[A-16]);m[A]=0|Be,w[A]=0|fe}let{Ah:G,Al:j,Bh:W,Bl:Y,Ch:T,Cl:ee,Dh:k,Dl:h,Eh:S,El:D,Fh:x,Fl:l,Gh:u,Gl:y,Hh:L,Hl:q}=this;for(let A=0;A<80;A++){const K=d.default.rotrSH(S,D,14)^d.default.rotrSH(S,D,18)^d.default.rotrBH(S,D,41),le=d.default.rotrSL(S,D,14)^d.default.rotrSL(S,D,18)^d.default.rotrBL(S,D,41),he=S&x^~S&u,P=d.default.add5L(q,le,D&l^~D&y,J[A],w[A]),ce=d.default.add5H(P,L,K,he,V[A],m[A]),ye=0|P,E=d.default.rotrSH(G,j,28)^d.default.rotrBH(G,j,34)^d.default.rotrBH(G,j,39),fe=d.default.rotrSL(G,j,28)^d.default.rotrBL(G,j,34)^d.default.rotrBL(G,j,39),Be=G&W^G&T^W&T,Ee=j&Y^j&ee^Y&ee;L=0|u,q=0|y,u=0|x,y=0|l,x=0|S,l=0|D,({h:S,l:D}=d.default.add(0|k,0|h,0|ce,0|ye)),k=0|T,h=0|ee,T=0|W,ee=0|Y,W=0|G,Y=0|j;const Ne=d.default.add3L(ye,fe,Ee);G=d.default.add3H(Ne,ce,E,Be),j=0|Ne}({h:G,l:j}=d.default.add(0|this.Ah,0|this.Al,0|G,0|j)),({h:W,l:Y}=d.default.add(0|this.Bh,0|this.Bl,0|W,0|Y)),({h:T,l:ee}=d.default.add(0|this.Ch,0|this.Cl,0|T,0|ee)),({h:k,l:h}=d.default.add(0|this.Dh,0|this.Dl,0|k,0|h)),({h:S,l:D}=d.default.add(0|this.Eh,0|this.El,0|S,0|D)),({h:x,l}=d.default.add(0|this.Fh,0|this.Fl,0|x,0|l)),({h:u,l:y}=d.default.add(0|this.Gh,0|this.Gl,0|u,0|y)),({h:L,l:q}=d.default.add(0|this.Hh,0|this.Hl,0|L,0|q)),this.set(G,j,W,Y,T,ee,k,h,S,D,x,l,u,y,L,q)}roundClean(){m.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)}}c.SHA512=O;class N 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 U 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}}c.sha512=(0,I.wrapConstructor)(()=>new O),c.sha512_224=(0,I.wrapConstructor)(()=>new N),c.sha512_256=(0,I.wrapConstructor)(()=>new U),c.sha384=(0,I.wrapConstructor)(()=>new H)},7507:(re,c,_)=>{"use strict";var R=_(9598).default;Object.defineProperty(c,"__esModule",{value:!0}),c.randomBytes=c.wrapConstructorWithOpts=c.wrapConstructor=c.checkOpts=c.Hash=c.concatBytes=c.toBytes=c.utf8ToBytes=c.asyncLoop=c.nextTick=c.hexToBytes=c.bytesToHex=c.isLE=c.rotr=c.createView=c.u32=c.u8=void 0;const d=_(7882);if(c.u8=h=>new Uint8Array(h.buffer,h.byteOffset,h.byteLength),c.u32=h=>new Uint32Array(h.buffer,h.byteOffset,Math.floor(h.byteLength/4)),c.createView=h=>new DataView(h.buffer,h.byteOffset,h.byteLength),c.rotr=(h,S)=>h<<32-S|h>>>S,c.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!c.isLE)throw new Error("Non little-endian hardware is not supported");const w=Array.from({length:256},(h,S)=>S.toString(16).padStart(2,"0"));function M(){return(M=R(function*(h,S,D){let x=Date.now();for(let l=0;l<h;l++){D(l);const u=Date.now()-x;u>=0&&u<S||(yield(0,c.nextTick)(),x+=u)}})).apply(this,arguments)}function z(h){if("string"!=typeof h)throw new TypeError("utf8ToBytes expected string, got "+typeof h);return(new TextEncoder).encode(h)}function Z(h){if("string"==typeof h&&(h=z(h)),!(h instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof h})`);return h}c.bytesToHex=function O(h){if(!(h instanceof Uint8Array))throw new Error("Uint8Array expected");let S="";for(let D=0;D<h.length;D++)S+=w[h[D]];return S},c.hexToBytes=function N(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 S=new Uint8Array(h.length/2);for(let D=0;D<S.length;D++){const x=2*D,l=h.slice(x,x+2),u=Number.parseInt(l,16);if(Number.isNaN(u)||u<0)throw new Error("Invalid byte sequence");S[D]=u}return S},c.nextTick=function(){var h=R(function*(){});return function(){return h.apply(this,arguments)}}(),c.asyncLoop=function H(h,S,D){return M.apply(this,arguments)},c.utf8ToBytes=z,c.toBytes=Z,c.concatBytes=function G(...h){if(!h.every(x=>x instanceof Uint8Array))throw new Error("Uint8Array list expected");if(1===h.length)return h[0];const S=h.reduce((x,l)=>x+l.length,0),D=new Uint8Array(S);for(let x=0,l=0;x<h.length;x++){const u=h[x];D.set(u,l),l+=u.length}return D},c.Hash=class j{clone(){return this._cloneInto()}};c.checkOpts=function Y(h,S){if(void 0!==S&&("object"!=typeof S||!(h=>"[object Object]"===Object.prototype.toString.call(h)&&h.constructor===Object)(S)))throw new TypeError("Options should be object or undefined");return Object.assign(h,S)},c.wrapConstructor=function T(h){const S=x=>h().update(Z(x)).digest(),D=h();return S.outputLen=D.outputLen,S.blockLen=D.blockLen,S.create=()=>h(),S},c.wrapConstructorWithOpts=function ee(h){const S=(x,l)=>h(l).update(Z(x)).digest(),D=h({});return S.outputLen=D.outputLen,S.blockLen=D.blockLen,S.create=x=>h(x),S},c.randomBytes=function k(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:(re,c)=>{"use strict";c.U=void 0,c.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:re=>{function c(R,d,I,V,J,m,w){try{var O=R[m](w),N=O.value}catch(U){return void I(U)}O.done?d(N):Promise.resolve(N).then(V,J)}re.exports=function _(R){return function(){var d=this,I=arguments;return new Promise(function(V,J){var m=R.apply(d,I);function w(N){c(m,V,J,w,O,"next",N)}function O(N){c(m,V,J,w,O,"throw",N)}w(void 0)})}},re.exports.__esModule=!0,re.exports.default=re.exports}},ln={};function me(re){var c=ln[re];if(void 0!==c)return c.exports;var _=ln[re]={exports:{}};return tr[re](_,_.exports,me),_.exports}re=Object.getPrototypeOf?_=>Object.getPrototypeOf(_):_=>_.__proto__,me.t=function(_,R){if(1&R&&(_=this(_)),8&R||"object"==typeof _&&_&&(4&R&&_.__esModule||16&R&&"function"==typeof _.then))return _;var d=Object.create(null);me.r(d);var I={};c=c||[null,re({}),re([]),re(re)];for(var V=2&R&&_;"object"==typeof V&&!~c.indexOf(V);V=re(V))Object.getOwnPropertyNames(V).forEach(J=>I[J]=()=>_[J]);return I.default=()=>_,me.d(d,I),d},me.d=(re,c)=>{for(var _ in c)me.o(c,_)&&!me.o(re,_)&&Object.defineProperty(re,_,{enumerable:!0,get:c[_]})},me.o=(re,c)=>Object.prototype.hasOwnProperty.call(re,c),me.r=re=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(re,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(re,"__esModule",{value:!0})},(()=>{"use strict";function re(t,e,n,r,s,o,i){try{var a=t[o](i),f=a.value}catch(g){return void n(g)}a.done?e(f):Promise.resolve(f).then(r,s)}function c(t){return function(){var e=this,n=arguments;return new Promise(function(r,s){var o=t.apply(e,n);function i(f){re(o,r,s,i,a,"next",f)}function a(f){re(o,r,s,i,a,"throw",f)}i(void 0)})}}var _=me(5856),R=me.t(_,2);const d=BigInt(0),I=BigInt(1),V=BigInt(2),J=BigInt(3),m=BigInt(8),w=Object.freeze({a:d,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:I,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),O=(t,e)=>(t+e/V)/e,N={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=w,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-I*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,i=BigInt("0x100000000000000000000000000000000"),a=O(o*t,e),f=O(-r*t,e);let g=E(t-a*n-f*s,e),b=E(-a*r-f*o,e);const p=g>i,v=b>i;if(p&&(g=e-g),v&&(b=e-b),g>i||b>i)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:p,k1:g,k2neg:v,k2:b}}},U=32,H=32,z=U+1,Z=2*U+1;function G(t){const{a:e,b:n}=w,r=E(t*t),s=E(r*t);return E(s+e*t+n)}const j=w.a===d;class W extends Error{constructor(e){super(e)}}function Y(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,I)}static toAffineBatch(e){const n=function Ne(t,e=w.P){const n=new Array(t.length),s=Ee(t.reduce((o,i,a)=>i===d?o:(n[a]=o,E(o*i,e)),I),e);return t.reduceRight((o,i,a)=>i===d?o:(n[a]=E(o*n[a],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){Y(e);const{x:n,y:r,z:s}=this,{x:o,y:i,z:a}=e,f=E(s*s),g=E(a*a),b=E(n*g),p=E(o*f),v=E(E(r*a)*g),B=E(E(i*s)*f);return b===p&&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),a=e+o,f=E(V*(E(a*a)-s-i)),g=E(J*s),b=E(g*g),p=E(b-V*f),v=E(g*(f-p)-m*i),B=E(V*n*r);return new T(p,v,B)}add(e){Y(e);const{x:n,y:r,z:s}=this,{x:o,y:i,z:a}=e;if(o===d||i===d)return this;if(n===d||r===d)return e;const f=E(s*s),g=E(a*a),b=E(n*g),p=E(o*f),v=E(E(r*a)*g),B=E(E(i*s)*f),C=E(p-b),F=E(B-v);if(C===d)return F===d?this.double():T.ZERO;const oe=E(C*C),Q=E(C*oe),ne=E(b*oe),$=E(F*F-Q-V*ne),ie=E(F*(ne-$)-v*Q),X=E(s*a*C);return new T($,ie,X)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){const n=T.ZERO;if("bigint"==typeof e&&e===d)return n;let r=ye(e);if(r===I)return this;if(!j){let p=n,v=this;for(;r>d;)r&I&&(p=p.add(v)),v=v.double(),r>>=I;return p}let{k1neg:s,k1:o,k2neg:i,k2:a}=N.splitScalar(r),f=n,g=n,b=this;for(;o>d||a>d;)o&I&&(f=f.add(b)),a&I&&(g=g.add(b)),b=b.double(),o>>=I,a>>=I;return s&&(f=f.negate()),i&&(g=g.negate()),g=new T(E(g.x*N.beta),g.y,g.z),f.add(g)}precomputeWindow(e){const n=j?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 a=1;a<2**(e-1);a++)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&&k.get(n);s||(s=this.precomputeWindow(r),n&&1!==r&&(s=T.normalizeZ(s),k.set(n,s)));let o=T.ZERO,i=T.BASE;const a=1+(j?128/r:256/r),f=2**(r-1),g=BigInt(2**r-1),b=2**r,p=BigInt(r);for(let v=0;v<a;v++){const B=v*f;let C=Number(e&g);e>>=p,C>f&&(C-=b,e+=I);const F=B,oe=B+Math.abs(C)-1,ne=C<0;0===C?i=i.add(ee(v%2!=0,s[F])):o=o.add(ee(ne,s[oe]))}return{p:o,f:i}}multiply(e,n){let s,o,r=ye(e);if(j){const{k1neg:i,k1:a,k2neg:f,k2:g}=N.splitScalar(r);let{p:b,f:p}=this.wNAF(a,n),{p:v,f:B}=this.wNAF(g,n);b=ee(i,b),v=ee(f,v),v=new T(E(v.x*N.beta),v.y,v.z),s=b.add(v),o=p.add(B)}else{const{p:i,f:a}=this.wNAF(r,n);s=i,o=a}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?m:Ee(s));const i=e,a=E(i*i),f=E(a*i),g=E(n*a),b=E(r*f),p=E(s*i);if(o)return h.ZERO;if(p!==I)throw new Error("invZ was invalid");return new h(g,b)}}function ee(t,e){const n=e.negate();return t?n:e}T.BASE=new T(w.Gx,w.Gy,I),T.ZERO=new T(d,I,d);const k=new WeakMap;class h{constructor(e,n){this.x=e,this.y=n}_setWindowSize(e){this._WINDOW_SIZE=e,k.delete(this)}hasEvenY(){return this.y%V===d}static fromCompressedHex(e){const n=32===e.length,r=P(n?e:e.subarray(1));if(!ct(r))throw new Error("Point is not on curve");let o=function Be(t){const{P:e}=w,n=BigInt(6),r=BigInt(11),s=BigInt(22),o=BigInt(23),i=BigInt(44),a=BigInt(88),f=t*t*t%e,g=f*f*t%e,b=fe(g,J)*g%e,p=fe(b,J)*g%e,v=fe(p,V)*f%e,B=fe(v,r)*v%e,C=fe(B,s)*B%e,F=fe(C,i)*C%e,oe=fe(F,a)*F%e,Q=fe(oe,i)*C%e,ne=fe(Q,J)*g%e,$=fe(ne,o)*B%e,ie=fe($,n)*f%e,X=fe(ie,V);if(X*X%e!==t)throw new Error("Cannot find square root");return X}(G(r));const i=(o&I)===I;n?i&&(o=E(-o)):1==(1&e[0])!==i&&(o=E(-o));const a=new h(r,o);return a.assertValidity(),a}static fromUncompressedHex(e){const n=P(e.subarray(1,U+1)),r=P(e.subarray(U+1,2*U+1)),s=new h(n,r);return s.assertValidity(),s}static fromHex(e){const n=ce(e),r=n.length,s=n[0];if(r===U)return this.fromCompressedHex(n);if(r===z&&(2===s||3===s))return this.fromCompressedHex(n);if(r===Z&&4===s)return this.fromUncompressedHex(n);throw new Error(`Point.fromHex: received invalid point. Expected 32-${z} compressed bytes or ${Z} uncompressed bytes, not ${r}`)}static fromPrivateKey(e){return h.BASE.multiply(Pe(e))}static fromSignature(e,n,r){const{r:s,s:o}=fn(n);if(![0,1,2,3].includes(r))throw new Error("Cannot recover: invalid recovery bit");const i=Ht(ce(e)),{n:a}=w,f=2===r||3===r?s+a:s,g=Ee(f,a),b=E(-i*g,a),p=E(o*g,a),B=h.fromHex((1&r?"03":"02")+A(f)),C=h.BASE.multiplyAndAddUnsafe(B,b,p);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(!ct(n)||!ct(r))throw new Error(e);const s=E(r*r);if(E(s-G(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===I||this!==h.BASE?s.multiplyUnsafe(n):s.multiply(n),i=T.fromAffine(e).multiplyUnsafe(r),a=o.add(i);return a.equals(T.ZERO)?void 0:a.toAffine()}}function S(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function D(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:P(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 x(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}=D(t.subarray(2)),{data:r,left:s}=D(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(!Xe(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Xe(n))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){return this.s>w.n>>I}normalizeS(){return this.hasHighS()?new l(this.r,E(-this.s,w.n)):this}toDERRawBytes(){return be(this.toDERHex())}toDERHex(){const e=S(le(this.s)),n=S(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 q=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function A(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(d<=t&&t<q))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function K(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 P(t){return he(L(t))}function ce(t){return t instanceof Uint8Array?Uint8Array.from(t):be(t)}function ye(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&Xe(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 fe(t,e){const{P:n}=w;let r=t;for(;e-- >d;)r*=r,r%=n;return r}function Ee(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=I,i=I,a=d;for(;n!==d;){const g=r/n,b=r%n,p=s-i*g,v=o-a*g;r=n,n=b,s=i,o=a,i=p,a=v}if(r!==I)throw new Error("invert: does not exist");return E(s,e)}function Ht(t,e=!1){const n=function nr(t){const e=8*t.length-8*H,n=P(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=w;return n>=r?n-r:n}let Ze,et;class un{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 se.hmacSha256(this.k,...e)}hmacSync(...e){return et(this.k,...e)}checkSync(){if("function"!=typeof et)throw new W("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 c(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 c(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 Xe(t){return d<t&&t<w.n}function ct(t){return d<t&&t<w.P}function hn(t,e,n,r=!0){const{n:s}=w,o=Ht(t,!0);if(!Xe(o))return;const i=Ee(o,s),a=h.BASE.multiply(o),f=E(a.x,s);if(f===d)return;const g=E(i*E(e+n*f,s),s);if(g===d)return;let b=new l(f,g),p=(a.x===b.r?0:2)|Number(a.y&I);return r&&b.hasHighS()&&(b=b.normalizeS(),p^=1),{sig:b,recovery:p}}function Pe(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(t.length!==2*H)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(t.length!==H)throw new Error("Expected 32 bytes of private key");e=P(t)}if(!Xe(e))throw new Error("Expected private key: 0 < key < n");return e}function Bt(t){return t instanceof h?(t.assertValidity(),t):h.fromHex(t)}function fn(t){if(t instanceof l)return t.assertValidity(),t;try{return l.fromDER(t)}catch{return l.fromCompact(t)}}function dn(t){const e=t instanceof Uint8Array,n="string"==typeof t,r=(e||n)&&t.length;return e?r===z||r===Z:n?r===2*z||r===2*Z:t instanceof h}function pn(t,e,n=!1){if(dn(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!dn(e))throw new TypeError("getSharedSecret: second arg must be public key");const r=Bt(e);return r.assertValidity(),r.multiply(Pe(t)).toRawBytes(n)}function bn(t){return P(t.length>U?t.slice(0,U):t)}function sr(t){const e=bn(t),n=E(e,w.n);return yn(n<d?e:n)}function yn(t){return K(t)}const ir={strict:!0};function lt(t){return E(P(t),w.n)}class Ye{constructor(e,n){this.r=e,this.s=n,this.assertValidity()}static fromHex(e){const n=ce(e);if(64!==n.length)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${n.length}`);const r=P(n.subarray(0,32)),s=P(n.subarray(32,64));return new Ye(r,s)}assertValidity(){const{r:e,s:n}=this;if(!ct(e)||!Xe(n))throw new Error("Invalid signature")}toHex(){return A(this.r)+A(this.s)}toRawBytes(){return be(this.toHex())}}class mn{constructor(e,n,r=se.randomBytes()){if(null==e)throw new TypeError(`sign: Expected valid message, not "${e}"`);this.m=ce(e);const{x:s,scalar:o}=this.getScalar(Pe(n));if(this.px=s,this.d=o,this.rand=ce(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 K(e^P(n))}finalizeNonce(e){const n=E(P(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 Ye(e.x,E(n+r*s,w.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}calc(){var e=this;return c(function*(){const{m:n,d:r,px:s,rand:o}=e,i=se.taggedHash,a=e.initNonce(r,yield i(Ue.aux,o)),{R:f,rx:g,k:b}=e.finalizeNonce(yield i(Ue.nonce,a,s,n)),p=lt(yield i(Ue.challenge,g,s,n)),v=e.finalizeSig(f,b,p,r);return(yield En(v,n,s))||e.error(),v})()}calcSync(){const{m:e,d:n,px:r,rand:s}=this,o=se.taggedHashSync,i=this.initNonce(n,o(Ue.aux,s)),{R:a,rx:f,k:g}=this.finalizeNonce(o(Ue.nonce,i,r,e)),b=lt(o(Ue.challenge,f,r,e)),p=this.finalizeSig(a,g,b,n);return An(p,e,r)||this.error(),p}}function Lt(){return(Lt=c(function*(t,e,n){return new mn(t,e,n).calc()})).apply(this,arguments)}function xn(t,e,n){const r=t instanceof Ye,s=r?t:Ye.fromHex(t);return r&&s.assertValidity(),{...s,m:ce(e),P:Bt(n)}}function vn(t,e,n,r){const s=h.BASE.multiplyAndAddUnsafe(e,Pe(n),E(-r,w.n));return!(!s||!s.hasEvenY()||s.x!==t)}function En(t,e,n){return It.apply(this,arguments)}function It(){return(It=c(function*(t,e,n){try{const{r,s,m:o,P:i}=xn(t,e,n),a=lt(yield se.taggedHash(Ue.challenge,K(r),i.toRawX(),o));return vn(r,i,s,a)}catch{return!1}})).apply(this,arguments)}function An(t,e,n){try{const{r,s,m:o,P:i}=xn(t,e,n),a=lt(se.taggedHashSync(Ue.challenge,K(r),i.toRawX(),o));return vn(r,i,s,a)}catch(r){if(r instanceof W)throw r;return!1}}const ut={Signature:Ye,getPublicKey:function cr(t){return h.fromPrivateKey(t).toRawX()},sign:function lr(t,e,n){return Lt.apply(this,arguments)},verify:En,signSync:function ur(t,e,n){return new mn(t,e,n).calcSync()},verifySync:An};h.BASE._setWindowSize(8);const xe={node:R,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Ue={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},ht={},se={bytesToHex:L,hexToBytes:be,concatBytes:u,mod:E,invert:Ee,isValidPrivateKey(t){try{return Pe(t),!0}catch{return!1}},_bigintTo32Bytes:K,_normalizePrivateKey:Pe,hashToPrivateKey:t=>{if((t=ce(t)).length<H+8||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return K(E(P(t),w.n-I)+I)},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:()=>se.hashToPrivateKey(se.randomBytes(H+8)),precompute(t=8,e=h.BASE){const n=e===h.BASE?e:new h(e.x,e.y);return n._setWindowSize(t),n.multiply(J),n},sha256:(t=c(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=c(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=c(function*(e,...n){let r=ht[e];if(void 0===r){const s=yield se.sha256(Uint8Array.from(e,o=>o.charCodeAt(0)));r=u(s,s),ht[e]=r}return se.sha256(r,...n)});return function(n){return t.apply(this,arguments)}}(),taggedHashSync:(t,...e)=>{if("function"!=typeof Ze)throw new W("sha256Sync is undefined, you need to set it");let n=ht[t];if(void 0===n){const r=Ze(Uint8Array.from(t,s=>s.charCodeAt(0)));n=u(r,r),ht[t]=n}return Ze(n,...e)},_JacobianPoint:T};var t;Object.defineProperties(se,{sha256Sync:{configurable:!1,get:()=>Ze,set(t){Ze||(Ze=t)}},hmacSha256Sync:{configurable:!1,get:()=>et,set(t){et||(et=t)}}});const ft={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Ut=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Se=(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 dt(t){if("string"==typeof t&&(t=function dr(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 Sn(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 Ot{clone(){return this._cloneInto()}}class mr extends Ot{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=Ut(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=dt(e)).length;for(let a=0;a<i;){const f=Math.min(s-this.pos,i-a);if(f!==s)r.set(e.subarray(a,a+f),this.pos),this.pos+=f,a+=f,this.pos===s&&(this.process(n,0),this.pos=0);else{const g=Ut(e);for(;s<=i-a;a+=s)this.process(g,a)}}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 wr(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),a=Number(n&o),g=r?0:4;t.setUint32(e+(r?4:0),i,r),t.setUint32(e+g,a,r)})(r,s-8,BigInt(8*this.length),o),this.process(r,0);const a=Ut(e);this.get().forEach((f,g)=>a.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:a}=this;return e.length=s,e.pos=a,e.finished=o,e.destroyed=i,s%n&&e.buffer.set(r),e}}const xr=(t,e,n)=>t&e^~t&n,vr=(t,e,n)=>t&e^t&n^e&n,Er=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 Ar extends mr{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:a,H:f}=this;return[e,n,r,s,o,i,a,f]}set(e,n,r,s,o,i,a,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|a,this.H=0|f}process(e,n){for(let p=0;p<16;p++,n+=4)Oe[p]=e.getUint32(n,!1);for(let p=16;p<64;p++){const v=Oe[p-15],B=Oe[p-2],C=Se(v,7)^Se(v,18)^v>>>3,F=Se(B,17)^Se(B,19)^B>>>10;Oe[p]=F+Oe[p-7]+C+Oe[p-16]|0}let{A:r,B:s,C:o,D:i,E:a,F:f,G:g,H:b}=this;for(let p=0;p<64;p++){const B=b+(Se(a,6)^Se(a,11)^Se(a,25))+xr(a,f,g)+Er[p]+Oe[p]|0,F=(Se(r,2)^Se(r,13)^Se(r,22))+vr(r,s,o)|0;b=g,g=f,f=a,a=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,a=a+this.E|0,f=f+this.F|0,g=g+this.G|0,b=b+this.H|0,this.set(r,s,o,i,a,f,g,b)}roundClean(){Oe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const tt=function yr(t){const e=r=>t().update(dt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}(()=>new Ar);function Me(t){if(!Number.isSafeInteger(t))throw new Error(`Wrong integer: ${t}`)}function Ae(...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(Me(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 _e(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 nt(t,e="="){if(Me(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 kn(t){if("function"!=typeof t)throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>t(e)}}function _n(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(Me(i),i<0||i>=e)throw new Error(`Wrong integer: ${i}`)});;){let i=0,a=!0;for(let f=r;f<o.length;f++){const g=o[f],b=e*i+g;if(!Number.isSafeInteger(b)||e*i/e!==i||b-g!=e*i)throw new Error("convertRadix: carry overflow");if(i=b%n,o[f]=Math.floor(b/n),!Number.isSafeInteger(o[f])||o[f]*n+i!==b)throw new Error("convertRadix: carry overflow");a&&(o[f]?a=!1:r=f)}if(s.push(i),a)break}for(let i=0;i<t.length-1&&0===t[i];i++)s.push(0);return s.reverse()}const Hn=(t,e)=>e?Hn(e,t%e):t,pt=(t,e)=>t+(e-Hn(t,e));function $t(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(pt(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${pt(e,n)}`);let s=0,o=0;const i=2**n-1,a=[];for(const f of t){if(Me(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)a.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&&a.push(s>>>0),a}function Te(t,e=!1){if(Me(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(pt(8,t)>32||pt(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 $t(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($t(n,t,8,e))}}}function Tn(t){if("function"!=typeof t)throw new Error("unsafeWrapper fn should be function");return function(...e){try{return t.apply(null,e)}catch{}}}const Sr=Ae(Te(4),ke("0123456789ABCDEF"),_e("")),kr=Ae(Te(5),ke("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),nt(5),_e("")),rt=(Ae(Te(5),ke("0123456789ABCDEFGHIJKLMNOPQRSTUV"),nt(5),_e("")),Ae(Te(5),ke("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),_e(""),kn(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),Ae(Te(6),ke("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),nt(6),_e(""))),_r=Ae(Te(6),ke("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),nt(6),_e("")),Dt=t=>Ae(function Bn(t){return Me(t),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return _n(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(_n(e,t,256))}}}(58),ke(t),_e("")),bt=Dt("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),In=(Dt("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),Dt("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"),[0,2,3,5,6,7,9,10,11]),Hr={encode(t){let e="";for(let n=0;n<t.length;n+=8){const r=t.subarray(n,n+8);e+=bt.encode(r).padStart(In[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=In.indexOf(r.length),o=bt.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)}},qt=Ae(ke("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),_e("")),Un=[996825010,642813549,513874426,1027748829,705979059];function st(t){const e=t>>25;let n=(33554431&t)<<5;for(let r=0;r<Un.length;r++)1==(e>>r&1)&&(n^=Un[r]);return n}function Cn(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=st(s)^i>>5}s=st(s);for(let o=0;o<r;o++)s=st(s)^31&t.charCodeAt(o);for(let o of e)s=st(s)^o;for(let o=0;o<6;o++)s=st(s);return s^=n,qt.encode($t([s%2**30],30,5,!1))}function On(t){const e="bech32"===t?1:734539939,n=Te(5),r=n.decode,s=n.encode,o=Tn(r);function a(b,p=90){if("string"!=typeof b)throw new Error("bech32.decode input should be string, not "+typeof b);if(b.length<8||!1!==p&&b.length>p)throw new TypeError(`Wrong string length: ${b.length} (${b}). Expected (8..${p})`);const v=b.toLowerCase();if(b!==v&&b!==b.toUpperCase())throw new Error("String must be lowercase or uppercase");const B=(b=v).lastIndexOf("1");if(0===B||-1===B)throw new Error('Letter "1" must be present between prefix and data only');const C=b.slice(0,B),F=b.slice(B+1);if(F.length<6)throw new Error("Data must be at least 6 characters long");const oe=qt.decode(F).slice(0,-6),Q=Cn(C,oe,e);if(!F.endsWith(Q))throw new Error(`Invalid checksum in ${b}: expected "${Q}"`);return{prefix:C,words:oe}}return{encode:function i(b,p,v=90){if("string"!=typeof b)throw new Error("bech32.encode prefix should be string, not "+typeof b);if(!Array.isArray(p)||p.length&&"number"!=typeof p[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof p);const B=b.length+7+p.length;if(!1!==v&&B>v)throw new TypeError(`Length ${B} exceeds limit ${v}`);return`${b=b.toLowerCase()}1${qt.encode(p)}${Cn(b,p,e)}`},decode:a,decodeToBytes:function g(b){const{prefix:p,words:v}=a(b,!1);return{prefix:p,words:v,bytes:r(v)}},decodeUnsafe:Tn(a),fromWords:r,fromWordsUnsafe:o,toWords:s}}const ve=On("bech32"),Tr=(On("bech32m"),{encode:t=>(new TextDecoder).decode(t),decode:t=>(new TextEncoder).encode(t)}),Lr=Ae(Te(4),ke("0123456789abcdef"),_e(""),kn(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:Tr,hex:Lr,base16:Sr,base32:kr,base64:rt,base64url:_r,base58:bt,base58xmr:Hr}).join(", ");var Dn=me(3439),jt=me(6837);function Rt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Fe(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 ze={number:Rt,bool:function Ir(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:Fe,hash:function Ur(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Rt(t.outputLen),Rt(t.blockLen)},exists:function Cr(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 Or(t,e){Fe(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}},Qe=("object"==typeof self&&"crypto"in self&&self,t=>new DataView(t.buffer,t.byteOffset,t.byteLength)),He=(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 $r=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function qn(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}function yt(t){if("string"==typeof t&&(t=qn(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}function gt(...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 jn{clone(){return this._cloneInto()}}function Ge(t){const e=r=>t().update(yt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}class Rn extends jn{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,ze.hash(e);const r=yt(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 ze.exists(this),this.iHash.update(e),this}digestInto(e){ze.exists(this),ze.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:a}=this;return e.finished=s,e.destroyed=o,e.blockLen=i,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const wt=(t,e,n)=>new Rn(t,e).update(n).digest();wt.create=(t,e)=>new Rn(t,e);class Pt extends jn{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=Qe(this.buffer)}update(e){ze.exists(this);const{view:n,buffer:r,blockLen:s}=this,o=(e=yt(e)).length;for(let i=0;i<o;){const a=Math.min(s-this.pos,o-i);if(a!==s)r.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===s&&(this.process(n,0),this.pos=0);else{const f=Qe(e);for(;s<=o-i;i+=s)this.process(f,i)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){ze.exists(this),ze.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 p=i;p<s;p++)n[p]=0;(function Nr(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),a=Number(n&o),g=r?0:4;t.setUint32(e+(r?4:0),i,r),t.setUint32(e+g,a,r)})(r,s-8,BigInt(8*this.length),o),this.process(r,0);const a=Qe(e),f=this.outputLen;if(f%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const g=f/4,b=this.get();if(g>b.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<g;p++)a.setUint32(4*p,b[p],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:a}=this;return e.length=s,e.pos=a,e.finished=o,e.destroyed=i,s%n&&e.buffer.set(r),e}}const Pr=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Nn=Uint8Array.from({length:16},(t,e)=>e),Mr=Nn.map(t=>(9*t+5)%16);let Mt=[Nn],Ft=[Mr];for(let t=0;t<4;t++)for(let e of[Mt,Ft])e.push(e[t].map(n=>Pr[n]));const Pn=[[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)),Fr=Mt.map((t,e)=>t.map(n=>Pn[e][n])),zr=Ft.map((t,e)=>t.map(n=>Pn[e][n])),Gr=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),Wr=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),mt=(t,e)=>t<<e|t>>>32-e;function Mn(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 xt=new Uint32Array(16);class Kr extends Pt{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)xt[B]=e.getUint32(n,!0);let r=0|this.h0,s=r,o=0|this.h1,i=o,a=0|this.h2,f=a,g=0|this.h3,b=g,p=0|this.h4,v=p;for(let B=0;B<5;B++){const C=4-B,F=Gr[B],oe=Wr[B],Q=Mt[B],ne=Ft[B],$=Fr[B],ie=zr[B];for(let X=0;X<16;X++){const ae=mt(r+Mn(B,o,a,g)+xt[Q[X]]+F,$[X])+p|0;r=p,p=g,g=0|mt(a,10),a=o,o=ae}for(let X=0;X<16;X++){const ae=mt(s+Mn(C,i,f,b)+xt[ne[X]]+oe,ie[X])+v|0;s=v,v=b,b=0|mt(f,10),f=i,i=ae}}this.set(this.h1+a+b|0,this.h2+g+v|0,this.h3+p+s|0,this.h4+r+i|0,this.h0+o+f|0)}roundClean(){xt.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const Vr=Ge(()=>new Kr),Zr=(t,e,n)=>t&e^~t&n,Xr=(t,e,n)=>t&e^t&n^e&n,Yr=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]),$e=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),De=new Uint32Array(64);class Fn extends Pt{constructor(){super(64,32,8,!1),this.A=0|$e[0],this.B=0|$e[1],this.C=0|$e[2],this.D=0|$e[3],this.E=0|$e[4],this.F=0|$e[5],this.G=0|$e[6],this.H=0|$e[7]}get(){const{A:e,B:n,C:r,D:s,E:o,F:i,G:a,H:f}=this;return[e,n,r,s,o,i,a,f]}set(e,n,r,s,o,i,a,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|a,this.H=0|f}process(e,n){for(let p=0;p<16;p++,n+=4)De[p]=e.getUint32(n,!1);for(let p=16;p<64;p++){const v=De[p-15],B=De[p-2],C=He(v,7)^He(v,18)^v>>>3,F=He(B,17)^He(B,19)^B>>>10;De[p]=F+De[p-7]+C+De[p-16]|0}let{A:r,B:s,C:o,D:i,E:a,F:f,G:g,H:b}=this;for(let p=0;p<64;p++){const B=b+(He(a,6)^He(a,11)^He(a,25))+Zr(a,f,g)+Yr[p]+De[p]|0,F=(He(r,2)^He(r,13)^He(r,22))+Xr(r,s,o)|0;b=g,g=f,f=a,a=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,a=a+this.E|0,f=f+this.F|0,g=g+this.G|0,b=b+this.H|0,this.set(r,s,o,i,a,f,g,b)}roundClean(){De.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Qr extends Fn{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 zt=Ge(()=>new Fn),vt=(Ge(()=>new Qr),BigInt(2**32-1)),Gt=BigInt(32);function zn(t,e=!1){return e?{h:Number(t&vt),l:Number(t>>Gt&vt)}:{h:0|Number(t>>Gt&vt),l:0|Number(t&vt)}}const te_split=function Jr(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}=zn(t[s],e);[n[s],r[s]]=[o,i]}return[n,r]},te_shrSH=(t,e,n)=>t>>>n,te_shrSL=(t,e,n)=>t<<32-n|e>>>n,te_rotrSH=(t,e,n)=>t>>>n|e<<32-n,te_rotrSL=(t,e,n)=>t<<32-n|e>>>n,te_rotrBH=(t,e,n)=>t<<64-n|e>>>n-32,te_rotrBL=(t,e,n)=>t>>>n-32|e<<64-n,te_add=function ds(t,e,n,r){const s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:0|s}},te_add3L=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),te_add3H=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,te_add4L=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),te_add4H=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,te_add5H=(t,e,n,r,s,o)=>e+n+r+s+o+(t/2**32|0)|0,te_add5L=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),[ps,bs]=te_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))),qe=new Uint32Array(80),je=new Uint32Array(80);class Et extends Pt{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:a,Dl:f,Eh:g,El:b,Fh:p,Fl:v,Gh:B,Gl:C,Hh:F,Hl:oe}=this;return[e,n,r,s,o,i,a,f,g,b,p,v,B,C,F,oe]}set(e,n,r,s,o,i,a,f,g,b,p,v,B,C,F,oe){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|a,this.Dl=0|f,this.Eh=0|g,this.El=0|b,this.Fh=0|p,this.Fl=0|v,this.Gh=0|B,this.Gl=0|C,this.Hh=0|F,this.Hl=0|oe}process(e,n){for(let $=0;$<16;$++,n+=4)qe[$]=e.getUint32(n),je[$]=e.getUint32(n+=4);for(let $=16;$<80;$++){const ie=0|qe[$-15],X=0|je[$-15],ae=te_rotrSH(ie,X,1)^te_rotrSH(ie,X,8)^te_shrSH(ie,X,7),we=te_rotrSL(ie,X,1)^te_rotrSL(ie,X,8)^te_shrSL(ie,X,7),ue=0|qe[$-2],de=0|je[$-2],Ie=te_rotrSH(ue,de,19)^te_rotrBH(ue,de,61)^te_shrSH(ue,de,6),at=te_rotrSL(ue,de,19)^te_rotrBL(ue,de,61)^te_shrSL(ue,de,6),pe=te_add4L(we,at,je[$-7],je[$-16]),Ve=te_add4H(pe,ae,Ie,qe[$-7],qe[$-16]);qe[$]=0|Ve,je[$]=0|pe}let{Ah:r,Al:s,Bh:o,Bl:i,Ch:a,Cl:f,Dh:g,Dl:b,Eh:p,El:v,Fh:B,Fl:C,Gh:F,Gl:oe,Hh:Q,Hl:ne}=this;for(let $=0;$<80;$++){const ie=te_rotrSH(p,v,14)^te_rotrSH(p,v,18)^te_rotrBH(p,v,41),X=te_rotrSL(p,v,14)^te_rotrSL(p,v,18)^te_rotrBL(p,v,41),ae=p&B^~p&F,ue=te_add5L(ne,X,v&C^~v&oe,bs[$],je[$]),de=te_add5H(ue,Q,ie,ae,ps[$],qe[$]),Ie=0|ue,at=te_rotrSH(r,s,28)^te_rotrBH(r,s,34)^te_rotrBH(r,s,39),pe=te_rotrSL(r,s,28)^te_rotrBL(r,s,34)^te_rotrBL(r,s,39),Ve=r&o^r&a^o&a,cn=s&i^s&f^i&f;Q=0|F,ne=0|oe,F=0|B,oe=0|C,B=0|p,C=0|v,({h:p,l:v}=te_add(0|g,0|b,0|de,0|Ie)),g=0|a,b=0|f,a=0|o,f=0|i,o=0|r,i=0|s;const Je=te_add3L(Ie,pe,cn);r=te_add3H(Je,de,at,Ve),s=0|Je}({h:r,l:s}=te_add(0|this.Ah,0|this.Al,0|r,0|s)),({h:o,l:i}=te_add(0|this.Bh,0|this.Bl,0|o,0|i)),({h:a,l:f}=te_add(0|this.Ch,0|this.Cl,0|a,0|f)),({h:g,l:b}=te_add(0|this.Dh,0|this.Dl,0|g,0|b)),({h:p,l:v}=te_add(0|this.Eh,0|this.El,0|p,0|v)),({h:B,l:C}=te_add(0|this.Fh,0|this.Fl,0|B,0|C)),({h:F,l:oe}=te_add(0|this.Gh,0|this.Gl,0|F,0|oe)),({h:Q,l:ne}=te_add(0|this.Hh,0|this.Hl,0|Q,0|ne)),this.set(r,s,o,i,a,f,g,b,p,v,B,C,F,oe,Q,ne)}roundClean(){qe.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 ys extends Et{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 gs extends Et{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 ws extends Et{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 Gn=Ge(()=>new Et);Ge(()=>new ys),Ge(()=>new gs),Ge(()=>new ws),se.hmacSha256Sync=(t,...e)=>wt(zt,t,se.concatBytes(...e));const Wt=(t=>Ae(function Ln(t,e){if(Me(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))),bt))(zt);function Wn(t){return BigInt(`0x${function Dr(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=$r[t[n]];return e}(t)}`)}const xs=qn("Bitcoin seed"),Kt={private:76066276,public:76067358},Vt=2147483648,At=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 Qe(e).setUint32(0,t,!1),e};class We{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||Kt,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(!se.isValidPrivateKey(e.privateKey))throw new Error("Invalid private key");this.privKey="bigint"==typeof e.privateKey?e.privateKey:Wn(e.privateKey),this.privKeyBytes=function ms(t){return function qr(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 rr(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=>Vr(zt(this.pubKey)))()}get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return(t=>Qe(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,gt(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=Kt){if(Fe(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=wt(Gn,xs,e);return new We({versions:n,chainCode:r.slice(32),privateKey:r.slice(0,32)})}static fromExtendedKey(e,n=Kt){const r=Wt.decode(e),s=Qe(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)},a=r.slice(45),f=0===a[0];if(o!==n[f?"private":"public"])throw new Error("Version mismatch");return new We(f?{...i,privateKey:a.slice(1)}:{...i,publicKey:a})}static fromJSON(e){return We.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>=Vt)throw new Error("Invalid index");"'"===o[2]&&(i+=Vt),r=r.deriveChild(i)}return r}deriveChild(e){if(!this.pubKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=At(e);if(e>=Vt){const a=this.privateKey;if(!a)throw new Error("Could not derive hardened child key");n=gt(new Uint8Array([0]),a,n)}else n=gt(this.pubKey,n);const r=wt(Gn,this.chainCode,n),s=Wn(r.slice(0,32)),o=r.slice(32);if(!se.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 a=se.mod(this.privKey+s,w.n);if(!se.isValidPrivateKey(a))throw new Error("The tweak was out of range or the resulted private key is invalid");i.privateKey=a}else{const a=h.fromHex(this.pubKey).add(h.fromPrivateKey(s));if(a.equals(h.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");i.publicKey=a.toRawBytes(!0)}return new We(i)}catch{return this.deriveChild(e+1)}}sign(e){if(!this.privateKey)throw new Error("No privateKey set!");return Fe(e,32),function or(t,e,n={}){const{seed:r,m:s,d:o}=function gn(t,e,n){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const r=ce(t),s=Pe(e),o=[yn(s),sr(r)];if(null!=n){!0===n&&(n=se.randomBytes(U));const f=ce(n);if(f.length!==U)throw new Error(`sign: Expected ${U} bytes of extra data`);o.push(f)}return{seed:u(...o),m:bn(r),d:s}}(t,e,n.extraEntropy),i=new un(32,H);let a;for(i.reseedSync(r);!(a=hn(i.generateSync(),s,o,n.canonical));)i.reseedSync();return function wn(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}(a,n)}(e,this.privKey,{canonical:!0,der:!1})}verify(e,n){if(Fe(e,32),Fe(n,64),!this.publicKey)throw new Error("No publicKey set!");let r;try{r=l.fromCompact(n)}catch{return!1}return function ar(t,e,n,r=ir){let s;try{s=fn(t),e=ce(e)}catch{return!1}const{r:o,s:i}=s;if(r.strict&&s.hasHighS())return!1;const a=Ht(e);let f;try{f=Bt(n)}catch{return!1}const{n:g}=w,b=Ee(i,g),p=E(a*b,g),v=E(o*b,g),B=h.BASE.multiplyAndAddUnsafe(f,p,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 Fe(n,33),gt(At(e),new Uint8Array([this.depth]),At(this.parentFingerprint),At(this.index),this.chainCode,n)}}class Kn extends Ot{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,function pr(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Sn(t.outputLen),Sn(t.blockLen)}(e);const r=dt(n);if(this.iHash=e.create(),!(this.iHash instanceof Ot))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:a}=this;return e.finished=s,e.destroyed=o,e.blockLen=i,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Vn=(t,e,n)=>new Kn(t,e).update(n).digest();Vn.create=(t,e)=>new Kn(t,e);var As=Object.defineProperty,Re=(t,e)=>{for(var n in e)As(t,n,{get:e[n],enumerable:!0})};function Zn(t){return se.bytesToHex(ut.getPublicKey(t))}Re({},{insertEventIntoAscendingList:()=>_s,insertEventIntoDescendingList:()=>ks,normalizeURL:()=>St,utf8Decoder:()=>Ke,utf8Encoder:()=>Le});var Ke=new TextDecoder("utf-8"),Le=new TextEncoder;function St(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 ks(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 _s(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}var _t,Zt=(t=>(t[t.Metadata=0]="Metadata",t[t.Text=1]="Text",t[t.RecommendRelay=2]="RecommendRelay",t[t.Contacts=3]="Contacts",t[t.EncryptedDirectMessage=4]="EncryptedDirectMessage",t[t.EventDeletion=5]="EventDeletion",t[t.Reaction=7]="Reaction",t[t.ChannelCreation=40]="ChannelCreation",t[t.ChannelMetadata=41]="ChannelMetadata",t[t.ChannelMessage=42]="ChannelMessage",t[t.ChannelHideMessage=43]="ChannelHideMessage",t[t.ChannelMuteUser=44]="ChannelMuteUser",t[t.Report=1984]="Report",t[t.ZapRequest=9734]="ZapRequest",t[t.Zap=9735]="Zap",t[t.RelayList=10002]="RelayList",t[t.ClientAuth=22242]="ClientAuth",t[t.Article=30023]="Article",t))(Zt||{});function Yt(t){if("object"!=typeof t||"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 Xn(t){return ut.verifySync(t.sig,function Xt(t){let e=tt(Le.encode(function Hs(t){if(!Yt(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 se.bytesToHex(e)}(t),t.pubkey)}function Ts(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 kt(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 Yn(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 Qn(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 Us(t,e){return e===kt(t,"id")}function Cs(t,e){return e===kt(t,"pubkey")}function Os(t,e){return e===Yn(t,"kind")}function Jn(t,e={}){let{listTimeout:n=3e3,getTimeout:r=3e3}=e;var s,o={},i={connect:[],disconnect:[],error:[],notice:[]},a={},f={};function b(){return b=c(function*(){return new Promise((Q,ne)=>{(s=new WebSocket(t)).onopen=()=>{i.connect.forEach(ae=>ae()),Q()},s.onerror=()=>{i.error.forEach(ae=>ae()),ne()},s.onclose=c(function*(){i.disconnect.forEach(ae=>ae())});let ie,$=[];function X(){if(0===$.length)return clearInterval(ie),void(ie=null);var ae=$.shift();if(!ae)return;let we=Qn(ae);if(we){let ue=o[we];if(ue&&ue.alreadyHaveEvent&&ue.alreadyHaveEvent(kt(ae,"id"),t))return}try{let ue=JSON.parse(ae);switch(ue[0]){case"EVENT":let de=ue[1],Ie=ue[2];return void(Yt(Ie)&&o[de]&&(o[de].skipVerification||Xn(Ie))&&function Ls(t,e){for(let n=0;n<t.length;n++)if(Ts(t[n],e))return!0;return!1}(o[de].filters,Ie)&&(a[de]?.event||[]).forEach(pe=>pe(Ie)));case"EOSE":{let pe=ue[1];return void(pe in a&&(a[pe].eose.forEach(Ve=>Ve()),a[pe].eose=[]))}case"OK":{let pe=ue[1],cn=ue[3]||"";return void(pe in f&&(ue[2]?f[pe].ok.forEach(Je=>Je()):f[pe].failed.forEach(Je=>Je(cn)),f[pe].ok=[],f[pe].failed=[]))}case"NOTICE":let at=ue[1];return void i.notice.forEach(pe=>pe(at))}}catch{return}}s.onmessage=ae=>{$.push(ae.data),ie||(ie=setInterval(X,0))}})}),b.apply(this,arguments)}function p(){return 1===s?.readyState}function B(){return B=c(function*(){p()||(yield function g(){return b.apply(this,arguments)}())}),B.apply(this,arguments)}function C(Q){return F.apply(this,arguments)}function F(){return(F=c(function*(Q){let ne=JSON.stringify(Q);if(p()||(yield new Promise($=>setTimeout($,1e3)),p()))try{s.send(ne)}catch($){console.log($)}})).apply(this,arguments)}const oe=(Q,{skipVerification:ne=!1,alreadyHaveEvent:$=null,id:ie=Math.random().toString().slice(2)}={})=>{let X=ie;return o[X]={id:X,filters:Q,skipVerification:ne,alreadyHaveEvent:$},C(["REQ",X,...Q]),{sub:(ae,we={})=>oe(ae||Q,{skipVerification:we.skipVerification||ne,alreadyHaveEvent:we.alreadyHaveEvent||$,id:X}),unsub:()=>{delete o[X],delete a[X],C(["CLOSE",X])},on:(ae,we)=>{a[X]=a[X]||{event:[],eose:[]},a[X][ae].push(we)},off:(ae,we)=>{let ue=a[X],de=ue[ae].indexOf(we);de>=0&&ue[ae].splice(de,1)}}};return{url:t,sub:oe,on:(Q,ne)=>{i[Q].push(ne),"connect"===Q&&1===s?.readyState&&ne()},off:(Q,ne)=>{let $=i[Q].indexOf(ne);-1!==$&&i[Q].splice($,1)},list:(Q,ne)=>new Promise($=>{let ie=oe(Q,ne),X=[],ae=setTimeout(()=>{ie.unsub(),$(X)},n);ie.on("eose",()=>{ie.unsub(),clearTimeout(ae),$(X)}),ie.on("event",we=>{X.push(we)})}),get:(Q,ne)=>new Promise($=>{let ie=oe([Q],ne),X=setTimeout(()=>{ie.unsub(),$(null)},r);ie.on("event",ae=>{ie.unsub(),clearTimeout(X),$(ae)})}),publish(Q){if(!Q.id)throw new Error(`event ${Q} has no id`);let ne=Q.id;return C(["EVENT",Q]),{on:($,ie)=>{f[ne]=f[ne]||{ok:[],failed:[]},f[ne][$].push(ie)},off:($,ie)=>{let X=f[ne];if(!X)return;let ae=X[$].indexOf(ie);ae>=0&&X[$].splice(ae,1)}}},connect:function v(){return B.apply(this,arguments)},close(){i={connect:[],disconnect:[],error:[],notice:[]},a={},f={},s?.close()},get status(){return s?.readyState??3}}}function qs(t,e,n){return Qt.apply(this,arguments)}function Qt(){return Qt=c(function*(t,e,n){const s=er(pn(t,"02"+e));let o=Uint8Array.from(function gr(t=32){if(ft.web)return ft.web.getRandomValues(new Uint8Array(t));if(ft.node)return new Uint8Array(ft.node.randomBytes(t).buffer);throw new Error("The environment doesn't have randomBytes function")}(16)),i=Le.encode(n),a=yield crypto.subtle.importKey("raw",s,{name:"AES-CBC"},!1,["encrypt"]),f=yield crypto.subtle.encrypt({name:"AES-CBC",iv:o},a,i);return`${rt.encode(new Uint8Array(f))}?iv=${rt.encode(new Uint8Array(o.buffer))}`}),Qt.apply(this,arguments)}function js(t,e,n){return Jt.apply(this,arguments)}function Jt(){return Jt=c(function*(t,e,n){let[r,s]=n.split("?iv="),i=er(pn(t,"02"+e)),a=yield crypto.subtle.importKey("raw",i,{name:"AES-CBC"},!1,["decrypt"]),f=rt.decode(r),g=rt.decode(s),b=yield crypto.subtle.decrypt({name:"AES-CBC",iv:g},a,f);return Ke.decode(b)}),Jt.apply(this,arguments)}function er(t){return t.slice(1,33)}Re({},{getHex64:()=>kt,getInt:()=>Yn,getSubscriptionId:()=>Qn,matchEventId:()=>Us,matchEventKind:()=>Os,matchEventPubkey:()=>Cs}),Re({},{decrypt:()=>js,encrypt:()=>qs}),Re({},{queryProfile:()=>Ms,searchDomain:()=>Ps,useFetchImplementation:()=>Ns});try{_t=fetch}catch{}function Ns(t){_t=t}function Ps(t){return en.apply(this,arguments)}function en(){return en=c(function*(t,e=""){try{return(yield(yield _t(`https://${t}/.well-known/nostr.json?name=${e}`)).json()).names}catch{return{}}}),en.apply(this,arguments)}function Ms(t){return tn.apply(this,arguments)}function tn(){return tn=c(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]||[]}}),tn.apply(this,arguments)}function zs(t,e){let r=We.fromMasterSeed((0,jt.Z1)(t,e)).derive("m/44'/1237'/0'/0/0").privateKey;if(!r)throw new Error("could not derive private key");return se.bytesToHex(r)}function Gs(){return(0,jt.OF)(Dn.U)}function Ws(t){return(0,jt._I)(t,Dn.U)}Re({},{generateSeedWords:()=>Gs,privateKeyFromSeedWords:()=>zs,validateWords:()=>Ws}),Re({},{decode:()=>Vs,naddrEncode:()=>eo,neventEncode:()=>Js,noteEncode:()=>Ys,nprofileEncode:()=>Qs,npubEncode:()=>Xs,nsecEncode:()=>Zs});var on,it=5e3;function Vs(t){let{prefix:e,words:n}=ve.decode(t,it),r=new Uint8Array(ve.fromWords(n));switch(e){case"nprofile":{let s=nn(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:se.bytesToHex(s[0][0]),relays:s[1]?s[1].map(o=>Ke.decode(o)):[]}}}case"nevent":{let s=nn(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:se.bytesToHex(s[0][0]),relays:s[1]?s[1].map(o=>Ke.decode(o)):[]}}}case"naddr":{let s=nn(r);if(!s[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!s[2]?.[0])throw new Error("missing TLV 2 for naddr");if(32!==s[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(!s[3]?.[0])throw new Error("missing TLV 3 for naddr");if(4!==s[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:Ke.decode(s[0][0]),pubkey:se.bytesToHex(s[2][0]),kind:parseInt(se.bytesToHex(s[3][0]),16),relays:s[1]?s[1].map(o=>Ke.decode(o)):[]}}}case"nsec":case"npub":case"note":return{type:e,data:se.bytesToHex(r)};default:throw new Error(`unknown prefix ${e}`)}}function nn(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 Zs(t){return rn("nsec",t)}function Xs(t){return rn("npub",t)}function Ys(t){return rn("note",t)}function rn(t,e){let n=se.hexToBytes(e),r=ve.toWords(n);return ve.encode(t,r,it)}function Qs(t){let e=sn({0:[se.hexToBytes(t.pubkey)],1:(t.relays||[]).map(r=>Le.encode(r))}),n=ve.toWords(e);return ve.encode("nprofile",n,it)}function Js(t){let e=sn({0:[se.hexToBytes(t.id)],1:(t.relays||[]).map(r=>Le.encode(r))}),n=ve.toWords(e);return ve.encode("nevent",n,it)}function eo(t){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,t.kind,!1);let n=sn({0:[Le.encode(t.identifier)],1:(t.relays||[]).map(s=>Le.encode(s)),2:[se.hexToBytes(t.pubkey)],3:[new Uint8Array(e)]}),r=ve.toWords(n);return ve.encode("naddr",r,it)}function sn(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)})}),se.concatBytes(...e)}function no(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=tt(Le.encode(`nostr:delegation:${e.pubkey}:${r}`)),o=se.bytesToHex(ut.signSync(s,t));return{from:Zn(t),to:e.pubkey,cond:r,sig:o}}function ro(t){let e=t.tags.find(a=>"delegation"===a[0]&&a.length>=4);if(!e)return null;let n=e[1],r=e[2],s=e[3],o=r.split("&");for(let a=0;a<o.length;a++){let[f,g,b]=o[a].split(/\b/);if("kind"!==f||"="!==g||t.kind!==parseInt(b)){if("created_at"===f&&"<"===g&&t.created_at<parseInt(b))continue;if("created_at"===f&&">"===g&&t.created_at>parseInt(b))continue;return null}}let i=tt(Le.encode(`nostr:delegation:${t.pubkey}:${r}`));return ut.verifySync(s,i,n)?n:null}Re({},{createDelegation:()=>no,getDelegator:()=>ro}),Re({},{getZapEndpoint:()=>io,makeZapReceipt:()=>lo,makeZapRequest:()=>ao,useFetchImplementation:()=>oo,validateZapRequest:()=>co});try{on=fetch}catch{}function oo(t){on=t}function io(t){return an.apply(this,arguments)}function an(){return an=c(function*(t){try{let e="",{lud06:n,lud16:r}=JSON.parse(t.content);if(n){let{words:i}=ve.decode(n,1e3),a=ve.fromWords(i);e=Ke.decode(a)}else{if(!r)return null;{let[i,a]=r.split("@");e=`https://${a}/.well-known/lnurlp/${i}`}}let o=yield(yield on(e)).json();if(o.allowsNostr&&o.nostrPubkey)return o.callback}catch{}return null}),an.apply(this,arguments)}function ao({profile:t,event:e,amount:n,relays:r,comment:s=""}){if(!n)throw new Error("amount not given");if(!t)throw new Error("profile not given");let o={kind:9734,created_at:Math.round(Date.now()/1e3),content:s,tags:[["p",t],["amount",n.toString()],["relays",...r]]};return e&&o.tags.push(["e",e]),o}function co(t){let e;try{e=JSON.parse(t)}catch{return"Invalid zap request JSON."}if(!Yt(e))return"Zap request is not a valid Nostr event.";if(!Xn(e))return"Invalid signature on zap request.";let n=e.tags.find(([o,i])=>"p"===o&&i);if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let r=e.tags.find(([o,i])=>"e"===o&&i);return r&&!r[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([o,i])=>"relays"===o&&i)?null:"Zap request doesn't have a 'relays' tag."}function lo({zapRequest:t,preimage:e,bolt11:n,paidAt:r}){let o=JSON.parse(t).tags.filter(([a])=>"e"===a||"p"===a||"a"===a),i={kind:9735,created_at:Math.round(r.getTime()/1e3),content:"",tags:[...o,["bolt11",n],["description",t]]};return e&&i.tags.push(["preimage",e]),i}se.hmacSha256Sync=(t,...e)=>Vn(tt,t,se.concatBytes(...e)),se.sha256Sync=(...t)=>tt(se.concatBytes(...t));class uo{constructor(){this.queues={profile:{active:!1,jobs:[]},event:{active:!1,jobs:[]},article:{active:!1,jobs:[]},badgedefinition:{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 ho{constructor(e){this.url=e,this.subscriptions=[],this.queue=new uo}publish(e){var n=this;return c(function*(){if(e.kind==Zt.Article||30008==e.kind||30009==e.kind){if(!n.relay.nip11)return void console.log(`${n.relay.url}: This relay does not return NIP-11 metadata. Article/Badge will not be published here.`);if(!n.relay.nip11.supported_nips.includes(33))return void console.log(`${n.relay.url}: This relay does not NIP-23. Article/Badge will not be published here.`);console.log(`${n.relay.url}: This relay supports NIP-23. Publishing article/badge on this relay.`)}let r=n.relay.publish(e);r.on("ok",()=>{console.log(`${n.relay.url} has accepted our event`)}),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)this.queue.queues.event.jobs.push(e);else if("Article"==e.type)this.queue.queues.article.jobs.push(e);else{if("BadgeDefinition"!=e.type)throw Error(`This type of job (${e.type}) is currently not supported.`);this.queue.queues.badgedefinition.jobs.push(e)}console.log(`${this.url}: Job enqued...processing...`),setTimeout(()=>{this.process()},500)}process(){this.processArticle(),this.processBadgeDefinition(),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}: processEvents: 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)}processArticle(){if(!this.relay||1!=this.relay.status||this.queue.queues.article.active)return void console.log(`${this.url}: processArticle: Relay not ready or currently active: ${this.queue.queues.article.active}.`,this.relay);if(console.log(`${this.url}: processArticle: Processing with downloading... Count: `+this.queue.queues.article.jobs.length),0==this.queue.queues.article.jobs.length)return void(this.queue.queues.article.active=!1);this.queue.queues.article.active=!0,console.log(this.relay);const e=this.queue.queues.article.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);console.log("articleToDownload:",e),this.downloadArticle(e,3*e.length)}processBadgeDefinition(){if(!this.relay||1!=this.relay.status||this.queue.queues.badgedefinition.active)return void console.log(`${this.url}: processBadgeDefinition: Relay not ready or currently active: ${this.queue.queues.badgedefinition.active}.`,this.relay);if(console.log(`${this.url}: processBadgeDefinition: Processing with downloading... Count: `+this.queue.queues.badgedefinition.jobs.length),0==this.queue.queues.badgedefinition.jobs.length)return void(this.queue.queues.badgedefinition.active=!1);this.queue.queues.badgedefinition.active=!0,console.log(this.relay);const e=this.queue.queues.badgedefinition.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);console.log("badgeDefinitionsToDownload:",e),this.downloadBadgeDefinition(e,3*e.length)}connect(e){var n=this;return c(function*(){const r=Jn(n.url);n.relay=r,r.on("connect",c(function*(){console.log(`${n.url}: Connected.`),postMessage({type:"status",data:1,url:r.url}),e?(yield n.publish(e),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(){1==this.relay.status&&(console.log(`${this.url}: relay.status: ${this.relay.status}, calling close!`),this.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}clearArticleSub(){this.articleSub?.unsub(),this.articleTimer=void 0}clearBadgeDefinitionSub(){this.badgeDefinitionSub?.unsub(),this.badgeDefinitionTimer=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)}downloadArticle(e,n=12){if(console.log("DOWNLOAD ARTICLE...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.articleSub&&(console.log("Article sub already existed, unsub before continue."),this.clearArticleSub());const o=this.relay.sub([{kinds:[Zt.Article],authors:e}]);this.articleSub=o,o.on("event",i=>{console.log("POST MESSAGE BACK TO MAIN"),postMessage({url:this.url,type:"event",data:i}),console.log("FINISHED POST MESSAGE BACK TO MAIN")}),o.on("eose",()=>{console.log("eose on event."),clearTimeout(this.articleTimer),this.clearArticleSub(),this.queue.queues.article.active=!1,this.processArticle()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.articleTimer=setTimeout(()=>{console.warn(`${this.url}: Event download timeout reached.`),this.clearArticleSub(),this.queue.queues.article.active=!1,this.processArticle(),postMessage({url:this.url,type:"timeout",data:{type:"Event",identifier:e}})},1e3*n)}downloadBadgeDefinition(e,n=12){if(console.log("DOWNLOAD BADGE DEFINITION...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.badgeDefinitionSub&&(console.log("Article sub already existed, unsub before continue."),this.clearBadgeDefinitionSub());const r=[];for(let o=0;o<e.length;o++){const i=e[o],f=i.split(":")[1],g=i.replace("30009:","").replace(f+":","");r.push({kinds:[30009],authors:[f],"#d":[g]})}const s=this.relay.sub(r);this.badgeDefinitionSub=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.badgeDefinitionTimer),this.clearBadgeDefinitionSub(),this.queue.queues.badgedefinition.active=!1,this.processBadgeDefinition()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.badgeDefinitionTimer=setTimeout(()=>{console.warn(`${this.url}: Event download timeout reached.`),this.clearBadgeDefinitionSub(),this.queue.queues.badgedefinition.active=!1,this.processBadgeDefinition(),postMessage({url:this.url,type:"timeout",data:{type:"Event",identifier:e}})},1e3*n)}download(e,n,r="Event",s=12){if(!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");let o=this.relay.sub(e);o.on("event",a=>{postMessage({url:this.url,type:"event",data:a,subscription:n})}),o.on("eose",()=>{clearTimeout(i),o&&(o.unsub(),o=void 0)});const i=setTimeout(()=>{o&&(o.unsub(),o=void 0),postMessage({url:this.url,type:"timeout",data:{type:r,filters:e}})},1e3*s)}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(!this.relay||1!=this.relay.status)return this.queue.queues.subscriptions.jobs.push({id:n,filters:e,type:"Event",events:[]}),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,type:"Event",events:[]}),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 c(function*(){try{const n=new URL(e.url),s=`${"ws:"===n.protocol?"http":"https"}://${n.host}`,o=yield fetch(s,{method:"GET",mode:"cors",headers:{Accept:"application/nostr+json"}});if(200===o.status){const i=yield o.json();e.relay.nip11=i,postMessage({type:"nip11",data:i,url:e.url})}else postMessage({type:"nip11",data:{error:`Unable to get NIP-11 data. Status: ${o.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 ge;addEventListener("message",function(){var t=c(function*(e){const n=e.data;switch(n.type){case"connect":if(ge&&ge.relay&&1==ge.relay.status){console.log("Already connected...");break}ge=new ho(n.data.url),yield ge.connect(n.data.event),yield ge.info();break;case"disconnect":ge.disconnect();break;case"publish":yield ge.publish(n.data);break;case"enque":yield ge.enque(n.data);break;case"subscribe":yield ge.subscribe(n.data.filters,n.data.id);break;case"download":yield ge.download(n.data.filters,n.data.id,n.data.type);break;case"unsubscribe":yield ge.unsubscribe(n.data);break;case"terminate":try{ge.disconnect()}catch(r){console.error("Error during disconnect.",r)}console.log(`${ge.url}: Sending 'terminated' event.`),postMessage({type:"terminated",url:ge.url})}});return function(e){return t.apply(this,arguments)}}())})()})();