@libp2p/webtransport 4.0.6 → 4.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -12,7 +12,7 @@
12
12
  `,r};Tc.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Li.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),f=0;o&&f<c.length;){for(var u=c[f].replace(/\s+$/,""),l=f+1;l<c.length;++l){var d=c[l];if(!/\s/.test(d[0]))break;u+=d,f=l}if(o=u.match(n),o){for(var g={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)g.values.push(Rd(h[p]));if(a.procType)if(!a.contentDomain&&g.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&g.name==="DEK-Info"){if(g.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(g);else{if(g.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(g.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++f}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function _i(e){for(var t=e.name+": ",r=[],n=function(c,f){return" "+f},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
13
13
  `;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
14
14
  `+t.substr(s)):t=t.substr(0,s)+`\r
15
- `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function Rd(e){return e.replace(/^\s+/,"")}});var Uc=yt((W2,kc)=>{var Ee=dt();mr();Nt();var Nc=kc.exports=Ee.sha256=Ee.sha256||{};Ee.md.sha256=Ee.md.algorithms.sha256=Nc;Nc.create=function(){Pc||Nd();var e=null,t=Ee.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Ee.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ee.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),Rc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ee.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(us.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};Rc(l,r,i);var d=Ee.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var us=null,Pc=!1,Dc=null;function Nd(){us="\x80",us+=Ee.util.fillString("\0",64),Dc=[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],Pc=!0}function Rc(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v=r.length();v>=64;){for(f=0;f<16;++f)t[f]=r.getInt32();for(;f<64;++f)n=t[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[f]=n+t[f-7]+i+t[f-16]|0;for(u=e.h0,l=e.h1,d=e.h2,g=e.h3,h=e.h4,p=e.h5,y=e.h6,x=e.h7,f=0;f<64;++f)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(p^y),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&l|d&(u^l),n=x+s+a+Dc[f]+t[f],i=o+c,x=y,y=p,p=h,h=g+n>>>0,g=d,d=l,l=u,u=n+i>>>0;e.h0=e.h0+u|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+g|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+y|0,e.h7=e.h7+x|0,v-=64}}});var Oc=yt(($2,Kc)=>{var Se=dt();Nt();var Ri=null;Se.util.isNodejs&&!Se.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ri=Ti());var Pd=Kc.exports=Se.prng=Se.prng||{};Pd.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(f,u){if(!u)return t.generateSync(f);var l=t.plugin.cipher,d=t.plugin.increment,g=t.plugin.formatKey,h=t.plugin.formatSeed,p=Se.util.createBuffer();t.key=null,y();function y(x){if(x)return u(x);if(p.length()>=f)return u(null,p.getBytes(f));if(t.generated>1048575&&(t.key=null),t.key===null)return Se.util.nextTick(function(){o(y)});var v=l(t.key,t.seed);t.generated+=v.length,p.putBytes(v),t.key=g(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Se.util.setImmediate(y)}},t.generateSync=function(f){var u=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,g=t.plugin.formatSeed;t.key=null;for(var h=Se.util.createBuffer();h.length()<f;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=u(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(u(t.key,l(t.seed))),t.seed=g(u(t.key,t.seed))}return h.getBytes(f)};function o(f){if(t.pools[0].messageLength>=32)return a(),f();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(l,d){if(l)return f(l);t.collect(d),a(),f()})}function s(){if(t.pools[0].messageLength>=32)return a();var f=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(f)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var f=t.plugin.md.create();f.update(t.keyBytes);for(var u=1,l=0;l<32;++l)t.reseeds%u===0&&(f.update(t.pools[l].digest().getBytes()),t.pools[l].start()),u=u<<1;t.keyBytes=f.digest().getBytes(),f.start(),f.update(t.keyBytes);var d=f.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(f){var u=null,l=Se.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(u=function(S){return d.getRandomValues(S)});var g=Se.util.createBuffer();if(u)for(;g.length()<f;){var h=Math.max(1,Math.min(f-g.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{u(p);for(var y=0;y<p.length;++y)g.putInt32(p[y])}catch(S){if(!(typeof QuotaExceededError<"u"&&S instanceof QuotaExceededError))throw S}}if(g.length()<f)for(var x,v,m,I=Math.floor(Math.random()*65536);g.length()<f;){v=16807*(I&65535),x=16807*(I>>16),v+=(x&32767)<<16,v+=x>>15,v=(v&2147483647)+(v>>31),I=v&4294967295;for(var y=0;y<3;++y)m=I>>>(y<<3),m^=Math.floor(Math.random()*256),g.putByte(m&255)}return g.getBytes(f)}return Ri?(t.seedFile=function(f,u){Ri.randomBytes(f,function(l,d){if(l)return u(l);u(null,d.toString())})},t.seedFileSync=function(f){return Ri.randomBytes(f).toString()}):(t.seedFile=function(f,u){try{u(null,c(f))}catch(l){u(l)}},t.seedFileSync=c),t.collect=function(f){for(var u=f.length,l=0;l<u;++l)t.pools[t.pool].update(f.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(f,u){for(var l="",d=0;d<u;d+=8)l+=String.fromCharCode(f>>d&255);t.collect(l)},t.registerWorker=function(f){if(f===self)t.seedFile=function(l,d){function g(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",g),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:l}}})};else{var u=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(g,h){f.postMessage({forge:{prng:{err:g,bytes:h}}})})};f.addEventListener("message",u)}},t}});var In=yt((Y2,ls)=>{var Vt=dt();fs();Uc();Oc();Nt();(function(){if(Vt.random&&Vt.random.getBytes){ls.exports=Vt.random;return}(function(e){var t={},r=new Array(4),n=Vt.util.createBuffer();t.formatKey=function(l){var d=Vt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Vt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Vt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Vt.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Vt.md.sha256;function i(){var l=Vt.prng.create(t);return l.getBytes=function(d,g){return l.generate(d,g)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Vt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Vt.options.usePureJavaScript||!Vt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var u in navigator)try{typeof navigator[u]=="string"&&(f+=navigator[u])}catch{}o.collect(f),f=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Vt.random)Vt.random=o;else for(var u in o)Vt.random[u]=o[u];Vt.random.createInstance=i,ls.exports=Vt.random})(typeof jQuery<"u"?jQuery:null)})()});var qc=yt((Z2,Fc)=>{var Jt=dt();Nt();var hs=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],Mc=[1,2,3,5],Dd=function(e,t){return e<<t&65535|(e&65535)>>16-t},kd=function(e,t){return(e&65535)>>t|e<<16-t&65535};Fc.exports=Jt.rc2=Jt.rc2||{};Jt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Jt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(hs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,hs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,hs[r.at(a+1)^r.at(a+o)]);return r};var Vc=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,f,u,l=[];for(e=Jt.rc2.expandKey(e,t),f=0;f<64;f++)l.push(e.getInt16Le());r?(a=function(h){for(f=0;f<4;f++)h[f]+=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),h[f]=Dd(h[f],Mc[f]),u++},c=function(h){for(f=0;f<4;f++)h[f]+=l[h[(f+3)%4]&63]}):(a=function(h){for(f=3;f>=0;f--)h[f]=kd(h[f],Mc[f]),h[f]-=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),u--},c=function(h){for(f=3;f>=0;f--)h[f]-=l[h[(f+3)%4]&63]});var d=function(h){var p=[];for(f=0;f<4;f++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),p.push(y&65535)}u=r?0:63;for(var x=0;x<h.length;x++)for(var v=0;v<h[x][0];v++)h[x][1](p);for(f=0;f<4;f++)s!==null&&(r?s.putInt16Le(p[f]):p[f]^=s.getInt16Le()),o.putInt16Le(p[f])},g=null;return g={start:function(h,p){h&&typeof h=="string"&&(h=Jt.util.createBuffer(h)),n=!1,i=Jt.util.createBuffer(),o=p||new Jt.util.createBuffer,s=h,g.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(p&&(n=!0,g.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var x=o.length(),v=o.at(x-1);v>x?p=!1:o.truncate(v)}return p}},g};Jt.rc2.startEncrypting=function(e,t,r){var n=Jt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Jt.rc2.createEncryptionCipher=function(e,t){return Vc(e,t,!0)};Jt.rc2.startDecrypting=function(e,t,r){var n=Jt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Jt.rc2.createDecryptionCipher=function(e,t){return Vc(e,t,!1)}});var Di=yt((X2,Xc)=>{var ds=dt();Xc.exports=ds.jsbn=ds.jsbn||{};var He,Ud=0xdeadbeefcafe,Hc=(Ud&16777215)==15715070;function P(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}ds.jsbn.BigInteger=P;function at(){return new P(null)}function Kd(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function Od(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,f=this.data[e++]>>15,u=a*c+f*s;c=s*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*f+(i>>>30),r.data[n++]=c&1073741823}return i}function zc(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,f=this.data[e++]>>14,u=a*c+f*s;c=s*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*f,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(P.prototype.am=zc,He=28):Hc&&navigator.appName=="Microsoft Internet Explorer"?(P.prototype.am=Od,He=30):Hc&&navigator.appName!="Netscape"?(P.prototype.am=Kd,He=26):(P.prototype.am=zc,He=28);P.prototype.DB=He;P.prototype.DM=(1<<He)-1;P.prototype.DV=1<<He;var ps=52;P.prototype.FV=Math.pow(2,ps);P.prototype.F1=ps-He;P.prototype.F2=2*He-ps;var Md="0123456789abcdefghijklmnopqrstuvwxyz",Ni=new Array,$r,ie;$r=48;for(ie=0;ie<=9;++ie)Ni[$r++]=ie;$r=97;for(ie=10;ie<36;++ie)Ni[$r++]=ie;$r=65;for(ie=10;ie<36;++ie)Ni[$r++]=ie;function Gc(e){return Md.charAt(e)}function Wc(e,t){var r=Ni[e.charCodeAt(t)];return r??-1}function Vd(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Fd(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function ir(e){var t=at();return t.fromInt(e),t}function qd(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:Wc(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&P.ZERO.subTo(this,this)}function Hd(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function zd(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=Gc(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=Gc(n));return i?o:"0"}function Gd(){var e=at();return P.ZERO.subTo(this,e),e}function Wd(){return this.s<0?this.negate():this}function $d(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Pi(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function Yd(){return this.t<=0?0:this.DB*(this.t-1)+Pi(this.data[this.t-1]^this.s&this.DM)}function Zd(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Xd(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Qd(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Jd(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function jd(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function tp(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&P.ZERO.subTo(t,t)}function ep(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function rp(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=at());var o=at(),s=this.s,a=e.s,c=this.DB-Pi(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var f=o.t,u=o.data[f-1];if(u!=0){var l=u*(1<<this.F1)+(f>1?o.data[f-2]>>this.F2:0),d=this.FV/l,g=(1<<this.F1)/l,h=1<<this.F2,p=r.t,y=p-f,x=t??at();for(o.dlShiftTo(y,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),P.ONE.dlShiftTo(f,x),x.subTo(o,o);o.t<f;)o.data[o.t++]=0;for(;--y>=0;){var v=r.data[--p]==u?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*g);if((r.data[p]+=o.am(0,v,r,y,0,f))<v)for(o.dlShiftTo(y,x),r.subTo(x,r);r.data[p]<--v;)r.subTo(x,r)}t!=null&&(r.drShiftTo(f,t),s!=a&&P.ZERO.subTo(t,t)),r.t=f,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&P.ZERO.subTo(r,r)}}}function np(e){var t=at();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(P.ZERO)>0&&e.subTo(t,t),t}function br(e){this.m=e}function ip(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function op(e){return e}function sp(e){e.divRemTo(this.m,null,e)}function ap(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function cp(e,t){e.squareTo(t),this.reduce(t)}br.prototype.convert=ip;br.prototype.revert=op;br.prototype.reduce=sp;br.prototype.mulTo=ap;br.prototype.sqrTo=cp;function fp(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function vr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function up(e){var t=at();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(P.ZERO)>0&&this.m.subTo(t,t),t}function lp(e){var t=at();return e.copyTo(t),this.reduce(t),t}function hp(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function dp(e,t){e.squareTo(t),this.reduce(t)}function pp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}vr.prototype.convert=up;vr.prototype.revert=lp;vr.prototype.reduce=hp;vr.prototype.mulTo=pp;vr.prototype.sqrTo=dp;function yp(){return(this.t>0?this.data[0]&1:this.s)==0}function gp(e,t){if(e>4294967295||e<1)return P.ONE;var r=at(),n=at(),i=t.convert(this),o=Pi(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function xp(e,t){var r;return e<256||t.isEven()?r=new br(t):r=new vr(t),this.exp(e,r)}P.prototype.copyTo=Vd;P.prototype.fromInt=Fd;P.prototype.fromString=qd;P.prototype.clamp=Hd;P.prototype.dlShiftTo=Zd;P.prototype.drShiftTo=Xd;P.prototype.lShiftTo=Qd;P.prototype.rShiftTo=Jd;P.prototype.subTo=jd;P.prototype.multiplyTo=tp;P.prototype.squareTo=ep;P.prototype.divRemTo=rp;P.prototype.invDigit=fp;P.prototype.isEven=yp;P.prototype.exp=gp;P.prototype.toString=zd;P.prototype.negate=Gd;P.prototype.abs=Wd;P.prototype.compareTo=$d;P.prototype.bitLength=Yd;P.prototype.mod=np;P.prototype.modPowInt=xp;P.ZERO=ir(0);P.ONE=ir(1);function mp(){var e=at();return this.copyTo(e),e}function bp(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function vp(){return this.t==0?this.s:this.data[0]<<24>>24}function wp(){return this.t==0?this.s:this.data[0]<<16>>16}function Ep(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Sp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Bp(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=ir(r),i=at(),o=at(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function Ap(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=Wc(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&P.ZERO.subTo(this,this)}function Ip(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(P.ONE.shiftLeft(e-1),ys,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(P.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Cp(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Tp(e){return this.compareTo(e)==0}function _p(e){return this.compareTo(e)<0?this:e}function Lp(e){return this.compareTo(e)>0?this:e}function Rp(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Np(e,t){return e&t}function Pp(e){var t=at();return this.bitwiseTo(e,Np,t),t}function ys(e,t){return e|t}function Dp(e){var t=at();return this.bitwiseTo(e,ys,t),t}function $c(e,t){return e^t}function kp(e){var t=at();return this.bitwiseTo(e,$c,t),t}function Yc(e,t){return e&~t}function Up(e){var t=at();return this.bitwiseTo(e,Yc,t),t}function Kp(){for(var e=at(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function Op(e){var t=at();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Mp(e){var t=at();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Vp(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function Fp(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Vp(this.data[e]);return this.s<0?this.t*this.DB:-1}function qp(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Hp(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=qp(this.data[r]^t);return e}function zp(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Gp(e,t){var r=P.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Wp(e){return this.changeBit(e,ys)}function $p(e){return this.changeBit(e,Yc)}function Yp(e){return this.changeBit(e,$c)}function Zp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Xp(e){var t=at();return this.addTo(e,t),t}function Qp(e){var t=at();return this.subTo(e,t),t}function Jp(e){var t=at();return this.multiplyTo(e,t),t}function jp(e){var t=at();return this.divRemTo(e,t,null),t}function ty(e){var t=at();return this.divRemTo(e,null,t),t}function ey(e){var t=at(),r=at();return this.divRemTo(e,t,r),new Array(t,r)}function ry(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function ny(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Cn(){}function Zc(e){return e}function iy(e,t,r){e.multiplyTo(t,r)}function oy(e,t){e.squareTo(t)}Cn.prototype.convert=Zc;Cn.prototype.revert=Zc;Cn.prototype.mulTo=iy;Cn.prototype.sqrTo=oy;function sy(e){return this.exp(e,new Cn)}function ay(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function cy(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function Yr(e){this.r2=at(),this.q3=at(),P.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function fy(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=at();return e.copyTo(t),this.reduce(t),t}function uy(e){return e}function ly(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function hy(e,t){e.squareTo(t),this.reduce(t)}function dy(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Yr.prototype.convert=fy;Yr.prototype.revert=uy;Yr.prototype.reduce=ly;Yr.prototype.mulTo=dy;Yr.prototype.sqrTo=hy;function py(e,t){var r=e.bitLength(),n,i=ir(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new br(t):t.isEven()?o=new Yr(t):o=new vr(t);var s=new Array,a=3,c=n-1,f=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=at();for(o.sqrTo(s[1],u);a<=f;)s[a]=at(),o.mulTo(u,s[a-2],s[a]),a+=2}var l=e.t-1,d,g=!0,h=at(),p;for(r=Pi(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&f:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),g)s[d].copyTo(i),g=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function yy(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function gy(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function xy(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return P.ZERO;for(var r=e.clone(),n=this.clone(),i=ir(1),o=ir(0),s=ir(0),a=ir(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(P.ONE)!=0)return P.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var ye=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],my=(1<<26)/ye[ye.length-1];function by(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=ye[ye.length-1]){for(t=0;t<ye.length;++t)if(r.data[0]==ye[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<ye.length;){for(var n=ye[t],i=t+1;i<ye.length&&n<my;)n*=ye[i++];for(n=r.modInt(n);t<i;)if(n%ye[t++]==0)return!1}return r.millerRabin(e)}function vy(e){var t=this.subtract(P.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=wy(),o,s=0;s<e;++s){do o=new P(this.bitLength(),i);while(o.compareTo(P.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(P.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(P.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function wy(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}P.prototype.chunkSize=Ep;P.prototype.toRadix=Bp;P.prototype.fromRadix=Ap;P.prototype.fromNumber=Ip;P.prototype.bitwiseTo=Rp;P.prototype.changeBit=Gp;P.prototype.addTo=Zp;P.prototype.dMultiply=ry;P.prototype.dAddOffset=ny;P.prototype.multiplyLowerTo=ay;P.prototype.multiplyUpperTo=cy;P.prototype.modInt=gy;P.prototype.millerRabin=vy;P.prototype.clone=mp;P.prototype.intValue=bp;P.prototype.byteValue=vp;P.prototype.shortValue=wp;P.prototype.signum=Sp;P.prototype.toByteArray=Cp;P.prototype.equals=Tp;P.prototype.min=_p;P.prototype.max=Lp;P.prototype.and=Pp;P.prototype.or=Dp;P.prototype.xor=kp;P.prototype.andNot=Up;P.prototype.not=Kp;P.prototype.shiftLeft=Op;P.prototype.shiftRight=Mp;P.prototype.getLowestSetBit=Fp;P.prototype.bitCount=Hp;P.prototype.testBit=zp;P.prototype.setBit=Wp;P.prototype.clearBit=$p;P.prototype.flipBit=Yp;P.prototype.add=Xp;P.prototype.subtract=Qp;P.prototype.multiply=Jp;P.prototype.divide=jp;P.prototype.remainder=ty;P.prototype.divideAndRemainder=ey;P.prototype.modPow=py;P.prototype.modInverse=xy;P.prototype.pow=sy;P.prototype.gcd=yy;P.prototype.isProbablePrime=by});var ef=yt((Q2,tf)=>{var Be=dt();mr();Nt();var Jc=tf.exports=Be.sha1=Be.sha1||{};Be.md.sha1=Be.md.algorithms.sha1=Jc;Jc.create=function(){jc||Ey();var e=null,t=Be.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Be.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Be.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),Qc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Be.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(gs.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Qc(l,r,i);var d=Be.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var gs=null,jc=!1;function Ey(){gs="\x80",gs+=Be.util.fillString("\0",64),jc=!0}function Qc(e,t,r){for(var n,i,o,s,a,c,f,u,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o&s|a&(o^s),n=(i<<5|i>>>27)+f+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var of=yt((J2,nf)=>{var Ae=dt();Nt();In();ef();var rf=nf.exports=Ae.pkcs1=Ae.pkcs1||{};rf.encode_rsa_oaep=function(e,t,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Ae.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=t.length,f.maxLength=c,f}n||(n=""),o.update(n,"raw");for(var u=o.digest(),l="",d=c-t.length,g=0;g<d;g++)l+="\0";var h=u.getBytes()+l+""+t;if(!i)i=Ae.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=o.digestLength,f}var p=ki(i,a-o.digestLength-1,s),y=Ae.util.xorBytes(h,p,h.length),x=ki(y,o.digestLength,s),v=Ae.util.xorBytes(i,x,i.length);return"\0"+v+y};rf.decode_rsa_oaep=function(e,t,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=s,y}if(i===void 0?i=Ae.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),f=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),l=ki(u,i.digestLength,o),d=Ae.util.xorBytes(f,l,f.length),g=ki(d,s-i.digestLength-1,o),h=Ae.util.xorBytes(u,g,u.length),p=h.substring(0,i.digestLength),y=c!=="\0",x=0;x<i.digestLength;++x)y|=a.charAt(x)!==p.charAt(x);for(var v=1,m=i.digestLength,I=i.digestLength;I<h.length;I++){var S=h.charCodeAt(I),B=S&1^1,R=v?65534:0;y|=S&R,v=v&B,m+=v}if(y||h.charCodeAt(m)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(m+1)};function ki(e,t,r){r||(r=Ae.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var sf=yt((j2,xs)=>{var or=dt();Nt();Di();In();(function(){if(or.prime){xs.exports=or.prime;return}var e=xs.exports=or.prime=or.prime||{},t=or.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,g){typeof d=="function"&&(g=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||or.random,y={nextBytes:function(x){for(var v=p.getBytesSync(x.length),m=0;m<x.length;++m)x[m]=v.charCodeAt(m)}};if(h.name==="PRIMEINC")return o(l,y,h.options,g);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,g,h){return"workers"in g?c(l,d,g,h):s(l,d,g,h)}function s(l,d,g,h){var p=f(l,d),y=0,x=u(p.bitLength());"millerRabinTests"in g&&(x=g.millerRabinTests);var v=10;"maxBlockTime"in g&&(v=g.maxBlockTime),a(p,l,d,y,x,v,h)}function a(l,d,g,h,p,y,x){var v=+new Date;do{if(l.bitLength()>d&&(l=f(d,g)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[h++%8],0)}while(y<0||+new Date-v<y);or.util.setImmediate(function(){a(l,d,g,h,p,y,x)})}function c(l,d,g,h){if(typeof Worker>"u")return s(l,d,g,h);var p=f(l,d),y=g.workers,x=g.workLoad||100,v=x*30/8,m=g.workerScript||"forge/prime.worker.js";if(y===-1)return or.util.estimateCores(function(S,B){S&&(B=2),y=B-1,I()});I();function I(){y=Math.max(1,y);for(var S=[],B=0;B<y;++B)S[B]=new Worker(m);for(var R=y,B=0;B<y;++B)S[B].addEventListener("message",O);var L=!1;function O(M){if(!L){--R;var U=M.data;if(U.found){for(var H=0;H<S.length;++H)S[H].terminate();return L=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=f(l,d));var z=p.toString(16);M.target.postMessage({hex:z,workLoad:x}),p.dAddOffset(v,0)}}}}function f(l,d){var g=new t(l,d),h=l-1;return g.testBit(h)||g.bitwiseTo(t.ONE.shiftLeft(h),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function u(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Ki=yt((tb,df)=>{var W=dt();An();Di();wi();of();sf();In();Nt();typeof st>"u"&&(st=W.jsbn.BigInteger);var st,ms=W.util.isNodejs?Ti():null,E=W.asn1,oe=W.util;W.pki=W.pki||{};df.exports=W.pki.rsa=W.rsa=W.rsa||{};var Q=W.pki,Sy=[6,4,2,4,2,4,6,2],By={name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Ay={name:"RSAPrivateKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Iy={name:"RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Cy=W.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Ty={name:"DigestInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},_y=function(e){var t;if(e.algorithm in Q.oids)t=Q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=E.oidToDer(t).getBytes(),i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]),o=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]);o.value.push(E.create(E.Class.UNIVERSAL,E.Type.OID,!1,n)),o.value.push(E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,""));var s=E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),E.toDer(i).getBytes()},lf=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(st.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(st.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new st(W.util.bytesToHex(W.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(st.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};Q.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=hf(e,t,r)):(i=W.util.createBuffer(),i.putBytes(e));for(var s=new st(i.toHex(),16),a=lf(s,t,n),c=a.toString(16),f=W.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(W.util.hexToBytes(c)),f.getBytes()};Q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new st(W.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=lf(s,t,r),c=a.toString(16),f=W.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(W.util.hexToBytes(c)),n!==!1?Ui(f.getBytes(),t,r):f.getBytes()};Q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||W.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=c.charCodeAt(f)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new st(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};Q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new st(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,f=c-1;e.pqState===0?(e.num=new st(c,e.rng),e.num.testBit(f)||e.num.bitwiseTo(st.ONE.shiftLeft(f),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Ry(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Sy[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(st.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};Q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!W.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(af("generateKeyPair"))return ms.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,f){if(a)return n(a);n(null,{privateKey:Q.privateKeyFromPem(f),publicKey:Q.publicKeyFromPem(c)})});if(cf("generateKey")&&cf("exportKey"))return oe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:uf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return oe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Q.privateKeyFromAsn1(E.fromDer(W.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Q.setRsaPublicKey(c.n,c.e)})}});if(ff("generateKey")&&ff("exportKey")){var i=oe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:uf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,f=oe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);f.oncomplete=function(u){var l=u.target.result,d=Q.privateKeyFromAsn1(E.fromDer(W.util.createBuffer(l)));n(null,{privateKey:d,publicKey:Q.setRsaPublicKey(d.n,d.e)})},f.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(af("generateKeyPairSync")){var o=ms.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Q.privateKeyFromPem(o.privateKey),publicKey:Q.publicKeyFromPem(o.publicKey)}}}var s=Q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return Q.rsa.stepKeyPairGenerationState(s,0),s.keys;Ly(s,r,n)};Q.setRsaPublicKey=Q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,f){return hf(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return W.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return Q.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,f){f=Ui(f,r,!0);var u=E.fromDer(f,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!E.validate(u,Ty,l,d)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=d,g}var h=E.derToOid(l.algorithmIdentifier);if(!(h===W.oids.md2||h===W.oids.md5||h===W.oids.sha1||h===W.oids.sha224||h===W.oids.sha256||h===W.oids.sha384||h===W.oids.sha512||h===W.oids["sha512-224"]||h===W.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=h,g}if((h===W.oids.md2||h===W.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,f){return f=Ui(f,r,!0),c===f}});var a=Q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Q.setRsaPrivateKey=Q.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(f,u,l){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var d=Q.rsa.decrypt(f,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:Ui};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(g,h){return W.pkcs1.decode_rsa_oaep(h,g,l)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(g){return g}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(d,c,!1)},c.sign=function(f,u){var l=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:_y},l=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return f}},l=1);var d=u.encode(f,c.n.bitLength());return Q.rsa.encrypt(d,c,l)},c};Q.wrapRsaPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,E.toDer(e).getBytes())])};Q.privateKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,By,t,r)&&(e=E.fromDer(W.util.createBuffer(t.privateKey))),t={},r=[],!E.validate(e,Ay,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,f,u,l;return i=W.util.createBuffer(t.privateKeyModulus).toHex(),o=W.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=W.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=W.util.createBuffer(t.privateKeyPrime1).toHex(),c=W.util.createBuffer(t.privateKeyPrime2).toHex(),f=W.util.createBuffer(t.privateKeyExponent1).toHex(),u=W.util.createBuffer(t.privateKeyExponent2).toHex(),l=W.util.createBuffer(t.privateKeyCoefficient).toHex(),Q.setRsaPrivateKey(new st(i,16),new st(o,16),new st(s,16),new st(a,16),new st(c,16),new st(f,16),new st(u,16),new st(l,16))};Q.privateKeyToAsn1=Q.privateKeyToRSAPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.e)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.d)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.p)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.q)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.dP)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.dQ)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.qInv))])};Q.publicKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,Cy,t,r)){var n=E.derToOid(t.publicKeyOid);if(n!==Q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!E.validate(e,Iy,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=W.util.createBuffer(t.publicKeyModulus).toHex(),s=W.util.createBuffer(t.publicKeyExponent).toHex();return Q.setRsaPublicKey(new st(o,16),new st(s,16))};Q.publicKeyToAsn1=Q.publicKeyToSubjectPublicKeyInfo=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.BITSTRING,!1,[Q.publicKeyToRSAPublicKey(e)])])};Q.publicKeyToRSAPublicKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.e))])};function hf(e,t,r){var n=W.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var f=0,u=W.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++f:n.putByte(a);s=f}return n.putByte(0),n.putBytes(e),n}function Ui(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=W.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var f=0;f<c;++f)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Ly(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){W.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var f=e.p;e.p=e.q,e.q=f}if(e.p.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.p=null,i();return}if(e.q.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(st.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ie(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=W.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Ry(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function af(e){return W.util.isNodejs&&typeof ms[e]=="function"}function cf(e){return typeof oe.globalScope<"u"&&typeof oe.globalScope.crypto=="object"&&typeof oe.globalScope.crypto.subtle=="object"&&typeof oe.globalScope.crypto.subtle[e]=="function"}function ff(e){return typeof oe.globalScope<"u"&&typeof oe.globalScope.msCrypto=="object"&&typeof oe.globalScope.msCrypto.subtle=="object"&&typeof oe.globalScope.msCrypto.subtle[e]=="function"}function uf(e){for(var t=W.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var bf=yt((eb,mf)=>{var q=dt();fs();An();Ec();mr();wi();Cc();Lc();In();qc();Ki();Nt();typeof pf>"u"&&(pf=q.jsbn.BigInteger);var pf,C=q.asn1,tt=q.pki=q.pki||{};mf.exports=tt.pbe=q.pbe=q.pbe||{};var wr=tt.oids,Ny={name:"EncryptedPrivateKeyInfo",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Py={name:"PBES2Algorithms",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Dy={name:"pkcs-12PbeParams",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,capture:"iterations"}]};tt.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=q.random.getBytesSync(r.saltSize),i=r.count,o=C.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,u,l;switch(r.algorithm){case"aes128":s=16,f=16,u=wr["aes128-CBC"],l=q.aes.createEncryptionCipher;break;case"aes192":s=24,f=16,u=wr["aes192-CBC"],l=q.aes.createEncryptionCipher;break;case"aes256":s=32,f=16,u=wr["aes256-CBC"],l=q.aes.createEncryptionCipher;break;case"des":s=8,f=8,u=wr.desCBC,l=q.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),h=xf(g),p=q.pkcs5.pbkdf2(t,n,i,s,h),y=q.random.getBytesSync(f),x=l(p);x.start(y),x.update(C.toDer(e)),x.finish(),c=x.output.getBytes();var v=ky(n,o,s,g);a=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(wr.pkcs5PBES2).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(wr.pkcs5PBKDF2).getBytes()),v]),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(u).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var m=new q.util.ByteBuffer(n),p=tt.pbe.generatePkcs12Key(t,m,1,i,s),y=tt.pbe.generatePkcs12Key(t,m,2,i,s),x=q.des.createEncryptionCipher(p);x.start(y),x.update(C.toDer(e)),x.finish(),c=x.output.getBytes(),a=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(wr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,n),C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var I=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[a,C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,c)]);return I};tt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!C.validate(e,Ny,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=C.derToOid(n.encryptionOid),a=tt.pbe.getCipher(s,n.encryptionParams,t),c=q.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=C.fromDer(a.output)),r};tt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:C.toDer(e).getBytes()};return q.pem.encode(r,{maxline:t})};tt.encryptedPrivateKeyFromPem=function(e){var t=q.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return C.fromDer(t.body)};tt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=tt.wrapRsaPrivateKey(tt.privateKeyToAsn1(e));return n=tt.encryptPrivateKeyInfo(n,t,r),tt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=q.random.getBytesSync(8),a=q.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=q.random.getBytesSync(8),a=q.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var f=q.pbe.opensslDeriveBytes(t,o.substr(0,8),s),u=a(f);u.start(o),u.update(C.toDer(tt.privateKeyToAsn1(e))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:q.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return q.pem.encode(l)};tt.decryptRsaPrivateKey=function(e,t){var r=null,n=q.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=q.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=q.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=q.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=q.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=q.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return q.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return q.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return q.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=q.util.hexToBytes(n.dekInfo.parameters),c=q.pbe.opensslDeriveBytes(t,a.substr(0,8),o),f=s(c);if(f.start(a),f.update(q.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=tt.decryptPrivateKeyInfo(C.fromDer(r),t):r=C.fromDer(r),r!==null&&(r=tt.privateKeyFromAsn1(r)),r};tt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in q.md))throw new Error('"sha1" hash algorithm unavailable.');o=q.md.sha1.create()}var c=o.digestLength,f=o.blockLength,u=new q.util.ByteBuffer,l=new q.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),g=t.length(),h=new q.util.ByteBuffer;h.fillWithByte(r,f);var p=f*Math.ceil(g/f),y=new q.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(t.at(a%g));var x=f*Math.ceil(d/f),v=new q.util.ByteBuffer;for(a=0;a<x;a++)v.putByte(l.at(a%d));var m=y;m.putBuffer(v);for(var I=Math.ceil(i/c),S=1;S<=I;S++){var B=new q.util.ByteBuffer;B.putBytes(h.bytes()),B.putBytes(m.bytes());for(var R=0;R<n;R++)o.start(),o.update(B.getBytes()),B=o.digest();var L=new q.util.ByteBuffer;for(a=0;a<f;a++)L.putByte(B.at(a%c));var O=Math.ceil(g/f)+Math.ceil(d/f),M=new q.util.ByteBuffer;for(s=0;s<O;s++){var U=new q.util.ByteBuffer(m.getBytes(f)),H=511;for(a=L.length()-1;a>=0;a--)H=H>>8,H+=L.at(a)+U.at(a),U.setAt(a,H&255);M.putBuffer(U)}m=M,u.putBuffer(B)}return u.truncate(u.length()-i),u};tt.pbe.getCipher=function(e,t,r){switch(e){case tt.oids.pkcs5PBES2:return tt.pbe.getCipherForPBES2(e,t,r);case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:return tt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};tt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!C.validate(t,Py,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=C.derToOid(n.kdfOid),e!==tt.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=C.derToOid(n.encOid),e!==tt.oids["aes128-CBC"]&&e!==tt.oids["aes192-CBC"]&&e!==tt.oids["aes256-CBC"]&&e!==tt.oids["des-EDE3-CBC"]&&e!==tt.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=q.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,f;switch(tt.oids[e]){case"aes128-CBC":c=16,f=q.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,f=q.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,f=q.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,f=q.des.createDecryptionCipher;break;case"desCBC":c=8,f=q.des.createDecryptionCipher;break}var u=gf(n.prfOid),l=q.pkcs5.pbkdf2(r,s,a,c,u),d=n.encIv,g=f(l);return g.start(d),g};tt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!C.validate(t,Dy,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=q.util.createBuffer(n.salt),a=q.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,f,u;switch(e){case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,f=8,u=q.des.startDecrypting;break;case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,f=8,u=function(p,y){var x=q.rc2.createDecryptionCipher(p,40);return x.start(y,null),x};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=gf(n.prfOid),d=tt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var g=tt.pbe.generatePkcs12Key(r,s,2,a,f,l);return u(d,g)};tt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in q.md))throw new Error('"md5" hash algorithm unavailable.');n=q.md.md5.create()}t===null&&(t="");for(var i=[yf(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(yf(n,i[s-1]+e+t));return i.join("").substr(0,r)};function yf(e,t){return e.start().update(t).digest().getBytes()}function gf(e){var t;if(!e)t="hmacWithSHA1";else if(t=tt.oids[C.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return xf(t)}function xf(e){var t=q.md;switch(e){case"hmacWithSHA224":t=q.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function ky(e,t,r,n){var i=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,e),C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,q.util.hexToBytes(r.toString(16))),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(tt.oids[n]).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.NULL,!1,"")])),i}});var uu=yt((Qw,fu)=>{var vt=dt();mr();Nt();var kn=fu.exports=vt.sha512=vt.sha512||{};vt.md.sha512=vt.md.algorithms.sha512=kn;var au=vt.sha384=vt.sha512.sha384=vt.sha512.sha384||{};au.create=function(){return kn.create("SHA-384")};vt.md.sha384=vt.md.algorithms.sha384=au;vt.sha512.sha256=vt.sha512.sha256||{create:function(){return kn.create("SHA-512/256")}};vt.md["sha512/256"]=vt.md.algorithms["sha512/256"]=vt.sha512.sha256;vt.sha512.sha224=vt.sha512.sha224||{create:function(){return kn.create("SHA-512/224")}};vt.md["sha512/224"]=vt.md.algorithms["sha512/224"]=vt.sha512.sha224;kn.create=function(e){if(cu||eg(),typeof e>"u"&&(e="SHA-512"),!(e in _r))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=_r[e],r=null,n=vt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,f=0;f<c;++f)a.fullMessageLength.push(0);n=vt.util.createBuffer(),r=new Array(t.length);for(var f=0;f<t.length;++f)r[f]=t[f].slice(0);return a},a.start(),a.update=function(c,f){f==="utf8"&&(c=vt.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=u[1],u[1]=u[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),su(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=vt.util.createBuffer();c.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=f&a.blockLength-1;c.putBytes(oa.substr(0,a.blockLength-u));for(var l,d,g=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,g+=d,c.putInt32(g>>>0),g=l>>>0;c.putInt32(g);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);su(p,i,c);var y=vt.util.createBuffer(),x;e==="SHA-512"?x=p.length:e==="SHA-384"?x=p.length-2:x=p.length-4;for(var h=0;h<x;++h)y.putInt32(p[h][0]),(h!==x-1||e!=="SHA-512/224")&&y.putInt32(p[h][1]);return y},a};var oa=null,cu=!1,sa=null,_r=null;function eg(){oa="\x80",oa+=vt.util.fillString("\0",128),sa=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],_r={},_r["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],_r["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],_r["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],_r["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],cu=!0}function su(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v,m,I,S,B,R,L,O,M,U,H,z,Z,A,N,T,_,w,k,K,F=r.length();F>=128;){for(A=0;A<16;++A)t[A][0]=r.getInt32()>>>0,t[A][1]=r.getInt32()>>>0;for(;A<80;++A)_=t[A-2],N=_[0],T=_[1],n=((N>>>19|T<<13)^(T>>>29|N<<3)^N>>>6)>>>0,i=((N<<13|T>>>19)^(T<<3|N>>>29)^(N<<26|T>>>6))>>>0,k=t[A-15],N=k[0],T=k[1],o=((N>>>1|T<<31)^(N>>>8|T<<24)^N>>>7)>>>0,s=((N<<31|T>>>1)^(N<<24|T>>>8)^(N<<25|T>>>7))>>>0,w=t[A-7],K=t[A-16],T=i+w[1]+s+K[1],t[A][0]=n+w[0]+o+K[0]+(T/4294967296>>>0)>>>0,t[A][1]=T>>>0;for(p=e[0][0],y=e[0][1],x=e[1][0],v=e[1][1],m=e[2][0],I=e[2][1],S=e[3][0],B=e[3][1],R=e[4][0],L=e[4][1],O=e[5][0],M=e[5][1],U=e[6][0],H=e[6][1],z=e[7][0],Z=e[7][1],A=0;A<80;++A)f=((R>>>14|L<<18)^(R>>>18|L<<14)^(L>>>9|R<<23))>>>0,u=((R<<18|L>>>14)^(R<<14|L>>>18)^(L<<23|R>>>9))>>>0,l=(U^R&(O^U))>>>0,d=(H^L&(M^H))>>>0,a=((p>>>28|y<<4)^(y>>>2|p<<30)^(y>>>7|p<<25))>>>0,c=((p<<4|y>>>28)^(y<<30|p>>>2)^(y<<25|p>>>7))>>>0,g=(p&x|m&(p^x))>>>0,h=(y&v|I&(y^v))>>>0,T=Z+u+d+sa[A][1]+t[A][1],n=z+f+l+sa[A][0]+t[A][0]+(T/4294967296>>>0)>>>0,i=T>>>0,T=c+h,o=a+g+(T/4294967296>>>0)>>>0,s=T>>>0,z=U,Z=H,U=O,H=M,O=R,M=L,T=B+i,R=S+n+(T/4294967296>>>0)>>>0,L=T>>>0,S=m,B=I,m=x,I=v,x=p,v=y,T=i+s,p=n+o+(T/4294967296>>>0)>>>0,y=T>>>0;T=e[0][1]+y,e[0][0]=e[0][0]+p+(T/4294967296>>>0)>>>0,e[0][1]=T>>>0,T=e[1][1]+v,e[1][0]=e[1][0]+x+(T/4294967296>>>0)>>>0,e[1][1]=T>>>0,T=e[2][1]+I,e[2][0]=e[2][0]+m+(T/4294967296>>>0)>>>0,e[2][1]=T>>>0,T=e[3][1]+B,e[3][0]=e[3][0]+S+(T/4294967296>>>0)>>>0,e[3][1]=T>>>0,T=e[4][1]+L,e[4][0]=e[4][0]+R+(T/4294967296>>>0)>>>0,e[4][1]=T>>>0,T=e[5][1]+M,e[5][0]=e[5][0]+O+(T/4294967296>>>0)>>>0,e[5][1]=T>>>0,T=e[6][1]+H,e[6][0]=e[6][0]+U+(T/4294967296>>>0)>>>0,e[6][1]=T>>>0,T=e[7][1]+Z,e[7][0]=e[7][0]+z+(T/4294967296>>>0)>>>0,e[7][1]=T>>>0,F-=128}}});var ax={};Dt(ax,{webTransport:()=>sx});function De(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function nt(e=0){return globalThis.Buffer?.alloc!=null?De(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function kt(e=0){return globalThis.Buffer?.allocUnsafe!=null?De(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Rl=Math.pow(2,7),Nl=Math.pow(2,14),Pl=Math.pow(2,21),lo=Math.pow(2,28),ho=Math.pow(2,35),po=Math.pow(2,42),yo=Math.pow(2,49),ft=128,Wt=127;function $t(e){if(e<Rl)return 1;if(e<Nl)return 2;if(e<Pl)return 3;if(e<lo)return 4;if(e<ho)return 5;if(e<po)return 6;if(e<yo)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Dl(e,t,r=0){switch($t(e)){case 8:t[r++]=e&255|ft,e/=128;case 7:t[r++]=e&255|ft,e/=128;case 6:t[r++]=e&255|ft,e/=128;case 5:t[r++]=e&255|ft,e/=128;case 4:t[r++]=e&255|ft,e>>>=7;case 3:t[r++]=e&255|ft,e>>>=7;case 2:t[r++]=e&255|ft,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function kl(e,t,r=0){switch($t(e)){case 8:t.set(r++,e&255|ft),e/=128;case 7:t.set(r++,e&255|ft),e/=128;case 6:t.set(r++,e&255|ft),e/=128;case 5:t.set(r++,e&255|ft),e/=128;case 4:t.set(r++,e&255|ft),e>>>=7;case 3:t.set(r++,e&255|ft),e>>>=7;case 2:t.set(r++,e&255|ft),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Ul(e,t){let r=e[t],n=0;if(n+=r&Wt,r<ft||(r=e[t+1],n+=(r&Wt)<<7,r<ft)||(r=e[t+2],n+=(r&Wt)<<14,r<ft)||(r=e[t+3],n+=(r&Wt)<<21,r<ft)||(r=e[t+4],n+=(r&Wt)*lo,r<ft)||(r=e[t+5],n+=(r&Wt)*ho,r<ft)||(r=e[t+6],n+=(r&Wt)*po,r<ft)||(r=e[t+7],n+=(r&Wt)*yo,r<ft))return n;throw new RangeError("Could not decode varint")}function Kl(e,t){let r=e.get(t),n=0;if(n+=r&Wt,r<ft||(r=e.get(t+1),n+=(r&Wt)<<7,r<ft)||(r=e.get(t+2),n+=(r&Wt)<<14,r<ft)||(r=e.get(t+3),n+=(r&Wt)<<21,r<ft)||(r=e.get(t+4),n+=(r&Wt)*lo,r<ft)||(r=e.get(t+5),n+=(r&Wt)*ho,r<ft)||(r=e.get(t+6),n+=(r&Wt)*po,r<ft)||(r=e.get(t+7),n+=(r&Wt)*yo,r<ft))return n;throw new RangeError("Could not decode varint")}function Ze(e,t,r=0){return t==null&&(t=kt($t(e))),t instanceof Uint8Array?Dl(e,t,r):kl(e,t,r)}function fe(e,t=0){return e instanceof Uint8Array?Ul(e,t):Kl(e,t)}function At(e,t){if(globalThis.Buffer!=null)return De(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=kt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return De(r)}function It(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var t0=Symbol.for("@achingbrain/uint8arraylist");function ja(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function Pr(e){return!!e?.[t0]}var Ct=class e{bufs;length;[t0]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Pr(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Pr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=ja(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ja(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Pr(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return At(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:At(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let f=t>=a&&t<c,u=r>a&&r<=c;if(f&&u){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Pr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=r;l<=c;l+=u){u=0;for(let d=f;d>=0;d--){let g=this.get(l+d);if(n[d]!==g){u=Math.max(1,d-a[g]);break}}if(u===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=kt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=nt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=nt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=nt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=kt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=nt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=nt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=nt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=nt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=nt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!It(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Yn(e){return e[Symbol.asyncIterator]!=null}var Zn=e=>{let t=$t(e),r=kt(t);return Ze(e,r),Zn.bytes=t,r};Zn.bytes=0;function ln(e,t){t=t??{};let r=t.lengthEncoder??Zn;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Yn(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}ln.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Zn;return new Ct(r(e.byteLength),e)};var Dr=Qt(n0(),1);var Ml=8,Vl=1024*1024*4,lr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(lr||(lr={}));var go=e=>{let t=fe(e);return go.bytes=$t(t),t};go.bytes=0;function hn(e,t){let r=new Ct,n=lr.LENGTH,i=-1,o=t?.lengthDecoder??go,s=t?.maxLengthLength??Ml,a=t?.maxDataLength??Vl;function*c(){for(;r.byteLength>0;){if(n===lr.LENGTH)try{if(i=o(r),i<0)throw(0,Dr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Dr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=o.bytes;r.consume(f),t?.onLength!=null&&t.onLength(i),n=lr.DATA}catch(f){if(f instanceof RangeError){if(r.byteLength>s)throw(0,Dr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(n===lr.DATA){if(r.byteLength<i)break;let f=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(f),yield f,n=lr.LENGTH}}}return Yn(e)?async function*(){for await(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Dr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Dr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}hn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return hn(n,{...t??{},onLength:o=>{r=o}})};function ue(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Xn=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function i0(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new Xn(r?.errorMessage,r?.errorCode));let n,i=new Xn(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var xo=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=ue(),this.needNext.resolve(),this.haveNext=ue()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=ue(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=ue(),await i0(this.needNext.promise,r?.signal,r)}};function o0(){return new xo}var Qn=class extends Error{code;constructor(t,r){super(t),this.code=r}},mo=class extends Qn{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function s0(e,t){let r=o0();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new Ct;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,f=new Promise((u,l)=>{c=()=>{l(new mo("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),f]);return l===!0?new Ct:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),f]);if(d===!0)throw new Qn("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let u=i.sublist(0,s);return i.consume(s),u}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var Jn=class extends Error{code;constructor(t,r){super(t),this.code=r}},a0=e=>fe(e);a0.bytes=0;function bo(e,t={}){let r=s0(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=$t(t.maxDataLength)),{read:async i=>{let o=-1,s=new Ct,a=t?.lengthDecoder??a0;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new Jn("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new Jn("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(ln.single(i,t),o)},writeV:async(i,o)=>{let s=new Ct(...i.map(a=>ln.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function vo(){let e=ue(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function c0(){let e=vo(),t=vo();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}var jn=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},kr=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new jn(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new jn(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var wo=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ti(e={}){return ql(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function ql(e,t){t=t??{};let r=t.onEnd,n=new kr,i,o,s,a=ue(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,x)=>{o=v=>{o=null,n.push(v);try{y(e(n))}catch(m){x(m)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ue()})}},f=y=>o!=null?o(y):(n.push(y),i),u=y=>(n=new kr,o!=null?o({error:y}):(n.push({error:y}),i)),l=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:y})},d=y=>s?i:(s=!0,y!=null?u(y):f({done:!0})),g=()=>(n=new kr,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:g,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async y=>{let x=y?.signal;if(x?.throwIfAborted(),n.isEmpty())return;let v,m;x!=null&&(v=new Promise((I,S)=>{m=()=>{S(new wo)},x.addEventListener("abort",m)}));try{await Promise.race([a.promise,v])}finally{m!=null&&x!=null&&x?.removeEventListener("abort",m)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:y=>p.onEmpty(y)},i}function Hl(e){return e[Symbol.asyncIterator]!=null}function zl(...e){let t=[];for(let r of e)Hl(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=ti({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var f0=zl;function u0(e,...t){if(e==null)throw new Error("Empty pipeline");if(Eo(e)){let n=e;e=()=>n.source}else if(h0(e)||l0(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Eo(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Eo(r[n])&&(r[n]=Wl(r[n]));return Gl(...r)}var Gl=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},l0=e=>e?.[Symbol.asyncIterator]!=null,h0=e=>e?.[Symbol.iterator]!=null,Eo=e=>e==null?!1:e.sink!=null&&e.source!=null,Wl=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=ti({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(l0(o))i=async function*(){yield*o,n.end()};else if(h0(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return f0(n,i())}return e.source};var Ur=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var $l=e=>e instanceof Uint8Array;var ke=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),d0=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Yl=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Yl)throw new Error("Non little-endian hardware is not supported");function ei(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function ri(e){if(typeof e=="string")e=ei(e);else if($l(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var Zl=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function p0(e,t){if(t!==void 0&&(typeof t!="object"||!Zl(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function hr(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function y0(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}var So=(e,t)=>(Object.assign(t,e),t);function Bo(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}function ni(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Ao(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Kr(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Io(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function g0(e,t){Kr(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ht=(e,t)=>e[t++]&255|(e[t++]&255)<<8,Co=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=ri(t),hr(t,32);let r=Ht(t,0),n=Ht(t,2),i=Ht(t,4),o=Ht(t,6),s=Ht(t,8),a=Ht(t,10),c=Ht(t,12),f=Ht(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|f<<8)&8191,this.r[9]=f>>>5&127;for(let u=0;u<8;u++)this.pad[u]=Ht(t,16+2*u)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],f=s[2],u=s[3],l=s[4],d=s[5],g=s[6],h=s[7],p=s[8],y=s[9],x=Ht(t,r+0),v=Ht(t,r+2),m=Ht(t,r+4),I=Ht(t,r+6),S=Ht(t,r+8),B=Ht(t,r+10),R=Ht(t,r+12),L=Ht(t,r+14),O=o[0]+(x&8191),M=o[1]+((x>>>13|v<<3)&8191),U=o[2]+((v>>>10|m<<6)&8191),H=o[3]+((m>>>7|I<<9)&8191),z=o[4]+((I>>>4|S<<12)&8191),Z=o[5]+(S>>>1&8191),A=o[6]+((S>>>14|B<<2)&8191),N=o[7]+((B>>>11|R<<5)&8191),T=o[8]+((R>>>8|L<<8)&8191),_=o[9]+(L>>>5|i),w=0,k=w+O*a+M*(5*y)+U*(5*p)+H*(5*h)+z*(5*g);w=k>>>13,k&=8191,k+=Z*(5*d)+A*(5*l)+N*(5*u)+T*(5*f)+_*(5*c),w+=k>>>13,k&=8191;let K=w+O*c+M*a+U*(5*y)+H*(5*p)+z*(5*h);w=K>>>13,K&=8191,K+=Z*(5*g)+A*(5*d)+N*(5*l)+T*(5*u)+_*(5*f),w+=K>>>13,K&=8191;let F=w+O*f+M*c+U*a+H*(5*y)+z*(5*p);w=F>>>13,F&=8191,F+=Z*(5*h)+A*(5*g)+N*(5*d)+T*(5*l)+_*(5*u),w+=F>>>13,F&=8191;let $=w+O*u+M*f+U*c+H*a+z*(5*y);w=$>>>13,$&=8191,$+=Z*(5*p)+A*(5*h)+N*(5*g)+T*(5*d)+_*(5*l),w+=$>>>13,$&=8191;let Y=w+O*l+M*u+U*f+H*c+z*a;w=Y>>>13,Y&=8191,Y+=Z*(5*y)+A*(5*p)+N*(5*h)+T*(5*g)+_*(5*d),w+=Y>>>13,Y&=8191;let rt=w+O*d+M*l+U*u+H*f+z*c;w=rt>>>13,rt&=8191,rt+=Z*a+A*(5*y)+N*(5*p)+T*(5*h)+_*(5*g),w+=rt>>>13,rt&=8191;let X=w+O*g+M*d+U*l+H*u+z*f;w=X>>>13,X&=8191,X+=Z*c+A*a+N*(5*y)+T*(5*p)+_*(5*h),w+=X>>>13,X&=8191;let J=w+O*h+M*g+U*d+H*l+z*u;w=J>>>13,J&=8191,J+=Z*f+A*c+N*a+T*(5*y)+_*(5*p),w+=J>>>13,J&=8191;let pt=w+O*p+M*h+U*g+H*d+z*l;w=pt>>>13,pt&=8191,pt+=Z*u+A*f+N*c+T*a+_*(5*y),w+=pt>>>13,pt&=8191;let ht=w+O*y+M*p+U*h+H*g+z*d;w=ht>>>13,ht&=8191,ht+=Z*l+A*u+N*f+T*c+_*a,w+=ht>>>13,ht&=8191,w=(w<<2)+w|0,w=w+k|0,k=w&8191,w=w>>>13,K+=w,o[0]=k,o[1]=K,o[2]=F,o[3]=$,o[4]=Y,o[5]=rt,o[6]=X,o[7]=J,o[8]=pt,o[9]=ht}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){Io(this);let{buffer:r,blockLen:n}=this;t=ri(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){Io(this),g0(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function Xl(e){let t=(n,i)=>e(i).update(ri(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var x0=Xl(e=>new Co(e));var Ql=ei("expand 16-byte k"),Jl=ei("expand 32-byte k"),jl=ke(Ql),th=ke(Jl);function G(e,t){return e<<t|e>>>32-t}function To(e){return e.byteOffset%4===0}var ii=64,eh=16,b0=2**32-1,m0=new Uint32Array;function rh(e,t,r,n,i,o,s,a){let c=i.length,f=new Uint8Array(ii),u=ke(f),l=To(i)&&To(o),d=l?ke(i):m0,g=l?ke(o):m0;for(let h=0;h<c;s++){if(e(t,r,n,u,s,a),s>=b0)throw new Error("arx: counter overflow");let p=Math.min(ii,c-h);if(l&&p===ii){let y=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let x=0,v;x<eh;x++)v=y+x,g[v]=d[v]^u[x];h+=ii;continue}for(let y=0,x;y<p;y++)x=h+y,o[x]=i[x]^f[y];h+=p}}function _o(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=p0({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return ni(i),ni(s),Ao(o),Ao(r),(a,c,f,u,l=0)=>{Kr(a),Kr(c),Kr(f);let d=f.length;if(u||(u=new Uint8Array(d)),Kr(u),ni(l),l<0||l>=b0)throw new Error("arx: counter overflow");if(u.length<d)throw new Error(`arx: output (${u.length}) is shorter than data (${d})`);let g=[],h=a.length,p,y;if(h===32)p=a.slice(),g.push(p),y=th;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),y=jl,g.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);To(c)||(c=c.slice(),g.push(c));let x=ke(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(y,x,ke(c.subarray(0,16)),x),c=c.subarray(16)}let v=16-i;if(v!==c.length)throw new Error(`arx: nonce must be ${v} or 16 bytes`);if(v!==12){let I=new Uint8Array(12);I.set(c,o?0:12-c.length),c=I,g.push(c)}let m=ke(c);for(rh(e,y,x,m,f,u,l,s);g.length>0;)g.pop().fill(0);return u}}function E0(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],f=e[3],u=t[0],l=t[1],d=t[2],g=t[3],h=t[4],p=t[5],y=t[6],x=t[7],v=i,m=r[0],I=r[1],S=r[2],B=s,R=a,L=c,O=f,M=u,U=l,H=d,z=g,Z=h,A=p,N=y,T=x,_=v,w=m,k=I,K=S;for(let $=0;$<o;$+=2)B=B+M|0,_=G(_^B,16),Z=Z+_|0,M=G(M^Z,12),B=B+M|0,_=G(_^B,8),Z=Z+_|0,M=G(M^Z,7),R=R+U|0,w=G(w^R,16),A=A+w|0,U=G(U^A,12),R=R+U|0,w=G(w^R,8),A=A+w|0,U=G(U^A,7),L=L+H|0,k=G(k^L,16),N=N+k|0,H=G(H^N,12),L=L+H|0,k=G(k^L,8),N=N+k|0,H=G(H^N,7),O=O+z|0,K=G(K^O,16),T=T+K|0,z=G(z^T,12),O=O+z|0,K=G(K^O,8),T=T+K|0,z=G(z^T,7),B=B+U|0,K=G(K^B,16),N=N+K|0,U=G(U^N,12),B=B+U|0,K=G(K^B,8),N=N+K|0,U=G(U^N,7),R=R+H|0,_=G(_^R,16),T=T+_|0,H=G(H^T,12),R=R+H|0,_=G(_^R,8),T=T+_|0,H=G(H^T,7),L=L+z|0,w=G(w^L,16),Z=Z+w|0,z=G(z^Z,12),L=L+z|0,w=G(w^L,8),Z=Z+w|0,z=G(z^Z,7),O=O+M|0,k=G(k^O,16),A=A+k|0,M=G(M^A,12),O=O+M|0,k=G(k^O,8),A=A+k|0,M=G(M^A,7);let F=0;n[F++]=s+B|0,n[F++]=a+R|0,n[F++]=c+L|0,n[F++]=f+O|0,n[F++]=u+M|0,n[F++]=l+U|0,n[F++]=d+H|0,n[F++]=g+z|0,n[F++]=h+Z|0,n[F++]=p+A|0,n[F++]=y+N|0,n[F++]=x+T|0,n[F++]=v+_|0,n[F++]=m+w|0,n[F++]=I+k|0,n[F++]=S+K|0}function nh(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],f=t[1],u=t[2],l=t[3],d=t[4],g=t[5],h=t[6],p=t[7],y=r[0],x=r[1],v=r[2],m=r[3];for(let S=0;S<20;S+=2)i=i+c|0,y=G(y^i,16),d=d+y|0,c=G(c^d,12),i=i+c|0,y=G(y^i,8),d=d+y|0,c=G(c^d,7),o=o+f|0,x=G(x^o,16),g=g+x|0,f=G(f^g,12),o=o+f|0,x=G(x^o,8),g=g+x|0,f=G(f^g,7),s=s+u|0,v=G(v^s,16),h=h+v|0,u=G(u^h,12),s=s+u|0,v=G(v^s,8),h=h+v|0,u=G(u^h,7),a=a+l|0,m=G(m^a,16),p=p+m|0,l=G(l^p,12),a=a+l|0,m=G(m^a,8),p=p+m|0,l=G(l^p,7),i=i+f|0,m=G(m^i,16),h=h+m|0,f=G(f^h,12),i=i+f|0,m=G(m^i,8),h=h+m|0,f=G(f^h,7),o=o+u|0,y=G(y^o,16),p=p+y|0,u=G(u^p,12),o=o+u|0,y=G(y^o,8),p=p+y|0,u=G(u^p,7),s=s+l|0,x=G(x^s,16),d=d+x|0,l=G(l^d,12),s=s+l|0,x=G(x^s,8),d=d+x|0,l=G(l^d,7),a=a+c|0,v=G(v^a,16),g=g+v|0,c=G(c^g,12),a=a+c|0,v=G(v^a,8),g=g+v|0,c=G(c^g,7);let I=0;n[I++]=i,n[I++]=o,n[I++]=s,n[I++]=a,n[I++]=y,n[I++]=x,n[I++]=v,n[I++]=m}var ih=_o(E0,{counterRight:!1,counterLength:4,allowShortKeys:!1}),oh=_o(E0,{counterRight:!1,counterLength:8,extendNonceFn:nh,allowShortKeys:!1});var sh=new Uint8Array(16),v0=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(sh.subarray(r))},ah=new Uint8Array(32);function w0(e,t,r,n,i){let o=e(t,r,ah),s=x0.create(o);i&&v0(s,i),v0(s,n);let a=new Uint8Array(16),c=d0(a);Bo(c,0,BigInt(i?i.length:0),!0),Bo(c,8,BigInt(n.length),!0),s.update(a);let f=s.digest();return o.fill(0),f}var S0=e=>(t,r,n)=>(hr(t,32),hr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?hr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let f=w0(e,t,r,s.subarray(0,-16),n);return s.set(f,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?hr(s,c):s=new Uint8Array(c);let f=o.subarray(0,-16),u=o.subarray(-16),l=w0(e,t,r,f,n);if(!y0(u,l))throw new Error("invalid tag");return e(t,r,f,s,1),s}}),Lo=So({blockSize:64,nonceLength:12,tagLength:16},S0(ih)),ym=So({blockSize:64,nonceLength:24,tagLength:16},S0(oh));function oi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Ro(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function dn(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");oi(e.outputLen),oi(e.blockLen)}function Or(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function B0(e,t){Ro(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var si=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var A0=e=>e instanceof Uint8Array;var ai=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),le=(e,t)=>e<<32-t|e>>>t,ch=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ch)throw new Error("Non little-endian hardware is not supported");function No(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Xe(e){if(typeof e=="string"&&(e=No(e)),!A0(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function ci(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!A0(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Mr=class{clone(){return this._cloneInto()}},vm={}.toString;function fi(e){let t=n=>e().update(Xe(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function dr(e=32){if(si&&typeof si.getRandomValues=="function")return si.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function fh(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}var Vr=class extends Mr{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=ai(this.buffer)}update(t){Or(this);let{view:r,buffer:n,blockLen:i}=this;t=Xe(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=ai(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Or(this),B0(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;fh(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ai(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var ui=BigInt(4294967295),Po=BigInt(32);function I0(e,t=!1){return t?{h:Number(e&ui),l:Number(e>>Po&ui)}:{h:Number(e>>Po&ui)|0,l:Number(e&ui)|0}}function uh(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=I0(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var lh=(e,t)=>BigInt(e>>>0)<<Po|BigInt(t>>>0),hh=(e,t,r)=>e>>>r,dh=(e,t,r)=>e<<32-r|t>>>r,ph=(e,t,r)=>e>>>r|t<<32-r,yh=(e,t,r)=>e<<32-r|t>>>r,gh=(e,t,r)=>e<<64-r|t>>>r-32,xh=(e,t,r)=>e>>>r-32|t<<64-r,mh=(e,t)=>t,bh=(e,t)=>e,vh=(e,t,r)=>e<<r|t>>>32-r,wh=(e,t,r)=>t<<r|e>>>32-r,Eh=(e,t,r)=>t<<r-32|e>>>64-r,Sh=(e,t,r)=>e<<r-32|t>>>64-r;function Bh(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Ah=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Ih=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Ch=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Th=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,_h=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Lh=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var Rh={fromBig:I0,split:uh,toBig:lh,shrSH:hh,shrSL:dh,rotrSH:ph,rotrSL:yh,rotrBH:gh,rotrBL:xh,rotr32H:mh,rotr32L:bh,rotlSH:vh,rotlSL:wh,rotlBH:Eh,rotlBL:Sh,add:Bh,add3L:Ah,add3H:Ih,add4L:Ch,add4H:Th,add5H:Lh,add5L:_h},j=Rh;var[Nh,Ph]=j.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(e=>BigInt(e))),Qe=new Uint32Array(80),Je=new Uint32Array(80),Do=class extends Vr{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(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:d,Gh:g,Gl:h,Hh:p,Hl:y}=this;return[t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y]}set(t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=d|0,this.Gh=g|0,this.Gl=h|0,this.Hh=p|0,this.Hl=y|0}process(t,r){for(let m=0;m<16;m++,r+=4)Qe[m]=t.getUint32(r),Je[m]=t.getUint32(r+=4);for(let m=16;m<80;m++){let I=Qe[m-15]|0,S=Je[m-15]|0,B=j.rotrSH(I,S,1)^j.rotrSH(I,S,8)^j.shrSH(I,S,7),R=j.rotrSL(I,S,1)^j.rotrSL(I,S,8)^j.shrSL(I,S,7),L=Qe[m-2]|0,O=Je[m-2]|0,M=j.rotrSH(L,O,19)^j.rotrBH(L,O,61)^j.shrSH(L,O,6),U=j.rotrSL(L,O,19)^j.rotrBL(L,O,61)^j.shrSL(L,O,6),H=j.add4L(R,U,Je[m-7],Je[m-16]),z=j.add4H(H,B,M,Qe[m-7],Qe[m-16]);Qe[m]=z|0,Je[m]=H|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:d,Fh:g,Fl:h,Gh:p,Gl:y,Hh:x,Hl:v}=this;for(let m=0;m<80;m++){let I=j.rotrSH(l,d,14)^j.rotrSH(l,d,18)^j.rotrBH(l,d,41),S=j.rotrSL(l,d,14)^j.rotrSL(l,d,18)^j.rotrBL(l,d,41),B=l&g^~l&p,R=d&h^~d&y,L=j.add5L(v,S,R,Ph[m],Je[m]),O=j.add5H(L,x,I,B,Nh[m],Qe[m]),M=L|0,U=j.rotrSH(n,i,28)^j.rotrBH(n,i,34)^j.rotrBH(n,i,39),H=j.rotrSL(n,i,28)^j.rotrBL(n,i,34)^j.rotrBL(n,i,39),z=n&o^n&a^o&a,Z=i&s^i&c^s&c;x=p|0,v=y|0,p=g|0,y=h|0,g=l|0,h=d|0,{h:l,l:d}=j.add(f|0,u|0,O|0,M|0),f=a|0,u=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let A=j.add3L(M,H,Z);n=j.add3H(A,O,U,z),i=A|0}({h:n,l:i}=j.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=j.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=j.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=j.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:d}=j.add(this.Eh|0,this.El|0,l|0,d|0),{h:g,l:h}=j.add(this.Fh|0,this.Fl|0,g|0,h|0),{h:p,l:y}=j.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:x,l:v}=j.add(this.Hh|0,this.Hl|0,x|0,v|0),this.set(n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v)}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)}};var ko=fi(()=>new Do);var di={};Dt(di,{bitGet:()=>Vh,bitLen:()=>Mh,bitMask:()=>pn,bitSet:()=>Fh,bytesToHex:()=>Ue,bytesToNumberBE:()=>Ke,bytesToNumberLE:()=>he,concatBytes:()=>Me,createHmacDrbg:()=>Oo,ensureBytes:()=>xt,equalBytes:()=>Kh,hexToBytes:()=>pr,hexToNumber:()=>Ko,numberToBytesBE:()=>je,numberToBytesLE:()=>Oe,numberToHexUnpadded:()=>_0,numberToVarBytesBE:()=>Uh,utf8ToBytes:()=>Oh,validateObject:()=>ne});var T0=BigInt(0),li=BigInt(1),Dh=BigInt(2),hi=e=>e instanceof Uint8Array,kh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ue(e){if(!hi(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=kh[e[r]];return t}function _0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Ko(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function pr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Ke(e){return Ko(Ue(e))}function he(e){if(!hi(e))throw new Error("Uint8Array expected");return Ko(Ue(Uint8Array.from(e).reverse()))}function je(e,t){return pr(e.toString(16).padStart(t*2,"0"))}function Oe(e,t){return je(e,t).reverse()}function Uh(e){return pr(_0(e))}function xt(e,t,r){let n;if(typeof t=="string")try{n=pr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(hi(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function Me(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!hi(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function Kh(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Oh(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Mh(e){let t;for(t=0;e>T0;e>>=li,t+=1);return t}function Vh(e,t){return e>>BigInt(t)&li}var Fh=(e,t,r)=>e|(r?li:T0)<<BigInt(t),pn=e=>(Dh<<BigInt(e-1))-li,Uo=e=>new Uint8Array(e),C0=e=>Uint8Array.from(e);function Oo(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Uo(e),i=Uo(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Uo())=>{i=a(C0([0]),l),n=a(),l.length!==0&&(i=a(C0([1]),l),n=a())},f=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let g=n.slice();d.push(g),l+=n.length}return Me(...d)};return(l,d)=>{s(),c(l);let g;for(;!(g=d(f()));)c();return s(),g}}var qh={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function ne(e,t,r={}){let n=(i,o,s)=>{let a=qh[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Ut=BigInt(0),wt=BigInt(1),yr=BigInt(2),Hh=BigInt(3),Mo=BigInt(4),L0=BigInt(5),R0=BigInt(8),zh=BigInt(9),Gh=BigInt(16);function ct(e,t){let r=e%t;return r>=Ut?r:t+r}function Vo(e,t,r){if(r<=Ut||t<Ut)throw new Error("Expected power/modulo > 0");if(r===wt)return Ut;let n=wt;for(;t>Ut;)t&wt&&(n=n*e%r),e=e*e%r,t>>=wt;return n}function mt(e,t,r){let n=e;for(;t-- >Ut;)n*=n,n%=r;return n}function pi(e,t){if(e===Ut||t<=Ut)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ct(e,t),n=t,i=Ut,o=wt,s=wt,a=Ut;for(;r!==Ut;){let f=n/r,u=n%r,l=i-s*f,d=o-a*f;n=r,r=u,i=s,o=a,s=l,a=d}if(n!==wt)throw new Error("invert: does not exist");return ct(i,t)}function Wh(e){let t=(e-wt)/yr,r,n,i;for(r=e-wt,n=0;r%yr===Ut;r/=yr,n++);for(i=yr;i<e&&Vo(i,t,e)!==e-wt;i++);if(n===1){let s=(e+wt)/Mo;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let o=(r+wt)/yr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(d);g<f&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let h=a.pow(u,wt<<BigInt(f-g-1));u=a.sqr(h),l=a.mul(l,h),d=a.mul(d,u),f=g}return l}}function $h(e){if(e%Mo===Hh){let t=(e+wt)/Mo;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%R0===L0){let t=(e-L0)/R0;return function(n,i){let o=n.mul(i,yr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,yr),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),i))throw new Error("Cannot find square root");return f}}return e%Gh,Wh(e)}var N0=(e,t)=>(ct(e,t)&wt)===wt,Yh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Fo(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Yh.reduce((n,i)=>(n[i]="function",n),t);return ne(e,r)}function Zh(e,t,r){if(r<Ut)throw new Error("Expected power > 0");if(r===Ut)return e.ONE;if(r===wt)return t;let n=e.ONE,i=t;for(;r>Ut;)r&wt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=wt;return n}function Xh(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function qo(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function yi(e,t,r=!1,n={}){if(e<=Ut)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=qo(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=$h(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:pn(i),ZERO:Ut,ONE:wt,create:c=>ct(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ut<=c&&c<e},is0:c=>c===Ut,isOdd:c=>(c&wt)===wt,neg:c=>ct(-c,e),eql:(c,f)=>c===f,sqr:c=>ct(c*c,e),add:(c,f)=>ct(c+f,e),sub:(c,f)=>ct(c-f,e),mul:(c,f)=>ct(c*f,e),pow:(c,f)=>Zh(a,c,f),div:(c,f)=>ct(c*pi(f,e),e),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>pi(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Xh(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>r?Oe(c,o):je(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?he(c):Ke(c)}});return Object.freeze(a)}function P0(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function D0(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Ho(e){let t=D0(e);return t+Math.ceil(t/2)}function k0(e,t,r=!1){let n=e.length,i=D0(t),o=Ho(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Ke(e):he(e),a=ct(s,t-wt)+wt;return r?Oe(a,i):je(a,i)}var Jh=BigInt(0),zo=BigInt(1);function gi(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Jh;)o&zo&&(s=s.add(a)),a=a.double(),o>>=zo;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],f=i,u=f;for(let l=0;l<s;l++){u=f,c.push(u);for(let d=1;d<a;d++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),f=e.ZERO,u=e.BASE,l=BigInt(2**i-1),d=2**i,g=BigInt(i);for(let h=0;h<a;h++){let p=h*c,y=Number(s&l);s>>=g,y>c&&(y-=d,s+=zo);let x=p,v=p+Math.abs(y)-1,m=h%2!==0,I=y<0;y===0?u=u.add(r(m,o[x])):f=f.add(r(I,o[v]))}return{p:f,f:u}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,f=o.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&o.set(i,a(f))),this.wNAF(c,f,s)}}}function yn(e){return Fo(e.Fp),ne(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...qo(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var de=BigInt(0),ee=BigInt(1),xi=BigInt(2),jh=BigInt(8),td={zip215:!0};function ed(e){let t=yn(e);return ne(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function mi(e){let t=ed(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,f=xi<<BigInt(a*8)-ee,u=r.create,l=t.uvRatio||((_,w)=>{try{return{isValid:!0,value:r.sqrt(_*r.inv(w))}}catch{return{isValid:!1,value:de}}}),d=t.adjustScalarBytes||(_=>_),g=t.domain||((_,w,k)=>{if(w.length||k)throw new Error("Contexts/pre-hash are not supported");return _}),h=_=>typeof _=="bigint"&&de<_,p=(_,w)=>h(_)&&h(w)&&_<w,y=_=>_===de||p(_,f);function x(_,w){if(p(_,w))return _;throw new Error(`Expected valid scalar < ${w}, got ${typeof _} ${_}`)}function v(_){return _===de?_:x(_,n)}let m=new Map;function I(_){if(!(_ instanceof S))throw new Error("ExtendedPoint expected")}class S{constructor(w,k,K,F){if(this.ex=w,this.ey=k,this.ez=K,this.et=F,!y(w))throw new Error("x required");if(!y(k))throw new Error("y required");if(!y(K))throw new Error("z required");if(!y(F))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(w){if(w instanceof S)throw new Error("extended point not allowed");let{x:k,y:K}=w||{};if(!y(k)||!y(K))throw new Error("invalid affine point");return new S(k,K,ee,u(k*K))}static normalizeZ(w){let k=r.invertBatch(w.map(K=>K.ez));return w.map((K,F)=>K.toAffine(k[F])).map(S.fromAffine)}_setWindowSize(w){this._WINDOW_SIZE=w,m.delete(this)}assertValidity(){let{a:w,d:k}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:F,ez:$,et:Y}=this,rt=u(K*K),X=u(F*F),J=u($*$),pt=u(J*J),ht=u(rt*w),Ft=u(J*u(ht+X)),qt=u(pt+u(k*u(rt*X)));if(Ft!==qt)throw new Error("bad point: equation left != right (1)");let Pt=u(K*F),Gt=u($*Y);if(Pt!==Gt)throw new Error("bad point: equation left != right (2)")}equals(w){I(w);let{ex:k,ey:K,ez:F}=this,{ex:$,ey:Y,ez:rt}=w,X=u(k*rt),J=u($*F),pt=u(K*rt),ht=u(Y*F);return X===J&&pt===ht}is0(){return this.equals(S.ZERO)}negate(){return new S(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:w}=t,{ex:k,ey:K,ez:F}=this,$=u(k*k),Y=u(K*K),rt=u(xi*u(F*F)),X=u(w*$),J=k+K,pt=u(u(J*J)-$-Y),ht=X+Y,Ft=ht-rt,qt=X-Y,Pt=u(pt*Ft),Gt=u(ht*qt),Pe=u(pt*qt),ur=u(Ft*ht);return new S(Pt,Gt,ur,Pe)}add(w){I(w);let{a:k,d:K}=t,{ex:F,ey:$,ez:Y,et:rt}=this,{ex:X,ey:J,ez:pt,et:ht}=w;if(k===BigInt(-1)){let Ga=u(($-F)*(J+X)),Wa=u(($+F)*(J-X)),uo=u(Wa-Ga);if(uo===de)return this.double();let $a=u(Y*xi*ht),Ya=u(rt*xi*pt),Za=Ya+$a,Xa=Wa+Ga,Qa=Ya-$a,wl=u(Za*uo),El=u(Xa*Qa),Sl=u(Za*Qa),Bl=u(uo*Xa);return new S(wl,El,Bl,Sl)}let Ft=u(F*X),qt=u($*J),Pt=u(rt*K*ht),Gt=u(Y*pt),Pe=u((F+$)*(X+J)-Ft-qt),ur=Gt-Pt,fn=Gt+Pt,za=u(qt-k*Ft),xl=u(Pe*ur),ml=u(fn*za),bl=u(Pe*za),vl=u(ur*fn);return new S(xl,ml,vl,bl)}subtract(w){return this.add(w.negate())}wNAF(w){return L.wNAFCached(this,m,w,S.normalizeZ)}multiply(w){let{p:k,f:K}=this.wNAF(x(w,n));return S.normalizeZ([k,K])[0]}multiplyUnsafe(w){let k=v(w);return k===de?R:this.equals(R)||k===ee?this:this.equals(B)?this.wNAF(k).p:L.unsafeLadder(this,k)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(w){let{ex:k,ey:K,ez:F}=this,$=this.is0();w==null&&(w=$?jh:r.inv(F));let Y=u(k*w),rt=u(K*w),X=u(F*w);if($)return{x:de,y:ee};if(X!==ee)throw new Error("invZ was invalid");return{x:Y,y:rt}}clearCofactor(){let{h:w}=t;return w===ee?this:this.multiplyUnsafe(w)}static fromHex(w,k=!1){let{d:K,a:F}=t,$=r.BYTES;w=xt("pointHex",w,$);let Y=w.slice(),rt=w[$-1];Y[$-1]=rt&-129;let X=he(Y);X===de||(k?x(X,f):x(X,r.ORDER));let J=u(X*X),pt=u(J-ee),ht=u(K*J-F),{isValid:Ft,value:qt}=l(pt,ht);if(!Ft)throw new Error("Point.fromHex: invalid y coordinate");let Pt=(qt&ee)===ee,Gt=(rt&128)!==0;if(!k&&qt===de&&Gt)throw new Error("Point.fromHex: x=0 and x_0=1");return Gt!==Pt&&(qt=u(-qt)),S.fromAffine({x:qt,y:X})}static fromPrivateKey(w){return U(w).point}toRawBytes(){let{x:w,y:k}=this.toAffine(),K=Oe(k,r.BYTES);return K[K.length-1]|=w&ee?128:0,K}toHex(){return Ue(this.toRawBytes())}}S.BASE=new S(t.Gx,t.Gy,ee,u(t.Gx*t.Gy)),S.ZERO=new S(de,ee,ee,de);let{BASE:B,ZERO:R}=S,L=gi(S,a*8);function O(_){return ct(_,n)}function M(_){return O(he(_))}function U(_){let w=a;_=xt("private key",_,w);let k=xt("hashed private key",o(_),2*w),K=d(k.slice(0,w)),F=k.slice(w,2*w),$=M(K),Y=B.multiply($),rt=Y.toRawBytes();return{head:K,prefix:F,scalar:$,point:Y,pointBytes:rt}}function H(_){return U(_).pointBytes}function z(_=new Uint8Array,...w){let k=Me(...w);return M(o(g(k,xt("context",_),!!i)))}function Z(_,w,k={}){_=xt("message",_),i&&(_=i(_));let{prefix:K,scalar:F,pointBytes:$}=U(w),Y=z(k.context,K,_),rt=B.multiply(Y).toRawBytes(),X=z(k.context,rt,$,_),J=O(Y+X*F);v(J);let pt=Me(rt,Oe(J,r.BYTES));return xt("result",pt,a*2)}let A=td;function N(_,w,k,K=A){let{context:F,zip215:$}=K,Y=r.BYTES;_=xt("signature",_,2*Y),w=xt("message",w),i&&(w=i(w));let rt=he(_.slice(Y,2*Y)),X,J,pt;try{X=S.fromHex(k,$),J=S.fromHex(_.slice(0,Y),$),pt=B.multiplyUnsafe(rt)}catch{return!1}if(!$&&X.isSmallOrder())return!1;let ht=z(F,J.toRawBytes(),X.toRawBytes(),w);return J.add(X.multiplyUnsafe(ht)).subtract(pt).clearCofactor().equals(S.ZERO)}return B._setWindowSize(8),{CURVE:t,getPublicKey:H,sign:Z,verify:N,ExtendedPoint:S,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(_=8,w=S.BASE){return w._setWindowSize(_),w.multiply(BigInt(3)),w}}}}var gn=BigInt(0),Go=BigInt(1);function rd(e){return ne(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function U0(e){let t=rd(e),{P:r}=t,n=m=>ct(m,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(m=>m),c=t.powPminus2||(m=>Vo(m,r-BigInt(2),r));function f(m,I,S){let B=n(m*(I-S));return I=n(I-B),S=n(S+B),[I,S]}function u(m){if(typeof m=="bigint"&&gn<=m&&m<r)return m;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(m,I){let S=u(m),B=u(I),R=S,L=Go,O=gn,M=S,U=Go,H=gn,z;for(let A=BigInt(i-1);A>=gn;A--){let N=B>>A&Go;H^=N,z=f(H,L,M),L=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1],H=N;let T=L+O,_=n(T*T),w=L-O,k=n(w*w),K=_-k,F=M+U,$=M-U,Y=n($*T),rt=n(F*w),X=Y+rt,J=Y-rt;M=n(X*X),U=n(R*n(J*J)),L=n(_*k),O=n(K*(_+n(l*K)))}z=f(H,L,M),L=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1];let Z=c(O);return n(L*Z)}function g(m){return Oe(n(m),o)}function h(m){let I=xt("u coordinate",m,o);return s===o&&(I[s-1]&=127),he(I)}function p(m){let I=xt("scalar",m);if(I.length!==o&&I.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${I.length}`);return he(a(I))}function y(m,I){let S=h(I),B=p(m),R=d(S,B);if(R===gn)throw new Error("Invalid private or public key received");return g(R)}let x=g(t.Gu);function v(m){return y(m,x)}return{scalarMult:y,scalarMultBase:v,getSharedSecret:(m,I)=>y(m,I),getPublicKey:m=>v(m),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:x}}var xn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),K0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Wm=BigInt(0),nd=BigInt(1),Wo=BigInt(2),id=BigInt(5),O0=BigInt(10),od=BigInt(20),sd=BigInt(40),M0=BigInt(80);function V0(e){let t=xn,n=e*e%t*e%t,i=mt(n,Wo,t)*n%t,o=mt(i,nd,t)*e%t,s=mt(o,id,t)*o%t,a=mt(s,O0,t)*s%t,c=mt(a,od,t)*a%t,f=mt(c,sd,t)*c%t,u=mt(f,M0,t)*f%t,l=mt(u,M0,t)*f%t,d=mt(l,O0,t)*s%t;return{pow_p_5_8:mt(d,Wo,t)*e%t,b2:n}}function F0(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function ad(e,t){let r=xn,n=ct(t*t*t,r),i=ct(n*n*t,r),o=V0(e*i).pow_p_5_8,s=ct(e*n*o,r),a=ct(t*s*s,r),c=s,f=ct(s*K0,r),u=a===e,l=a===ct(-e,r),d=a===ct(-e*K0,r);return u&&(s=c),(l||d)&&(s=f),N0(s,r)&&(s=ct(-s,r)),{isValid:u||l,value:s}}var Ve=yi(xn,void 0,!0),$o={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ve,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:ko,randomBytes:dr,adjustScalarBytes:F0,uvRatio:ad},Fr=mi($o);function q0(e,t,r){if(t.length>255)throw new Error("Context is too big");return ci(No("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var $m=mi({...$o,domain:q0}),Ym=mi({...$o,domain:q0,prehash:ko}),mn=U0({P:xn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=xn,{pow_p_5_8:r,b2:n}=V0(e);return ct(mt(r,BigInt(3),t)*n,t)},adjustScalarBytes:F0,randomBytes:dr});var cd=(Ve.ORDER+BigInt(3))/BigInt(8),Zm=Ve.pow(Wo,cd),Xm=Ve.sqrt(Ve.neg(Ve.ONE)),Qm=(Ve.ORDER-BigInt(5))/BigInt(8),Jm=BigInt(486662);var jm=P0(Ve,Ve.neg(BigInt(486664)));var t2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),e2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),r2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),n2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var i2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var bi=class extends Mr{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,dn(t);let n=Xe(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return Or(this),this.iHash.update(t),this}digestInto(t){Or(this),Ro(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},qr=(e,t,r)=>new bi(e,t).update(r).digest();qr.create=(e,t)=>new bi(e,t);function z0(e,t,r){return dn(e),r===void 0&&(r=new Uint8Array(e.outputLen)),qr(e,Xe(r),Xe(t))}var Yo=new Uint8Array([0]),H0=new Uint8Array;function G0(e,t,r,n=32){if(dn(e),oi(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=H0);let o=new Uint8Array(i*e.outputLen),s=qr.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let f=0;f<i;f++)Yo[0]=f+1,a.update(f===0?H0:c).update(r).update(Yo).digestInto(c),o.set(c,e.outputLen*f),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),Yo.fill(0),o.slice(0,n)}var fd=(e,t,r)=>e&t^~e&r,ud=(e,t,r)=>e&t^e&r^t&r,ld=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]),tr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),er=new Uint32Array(64),Zo=class extends Vr{constructor(){super(64,32,8,!1),this.A=tr[0]|0,this.B=tr[1]|0,this.C=tr[2]|0,this.D=tr[3]|0,this.E=tr[4]|0,this.F=tr[5]|0,this.G=tr[6]|0,this.H=tr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)er[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=er[l-15],g=er[l-2],h=le(d,7)^le(d,18)^d>>>3,p=le(g,17)^le(g,19)^g>>>10;er[l]=p+er[l-7]+h+er[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let d=le(a,6)^le(a,11)^le(a,25),g=u+d+fd(a,c,f)+ld[l]+er[l]|0,p=(le(n,2)^le(n,13)^le(n,22))+ud(n,i,o)|0;u=f,f=c,c=a,a=s+g|0,s=o,o=i,i=n,n=g+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,i,o,s,a,c,f,u)}roundClean(){er.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Hr=fi(()=>new Zo);var Xo={hashSHA256(e){return Hr(e.subarray())},getHKDF(e,t){let r=z0(Hr,t,e),i=G0(Hr,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=mn.utils.randomPrivateKey();return{publicKey:mn.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:mn.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return mn.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return Lo(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return Lo(n,t,r).decrypt(e.subarray(),i)}};var W0=Xo;var zr=e=>{let t=kt(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};zr.bytes=2;var bn=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};bn.bytes=2;function $0(e){return new Ct(e.ne,e.ciphertext)}function Y0(e){return new Ct(e.ne,e.ns,e.ciphertext)}function Z0(e){return new Ct(e.ns,e.ciphertext)}function X0(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:nt(0)}}function Q0(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function J0(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:nt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var tc=16;function ec(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new Ct(zr(s.byteLength),s)}}}function rc(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-tc<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-tc),{plaintext:c,valid:f}=e.decrypt(s,e.session,a);if(!f)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var wn=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},gr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var J8=Qt(An(),1),j8=Qt(bf(),1);var rb=Symbol.for("@libp2p/connection");var ib=Symbol.for("@libp2p/content-routing");var ab=Symbol.for("@libp2p/peer-discovery");var vf=Symbol.for("@libp2p/peer-id");var ub=Symbol.for("@libp2p/peer-routing");var wf;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(wf||(wf={}));var Sf=Symbol.for("@libp2p/transport");var Ef;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Ef||(Ef={}));var et=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var bs=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},bb=globalThis.CustomEvent??bs;var Bg=Qt(dt(),1);var Bs={};Dt(Bs,{base10:()=>Fy});function Uy(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,y=0,x=0,v=h.length;x!==v&&h[x]===0;)x++,p++;for(var m=(v-x)*u+1>>>0,I=new Uint8Array(m);x!==v;){for(var S=h[x],B=0,R=m-1;(S!==0||B<y)&&R!==-1;R--,B++)S+=256*I[R]>>>0,I[R]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");y=B,x++}for(var L=m-y;L!==m&&I[L]===0;)L++;for(var O=c.repeat(p);L<m;++L)O+=e.charAt(I[L]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var y=0,x=0;h[p]===c;)y++,p++;for(var v=(h.length-p)*f+1>>>0,m=new Uint8Array(v);h[p];){var I=r[h.charCodeAt(p)];if(I===255)return;for(var S=0,B=v-1;(I!==0||S<x)&&B!==-1;B--,S++)I+=a*m[B]>>>0,m[B]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");x=S,p++}if(h[p]!==" "){for(var R=v-x;R!==v&&m[R]===0;)R++;for(var L=new Uint8Array(y+(v-R)),O=y;R!==v;)L[O++]=m[R++];return L}}}function g(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:g}}var Ky=Uy,Oy=Ky,Bf=Oy;var Gb=new Uint8Array(0);var Af=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},ze=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var If=e=>new TextEncoder().encode(e),Cf=e=>new TextDecoder().decode(e);var vs=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ws=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return _f(this,t)}},Es=class{constructor(t){this.decoders=t}or(t){return _f(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},_f=(e,t)=>new Es({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ss=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new vs(t,r,n),this.decoder=new ws(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Zr=({name:e,prefix:t,encode:r,decode:n})=>new Ss(e,t,r,n),sr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Bf(r,t);return Zr({prefix:e,name:t,encode:n,decode:o=>ze(i(o))})},My=(e,t,r,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,f=0;for(let u=0;u<o;++u){let l=i[e[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Vy=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Tt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Zr({prefix:t,name:e,encode(i){return Vy(i,n,r)},decode(i){return My(i,n,r,e)}});var Fy=sr({prefix:"9",name:"base10",alphabet:"0123456789"});var As={};Dt(As,{base16:()=>qy,base16upper:()=>Hy});var qy=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Hy=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Is={};Dt(Is,{base2:()=>zy});var zy=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Cs={};Dt(Cs,{base256emoji:()=>Zy});var Lf=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Gy=Lf.reduce((e,t,r)=>(e[r]=t,e),[]),Wy=Lf.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function $y(e){return e.reduce((t,r)=>(t+=Gy[r],t),"")}function Yy(e){let t=[];for(let r of e){let n=Wy[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Zy=Zr({prefix:"\u{1F680}",name:"base256emoji",encode:$y,decode:Yy});var Ts={};Dt(Ts,{base32:()=>Ge,base32hex:()=>jy,base32hexpad:()=>e1,base32hexpadupper:()=>r1,base32hexupper:()=>t1,base32pad:()=>Qy,base32padupper:()=>Jy,base32upper:()=>Xy,base32z:()=>n1});var Ge=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xy=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qy=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jy=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jy=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),t1=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),e1=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),r1=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),n1=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var _s={};Dt(_s,{base36:()=>i1,base36upper:()=>o1});var i1=sr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),o1=sr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ls={};Dt(Ls,{base58btc:()=>_t,base58flickr:()=>s1});var _t=sr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),s1=sr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ns={};Dt(Ns,{base64:()=>Oi,base64pad:()=>a1,base64url:()=>Rs,base64urlpad:()=>c1});var Oi=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),a1=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Rs=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),c1=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ps={};Dt(Ps,{base8:()=>f1});var f1=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ds={};Dt(Ds,{identity:()=>u1});var u1=Zr({prefix:"\0",name:"identity",encode:e=>Cf(e),decode:e=>If(e)});var sv=new TextEncoder,av=new TextDecoder;var Ks={};Dt(Ks,{identity:()=>cr});var Ce={};Dt(Ce,{Digest:()=>Er,create:()=>ge,decode:()=>ar,equals:()=>Us});var d1=Pf,Rf=128,p1=127,y1=~p1,g1=Math.pow(2,31);function Pf(e,t,r){t=t||[],r=r||0;for(var n=r;e>=g1;)t[r++]=e&255|Rf,e/=128;for(;e&y1;)t[r++]=e&255|Rf,e>>>=7;return t[r]=e|0,Pf.bytes=r-n+1,t}var x1=ks,m1=128,Nf=127;function ks(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ks.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Nf)<<i:(s&Nf)*Math.pow(2,i),i+=7}while(s>=m1);return ks.bytes=o-n,r}var b1=Math.pow(2,7),v1=Math.pow(2,14),w1=Math.pow(2,21),E1=Math.pow(2,28),S1=Math.pow(2,35),B1=Math.pow(2,42),A1=Math.pow(2,49),I1=Math.pow(2,56),C1=Math.pow(2,63),T1=function(e){return e<b1?1:e<v1?2:e<w1?3:e<E1?4:e<S1?5:e<B1?6:e<A1?7:e<I1?8:e<C1?9:10},_1={encode:d1,decode:x1,encodingLength:T1},L1=_1,Tn=L1;var _n=(e,t=0)=>[Tn.decode(e,t),Tn.decode.bytes],Xr=(e,t,r=0)=>(Tn.encode(e,t,r),t),Qr=e=>Tn.encodingLength(e);var ge=(e,t)=>{let r=t.byteLength,n=Qr(e),i=n+Qr(r),o=new Uint8Array(i+r);return Xr(e,o,0),Xr(r,o,n),o.set(t,i),new Er(e,r,t,o)},ar=e=>{let t=ze(e),[r,n]=_n(t),[i,o]=_n(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Er(r,i,s,t)},Us=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Af(e.bytes,r.bytes)}},Er=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Df=0,R1="identity",kf=ze,N1=e=>ge(Df,kf(e)),cr={code:Df,name:R1,encode:kf,digest:N1};var Vs={};Dt(Vs,{sha256:()=>zt,sha512:()=>P1});var Ms=({name:e,code:t,encode:r})=>new Os(e,t,r),Os=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?ge(this.code,r):r.then(n=>ge(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Kf=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),zt=Ms({name:"sha2-256",code:18,encode:Kf("SHA-256")}),P1=Ms({name:"sha2-512",code:19,encode:Kf("SHA-512")});var Of=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return k1(r,Fs(e),t||_t.encoder);default:return U1(r,Fs(e),t||Ge.encoder)}};var Mf=new WeakMap,Fs=e=>{let t=Mf.get(e);if(t==null){let r=new Map;return Mf.set(e,r),r}return t},xe=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Ln)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==K1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=ge(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Us(t.multihash,n.multihash)}toString(t){return Of(this,t)}toJSON(){return{"/":Of(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||Vf(n,i,o.bytes))}else if(r[O1]===!0){let{version:n,multihash:i,code:o}=r,s=ar(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==Ln)throw new Error(`Version 0 CID must use dag-pb (code: ${Ln}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Vf(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Ln,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=ze(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Er(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=_n(t.subarray(r));return r+=d,l},i=n(),o=Ln;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),f=r+c,u=f-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,r){let[n,i]=D1(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Fs(o).set(n,t),o}},D1=(e,t)=>{switch(e[0]){case"Q":{let r=t||_t;return[_t.prefix,r.decode(`${_t.prefix}${e}`)]}case _t.prefix:{let r=t||_t;return[_t.prefix,r.decode(e)]}case Ge.prefix:{let r=t||Ge;return[Ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},k1=(e,t,r)=>{let{prefix:n}=r;if(n!==_t.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},U1=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},Ln=112,K1=18,Vf=(e,t,r)=>{let n=Qr(e),i=n+Qr(t),o=new Uint8Array(i+r.byteLength);return Xr(e,o,0),Xr(t,o,n),o.set(r,i),o},O1=Symbol.for("@ipld/js-cid/CID");var Te={...Ds,...Is,...Ps,...Bs,...As,...Ts,..._s,...Ls,...Ns,...Cs},Sv={...Vs,...Ks};function qf(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Ff=qf("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),qs=qf("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=kt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),M1={utf8:Ff,"utf-8":Ff,hex:Te.base16,latin1:qs,ascii:qs,binary:qs,...Te},Vi=M1;function Bt(e,t="utf8"){let r=Vi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?De(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var ia={};Dt(ia,{Ed25519PrivateKey:()=>Tr,Ed25519PublicKey:()=>Dn,generateKeyPair:()=>Q1,generateKeyPairFromSeed:()=>ou,unmarshalEd25519PrivateKey:()=>Z1,unmarshalEd25519PublicKey:()=>X1});var Pv=Qt(Nt(),1),Dv=Qt(Di(),1),Hf=Qt(dt(),1);function ot(e,t="utf8"){let r=Vi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function me(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=At([new Uint8Array(t-r.length),r])}return ot(r,"base64url")}function re(e){let t=zf(e);return new Hf.default.jsbn.BigInteger(ot(t,"base16"),16)}function zf(e,t){let r=Bt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=At([new Uint8Array(t-r.length),r])}return r}function se(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Jr=32,We=64,Fi=32;function Gf(){let e=Fr.utils.randomPrivateKey(),t=Fr.getPublicKey(e);return{privateKey:Zf(e,t),publicKey:t}}function Wf(e){if(e.length!==Fi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=Fr.getPublicKey(t);return{privateKey:Zf(t,r),publicKey:r}}function $f(e,t){let r=e.subarray(0,Fi);return Fr.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Yf(e,t,r){return Fr.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Zf(e,t){let r=new Uint8Array(We);for(let n=0;n<Fi;n++)r[n]=e[n],r[Fi+n]=t[n];return r}var jt={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Hs={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function zs(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=jt.get();r*=8;async function c(l,d){let g=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=Bt(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",Hs,{name:"AES-GCM"},!0,["encrypt"]);try{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,m,{name:t,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Hs,{name:"AES-GCM"},!0,["encrypt"])}}else{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,m,{name:t,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,y,l);return At([g,p.iv,new Uint8Array(x)])}async function f(l,d){let g=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),y={name:t,iv:h};typeof d=="string"&&(d=Bt(d));let x;if(d.length===0)try{let m={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(m,I,{name:t,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",Hs,{name:"AES-GCM"},!0,["decrypt"])}else{let m={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(m,I,{name:t,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(y,x,p);return new Uint8Array(v)}return{encrypt:c,decrypt:f}}async function jr(e,t){let n=await zs().encrypt(e,t);return Oi.encode(n)}var Gs=new Float32Array([-0]),fr=new Uint8Array(Gs.buffer);function Qf(e,t,r){Gs[0]=e,t[r]=fr[0],t[r+1]=fr[1],t[r+2]=fr[2],t[r+3]=fr[3]}function Jf(e,t){return fr[0]=e[t],fr[1]=e[t+1],fr[2]=e[t+2],fr[3]=e[t+3],Gs[0]}var Ws=new Float64Array([-0]),Yt=new Uint8Array(Ws.buffer);function jf(e,t,r){Ws[0]=e,t[r]=Yt[0],t[r+1]=Yt[1],t[r+2]=Yt[2],t[r+3]=Yt[3],t[r+4]=Yt[4],t[r+5]=Yt[5],t[r+6]=Yt[6],t[r+7]=Yt[7]}function tu(e,t){return Yt[0]=e[t],Yt[1]=e[t+1],Yt[2]=e[t+2],Yt[3]=e[t+3],Yt[4]=e[t+4],Yt[5]=e[t+5],Yt[6]=e[t+6],Yt[7]=e[t+7],Ws[0]}var F1=BigInt(Number.MAX_SAFE_INTEGER),q1=BigInt(Number.MIN_SAFE_INTEGER),te=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Sr;if(t<F1&&t>q1)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>eu&&(i=0n,++n>eu&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Sr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Sr}},Sr=new te(0,0);Sr.toBigInt=function(){return 0n};Sr.zzEncode=Sr.zzDecode=function(){return this};Sr.length=function(){return 1};var eu=4294967296n;function ru(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function nu(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function $s(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function be(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function qi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Ys=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,be(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw be(this,4);return qi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw be(this,4);return qi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw be(this,4);let t=Jf(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw be(this,4);let t=tu(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw be(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return nu(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw be(this,t);this.pos+=t}else do if(this.pos>=this.len)throw be(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new te(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw be(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw be(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw be(this,8);let t=qi(this.buf,this.pos+=4),r=qi(this.buf,this.pos+=4);return new te(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Zs(e){return new Ys(e instanceof Uint8Array?e:e.subarray())}function Br(e,t){let r=Zs(e);return t.decode(r)}function Xs(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return kt(s);i+s>t&&(n=kt(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Ar=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Qs(){}var js=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},H1=Xs();function z1(e){return globalThis.Buffer!=null?kt(e):H1(e)}var Pn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ar(Qs,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Ar(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ta((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Rn,10,te.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=te.fromBigInt(t);return this._push(Rn,r.length(),r)}uint64Number(t){let r=te.fromNumber(t);return this._push(Rn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=te.fromBigInt(t).zzEncode();return this._push(Rn,r.length(),r)}sint64Number(t){let r=te.fromNumber(t).zzEncode();return this._push(Rn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Js,1,t?1:0)}fixed32(t){return this._push(Nn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=te.fromBigInt(t);return this._push(Nn,4,r.lo)._push(Nn,4,r.hi)}fixed64Number(t){let r=te.fromNumber(t);return this._push(Nn,4,r.lo)._push(Nn,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Qf,4,t)}double(t){return this._push(jf,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Js,1,0):this.uint32(r)._push(W1,r,t)}string(t){let r=ru(t);return r!==0?this.uint32(r)._push($s,r,t):this._push(Js,1,0)}fork(){return this.states=new js(this),this.head=this.tail=new Ar(Qs,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Ar(Qs,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=z1(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Js(e,t,r){t[r]=e&255}function G1(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var ta=class extends Ar{next;constructor(t,r){super(G1,t,r),this.next=void 0}};function Rn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Nn(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function W1(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Pn.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push($1,t,e),this},Pn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Y1,t,e),this});function $1(e,t,r){t.set(e,r)}function Y1(e,t,r){e.length<40?$s(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(Bt(e),r)}function ea(){return new Pn}function Ir(e,t){let r=ea();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var tn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(tn||(tn={}));function Hi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function ra(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Hi("enum",tn.VARINT,r,n)}function Cr(e,t){return Hi("message",tn.LENGTH_DELIMITED,e,t)}var St;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(St||(St={}));var na;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(na||(na={}));(function(e){e.codec=()=>ra(na)})(St||(St={}));var _e;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),St.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=St.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})(_e||(_e={}));var Le;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),St.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=St.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})(Le||(Le={}));var Dn=class{_key;constructor(t){this._key=en(t,Jr)}verify(t,r){return Yf(this._key,r,t)}marshal(){return this._key}get bytes(){return _e.encode({Type:St.Ed25519,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}},Tr=class{_key;_publicKey;constructor(t,r){this._key=en(t,We),this._publicKey=en(r,Jr)}sign(t){return $f(this._key,t)}get public(){return new Dn(this._publicKey)}marshal(){return this._key}get bytes(){return Le.encode({Type:St.Ed25519,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let t=zt.digest(this.bytes),r;return se(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=cr.digest(this.public.bytes);return _t.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return jr(this.bytes,t);throw new et(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Z1(e){if(e.length>We){e=en(e,We+Jr);let n=e.subarray(0,We),i=e.subarray(We,e.length);return new Tr(n,i)}e=en(e,We);let t=e.subarray(0,We),r=e.subarray(Jr);return new Tr(t,r)}function X1(e){return e=en(e,Jr),new Dn(e)}async function Q1(){let{privateKey:e,publicKey:t}=Gf();return new Tr(e,t)}async function ou(e){let{privateKey:t,publicKey:r}=Wf(e);return new Tr(t,r)}function en(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new et(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var J1={"P-256":256,"P-384":384,"P-521":521},j1=Object.keys(J1),kw=j1.join(" / ");var fa={};Dt(fa,{MAX_KEY_SIZE:()=>On,RsaPrivateKey:()=>rn,RsaPublicKey:()=>Kn,fromJwk:()=>ug,generateKeyPair:()=>lg,unmarshalRsaPrivateKey:()=>cg,unmarshalRsaPublicKey:()=>fg});var Un=Qt(dt(),1);var b8=Qt(uu(),1);function Gi(e){if(isNaN(e)||e<=0)throw new et("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return dr(e)}var e8=Qt(Ki(),1),aa=Qt(dt(),1);function lu(e,t){return t.map(r=>re(e[r]))}function hu(e){return aa.default.pki.setRsaPrivateKey(...lu(e,["n","e","d","p","q","dp","dq","qi"]))}function du(e){return aa.default.pki.setRsaPublicKey(...lu(e,["n","e"]))}var Lr={};Dt(Lr,{jwkToPkcs1:()=>ng,jwkToPkix:()=>og,pkcs1ToJwk:()=>rg,pkixToJwk:()=>ig});var i8=Qt(An(),1),o8=Qt(Ki(),1);var $e=Qt(dt(),1);function rg(e){let t=$e.default.asn1.fromDer(ot(e,"ascii")),r=$e.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:me(r.n),e:me(r.e),d:me(r.d),p:me(r.p),q:me(r.q),dp:me(r.dP),dq:me(r.dQ),qi:me(r.qInv),alg:"RS256"}}function ng(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new et("JWK was missing components","ERR_INVALID_PARAMETERS");let t=$e.default.pki.privateKeyToAsn1({n:re(e.n),e:re(e.e),d:re(e.d),p:re(e.p),q:re(e.q),dP:re(e.dp),dQ:re(e.dq),qInv:re(e.qi)});return Bt($e.default.asn1.toDer(t).getBytes(),"ascii")}function ig(e){let t=$e.default.asn1.fromDer(ot(e,"ascii")),r=$e.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:me(r.n),e:me(r.e)}}function og(e){if(e.n==null||e.e==null)throw new et("JWK was missing components","ERR_INVALID_PARAMETERS");let t=$e.default.pki.publicKeyToAsn1({n:re(e.n),e:re(e.e)});return Bt($e.default.asn1.toDer(t).getBytes(),"ascii")}async function pu(e){let t=await jt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await xu(t);return{privateKey:r[0],publicKey:r[1]}}async function ca(e){let r=[await jt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await sg(e)],n=await xu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function yu(e,t){let r=await jt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await jt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function gu(e,t,r){let n=await jt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return jt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function xu(e){if(e.privateKey==null||e.publicKey==null)throw new et("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([jt.get().subtle.exportKey("jwk",e.privateKey),jt.get().subtle.exportKey("jwk",e.publicKey)])}async function sg(e){return jt.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function mu(e,t,r,n){let i=t?du(e):hu(e),o=ot(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return Bt(s,"ascii")}function bu(e,t){return mu(e,!0,t,(r,n)=>n.encrypt(r))}function vu(e,t){return mu(e,!1,t,(r,n)=>n.decrypt(r))}function Wi(e){if(e.kty!=="RSA")throw new et("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new et("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Bt(e.n,"base64url").length*8}var On=8192,Kn=class{_key;constructor(t){this._key=t}verify(t,r){return gu(this._key,r,t)}marshal(){return Lr.jwkToPkix(this._key)}get bytes(){return _e.encode({Type:St.RSA,Data:this.marshal()}).subarray()}encrypt(t){return bu(this._key,t)}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}},rn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Gi(16)}sign(t){return yu(this._key,t)}get public(){if(this._publicKey==null)throw new et("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Kn(this._publicKey)}decrypt(t){return vu(this._key,t)}marshal(){return Lr.jwkToPkcs1(this._key)}get bytes(){return Le.encode({Type:St.RSA,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return ot(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Un.default.util.ByteBuffer(this.marshal()),i=Un.default.asn1.fromDer(n),o=Un.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Un.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return jr(this.bytes,t);throw new et(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function cg(e){let t=Lr.pkcs1ToJwk(e);if(Wi(t)>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await ca(t);return new rn(r.privateKey,r.publicKey)}function fg(e){let t=Lr.pkixToJwk(e);if(Wi(t)>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Kn(t)}async function ug(e){if(Wi(e)>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await ca(e);return new rn(t.privateKey,t.publicKey)}async function lg(e){if(e>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await pu(e);return new rn(t.privateKey,t.publicKey)}var da={};Dt(da,{Secp256k1PrivateKey:()=>Vn,Secp256k1PublicKey:()=>Mn,generateKeyPair:()=>Sg,unmarshalSecp256k1PrivateKey:()=>wg,unmarshalSecp256k1PublicKey:()=>Eg});function hg(e){let t=yn(e);ne(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:dg,hexToBytes:pg}=di,Rr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Rr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:dg(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Rr,r=typeof e=="string"?pg(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=Rr._parseInt(r.subarray(2)),{d:s,l:a}=Rr._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=f=>Number.parseInt(f[0],16)&8?"00"+f:f,r=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=t(r(e.s)),i=t(r(e.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},Ye=BigInt(0),ae=BigInt(1),I8=BigInt(2),wu=BigInt(3),C8=BigInt(4);function yg(e){let t=hg(e),{Fp:r}=t,n=t.toBytes||((h,p,y)=>{let x=p.toAffine();return Me(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:x}});function o(h){let{a:p,b:y}=t,x=r.sqr(h),v=r.mul(x,h);return r.add(r.add(v,r.mul(h,p)),y)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&Ye<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:y,wrapPrivateKey:x,n:v}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=Ue(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(y*2,"0")}let m;try{m=typeof h=="bigint"?h:Ke(xt("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return x&&(m=ct(m,v)),a(m),m}let f=new Map;function u(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,y,x){if(this.px=p,this.py=y,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:y,y:x}=p||{};if(!p||!r.isValid(y)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let v=m=>r.eql(m,r.ZERO);return v(y)&&v(x)?l.ZERO:new l(y,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(x=>x.pz));return p.map((x,v)=>x.toAffine(y[v])).map(l.fromAffine)}static fromHex(p){let y=l.fromAffine(i(xt("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,f.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y}=this.toAffine();if(!r.isValid(p)||!r.isValid(y))throw new Error("bad point: x or y not FE");let x=r.sqr(y),v=o(p);if(!r.eql(x,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){u(p);let{px:y,py:x,pz:v}=this,{px:m,py:I,pz:S}=p,B=r.eql(r.mul(y,S),r.mul(m,v)),R=r.eql(r.mul(x,S),r.mul(I,v));return B&&R}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=t,x=r.mul(y,wu),{px:v,py:m,pz:I}=this,S=r.ZERO,B=r.ZERO,R=r.ZERO,L=r.mul(v,v),O=r.mul(m,m),M=r.mul(I,I),U=r.mul(v,m);return U=r.add(U,U),R=r.mul(v,I),R=r.add(R,R),S=r.mul(p,R),B=r.mul(x,M),B=r.add(S,B),S=r.sub(O,B),B=r.add(O,B),B=r.mul(S,B),S=r.mul(U,S),R=r.mul(x,R),M=r.mul(p,M),U=r.sub(L,M),U=r.mul(p,U),U=r.add(U,R),R=r.add(L,L),L=r.add(R,L),L=r.add(L,M),L=r.mul(L,U),B=r.add(B,L),M=r.mul(m,I),M=r.add(M,M),L=r.mul(M,U),S=r.sub(S,L),R=r.mul(M,O),R=r.add(R,R),R=r.add(R,R),new l(S,B,R)}add(p){u(p);let{px:y,py:x,pz:v}=this,{px:m,py:I,pz:S}=p,B=r.ZERO,R=r.ZERO,L=r.ZERO,O=t.a,M=r.mul(t.b,wu),U=r.mul(y,m),H=r.mul(x,I),z=r.mul(v,S),Z=r.add(y,x),A=r.add(m,I);Z=r.mul(Z,A),A=r.add(U,H),Z=r.sub(Z,A),A=r.add(y,v);let N=r.add(m,S);return A=r.mul(A,N),N=r.add(U,z),A=r.sub(A,N),N=r.add(x,v),B=r.add(I,S),N=r.mul(N,B),B=r.add(H,z),N=r.sub(N,B),L=r.mul(O,A),B=r.mul(M,z),L=r.add(B,L),B=r.sub(H,L),L=r.add(H,L),R=r.mul(B,L),H=r.add(U,U),H=r.add(H,U),z=r.mul(O,z),A=r.mul(M,A),H=r.add(H,z),z=r.sub(U,z),z=r.mul(O,z),A=r.add(A,z),U=r.mul(H,A),R=r.add(R,U),U=r.mul(N,A),B=r.mul(Z,B),B=r.sub(B,U),U=r.mul(Z,H),L=r.mul(N,L),L=r.add(L,U),new l(B,R,L)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return g.wNAFCached(this,f,p,y=>{let x=r.invertBatch(y.map(v=>v.pz));return y.map((v,m)=>v.toAffine(x[m])).map(l.fromAffine)})}multiplyUnsafe(p){let y=l.ZERO;if(p===Ye)return y;if(a(p),p===ae)return this;let{endo:x}=t;if(!x)return g.unsafeLadder(this,p);let{k1neg:v,k1:m,k2neg:I,k2:S}=x.splitScalar(p),B=y,R=y,L=this;for(;m>Ye||S>Ye;)m&ae&&(B=B.add(L)),S&ae&&(R=R.add(L)),L=L.double(),m>>=ae,S>>=ae;return v&&(B=B.negate()),I&&(R=R.negate()),R=new l(r.mul(R.px,x.beta),R.py,R.pz),B.add(R)}multiply(p){a(p);let y=p,x,v,{endo:m}=t;if(m){let{k1neg:I,k1:S,k2neg:B,k2:R}=m.splitScalar(y),{p:L,f:O}=this.wNAF(S),{p:M,f:U}=this.wNAF(R);L=g.constTimeNegate(I,L),M=g.constTimeNegate(B,M),M=new l(r.mul(M.px,m.beta),M.py,M.pz),x=L.add(M),v=O.add(U)}else{let{p:I,f:S}=this.wNAF(y);x=I,v=S}return l.normalizeZ([x,v])[0]}multiplyAndAddUnsafe(p,y,x){let v=l.BASE,m=(S,B)=>B===Ye||B===ae||!S.equals(v)?S.multiplyUnsafe(B):S.multiply(B),I=m(this,y).add(m(p,x));return I.is0()?void 0:I}toAffine(p){let{px:y,py:x,pz:v}=this,m=this.is0();p==null&&(p=m?r.ONE:r.inv(v));let I=r.mul(y,p),S=r.mul(x,p),B=r.mul(v,p);if(m)return{x:r.ZERO,y:r.ZERO};if(!r.eql(B,r.ONE))throw new Error("invZ was invalid");return{x:I,y:S}}isTorsionFree(){let{h:p,isTorsionFree:y}=t;if(p===ae)return!0;if(y)return y(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:y}=t;return p===ae?this:y?y(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ue(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,g=gi(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function gg(e){let t=yn(e);return ne(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Eu(e){let t=gg(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(A){return Ye<A&&A<r.ORDER}function a(A){return ct(A,n)}function c(A){return pi(A,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:d}=yg({...t,toBytes(A,N,T){let _=N.toAffine(),w=r.toBytes(_.x),k=Me;return T?k(Uint8Array.from([N.hasEvenY()?2:3]),w):k(Uint8Array.from([4]),w,r.toBytes(_.y))},fromBytes(A){let N=A.length,T=A[0],_=A.subarray(1);if(N===i&&(T===2||T===3)){let w=Ke(_);if(!s(w))throw new Error("Point is not on curve");let k=l(w),K=r.sqrt(k),F=(K&ae)===ae;return(T&1)===1!==F&&(K=r.neg(K)),{x:w,y:K}}else if(N===o&&T===4){let w=r.fromBytes(_.subarray(0,r.BYTES)),k=r.fromBytes(_.subarray(r.BYTES,2*r.BYTES));return{x:w,y:k}}else throw new Error(`Point of length ${N} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),g=A=>Ue(je(A,t.nByteLength));function h(A){let N=n>>ae;return A>N}function p(A){return h(A)?a(-A):A}let y=(A,N,T)=>Ke(A.slice(N,T));class x{constructor(N,T,_){this.r=N,this.s=T,this.recovery=_,this.assertValidity()}static fromCompact(N){let T=t.nByteLength;return N=xt("compactSignature",N,T*2),new x(y(N,0,T),y(N,T,2*T))}static fromDER(N){let{r:T,s:_}=Rr.toSig(xt("DER",N));return new x(T,_)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new x(this.r,this.s,N)}recoverPublicKey(N){let{r:T,s:_,recovery:w}=this,k=R(xt("msgHash",N));if(w==null||![0,1,2,3].includes(w))throw new Error("recovery id invalid");let K=w===2||w===3?T+t.n:T;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let F=w&1?"03":"02",$=f.fromHex(F+g(K)),Y=c(K),rt=a(-k*Y),X=a(_*Y),J=f.BASE.multiplyAndAddUnsafe($,rt,X);if(!J)throw new Error("point at infinify");return J.assertValidity(),J}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return pr(this.toDERHex())}toDERHex(){return Rr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return pr(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let v={isValidPrivateKey(A){try{return u(A),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let A=Ho(t.n);return k0(t.randomBytes(A),t.n)},precompute(A=8,N=f.BASE){return N._setWindowSize(A),N.multiply(BigInt(3)),N}};function m(A,N=!0){return f.fromPrivateKey(A).toRawBytes(N)}function I(A){let N=A instanceof Uint8Array,T=typeof A=="string",_=(N||T)&&A.length;return N?_===i||_===o:T?_===2*i||_===2*o:A instanceof f}function S(A,N,T=!0){if(I(A))throw new Error("first arg must be private key");if(!I(N))throw new Error("second arg must be public key");return f.fromHex(N).multiply(u(A)).toRawBytes(T)}let B=t.bits2int||function(A){let N=Ke(A),T=A.length*8-t.nBitLength;return T>0?N>>BigInt(T):N},R=t.bits2int_modN||function(A){return a(B(A))},L=pn(t.nBitLength);function O(A){if(typeof A!="bigint")throw new Error("bigint expected");if(!(Ye<=A&&A<L))throw new Error(`bigint expected < 2^${t.nBitLength}`);return je(A,t.nByteLength)}function M(A,N,T=U){if(["recovered","canonical"].some(ht=>ht in T))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:w}=t,{lowS:k,prehash:K,extraEntropy:F}=T;k==null&&(k=!0),A=xt("msgHash",A),K&&(A=xt("prehashed msgHash",_(A)));let $=R(A),Y=u(N),rt=[O(Y),O($)];if(F!=null){let ht=F===!0?w(r.BYTES):F;rt.push(xt("extraEntropy",ht))}let X=Me(...rt),J=$;function pt(ht){let Ft=B(ht);if(!d(Ft))return;let qt=c(Ft),Pt=f.BASE.multiply(Ft).toAffine(),Gt=a(Pt.x);if(Gt===Ye)return;let Pe=a(qt*a(J+Gt*Y));if(Pe===Ye)return;let ur=(Pt.x===Gt?0:2)|Number(Pt.y&ae),fn=Pe;return k&&h(Pe)&&(fn=p(Pe),ur^=1),new x(Gt,fn,ur)}return{seed:X,k2sig:pt}}let U={lowS:t.lowS,prehash:!1},H={lowS:t.lowS,prehash:!1};function z(A,N,T=U){let{seed:_,k2sig:w}=M(A,N,T),k=t;return Oo(k.hash.outputLen,k.nByteLength,k.hmac)(_,w)}f.BASE._setWindowSize(8);function Z(A,N,T,_=H){let w=A;if(N=xt("msgHash",N),T=xt("publicKey",T),"strict"in _)throw new Error("options.strict was renamed to lowS");let{lowS:k,prehash:K}=_,F,$;try{if(typeof w=="string"||w instanceof Uint8Array)try{F=x.fromDER(w)}catch(Pt){if(!(Pt instanceof Rr.Err))throw Pt;F=x.fromCompact(w)}else if(typeof w=="object"&&typeof w.r=="bigint"&&typeof w.s=="bigint"){let{r:Pt,s:Gt}=w;F=new x(Pt,Gt)}else throw new Error("PARSE");$=f.fromHex(T)}catch(Pt){if(Pt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&F.hasHighS())return!1;K&&(N=t.hash(N));let{r:Y,s:rt}=F,X=R(N),J=c(rt),pt=a(X*J),ht=a(Y*J),Ft=f.BASE.multiplyAndAddUnsafe($,pt,ht)?.toAffine();return Ft?a(Ft.x)===Y:!1}return{CURVE:t,getPublicKey:m,getSharedSecret:S,sign:z,verify:Z,ProjectivePoint:f,Signature:x,utils:v}}function xg(e){return{hash:e,hmac:(t,...r)=>qr(e,t,ci(...r)),randomBytes:dr}}function Su(e,t){let r=n=>Eu({...e,...xg(n)});return Object.freeze({...r(t),create:r})}var Iu=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Bu=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),mg=BigInt(1),ua=BigInt(2),Au=(e,t)=>(e+t/ua)/t;function bg(e){let t=Iu,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=e*e*e%t,u=f*f*e%t,l=mt(u,r,t)*u%t,d=mt(l,r,t)*u%t,g=mt(d,ua,t)*f%t,h=mt(g,i,t)*g%t,p=mt(h,o,t)*h%t,y=mt(p,a,t)*p%t,x=mt(y,c,t)*y%t,v=mt(x,a,t)*p%t,m=mt(v,r,t)*u%t,I=mt(m,s,t)*h%t,S=mt(I,n,t)*f%t,B=mt(S,ua,t);if(!la.eql(la.sqr(B),e))throw new Error("Cannot find square root");return B}var la=yi(Iu,void 0,void 0,{sqrt:bg}),ve=Su({a:BigInt(0),b:BigInt(7),Fp:la,n:Bu,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Bu,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-mg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Au(o*e,t),c=Au(-n*e,t),f=ct(e-a*r-c*i,t),u=ct(-a*n-c*o,t),l=f>s,d=u>s;if(l&&(f=t-f),d&&(u=t-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:f,k2neg:d,k2:u}}}},Hr),U8=BigInt(0);var K8=ve.ProjectivePoint;function Cu(){return ve.utils.randomPrivateKey()}function Tu(e,t){let r=zt.digest(t instanceof Uint8Array?t:t.subarray());if(se(r))return r.then(({digest:n})=>ve.sign(n,e).toDERRawBytes()).catch(n=>{throw new et(String(n),"ERR_INVALID_INPUT")});try{return ve.sign(r.digest,e).toDERRawBytes()}catch(n){throw new et(String(n),"ERR_INVALID_INPUT")}}function _u(e,t,r){let n=zt.digest(r instanceof Uint8Array?r:r.subarray());if(se(n))return n.then(({digest:i})=>ve.verify(t,i,e)).catch(i=>{throw new et(String(i),"ERR_INVALID_INPUT")});try{return ve.verify(t,n.digest,e)}catch(i){throw new et(String(i),"ERR_INVALID_INPUT")}}function Lu(e){return ve.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Ru(e){try{ve.getPublicKey(e,!0)}catch(t){throw new et(String(t),"ERR_INVALID_PRIVATE_KEY")}}function ha(e){try{ve.ProjectivePoint.fromHex(e)}catch(t){throw new et(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Nu(e){try{return ve.getPublicKey(e,!0)}catch(t){throw new et(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Mn=class{_key;constructor(t){ha(t),this._key=t}verify(t,r){return _u(this._key,r,t)}marshal(){return Lu(this._key)}get bytes(){return _e.encode({Type:St.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let t=zt.digest(this.bytes),r;return se(t)?{bytes:r}=await t:r=t.bytes,r}},Vn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Nu(t),Ru(this._key),ha(this._publicKey)}sign(t){return Tu(this._key,t)}get public(){return new Mn(this._publicKey)}marshal(){return this._key}get bytes(){return Le.encode({Type:St.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return ot(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return jr(this.bytes,t);throw new et(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function wg(e){return new Vn(e)}function Eg(e){return new Mn(e)}async function Sg(){let e=Cu();return new Vn(e)}var Nr={rsa:fa,ed25519:ia,secp256k1:da};function Pu(e){let t=Object.keys(Nr).join(" / ");return new et(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Du(e){let t=_e.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case St.RSA:return Nr.rsa.unmarshalRsaPublicKey(r);case St.Ed25519:return Nr.ed25519.unmarshalEd25519PublicKey(r);case St.Secp256k1:return Nr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Pu(t.Type??"unknown")}}async function ku(e){let t=Le.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case St.RSA:return Nr.rsa.unmarshalRsaPrivateKey(r);case St.Ed25519:return Nr.ed25519.unmarshalEd25519PrivateKey(r);case St.Secp256k1:return Nr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Pu(t.Type??"RSA")}}var Ag=Symbol.for("nodejs.util.inspect.custom"),Uu=Object.values(Te).map(e=>e.decoder).reduce((e,t)=>e.or(t),Te.identity.decoder),Ku=114,pa=36,ya=37,Fn=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[vf]=!0;toString(){return this.string==null&&(this.string=_t.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return xe.createV1(Ku,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return It(this.multihash.bytes,t);if(typeof t=="string")return ga(t).equals(this);if(t?.multihash?.bytes!=null)return It(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Ag](){return`PeerId(${this.toString()})`}},nn=class extends Fn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},on=class extends Fn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},sn=class extends Fn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function ga(e,t){if(t=t??Uu,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=ar(_t.decode(`z${e}`));return e.startsWith("12D")?new on({multihash:r}):e.startsWith("16U")?new sn({multihash:r}):new nn({multihash:r})}return Ig(Uu.decode(e))}function Ig(e){try{let t=ar(e);if(t.code===cr.code){if(t.digest.length===pa)return new on({multihash:t});if(t.digest.length===ya)return new sn({multihash:t})}if(t.code===zt.code)return new nn({multihash:t})}catch{return Cg(xe.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Cg(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Ku)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===zt.code)return new nn({multihash:e.multihash});if(t.code===cr.code){if(t.digest.length===pa)return new on({multihash:e.multihash});if(t.digest.length===ya)return new sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function xa(e,t){return e.length===pa?new on({multihash:ge(cr.code,e),privateKey:t}):e.length===ya?new sn({multihash:ge(cr.code,e),privateKey:t}):new nn({multihash:await zt.digest(e),publicKey:e,privateKey:t})}var $i;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})($i||($i={}));var qn;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),$i.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:nt(0),identitySig:nt(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=$i.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})(qn||(qn={}));async function Ou(e,t,r){let n=await _g(e,Mu(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return Tg(e.publicKey,n,r)}function Tg(e,t,r){return qn.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function _g(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await ku(e.privateKey)).sign(t)}async function ma(e){return xa(e.identityKey)}function ba(e){return qn.decode(e)}function Mu(e){let t=Bt("noise-libp2p-static-key:");return e instanceof Uint8Array?At([t,e],t.length+e.length):(e.prepend(t),e)}async function va(e,t,r){let n=await xa(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=Mu(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Du(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Hn(e){return!(!(e instanceof Uint8Array)&&!Pr(e)||e.byteLength!==32)}var Lg=0,Rg=4294967295,Ng="Cipherstate has reached maximum n, a new handshake must be performed",Yi=class{n;bytes;view;constructor(t=Lg){this.n=t,this.bytes=nt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>Rg)throw new Error(Ng)}};var Zi=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return nt(32)}isEmptyKey(t){let r=this.createEmptyKey();return It(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:nt(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return this.log.error("error deriving shared key",i),nt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new Ct(t,r))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new Yi}}initializeSymmetric(t){let r=Bt(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=nt(32);return r.set(t),r}else return this.getHash(t,nt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,nt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,nt(0),r),i=this.createEmptyKey(),o=nt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,nt(0),r.ciphertext)}};var Xi=class extends Zi{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=nt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=nt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=nt(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:f}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:f}}readMessageA(t,r){return Hn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Hn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Hn(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Hn(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=nt(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=nt(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:f}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=f}return t.mc++,{plaintext:n,valid:i}}};function Vu(e,t){!t.enabled||!Ur||(t(`LOCAL_STATIC_PUBLIC_KEY ${ot(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${ot(e.privateKey,"hex")}`))}function wa(e,t){!t.enabled||!Ur||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${ot(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${ot(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function Fu(e,t){!t.enabled||!Ur||t(`REMOTE_STATIC_PUBLIC_KEY ${ot(e.subarray(),"hex")}`)}function Ea(e,t){!t.enabled||!Ur||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${ot(e.subarray(),"hex")}`)}function qu(e,t){!t.enabled||!Ur||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${ot(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${ot(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var Qi=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,f){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=f??new Xi(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Vu(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,nt(0));await this.connection.write($0(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),wa(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=X0((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new gr("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),Ea(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Q0((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new gr("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),Ea(this.session.hs.re,this.log),Fu(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=ba(r);this.remotePeer=this.remotePeer||await ma(i),await va(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new wn(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Y0(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),wa(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Z0(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=J0((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new gr("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=ba(r);this.remotePeer=this.remotePeer||await ma(i),await va(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new wn(`Error occurred while verifying signed payload: ${o.message}`)}}qu(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,nt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,nt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new gr("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function Hu(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var Ji=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??W0,this.extensions=i,this.metrics=a?Hu(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??nt(0)}async secureOutbound(t,r,n){let i=bo(r,{lengthEncoder:zr,lengthDecoder:bn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=bo(r,{lengthEncoder:zr,lengthDecoder:bn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await Ou(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new Qi(this.components,n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=c0(),o=t.unwrap();return await u0(n,ec(r,this.metrics),o,s=>hn(s,{lengthDecoder:bn}),rc(r,this.metrics),n),i}};function zu(e={}){return t=>new Ji(t,e)}var ji=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(o*=t,o+=u,o>f||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Gu=45,Pg=15,an=new ji;function Sa(e){if(!(e.length>Pg))return an.new(e).parseWith(()=>an.readIPv4Addr())}function Ba(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Gu))return an.new(e).parseWith(()=>an.readIPv6Addr())}function to(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Gu))return an.new(e).parseWith(()=>an.readIPAddr())}var NE=parseInt("0xFFFF",16),PE=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function eo(e){return!!Sa(e)}function ro(e){return!!Ba(e)}function no(e){return!!to(e)}var Yu=eo,Og=ro,Aa=function(e){let t=0;if(e=e.toString().trim(),Yu(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Og(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=Yu(r[n]),s;o&&(s=Aa(r[n]),r[n]=ot(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,ot(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},Zu=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var cn={},Ia={},Vg=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];Vg.forEach(e=>{let t=Fg(...e);Ia[t.code]=t,cn[t.name]=t});function Fg(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function lt(e){if(typeof e=="number"){if(Ia[e]!=null)return Ia[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(cn[e]!=null)return cn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var gS=lt("ip4"),xS=lt("ip6"),mS=lt("ipcidr");function Ta(e,t){switch(lt(e).code){case 4:case 41:return Hg(t);case 42:return Ju(t);case 6:case 273:case 33:case 132:return tl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ju(t);case 421:return $g(t);case 444:return ju(t);case 445:return ju(t);case 466:return Wg(t);default:return ot(t,"base16")}}function _a(e,t){switch(lt(e).code){case 4:return Xu(t);case 41:return Xu(t);case 42:return Qu(t);case 6:case 273:case 33:case 132:return La(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qu(t);case 421:return zg(t);case 444:return Yg(t);case 445:return Zg(t);case 466:return Gg(t);default:return Bt(t,"base16")}}var Ca=Object.values(Te).map(e=>e.decoder),qg=function(){let e=Ca[0].or(Ca[1]);return Ca.slice(2).forEach(t=>e=e.or(t)),e}();function Xu(e){if(!no(e))throw new Error("invalid ip address");return Aa(e)}function Hg(e){let t=Zu(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!no(t))throw new Error("invalid ip address");return t}function La(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function tl(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Qu(e){let t=Bt(e),r=Uint8Array.from(Ze(t.length));return At([r,t],r.length+t.length)}function Ju(e){let t=fe(e);if(e=e.slice($t(t)),e.length!==t)throw new Error("inconsistent lengths");return ot(e)}function zg(e){let t;e[0]==="Q"||e[0]==="1"?t=ar(_t.decode(`z${e}`)).bytes:t=xe.parse(e).multihash.bytes;let r=Uint8Array.from(Ze(t.length));return At([r,t],r.length+t.length)}function Gg(e){let t=qg.decode(e),r=Uint8Array.from(Ze(t.length));return At([r,t],r.length+t.length)}function Wg(e){let t=fe(e),r=e.slice($t(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+ot(r,"base64url")}function $g(e){let t=fe(e),r=e.slice($t(t));if(r.length!==t)throw new Error("inconsistent lengths");return ot(r,"base58btc")}function Yg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=La(n);return At([r,i],r.length+i.length)}function Zg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=La(n);return At([r,i],r.length+i.length)}function ju(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=ot(t,"base32"),i=tl(r);return`${n}:${i}`}function el(e){e=Ra(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=lt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw nl("invalid address: "+e);if(a.path===!0){n=Ra(i.slice(o).join("/")),t.push([a.code,_a(a.code,n)]),r.push([a.code,n]);break}let c=_a(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Ta(a.code,c)])}return{string:rl(r),bytes:Pa(t),tuples:t,stringTuples:r,path:n}}function Na(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=fe(e,i),s=$t(o),a=lt(o),c=Xg(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let f=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw nl("Invalid address Uint8Array: "+ot(e,"base16"));t.push([o,f]);let u=Ta(o,f);if(r.push([o,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(e),string:rl(r),tuples:t,stringTuples:r,path:n}}function rl(e){let t=[];return e.map(r=>{let n=lt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ra(t.join("/"))}function Pa(e){return At(e.map(t=>{let r=lt(t[0]),n=Uint8Array.from(Ze(r.code));return t.length>1&&t[1]!=null&&(n=At([n,t[1]])),n}))}function Xg(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=fe(t instanceof Uint8Array?t:Uint8Array.from(t));return r+$t(r)}}function Ra(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function nl(e){return new Error("Error parsing address: "+e)}var Qg=Symbol.for("nodejs.util.inspect.custom"),ka=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Jg=[lt("dns").code,lt("dns4").code,lt("dns6").code,lt("dnsaddr").code],Da=class e{bytes;#e;#t;#r;#n;[ka]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Na(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=el(t)}else if(ol(t))r=Na(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=lt("tcp"),a=lt("udp"),c=lt("ip4"),f=lt("ip6"),u=lt("dns6"),l=lt("ip6zone");for(let[g,h]of this.stringTuples())g===l.code&&(o=`%${h??""}`),Jg.includes(g)&&(r=s.name,i=443,n=`${h??""}${o}`,t=g===u.code?6:4),(g===s.code||g===a.code)&&(r=lt(g).name,i=parseInt(h??"")),(g===c.code||g===f.code)&&(r=lt(g).name,n=`${h??""}${o}`,t=g===f.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#t.map(([t])=>Object.assign({},lt(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>lt(t).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Pa(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===cn.p2p.code&&t.push([n,i]),n===cn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ot(_t.decode(`z${n}`),"base58btc"):ot(xe.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return It(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=il.get(r.name);if(n==null)throw new et(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Qg](){return`Multiaddr(${this.#e})`}};var il=new Map;function ol(e){return!!e?.[ka]}var jg=e=>e.toString().split("/").slice(1),zn=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),Lt=e=>({match:t=>zn(r=>r===e).match(t),pattern:e}),so=()=>({match:e=>zn(t=>typeof t=="string").match(e),pattern:"{string}"}),sl=()=>({match:e=>zn(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),ce=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{_t.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),io=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{Rs.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),Re=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),Ne=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Rt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Kt(...e){function t(i){let o=jg(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var Ka=Rt(Lt("dns4"),so()),Oa=Rt(Lt("dns6"),so()),Ma=Rt(Lt("dnsaddr"),so()),al=Rt(Lt("dns"),so()),YS=Kt(Ka),ZS=Kt(Oa),XS=Kt(Ma),QS=Kt(Ne(al,Ma,Ka,Oa)),cl=Rt(Lt("ip4"),zn(eo)),fl=Rt(Lt("ip6"),zn(ro)),ul=Ne(cl,fl),Gn=Ne(ul,al,Ka,Oa,Ma),JS=Kt(Gn),jS=Kt(cl),t3=Kt(fl),e3=Kt(ul),ao=Rt(Gn,Lt("tcp"),sl()),Wn=Rt(Gn,Lt("udp"),sl()),tx=Ne(ao,Wn),r3=Kt(ao),n3=Kt(Wn),Va=Rt(Wn,Lt("quic")),co=Rt(Wn,Lt("quic-v1")),ex=Ne(Va,co),i3=Kt(Va),o3=Kt(co),Ua=Ne(Gn,ao,Wn,Va,co),ll=Ne(Rt(Ua,Lt("ws"),Re(ce()))),s3=Kt(ll),hl=Ne(Rt(Ua,Lt("wss"),Re(ce())),Rt(Ua,Lt("tls"),Lt("ws"),Re(ce()))),a3=Kt(hl),dl=Rt(tx,Lt("webrtc-direct"),io(),Re(io()),Re(ce())),c3=Kt(dl),pl=Rt(co,Lt("webtransport"),io(),io(),Re(ce())),fo=Kt(pl),oo=Ne(ll,hl,Rt(ao,Re(ce())),Rt(ex,Re(ce())),Rt(Gn,Re(ce())),dl,pl,ce()),f3=Kt(oo),rx=Rt(oo,Lt("p2p-circuit"),ce()),u3=Kt(rx),nx=Ne(Rt(oo,Lt("p2p-circuit"),Lt("webrtc"),ce()),Rt(oo,Lt("webrtc"),Re(ce())),Lt("webrtc")),l3=Kt(nx);async function Fa(e,t,r,n,i,o){let s=o.forComponent(`libp2p:webtransport:stream:${r}:${t}`),a=e.writable.getWriter(),c=e.readable.getReader();await a.ready;function f(){let h=n.findIndex(p=>p===g);h!==-1&&(n.splice(h,1),g.timeline.close=Date.now(),i?.(g))}let u=!1,l=!1;(async function(){let h=await a.closed.catch(p=>p);if(h!=null){let p=h.message;p.includes("aborted by the remote server")||p.includes("STOP_SENDING")||s.error(`WebTransport writer closed unexpectedly: streamId=${t} err=${h.message}`)}u=!0,u&&l&&f()})().catch(()=>{s.error("WebTransport failed to cleanup closed stream")}),async function(){let h=await c.closed.catch(p=>p);h!=null&&s.error(`WebTransport reader closed unexpectedly: streamId=${t} err=${h.message}`),l=!0,u&&l&&f()}().catch(()=>{s.error("WebTransport failed to cleanup closed stream")});let d=!1,g={id:t,status:"open",writeStatus:"ready",readStatus:"ready",abort(h){u||(a.abort(h).catch(p=>{s.error("could not abort stream",p)}),u=!0),l=!0,this.status="aborted",this.writeStatus="closed",this.readStatus="closed",this.timeline.reset=this.timeline.close=this.timeline.closeRead=this.timeline.closeWrite=Date.now(),f()},async close(h){this.status="closing",await Promise.all([g.closeRead(h),g.closeWrite(h)]),f(),this.status="closed",this.timeline.close=Date.now()},async closeRead(h){if(!l){this.readStatus="closing";try{await c.cancel()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(u=!0)}this.timeline.closeRead=Date.now(),this.readStatus="closed",l=!0}u&&f()},async closeWrite(h){if(!u){u=!0,this.writeStatus="closing";try{await a.close()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(l=!0)}this.timeline.closeWrite=Date.now(),this.writeStatus="closed"}l&&f()},direction:r,timeline:{open:Date.now()},metadata:{},source:async function*(){for(;;){let h=await c.read();if(h.done){l=!0,u&&f();return}yield new Ct(h.value)}}(),sink:async function(h){if(d)throw new Error("sink already called on stream");d=!0;try{this.writeStatus="writing";for await(let p of h)if(p instanceof Uint8Array)await a.write(p);else for(let y of p)await a.write(y);this.writeStatus="done"}finally{this.timeline.closeWrite=Date.now(),this.writeStatus="closed",await g.closeWrite()}},log:s};return g}function qa(){return{source:{[Symbol.asyncIterator](){return{async next(){return new Promise(()=>{})}}}},sink:async e=>new Promise(()=>{})}}function yl(e,t){return t.filter(n=>!!e.find(i=>It(n,i))).length===t.length}var ix=Object.values(Te).map(e=>e.decoder).reduce((e,t)=>e.or(t));function ox(e){return Ce.decode(ix.decode(e))}function gl(e){if(!fo.matches(e))throw new et("Invalid multiaddr, was not a WebTransport address","ERR_INVALID_MULTIADDR");let t=e.stringTuples(),r=t.filter(([s,a])=>s===lt("certhash").code).map(([s,a])=>ox(a??"")),n=t.filter(([s,a])=>s===lt("p2p").code).map(([s,a])=>ga(a??""))[0],i=e.toOptions(),o=i.host;return i.family===6&&o?.includes(":")&&(o=`[${o}]`),{url:`https://${o}:${i.port}`,certhashes:r,remotePeer:n}}var Ha=class{log;components;config;metrics;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webtransport"),this.components=t,this.config={maxInboundStreams:r.maxInboundStreams??1e3},t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webtransport_dialer_events_total",{label:"event",help:"Total count of WebTransport dialer events by type"})})}[Symbol.toStringTag]="@libp2p/webtransport";[Sf]=!0;async dial(t,r){r?.signal?.throwIfAborted(),this.log("dialing %s",t);let n=this.components.peerId;if(n===void 0)throw new Error("Need a local peerid");r=r??{};let{url:i,certhashes:o,remotePeer:s}=gl(t);if(s==null)throw new Error("Need a target peerid");if(o.length===0)throw new Error("Expected multiaddr to contain certhashes");let a,c,f=()=>{},u=!1,l=!1,d=!1;try{this.metrics?.dialerEvents.increment({pending:!0});let g=new WebTransport(`${i}/.well-known/libp2p-webtransport?type=noise`,{serverCertificateHashes:o.map(h=>({algorithm:"sha-256",value:h.digest}))});if(f=h=>{if(!u)try{this.metrics?.dialerEvents.increment({[h]:!0}),g.close()}catch(p){this.log.error("error closing wt session",p)}finally{c!=null&&(c.timeline.close=Date.now()),u=!0}},a=()=>{f(l?"noise_timeout":"ready_timeout")},r.signal?.addEventListener("abort",a,{once:!0}),await Promise.race([g.closed,g.ready]),l=!0,this.metrics?.dialerEvents.increment({ready:!0}),g.closed.catch(h=>{this.log.error("error on remote wt session close",h)}).finally(()=>{f("remote_close")}),!await this.authenticateWebTransport(g,n,s,o))throw new Error("Failed to authenticate webtransport");return this.metrics?.dialerEvents.increment({open:!0}),c={close:async()=>{this.log("Closing webtransport"),f("close")},abort:h=>{this.log("aborting webtransport due to passed err",h),f("abort")},remoteAddr:t,timeline:{open:Date.now()},log:this.components.logger.forComponent("libp2p:webtransport:maconn"),...qa()},d=!0,await r.upgrader.upgradeOutbound(c,{skipEncryption:!0,muxerFactory:this.webtransportMuxer(g),skipProtection:!0})}catch(g){throw this.log.error("caught wt session err",g),f(d?"upgrade_error":l?"noise_error":"ready_error"),g}finally{a!=null&&r.signal?.removeEventListener("abort",a)}}async authenticateWebTransport(t,r,n,i){let o=await t.createBidirectionalStream(),s=o.writable.getWriter(),a=o.readable.getReader();await s.ready;let c={source:async function*(){for(;;){let l=await a.read();if(l.value!=null&&(yield l.value),l.done)break}}(),sink:async function(l){for await(let d of l)d instanceof Uint8Array?await s.write(d):await s.write(d.subarray())}},f=zu()(this.components),{remoteExtensions:u}=await f.secureOutbound(r,c,n);if(s.close().catch(l=>{this.log.error(`Failed to close authentication stream writer: ${l.message}`)}),a.cancel().catch(l=>{this.log.error(`Failed to close authentication stream reader: ${l.message}`)}),!yl(u?.webtransportCerthashes??[],i.map(l=>l.bytes)))throw new Error("Our certhashes are not a subset of the remote's reported certhashes");return!0}webtransportMuxer(t){let r=0,n=this.config,i=this;return{protocol:"webtransport",createStreamMuxer:o=>{typeof o=="function"&&(o={onIncomingStream:o});let s=[];return async function(){let c=t.incomingBidirectionalStreams.getReader();for(;;){let{done:f,value:u}=await c.read();if(f)break;if(s.length>=n.maxInboundStreams)u.writable.close().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)}),u.readable.cancel().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)});else{let l=await Fa(u,String(r++),"inbound",s,o?.onStreamEnd,i.components.logger);s.push(l),o?.onIncomingStream?.(l)}}}().catch(()=>{this.log.error("WebTransport failed to receive incoming stream")}),{protocol:"webtransport",streams:s,newStream:async c=>{let f=await t.createBidirectionalStream(),u=await Fa(f,String(r++),o?.direction??"outbound",s,o?.onStreamEnd,i.components.logger);return s.push(u),u},close:async c=>{this.log("Closing webtransport muxer"),await Promise.all(s.map(async f=>f.close(c)))},abort:c=>{this.log("Aborting webtransport muxer with err:",c);for(let f of s)f.abort(c)},...qa()}}}}createListener(t){throw new Error("Webtransport servers are not supported in Node or the browser")}filter(t){return t.filter(fo.exactMatch)}};function sx(e={}){return t=>new Ha(t,e)}return Ll(ax);})();
15
+ `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function Rd(e){return e.replace(/^\s+/,"")}});var Uc=yt((W2,kc)=>{var Ee=dt();mr();Nt();var Nc=kc.exports=Ee.sha256=Ee.sha256||{};Ee.md.sha256=Ee.md.algorithms.sha256=Nc;Nc.create=function(){Pc||Nd();var e=null,t=Ee.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Ee.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ee.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),Rc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ee.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(us.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};Rc(l,r,i);var d=Ee.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var us=null,Pc=!1,Dc=null;function Nd(){us="\x80",us+=Ee.util.fillString("\0",64),Dc=[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],Pc=!0}function Rc(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v=r.length();v>=64;){for(f=0;f<16;++f)t[f]=r.getInt32();for(;f<64;++f)n=t[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[f]=n+t[f-7]+i+t[f-16]|0;for(u=e.h0,l=e.h1,d=e.h2,g=e.h3,h=e.h4,p=e.h5,y=e.h6,x=e.h7,f=0;f<64;++f)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(p^y),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&l|d&(u^l),n=x+s+a+Dc[f]+t[f],i=o+c,x=y,y=p,p=h,h=g+n>>>0,g=d,d=l,l=u,u=n+i>>>0;e.h0=e.h0+u|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+g|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+y|0,e.h7=e.h7+x|0,v-=64}}});var Oc=yt(($2,Kc)=>{var Se=dt();Nt();var Ri=null;Se.util.isNodejs&&!Se.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ri=Ti());var Pd=Kc.exports=Se.prng=Se.prng||{};Pd.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(f,u){if(!u)return t.generateSync(f);var l=t.plugin.cipher,d=t.plugin.increment,g=t.plugin.formatKey,h=t.plugin.formatSeed,p=Se.util.createBuffer();t.key=null,y();function y(x){if(x)return u(x);if(p.length()>=f)return u(null,p.getBytes(f));if(t.generated>1048575&&(t.key=null),t.key===null)return Se.util.nextTick(function(){o(y)});var v=l(t.key,t.seed);t.generated+=v.length,p.putBytes(v),t.key=g(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Se.util.setImmediate(y)}},t.generateSync=function(f){var u=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,g=t.plugin.formatSeed;t.key=null;for(var h=Se.util.createBuffer();h.length()<f;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=u(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(u(t.key,l(t.seed))),t.seed=g(u(t.key,t.seed))}return h.getBytes(f)};function o(f){if(t.pools[0].messageLength>=32)return a(),f();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(l,d){if(l)return f(l);t.collect(d),a(),f()})}function s(){if(t.pools[0].messageLength>=32)return a();var f=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(f)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var f=t.plugin.md.create();f.update(t.keyBytes);for(var u=1,l=0;l<32;++l)t.reseeds%u===0&&(f.update(t.pools[l].digest().getBytes()),t.pools[l].start()),u=u<<1;t.keyBytes=f.digest().getBytes(),f.start(),f.update(t.keyBytes);var d=f.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(f){var u=null,l=Se.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(u=function(S){return d.getRandomValues(S)});var g=Se.util.createBuffer();if(u)for(;g.length()<f;){var h=Math.max(1,Math.min(f-g.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{u(p);for(var y=0;y<p.length;++y)g.putInt32(p[y])}catch(S){if(!(typeof QuotaExceededError<"u"&&S instanceof QuotaExceededError))throw S}}if(g.length()<f)for(var x,v,m,I=Math.floor(Math.random()*65536);g.length()<f;){v=16807*(I&65535),x=16807*(I>>16),v+=(x&32767)<<16,v+=x>>15,v=(v&2147483647)+(v>>31),I=v&4294967295;for(var y=0;y<3;++y)m=I>>>(y<<3),m^=Math.floor(Math.random()*256),g.putByte(m&255)}return g.getBytes(f)}return Ri?(t.seedFile=function(f,u){Ri.randomBytes(f,function(l,d){if(l)return u(l);u(null,d.toString())})},t.seedFileSync=function(f){return Ri.randomBytes(f).toString()}):(t.seedFile=function(f,u){try{u(null,c(f))}catch(l){u(l)}},t.seedFileSync=c),t.collect=function(f){for(var u=f.length,l=0;l<u;++l)t.pools[t.pool].update(f.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(f,u){for(var l="",d=0;d<u;d+=8)l+=String.fromCharCode(f>>d&255);t.collect(l)},t.registerWorker=function(f){if(f===self)t.seedFile=function(l,d){function g(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",g),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:l}}})};else{var u=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(g,h){f.postMessage({forge:{prng:{err:g,bytes:h}}})})};f.addEventListener("message",u)}},t}});var In=yt((Y2,ls)=>{var Vt=dt();fs();Uc();Oc();Nt();(function(){if(Vt.random&&Vt.random.getBytes){ls.exports=Vt.random;return}(function(e){var t={},r=new Array(4),n=Vt.util.createBuffer();t.formatKey=function(l){var d=Vt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Vt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Vt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Vt.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Vt.md.sha256;function i(){var l=Vt.prng.create(t);return l.getBytes=function(d,g){return l.generate(d,g)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Vt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Vt.options.usePureJavaScript||!Vt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var u in navigator)try{typeof navigator[u]=="string"&&(f+=navigator[u])}catch{}o.collect(f),f=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Vt.random)Vt.random=o;else for(var u in o)Vt.random[u]=o[u];Vt.random.createInstance=i,ls.exports=Vt.random})(typeof jQuery<"u"?jQuery:null)})()});var qc=yt((Z2,Fc)=>{var Jt=dt();Nt();var hs=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],Mc=[1,2,3,5],Dd=function(e,t){return e<<t&65535|(e&65535)>>16-t},kd=function(e,t){return(e&65535)>>t|e<<16-t&65535};Fc.exports=Jt.rc2=Jt.rc2||{};Jt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Jt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(hs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,hs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,hs[r.at(a+1)^r.at(a+o)]);return r};var Vc=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,f,u,l=[];for(e=Jt.rc2.expandKey(e,t),f=0;f<64;f++)l.push(e.getInt16Le());r?(a=function(h){for(f=0;f<4;f++)h[f]+=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),h[f]=Dd(h[f],Mc[f]),u++},c=function(h){for(f=0;f<4;f++)h[f]+=l[h[(f+3)%4]&63]}):(a=function(h){for(f=3;f>=0;f--)h[f]=kd(h[f],Mc[f]),h[f]-=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),u--},c=function(h){for(f=3;f>=0;f--)h[f]-=l[h[(f+3)%4]&63]});var d=function(h){var p=[];for(f=0;f<4;f++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),p.push(y&65535)}u=r?0:63;for(var x=0;x<h.length;x++)for(var v=0;v<h[x][0];v++)h[x][1](p);for(f=0;f<4;f++)s!==null&&(r?s.putInt16Le(p[f]):p[f]^=s.getInt16Le()),o.putInt16Le(p[f])},g=null;return g={start:function(h,p){h&&typeof h=="string"&&(h=Jt.util.createBuffer(h)),n=!1,i=Jt.util.createBuffer(),o=p||new Jt.util.createBuffer,s=h,g.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(p&&(n=!0,g.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var x=o.length(),v=o.at(x-1);v>x?p=!1:o.truncate(v)}return p}},g};Jt.rc2.startEncrypting=function(e,t,r){var n=Jt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Jt.rc2.createEncryptionCipher=function(e,t){return Vc(e,t,!0)};Jt.rc2.startDecrypting=function(e,t,r){var n=Jt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Jt.rc2.createDecryptionCipher=function(e,t){return Vc(e,t,!1)}});var Di=yt((X2,Xc)=>{var ds=dt();Xc.exports=ds.jsbn=ds.jsbn||{};var He,Ud=0xdeadbeefcafe,Hc=(Ud&16777215)==15715070;function P(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}ds.jsbn.BigInteger=P;function at(){return new P(null)}function Kd(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function Od(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,f=this.data[e++]>>15,u=a*c+f*s;c=s*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*f+(i>>>30),r.data[n++]=c&1073741823}return i}function zc(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,f=this.data[e++]>>14,u=a*c+f*s;c=s*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*f,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(P.prototype.am=zc,He=28):Hc&&navigator.appName=="Microsoft Internet Explorer"?(P.prototype.am=Od,He=30):Hc&&navigator.appName!="Netscape"?(P.prototype.am=Kd,He=26):(P.prototype.am=zc,He=28);P.prototype.DB=He;P.prototype.DM=(1<<He)-1;P.prototype.DV=1<<He;var ps=52;P.prototype.FV=Math.pow(2,ps);P.prototype.F1=ps-He;P.prototype.F2=2*He-ps;var Md="0123456789abcdefghijklmnopqrstuvwxyz",Ni=new Array,$r,ie;$r=48;for(ie=0;ie<=9;++ie)Ni[$r++]=ie;$r=97;for(ie=10;ie<36;++ie)Ni[$r++]=ie;$r=65;for(ie=10;ie<36;++ie)Ni[$r++]=ie;function Gc(e){return Md.charAt(e)}function Wc(e,t){var r=Ni[e.charCodeAt(t)];return r??-1}function Vd(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Fd(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function ir(e){var t=at();return t.fromInt(e),t}function qd(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:Wc(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&P.ZERO.subTo(this,this)}function Hd(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function zd(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=Gc(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=Gc(n));return i?o:"0"}function Gd(){var e=at();return P.ZERO.subTo(this,e),e}function Wd(){return this.s<0?this.negate():this}function $d(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Pi(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function Yd(){return this.t<=0?0:this.DB*(this.t-1)+Pi(this.data[this.t-1]^this.s&this.DM)}function Zd(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Xd(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Qd(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Jd(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function jd(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function tp(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&P.ZERO.subTo(t,t)}function ep(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function rp(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=at());var o=at(),s=this.s,a=e.s,c=this.DB-Pi(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var f=o.t,u=o.data[f-1];if(u!=0){var l=u*(1<<this.F1)+(f>1?o.data[f-2]>>this.F2:0),d=this.FV/l,g=(1<<this.F1)/l,h=1<<this.F2,p=r.t,y=p-f,x=t??at();for(o.dlShiftTo(y,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),P.ONE.dlShiftTo(f,x),x.subTo(o,o);o.t<f;)o.data[o.t++]=0;for(;--y>=0;){var v=r.data[--p]==u?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*g);if((r.data[p]+=o.am(0,v,r,y,0,f))<v)for(o.dlShiftTo(y,x),r.subTo(x,r);r.data[p]<--v;)r.subTo(x,r)}t!=null&&(r.drShiftTo(f,t),s!=a&&P.ZERO.subTo(t,t)),r.t=f,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&P.ZERO.subTo(r,r)}}}function np(e){var t=at();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(P.ZERO)>0&&e.subTo(t,t),t}function br(e){this.m=e}function ip(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function op(e){return e}function sp(e){e.divRemTo(this.m,null,e)}function ap(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function cp(e,t){e.squareTo(t),this.reduce(t)}br.prototype.convert=ip;br.prototype.revert=op;br.prototype.reduce=sp;br.prototype.mulTo=ap;br.prototype.sqrTo=cp;function fp(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function vr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function up(e){var t=at();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(P.ZERO)>0&&this.m.subTo(t,t),t}function lp(e){var t=at();return e.copyTo(t),this.reduce(t),t}function hp(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function dp(e,t){e.squareTo(t),this.reduce(t)}function pp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}vr.prototype.convert=up;vr.prototype.revert=lp;vr.prototype.reduce=hp;vr.prototype.mulTo=pp;vr.prototype.sqrTo=dp;function yp(){return(this.t>0?this.data[0]&1:this.s)==0}function gp(e,t){if(e>4294967295||e<1)return P.ONE;var r=at(),n=at(),i=t.convert(this),o=Pi(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function xp(e,t){var r;return e<256||t.isEven()?r=new br(t):r=new vr(t),this.exp(e,r)}P.prototype.copyTo=Vd;P.prototype.fromInt=Fd;P.prototype.fromString=qd;P.prototype.clamp=Hd;P.prototype.dlShiftTo=Zd;P.prototype.drShiftTo=Xd;P.prototype.lShiftTo=Qd;P.prototype.rShiftTo=Jd;P.prototype.subTo=jd;P.prototype.multiplyTo=tp;P.prototype.squareTo=ep;P.prototype.divRemTo=rp;P.prototype.invDigit=fp;P.prototype.isEven=yp;P.prototype.exp=gp;P.prototype.toString=zd;P.prototype.negate=Gd;P.prototype.abs=Wd;P.prototype.compareTo=$d;P.prototype.bitLength=Yd;P.prototype.mod=np;P.prototype.modPowInt=xp;P.ZERO=ir(0);P.ONE=ir(1);function mp(){var e=at();return this.copyTo(e),e}function bp(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function vp(){return this.t==0?this.s:this.data[0]<<24>>24}function wp(){return this.t==0?this.s:this.data[0]<<16>>16}function Ep(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Sp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Bp(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=ir(r),i=at(),o=at(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function Ap(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=Wc(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&P.ZERO.subTo(this,this)}function Ip(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(P.ONE.shiftLeft(e-1),ys,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(P.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Cp(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Tp(e){return this.compareTo(e)==0}function _p(e){return this.compareTo(e)<0?this:e}function Lp(e){return this.compareTo(e)>0?this:e}function Rp(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Np(e,t){return e&t}function Pp(e){var t=at();return this.bitwiseTo(e,Np,t),t}function ys(e,t){return e|t}function Dp(e){var t=at();return this.bitwiseTo(e,ys,t),t}function $c(e,t){return e^t}function kp(e){var t=at();return this.bitwiseTo(e,$c,t),t}function Yc(e,t){return e&~t}function Up(e){var t=at();return this.bitwiseTo(e,Yc,t),t}function Kp(){for(var e=at(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function Op(e){var t=at();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Mp(e){var t=at();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Vp(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function Fp(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Vp(this.data[e]);return this.s<0?this.t*this.DB:-1}function qp(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Hp(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=qp(this.data[r]^t);return e}function zp(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Gp(e,t){var r=P.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Wp(e){return this.changeBit(e,ys)}function $p(e){return this.changeBit(e,Yc)}function Yp(e){return this.changeBit(e,$c)}function Zp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Xp(e){var t=at();return this.addTo(e,t),t}function Qp(e){var t=at();return this.subTo(e,t),t}function Jp(e){var t=at();return this.multiplyTo(e,t),t}function jp(e){var t=at();return this.divRemTo(e,t,null),t}function ty(e){var t=at();return this.divRemTo(e,null,t),t}function ey(e){var t=at(),r=at();return this.divRemTo(e,t,r),new Array(t,r)}function ry(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function ny(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Cn(){}function Zc(e){return e}function iy(e,t,r){e.multiplyTo(t,r)}function oy(e,t){e.squareTo(t)}Cn.prototype.convert=Zc;Cn.prototype.revert=Zc;Cn.prototype.mulTo=iy;Cn.prototype.sqrTo=oy;function sy(e){return this.exp(e,new Cn)}function ay(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function cy(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function Yr(e){this.r2=at(),this.q3=at(),P.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function fy(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=at();return e.copyTo(t),this.reduce(t),t}function uy(e){return e}function ly(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function hy(e,t){e.squareTo(t),this.reduce(t)}function dy(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Yr.prototype.convert=fy;Yr.prototype.revert=uy;Yr.prototype.reduce=ly;Yr.prototype.mulTo=dy;Yr.prototype.sqrTo=hy;function py(e,t){var r=e.bitLength(),n,i=ir(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new br(t):t.isEven()?o=new Yr(t):o=new vr(t);var s=new Array,a=3,c=n-1,f=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=at();for(o.sqrTo(s[1],u);a<=f;)s[a]=at(),o.mulTo(u,s[a-2],s[a]),a+=2}var l=e.t-1,d,g=!0,h=at(),p;for(r=Pi(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&f:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),g)s[d].copyTo(i),g=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function yy(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function gy(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function xy(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return P.ZERO;for(var r=e.clone(),n=this.clone(),i=ir(1),o=ir(0),s=ir(0),a=ir(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(P.ONE)!=0)return P.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var ye=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],my=(1<<26)/ye[ye.length-1];function by(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=ye[ye.length-1]){for(t=0;t<ye.length;++t)if(r.data[0]==ye[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<ye.length;){for(var n=ye[t],i=t+1;i<ye.length&&n<my;)n*=ye[i++];for(n=r.modInt(n);t<i;)if(n%ye[t++]==0)return!1}return r.millerRabin(e)}function vy(e){var t=this.subtract(P.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=wy(),o,s=0;s<e;++s){do o=new P(this.bitLength(),i);while(o.compareTo(P.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(P.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(P.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function wy(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}P.prototype.chunkSize=Ep;P.prototype.toRadix=Bp;P.prototype.fromRadix=Ap;P.prototype.fromNumber=Ip;P.prototype.bitwiseTo=Rp;P.prototype.changeBit=Gp;P.prototype.addTo=Zp;P.prototype.dMultiply=ry;P.prototype.dAddOffset=ny;P.prototype.multiplyLowerTo=ay;P.prototype.multiplyUpperTo=cy;P.prototype.modInt=gy;P.prototype.millerRabin=vy;P.prototype.clone=mp;P.prototype.intValue=bp;P.prototype.byteValue=vp;P.prototype.shortValue=wp;P.prototype.signum=Sp;P.prototype.toByteArray=Cp;P.prototype.equals=Tp;P.prototype.min=_p;P.prototype.max=Lp;P.prototype.and=Pp;P.prototype.or=Dp;P.prototype.xor=kp;P.prototype.andNot=Up;P.prototype.not=Kp;P.prototype.shiftLeft=Op;P.prototype.shiftRight=Mp;P.prototype.getLowestSetBit=Fp;P.prototype.bitCount=Hp;P.prototype.testBit=zp;P.prototype.setBit=Wp;P.prototype.clearBit=$p;P.prototype.flipBit=Yp;P.prototype.add=Xp;P.prototype.subtract=Qp;P.prototype.multiply=Jp;P.prototype.divide=jp;P.prototype.remainder=ty;P.prototype.divideAndRemainder=ey;P.prototype.modPow=py;P.prototype.modInverse=xy;P.prototype.pow=sy;P.prototype.gcd=yy;P.prototype.isProbablePrime=by});var ef=yt((Q2,tf)=>{var Be=dt();mr();Nt();var Jc=tf.exports=Be.sha1=Be.sha1||{};Be.md.sha1=Be.md.algorithms.sha1=Jc;Jc.create=function(){jc||Ey();var e=null,t=Be.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Be.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Be.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),Qc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Be.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(gs.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Qc(l,r,i);var d=Be.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var gs=null,jc=!1;function Ey(){gs="\x80",gs+=Be.util.fillString("\0",64),jc=!0}function Qc(e,t,r){for(var n,i,o,s,a,c,f,u,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o&s|a&(o^s),n=(i<<5|i>>>27)+f+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var of=yt((J2,nf)=>{var Ae=dt();Nt();In();ef();var rf=nf.exports=Ae.pkcs1=Ae.pkcs1||{};rf.encode_rsa_oaep=function(e,t,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Ae.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=t.length,f.maxLength=c,f}n||(n=""),o.update(n,"raw");for(var u=o.digest(),l="",d=c-t.length,g=0;g<d;g++)l+="\0";var h=u.getBytes()+l+""+t;if(!i)i=Ae.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=o.digestLength,f}var p=ki(i,a-o.digestLength-1,s),y=Ae.util.xorBytes(h,p,h.length),x=ki(y,o.digestLength,s),v=Ae.util.xorBytes(i,x,i.length);return"\0"+v+y};rf.decode_rsa_oaep=function(e,t,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=s,y}if(i===void 0?i=Ae.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),f=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),l=ki(u,i.digestLength,o),d=Ae.util.xorBytes(f,l,f.length),g=ki(d,s-i.digestLength-1,o),h=Ae.util.xorBytes(u,g,u.length),p=h.substring(0,i.digestLength),y=c!=="\0",x=0;x<i.digestLength;++x)y|=a.charAt(x)!==p.charAt(x);for(var v=1,m=i.digestLength,I=i.digestLength;I<h.length;I++){var S=h.charCodeAt(I),B=S&1^1,R=v?65534:0;y|=S&R,v=v&B,m+=v}if(y||h.charCodeAt(m)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(m+1)};function ki(e,t,r){r||(r=Ae.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var sf=yt((j2,xs)=>{var or=dt();Nt();Di();In();(function(){if(or.prime){xs.exports=or.prime;return}var e=xs.exports=or.prime=or.prime||{},t=or.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,g){typeof d=="function"&&(g=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||or.random,y={nextBytes:function(x){for(var v=p.getBytesSync(x.length),m=0;m<x.length;++m)x[m]=v.charCodeAt(m)}};if(h.name==="PRIMEINC")return o(l,y,h.options,g);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,g,h){return"workers"in g?c(l,d,g,h):s(l,d,g,h)}function s(l,d,g,h){var p=f(l,d),y=0,x=u(p.bitLength());"millerRabinTests"in g&&(x=g.millerRabinTests);var v=10;"maxBlockTime"in g&&(v=g.maxBlockTime),a(p,l,d,y,x,v,h)}function a(l,d,g,h,p,y,x){var v=+new Date;do{if(l.bitLength()>d&&(l=f(d,g)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[h++%8],0)}while(y<0||+new Date-v<y);or.util.setImmediate(function(){a(l,d,g,h,p,y,x)})}function c(l,d,g,h){if(typeof Worker>"u")return s(l,d,g,h);var p=f(l,d),y=g.workers,x=g.workLoad||100,v=x*30/8,m=g.workerScript||"forge/prime.worker.js";if(y===-1)return or.util.estimateCores(function(S,B){S&&(B=2),y=B-1,I()});I();function I(){y=Math.max(1,y);for(var S=[],B=0;B<y;++B)S[B]=new Worker(m);for(var R=y,B=0;B<y;++B)S[B].addEventListener("message",O);var L=!1;function O(M){if(!L){--R;var U=M.data;if(U.found){for(var H=0;H<S.length;++H)S[H].terminate();return L=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=f(l,d));var z=p.toString(16);M.target.postMessage({hex:z,workLoad:x}),p.dAddOffset(v,0)}}}}function f(l,d){var g=new t(l,d),h=l-1;return g.testBit(h)||g.bitwiseTo(t.ONE.shiftLeft(h),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function u(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Ki=yt((tb,df)=>{var W=dt();An();Di();wi();of();sf();In();Nt();typeof st>"u"&&(st=W.jsbn.BigInteger);var st,ms=W.util.isNodejs?Ti():null,E=W.asn1,oe=W.util;W.pki=W.pki||{};df.exports=W.pki.rsa=W.rsa=W.rsa||{};var Q=W.pki,Sy=[6,4,2,4,2,4,6,2],By={name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Ay={name:"RSAPrivateKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Iy={name:"RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Cy=W.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Ty={name:"DigestInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},_y=function(e){var t;if(e.algorithm in Q.oids)t=Q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=E.oidToDer(t).getBytes(),i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]),o=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]);o.value.push(E.create(E.Class.UNIVERSAL,E.Type.OID,!1,n)),o.value.push(E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,""));var s=E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),E.toDer(i).getBytes()},lf=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(st.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(st.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new st(W.util.bytesToHex(W.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(st.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};Q.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=hf(e,t,r)):(i=W.util.createBuffer(),i.putBytes(e));for(var s=new st(i.toHex(),16),a=lf(s,t,n),c=a.toString(16),f=W.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(W.util.hexToBytes(c)),f.getBytes()};Q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new st(W.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=lf(s,t,r),c=a.toString(16),f=W.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(W.util.hexToBytes(c)),n!==!1?Ui(f.getBytes(),t,r):f.getBytes()};Q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||W.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=c.charCodeAt(f)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new st(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};Q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new st(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,f=c-1;e.pqState===0?(e.num=new st(c,e.rng),e.num.testBit(f)||e.num.bitwiseTo(st.ONE.shiftLeft(f),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Ry(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Sy[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(st.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};Q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!W.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(af("generateKeyPair"))return ms.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,f){if(a)return n(a);n(null,{privateKey:Q.privateKeyFromPem(f),publicKey:Q.publicKeyFromPem(c)})});if(cf("generateKey")&&cf("exportKey"))return oe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:uf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return oe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Q.privateKeyFromAsn1(E.fromDer(W.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Q.setRsaPublicKey(c.n,c.e)})}});if(ff("generateKey")&&ff("exportKey")){var i=oe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:uf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,f=oe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);f.oncomplete=function(u){var l=u.target.result,d=Q.privateKeyFromAsn1(E.fromDer(W.util.createBuffer(l)));n(null,{privateKey:d,publicKey:Q.setRsaPublicKey(d.n,d.e)})},f.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(af("generateKeyPairSync")){var o=ms.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Q.privateKeyFromPem(o.privateKey),publicKey:Q.publicKeyFromPem(o.publicKey)}}}var s=Q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return Q.rsa.stepKeyPairGenerationState(s,0),s.keys;Ly(s,r,n)};Q.setRsaPublicKey=Q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,f){return hf(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return W.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return Q.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,f){f=Ui(f,r,!0);var u=E.fromDer(f,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!E.validate(u,Ty,l,d)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=d,g}var h=E.derToOid(l.algorithmIdentifier);if(!(h===W.oids.md2||h===W.oids.md5||h===W.oids.sha1||h===W.oids.sha224||h===W.oids.sha256||h===W.oids.sha384||h===W.oids.sha512||h===W.oids["sha512-224"]||h===W.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=h,g}if((h===W.oids.md2||h===W.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,f){return f=Ui(f,r,!0),c===f}});var a=Q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Q.setRsaPrivateKey=Q.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(f,u,l){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var d=Q.rsa.decrypt(f,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:Ui};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(g,h){return W.pkcs1.decode_rsa_oaep(h,g,l)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(g){return g}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(d,c,!1)},c.sign=function(f,u){var l=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:_y},l=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return f}},l=1);var d=u.encode(f,c.n.bitLength());return Q.rsa.encrypt(d,c,l)},c};Q.wrapRsaPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,E.toDer(e).getBytes())])};Q.privateKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,By,t,r)&&(e=E.fromDer(W.util.createBuffer(t.privateKey))),t={},r=[],!E.validate(e,Ay,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,f,u,l;return i=W.util.createBuffer(t.privateKeyModulus).toHex(),o=W.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=W.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=W.util.createBuffer(t.privateKeyPrime1).toHex(),c=W.util.createBuffer(t.privateKeyPrime2).toHex(),f=W.util.createBuffer(t.privateKeyExponent1).toHex(),u=W.util.createBuffer(t.privateKeyExponent2).toHex(),l=W.util.createBuffer(t.privateKeyCoefficient).toHex(),Q.setRsaPrivateKey(new st(i,16),new st(o,16),new st(s,16),new st(a,16),new st(c,16),new st(f,16),new st(u,16),new st(l,16))};Q.privateKeyToAsn1=Q.privateKeyToRSAPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.e)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.d)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.p)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.q)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.dP)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.dQ)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.qInv))])};Q.publicKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,Cy,t,r)){var n=E.derToOid(t.publicKeyOid);if(n!==Q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!E.validate(e,Iy,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=W.util.createBuffer(t.publicKeyModulus).toHex(),s=W.util.createBuffer(t.publicKeyExponent).toHex();return Q.setRsaPublicKey(new st(o,16),new st(s,16))};Q.publicKeyToAsn1=Q.publicKeyToSubjectPublicKeyInfo=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.BITSTRING,!1,[Q.publicKeyToRSAPublicKey(e)])])};Q.publicKeyToRSAPublicKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Ie(e.e))])};function hf(e,t,r){var n=W.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var f=0,u=W.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++f:n.putByte(a);s=f}return n.putByte(0),n.putBytes(e),n}function Ui(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=W.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var f=0;f<c;++f)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Ly(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){W.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var f=e.p;e.p=e.q,e.q=f}if(e.p.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.p=null,i();return}if(e.q.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(st.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ie(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=W.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Ry(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function af(e){return W.util.isNodejs&&typeof ms[e]=="function"}function cf(e){return typeof oe.globalScope<"u"&&typeof oe.globalScope.crypto=="object"&&typeof oe.globalScope.crypto.subtle=="object"&&typeof oe.globalScope.crypto.subtle[e]=="function"}function ff(e){return typeof oe.globalScope<"u"&&typeof oe.globalScope.msCrypto=="object"&&typeof oe.globalScope.msCrypto.subtle=="object"&&typeof oe.globalScope.msCrypto.subtle[e]=="function"}function uf(e){for(var t=W.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var bf=yt((eb,mf)=>{var q=dt();fs();An();Ec();mr();wi();Cc();Lc();In();qc();Ki();Nt();typeof pf>"u"&&(pf=q.jsbn.BigInteger);var pf,C=q.asn1,tt=q.pki=q.pki||{};mf.exports=tt.pbe=q.pbe=q.pbe||{};var wr=tt.oids,Ny={name:"EncryptedPrivateKeyInfo",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Py={name:"PBES2Algorithms",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Dy={name:"pkcs-12PbeParams",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,capture:"iterations"}]};tt.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=q.random.getBytesSync(r.saltSize),i=r.count,o=C.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,u,l;switch(r.algorithm){case"aes128":s=16,f=16,u=wr["aes128-CBC"],l=q.aes.createEncryptionCipher;break;case"aes192":s=24,f=16,u=wr["aes192-CBC"],l=q.aes.createEncryptionCipher;break;case"aes256":s=32,f=16,u=wr["aes256-CBC"],l=q.aes.createEncryptionCipher;break;case"des":s=8,f=8,u=wr.desCBC,l=q.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),h=xf(g),p=q.pkcs5.pbkdf2(t,n,i,s,h),y=q.random.getBytesSync(f),x=l(p);x.start(y),x.update(C.toDer(e)),x.finish(),c=x.output.getBytes();var v=ky(n,o,s,g);a=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(wr.pkcs5PBES2).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(wr.pkcs5PBKDF2).getBytes()),v]),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(u).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var m=new q.util.ByteBuffer(n),p=tt.pbe.generatePkcs12Key(t,m,1,i,s),y=tt.pbe.generatePkcs12Key(t,m,2,i,s),x=q.des.createEncryptionCipher(p);x.start(y),x.update(C.toDer(e)),x.finish(),c=x.output.getBytes(),a=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(wr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,n),C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var I=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[a,C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,c)]);return I};tt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!C.validate(e,Ny,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=C.derToOid(n.encryptionOid),a=tt.pbe.getCipher(s,n.encryptionParams,t),c=q.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=C.fromDer(a.output)),r};tt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:C.toDer(e).getBytes()};return q.pem.encode(r,{maxline:t})};tt.encryptedPrivateKeyFromPem=function(e){var t=q.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return C.fromDer(t.body)};tt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=tt.wrapRsaPrivateKey(tt.privateKeyToAsn1(e));return n=tt.encryptPrivateKeyInfo(n,t,r),tt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=q.random.getBytesSync(8),a=q.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=q.random.getBytesSync(8),a=q.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var f=q.pbe.opensslDeriveBytes(t,o.substr(0,8),s),u=a(f);u.start(o),u.update(C.toDer(tt.privateKeyToAsn1(e))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:q.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return q.pem.encode(l)};tt.decryptRsaPrivateKey=function(e,t){var r=null,n=q.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=q.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=q.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=q.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=q.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=q.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return q.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return q.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return q.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=q.util.hexToBytes(n.dekInfo.parameters),c=q.pbe.opensslDeriveBytes(t,a.substr(0,8),o),f=s(c);if(f.start(a),f.update(q.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=tt.decryptPrivateKeyInfo(C.fromDer(r),t):r=C.fromDer(r),r!==null&&(r=tt.privateKeyFromAsn1(r)),r};tt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in q.md))throw new Error('"sha1" hash algorithm unavailable.');o=q.md.sha1.create()}var c=o.digestLength,f=o.blockLength,u=new q.util.ByteBuffer,l=new q.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),g=t.length(),h=new q.util.ByteBuffer;h.fillWithByte(r,f);var p=f*Math.ceil(g/f),y=new q.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(t.at(a%g));var x=f*Math.ceil(d/f),v=new q.util.ByteBuffer;for(a=0;a<x;a++)v.putByte(l.at(a%d));var m=y;m.putBuffer(v);for(var I=Math.ceil(i/c),S=1;S<=I;S++){var B=new q.util.ByteBuffer;B.putBytes(h.bytes()),B.putBytes(m.bytes());for(var R=0;R<n;R++)o.start(),o.update(B.getBytes()),B=o.digest();var L=new q.util.ByteBuffer;for(a=0;a<f;a++)L.putByte(B.at(a%c));var O=Math.ceil(g/f)+Math.ceil(d/f),M=new q.util.ByteBuffer;for(s=0;s<O;s++){var U=new q.util.ByteBuffer(m.getBytes(f)),H=511;for(a=L.length()-1;a>=0;a--)H=H>>8,H+=L.at(a)+U.at(a),U.setAt(a,H&255);M.putBuffer(U)}m=M,u.putBuffer(B)}return u.truncate(u.length()-i),u};tt.pbe.getCipher=function(e,t,r){switch(e){case tt.oids.pkcs5PBES2:return tt.pbe.getCipherForPBES2(e,t,r);case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:return tt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};tt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!C.validate(t,Py,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=C.derToOid(n.kdfOid),e!==tt.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=C.derToOid(n.encOid),e!==tt.oids["aes128-CBC"]&&e!==tt.oids["aes192-CBC"]&&e!==tt.oids["aes256-CBC"]&&e!==tt.oids["des-EDE3-CBC"]&&e!==tt.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=q.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,f;switch(tt.oids[e]){case"aes128-CBC":c=16,f=q.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,f=q.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,f=q.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,f=q.des.createDecryptionCipher;break;case"desCBC":c=8,f=q.des.createDecryptionCipher;break}var u=gf(n.prfOid),l=q.pkcs5.pbkdf2(r,s,a,c,u),d=n.encIv,g=f(l);return g.start(d),g};tt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!C.validate(t,Dy,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=q.util.createBuffer(n.salt),a=q.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,f,u;switch(e){case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,f=8,u=q.des.startDecrypting;break;case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,f=8,u=function(p,y){var x=q.rc2.createDecryptionCipher(p,40);return x.start(y,null),x};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=gf(n.prfOid),d=tt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var g=tt.pbe.generatePkcs12Key(r,s,2,a,f,l);return u(d,g)};tt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in q.md))throw new Error('"md5" hash algorithm unavailable.');n=q.md.md5.create()}t===null&&(t="");for(var i=[yf(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(yf(n,i[s-1]+e+t));return i.join("").substr(0,r)};function yf(e,t){return e.start().update(t).digest().getBytes()}function gf(e){var t;if(!e)t="hmacWithSHA1";else if(t=tt.oids[C.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return xf(t)}function xf(e){var t=q.md;switch(e){case"hmacWithSHA224":t=q.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function ky(e,t,r,n){var i=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,e),C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,q.util.hexToBytes(r.toString(16))),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(tt.oids[n]).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.NULL,!1,"")])),i}});var uu=yt((Qw,fu)=>{var vt=dt();mr();Nt();var kn=fu.exports=vt.sha512=vt.sha512||{};vt.md.sha512=vt.md.algorithms.sha512=kn;var au=vt.sha384=vt.sha512.sha384=vt.sha512.sha384||{};au.create=function(){return kn.create("SHA-384")};vt.md.sha384=vt.md.algorithms.sha384=au;vt.sha512.sha256=vt.sha512.sha256||{create:function(){return kn.create("SHA-512/256")}};vt.md["sha512/256"]=vt.md.algorithms["sha512/256"]=vt.sha512.sha256;vt.sha512.sha224=vt.sha512.sha224||{create:function(){return kn.create("SHA-512/224")}};vt.md["sha512/224"]=vt.md.algorithms["sha512/224"]=vt.sha512.sha224;kn.create=function(e){if(cu||eg(),typeof e>"u"&&(e="SHA-512"),!(e in _r))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=_r[e],r=null,n=vt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,f=0;f<c;++f)a.fullMessageLength.push(0);n=vt.util.createBuffer(),r=new Array(t.length);for(var f=0;f<t.length;++f)r[f]=t[f].slice(0);return a},a.start(),a.update=function(c,f){f==="utf8"&&(c=vt.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=u[1],u[1]=u[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),su(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=vt.util.createBuffer();c.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=f&a.blockLength-1;c.putBytes(oa.substr(0,a.blockLength-u));for(var l,d,g=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,g+=d,c.putInt32(g>>>0),g=l>>>0;c.putInt32(g);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);su(p,i,c);var y=vt.util.createBuffer(),x;e==="SHA-512"?x=p.length:e==="SHA-384"?x=p.length-2:x=p.length-4;for(var h=0;h<x;++h)y.putInt32(p[h][0]),(h!==x-1||e!=="SHA-512/224")&&y.putInt32(p[h][1]);return y},a};var oa=null,cu=!1,sa=null,_r=null;function eg(){oa="\x80",oa+=vt.util.fillString("\0",128),sa=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],_r={},_r["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],_r["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],_r["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],_r["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],cu=!0}function su(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v,m,I,S,B,R,L,O,M,U,H,z,Z,A,N,T,_,w,k,K,F=r.length();F>=128;){for(A=0;A<16;++A)t[A][0]=r.getInt32()>>>0,t[A][1]=r.getInt32()>>>0;for(;A<80;++A)_=t[A-2],N=_[0],T=_[1],n=((N>>>19|T<<13)^(T>>>29|N<<3)^N>>>6)>>>0,i=((N<<13|T>>>19)^(T<<3|N>>>29)^(N<<26|T>>>6))>>>0,k=t[A-15],N=k[0],T=k[1],o=((N>>>1|T<<31)^(N>>>8|T<<24)^N>>>7)>>>0,s=((N<<31|T>>>1)^(N<<24|T>>>8)^(N<<25|T>>>7))>>>0,w=t[A-7],K=t[A-16],T=i+w[1]+s+K[1],t[A][0]=n+w[0]+o+K[0]+(T/4294967296>>>0)>>>0,t[A][1]=T>>>0;for(p=e[0][0],y=e[0][1],x=e[1][0],v=e[1][1],m=e[2][0],I=e[2][1],S=e[3][0],B=e[3][1],R=e[4][0],L=e[4][1],O=e[5][0],M=e[5][1],U=e[6][0],H=e[6][1],z=e[7][0],Z=e[7][1],A=0;A<80;++A)f=((R>>>14|L<<18)^(R>>>18|L<<14)^(L>>>9|R<<23))>>>0,u=((R<<18|L>>>14)^(R<<14|L>>>18)^(L<<23|R>>>9))>>>0,l=(U^R&(O^U))>>>0,d=(H^L&(M^H))>>>0,a=((p>>>28|y<<4)^(y>>>2|p<<30)^(y>>>7|p<<25))>>>0,c=((p<<4|y>>>28)^(y<<30|p>>>2)^(y<<25|p>>>7))>>>0,g=(p&x|m&(p^x))>>>0,h=(y&v|I&(y^v))>>>0,T=Z+u+d+sa[A][1]+t[A][1],n=z+f+l+sa[A][0]+t[A][0]+(T/4294967296>>>0)>>>0,i=T>>>0,T=c+h,o=a+g+(T/4294967296>>>0)>>>0,s=T>>>0,z=U,Z=H,U=O,H=M,O=R,M=L,T=B+i,R=S+n+(T/4294967296>>>0)>>>0,L=T>>>0,S=m,B=I,m=x,I=v,x=p,v=y,T=i+s,p=n+o+(T/4294967296>>>0)>>>0,y=T>>>0;T=e[0][1]+y,e[0][0]=e[0][0]+p+(T/4294967296>>>0)>>>0,e[0][1]=T>>>0,T=e[1][1]+v,e[1][0]=e[1][0]+x+(T/4294967296>>>0)>>>0,e[1][1]=T>>>0,T=e[2][1]+I,e[2][0]=e[2][0]+m+(T/4294967296>>>0)>>>0,e[2][1]=T>>>0,T=e[3][1]+B,e[3][0]=e[3][0]+S+(T/4294967296>>>0)>>>0,e[3][1]=T>>>0,T=e[4][1]+L,e[4][0]=e[4][0]+R+(T/4294967296>>>0)>>>0,e[4][1]=T>>>0,T=e[5][1]+M,e[5][0]=e[5][0]+O+(T/4294967296>>>0)>>>0,e[5][1]=T>>>0,T=e[6][1]+H,e[6][0]=e[6][0]+U+(T/4294967296>>>0)>>>0,e[6][1]=T>>>0,T=e[7][1]+Z,e[7][0]=e[7][0]+z+(T/4294967296>>>0)>>>0,e[7][1]=T>>>0,F-=128}}});var ax={};Dt(ax,{webTransport:()=>sx});function De(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function nt(e=0){return globalThis.Buffer?.alloc!=null?De(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function kt(e=0){return globalThis.Buffer?.allocUnsafe!=null?De(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Rl=Math.pow(2,7),Nl=Math.pow(2,14),Pl=Math.pow(2,21),lo=Math.pow(2,28),ho=Math.pow(2,35),po=Math.pow(2,42),yo=Math.pow(2,49),ft=128,Wt=127;function $t(e){if(e<Rl)return 1;if(e<Nl)return 2;if(e<Pl)return 3;if(e<lo)return 4;if(e<ho)return 5;if(e<po)return 6;if(e<yo)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Dl(e,t,r=0){switch($t(e)){case 8:t[r++]=e&255|ft,e/=128;case 7:t[r++]=e&255|ft,e/=128;case 6:t[r++]=e&255|ft,e/=128;case 5:t[r++]=e&255|ft,e/=128;case 4:t[r++]=e&255|ft,e>>>=7;case 3:t[r++]=e&255|ft,e>>>=7;case 2:t[r++]=e&255|ft,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function kl(e,t,r=0){switch($t(e)){case 8:t.set(r++,e&255|ft),e/=128;case 7:t.set(r++,e&255|ft),e/=128;case 6:t.set(r++,e&255|ft),e/=128;case 5:t.set(r++,e&255|ft),e/=128;case 4:t.set(r++,e&255|ft),e>>>=7;case 3:t.set(r++,e&255|ft),e>>>=7;case 2:t.set(r++,e&255|ft),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Ul(e,t){let r=e[t],n=0;if(n+=r&Wt,r<ft||(r=e[t+1],n+=(r&Wt)<<7,r<ft)||(r=e[t+2],n+=(r&Wt)<<14,r<ft)||(r=e[t+3],n+=(r&Wt)<<21,r<ft)||(r=e[t+4],n+=(r&Wt)*lo,r<ft)||(r=e[t+5],n+=(r&Wt)*ho,r<ft)||(r=e[t+6],n+=(r&Wt)*po,r<ft)||(r=e[t+7],n+=(r&Wt)*yo,r<ft))return n;throw new RangeError("Could not decode varint")}function Kl(e,t){let r=e.get(t),n=0;if(n+=r&Wt,r<ft||(r=e.get(t+1),n+=(r&Wt)<<7,r<ft)||(r=e.get(t+2),n+=(r&Wt)<<14,r<ft)||(r=e.get(t+3),n+=(r&Wt)<<21,r<ft)||(r=e.get(t+4),n+=(r&Wt)*lo,r<ft)||(r=e.get(t+5),n+=(r&Wt)*ho,r<ft)||(r=e.get(t+6),n+=(r&Wt)*po,r<ft)||(r=e.get(t+7),n+=(r&Wt)*yo,r<ft))return n;throw new RangeError("Could not decode varint")}function Ze(e,t,r=0){return t==null&&(t=kt($t(e))),t instanceof Uint8Array?Dl(e,t,r):kl(e,t,r)}function fe(e,t=0){return e instanceof Uint8Array?Ul(e,t):Kl(e,t)}function At(e,t){if(globalThis.Buffer!=null)return De(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=kt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return De(r)}function It(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var t0=Symbol.for("@achingbrain/uint8arraylist");function ja(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function Pr(e){return!!e?.[t0]}var Ct=class e{bufs;length;[t0]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Pr(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Pr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=ja(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ja(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Pr(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return At(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:At(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let f=t>=a&&t<c,u=r>a&&r<=c;if(f&&u){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Pr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=r;l<=c;l+=u){u=0;for(let d=f;d>=0;d--){let g=this.get(l+d);if(n[d]!==g){u=Math.max(1,d-a[g]);break}}if(u===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=kt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=nt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=nt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=nt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=kt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=nt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=nt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=nt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=nt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=nt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!It(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Yn(e){return e[Symbol.asyncIterator]!=null}var Zn=e=>{let t=$t(e),r=kt(t);return Ze(e,r),Zn.bytes=t,r};Zn.bytes=0;function ln(e,t){t=t??{};let r=t.lengthEncoder??Zn;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Yn(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}ln.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Zn;return new Ct(r(e.byteLength),e)};var Dr=Qt(n0(),1);var Ml=8,Vl=1024*1024*4,lr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(lr||(lr={}));var go=e=>{let t=fe(e);return go.bytes=$t(t),t};go.bytes=0;function hn(e,t){let r=new Ct,n=lr.LENGTH,i=-1,o=t?.lengthDecoder??go,s=t?.maxLengthLength??Ml,a=t?.maxDataLength??Vl;function*c(){for(;r.byteLength>0;){if(n===lr.LENGTH)try{if(i=o(r),i<0)throw(0,Dr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Dr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=o.bytes;r.consume(f),t?.onLength!=null&&t.onLength(i),n=lr.DATA}catch(f){if(f instanceof RangeError){if(r.byteLength>s)throw(0,Dr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(n===lr.DATA){if(r.byteLength<i)break;let f=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(f),yield f,n=lr.LENGTH}}}return Yn(e)?async function*(){for await(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Dr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Dr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}hn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return hn(n,{...t??{},onLength:o=>{r=o}})};function ue(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Xn=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function i0(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new Xn(r?.errorMessage,r?.errorCode));let n,i=new Xn(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var xo=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=ue(),this.haveNext=ue()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=ue(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=ue(),await i0(this.needNext.promise,r?.signal,r)}};function o0(){return new xo}var Qn=class extends Error{code;constructor(t,r){super(t),this.code=r}},mo=class extends Qn{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function s0(e,t){let r=o0();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new Ct;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,f=new Promise((u,l)=>{c=()=>{l(new mo("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),f]);return l===!0?new Ct:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),f]);if(d===!0)throw new Qn("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let u=i.sublist(0,s);return i.consume(s),u}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var Jn=class extends Error{code;constructor(t,r){super(t),this.code=r}},a0=e=>fe(e);a0.bytes=0;function bo(e,t={}){let r=s0(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=$t(t.maxDataLength)),{read:async i=>{let o=-1,s=new Ct,a=t?.lengthDecoder??a0;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new Jn("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new Jn("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(ln.single(i,t),o)},writeV:async(i,o)=>{let s=new Ct(...i.map(a=>ln.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function vo(){let e=ue(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function c0(){let e=vo(),t=vo();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}var jn=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},kr=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new jn(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new jn(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var wo=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ti(e={}){return ql(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function ql(e,t){t=t??{};let r=t.onEnd,n=new kr,i,o,s,a=ue(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,x)=>{o=v=>{o=null,n.push(v);try{y(e(n))}catch(m){x(m)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ue()})}},f=y=>o!=null?o(y):(n.push(y),i),u=y=>(n=new kr,o!=null?o({error:y}):(n.push({error:y}),i)),l=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:y})},d=y=>s?i:(s=!0,y!=null?u(y):f({done:!0})),g=()=>(n=new kr,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:g,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async y=>{let x=y?.signal;if(x?.throwIfAborted(),n.isEmpty())return;let v,m;x!=null&&(v=new Promise((I,S)=>{m=()=>{S(new wo)},x.addEventListener("abort",m)}));try{await Promise.race([a.promise,v])}finally{m!=null&&x!=null&&x?.removeEventListener("abort",m)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:y=>p.onEmpty(y)},i}function Hl(e){return e[Symbol.asyncIterator]!=null}function zl(...e){let t=[];for(let r of e)Hl(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=ti({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var f0=zl;function u0(e,...t){if(e==null)throw new Error("Empty pipeline");if(Eo(e)){let n=e;e=()=>n.source}else if(h0(e)||l0(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Eo(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Eo(r[n])&&(r[n]=Wl(r[n]));return Gl(...r)}var Gl=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},l0=e=>e?.[Symbol.asyncIterator]!=null,h0=e=>e?.[Symbol.iterator]!=null,Eo=e=>e==null?!1:e.sink!=null&&e.source!=null,Wl=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=ti({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(l0(o))i=async function*(){yield*o,n.end()};else if(h0(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return f0(n,i())}return e.source};var Ur=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var $l=e=>e instanceof Uint8Array;var ke=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),d0=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Yl=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Yl)throw new Error("Non little-endian hardware is not supported");function ei(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function ri(e){if(typeof e=="string")e=ei(e);else if($l(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var Zl=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function p0(e,t){if(t!==void 0&&(typeof t!="object"||!Zl(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function hr(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function y0(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}var So=(e,t)=>(Object.assign(t,e),t);function Bo(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}function ni(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Ao(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Kr(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Io(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function g0(e,t){Kr(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ht=(e,t)=>e[t++]&255|(e[t++]&255)<<8,Co=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=ri(t),hr(t,32);let r=Ht(t,0),n=Ht(t,2),i=Ht(t,4),o=Ht(t,6),s=Ht(t,8),a=Ht(t,10),c=Ht(t,12),f=Ht(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|f<<8)&8191,this.r[9]=f>>>5&127;for(let u=0;u<8;u++)this.pad[u]=Ht(t,16+2*u)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],f=s[2],u=s[3],l=s[4],d=s[5],g=s[6],h=s[7],p=s[8],y=s[9],x=Ht(t,r+0),v=Ht(t,r+2),m=Ht(t,r+4),I=Ht(t,r+6),S=Ht(t,r+8),B=Ht(t,r+10),R=Ht(t,r+12),L=Ht(t,r+14),O=o[0]+(x&8191),M=o[1]+((x>>>13|v<<3)&8191),U=o[2]+((v>>>10|m<<6)&8191),H=o[3]+((m>>>7|I<<9)&8191),z=o[4]+((I>>>4|S<<12)&8191),Z=o[5]+(S>>>1&8191),A=o[6]+((S>>>14|B<<2)&8191),N=o[7]+((B>>>11|R<<5)&8191),T=o[8]+((R>>>8|L<<8)&8191),_=o[9]+(L>>>5|i),w=0,k=w+O*a+M*(5*y)+U*(5*p)+H*(5*h)+z*(5*g);w=k>>>13,k&=8191,k+=Z*(5*d)+A*(5*l)+N*(5*u)+T*(5*f)+_*(5*c),w+=k>>>13,k&=8191;let K=w+O*c+M*a+U*(5*y)+H*(5*p)+z*(5*h);w=K>>>13,K&=8191,K+=Z*(5*g)+A*(5*d)+N*(5*l)+T*(5*u)+_*(5*f),w+=K>>>13,K&=8191;let F=w+O*f+M*c+U*a+H*(5*y)+z*(5*p);w=F>>>13,F&=8191,F+=Z*(5*h)+A*(5*g)+N*(5*d)+T*(5*l)+_*(5*u),w+=F>>>13,F&=8191;let $=w+O*u+M*f+U*c+H*a+z*(5*y);w=$>>>13,$&=8191,$+=Z*(5*p)+A*(5*h)+N*(5*g)+T*(5*d)+_*(5*l),w+=$>>>13,$&=8191;let Y=w+O*l+M*u+U*f+H*c+z*a;w=Y>>>13,Y&=8191,Y+=Z*(5*y)+A*(5*p)+N*(5*h)+T*(5*g)+_*(5*d),w+=Y>>>13,Y&=8191;let rt=w+O*d+M*l+U*u+H*f+z*c;w=rt>>>13,rt&=8191,rt+=Z*a+A*(5*y)+N*(5*p)+T*(5*h)+_*(5*g),w+=rt>>>13,rt&=8191;let X=w+O*g+M*d+U*l+H*u+z*f;w=X>>>13,X&=8191,X+=Z*c+A*a+N*(5*y)+T*(5*p)+_*(5*h),w+=X>>>13,X&=8191;let J=w+O*h+M*g+U*d+H*l+z*u;w=J>>>13,J&=8191,J+=Z*f+A*c+N*a+T*(5*y)+_*(5*p),w+=J>>>13,J&=8191;let pt=w+O*p+M*h+U*g+H*d+z*l;w=pt>>>13,pt&=8191,pt+=Z*u+A*f+N*c+T*a+_*(5*y),w+=pt>>>13,pt&=8191;let ht=w+O*y+M*p+U*h+H*g+z*d;w=ht>>>13,ht&=8191,ht+=Z*l+A*u+N*f+T*c+_*a,w+=ht>>>13,ht&=8191,w=(w<<2)+w|0,w=w+k|0,k=w&8191,w=w>>>13,K+=w,o[0]=k,o[1]=K,o[2]=F,o[3]=$,o[4]=Y,o[5]=rt,o[6]=X,o[7]=J,o[8]=pt,o[9]=ht}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){Io(this);let{buffer:r,blockLen:n}=this;t=ri(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){Io(this),g0(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function Xl(e){let t=(n,i)=>e(i).update(ri(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var x0=Xl(e=>new Co(e));var Ql=ei("expand 16-byte k"),Jl=ei("expand 32-byte k"),jl=ke(Ql),th=ke(Jl);function G(e,t){return e<<t|e>>>32-t}function To(e){return e.byteOffset%4===0}var ii=64,eh=16,b0=2**32-1,m0=new Uint32Array;function rh(e,t,r,n,i,o,s,a){let c=i.length,f=new Uint8Array(ii),u=ke(f),l=To(i)&&To(o),d=l?ke(i):m0,g=l?ke(o):m0;for(let h=0;h<c;s++){if(e(t,r,n,u,s,a),s>=b0)throw new Error("arx: counter overflow");let p=Math.min(ii,c-h);if(l&&p===ii){let y=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let x=0,v;x<eh;x++)v=y+x,g[v]=d[v]^u[x];h+=ii;continue}for(let y=0,x;y<p;y++)x=h+y,o[x]=i[x]^f[y];h+=p}}function _o(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=p0({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return ni(i),ni(s),Ao(o),Ao(r),(a,c,f,u,l=0)=>{Kr(a),Kr(c),Kr(f);let d=f.length;if(u||(u=new Uint8Array(d)),Kr(u),ni(l),l<0||l>=b0)throw new Error("arx: counter overflow");if(u.length<d)throw new Error(`arx: output (${u.length}) is shorter than data (${d})`);let g=[],h=a.length,p,y;if(h===32)p=a.slice(),g.push(p),y=th;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),y=jl,g.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);To(c)||(c=c.slice(),g.push(c));let x=ke(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(y,x,ke(c.subarray(0,16)),x),c=c.subarray(16)}let v=16-i;if(v!==c.length)throw new Error(`arx: nonce must be ${v} or 16 bytes`);if(v!==12){let I=new Uint8Array(12);I.set(c,o?0:12-c.length),c=I,g.push(c)}let m=ke(c);for(rh(e,y,x,m,f,u,l,s);g.length>0;)g.pop().fill(0);return u}}function E0(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],f=e[3],u=t[0],l=t[1],d=t[2],g=t[3],h=t[4],p=t[5],y=t[6],x=t[7],v=i,m=r[0],I=r[1],S=r[2],B=s,R=a,L=c,O=f,M=u,U=l,H=d,z=g,Z=h,A=p,N=y,T=x,_=v,w=m,k=I,K=S;for(let $=0;$<o;$+=2)B=B+M|0,_=G(_^B,16),Z=Z+_|0,M=G(M^Z,12),B=B+M|0,_=G(_^B,8),Z=Z+_|0,M=G(M^Z,7),R=R+U|0,w=G(w^R,16),A=A+w|0,U=G(U^A,12),R=R+U|0,w=G(w^R,8),A=A+w|0,U=G(U^A,7),L=L+H|0,k=G(k^L,16),N=N+k|0,H=G(H^N,12),L=L+H|0,k=G(k^L,8),N=N+k|0,H=G(H^N,7),O=O+z|0,K=G(K^O,16),T=T+K|0,z=G(z^T,12),O=O+z|0,K=G(K^O,8),T=T+K|0,z=G(z^T,7),B=B+U|0,K=G(K^B,16),N=N+K|0,U=G(U^N,12),B=B+U|0,K=G(K^B,8),N=N+K|0,U=G(U^N,7),R=R+H|0,_=G(_^R,16),T=T+_|0,H=G(H^T,12),R=R+H|0,_=G(_^R,8),T=T+_|0,H=G(H^T,7),L=L+z|0,w=G(w^L,16),Z=Z+w|0,z=G(z^Z,12),L=L+z|0,w=G(w^L,8),Z=Z+w|0,z=G(z^Z,7),O=O+M|0,k=G(k^O,16),A=A+k|0,M=G(M^A,12),O=O+M|0,k=G(k^O,8),A=A+k|0,M=G(M^A,7);let F=0;n[F++]=s+B|0,n[F++]=a+R|0,n[F++]=c+L|0,n[F++]=f+O|0,n[F++]=u+M|0,n[F++]=l+U|0,n[F++]=d+H|0,n[F++]=g+z|0,n[F++]=h+Z|0,n[F++]=p+A|0,n[F++]=y+N|0,n[F++]=x+T|0,n[F++]=v+_|0,n[F++]=m+w|0,n[F++]=I+k|0,n[F++]=S+K|0}function nh(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],f=t[1],u=t[2],l=t[3],d=t[4],g=t[5],h=t[6],p=t[7],y=r[0],x=r[1],v=r[2],m=r[3];for(let S=0;S<20;S+=2)i=i+c|0,y=G(y^i,16),d=d+y|0,c=G(c^d,12),i=i+c|0,y=G(y^i,8),d=d+y|0,c=G(c^d,7),o=o+f|0,x=G(x^o,16),g=g+x|0,f=G(f^g,12),o=o+f|0,x=G(x^o,8),g=g+x|0,f=G(f^g,7),s=s+u|0,v=G(v^s,16),h=h+v|0,u=G(u^h,12),s=s+u|0,v=G(v^s,8),h=h+v|0,u=G(u^h,7),a=a+l|0,m=G(m^a,16),p=p+m|0,l=G(l^p,12),a=a+l|0,m=G(m^a,8),p=p+m|0,l=G(l^p,7),i=i+f|0,m=G(m^i,16),h=h+m|0,f=G(f^h,12),i=i+f|0,m=G(m^i,8),h=h+m|0,f=G(f^h,7),o=o+u|0,y=G(y^o,16),p=p+y|0,u=G(u^p,12),o=o+u|0,y=G(y^o,8),p=p+y|0,u=G(u^p,7),s=s+l|0,x=G(x^s,16),d=d+x|0,l=G(l^d,12),s=s+l|0,x=G(x^s,8),d=d+x|0,l=G(l^d,7),a=a+c|0,v=G(v^a,16),g=g+v|0,c=G(c^g,12),a=a+c|0,v=G(v^a,8),g=g+v|0,c=G(c^g,7);let I=0;n[I++]=i,n[I++]=o,n[I++]=s,n[I++]=a,n[I++]=y,n[I++]=x,n[I++]=v,n[I++]=m}var ih=_o(E0,{counterRight:!1,counterLength:4,allowShortKeys:!1}),oh=_o(E0,{counterRight:!1,counterLength:8,extendNonceFn:nh,allowShortKeys:!1});var sh=new Uint8Array(16),v0=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(sh.subarray(r))},ah=new Uint8Array(32);function w0(e,t,r,n,i){let o=e(t,r,ah),s=x0.create(o);i&&v0(s,i),v0(s,n);let a=new Uint8Array(16),c=d0(a);Bo(c,0,BigInt(i?i.length:0),!0),Bo(c,8,BigInt(n.length),!0),s.update(a);let f=s.digest();return o.fill(0),f}var S0=e=>(t,r,n)=>(hr(t,32),hr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?hr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let f=w0(e,t,r,s.subarray(0,-16),n);return s.set(f,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?hr(s,c):s=new Uint8Array(c);let f=o.subarray(0,-16),u=o.subarray(-16),l=w0(e,t,r,f,n);if(!y0(u,l))throw new Error("invalid tag");return e(t,r,f,s,1),s}}),Lo=So({blockSize:64,nonceLength:12,tagLength:16},S0(ih)),ym=So({blockSize:64,nonceLength:24,tagLength:16},S0(oh));function oi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Ro(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function dn(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");oi(e.outputLen),oi(e.blockLen)}function Or(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function B0(e,t){Ro(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var si=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var A0=e=>e instanceof Uint8Array;var ai=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),le=(e,t)=>e<<32-t|e>>>t,ch=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ch)throw new Error("Non little-endian hardware is not supported");function No(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Xe(e){if(typeof e=="string"&&(e=No(e)),!A0(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function ci(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!A0(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Mr=class{clone(){return this._cloneInto()}},vm={}.toString;function fi(e){let t=n=>e().update(Xe(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function dr(e=32){if(si&&typeof si.getRandomValues=="function")return si.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function fh(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}var Vr=class extends Mr{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=ai(this.buffer)}update(t){Or(this);let{view:r,buffer:n,blockLen:i}=this;t=Xe(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=ai(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Or(this),B0(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;fh(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ai(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var ui=BigInt(4294967295),Po=BigInt(32);function I0(e,t=!1){return t?{h:Number(e&ui),l:Number(e>>Po&ui)}:{h:Number(e>>Po&ui)|0,l:Number(e&ui)|0}}function uh(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=I0(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var lh=(e,t)=>BigInt(e>>>0)<<Po|BigInt(t>>>0),hh=(e,t,r)=>e>>>r,dh=(e,t,r)=>e<<32-r|t>>>r,ph=(e,t,r)=>e>>>r|t<<32-r,yh=(e,t,r)=>e<<32-r|t>>>r,gh=(e,t,r)=>e<<64-r|t>>>r-32,xh=(e,t,r)=>e>>>r-32|t<<64-r,mh=(e,t)=>t,bh=(e,t)=>e,vh=(e,t,r)=>e<<r|t>>>32-r,wh=(e,t,r)=>t<<r|e>>>32-r,Eh=(e,t,r)=>t<<r-32|e>>>64-r,Sh=(e,t,r)=>e<<r-32|t>>>64-r;function Bh(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Ah=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Ih=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Ch=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Th=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,_h=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Lh=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var Rh={fromBig:I0,split:uh,toBig:lh,shrSH:hh,shrSL:dh,rotrSH:ph,rotrSL:yh,rotrBH:gh,rotrBL:xh,rotr32H:mh,rotr32L:bh,rotlSH:vh,rotlSL:wh,rotlBH:Eh,rotlBL:Sh,add:Bh,add3L:Ah,add3H:Ih,add4L:Ch,add4H:Th,add5H:Lh,add5L:_h},j=Rh;var[Nh,Ph]=j.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(e=>BigInt(e))),Qe=new Uint32Array(80),Je=new Uint32Array(80),Do=class extends Vr{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(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:d,Gh:g,Gl:h,Hh:p,Hl:y}=this;return[t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y]}set(t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=d|0,this.Gh=g|0,this.Gl=h|0,this.Hh=p|0,this.Hl=y|0}process(t,r){for(let m=0;m<16;m++,r+=4)Qe[m]=t.getUint32(r),Je[m]=t.getUint32(r+=4);for(let m=16;m<80;m++){let I=Qe[m-15]|0,S=Je[m-15]|0,B=j.rotrSH(I,S,1)^j.rotrSH(I,S,8)^j.shrSH(I,S,7),R=j.rotrSL(I,S,1)^j.rotrSL(I,S,8)^j.shrSL(I,S,7),L=Qe[m-2]|0,O=Je[m-2]|0,M=j.rotrSH(L,O,19)^j.rotrBH(L,O,61)^j.shrSH(L,O,6),U=j.rotrSL(L,O,19)^j.rotrBL(L,O,61)^j.shrSL(L,O,6),H=j.add4L(R,U,Je[m-7],Je[m-16]),z=j.add4H(H,B,M,Qe[m-7],Qe[m-16]);Qe[m]=z|0,Je[m]=H|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:d,Fh:g,Fl:h,Gh:p,Gl:y,Hh:x,Hl:v}=this;for(let m=0;m<80;m++){let I=j.rotrSH(l,d,14)^j.rotrSH(l,d,18)^j.rotrBH(l,d,41),S=j.rotrSL(l,d,14)^j.rotrSL(l,d,18)^j.rotrBL(l,d,41),B=l&g^~l&p,R=d&h^~d&y,L=j.add5L(v,S,R,Ph[m],Je[m]),O=j.add5H(L,x,I,B,Nh[m],Qe[m]),M=L|0,U=j.rotrSH(n,i,28)^j.rotrBH(n,i,34)^j.rotrBH(n,i,39),H=j.rotrSL(n,i,28)^j.rotrBL(n,i,34)^j.rotrBL(n,i,39),z=n&o^n&a^o&a,Z=i&s^i&c^s&c;x=p|0,v=y|0,p=g|0,y=h|0,g=l|0,h=d|0,{h:l,l:d}=j.add(f|0,u|0,O|0,M|0),f=a|0,u=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let A=j.add3L(M,H,Z);n=j.add3H(A,O,U,z),i=A|0}({h:n,l:i}=j.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=j.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=j.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=j.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:d}=j.add(this.Eh|0,this.El|0,l|0,d|0),{h:g,l:h}=j.add(this.Fh|0,this.Fl|0,g|0,h|0),{h:p,l:y}=j.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:x,l:v}=j.add(this.Hh|0,this.Hl|0,x|0,v|0),this.set(n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v)}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)}};var ko=fi(()=>new Do);var di={};Dt(di,{bitGet:()=>Vh,bitLen:()=>Mh,bitMask:()=>pn,bitSet:()=>Fh,bytesToHex:()=>Ue,bytesToNumberBE:()=>Ke,bytesToNumberLE:()=>he,concatBytes:()=>Me,createHmacDrbg:()=>Oo,ensureBytes:()=>xt,equalBytes:()=>Kh,hexToBytes:()=>pr,hexToNumber:()=>Ko,numberToBytesBE:()=>je,numberToBytesLE:()=>Oe,numberToHexUnpadded:()=>_0,numberToVarBytesBE:()=>Uh,utf8ToBytes:()=>Oh,validateObject:()=>ne});var T0=BigInt(0),li=BigInt(1),Dh=BigInt(2),hi=e=>e instanceof Uint8Array,kh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ue(e){if(!hi(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=kh[e[r]];return t}function _0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Ko(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function pr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Ke(e){return Ko(Ue(e))}function he(e){if(!hi(e))throw new Error("Uint8Array expected");return Ko(Ue(Uint8Array.from(e).reverse()))}function je(e,t){return pr(e.toString(16).padStart(t*2,"0"))}function Oe(e,t){return je(e,t).reverse()}function Uh(e){return pr(_0(e))}function xt(e,t,r){let n;if(typeof t=="string")try{n=pr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(hi(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function Me(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!hi(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function Kh(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Oh(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Mh(e){let t;for(t=0;e>T0;e>>=li,t+=1);return t}function Vh(e,t){return e>>BigInt(t)&li}var Fh=(e,t,r)=>e|(r?li:T0)<<BigInt(t),pn=e=>(Dh<<BigInt(e-1))-li,Uo=e=>new Uint8Array(e),C0=e=>Uint8Array.from(e);function Oo(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Uo(e),i=Uo(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Uo())=>{i=a(C0([0]),l),n=a(),l.length!==0&&(i=a(C0([1]),l),n=a())},f=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let g=n.slice();d.push(g),l+=n.length}return Me(...d)};return(l,d)=>{s(),c(l);let g;for(;!(g=d(f()));)c();return s(),g}}var qh={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function ne(e,t,r={}){let n=(i,o,s)=>{let a=qh[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Ut=BigInt(0),wt=BigInt(1),yr=BigInt(2),Hh=BigInt(3),Mo=BigInt(4),L0=BigInt(5),R0=BigInt(8),zh=BigInt(9),Gh=BigInt(16);function ct(e,t){let r=e%t;return r>=Ut?r:t+r}function Vo(e,t,r){if(r<=Ut||t<Ut)throw new Error("Expected power/modulo > 0");if(r===wt)return Ut;let n=wt;for(;t>Ut;)t&wt&&(n=n*e%r),e=e*e%r,t>>=wt;return n}function mt(e,t,r){let n=e;for(;t-- >Ut;)n*=n,n%=r;return n}function pi(e,t){if(e===Ut||t<=Ut)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ct(e,t),n=t,i=Ut,o=wt,s=wt,a=Ut;for(;r!==Ut;){let f=n/r,u=n%r,l=i-s*f,d=o-a*f;n=r,r=u,i=s,o=a,s=l,a=d}if(n!==wt)throw new Error("invert: does not exist");return ct(i,t)}function Wh(e){let t=(e-wt)/yr,r,n,i;for(r=e-wt,n=0;r%yr===Ut;r/=yr,n++);for(i=yr;i<e&&Vo(i,t,e)!==e-wt;i++);if(n===1){let s=(e+wt)/Mo;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let o=(r+wt)/yr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(d);g<f&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let h=a.pow(u,wt<<BigInt(f-g-1));u=a.sqr(h),l=a.mul(l,h),d=a.mul(d,u),f=g}return l}}function $h(e){if(e%Mo===Hh){let t=(e+wt)/Mo;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%R0===L0){let t=(e-L0)/R0;return function(n,i){let o=n.mul(i,yr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,yr),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),i))throw new Error("Cannot find square root");return f}}return e%Gh,Wh(e)}var N0=(e,t)=>(ct(e,t)&wt)===wt,Yh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Fo(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Yh.reduce((n,i)=>(n[i]="function",n),t);return ne(e,r)}function Zh(e,t,r){if(r<Ut)throw new Error("Expected power > 0");if(r===Ut)return e.ONE;if(r===wt)return t;let n=e.ONE,i=t;for(;r>Ut;)r&wt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=wt;return n}function Xh(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function qo(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function yi(e,t,r=!1,n={}){if(e<=Ut)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=qo(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=$h(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:pn(i),ZERO:Ut,ONE:wt,create:c=>ct(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ut<=c&&c<e},is0:c=>c===Ut,isOdd:c=>(c&wt)===wt,neg:c=>ct(-c,e),eql:(c,f)=>c===f,sqr:c=>ct(c*c,e),add:(c,f)=>ct(c+f,e),sub:(c,f)=>ct(c-f,e),mul:(c,f)=>ct(c*f,e),pow:(c,f)=>Zh(a,c,f),div:(c,f)=>ct(c*pi(f,e),e),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>pi(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Xh(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>r?Oe(c,o):je(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?he(c):Ke(c)}});return Object.freeze(a)}function P0(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function D0(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Ho(e){let t=D0(e);return t+Math.ceil(t/2)}function k0(e,t,r=!1){let n=e.length,i=D0(t),o=Ho(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Ke(e):he(e),a=ct(s,t-wt)+wt;return r?Oe(a,i):je(a,i)}var Jh=BigInt(0),zo=BigInt(1);function gi(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Jh;)o&zo&&(s=s.add(a)),a=a.double(),o>>=zo;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],f=i,u=f;for(let l=0;l<s;l++){u=f,c.push(u);for(let d=1;d<a;d++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),f=e.ZERO,u=e.BASE,l=BigInt(2**i-1),d=2**i,g=BigInt(i);for(let h=0;h<a;h++){let p=h*c,y=Number(s&l);s>>=g,y>c&&(y-=d,s+=zo);let x=p,v=p+Math.abs(y)-1,m=h%2!==0,I=y<0;y===0?u=u.add(r(m,o[x])):f=f.add(r(I,o[v]))}return{p:f,f:u}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,f=o.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&o.set(i,a(f))),this.wNAF(c,f,s)}}}function yn(e){return Fo(e.Fp),ne(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...qo(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var de=BigInt(0),ee=BigInt(1),xi=BigInt(2),jh=BigInt(8),td={zip215:!0};function ed(e){let t=yn(e);return ne(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function mi(e){let t=ed(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,f=xi<<BigInt(a*8)-ee,u=r.create,l=t.uvRatio||((_,w)=>{try{return{isValid:!0,value:r.sqrt(_*r.inv(w))}}catch{return{isValid:!1,value:de}}}),d=t.adjustScalarBytes||(_=>_),g=t.domain||((_,w,k)=>{if(w.length||k)throw new Error("Contexts/pre-hash are not supported");return _}),h=_=>typeof _=="bigint"&&de<_,p=(_,w)=>h(_)&&h(w)&&_<w,y=_=>_===de||p(_,f);function x(_,w){if(p(_,w))return _;throw new Error(`Expected valid scalar < ${w}, got ${typeof _} ${_}`)}function v(_){return _===de?_:x(_,n)}let m=new Map;function I(_){if(!(_ instanceof S))throw new Error("ExtendedPoint expected")}class S{constructor(w,k,K,F){if(this.ex=w,this.ey=k,this.ez=K,this.et=F,!y(w))throw new Error("x required");if(!y(k))throw new Error("y required");if(!y(K))throw new Error("z required");if(!y(F))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(w){if(w instanceof S)throw new Error("extended point not allowed");let{x:k,y:K}=w||{};if(!y(k)||!y(K))throw new Error("invalid affine point");return new S(k,K,ee,u(k*K))}static normalizeZ(w){let k=r.invertBatch(w.map(K=>K.ez));return w.map((K,F)=>K.toAffine(k[F])).map(S.fromAffine)}_setWindowSize(w){this._WINDOW_SIZE=w,m.delete(this)}assertValidity(){let{a:w,d:k}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:F,ez:$,et:Y}=this,rt=u(K*K),X=u(F*F),J=u($*$),pt=u(J*J),ht=u(rt*w),Ft=u(J*u(ht+X)),qt=u(pt+u(k*u(rt*X)));if(Ft!==qt)throw new Error("bad point: equation left != right (1)");let Pt=u(K*F),Gt=u($*Y);if(Pt!==Gt)throw new Error("bad point: equation left != right (2)")}equals(w){I(w);let{ex:k,ey:K,ez:F}=this,{ex:$,ey:Y,ez:rt}=w,X=u(k*rt),J=u($*F),pt=u(K*rt),ht=u(Y*F);return X===J&&pt===ht}is0(){return this.equals(S.ZERO)}negate(){return new S(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:w}=t,{ex:k,ey:K,ez:F}=this,$=u(k*k),Y=u(K*K),rt=u(xi*u(F*F)),X=u(w*$),J=k+K,pt=u(u(J*J)-$-Y),ht=X+Y,Ft=ht-rt,qt=X-Y,Pt=u(pt*Ft),Gt=u(ht*qt),Pe=u(pt*qt),ur=u(Ft*ht);return new S(Pt,Gt,ur,Pe)}add(w){I(w);let{a:k,d:K}=t,{ex:F,ey:$,ez:Y,et:rt}=this,{ex:X,ey:J,ez:pt,et:ht}=w;if(k===BigInt(-1)){let Ga=u(($-F)*(J+X)),Wa=u(($+F)*(J-X)),uo=u(Wa-Ga);if(uo===de)return this.double();let $a=u(Y*xi*ht),Ya=u(rt*xi*pt),Za=Ya+$a,Xa=Wa+Ga,Qa=Ya-$a,wl=u(Za*uo),El=u(Xa*Qa),Sl=u(Za*Qa),Bl=u(uo*Xa);return new S(wl,El,Bl,Sl)}let Ft=u(F*X),qt=u($*J),Pt=u(rt*K*ht),Gt=u(Y*pt),Pe=u((F+$)*(X+J)-Ft-qt),ur=Gt-Pt,fn=Gt+Pt,za=u(qt-k*Ft),xl=u(Pe*ur),ml=u(fn*za),bl=u(Pe*za),vl=u(ur*fn);return new S(xl,ml,vl,bl)}subtract(w){return this.add(w.negate())}wNAF(w){return L.wNAFCached(this,m,w,S.normalizeZ)}multiply(w){let{p:k,f:K}=this.wNAF(x(w,n));return S.normalizeZ([k,K])[0]}multiplyUnsafe(w){let k=v(w);return k===de?R:this.equals(R)||k===ee?this:this.equals(B)?this.wNAF(k).p:L.unsafeLadder(this,k)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(w){let{ex:k,ey:K,ez:F}=this,$=this.is0();w==null&&(w=$?jh:r.inv(F));let Y=u(k*w),rt=u(K*w),X=u(F*w);if($)return{x:de,y:ee};if(X!==ee)throw new Error("invZ was invalid");return{x:Y,y:rt}}clearCofactor(){let{h:w}=t;return w===ee?this:this.multiplyUnsafe(w)}static fromHex(w,k=!1){let{d:K,a:F}=t,$=r.BYTES;w=xt("pointHex",w,$);let Y=w.slice(),rt=w[$-1];Y[$-1]=rt&-129;let X=he(Y);X===de||(k?x(X,f):x(X,r.ORDER));let J=u(X*X),pt=u(J-ee),ht=u(K*J-F),{isValid:Ft,value:qt}=l(pt,ht);if(!Ft)throw new Error("Point.fromHex: invalid y coordinate");let Pt=(qt&ee)===ee,Gt=(rt&128)!==0;if(!k&&qt===de&&Gt)throw new Error("Point.fromHex: x=0 and x_0=1");return Gt!==Pt&&(qt=u(-qt)),S.fromAffine({x:qt,y:X})}static fromPrivateKey(w){return U(w).point}toRawBytes(){let{x:w,y:k}=this.toAffine(),K=Oe(k,r.BYTES);return K[K.length-1]|=w&ee?128:0,K}toHex(){return Ue(this.toRawBytes())}}S.BASE=new S(t.Gx,t.Gy,ee,u(t.Gx*t.Gy)),S.ZERO=new S(de,ee,ee,de);let{BASE:B,ZERO:R}=S,L=gi(S,a*8);function O(_){return ct(_,n)}function M(_){return O(he(_))}function U(_){let w=a;_=xt("private key",_,w);let k=xt("hashed private key",o(_),2*w),K=d(k.slice(0,w)),F=k.slice(w,2*w),$=M(K),Y=B.multiply($),rt=Y.toRawBytes();return{head:K,prefix:F,scalar:$,point:Y,pointBytes:rt}}function H(_){return U(_).pointBytes}function z(_=new Uint8Array,...w){let k=Me(...w);return M(o(g(k,xt("context",_),!!i)))}function Z(_,w,k={}){_=xt("message",_),i&&(_=i(_));let{prefix:K,scalar:F,pointBytes:$}=U(w),Y=z(k.context,K,_),rt=B.multiply(Y).toRawBytes(),X=z(k.context,rt,$,_),J=O(Y+X*F);v(J);let pt=Me(rt,Oe(J,r.BYTES));return xt("result",pt,a*2)}let A=td;function N(_,w,k,K=A){let{context:F,zip215:$}=K,Y=r.BYTES;_=xt("signature",_,2*Y),w=xt("message",w),i&&(w=i(w));let rt=he(_.slice(Y,2*Y)),X,J,pt;try{X=S.fromHex(k,$),J=S.fromHex(_.slice(0,Y),$),pt=B.multiplyUnsafe(rt)}catch{return!1}if(!$&&X.isSmallOrder())return!1;let ht=z(F,J.toRawBytes(),X.toRawBytes(),w);return J.add(X.multiplyUnsafe(ht)).subtract(pt).clearCofactor().equals(S.ZERO)}return B._setWindowSize(8),{CURVE:t,getPublicKey:H,sign:Z,verify:N,ExtendedPoint:S,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(_=8,w=S.BASE){return w._setWindowSize(_),w.multiply(BigInt(3)),w}}}}var gn=BigInt(0),Go=BigInt(1);function rd(e){return ne(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function U0(e){let t=rd(e),{P:r}=t,n=m=>ct(m,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(m=>m),c=t.powPminus2||(m=>Vo(m,r-BigInt(2),r));function f(m,I,S){let B=n(m*(I-S));return I=n(I-B),S=n(S+B),[I,S]}function u(m){if(typeof m=="bigint"&&gn<=m&&m<r)return m;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(m,I){let S=u(m),B=u(I),R=S,L=Go,O=gn,M=S,U=Go,H=gn,z;for(let A=BigInt(i-1);A>=gn;A--){let N=B>>A&Go;H^=N,z=f(H,L,M),L=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1],H=N;let T=L+O,_=n(T*T),w=L-O,k=n(w*w),K=_-k,F=M+U,$=M-U,Y=n($*T),rt=n(F*w),X=Y+rt,J=Y-rt;M=n(X*X),U=n(R*n(J*J)),L=n(_*k),O=n(K*(_+n(l*K)))}z=f(H,L,M),L=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1];let Z=c(O);return n(L*Z)}function g(m){return Oe(n(m),o)}function h(m){let I=xt("u coordinate",m,o);return s===o&&(I[s-1]&=127),he(I)}function p(m){let I=xt("scalar",m);if(I.length!==o&&I.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${I.length}`);return he(a(I))}function y(m,I){let S=h(I),B=p(m),R=d(S,B);if(R===gn)throw new Error("Invalid private or public key received");return g(R)}let x=g(t.Gu);function v(m){return y(m,x)}return{scalarMult:y,scalarMultBase:v,getSharedSecret:(m,I)=>y(m,I),getPublicKey:m=>v(m),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:x}}var xn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),K0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Wm=BigInt(0),nd=BigInt(1),Wo=BigInt(2),id=BigInt(5),O0=BigInt(10),od=BigInt(20),sd=BigInt(40),M0=BigInt(80);function V0(e){let t=xn,n=e*e%t*e%t,i=mt(n,Wo,t)*n%t,o=mt(i,nd,t)*e%t,s=mt(o,id,t)*o%t,a=mt(s,O0,t)*s%t,c=mt(a,od,t)*a%t,f=mt(c,sd,t)*c%t,u=mt(f,M0,t)*f%t,l=mt(u,M0,t)*f%t,d=mt(l,O0,t)*s%t;return{pow_p_5_8:mt(d,Wo,t)*e%t,b2:n}}function F0(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function ad(e,t){let r=xn,n=ct(t*t*t,r),i=ct(n*n*t,r),o=V0(e*i).pow_p_5_8,s=ct(e*n*o,r),a=ct(t*s*s,r),c=s,f=ct(s*K0,r),u=a===e,l=a===ct(-e,r),d=a===ct(-e*K0,r);return u&&(s=c),(l||d)&&(s=f),N0(s,r)&&(s=ct(-s,r)),{isValid:u||l,value:s}}var Ve=yi(xn,void 0,!0),$o={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ve,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:ko,randomBytes:dr,adjustScalarBytes:F0,uvRatio:ad},Fr=mi($o);function q0(e,t,r){if(t.length>255)throw new Error("Context is too big");return ci(No("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var $m=mi({...$o,domain:q0}),Ym=mi({...$o,domain:q0,prehash:ko}),mn=U0({P:xn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=xn,{pow_p_5_8:r,b2:n}=V0(e);return ct(mt(r,BigInt(3),t)*n,t)},adjustScalarBytes:F0,randomBytes:dr});var cd=(Ve.ORDER+BigInt(3))/BigInt(8),Zm=Ve.pow(Wo,cd),Xm=Ve.sqrt(Ve.neg(Ve.ONE)),Qm=(Ve.ORDER-BigInt(5))/BigInt(8),Jm=BigInt(486662);var jm=P0(Ve,Ve.neg(BigInt(486664)));var t2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),e2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),r2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),n2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var i2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var bi=class extends Mr{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,dn(t);let n=Xe(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return Or(this),this.iHash.update(t),this}digestInto(t){Or(this),Ro(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},qr=(e,t,r)=>new bi(e,t).update(r).digest();qr.create=(e,t)=>new bi(e,t);function z0(e,t,r){return dn(e),r===void 0&&(r=new Uint8Array(e.outputLen)),qr(e,Xe(r),Xe(t))}var Yo=new Uint8Array([0]),H0=new Uint8Array;function G0(e,t,r,n=32){if(dn(e),oi(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=H0);let o=new Uint8Array(i*e.outputLen),s=qr.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let f=0;f<i;f++)Yo[0]=f+1,a.update(f===0?H0:c).update(r).update(Yo).digestInto(c),o.set(c,e.outputLen*f),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),Yo.fill(0),o.slice(0,n)}var fd=(e,t,r)=>e&t^~e&r,ud=(e,t,r)=>e&t^e&r^t&r,ld=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]),tr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),er=new Uint32Array(64),Zo=class extends Vr{constructor(){super(64,32,8,!1),this.A=tr[0]|0,this.B=tr[1]|0,this.C=tr[2]|0,this.D=tr[3]|0,this.E=tr[4]|0,this.F=tr[5]|0,this.G=tr[6]|0,this.H=tr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)er[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=er[l-15],g=er[l-2],h=le(d,7)^le(d,18)^d>>>3,p=le(g,17)^le(g,19)^g>>>10;er[l]=p+er[l-7]+h+er[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let d=le(a,6)^le(a,11)^le(a,25),g=u+d+fd(a,c,f)+ld[l]+er[l]|0,p=(le(n,2)^le(n,13)^le(n,22))+ud(n,i,o)|0;u=f,f=c,c=a,a=s+g|0,s=o,o=i,i=n,n=g+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,i,o,s,a,c,f,u)}roundClean(){er.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Hr=fi(()=>new Zo);var Xo={hashSHA256(e){return Hr(e.subarray())},getHKDF(e,t){let r=z0(Hr,t,e),i=G0(Hr,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=mn.utils.randomPrivateKey();return{publicKey:mn.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:mn.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return mn.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return Lo(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return Lo(n,t,r).decrypt(e.subarray(),i)}};var W0=Xo;var zr=e=>{let t=kt(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};zr.bytes=2;var bn=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};bn.bytes=2;function $0(e){return new Ct(e.ne,e.ciphertext)}function Y0(e){return new Ct(e.ne,e.ns,e.ciphertext)}function Z0(e){return new Ct(e.ns,e.ciphertext)}function X0(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:nt(0)}}function Q0(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function J0(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:nt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var tc=16;function ec(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new Ct(zr(s.byteLength),s)}}}function rc(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-tc<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-tc),{plaintext:c,valid:f}=e.decrypt(s,e.session,a);if(!f)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var wn=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},gr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var J8=Qt(An(),1),j8=Qt(bf(),1);var rb=Symbol.for("@libp2p/connection");var ib=Symbol.for("@libp2p/content-routing");var ab=Symbol.for("@libp2p/peer-discovery");var vf=Symbol.for("@libp2p/peer-id");var ub=Symbol.for("@libp2p/peer-routing");var wf;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(wf||(wf={}));var Sf=Symbol.for("@libp2p/transport");var Ef;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Ef||(Ef={}));var et=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var bs=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},bb=globalThis.CustomEvent??bs;var Bg=Qt(dt(),1);var Bs={};Dt(Bs,{base10:()=>Fy});function Uy(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,y=0,x=0,v=h.length;x!==v&&h[x]===0;)x++,p++;for(var m=(v-x)*u+1>>>0,I=new Uint8Array(m);x!==v;){for(var S=h[x],B=0,R=m-1;(S!==0||B<y)&&R!==-1;R--,B++)S+=256*I[R]>>>0,I[R]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");y=B,x++}for(var L=m-y;L!==m&&I[L]===0;)L++;for(var O=c.repeat(p);L<m;++L)O+=e.charAt(I[L]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var y=0,x=0;h[p]===c;)y++,p++;for(var v=(h.length-p)*f+1>>>0,m=new Uint8Array(v);h[p];){var I=r[h.charCodeAt(p)];if(I===255)return;for(var S=0,B=v-1;(I!==0||S<x)&&B!==-1;B--,S++)I+=a*m[B]>>>0,m[B]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");x=S,p++}if(h[p]!==" "){for(var R=v-x;R!==v&&m[R]===0;)R++;for(var L=new Uint8Array(y+(v-R)),O=y;R!==v;)L[O++]=m[R++];return L}}}function g(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:g}}var Ky=Uy,Oy=Ky,Bf=Oy;var Gb=new Uint8Array(0);var Af=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},ze=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var If=e=>new TextEncoder().encode(e),Cf=e=>new TextDecoder().decode(e);var vs=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ws=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return _f(this,t)}},Es=class{constructor(t){this.decoders=t}or(t){return _f(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},_f=(e,t)=>new Es({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ss=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new vs(t,r,n),this.decoder=new ws(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Zr=({name:e,prefix:t,encode:r,decode:n})=>new Ss(e,t,r,n),sr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Bf(r,t);return Zr({prefix:e,name:t,encode:n,decode:o=>ze(i(o))})},My=(e,t,r,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,f=0;for(let u=0;u<o;++u){let l=i[e[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Vy=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Tt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Zr({prefix:t,name:e,encode(i){return Vy(i,n,r)},decode(i){return My(i,n,r,e)}});var Fy=sr({prefix:"9",name:"base10",alphabet:"0123456789"});var As={};Dt(As,{base16:()=>qy,base16upper:()=>Hy});var qy=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Hy=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Is={};Dt(Is,{base2:()=>zy});var zy=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Cs={};Dt(Cs,{base256emoji:()=>Zy});var Lf=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Gy=Lf.reduce((e,t,r)=>(e[r]=t,e),[]),Wy=Lf.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function $y(e){return e.reduce((t,r)=>(t+=Gy[r],t),"")}function Yy(e){let t=[];for(let r of e){let n=Wy[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Zy=Zr({prefix:"\u{1F680}",name:"base256emoji",encode:$y,decode:Yy});var Ts={};Dt(Ts,{base32:()=>Ge,base32hex:()=>jy,base32hexpad:()=>e1,base32hexpadupper:()=>r1,base32hexupper:()=>t1,base32pad:()=>Qy,base32padupper:()=>Jy,base32upper:()=>Xy,base32z:()=>n1});var Ge=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xy=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qy=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jy=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jy=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),t1=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),e1=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),r1=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),n1=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var _s={};Dt(_s,{base36:()=>i1,base36upper:()=>o1});var i1=sr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),o1=sr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ls={};Dt(Ls,{base58btc:()=>_t,base58flickr:()=>s1});var _t=sr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),s1=sr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ns={};Dt(Ns,{base64:()=>Oi,base64pad:()=>a1,base64url:()=>Rs,base64urlpad:()=>c1});var Oi=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),a1=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Rs=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),c1=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ps={};Dt(Ps,{base8:()=>f1});var f1=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ds={};Dt(Ds,{identity:()=>u1});var u1=Zr({prefix:"\0",name:"identity",encode:e=>Cf(e),decode:e=>If(e)});var sv=new TextEncoder,av=new TextDecoder;var Ks={};Dt(Ks,{identity:()=>cr});var Ce={};Dt(Ce,{Digest:()=>Er,create:()=>ge,decode:()=>ar,equals:()=>Us});var d1=Pf,Rf=128,p1=127,y1=~p1,g1=Math.pow(2,31);function Pf(e,t,r){t=t||[],r=r||0;for(var n=r;e>=g1;)t[r++]=e&255|Rf,e/=128;for(;e&y1;)t[r++]=e&255|Rf,e>>>=7;return t[r]=e|0,Pf.bytes=r-n+1,t}var x1=ks,m1=128,Nf=127;function ks(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ks.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Nf)<<i:(s&Nf)*Math.pow(2,i),i+=7}while(s>=m1);return ks.bytes=o-n,r}var b1=Math.pow(2,7),v1=Math.pow(2,14),w1=Math.pow(2,21),E1=Math.pow(2,28),S1=Math.pow(2,35),B1=Math.pow(2,42),A1=Math.pow(2,49),I1=Math.pow(2,56),C1=Math.pow(2,63),T1=function(e){return e<b1?1:e<v1?2:e<w1?3:e<E1?4:e<S1?5:e<B1?6:e<A1?7:e<I1?8:e<C1?9:10},_1={encode:d1,decode:x1,encodingLength:T1},L1=_1,Tn=L1;var _n=(e,t=0)=>[Tn.decode(e,t),Tn.decode.bytes],Xr=(e,t,r=0)=>(Tn.encode(e,t,r),t),Qr=e=>Tn.encodingLength(e);var ge=(e,t)=>{let r=t.byteLength,n=Qr(e),i=n+Qr(r),o=new Uint8Array(i+r);return Xr(e,o,0),Xr(r,o,n),o.set(t,i),new Er(e,r,t,o)},ar=e=>{let t=ze(e),[r,n]=_n(t),[i,o]=_n(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Er(r,i,s,t)},Us=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Af(e.bytes,r.bytes)}},Er=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Df=0,R1="identity",kf=ze,N1=e=>ge(Df,kf(e)),cr={code:Df,name:R1,encode:kf,digest:N1};var Vs={};Dt(Vs,{sha256:()=>zt,sha512:()=>P1});var Ms=({name:e,code:t,encode:r})=>new Os(e,t,r),Os=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?ge(this.code,r):r.then(n=>ge(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Kf=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),zt=Ms({name:"sha2-256",code:18,encode:Kf("SHA-256")}),P1=Ms({name:"sha2-512",code:19,encode:Kf("SHA-512")});var Of=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return k1(r,Fs(e),t||_t.encoder);default:return U1(r,Fs(e),t||Ge.encoder)}};var Mf=new WeakMap,Fs=e=>{let t=Mf.get(e);if(t==null){let r=new Map;return Mf.set(e,r),r}return t},xe=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Ln)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==K1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=ge(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Us(t.multihash,n.multihash)}toString(t){return Of(this,t)}toJSON(){return{"/":Of(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||Vf(n,i,o.bytes))}else if(r[O1]===!0){let{version:n,multihash:i,code:o}=r,s=ar(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==Ln)throw new Error(`Version 0 CID must use dag-pb (code: ${Ln}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Vf(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Ln,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=ze(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Er(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=_n(t.subarray(r));return r+=d,l},i=n(),o=Ln;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),f=r+c,u=f-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,r){let[n,i]=D1(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Fs(o).set(n,t),o}},D1=(e,t)=>{switch(e[0]){case"Q":{let r=t||_t;return[_t.prefix,r.decode(`${_t.prefix}${e}`)]}case _t.prefix:{let r=t||_t;return[_t.prefix,r.decode(e)]}case Ge.prefix:{let r=t||Ge;return[Ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},k1=(e,t,r)=>{let{prefix:n}=r;if(n!==_t.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},U1=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},Ln=112,K1=18,Vf=(e,t,r)=>{let n=Qr(e),i=n+Qr(t),o=new Uint8Array(i+r.byteLength);return Xr(e,o,0),Xr(t,o,n),o.set(r,i),o},O1=Symbol.for("@ipld/js-cid/CID");var Te={...Ds,...Is,...Ps,...Bs,...As,...Ts,..._s,...Ls,...Ns,...Cs},Sv={...Vs,...Ks};function qf(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Ff=qf("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),qs=qf("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=kt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),M1={utf8:Ff,"utf-8":Ff,hex:Te.base16,latin1:qs,ascii:qs,binary:qs,...Te},Vi=M1;function Bt(e,t="utf8"){let r=Vi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?De(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var ia={};Dt(ia,{Ed25519PrivateKey:()=>Tr,Ed25519PublicKey:()=>Dn,generateKeyPair:()=>Q1,generateKeyPairFromSeed:()=>ou,unmarshalEd25519PrivateKey:()=>Z1,unmarshalEd25519PublicKey:()=>X1});var Pv=Qt(Nt(),1),Dv=Qt(Di(),1),Hf=Qt(dt(),1);function ot(e,t="utf8"){let r=Vi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function me(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=At([new Uint8Array(t-r.length),r])}return ot(r,"base64url")}function re(e){let t=zf(e);return new Hf.default.jsbn.BigInteger(ot(t,"base16"),16)}function zf(e,t){let r=Bt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=At([new Uint8Array(t-r.length),r])}return r}function se(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Jr=32,We=64,Fi=32;function Gf(){let e=Fr.utils.randomPrivateKey(),t=Fr.getPublicKey(e);return{privateKey:Zf(e,t),publicKey:t}}function Wf(e){if(e.length!==Fi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=Fr.getPublicKey(t);return{privateKey:Zf(t,r),publicKey:r}}function $f(e,t){let r=e.subarray(0,Fi);return Fr.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Yf(e,t,r){return Fr.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Zf(e,t){let r=new Uint8Array(We);for(let n=0;n<Fi;n++)r[n]=e[n],r[Fi+n]=t[n];return r}var jt={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Hs={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function zs(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=jt.get();r*=8;async function c(l,d){let g=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=Bt(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",Hs,{name:"AES-GCM"},!0,["encrypt"]);try{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,m,{name:t,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Hs,{name:"AES-GCM"},!0,["encrypt"])}}else{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,m,{name:t,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,y,l);return At([g,p.iv,new Uint8Array(x)])}async function f(l,d){let g=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),y={name:t,iv:h};typeof d=="string"&&(d=Bt(d));let x;if(d.length===0)try{let m={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(m,I,{name:t,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",Hs,{name:"AES-GCM"},!0,["decrypt"])}else{let m={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(m,I,{name:t,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(y,x,p);return new Uint8Array(v)}return{encrypt:c,decrypt:f}}async function jr(e,t){let n=await zs().encrypt(e,t);return Oi.encode(n)}var Gs=new Float32Array([-0]),fr=new Uint8Array(Gs.buffer);function Qf(e,t,r){Gs[0]=e,t[r]=fr[0],t[r+1]=fr[1],t[r+2]=fr[2],t[r+3]=fr[3]}function Jf(e,t){return fr[0]=e[t],fr[1]=e[t+1],fr[2]=e[t+2],fr[3]=e[t+3],Gs[0]}var Ws=new Float64Array([-0]),Yt=new Uint8Array(Ws.buffer);function jf(e,t,r){Ws[0]=e,t[r]=Yt[0],t[r+1]=Yt[1],t[r+2]=Yt[2],t[r+3]=Yt[3],t[r+4]=Yt[4],t[r+5]=Yt[5],t[r+6]=Yt[6],t[r+7]=Yt[7]}function tu(e,t){return Yt[0]=e[t],Yt[1]=e[t+1],Yt[2]=e[t+2],Yt[3]=e[t+3],Yt[4]=e[t+4],Yt[5]=e[t+5],Yt[6]=e[t+6],Yt[7]=e[t+7],Ws[0]}var F1=BigInt(Number.MAX_SAFE_INTEGER),q1=BigInt(Number.MIN_SAFE_INTEGER),te=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Sr;if(t<F1&&t>q1)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>eu&&(i=0n,++n>eu&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Sr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Sr}},Sr=new te(0,0);Sr.toBigInt=function(){return 0n};Sr.zzEncode=Sr.zzDecode=function(){return this};Sr.length=function(){return 1};var eu=4294967296n;function ru(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function nu(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function $s(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function be(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function qi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Ys=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,be(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw be(this,4);return qi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw be(this,4);return qi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw be(this,4);let t=Jf(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw be(this,4);let t=tu(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw be(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return nu(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw be(this,t);this.pos+=t}else do if(this.pos>=this.len)throw be(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new te(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw be(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw be(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw be(this,8);let t=qi(this.buf,this.pos+=4),r=qi(this.buf,this.pos+=4);return new te(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Zs(e){return new Ys(e instanceof Uint8Array?e:e.subarray())}function Br(e,t){let r=Zs(e);return t.decode(r)}function Xs(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return kt(s);i+s>t&&(n=kt(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Ar=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Qs(){}var js=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},H1=Xs();function z1(e){return globalThis.Buffer!=null?kt(e):H1(e)}var Pn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ar(Qs,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Ar(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ta((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Rn,10,te.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=te.fromBigInt(t);return this._push(Rn,r.length(),r)}uint64Number(t){let r=te.fromNumber(t);return this._push(Rn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=te.fromBigInt(t).zzEncode();return this._push(Rn,r.length(),r)}sint64Number(t){let r=te.fromNumber(t).zzEncode();return this._push(Rn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Js,1,t?1:0)}fixed32(t){return this._push(Nn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=te.fromBigInt(t);return this._push(Nn,4,r.lo)._push(Nn,4,r.hi)}fixed64Number(t){let r=te.fromNumber(t);return this._push(Nn,4,r.lo)._push(Nn,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Qf,4,t)}double(t){return this._push(jf,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Js,1,0):this.uint32(r)._push(W1,r,t)}string(t){let r=ru(t);return r!==0?this.uint32(r)._push($s,r,t):this._push(Js,1,0)}fork(){return this.states=new js(this),this.head=this.tail=new Ar(Qs,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Ar(Qs,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=z1(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Js(e,t,r){t[r]=e&255}function G1(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var ta=class extends Ar{next;constructor(t,r){super(G1,t,r),this.next=void 0}};function Rn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Nn(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function W1(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Pn.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push($1,t,e),this},Pn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Y1,t,e),this});function $1(e,t,r){t.set(e,r)}function Y1(e,t,r){e.length<40?$s(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(Bt(e),r)}function ea(){return new Pn}function Ir(e,t){let r=ea();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var tn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(tn||(tn={}));function Hi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function ra(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Hi("enum",tn.VARINT,r,n)}function Cr(e,t){return Hi("message",tn.LENGTH_DELIMITED,e,t)}var St;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(St||(St={}));var na;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(na||(na={}));(function(e){e.codec=()=>ra(na)})(St||(St={}));var _e;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),St.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=St.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})(_e||(_e={}));var Le;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),St.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=St.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})(Le||(Le={}));var Dn=class{_key;constructor(t){this._key=en(t,Jr)}verify(t,r){return Yf(this._key,r,t)}marshal(){return this._key}get bytes(){return _e.encode({Type:St.Ed25519,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}},Tr=class{_key;_publicKey;constructor(t,r){this._key=en(t,We),this._publicKey=en(r,Jr)}sign(t){return $f(this._key,t)}get public(){return new Dn(this._publicKey)}marshal(){return this._key}get bytes(){return Le.encode({Type:St.Ed25519,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let t=zt.digest(this.bytes),r;return se(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=cr.digest(this.public.bytes);return _t.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return jr(this.bytes,t);throw new et(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Z1(e){if(e.length>We){e=en(e,We+Jr);let n=e.subarray(0,We),i=e.subarray(We,e.length);return new Tr(n,i)}e=en(e,We);let t=e.subarray(0,We),r=e.subarray(Jr);return new Tr(t,r)}function X1(e){return e=en(e,Jr),new Dn(e)}async function Q1(){let{privateKey:e,publicKey:t}=Gf();return new Tr(e,t)}async function ou(e){let{privateKey:t,publicKey:r}=Wf(e);return new Tr(t,r)}function en(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new et(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var J1={"P-256":256,"P-384":384,"P-521":521},j1=Object.keys(J1),kw=j1.join(" / ");var fa={};Dt(fa,{MAX_KEY_SIZE:()=>On,RsaPrivateKey:()=>rn,RsaPublicKey:()=>Kn,fromJwk:()=>ug,generateKeyPair:()=>lg,unmarshalRsaPrivateKey:()=>cg,unmarshalRsaPublicKey:()=>fg});var Un=Qt(dt(),1);var b8=Qt(uu(),1);function Gi(e){if(isNaN(e)||e<=0)throw new et("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return dr(e)}var e8=Qt(Ki(),1),aa=Qt(dt(),1);function lu(e,t){return t.map(r=>re(e[r]))}function hu(e){return aa.default.pki.setRsaPrivateKey(...lu(e,["n","e","d","p","q","dp","dq","qi"]))}function du(e){return aa.default.pki.setRsaPublicKey(...lu(e,["n","e"]))}var Lr={};Dt(Lr,{jwkToPkcs1:()=>ng,jwkToPkix:()=>og,pkcs1ToJwk:()=>rg,pkixToJwk:()=>ig});var i8=Qt(An(),1),o8=Qt(Ki(),1);var $e=Qt(dt(),1);function rg(e){let t=$e.default.asn1.fromDer(ot(e,"ascii")),r=$e.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:me(r.n),e:me(r.e),d:me(r.d),p:me(r.p),q:me(r.q),dp:me(r.dP),dq:me(r.dQ),qi:me(r.qInv),alg:"RS256"}}function ng(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new et("JWK was missing components","ERR_INVALID_PARAMETERS");let t=$e.default.pki.privateKeyToAsn1({n:re(e.n),e:re(e.e),d:re(e.d),p:re(e.p),q:re(e.q),dP:re(e.dp),dQ:re(e.dq),qInv:re(e.qi)});return Bt($e.default.asn1.toDer(t).getBytes(),"ascii")}function ig(e){let t=$e.default.asn1.fromDer(ot(e,"ascii")),r=$e.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:me(r.n),e:me(r.e)}}function og(e){if(e.n==null||e.e==null)throw new et("JWK was missing components","ERR_INVALID_PARAMETERS");let t=$e.default.pki.publicKeyToAsn1({n:re(e.n),e:re(e.e)});return Bt($e.default.asn1.toDer(t).getBytes(),"ascii")}async function pu(e){let t=await jt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await xu(t);return{privateKey:r[0],publicKey:r[1]}}async function ca(e){let r=[await jt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await sg(e)],n=await xu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function yu(e,t){let r=await jt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await jt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function gu(e,t,r){let n=await jt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return jt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function xu(e){if(e.privateKey==null||e.publicKey==null)throw new et("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([jt.get().subtle.exportKey("jwk",e.privateKey),jt.get().subtle.exportKey("jwk",e.publicKey)])}async function sg(e){return jt.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function mu(e,t,r,n){let i=t?du(e):hu(e),o=ot(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return Bt(s,"ascii")}function bu(e,t){return mu(e,!0,t,(r,n)=>n.encrypt(r))}function vu(e,t){return mu(e,!1,t,(r,n)=>n.decrypt(r))}function Wi(e){if(e.kty!=="RSA")throw new et("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new et("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Bt(e.n,"base64url").length*8}var On=8192,Kn=class{_key;constructor(t){this._key=t}verify(t,r){return gu(this._key,r,t)}marshal(){return Lr.jwkToPkix(this._key)}get bytes(){return _e.encode({Type:St.RSA,Data:this.marshal()}).subarray()}encrypt(t){return bu(this._key,t)}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}},rn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Gi(16)}sign(t){return yu(this._key,t)}get public(){if(this._publicKey==null)throw new et("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Kn(this._publicKey)}decrypt(t){return vu(this._key,t)}marshal(){return Lr.jwkToPkcs1(this._key)}get bytes(){return Le.encode({Type:St.RSA,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return ot(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Un.default.util.ByteBuffer(this.marshal()),i=Un.default.asn1.fromDer(n),o=Un.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Un.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return jr(this.bytes,t);throw new et(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function cg(e){let t=Lr.pkcs1ToJwk(e);if(Wi(t)>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await ca(t);return new rn(r.privateKey,r.publicKey)}function fg(e){let t=Lr.pkixToJwk(e);if(Wi(t)>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Kn(t)}async function ug(e){if(Wi(e)>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await ca(e);return new rn(t.privateKey,t.publicKey)}async function lg(e){if(e>On)throw new et("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await pu(e);return new rn(t.privateKey,t.publicKey)}var da={};Dt(da,{Secp256k1PrivateKey:()=>Vn,Secp256k1PublicKey:()=>Mn,generateKeyPair:()=>Sg,unmarshalSecp256k1PrivateKey:()=>wg,unmarshalSecp256k1PublicKey:()=>Eg});function hg(e){let t=yn(e);ne(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:dg,hexToBytes:pg}=di,Rr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Rr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:dg(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Rr,r=typeof e=="string"?pg(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=Rr._parseInt(r.subarray(2)),{d:s,l:a}=Rr._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=f=>Number.parseInt(f[0],16)&8?"00"+f:f,r=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=t(r(e.s)),i=t(r(e.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},Ye=BigInt(0),ae=BigInt(1),I8=BigInt(2),wu=BigInt(3),C8=BigInt(4);function yg(e){let t=hg(e),{Fp:r}=t,n=t.toBytes||((h,p,y)=>{let x=p.toAffine();return Me(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:x}});function o(h){let{a:p,b:y}=t,x=r.sqr(h),v=r.mul(x,h);return r.add(r.add(v,r.mul(h,p)),y)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&Ye<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:y,wrapPrivateKey:x,n:v}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=Ue(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(y*2,"0")}let m;try{m=typeof h=="bigint"?h:Ke(xt("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return x&&(m=ct(m,v)),a(m),m}let f=new Map;function u(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,y,x){if(this.px=p,this.py=y,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:y,y:x}=p||{};if(!p||!r.isValid(y)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let v=m=>r.eql(m,r.ZERO);return v(y)&&v(x)?l.ZERO:new l(y,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(x=>x.pz));return p.map((x,v)=>x.toAffine(y[v])).map(l.fromAffine)}static fromHex(p){let y=l.fromAffine(i(xt("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,f.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y}=this.toAffine();if(!r.isValid(p)||!r.isValid(y))throw new Error("bad point: x or y not FE");let x=r.sqr(y),v=o(p);if(!r.eql(x,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){u(p);let{px:y,py:x,pz:v}=this,{px:m,py:I,pz:S}=p,B=r.eql(r.mul(y,S),r.mul(m,v)),R=r.eql(r.mul(x,S),r.mul(I,v));return B&&R}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=t,x=r.mul(y,wu),{px:v,py:m,pz:I}=this,S=r.ZERO,B=r.ZERO,R=r.ZERO,L=r.mul(v,v),O=r.mul(m,m),M=r.mul(I,I),U=r.mul(v,m);return U=r.add(U,U),R=r.mul(v,I),R=r.add(R,R),S=r.mul(p,R),B=r.mul(x,M),B=r.add(S,B),S=r.sub(O,B),B=r.add(O,B),B=r.mul(S,B),S=r.mul(U,S),R=r.mul(x,R),M=r.mul(p,M),U=r.sub(L,M),U=r.mul(p,U),U=r.add(U,R),R=r.add(L,L),L=r.add(R,L),L=r.add(L,M),L=r.mul(L,U),B=r.add(B,L),M=r.mul(m,I),M=r.add(M,M),L=r.mul(M,U),S=r.sub(S,L),R=r.mul(M,O),R=r.add(R,R),R=r.add(R,R),new l(S,B,R)}add(p){u(p);let{px:y,py:x,pz:v}=this,{px:m,py:I,pz:S}=p,B=r.ZERO,R=r.ZERO,L=r.ZERO,O=t.a,M=r.mul(t.b,wu),U=r.mul(y,m),H=r.mul(x,I),z=r.mul(v,S),Z=r.add(y,x),A=r.add(m,I);Z=r.mul(Z,A),A=r.add(U,H),Z=r.sub(Z,A),A=r.add(y,v);let N=r.add(m,S);return A=r.mul(A,N),N=r.add(U,z),A=r.sub(A,N),N=r.add(x,v),B=r.add(I,S),N=r.mul(N,B),B=r.add(H,z),N=r.sub(N,B),L=r.mul(O,A),B=r.mul(M,z),L=r.add(B,L),B=r.sub(H,L),L=r.add(H,L),R=r.mul(B,L),H=r.add(U,U),H=r.add(H,U),z=r.mul(O,z),A=r.mul(M,A),H=r.add(H,z),z=r.sub(U,z),z=r.mul(O,z),A=r.add(A,z),U=r.mul(H,A),R=r.add(R,U),U=r.mul(N,A),B=r.mul(Z,B),B=r.sub(B,U),U=r.mul(Z,H),L=r.mul(N,L),L=r.add(L,U),new l(B,R,L)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return g.wNAFCached(this,f,p,y=>{let x=r.invertBatch(y.map(v=>v.pz));return y.map((v,m)=>v.toAffine(x[m])).map(l.fromAffine)})}multiplyUnsafe(p){let y=l.ZERO;if(p===Ye)return y;if(a(p),p===ae)return this;let{endo:x}=t;if(!x)return g.unsafeLadder(this,p);let{k1neg:v,k1:m,k2neg:I,k2:S}=x.splitScalar(p),B=y,R=y,L=this;for(;m>Ye||S>Ye;)m&ae&&(B=B.add(L)),S&ae&&(R=R.add(L)),L=L.double(),m>>=ae,S>>=ae;return v&&(B=B.negate()),I&&(R=R.negate()),R=new l(r.mul(R.px,x.beta),R.py,R.pz),B.add(R)}multiply(p){a(p);let y=p,x,v,{endo:m}=t;if(m){let{k1neg:I,k1:S,k2neg:B,k2:R}=m.splitScalar(y),{p:L,f:O}=this.wNAF(S),{p:M,f:U}=this.wNAF(R);L=g.constTimeNegate(I,L),M=g.constTimeNegate(B,M),M=new l(r.mul(M.px,m.beta),M.py,M.pz),x=L.add(M),v=O.add(U)}else{let{p:I,f:S}=this.wNAF(y);x=I,v=S}return l.normalizeZ([x,v])[0]}multiplyAndAddUnsafe(p,y,x){let v=l.BASE,m=(S,B)=>B===Ye||B===ae||!S.equals(v)?S.multiplyUnsafe(B):S.multiply(B),I=m(this,y).add(m(p,x));return I.is0()?void 0:I}toAffine(p){let{px:y,py:x,pz:v}=this,m=this.is0();p==null&&(p=m?r.ONE:r.inv(v));let I=r.mul(y,p),S=r.mul(x,p),B=r.mul(v,p);if(m)return{x:r.ZERO,y:r.ZERO};if(!r.eql(B,r.ONE))throw new Error("invZ was invalid");return{x:I,y:S}}isTorsionFree(){let{h:p,isTorsionFree:y}=t;if(p===ae)return!0;if(y)return y(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:y}=t;return p===ae?this:y?y(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ue(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,g=gi(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function gg(e){let t=yn(e);return ne(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Eu(e){let t=gg(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(A){return Ye<A&&A<r.ORDER}function a(A){return ct(A,n)}function c(A){return pi(A,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:d}=yg({...t,toBytes(A,N,T){let _=N.toAffine(),w=r.toBytes(_.x),k=Me;return T?k(Uint8Array.from([N.hasEvenY()?2:3]),w):k(Uint8Array.from([4]),w,r.toBytes(_.y))},fromBytes(A){let N=A.length,T=A[0],_=A.subarray(1);if(N===i&&(T===2||T===3)){let w=Ke(_);if(!s(w))throw new Error("Point is not on curve");let k=l(w),K=r.sqrt(k),F=(K&ae)===ae;return(T&1)===1!==F&&(K=r.neg(K)),{x:w,y:K}}else if(N===o&&T===4){let w=r.fromBytes(_.subarray(0,r.BYTES)),k=r.fromBytes(_.subarray(r.BYTES,2*r.BYTES));return{x:w,y:k}}else throw new Error(`Point of length ${N} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),g=A=>Ue(je(A,t.nByteLength));function h(A){let N=n>>ae;return A>N}function p(A){return h(A)?a(-A):A}let y=(A,N,T)=>Ke(A.slice(N,T));class x{constructor(N,T,_){this.r=N,this.s=T,this.recovery=_,this.assertValidity()}static fromCompact(N){let T=t.nByteLength;return N=xt("compactSignature",N,T*2),new x(y(N,0,T),y(N,T,2*T))}static fromDER(N){let{r:T,s:_}=Rr.toSig(xt("DER",N));return new x(T,_)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new x(this.r,this.s,N)}recoverPublicKey(N){let{r:T,s:_,recovery:w}=this,k=R(xt("msgHash",N));if(w==null||![0,1,2,3].includes(w))throw new Error("recovery id invalid");let K=w===2||w===3?T+t.n:T;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let F=w&1?"03":"02",$=f.fromHex(F+g(K)),Y=c(K),rt=a(-k*Y),X=a(_*Y),J=f.BASE.multiplyAndAddUnsafe($,rt,X);if(!J)throw new Error("point at infinify");return J.assertValidity(),J}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return pr(this.toDERHex())}toDERHex(){return Rr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return pr(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let v={isValidPrivateKey(A){try{return u(A),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let A=Ho(t.n);return k0(t.randomBytes(A),t.n)},precompute(A=8,N=f.BASE){return N._setWindowSize(A),N.multiply(BigInt(3)),N}};function m(A,N=!0){return f.fromPrivateKey(A).toRawBytes(N)}function I(A){let N=A instanceof Uint8Array,T=typeof A=="string",_=(N||T)&&A.length;return N?_===i||_===o:T?_===2*i||_===2*o:A instanceof f}function S(A,N,T=!0){if(I(A))throw new Error("first arg must be private key");if(!I(N))throw new Error("second arg must be public key");return f.fromHex(N).multiply(u(A)).toRawBytes(T)}let B=t.bits2int||function(A){let N=Ke(A),T=A.length*8-t.nBitLength;return T>0?N>>BigInt(T):N},R=t.bits2int_modN||function(A){return a(B(A))},L=pn(t.nBitLength);function O(A){if(typeof A!="bigint")throw new Error("bigint expected");if(!(Ye<=A&&A<L))throw new Error(`bigint expected < 2^${t.nBitLength}`);return je(A,t.nByteLength)}function M(A,N,T=U){if(["recovered","canonical"].some(ht=>ht in T))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:w}=t,{lowS:k,prehash:K,extraEntropy:F}=T;k==null&&(k=!0),A=xt("msgHash",A),K&&(A=xt("prehashed msgHash",_(A)));let $=R(A),Y=u(N),rt=[O(Y),O($)];if(F!=null){let ht=F===!0?w(r.BYTES):F;rt.push(xt("extraEntropy",ht))}let X=Me(...rt),J=$;function pt(ht){let Ft=B(ht);if(!d(Ft))return;let qt=c(Ft),Pt=f.BASE.multiply(Ft).toAffine(),Gt=a(Pt.x);if(Gt===Ye)return;let Pe=a(qt*a(J+Gt*Y));if(Pe===Ye)return;let ur=(Pt.x===Gt?0:2)|Number(Pt.y&ae),fn=Pe;return k&&h(Pe)&&(fn=p(Pe),ur^=1),new x(Gt,fn,ur)}return{seed:X,k2sig:pt}}let U={lowS:t.lowS,prehash:!1},H={lowS:t.lowS,prehash:!1};function z(A,N,T=U){let{seed:_,k2sig:w}=M(A,N,T),k=t;return Oo(k.hash.outputLen,k.nByteLength,k.hmac)(_,w)}f.BASE._setWindowSize(8);function Z(A,N,T,_=H){let w=A;if(N=xt("msgHash",N),T=xt("publicKey",T),"strict"in _)throw new Error("options.strict was renamed to lowS");let{lowS:k,prehash:K}=_,F,$;try{if(typeof w=="string"||w instanceof Uint8Array)try{F=x.fromDER(w)}catch(Pt){if(!(Pt instanceof Rr.Err))throw Pt;F=x.fromCompact(w)}else if(typeof w=="object"&&typeof w.r=="bigint"&&typeof w.s=="bigint"){let{r:Pt,s:Gt}=w;F=new x(Pt,Gt)}else throw new Error("PARSE");$=f.fromHex(T)}catch(Pt){if(Pt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&F.hasHighS())return!1;K&&(N=t.hash(N));let{r:Y,s:rt}=F,X=R(N),J=c(rt),pt=a(X*J),ht=a(Y*J),Ft=f.BASE.multiplyAndAddUnsafe($,pt,ht)?.toAffine();return Ft?a(Ft.x)===Y:!1}return{CURVE:t,getPublicKey:m,getSharedSecret:S,sign:z,verify:Z,ProjectivePoint:f,Signature:x,utils:v}}function xg(e){return{hash:e,hmac:(t,...r)=>qr(e,t,ci(...r)),randomBytes:dr}}function Su(e,t){let r=n=>Eu({...e,...xg(n)});return Object.freeze({...r(t),create:r})}var Iu=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Bu=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),mg=BigInt(1),ua=BigInt(2),Au=(e,t)=>(e+t/ua)/t;function bg(e){let t=Iu,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=e*e*e%t,u=f*f*e%t,l=mt(u,r,t)*u%t,d=mt(l,r,t)*u%t,g=mt(d,ua,t)*f%t,h=mt(g,i,t)*g%t,p=mt(h,o,t)*h%t,y=mt(p,a,t)*p%t,x=mt(y,c,t)*y%t,v=mt(x,a,t)*p%t,m=mt(v,r,t)*u%t,I=mt(m,s,t)*h%t,S=mt(I,n,t)*f%t,B=mt(S,ua,t);if(!la.eql(la.sqr(B),e))throw new Error("Cannot find square root");return B}var la=yi(Iu,void 0,void 0,{sqrt:bg}),ve=Su({a:BigInt(0),b:BigInt(7),Fp:la,n:Bu,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Bu,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-mg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Au(o*e,t),c=Au(-n*e,t),f=ct(e-a*r-c*i,t),u=ct(-a*n-c*o,t),l=f>s,d=u>s;if(l&&(f=t-f),d&&(u=t-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:f,k2neg:d,k2:u}}}},Hr),U8=BigInt(0);var K8=ve.ProjectivePoint;function Cu(){return ve.utils.randomPrivateKey()}function Tu(e,t){let r=zt.digest(t instanceof Uint8Array?t:t.subarray());if(se(r))return r.then(({digest:n})=>ve.sign(n,e).toDERRawBytes()).catch(n=>{throw new et(String(n),"ERR_INVALID_INPUT")});try{return ve.sign(r.digest,e).toDERRawBytes()}catch(n){throw new et(String(n),"ERR_INVALID_INPUT")}}function _u(e,t,r){let n=zt.digest(r instanceof Uint8Array?r:r.subarray());if(se(n))return n.then(({digest:i})=>ve.verify(t,i,e)).catch(i=>{throw new et(String(i),"ERR_INVALID_INPUT")});try{return ve.verify(t,n.digest,e)}catch(i){throw new et(String(i),"ERR_INVALID_INPUT")}}function Lu(e){return ve.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Ru(e){try{ve.getPublicKey(e,!0)}catch(t){throw new et(String(t),"ERR_INVALID_PRIVATE_KEY")}}function ha(e){try{ve.ProjectivePoint.fromHex(e)}catch(t){throw new et(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Nu(e){try{return ve.getPublicKey(e,!0)}catch(t){throw new et(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Mn=class{_key;constructor(t){ha(t),this._key=t}verify(t,r){return _u(this._key,r,t)}marshal(){return Lu(this._key)}get bytes(){return _e.encode({Type:St.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let t=zt.digest(this.bytes),r;return se(t)?{bytes:r}=await t:r=t.bytes,r}},Vn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Nu(t),Ru(this._key),ha(this._publicKey)}sign(t){return Tu(this._key,t)}get public(){return new Mn(this._publicKey)}marshal(){return this._key}get bytes(){return Le.encode({Type:St.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}hash(){let t=zt.digest(this.bytes);return se(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return ot(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return jr(this.bytes,t);throw new et(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function wg(e){return new Vn(e)}function Eg(e){return new Mn(e)}async function Sg(){let e=Cu();return new Vn(e)}var Nr={rsa:fa,ed25519:ia,secp256k1:da};function Pu(e){let t=Object.keys(Nr).join(" / ");return new et(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Du(e){let t=_e.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case St.RSA:return Nr.rsa.unmarshalRsaPublicKey(r);case St.Ed25519:return Nr.ed25519.unmarshalEd25519PublicKey(r);case St.Secp256k1:return Nr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Pu(t.Type??"unknown")}}async function ku(e){let t=Le.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case St.RSA:return Nr.rsa.unmarshalRsaPrivateKey(r);case St.Ed25519:return Nr.ed25519.unmarshalEd25519PrivateKey(r);case St.Secp256k1:return Nr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Pu(t.Type??"RSA")}}var Ag=Symbol.for("nodejs.util.inspect.custom"),Uu=Object.values(Te).map(e=>e.decoder).reduce((e,t)=>e.or(t),Te.identity.decoder),Ku=114,pa=36,ya=37,Fn=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[vf]=!0;toString(){return this.string==null&&(this.string=_t.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return xe.createV1(Ku,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return It(this.multihash.bytes,t);if(typeof t=="string")return ga(t).equals(this);if(t?.multihash?.bytes!=null)return It(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Ag](){return`PeerId(${this.toString()})`}},nn=class extends Fn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},on=class extends Fn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},sn=class extends Fn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function ga(e,t){if(t=t??Uu,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=ar(_t.decode(`z${e}`));return e.startsWith("12D")?new on({multihash:r}):e.startsWith("16U")?new sn({multihash:r}):new nn({multihash:r})}return Ig(Uu.decode(e))}function Ig(e){try{let t=ar(e);if(t.code===cr.code){if(t.digest.length===pa)return new on({multihash:t});if(t.digest.length===ya)return new sn({multihash:t})}if(t.code===zt.code)return new nn({multihash:t})}catch{return Cg(xe.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Cg(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Ku)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===zt.code)return new nn({multihash:e.multihash});if(t.code===cr.code){if(t.digest.length===pa)return new on({multihash:e.multihash});if(t.digest.length===ya)return new sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function xa(e,t){return e.length===pa?new on({multihash:ge(cr.code,e),privateKey:t}):e.length===ya?new sn({multihash:ge(cr.code,e),privateKey:t}):new nn({multihash:await zt.digest(e),publicKey:e,privateKey:t})}var $i;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})($i||($i={}));var qn;(function(e){let t;e.codec=()=>(t==null&&(t=Cr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),$i.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:nt(0),identitySig:nt(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=$i.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Ir(r,e.codec()),e.decode=r=>Br(r,e.codec())})(qn||(qn={}));async function Ou(e,t,r){let n=await _g(e,Mu(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return Tg(e.publicKey,n,r)}function Tg(e,t,r){return qn.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function _g(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await ku(e.privateKey)).sign(t)}async function ma(e){return xa(e.identityKey)}function ba(e){return qn.decode(e)}function Mu(e){let t=Bt("noise-libp2p-static-key:");return e instanceof Uint8Array?At([t,e],t.length+e.length):(e.prepend(t),e)}async function va(e,t,r){let n=await xa(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=Mu(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Du(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Hn(e){return!(!(e instanceof Uint8Array)&&!Pr(e)||e.byteLength!==32)}var Lg=0,Rg=4294967295,Ng="Cipherstate has reached maximum n, a new handshake must be performed",Yi=class{n;bytes;view;constructor(t=Lg){this.n=t,this.bytes=nt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>Rg)throw new Error(Ng)}};var Zi=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return nt(32)}isEmptyKey(t){let r=this.createEmptyKey();return It(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:nt(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return this.log.error("error deriving shared key",i),nt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new Ct(t,r))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new Yi}}initializeSymmetric(t){let r=Bt(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=nt(32);return r.set(t),r}else return this.getHash(t,nt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,nt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,nt(0),r),i=this.createEmptyKey(),o=nt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,nt(0),r.ciphertext)}};var Xi=class extends Zi{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=nt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=nt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=nt(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:f}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:f}}readMessageA(t,r){return Hn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Hn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Hn(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Hn(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=nt(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=nt(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:f}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=f}return t.mc++,{plaintext:n,valid:i}}};function Vu(e,t){!t.enabled||!Ur||(t(`LOCAL_STATIC_PUBLIC_KEY ${ot(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${ot(e.privateKey,"hex")}`))}function wa(e,t){!t.enabled||!Ur||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${ot(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${ot(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function Fu(e,t){!t.enabled||!Ur||t(`REMOTE_STATIC_PUBLIC_KEY ${ot(e.subarray(),"hex")}`)}function Ea(e,t){!t.enabled||!Ur||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${ot(e.subarray(),"hex")}`)}function qu(e,t){!t.enabled||!Ur||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${ot(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${ot(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var Qi=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,f){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=f??new Xi(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Vu(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,nt(0));await this.connection.write($0(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),wa(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=X0((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new gr("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),Ea(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Q0((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new gr("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),Ea(this.session.hs.re,this.log),Fu(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=ba(r);this.remotePeer=this.remotePeer||await ma(i),await va(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new wn(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Y0(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),wa(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Z0(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=J0((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new gr("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=ba(r);this.remotePeer=this.remotePeer||await ma(i),await va(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new wn(`Error occurred while verifying signed payload: ${o.message}`)}}qu(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,nt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,nt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new gr("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function Hu(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var Ji=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??W0,this.extensions=i,this.metrics=a?Hu(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??nt(0)}async secureOutbound(t,r,n){let i=bo(r,{lengthEncoder:zr,lengthDecoder:bn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=bo(r,{lengthEncoder:zr,lengthDecoder:bn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await Ou(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new Qi(this.components,n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=c0(),o=t.unwrap();return await u0(n,ec(r,this.metrics),o,s=>hn(s,{lengthDecoder:bn}),rc(r,this.metrics),n),i}};function zu(e={}){return t=>new Ji(t,e)}var ji=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(o*=t,o+=u,o>f||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Gu=45,Pg=15,an=new ji;function Sa(e){if(!(e.length>Pg))return an.new(e).parseWith(()=>an.readIPv4Addr())}function Ba(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Gu))return an.new(e).parseWith(()=>an.readIPv6Addr())}function to(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Gu))return an.new(e).parseWith(()=>an.readIPAddr())}var NE=parseInt("0xFFFF",16),PE=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function eo(e){return!!Sa(e)}function ro(e){return!!Ba(e)}function no(e){return!!to(e)}var Yu=eo,Og=ro,Aa=function(e){let t=0;if(e=e.toString().trim(),Yu(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Og(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=Yu(r[n]),s;o&&(s=Aa(r[n]),r[n]=ot(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,ot(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},Zu=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var cn={},Ia={},Vg=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];Vg.forEach(e=>{let t=Fg(...e);Ia[t.code]=t,cn[t.name]=t});function Fg(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function lt(e){if(typeof e=="number"){if(Ia[e]!=null)return Ia[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(cn[e]!=null)return cn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var gS=lt("ip4"),xS=lt("ip6"),mS=lt("ipcidr");function Ta(e,t){switch(lt(e).code){case 4:case 41:return Hg(t);case 42:return Ju(t);case 6:case 273:case 33:case 132:return tl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ju(t);case 421:return $g(t);case 444:return ju(t);case 445:return ju(t);case 466:return Wg(t);default:return ot(t,"base16")}}function _a(e,t){switch(lt(e).code){case 4:return Xu(t);case 41:return Xu(t);case 42:return Qu(t);case 6:case 273:case 33:case 132:return La(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qu(t);case 421:return zg(t);case 444:return Yg(t);case 445:return Zg(t);case 466:return Gg(t);default:return Bt(t,"base16")}}var Ca=Object.values(Te).map(e=>e.decoder),qg=function(){let e=Ca[0].or(Ca[1]);return Ca.slice(2).forEach(t=>e=e.or(t)),e}();function Xu(e){if(!no(e))throw new Error("invalid ip address");return Aa(e)}function Hg(e){let t=Zu(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!no(t))throw new Error("invalid ip address");return t}function La(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function tl(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Qu(e){let t=Bt(e),r=Uint8Array.from(Ze(t.length));return At([r,t],r.length+t.length)}function Ju(e){let t=fe(e);if(e=e.slice($t(t)),e.length!==t)throw new Error("inconsistent lengths");return ot(e)}function zg(e){let t;e[0]==="Q"||e[0]==="1"?t=ar(_t.decode(`z${e}`)).bytes:t=xe.parse(e).multihash.bytes;let r=Uint8Array.from(Ze(t.length));return At([r,t],r.length+t.length)}function Gg(e){let t=qg.decode(e),r=Uint8Array.from(Ze(t.length));return At([r,t],r.length+t.length)}function Wg(e){let t=fe(e),r=e.slice($t(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+ot(r,"base64url")}function $g(e){let t=fe(e),r=e.slice($t(t));if(r.length!==t)throw new Error("inconsistent lengths");return ot(r,"base58btc")}function Yg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=La(n);return At([r,i],r.length+i.length)}function Zg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=La(n);return At([r,i],r.length+i.length)}function ju(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=ot(t,"base32"),i=tl(r);return`${n}:${i}`}function el(e){e=Ra(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=lt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw nl("invalid address: "+e);if(a.path===!0){n=Ra(i.slice(o).join("/")),t.push([a.code,_a(a.code,n)]),r.push([a.code,n]);break}let c=_a(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Ta(a.code,c)])}return{string:rl(r),bytes:Pa(t),tuples:t,stringTuples:r,path:n}}function Na(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=fe(e,i),s=$t(o),a=lt(o),c=Xg(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let f=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw nl("Invalid address Uint8Array: "+ot(e,"base16"));t.push([o,f]);let u=Ta(o,f);if(r.push([o,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(e),string:rl(r),tuples:t,stringTuples:r,path:n}}function rl(e){let t=[];return e.map(r=>{let n=lt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ra(t.join("/"))}function Pa(e){return At(e.map(t=>{let r=lt(t[0]),n=Uint8Array.from(Ze(r.code));return t.length>1&&t[1]!=null&&(n=At([n,t[1]])),n}))}function Xg(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=fe(t instanceof Uint8Array?t:Uint8Array.from(t));return r+$t(r)}}function Ra(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function nl(e){return new Error("Error parsing address: "+e)}var Qg=Symbol.for("nodejs.util.inspect.custom"),ka=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Jg=[lt("dns").code,lt("dns4").code,lt("dns6").code,lt("dnsaddr").code],Da=class e{bytes;#e;#t;#r;#n;[ka]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Na(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=el(t)}else if(ol(t))r=Na(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=lt("tcp"),a=lt("udp"),c=lt("ip4"),f=lt("ip6"),u=lt("dns6"),l=lt("ip6zone");for(let[g,h]of this.stringTuples())g===l.code&&(o=`%${h??""}`),Jg.includes(g)&&(r=s.name,i=443,n=`${h??""}${o}`,t=g===u.code?6:4),(g===s.code||g===a.code)&&(r=lt(g).name,i=parseInt(h??"")),(g===c.code||g===f.code)&&(r=lt(g).name,n=`${h??""}${o}`,t=g===f.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#t.map(([t])=>Object.assign({},lt(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>lt(t).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Pa(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===cn.p2p.code&&t.push([n,i]),n===cn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ot(_t.decode(`z${n}`),"base58btc"):ot(xe.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return It(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=il.get(r.name);if(n==null)throw new et(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Qg](){return`Multiaddr(${this.#e})`}};var il=new Map;function ol(e){return!!e?.[ka]}var jg=e=>e.toString().split("/").slice(1),zn=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),Lt=e=>({match:t=>zn(r=>r===e).match(t),pattern:e}),so=()=>({match:e=>zn(t=>typeof t=="string").match(e),pattern:"{string}"}),sl=()=>({match:e=>zn(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),ce=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{_t.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),io=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{Rs.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),Re=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),Ne=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Rt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Kt(...e){function t(i){let o=jg(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var Ka=Rt(Lt("dns4"),so()),Oa=Rt(Lt("dns6"),so()),Ma=Rt(Lt("dnsaddr"),so()),al=Rt(Lt("dns"),so()),YS=Kt(Ka),ZS=Kt(Oa),XS=Kt(Ma),QS=Kt(Ne(al,Ma,Ka,Oa)),cl=Rt(Lt("ip4"),zn(eo)),fl=Rt(Lt("ip6"),zn(ro)),ul=Ne(cl,fl),Gn=Ne(ul,al,Ka,Oa,Ma),JS=Kt(Gn),jS=Kt(cl),t3=Kt(fl),e3=Kt(ul),ao=Rt(Gn,Lt("tcp"),sl()),Wn=Rt(Gn,Lt("udp"),sl()),tx=Ne(ao,Wn),r3=Kt(ao),n3=Kt(Wn),Va=Rt(Wn,Lt("quic")),co=Rt(Wn,Lt("quic-v1")),ex=Ne(Va,co),i3=Kt(Va),o3=Kt(co),Ua=Ne(Gn,ao,Wn,Va,co),ll=Ne(Rt(Ua,Lt("ws"),Re(ce()))),s3=Kt(ll),hl=Ne(Rt(Ua,Lt("wss"),Re(ce())),Rt(Ua,Lt("tls"),Lt("ws"),Re(ce()))),a3=Kt(hl),dl=Rt(tx,Lt("webrtc-direct"),io(),Re(io()),Re(ce())),c3=Kt(dl),pl=Rt(co,Lt("webtransport"),io(),io(),Re(ce())),fo=Kt(pl),oo=Ne(ll,hl,Rt(ao,Re(ce())),Rt(ex,Re(ce())),Rt(Gn,Re(ce())),dl,pl,ce()),f3=Kt(oo),rx=Rt(oo,Lt("p2p-circuit"),ce()),u3=Kt(rx),nx=Ne(Rt(oo,Lt("p2p-circuit"),Lt("webrtc"),ce()),Rt(oo,Lt("webrtc"),Re(ce())),Lt("webrtc")),l3=Kt(nx);async function Fa(e,t,r,n,i,o){let s=o.forComponent(`libp2p:webtransport:stream:${r}:${t}`),a=e.writable.getWriter(),c=e.readable.getReader();await a.ready;function f(){let h=n.findIndex(p=>p===g);h!==-1&&(n.splice(h,1),g.timeline.close=Date.now(),i?.(g))}let u=!1,l=!1;(async function(){let h=await a.closed.catch(p=>p);if(h!=null){let p=h.message;p.includes("aborted by the remote server")||p.includes("STOP_SENDING")||s.error(`WebTransport writer closed unexpectedly: streamId=${t} err=${h.message}`)}u=!0,u&&l&&f()})().catch(()=>{s.error("WebTransport failed to cleanup closed stream")}),async function(){let h=await c.closed.catch(p=>p);h!=null&&s.error(`WebTransport reader closed unexpectedly: streamId=${t} err=${h.message}`),l=!0,u&&l&&f()}().catch(()=>{s.error("WebTransport failed to cleanup closed stream")});let d=!1,g={id:t,status:"open",writeStatus:"ready",readStatus:"ready",abort(h){u||(a.abort(h).catch(p=>{s.error("could not abort stream",p)}),u=!0),l=!0,this.status="aborted",this.writeStatus="closed",this.readStatus="closed",this.timeline.reset=this.timeline.close=this.timeline.closeRead=this.timeline.closeWrite=Date.now(),f()},async close(h){this.status="closing",await Promise.all([g.closeRead(h),g.closeWrite(h)]),f(),this.status="closed",this.timeline.close=Date.now()},async closeRead(h){if(!l){this.readStatus="closing";try{await c.cancel()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(u=!0)}this.timeline.closeRead=Date.now(),this.readStatus="closed",l=!0}u&&f()},async closeWrite(h){if(!u){u=!0,this.writeStatus="closing";try{await a.close()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(l=!0)}this.timeline.closeWrite=Date.now(),this.writeStatus="closed"}l&&f()},direction:r,timeline:{open:Date.now()},metadata:{},source:async function*(){for(;;){let h=await c.read();if(h.done){l=!0,u&&f();return}yield new Ct(h.value)}}(),sink:async function(h){if(d)throw new Error("sink already called on stream");d=!0;try{this.writeStatus="writing";for await(let p of h)if(p instanceof Uint8Array)await a.write(p);else for(let y of p)await a.write(y);this.writeStatus="done"}finally{this.timeline.closeWrite=Date.now(),this.writeStatus="closed",await g.closeWrite()}},log:s};return g}function qa(){return{source:{[Symbol.asyncIterator](){return{async next(){return new Promise(()=>{})}}}},sink:async e=>new Promise(()=>{})}}function yl(e,t){return t.filter(n=>!!e.find(i=>It(n,i))).length===t.length}var ix=Object.values(Te).map(e=>e.decoder).reduce((e,t)=>e.or(t));function ox(e){return Ce.decode(ix.decode(e))}function gl(e){if(!fo.matches(e))throw new et("Invalid multiaddr, was not a WebTransport address","ERR_INVALID_MULTIADDR");let t=e.stringTuples(),r=t.filter(([s,a])=>s===lt("certhash").code).map(([s,a])=>ox(a??"")),n=t.filter(([s,a])=>s===lt("p2p").code).map(([s,a])=>ga(a??""))[0],i=e.toOptions(),o=i.host;return i.family===6&&o?.includes(":")&&(o=`[${o}]`),{url:`https://${o}:${i.port}`,certhashes:r,remotePeer:n}}var Ha=class{log;components;config;metrics;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webtransport"),this.components=t,this.config={maxInboundStreams:r.maxInboundStreams??1e3},t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webtransport_dialer_events_total",{label:"event",help:"Total count of WebTransport dialer events by type"})})}[Symbol.toStringTag]="@libp2p/webtransport";[Sf]=!0;async dial(t,r){r?.signal?.throwIfAborted(),this.log("dialing %s",t);let n=this.components.peerId;if(n===void 0)throw new Error("Need a local peerid");r=r??{};let{url:i,certhashes:o,remotePeer:s}=gl(t);if(s==null)throw new Error("Need a target peerid");if(o.length===0)throw new Error("Expected multiaddr to contain certhashes");let a,c,f=()=>{},u=!1,l=!1,d=!1;try{this.metrics?.dialerEvents.increment({pending:!0});let g=new WebTransport(`${i}/.well-known/libp2p-webtransport?type=noise`,{serverCertificateHashes:o.map(h=>({algorithm:"sha-256",value:h.digest}))});if(f=h=>{if(!u)try{this.metrics?.dialerEvents.increment({[h]:!0}),g.close()}catch(p){this.log.error("error closing wt session",p)}finally{c!=null&&(c.timeline.close=Date.now()),u=!0}},a=()=>{f(l?"noise_timeout":"ready_timeout")},r.signal?.addEventListener("abort",a,{once:!0}),await Promise.race([g.closed,g.ready]),l=!0,this.metrics?.dialerEvents.increment({ready:!0}),g.closed.catch(h=>{this.log.error("error on remote wt session close",h)}).finally(()=>{f("remote_close")}),!await this.authenticateWebTransport(g,n,s,o))throw new Error("Failed to authenticate webtransport");return this.metrics?.dialerEvents.increment({open:!0}),c={close:async()=>{this.log("Closing webtransport"),f("close")},abort:h=>{this.log("aborting webtransport due to passed err",h),f("abort")},remoteAddr:t,timeline:{open:Date.now()},log:this.components.logger.forComponent("libp2p:webtransport:maconn"),...qa()},d=!0,await r.upgrader.upgradeOutbound(c,{skipEncryption:!0,muxerFactory:this.webtransportMuxer(g),skipProtection:!0})}catch(g){throw this.log.error("caught wt session err",g),f(d?"upgrade_error":l?"noise_error":"ready_error"),g}finally{a!=null&&r.signal?.removeEventListener("abort",a)}}async authenticateWebTransport(t,r,n,i){let o=await t.createBidirectionalStream(),s=o.writable.getWriter(),a=o.readable.getReader();await s.ready;let c={source:async function*(){for(;;){let l=await a.read();if(l.value!=null&&(yield l.value),l.done)break}}(),sink:async function(l){for await(let d of l)d instanceof Uint8Array?await s.write(d):await s.write(d.subarray())}},f=zu()(this.components),{remoteExtensions:u}=await f.secureOutbound(r,c,n);if(s.close().catch(l=>{this.log.error(`Failed to close authentication stream writer: ${l.message}`)}),a.cancel().catch(l=>{this.log.error(`Failed to close authentication stream reader: ${l.message}`)}),!yl(u?.webtransportCerthashes??[],i.map(l=>l.bytes)))throw new Error("Our certhashes are not a subset of the remote's reported certhashes");return!0}webtransportMuxer(t){let r=0,n=this.config,i=this;return{protocol:"webtransport",createStreamMuxer:o=>{typeof o=="function"&&(o={onIncomingStream:o});let s=[];return async function(){let c=t.incomingBidirectionalStreams.getReader();for(;;){let{done:f,value:u}=await c.read();if(f)break;if(s.length>=n.maxInboundStreams)u.writable.close().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)}),u.readable.cancel().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)});else{let l=await Fa(u,String(r++),"inbound",s,o?.onStreamEnd,i.components.logger);s.push(l),o?.onIncomingStream?.(l)}}}().catch(()=>{this.log.error("WebTransport failed to receive incoming stream")}),{protocol:"webtransport",streams:s,newStream:async c=>{let f=await t.createBidirectionalStream(),u=await Fa(f,String(r++),o?.direction??"outbound",s,o?.onStreamEnd,i.components.logger);return s.push(u),u},close:async c=>{this.log("Closing webtransport muxer"),await Promise.all(s.map(async f=>f.close(c)))},abort:c=>{this.log("Aborting webtransport muxer with err:",c);for(let f of s)f.abort(c)},...qa()}}}}createListener(t){throw new Error("Webtransport servers are not supported in Node or the browser")}filter(t){return t.filter(fo.exactMatch)}};function sx(e={}){return t=>new Ha(t,e)}return Ll(ax);})();
16
16
  //! TODO unclear how to add backpressure here?
17
17
  /*! Bundled license information:
18
18