@libp2p/peer-record 9.0.6-ff5ee99ed → 9.0.7-2151144c3

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
@@ -1,5 +1,5 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPeerRecord = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PPeerRecord=(()=>{var Zr=Object.defineProperty;var Qi=Object.getOwnPropertyDescriptor;var ta=Object.getOwnPropertyNames;var ea=Object.prototype.hasOwnProperty;var pt=(e,t)=>{for(var r in t)Zr(e,r,{get:t[r],enumerable:!0})},ra=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ta(t))!ea.call(e,o)&&o!==r&&Zr(e,o,{get:()=>t[o],enumerable:!(n=Qi(t,o))||n.enumerable});return e};var na=e=>ra(Zr({},"__esModule",{value:!0}),e);var Df={};pt(Df,{PeerRecord:()=>Fr,RecordEnvelope:()=>Pr});var Q=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},he=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var cr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var pe=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Yr=Symbol.for("@libp2p/peer-id");var Jr={};pt(Jr,{base58btc:()=>X,base58flickr:()=>fa});var Rf=new Uint8Array(0);function Mo(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}function Dt(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")}function qo(e){return new TextEncoder().encode(e)}function Vo(e){return new TextDecoder().decode(e)}function oa(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 o=0;o<e.length;o++){var s=e.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(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 B=0,S=0,b=0,v=h.length;b!==v&&h[b]===0;)b++,B++;for(var g=(v-b)*l+1>>>0,I=new Uint8Array(g);b!==v;){for(var R=h[b],N=0,k=g-1;(R!==0||N<S)&&k!==-1;k--,N++)R+=256*I[k]>>>0,I[k]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");S=N,b++}for(var w=g-S;w!==g&&I[w]===0;)w++;for(var x=c.repeat(B);w<g;++w)x+=e.charAt(I[w]);return x}function y(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var B=0;if(h[B]!==" "){for(var S=0,b=0;h[B]===c;)S++,B++;for(var v=(h.length-B)*u+1>>>0,g=new Uint8Array(v);h[B];){var I=r[h.charCodeAt(B)];if(I===255)return;for(var R=0,N=v-1;(I!==0||R<b)&&N!==-1;N--,R++)I+=a*g[N]>>>0,g[N]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");b=R,B++}if(h[B]!==" "){for(var k=v-b;k!==v&&g[k]===0;)k++;for(var w=new Uint8Array(S+(v-k)),x=S;k!==v;)w[x++]=g[k++];return w}}}function E(h){var B=y(h);if(B)return B;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:y,decode:E}}var sa=oa,ia=sa,zo=ia;var Gr=class{name;prefix;baseEncode;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")}},jr=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,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 $o(this,t)}},Wr=class{decoders;constructor(t){this.decoders=t}or(t){return $o(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function $o(e,t){return new Wr({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Xr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Gr(t,r,n),this.decoder=new jr(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function me({name:e,prefix:t,encode:r,decode:n}){return new Xr(e,t,r,n)}function Ft({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=zo(r,e);return me({prefix:t,name:e,encode:n,decode:s=>Dt(o(s))})}function aa(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,c=0;for(let u=0;u<o;++u){let l=t[e[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|l,i+=r,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function ca(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],i+=8;i>r;)i-=r,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function ua(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function W({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=ua(n);return me({prefix:t,name:e,encode(s){return ca(s,n,r)},decode(s){return aa(s,o,r,e)}})}var X=Ft({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),fa=Ft({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Qr={};pt(Qr,{base32:()=>Zt,base32hex:()=>pa,base32hexpad:()=>ya,base32hexpadupper:()=>ba,base32hexupper:()=>ma,base32pad:()=>da,base32padupper:()=>ha,base32upper:()=>la,base32z:()=>ga});var Zt=W({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),la=W({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),da=W({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ha=W({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),pa=W({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ma=W({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ya=W({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ba=W({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ga=W({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var tn={};pt(tn,{base36:()=>Re,base36upper:()=>xa});var Re=Ft({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),xa=Ft({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var wa=Yo,Fo=128,Ea=127,Sa=~Ea,Aa=Math.pow(2,31);function Yo(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Aa;)t[r++]=e&255|Fo,e/=128;for(;e&Sa;)t[r++]=e&255|Fo,e>>>=7;return t[r]=e|0,Yo.bytes=r-n+1,t}var va=en,Ba=128,Zo=127;function en(e,n){var r=0,n=n||0,o=0,s=n,i,a=e.length;do{if(s>=a)throw en.bytes=0,new RangeError("Could not decode varint");i=e[s++],r+=o<28?(i&Zo)<<o:(i&Zo)*Math.pow(2,o),o+=7}while(i>=Ba);return en.bytes=s-n,r}var Ia=Math.pow(2,7),_a=Math.pow(2,14),Ca=Math.pow(2,21),Da=Math.pow(2,28),Ta=Math.pow(2,35),La=Math.pow(2,42),Oa=Math.pow(2,49),Ra=Math.pow(2,56),Pa=Math.pow(2,63),Ka=function(e){return e<Ia?1:e<_a?2:e<Ca?3:e<Da?4:e<Ta?5:e<La?6:e<Oa?7:e<Ra?8:e<Pa?9:10},Ua={encode:wa,decode:va,encodingLength:Ka},Na=Ua,Pe=Na;function Ke(e,t=0){return[Pe.decode(e,t),Pe.decode.bytes]}function ye(e,t,r=0){return Pe.encode(e,t,r),t}function be(e){return Pe.encodingLength(e)}function Bt(e,t){let r=t.byteLength,n=be(e),o=n+be(r),s=new Uint8Array(o+r);return ye(e,s,0),ye(r,s,n),s.set(t,o),new ge(e,r,t,s)}function Ue(e){let t=Dt(e),[r,n]=Ke(t),[o,s]=Ke(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ge(r,o,i,t)}function Go(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Mo(e.bytes,r.bytes)}}var ge=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function jo(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return Ma(r,rn(e),t??X.encoder);default:return qa(r,rn(e),t??Zt.encoder)}}var Wo=new WeakMap;function rn(e){let t=Wo.get(e);if(t==null){let r=new Map;return Wo.set(e,r),r}return t}var tt=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}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!==Ne)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Va)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=Bt(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!=null&&t.code===n.code&&t.version===n.version&&Go(t.multihash,n.multihash)}toString(t){return jo(this,t)}toJSON(){return{"/":jo(this)}}link(){return this}[Symbol.toStringTag]="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:o,multihash:s,bytes:i}=r;return new e(n,o,s,i??Xo(n,o,s.bytes))}else if(r[Ha]===!0){let{version:n,multihash:o,code:s}=r,i=Ue(o);return e.create(n,s,i)}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!==Ne)throw new Error(`Version 0 CID must use dag-pb (code: ${Ne}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=Xo(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Ne,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=Dt(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ge(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(i):e.createV1(r.codec,i),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,y]=Ke(t.subarray(r));return r+=y,f},o=n(),s=Ne;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),c=n(),u=r+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(t,r){let[n,o]=ka(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return rn(s).set(n,t),s}};function ka(e,t){switch(e[0]){case"Q":{let r=t??X;return[X.prefix,r.decode(`${X.prefix}${e}`)]}case X.prefix:{let r=t??X;return[X.prefix,r.decode(e)]}case Zt.prefix:{let r=t??Zt;return[Zt.prefix,r.decode(e)]}case Re.prefix:{let r=t??Re;return[Re.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function Ma(e,t,r){let{prefix:n}=r;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o}function qa(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o}var Ne=112,Va=18;function Xo(e,t,r){let n=be(e),o=n+be(t),s=new Uint8Array(o+r.byteLength);return ye(e,s,0),ye(t,s,n),s.set(r,o),s}var Ha=Symbol.for("@ipld/js-cid/CID");var nn={};pt(nn,{identity:()=>Et});var Jo=0,za="identity",Qo=Dt;function $a(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return Bt(Jo,Qo(e))}var Et={code:Jo,name:za,encode:Qo,digest:$a};function et(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}function it(e=0){return new Uint8Array(e)}function mt(e=0){return new Uint8Array(e)}function Tt(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=mt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var es=Symbol.for("@achingbrain/uint8arraylist");function ts(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function fr(e){return!!e?.[es]}var dt=class e{bufs;length;[es]=!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(fr(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(fr(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=ts(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ts(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(fr(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:o}=this._subList(t,r);return Tt(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Tt(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),s=new e;return s.length=o,s.bufs=[...n],s}_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=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,l=r>a&&r<=c;if(u&&l){if(t===a&&r===c){n.push(i);break}let f=t-a;n.push(i.subarray(f,f+(r-t)));break}if(u){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(l){if(r===c){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!fr(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 o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let y=u;y>=0;y--){let E=this.get(f+y);if(n[y]!==E){l=Math.max(1,y-a[E]);break}}if(l===0)return f}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=mt(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 o=it(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,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 o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,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 o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,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=mt(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 o=it(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,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 o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,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 o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,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 o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,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 o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,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(!et(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((o,s)=>o+s.byteLength,0)),n.length=r,n}};var on={};pt(on,{base10:()=>Fa});var Fa=Ft({prefix:"9",name:"base10",alphabet:"0123456789"});var sn={};pt(sn,{base16:()=>Za,base16upper:()=>Ya});var Za=W({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ya=W({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var an={};pt(an,{base2:()=>Ga});var Ga=W({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var cn={};pt(cn,{base256emoji:()=>Qa});var rs=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}"),ja=rs.reduce((e,t,r)=>(e[r]=t,e),[]),Wa=rs.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Xa(e){return e.reduce((t,r)=>(t+=ja[r],t),"")}function Ja(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Wa[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var Qa=me({prefix:"\u{1F680}",name:"base256emoji",encode:Xa,decode:Ja});var fn={};pt(fn,{base64:()=>tc,base64pad:()=>ec,base64url:()=>un,base64urlpad:()=>rc});var tc=W({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ec=W({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),un=W({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rc=W({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ln={};pt(ln,{base8:()=>nc});var nc=W({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dn={};pt(dn,{identity:()=>oc});var oc=me({prefix:"\0",name:"identity",encode:e=>Vo(e),decode:e=>qo(e)});var yl=new TextEncoder,bl=new TextDecoder;var mn={};pt(mn,{sha256:()=>ke,sha512:()=>cc});var ac=20;function pn({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new hn(e,t,r,n,o)}var hn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,s){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??ac,this.maxDigestLength=s}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?ns(n,this.code,r?.truncate):n.then(o=>ns(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ns(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return Bt(t,e)}function ss(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var ke=pn({name:"sha2-256",code:18,encode:ss("SHA-256")}),cc=pn({name:"sha2-512",code:19,encode:ss("SHA-512")});var Me={...dn,...an,...ln,...on,...sn,...Qr,...tn,...Jr,...fn,...cn},Dl={...mn,...nn};function as(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var is=as("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),yn=as("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=mt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),uc={utf8:is,"utf-8":is,hex:Me.base16,latin1:yn,ascii:yn,binary:yn,...Me},lr=uc;function z(e,t="utf8"){let r=lr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function V(e,t="utf8"){let r=lr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var fc=parseInt("11111",2),bn=parseInt("10000000",2),lc=parseInt("01111111",2),cs={0:qe,1:qe,2:dc,3:mc,4:yc,5:pc,6:hc,16:qe,22:qe,48:qe};function Lt(e,t={offset:0}){let r=e[t.offset]&fc;if(t.offset++,cs[r]!=null)return cs[r](e,t);throw new Error("No decoder for tag "+r)}function Ve(e,t){let r=0;if((e[t.offset]&bn)===bn){let n=e[t.offset]&lc,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function qe(e,t){Ve(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Lt(e,t);if(n===null)break;r.push(n)}return r}function dc(e,t){let r=Ve(e,t),n=t.offset,o=t.offset+r,s=[];for(let i=n;i<o;i++)i===n&&e[i]===0||s.push(e[i]);return t.offset+=r,Uint8Array.from(s)}function hc(e,t){let r=Ve(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,c=[];for(;t.offset<n;){let u=e[t.offset];if(t.offset++,c.push(u&127),u<128){c.reverse();let l=0;for(let f=0;f<c.length;f++)l+=c[f]<<f*7;a+=`.${l}`,c=[]}}return a}function pc(e,t){return t.offset++,null}function mc(e,t){let r=Ve(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function yc(e,t){let r=Ve(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function bc(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new dt;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function gn(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=bc(e.byteLength);return new dt(Uint8Array.from([t.byteLength|bn]),t)}function yt(e){let t=new dt,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new dt(Uint8Array.from([2]),gn(t),t)}function dr(e){let t=Uint8Array.from([0]),r=new dt(t,e);return new dt(Uint8Array.from([3]),gn(r),r)}function Yt(e,t=48){let r=new dt;for(let n of e)r.append(n);return new dt(Uint8Array.from([t]),gn(r),r)}async function us(e,t,r,n){let o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,t,r.subarray());return n?.signal?.throwIfAborted(),s}var gc=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),xc=Uint8Array.from([6,5,43,129,4,0,34]),wc=Uint8Array.from([6,5,43,129,4,0,35]),Ec={ext:!0,kty:"EC",crv:"P-256"},Sc={ext:!0,kty:"EC",crv:"P-384"},Ac={ext:!0,kty:"EC",crv:"P-521"},xn=32,wn=48,En=66;function Sn(e){let t=Lt(e);return fs(t)}function fs(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===xn*2+1)return n=V(t.subarray(r,r+xn),"base64url"),o=V(t.subarray(r+xn),"base64url"),new xe({...Ec,key_ops:["verify"],x:n,y:o});if(t.byteLength===wn*2+1)return n=V(t.subarray(r,r+wn),"base64url"),o=V(t.subarray(r+wn),"base64url"),new xe({...Sc,key_ops:["verify"],x:n,y:o});if(t.byteLength===En*2+1)return n=V(t.subarray(r,r+En),"base64url"),o=V(t.subarray(r+En),"base64url"),new xe({...Ac,key_ops:["verify"],x:n,y:o});throw new Q(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function ls(e){return Yt([yt(Uint8Array.from([1])),Yt([vc(e.crv)],160),Yt([dr(new dt(Uint8Array.from([4]),z(e.x??"","base64url"),z(e.y??"","base64url")))],161)]).subarray()}function vc(e){if(e==="P-256")return gc;if(e==="P-384")return xc;if(e==="P-521")return wc;throw new Q(`Invalid curve ${e}`)}var xe=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=ls(this.jwk)),this._raw}toMultihash(){return Et.digest(Gt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}async verify(t,r,n){return us(this.jwk,r,t,n)}};function ne(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function It(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new Error(`${r}expected integer >= 0, got ${e}`)}}function U(e,t,r=""){let n=ne(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function hr(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");It(e.outputLen),It(e.blockLen)}function we(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 hs(e,t){U(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}function Rt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function pr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function St(e,t){return e<<32-t|e>>>t}var ps=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Bc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Pt(e){if(U(e),ps)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Bc[e[r]];return t}var Ot={_0:48,_9:57,A:65,F:70,a:97,f:102};function ds(e){if(e>=Ot._0&&e<=Ot._9)return e-Ot._0;if(e>=Ot.A&&e<=Ot.F)return e-(Ot.A-10);if(e>=Ot.a&&e<=Ot.f)return e-(Ot.a-10)}function Kt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(ps)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=ds(e.charCodeAt(s)),a=ds(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function bt(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];U(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}function An(e,t={}){let r=(o,s)=>e(s).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function Ee(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var vn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function ms(e,t,r){return e&t^~e&r}function ys(e,t,r){return e&t^e&r^t&r}var He=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=pr(this.buffer)}update(t){we(this),U(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=pr(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){we(this),hs(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Rt(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let f=i;f<o;f++)r[f]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=pr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Ut=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var at=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var mr=BigInt(4294967295),bs=BigInt(32);function Ic(e,t=!1){return t?{h:Number(e&mr),l:Number(e>>bs&mr)}:{h:Number(e>>bs&mr)|0,l:Number(e&mr)|0}}function gs(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Ic(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var Bn=(e,t,r)=>e>>>r,In=(e,t,r)=>e<<32-r|t>>>r,oe=(e,t,r)=>e>>>r|t<<32-r,se=(e,t,r)=>e<<32-r|t>>>r,ze=(e,t,r)=>e<<64-r|t>>>r-32,$e=(e,t,r)=>e>>>r-32|t<<64-r;function _t(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var xs=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),ws=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Es=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Ss=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,As=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),vs=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Cc=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),jt=new Uint32Array(64),_n=class extends He{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)jt[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let y=jt[f-15],E=jt[f-2],h=St(y,7)^St(y,18)^y>>>3,B=St(E,17)^St(E,19)^E>>>10;jt[f]=B+jt[f-7]+h+jt[f-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let y=St(a,6)^St(a,11)^St(a,25),E=l+y+ms(a,c,u)+Cc[f]+jt[f]|0,B=(St(n,2)^St(n,13)^St(n,22))+ys(n,o,s)|0;l=u,u=c,c=a,a=i+E|0,i=s,s=o,o=n,n=E+B|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,o,s,i,a,c,u,l)}roundClean(){Rt(jt)}destroy(){this.set(0,0,0,0,0,0,0,0),Rt(this.buffer)}},Cn=class extends _n{A=Ut[0]|0;B=Ut[1]|0;C=Ut[2]|0;D=Ut[3]|0;E=Ut[4]|0;F=Ut[5]|0;G=Ut[6]|0;H=Ut[7]|0;constructor(){super(32)}};var Bs=gs(["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))),Dc=Bs[0],Tc=Bs[1],Wt=new Uint32Array(80),Xt=new Uint32Array(80),Dn=class extends He{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:y,Gh:E,Gl:h,Hh:B,Hl:S}=this;return[t,r,n,o,s,i,a,c,u,l,f,y,E,h,B,S]}set(t,r,n,o,s,i,a,c,u,l,f,y,E,h,B,S){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=y|0,this.Gh=E|0,this.Gl=h|0,this.Hh=B|0,this.Hl=S|0}process(t,r){for(let g=0;g<16;g++,r+=4)Wt[g]=t.getUint32(r),Xt[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let I=Wt[g-15]|0,R=Xt[g-15]|0,N=oe(I,R,1)^oe(I,R,8)^Bn(I,R,7),k=se(I,R,1)^se(I,R,8)^In(I,R,7),w=Wt[g-2]|0,x=Xt[g-2]|0,P=oe(w,x,19)^ze(w,x,61)^Bn(w,x,6),M=se(w,x,19)^$e(w,x,61)^In(w,x,6),T=Es(k,M,Xt[g-7],Xt[g-16]),p=Ss(T,N,P,Wt[g-7],Wt[g-16]);Wt[g]=p|0,Xt[g]=T|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:y,Fh:E,Fl:h,Gh:B,Gl:S,Hh:b,Hl:v}=this;for(let g=0;g<80;g++){let I=oe(f,y,14)^oe(f,y,18)^ze(f,y,41),R=se(f,y,14)^se(f,y,18)^$e(f,y,41),N=f&E^~f&B,k=y&h^~y&S,w=As(v,R,k,Tc[g],Xt[g]),x=vs(w,b,I,N,Dc[g],Wt[g]),P=w|0,M=oe(n,o,28)^ze(n,o,34)^ze(n,o,39),T=se(n,o,28)^$e(n,o,34)^$e(n,o,39),p=n&s^n&a^s&a,m=o&i^o&c^i&c;b=B|0,v=S|0,B=E|0,S=h|0,E=f|0,h=y|0,{h:f,l:y}=_t(u|0,l|0,x|0,P|0),u=a|0,l=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let d=xs(P,T,m);n=ws(d,x,M,p),o=d|0}({h:n,l:o}=_t(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=_t(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=_t(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=_t(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:y}=_t(this.Eh|0,this.El|0,f|0,y|0),{h:E,l:h}=_t(this.Fh|0,this.Fl|0,E|0,h|0),{h:B,l:S}=_t(this.Gh|0,this.Gl|0,B|0,S|0),{h:b,l:v}=_t(this.Hh|0,this.Hl|0,b|0,v|0),this.set(n,o,s,i,a,c,u,l,f,y,E,h,B,S,b,v)}roundClean(){Rt(Wt,Xt)}destroy(){Rt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Tn=class extends Dn{Ah=at[0]|0;Al=at[1]|0;Bh=at[2]|0;Bl=at[3]|0;Ch=at[4]|0;Cl=at[5]|0;Dh=at[6]|0;Dl=at[7]|0;Eh=at[8]|0;El=at[9]|0;Fh=at[10]|0;Fl=at[11]|0;Gh=at[12]|0;Gl=at[13]|0;Hh=at[14]|0;Hl=at[15]|0;constructor(){super(64)}};var Se=An(()=>new Cn,vn(1));var Is=An(()=>new Tn,vn(3));var On=BigInt(0),Ln=BigInt(1);function Nt(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function _s(e){if(typeof e=="bigint"){if(!yr(e))throw new Error("positive bigint expected, got "+e)}else It(e);return e}function Fe(e){let t=_s(e).toString(16);return t.length&1?"0"+t:t}function Cs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?On:BigInt("0x"+e)}function Ae(e){return Cs(Pt(e))}function ie(e){return Cs(Pt(gr(U(e)).reverse()))}function br(e,t){It(t),e=_s(e);let r=Kt(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw new Error("number too large");return r}function Rn(e,t){return br(e,t).reverse()}function gr(e){return Uint8Array.from(e)}var yr=e=>typeof e=="bigint"&&On<=e;function Lc(e,t,r){return yr(e)&&yr(t)&&yr(r)&&t<=e&&e<r}function Ze(e,t,r,n){if(!Lc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Pn(e){let t;for(t=0;e>On;e>>=Ln,t+=1);return t}var Ye=e=>(Ln<<BigInt(e))-Ln;function Ds(e,t,r){if(It(e,"hashLen"),It(t,"qByteLen"),typeof r!="function")throw new Error("hmacFn must be a function");let n=S=>new Uint8Array(S),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,c=n(e),u=n(e),l=0,f=()=>{c.fill(1),u.fill(0),l=0},y=(...S)=>r(u,bt(c,...S)),E=(S=o)=>{u=y(s,S),c=y(),S.length!==0&&(u=y(i,S),c=y())},h=()=>{if(l++>=a)throw new Error("drbg: tried max amount of iterations");let S=0,b=[];for(;S<t;){c=y();let v=c.slice();b.push(v),S+=c.length}return bt(...b)};return(S,b)=>{f(),E(S);let v;for(;!(v=b(h()));)E();return f(),v}}function Jt(e,t={},r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(s,i,a){let c=e[s];if(a&&c===void 0)return;let u=typeof c;if(u!==i||c===null)throw new Error(`param "${s}" is invalid: expected ${i}, got ${u}`)}let o=(s,i)=>Object.entries(s).forEach(([a,c])=>n(a,c,i));o(t,!1),o(r,!0)}function ve(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var ht=BigInt(0),rt=BigInt(1),ae=BigInt(2),Os=BigInt(3),Rs=BigInt(4),Ps=BigInt(5),Oc=BigInt(7),Ks=BigInt(8),Rc=BigInt(9),Us=BigInt(16);function J(e,t){let r=e%t;return r>=ht?r:t+r}function F(e,t,r){let n=e;for(;t-- >ht;)n*=n,n%=r;return n}function Ts(e,t){if(e===ht)throw new Error("invert: expected non-zero number");if(t<=ht)throw new Error("invert: expected positive modulus, got "+t);let r=J(e,t),n=t,o=ht,s=rt,i=rt,a=ht;for(;r!==ht;){let u=n/r,l=n%r,f=o-i*u,y=s-a*u;n=r,r=l,o=i,s=a,i=f,a=y}if(n!==rt)throw new Error("invert: does not exist");return J(o,t)}function Un(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Ns(e,t){let r=(e.ORDER+rt)/Rs,n=e.pow(t,r);return Un(e,n,t),n}function Pc(e,t){let r=(e.ORDER-Ps)/Ks,n=e.mul(t,ae),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,ae),o),a=e.mul(s,e.sub(i,e.ONE));return Un(e,a,t),a}function Kc(e){let t=Be(e),r=ks(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Oc)/Us;return(a,c)=>{let u=a.pow(c,i),l=a.mul(u,n),f=a.mul(u,o),y=a.mul(u,s),E=a.eql(a.sqr(l),c),h=a.eql(a.sqr(f),c);u=a.cmov(u,l,E),l=a.cmov(y,f,h);let B=a.eql(a.sqr(l),c),S=a.cmov(u,l,B);return Un(a,S,c),S}}function ks(e){if(e<Os)throw new Error("sqrt is not defined for small field");let t=e-rt,r=0;for(;t%ae===ht;)t/=ae,r++;let n=ae,o=Be(e);for(;Ls(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Ns;let s=o.pow(n,t),i=(t+rt)/ae;return function(c,u){if(c.is0(u))return u;if(Ls(c,u)!==1)throw new Error("Cannot find square root");let l=r,f=c.mul(c.ONE,s),y=c.pow(u,t),E=c.pow(u,i);for(;!c.eql(y,c.ONE);){if(c.is0(y))return c.ZERO;let h=1,B=c.sqr(y);for(;!c.eql(B,c.ONE);)if(h++,B=c.sqr(B),h===l)throw new Error("Cannot find square root");let S=rt<<BigInt(l-h-1),b=c.pow(f,S);l=h,f=c.sqr(b),y=c.mul(y,f),E=c.mul(E,b)}return E}}function Uc(e){return e%Rs===Os?Ns:e%Ks===Ps?Pc:e%Us===Rc?Kc(e):ks(e)}var Ms=(e,t)=>(J(e,t)&rt)===rt,Nc=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Nn(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=Nc.reduce((n,o)=>(n[o]="function",n),t);return Jt(e,r),e}function kc(e,t,r){if(r<ht)throw new Error("invalid exponent, negatives unsupported");if(r===ht)return e.ONE;if(r===rt)return t;let n=e.ONE,o=t;for(;r>ht;)r&rt&&(n=e.mul(n,o)),o=e.sqr(o),r>>=rt;return n}function Ge(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function Ls(e,t){let r=(e.ORDER-rt)/ae,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function Mc(e,t){t!==void 0&&It(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}var Kn=class{ORDER;BITS;BYTES;isLE;ZERO=ht;ONE=rt;_lengths;_sqrt;_mod;constructor(t,r={}){if(t<=ht)throw new Error("invalid field: expected ORDER > 0, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&(this.sqrt=r.sqrt),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=r.allowedLengths?.slice()),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:s}=Mc(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return J(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return ht<=t&&t<this.ORDER}is0(t){return t===ht}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&rt)===rt}neg(t){return J(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return J(t*t,this.ORDER)}add(t,r){return J(t+r,this.ORDER)}sub(t,r){return J(t-r,this.ORDER)}mul(t,r){return J(t*r,this.ORDER)}pow(t,r){return kc(this,t,r)}div(t,r){return J(t*Ts(r,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,r){return t+r}subN(t,r){return t-r}mulN(t,r){return t*r}inv(t){return Ts(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=Uc(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?Rn(t,this.BYTES):br(t,this.BYTES)}fromBytes(t,r=!1){U(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let u=new Uint8Array(o);u.set(t,s?0:u.length-t.length),t=u}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let c=s?ie(t):Ae(t);if(a&&(c=J(c,i)),!r&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return Ge(this,t)}cmov(t,r,n){return n?r:t}};function Be(e,t={}){return new Kn(e,t)}function qs(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 kn(e){let t=qs(e);return t+Math.ceil(t/2)}function Mn(e,t,r=!1){U(e);let n=e.length,o=qs(t),s=kn(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?ie(e):Ae(e),a=J(i,t-rt)+rt;return r?Rn(a,o):br(a,o)}var Ie=BigInt(0),ce=BigInt(1);function je(e,t){let r=t.negate();return e?r:t}function ue(e,t){let r=Ge(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function $s(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function qn(e,t){$s(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=Ye(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Vs(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=ce);let u=t*n,l=u+Math.abs(a)-1,f=a===0,y=a<0,E=t%2!==0;return{nextN:c,offset:l,isZero:f,isNeg:y,isNegF:E,offsetF:u}}var Vn=new WeakMap,Fs=new WeakMap;function Hn(e){return Fs.get(e)||1}function Hs(e){if(e!==Ie)throw new Error("invalid wNAF")}var _e=class{BASE;ZERO;Fn;bits;constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>Ie;)r&ce&&(n=n.add(o)),o=o.double(),r>>=ce;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=qn(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=qn(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:f,isNegF:y,offsetF:E}=Vs(n,a,i);n=c,l?s=s.add(je(y,r[E])):o=o.add(je(f,r[u]))}return Hs(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=qn(t,this.bits);for(let i=0;i<s.windows&&n!==Ie;i++){let{nextN:a,offset:c,isZero:u,isNeg:l}=Vs(n,i,s);if(n=a,!u){let f=r[c];o=o.add(l?f.negate():f)}}return Hs(n),o}getPrecomputes(t,r,n){let o=Vn.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Vn.set(r,o))),o}cached(t,r,n){let o=Hn(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=Hn(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){$s(r,this.bits),Fs.set(t,r),Vn.delete(t)}hasCache(t){return Hn(t)!==1}};function Zs(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>Ie||n>Ie;)r&ce&&(s=s.add(o)),n&ce&&(i=i.add(o)),o=o.double(),r>>=ce,n>>=ce;return{p1:s,p2:i}}function zs(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Nn(t),t}else return Be(e,{isLE:r})}function xr(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>Ie))throw new Error(`CURVE.${c} must be positive bigint`)}let o=zs(t.p,r.Fp,n),s=zs(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}function wr(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var Qt=BigInt(0),nt=BigInt(1),zn=BigInt(2),qc=BigInt(8);function Vc(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function Ys(e,t={}){let r=xr("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Jt(t,{},{uvRatio:"function"});let a=zn<<BigInt(o.BYTES*8)-nt,c=S=>n.create(S),u=t.uvRatio||((S,b)=>{try{return{isValid:!0,value:n.sqrt(n.div(S,b))}}catch{return{isValid:!1,value:Qt}}});if(!Vc(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function l(S,b,v=!1){let g=v?nt:Qt;return Ze("coordinate "+S,b,g,a),b}function f(S){if(!(S instanceof h))throw new Error("EdwardsPoint expected")}let y=ve((S,b)=>{let{X:v,Y:g,Z:I}=S,R=S.is0();b==null&&(b=R?qc:n.inv(I));let N=c(v*b),k=c(g*b),w=n.mul(I,b);if(R)return{x:Qt,y:nt};if(w!==nt)throw new Error("invZ was invalid");return{x:N,y:k}}),E=ve(S=>{let{a:b,d:v}=s;if(S.is0())throw new Error("bad point: ZERO");let{X:g,Y:I,Z:R,T:N}=S,k=c(g*g),w=c(I*I),x=c(R*R),P=c(x*x),M=c(k*b),T=c(x*c(M+w)),p=c(P+c(v*c(k*w)));if(T!==p)throw new Error("bad point: equation left != right (1)");let m=c(g*I),d=c(R*N);if(m!==d)throw new Error("bad point: equation left != right (2)");return!0});class h{static BASE=new h(s.Gx,s.Gy,nt,c(s.Gx*s.Gy));static ZERO=new h(Qt,nt,nt,Qt);static Fp=n;static Fn=o;X;Y;Z;T;constructor(b,v,g,I){this.X=l("x",b),this.Y=l("y",v),this.Z=l("z",g,!0),this.T=l("t",I),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){if(b instanceof h)throw new Error("extended point not allowed");let{x:v,y:g}=b||{};return l("x",v),l("y",g),new h(v,g,nt,c(v*g))}static fromBytes(b,v=!1){let g=n.BYTES,{a:I,d:R}=s;b=gr(U(b,g,"point")),Nt(v,"zip215");let N=gr(b),k=b[g-1];N[g-1]=k&-129;let w=ie(N),x=v?a:n.ORDER;Ze("point.y",w,Qt,x);let P=c(w*w),M=c(P-nt),T=c(R*P-I),{isValid:p,value:m}=u(M,T);if(!p)throw new Error("bad point: invalid y coordinate");let d=(m&nt)===nt,A=(k&128)!==0;if(!v&&m===Qt&&A)throw new Error("bad point: x=0 and x_0=1");return A!==d&&(m=c(-m)),h.fromAffine({x:m,y:w})}static fromHex(b,v=!1){return h.fromBytes(Kt(b),v)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,v=!0){return B.createCache(this,b),v||this.multiply(zn),this}assertValidity(){E(this)}equals(b){f(b);let{X:v,Y:g,Z:I}=this,{X:R,Y:N,Z:k}=b,w=c(v*k),x=c(R*I),P=c(g*k),M=c(N*I);return w===x&&P===M}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:b}=s,{X:v,Y:g,Z:I}=this,R=c(v*v),N=c(g*g),k=c(zn*c(I*I)),w=c(b*R),x=v+g,P=c(c(x*x)-R-N),M=w+N,T=M-k,p=w-N,m=c(P*T),d=c(M*p),A=c(P*p),_=c(T*M);return new h(m,d,_,A)}add(b){f(b);let{a:v,d:g}=s,{X:I,Y:R,Z:N,T:k}=this,{X:w,Y:x,Z:P,T:M}=b,T=c(I*w),p=c(R*x),m=c(k*g*M),d=c(N*P),A=c((I+R)*(w+x)-T-p),_=d-m,D=d+m,L=c(p-v*T),C=c(A*_),O=c(D*L),K=c(A*L),Y=c(_*D);return new h(C,O,Y,K)}subtract(b){return this.add(b.negate())}multiply(b){if(!o.isValidNot0(b))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:v,f:g}=B.cached(this,b,I=>ue(h,I));return ue(h,[v,g])[0]}multiplyUnsafe(b,v=h.ZERO){if(!o.isValid(b))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return b===Qt?h.ZERO:this.is0()||b===nt?this:B.unsafe(this,b,g=>ue(h,g),v)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return B.unsafe(this,s.n).is0()}toAffine(b){return y(this,b)}clearCofactor(){return i===nt?this:this.multiplyUnsafe(i)}toBytes(){let{x:b,y:v}=this.toAffine(),g=n.toBytes(v);return g[g.length-1]|=b&nt?128:0,g}toHex(){return Pt(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let B=new _e(h,o.BITS);return h.BASE.precompute(8),h}function Gs(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Jt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||Ee,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,x,P)=>{if(Nt(P,"phflag"),x.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function l(w){return i.create(ie(w))}function f(w){let x=g.secretKey;U(w,g.secretKey,"secretKey");let P=U(t(w),2*x,"hashedSecretKey"),M=c(P.slice(0,x)),T=P.slice(x,2*x),p=l(M);return{head:M,prefix:T,scalar:p}}function y(w){let{head:x,prefix:P,scalar:M}=f(w),T=o.multiply(M),p=T.toBytes();return{head:x,prefix:P,scalar:M,point:T,pointBytes:p}}function E(w){return y(w).pointBytes}function h(w=Uint8Array.of(),...x){let P=bt(...x);return l(t(u(P,U(w,void 0,"context"),!!n)))}function B(w,x,P={}){w=U(w,void 0,"message"),n&&(w=n(w));let{prefix:M,scalar:T,pointBytes:p}=y(x),m=h(P.context,M,w),d=o.multiply(m).toBytes(),A=h(P.context,d,p,w),_=i.create(m+A*T);if(!i.isValid(_))throw new Error("sign failed: invalid s");let D=bt(d,i.toBytes(_));return U(D,g.signature,"result")}let S={zip215:!0};function b(w,x,P,M=S){let{context:T,zip215:p}=M,m=g.signature;w=U(w,m,"signature"),x=U(x,void 0,"message"),P=U(P,g.publicKey,"publicKey"),p!==void 0&&Nt(p,"zip215"),n&&(x=n(x));let d=m/2,A=w.subarray(0,d),_=ie(w.subarray(d,m)),D,L,C;try{D=e.fromBytes(P,p),L=e.fromBytes(A,p),C=o.multiplyUnsafe(_)}catch{return!1}if(!p&&D.isSmallOrder())return!1;let O=h(T,L.toBytes(),D.toBytes(),x);return L.add(D.multiplyUnsafe(O)).subtract(C).clearCofactor().is0()}let v=s.BYTES,g={secretKey:v,publicKey:v,signature:2*v,seed:v};function I(w=a(g.seed)){return U(w,g.seed,"seed")}function R(w){return ne(w)&&w.length===i.BYTES}function N(w,x){try{return!!e.fromBytes(w,x)}catch{return!1}}let k={getExtendedPublicKey:y,randomSecretKey:I,isValidSecretKey:R,isValidPublicKey:N,toMontgomery(w){let{y:x}=e.fromBytes(w),P=g.publicKey,M=P===32;if(!M&&P!==57)throw new Error("only defined for 25519 and 448");let T=M?s.div(nt+x,nt-x):s.div(x-nt,x+nt);return s.toBytes(T)},toMontgomerySecret(w){let x=g.secretKey;U(w,x);let P=t(w.subarray(0,x));return c(P).subarray(0,x)}};return Object.freeze({keygen:wr(I,E),getPublicKey:E,sign:B,verify:b,utils:k,Point:e,lengths:g})}var Hc=BigInt(1),js=BigInt(2);var zc=BigInt(5),$c=BigInt(8),$n=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Fc={p:$n,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:$c,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Zc(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=$n,a=e*e%s*e%s,c=F(a,js,s)*a%s,u=F(c,Hc,s)*e%s,l=F(u,zc,s)*u%s,f=F(l,t,s)*l%s,y=F(f,r,s)*f%s,E=F(y,n,s)*y%s,h=F(E,o,s)*E%s,B=F(h,o,s)*E%s,S=F(B,t,s)*l%s;return{pow_p_5_8:F(S,js,s)*e%s,b2:a}}function Yc(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Ws=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Gc(e,t){let r=$n,n=J(t*t*t,r),o=J(n*n*t,r),s=Zc(e*o).pow_p_5_8,i=J(e*n*s,r),a=J(t*i*i,r),c=i,u=J(i*Ws,r),l=a===e,f=a===J(-e,r),y=a===J(-e*Ws,r);return l&&(i=c),(f||y)&&(i=u),Ms(i,r)&&(i=J(-i,r)),{isValid:l||f,value:i}}var jc=Ys(Fc,{uvRatio:Gc});function Wc(e){return Gs(jc,Is,Object.assign({adjustScalarBytes:Yc},e))}var Xs=Wc({});var We=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Er=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Js={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Er("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");return t}};var xt=Js;var Sr=32;var Fn,Xc=(async()=>{try{return await xt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function Jc(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await xt.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await xt.get().subtle.verify({name:"Ed25519"},n,t,r instanceof Uint8Array?r:r.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function Qc(e,t,r){return Xs.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function Qs(e,t,r){return Fn==null&&(Fn=await Xc),Fn?Jc(e,t,r):Qc(e,t,r)}function Ar(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var vr=class{type="Ed25519";raw;constructor(t){this.raw=Zn(t,Sr)}toMultihash(){return Et.digest(Gt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=Qs(this.raw,r,t);return Ar(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function Yn(e){return e=Zn(e,Sr),new vr(e)}function Zn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new Q(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var eu=Math.pow(2,7),ru=Math.pow(2,14),nu=Math.pow(2,21),Gn=Math.pow(2,28),jn=Math.pow(2,35),Wn=Math.pow(2,42),Xn=Math.pow(2,49),H=128,ft=127;function wt(e){if(e<eu)return 1;if(e<ru)return 2;if(e<nu)return 3;if(e<Gn)return 4;if(e<jn)return 5;if(e<Wn)return 6;if(e<Xn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ce(e,t,r=0){switch(wt(e)){case 8:t[r++]=e&255|H,e/=128;case 7:t[r++]=e&255|H,e/=128;case 6:t[r++]=e&255|H,e/=128;case 5:t[r++]=e&255|H,e/=128;case 4:t[r++]=e&255|H,e>>>=7;case 3:t[r++]=e&255|H,e>>>=7;case 2:t[r++]=e&255|H,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function ou(e,t,r=0){switch(wt(e)){case 8:t.set(r++,e&255|H),e/=128;case 7:t.set(r++,e&255|H),e/=128;case 6:t.set(r++,e&255|H),e/=128;case 5:t.set(r++,e&255|H),e/=128;case 4:t.set(r++,e&255|H),e>>>=7;case 3:t.set(r++,e&255|H),e>>>=7;case 2:t.set(r++,e&255|H),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Jn(e,t){let r=e[t],n=0;if(n+=r&ft,r<H||(r=e[t+1],n+=(r&ft)<<7,r<H)||(r=e[t+2],n+=(r&ft)<<14,r<H)||(r=e[t+3],n+=(r&ft)<<21,r<H)||(r=e[t+4],n+=(r&ft)*Gn,r<H)||(r=e[t+5],n+=(r&ft)*jn,r<H)||(r=e[t+6],n+=(r&ft)*Wn,r<H)||(r=e[t+7],n+=(r&ft)*Xn,r<H))return n;throw new RangeError("Could not decode varint")}function su(e,t){let r=e.get(t),n=0;if(n+=r&ft,r<H||(r=e.get(t+1),n+=(r&ft)<<7,r<H)||(r=e.get(t+2),n+=(r&ft)<<14,r<H)||(r=e.get(t+3),n+=(r&ft)<<21,r<H)||(r=e.get(t+4),n+=(r&ft)*Gn,r<H)||(r=e.get(t+5),n+=(r&ft)*jn,r<H)||(r=e.get(t+6),n+=(r&ft)*Wn,r<H)||(r=e.get(t+7),n+=(r&ft)*Xn,r<H))return n;throw new RangeError("Could not decode varint")}function Br(e,t,r=0){return t==null&&(t=mt(wt(e))),t instanceof Uint8Array?Ce(e,t,r):ou(e,t,r)}function Qn(e,t=0){return e instanceof Uint8Array?Jn(e,t):su(e,t)}var to=new Float32Array([-0]),te=new Uint8Array(to.buffer);function ri(e,t,r){to[0]=e,t[r]=te[0],t[r+1]=te[1],t[r+2]=te[2],t[r+3]=te[3]}function ni(e,t){return te[0]=e[t],te[1]=e[t+1],te[2]=e[t+2],te[3]=e[t+3],to[0]}var eo=new Float64Array([-0]),lt=new Uint8Array(eo.buffer);function oi(e,t,r){eo[0]=e,t[r]=lt[0],t[r+1]=lt[1],t[r+2]=lt[2],t[r+3]=lt[3],t[r+4]=lt[4],t[r+5]=lt[5],t[r+6]=lt[6],t[r+7]=lt[7]}function si(e,t){return lt[0]=e[t],lt[1]=e[t+1],lt[2]=e[t+2],lt[3]=e[t+3],lt[4]=e[t+4],lt[5]=e[t+5],lt[6]=e[t+6],lt[7]=e[t+7],eo[0]}var iu=BigInt(Number.MAX_SAFE_INTEGER),au=BigInt(Number.MIN_SAFE_INTEGER),gt=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 fe;if(t<iu&&t>au)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>ii&&(o=0n,++n>ii&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return fe;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}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):fe}},fe=new gt(0,0);fe.toBigInt=function(){return 0n};fe.zzEncode=fe.zzDecode=function(){return this};fe.length=function(){return 1};var ii=4294967296n;function ai(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 ci(e,t,r){if(r-t<1)return"";let o,s=[],i=0,a;for(;t<r;)a=e[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(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,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function ro(e,t,r){let n=r,o,s;for(let i=0;i<e.length;++i)o=e.charCodeAt(i),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function At(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Ir(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var no=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,At(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 At(this,4);return Ir(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw At(this,4);return Ir(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw At(this,4);let t=ni(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw At(this,4);let t=si(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 At(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return ci(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw At(this,t);this.pos+=t}else do if(this.pos>=this.len)throw At(this);while((this.buf[this.pos++]&128)!==0);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 gt(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 At(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 At(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 At(this,8);let t=Ir(this.buf,this.pos+=4),r=Ir(this.buf,this.pos+=4);return new gt(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Jn(this.buf,this.pos);return this.pos+=wt(t),t}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 Xe(e){return new no(e instanceof Uint8Array?e:e.subarray())}function kt(e,t,r){let n=Xe(e);return t.decode(n,void 0,r)}function oo(e){let t=e??8192,r=t>>>1,n,o=t;return function(i){if(i<1||i>r)return mt(i);o+i>t&&(n=mt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var le=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function so(){}var ao=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},cu=oo();function uu(e){return globalThis.Buffer!=null?mt(e):cu(e)}var Qe=class{len;head;tail;states;constructor(){this.len=0,this.head=new le(so,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new le(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new co((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(_r,10,gt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=gt.fromBigInt(t);return this._push(_r,r.length(),r)}uint64Number(t){return this._push(Ce,wt(t),t)}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=gt.fromBigInt(t).zzEncode();return this._push(_r,r.length(),r)}sint64Number(t){let r=gt.fromNumber(t).zzEncode();return this._push(_r,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(io,1,t?1:0)}fixed32(t){return this._push(Je,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=gt.fromBigInt(t);return this._push(Je,4,r.lo)._push(Je,4,r.hi)}fixed64Number(t){let r=gt.fromNumber(t);return this._push(Je,4,r.lo)._push(Je,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(ri,4,t)}double(t){return this._push(oi,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(io,1,0):this.uint32(r)._push(lu,r,t)}string(t){let r=ai(t);return r!==0?this.uint32(r)._push(ro,r,t):this._push(io,1,0)}fork(){return this.states=new ao(this),this.head=this.tail=new le(so,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 le(so,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=uu(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function io(e,t,r){t[r]=e&255}function fu(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var co=class extends le{next;constructor(t,r){super(fu,t,r),this.next=void 0}};function _r(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 Je(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 lu(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Qe.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(du,t,e),this},Qe.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(hu,t,e),this});function du(e,t,r){t.set(e,r)}function hu(e,t,r){e.length<40?ro(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(z(e),r)}function uo(){return new Qe}function Mt(e,t){let r=uo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}function*qt(e,t,r){let n=Xe(e);yield*t.stream(n,void 0,"$",r)}var Cr={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function Dr(e,t,r,n,o){return{name:e,type:t,encode:r,decode:n,stream:o}}function fo(e){function t(s){if(e[s.toString()]==null)throw new Error("Invalid enum value");return e[s]}let r=function(i,a){let c=t(i);a.int32(c)},n=function(i){let a=i.int32();return t(a)},o=function*(i){let a=i.int32();yield t(a)};return Dr("enum",Cr.VARINT,r,n,o)}function Vt(e,t,r){return Dr("message",Cr.LENGTH_DELIMITED,e,t,r)}var tr=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var Z;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(Z||(Z={}));var lo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(lo||(lo={}));(function(e){e.codec=()=>fo(lo)})(Z||(Z={}));var Ct;(function(e){let t;e.codec=()=>(t==null&&(t=Vt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),Z.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.Type=Z.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:Z.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return kt(s,e.codec(),i)}e.decode=n;function o(s,i){return qt(s,e.codec(),i)}e.stream=o})(Ct||(Ct={}));var ho;(function(e){let t;e.codec=()=>(t==null&&(t=Vt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),Z.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.Type=Z.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:Z.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return kt(s,e.codec(),i)}e.decode=n;function o(s,i){return qt(s,e.codec(),i)}e.stream=o})(ho||(ho={}));var rr={};pt(rr,{MAX_RSA_KEY_SIZE:()=>po,generateRSAKeyPair:()=>pi,jwkToJWKKeyPair:()=>mi,jwkToPkcs1:()=>bu,jwkToPkix:()=>go,jwkToRSAPrivateKey:()=>So,pkcs1MessageToJwk:()=>yo,pkcs1MessageToRSAPrivateKey:()=>xo,pkcs1ToJwk:()=>yu,pkcs1ToRSAPrivateKey:()=>hi,pkixMessageToJwk:()=>bo,pkixMessageToRSAPublicKey:()=>Eo,pkixToJwk:()=>gu,pkixToRSAPublicKey:()=>wo});var De=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=rr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return tt.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){return di(this.jwk,r,t,n)}},er=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=rr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}sign(t,r){return li(this.jwk,t,r)}};var po=8192,mo=18,pu=1062,mu=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function yu(e){let t=Lt(e);return yo(t)}function yo(e){return{n:V(e[1],"base64url"),e:V(e[2],"base64url"),d:V(e[3],"base64url"),p:V(e[4],"base64url"),q:V(e[5],"base64url"),dp:V(e[6],"base64url"),dq:V(e[7],"base64url"),qi:V(e[8],"base64url"),kty:"RSA"}}function bu(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 Q("JWK was missing components");return Yt([yt(Uint8Array.from([0])),yt(z(e.n,"base64url")),yt(z(e.e,"base64url")),yt(z(e.d,"base64url")),yt(z(e.p,"base64url")),yt(z(e.q,"base64url")),yt(z(e.dp,"base64url")),yt(z(e.dq,"base64url")),yt(z(e.qi,"base64url"))]).subarray()}function gu(e){let t=Lt(e,{offset:0});return bo(t)}function bo(e){let t=Lt(e[1],{offset:0});return{kty:"RSA",n:V(t[0],"base64url"),e:V(t[1],"base64url")}}function go(e){if(e.n==null||e.e==null)throw new Q("JWK was missing components");return Yt([mu,dr(Yt([yt(z(e.n,"base64url")),yt(z(e.e,"base64url"))]))]).subarray()}function hi(e){let t=Lt(e);return xo(t)}function xo(e){let t=yo(e);return So(t)}function wo(e,t){if(e.byteLength>=pu)throw new he("Key size is too large");let r=Lt(e,{offset:0});return Eo(r,e,t)}function Eo(e,t,r){let n=bo(e);if(r==null){let o=Se(Ct.encode({Type:Z.RSA,Data:t}));r=Bt(mo,o)}return new De(n,r)}function So(e){if(bi(e)>po)throw new Q("Key size is too large");let t=mi(e),r=Se(Ct.encode({Type:Z.RSA,Data:go(t.publicKey)})),n=Bt(mo,r);return new er(t.privateKey,new De(t.publicKey,n))}async function pi(e){if(e>po)throw new Q("Key size is too large");let t=await yi(e),r=Se(Ct.encode({Type:Z.RSA,Data:go(t.publicKey)})),n=Bt(mo,r);return new er(t.privateKey,new De(t.publicKey,n))}function mi(e){if(e==null)throw new Q("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}async function yi(e,t){let r=await xt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await xu(r,t);return{privateKey:n[0],publicKey:n[1]}}async function li(e,t,r){let n=await xt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await xt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return r?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function di(e,t,r,n){let o=await xt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await xt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),s}async function xu(e,t){if(e.privateKey==null||e.publicKey==null)throw new Q("Private and public key are required");let r=await Promise.all([xt.get().subtle.exportKey("jwk",e.privateKey),xt.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function bi(e){if(e.kty!=="RSA")throw new Q("invalid key type");if(e.n==null)throw new Q("invalid key modulus");return z(e.n,"base64url").length*8}var Tr=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,r){if(hr(t),U(r,void 0,"key"),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 n=this.blockLen,o=new Uint8Array(n);o.set(r.length>n?t.create().update(r).digest():r);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),Rt(o)}update(t){return we(this),this.iHash.update(t),this}digestInto(t){we(this),U(t,this.outputLen,"output"),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||=Object.create(Object.getPrototypeOf(this),{});let{oHash:r,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ao=(e,t,r)=>new Tr(e,t).update(r).digest();Ao.create=(e,t)=>new Tr(e,t);var gi=(e,t)=>(e+(e>=0?t:-t)/xi)/t;function wu(e,t,r){let[[n,o],[s,i]]=t,a=gi(i*e,r),c=gi(-o*e,r),u=e-a*n-c*s,l=-a*o-c*i,f=u<Ht,y=l<Ht;f&&(u=-u),y&&(l=-l);let E=Ye(Math.ceil(Pn(r)/2))+Te;if(u<Ht||u>=E||l<Ht||l>=E)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:u,k2neg:y,k2:l}}function Bo(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function vo(e,t){let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return Nt(r.lowS,"lowS"),Nt(r.prehash,"prehash"),r.format!==void 0&&Bo(r.format),r}var Io=class extends Error{constructor(t=""){super(t)}},ee={Err:Io,_tlv:{encode:(e,t)=>{let{Err:r}=ee;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=Fe(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?Fe(o.length/2|128):"";return Fe(e)+s+o+t},decode(e,t){let{Err:r}=ee,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let l of u)i=i<<8|l;if(n+=c,i<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(e){let{Err:t}=ee;if(e<Ht)throw new t("integer: negative integers are not allowed");let r=Fe(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=ee;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Ae(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=ee,o=U(e,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:u,l}=n.decode(2,c);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=ee,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),s=n+o;return t.encode(48,s)}},Ht=BigInt(0),Te=BigInt(1),xi=BigInt(2),Lr=BigInt(3),Eu=BigInt(4);function wi(e,t={}){let r=xr("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;Jt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Si(n,o);function l(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function f(T,p,m){let{x:d,y:A}=p.toAffine(),_=n.toBytes(d);if(Nt(m,"isCompressed"),m){l();let D=!n.isOdd(A);return bt(Ei(D),_)}else return bt(Uint8Array.of(4),_,n.toBytes(A))}function y(T){U(T,void 0,"Point");let{publicKey:p,publicKeyUncompressed:m}=u,d=T.length,A=T[0],_=T.subarray(1);if(d===p&&(A===2||A===3)){let D=n.fromBytes(_);if(!n.isValid(D))throw new Error("bad point: is not on curve, wrong x");let L=B(D),C;try{C=n.sqrt(L)}catch(Y){let $=Y instanceof Error?": "+Y.message:"";throw new Error("bad point: is not on curve, sqrt error"+$)}l();let O=n.isOdd(C);return(A&1)===1!==O&&(C=n.neg(C)),{x:D,y:C}}else if(d===m&&A===4){let D=n.BYTES,L=n.fromBytes(_.subarray(0,D)),C=n.fromBytes(_.subarray(D,D*2));if(!S(L,C))throw new Error("bad point: is not on curve");return{x:L,y:C}}else throw new Error(`bad point: got length ${d}, expected compressed=${p} or uncompressed=${m}`)}let E=t.toBytes||f,h=t.fromBytes||y;function B(T){let p=n.sqr(T),m=n.mul(p,T);return n.add(n.add(m,n.mul(T,s.a)),s.b)}function S(T,p){let m=n.sqr(p),d=B(T);return n.eql(m,d)}if(!S(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let b=n.mul(n.pow(s.a,Lr),Eu),v=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(b,v)))throw new Error("bad curve params: a or b");function g(T,p,m=!1){if(!n.isValid(p)||m&&n.is0(p))throw new Error(`bad point coordinate ${T}`);return p}function I(T){if(!(T instanceof x))throw new Error("Weierstrass Point expected")}function R(T){if(!c||!c.basises)throw new Error("no endo");return wu(T,c.basises,o.ORDER)}let N=ve((T,p)=>{let{X:m,Y:d,Z:A}=T;if(n.eql(A,n.ONE))return{x:m,y:d};let _=T.is0();p==null&&(p=_?n.ONE:n.inv(A));let D=n.mul(m,p),L=n.mul(d,p),C=n.mul(A,p);if(_)return{x:n.ZERO,y:n.ZERO};if(!n.eql(C,n.ONE))throw new Error("invZ was invalid");return{x:D,y:L}}),k=ve(T=>{if(T.is0()){if(t.allowInfinityPoint&&!n.is0(T.Y))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=T.toAffine();if(!n.isValid(p)||!n.isValid(m))throw new Error("bad point: x or y not field elements");if(!S(p,m))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function w(T,p,m,d,A){return m=new x(n.mul(m.X,T),m.Y,m.Z),p=je(d,p),m=je(A,m),p.add(m)}class x{static BASE=new x(s.Gx,s.Gy,n.ONE);static ZERO=new x(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(p,m,d){this.X=g("x",p),this.Y=g("y",m,!0),this.Z=g("z",d),Object.freeze(this)}static CURVE(){return s}static fromAffine(p){let{x:m,y:d}=p||{};if(!p||!n.isValid(m)||!n.isValid(d))throw new Error("invalid affine point");if(p instanceof x)throw new Error("projective point not allowed");return n.is0(m)&&n.is0(d)?x.ZERO:new x(m,d,n.ONE)}static fromBytes(p){let m=x.fromAffine(h(U(p,void 0,"point")));return m.assertValidity(),m}static fromHex(p){return x.fromBytes(Kt(p))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(p=8,m=!0){return M.createCache(this,p),m||this.multiply(Lr),this}assertValidity(){k(this)}hasEvenY(){let{y:p}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(p)}equals(p){I(p);let{X:m,Y:d,Z:A}=this,{X:_,Y:D,Z:L}=p,C=n.eql(n.mul(m,L),n.mul(_,A)),O=n.eql(n.mul(d,L),n.mul(D,A));return C&&O}negate(){return new x(this.X,n.neg(this.Y),this.Z)}double(){let{a:p,b:m}=s,d=n.mul(m,Lr),{X:A,Y:_,Z:D}=this,L=n.ZERO,C=n.ZERO,O=n.ZERO,K=n.mul(A,A),Y=n.mul(_,_),$=n.mul(D,D),q=n.mul(A,_);return q=n.add(q,q),O=n.mul(A,D),O=n.add(O,O),L=n.mul(p,O),C=n.mul(d,$),C=n.add(L,C),L=n.sub(Y,C),C=n.add(Y,C),C=n.mul(L,C),L=n.mul(q,L),O=n.mul(d,O),$=n.mul(p,$),q=n.sub(K,$),q=n.mul(p,q),q=n.add(q,O),O=n.add(K,K),K=n.add(O,K),K=n.add(K,$),K=n.mul(K,q),C=n.add(C,K),$=n.mul(_,D),$=n.add($,$),K=n.mul($,q),L=n.sub(L,K),O=n.mul($,Y),O=n.add(O,O),O=n.add(O,O),new x(L,C,O)}add(p){I(p);let{X:m,Y:d,Z:A}=this,{X:_,Y:D,Z:L}=p,C=n.ZERO,O=n.ZERO,K=n.ZERO,Y=s.a,$=n.mul(s.b,Lr),q=n.mul(m,_),G=n.mul(d,D),st=n.mul(A,L),vt=n.add(m,d),j=n.add(_,D);vt=n.mul(vt,j),j=n.add(q,G),vt=n.sub(vt,j),j=n.add(m,A);let ut=n.add(_,L);return j=n.mul(j,ut),ut=n.add(q,st),j=n.sub(j,ut),ut=n.add(d,A),C=n.add(D,L),ut=n.mul(ut,C),C=n.add(G,st),ut=n.sub(ut,C),K=n.mul(Y,j),C=n.mul($,st),K=n.add(C,K),C=n.sub(G,K),K=n.add(G,K),O=n.mul(C,K),G=n.add(q,q),G=n.add(G,q),st=n.mul(Y,st),j=n.mul($,j),G=n.add(G,st),st=n.sub(q,st),st=n.mul(Y,st),j=n.add(j,st),q=n.mul(G,j),O=n.add(O,q),q=n.mul(ut,j),C=n.mul(vt,C),C=n.sub(C,q),q=n.mul(vt,G),K=n.mul(ut,K),K=n.add(K,q),new x(C,O,K)}subtract(p){return this.add(p.negate())}is0(){return this.equals(x.ZERO)}multiply(p){let{endo:m}=t;if(!o.isValidNot0(p))throw new Error("invalid scalar: out of range");let d,A,_=D=>M.cached(this,D,L=>ue(x,L));if(m){let{k1neg:D,k1:L,k2neg:C,k2:O}=R(p),{p:K,f:Y}=_(L),{p:$,f:q}=_(O);A=Y.add(q),d=w(m.beta,K,$,D,C)}else{let{p:D,f:L}=_(p);d=D,A=L}return ue(x,[d,A])[0]}multiplyUnsafe(p){let{endo:m}=t,d=this;if(!o.isValid(p))throw new Error("invalid scalar: out of range");if(p===Ht||d.is0())return x.ZERO;if(p===Te)return d;if(M.hasCache(this))return this.multiply(p);if(m){let{k1neg:A,k1:_,k2neg:D,k2:L}=R(p),{p1:C,p2:O}=Zs(x,d,_,L);return w(m.beta,C,O,A,D)}else return M.unsafe(d,p)}toAffine(p){return N(this,p)}isTorsionFree(){let{isTorsionFree:p}=t;return i===Te?!0:p?p(x,this):M.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:p}=t;return i===Te?this:p?p(x,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(p=!0){return Nt(p,"isCompressed"),this.assertValidity(),E(x,this,p)}toHex(p=!0){return Pt(this.toBytes(p))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let P=o.BITS,M=new _e(x,t.endo?Math.ceil(P/2):P);return x.BASE.precompute(8),x}function Ei(e){return Uint8Array.of(e?2:3)}function Si(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Su(e,t={}){let{Fn:r}=e,n=t.randomBytes||Ee,o=Object.assign(Si(e.Fp,r),{seed:kn(r.ORDER)});function s(E){try{let h=r.fromBytes(E);return r.isValidNot0(h)}catch{return!1}}function i(E,h){let{publicKey:B,publicKeyUncompressed:S}=o;try{let b=E.length;return h===!0&&b!==B||h===!1&&b!==S?!1:!!e.fromBytes(E)}catch{return!1}}function a(E=n(o.seed)){return Mn(U(E,o.seed,"seed"),r.ORDER)}function c(E,h=!0){return e.BASE.multiply(r.fromBytes(E)).toBytes(h)}function u(E){let{secretKey:h,publicKey:B,publicKeyUncompressed:S}=o;if(!ne(E)||"_lengths"in r&&r._lengths||h===B)return;let b=U(E,void 0,"key").length;return b===B||b===S}function l(E,h,B=!0){if(u(E)===!0)throw new Error("first arg must be private key");if(u(h)===!1)throw new Error("second arg must be public key");let S=r.fromBytes(E);return e.fromBytes(h).multiply(S).toBytes(B)}let f={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},y=wr(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:y,Point:e,utils:f,lengths:o})}function Ai(e,t,r={}){hr(t),Jt(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes||Ee,o=r.hmac||((m,d)=>Ao(t,m,d)),{Fp:s,Fn:i}=e,{ORDER:a,BITS:c}=i,{keygen:u,getPublicKey:l,getSharedSecret:f,utils:y,lengths:E}=Su(e,r),h={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},B=a*xi<s.ORDER;function S(m){let d=a>>Te;return m>d}function b(m,d){if(!i.isValidNot0(d))throw new Error(`invalid signature ${m}: out of range 1..Point.Fn.ORDER`);return d}function v(){if(B)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function g(m,d){Bo(d);let A=E.signature,_=d==="compact"?A:d==="recovered"?A+1:void 0;return U(m,_)}class I{r;s;recovery;constructor(d,A,_){if(this.r=b("r",d),this.s=b("s",A),_!=null){if(v(),![0,1,2,3].includes(_))throw new Error("invalid recovery id");this.recovery=_}Object.freeze(this)}static fromBytes(d,A=h.format){g(d,A);let _;if(A==="der"){let{r:O,s:K}=ee.toSig(U(d));return new I(O,K)}A==="recovered"&&(_=d[0],A="compact",d=d.subarray(1));let D=E.signature/2,L=d.subarray(0,D),C=d.subarray(D,D*2);return new I(i.fromBytes(L),i.fromBytes(C),_)}static fromHex(d,A){return this.fromBytes(Kt(d),A)}assertRecovery(){let{recovery:d}=this;if(d==null)throw new Error("invalid recovery id: must be present");return d}addRecoveryBit(d){return new I(this.r,this.s,d)}recoverPublicKey(d){let{r:A,s:_}=this,D=this.assertRecovery(),L=D===2||D===3?A+a:A;if(!s.isValid(L))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let C=s.toBytes(L),O=e.fromBytes(bt(Ei((D&1)===0),C)),K=i.inv(L),Y=N(U(d,void 0,"msgHash")),$=i.create(-Y*K),q=i.create(_*K),G=e.BASE.multiplyUnsafe($).add(O.multiplyUnsafe(q));if(G.is0())throw new Error("invalid recovery: point at infinify");return G.assertValidity(),G}hasHighS(){return S(this.s)}toBytes(d=h.format){if(Bo(d),d==="der")return Kt(ee.hexFromSig(this));let{r:A,s:_}=this,D=i.toBytes(A),L=i.toBytes(_);return d==="recovered"?(v(),bt(Uint8Array.of(this.assertRecovery()),D,L)):bt(D,L)}toHex(d){return Pt(this.toBytes(d))}}let R=r.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");let A=Ae(d),_=d.length*8-c;return _>0?A>>BigInt(_):A},N=r.bits2int_modN||function(d){return i.create(R(d))},k=Ye(c);function w(m){return Ze("num < 2^"+c,m,Ht,k),i.toBytes(m)}function x(m,d){return U(m,void 0,"message"),d?U(t(m),void 0,"prehashed message"):m}function P(m,d,A){let{lowS:_,prehash:D,extraEntropy:L}=vo(A,h);m=x(m,D);let C=N(m),O=i.fromBytes(d);if(!i.isValidNot0(O))throw new Error("invalid private key");let K=[w(O),w(C)];if(L!=null&&L!==!1){let G=L===!0?n(E.secretKey):L;K.push(U(G,void 0,"extraEntropy"))}let Y=bt(...K),$=C;function q(G){let st=R(G);if(!i.isValidNot0(st))return;let vt=i.inv(st),j=e.BASE.multiply(st).toAffine(),ut=i.create(j.x);if(ut===Ht)return;let ar=i.create(vt*i.create($+ut*O));if(ar===Ht)return;let No=(j.x===ut?0:2)|Number(j.y&Te),ko=ar;return _&&S(ar)&&(ko=i.neg(ar),No^=1),new I(ut,ko,B?void 0:No)}return{seed:Y,k2sig:q}}function M(m,d,A={}){let{seed:_,k2sig:D}=P(m,d,A);return Ds(t.outputLen,i.BYTES,o)(_,D).toBytes(A.format)}function T(m,d,A,_={}){let{lowS:D,prehash:L,format:C}=vo(_,h);if(A=U(A,void 0,"publicKey"),d=x(d,L),!ne(m)){let O=m instanceof I?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+O)}g(m,C);try{let O=I.fromBytes(m,C),K=e.fromBytes(A);if(D&&O.hasHighS())return!1;let{r:Y,s:$}=O,q=N(d),G=i.inv($),st=i.create(q*G),vt=i.create(Y*G),j=e.BASE.multiplyUnsafe(st).add(K.multiplyUnsafe(vt));return j.is0()?!1:i.create(j.x)===Y}catch{return!1}}function p(m,d,A={}){let{prehash:_}=vo(A,h);return d=x(d,_),I.fromBytes(m,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:u,getPublicKey:l,getSharedSecret:f,utils:y,lengths:E,Point:e,sign:M,verify:T,recoverPublicKey:p,Signature:I,hash:t})}var Co={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Au={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var vi=BigInt(2);function vu(e){let t=Co.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,l=u*u*e%t,f=F(l,r,t)*l%t,y=F(f,r,t)*l%t,E=F(y,vi,t)*u%t,h=F(E,o,t)*E%t,B=F(h,s,t)*h%t,S=F(B,a,t)*B%t,b=F(S,c,t)*S%t,v=F(b,a,t)*B%t,g=F(v,r,t)*l%t,I=F(g,i,t)*h%t,R=F(I,n,t)*u%t,N=F(R,vi,t);if(!_o.eql(_o.sqr(N),e))throw new Error("Cannot find square root");return N}var _o=Be(Co.p,{sqrt:vu}),Bu=wi(Co,{Fp:_o,endo:Au}),Le=Ai(Bu,Se);function Bi(e,t,r,n){let o=ke.digest(r instanceof Uint8Array?r:r.subarray());if(Ar(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),Le.verify(t,s,e,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new We(String(s))});try{return n?.signal?.throwIfAborted(),Le.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(s){throw new We(String(s))}}var Or=class{type="secp256k1";raw;_key;constructor(t){this._key=_i(t),this.raw=Ii(this._key)}toMultihash(){return Et.digest(Gt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){return Bi(this._key,r,t,n)}};function Do(e){return new Or(e)}function Ii(e){return Le.Point.fromBytes(e).toBytes()}function _i(e){try{return Le.Point.fromBytes(e),e}catch(t){throw new he(String(t))}}function Ci(e,t){let{Type:r,Data:n}=Ct.decode(e),o=n??new Uint8Array;switch(r){case Z.RSA:return wo(o,t);case Z.Ed25519:return Yn(o);case Z.secp256k1:return Do(o);case Z.ECDSA:return Sn(o);default:throw new pe}}function Di(e){let{Type:t,Data:r}=Ct.decode(e.digest),n=r??new Uint8Array;switch(t){case Z.Ed25519:return Yn(n);case Z.secp256k1:return Do(n);case Z.ECDSA:return Sn(n);default:throw new pe}}function Gt(e){return Ct.encode({Type:Z[e.type],Data:e.raw})}var nr;(function(e){let t;e.codec=()=>(t==null&&(t=Vt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.publicKey!=null&&s.publicKey.byteLength>0&&(i.uint32(10),i.bytes(s.publicKey)),s.payloadType!=null&&s.payloadType.byteLength>0&&(i.uint32(18),i.bytes(s.payloadType)),s.payload!=null&&s.payload.byteLength>0&&(i.uint32(26),i.bytes(s.payload)),s.signature!=null&&s.signature.byteLength>0&&(i.uint32(42),i.bytes(s.signature)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={publicKey:it(0),payloadType:it(0),payload:it(0),signature:it(0)},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.publicKey=s.bytes();break}case 2:{c.payloadType=s.bytes();break}case 3:{c.payload=s.bytes();break}case 5:{c.signature=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.publicKey`,value:s.bytes()};break}case 2:{yield{field:`${a}.payloadType`,value:s.bytes()};break}case 3:{yield{field:`${a}.payload`,value:s.bytes()};break}case 5:{yield{field:`${a}.signature`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return kt(s,e.codec(),i)}e.decode=n;function o(s,i){return qt(s,e.codec(),i)}e.stream=o})(nr||(nr={}));var Rr=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var Pr=class e{static createFromProtobuf=t=>{let r=nr.decode(t),n=Ci(r.publicKey);return new e({publicKey:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r,n)=>{if(r==null)throw new Error("Missing private key");let o=t.domain,s=t.codec,i=t.marshal(),a=Ti(o,s,i),c=await r.sign(a.subarray(),n);return new e({publicKey:r.publicKey,payloadType:s,payload:i,signature:c})};static openAndCertify=async(t,r,n)=>{let o=e.createFromProtobuf(t);if(!await o.validate(r,n))throw new Rr("Envelope signature is not valid for the given domain");return o};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:r,payloadType:n,payload:o,signature:s}=t;this.publicKey=r,this.payloadType=n,this.payload=o,this.signature=s}marshal(){return this.marshaled==null&&(this.marshaled=nr.encode({publicKey:Gt(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return t==null?!1:et(this.marshal(),t.marshal())}async validate(t,r){let n=Ti(t,this.payloadType,this.payload);return this.publicKey.verify(n.subarray(),this.signature,r)}},Ti=(e,t,r)=>{let n=z(e),o=Br(n.byteLength),s=Br(t.length),i=Br(r.length);return new dt(o,n,s,t,i,r)};var Li=Symbol.for("nodejs.util.inspect.custom"),Iu=114,or=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Yr]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return tt.createV1(Iu,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return et(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return et(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Li](){return`PeerId(${this.toString()})`}},Kr=class extends or{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Ur=class extends or{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Nr=class extends or{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},_u=2336,kr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Et.digest(z(this.url))}[Li](){return`PeerId(${this.url})`}[Yr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return tt.createV1(_u,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=V(t)),t.toString()===this.toString())}};function Oi(e){if(Du(e))return new Kr({multihash:e});if(Cu(e))try{let t=Di(e);if(t.type==="Ed25519")return new Ur({multihash:e,publicKey:t});if(t.type==="secp256k1")return new Nr({multihash:e,publicKey:t})}catch{let r=V(e.digest);return new kr(new URL(r))}throw new cr("Supplied PeerID Multihash is invalid")}function Cu(e){return e.code===Et.code}function Du(e){return e.code===ke.code}var ct=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},zt=class extends Error{static name="ValidationError";name="ValidationError"},Mr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},qr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};var Vr=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,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let y=Number.parseInt(f,t);if(!Number.isNaN(y))return y});if(l===void 0)break;if(s*=t,s+=l,s>u||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&c&&i>1?void 0:s})}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 o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Tu=45,Lu=15,Hr=new Vr;function Ri(e){if(!(e.length>Lu))return Hr.new(e).parseWith(()=>Hr.readIPv4Addr())}function Pi(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Tu))return Hr.new(e).parseWith(()=>Hr.readIPv6Addr())}function zr(e){return!!Ri(e)}function Ki(e){return!!Pi(e)}function Lo(e){return t=>V(t,e)}function Oo(e){return t=>z(t,e)}function Oe(e){return new DataView(e.buffer).getUint16(e.byteOffset).toString()}function de(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof e=="string"?parseInt(e):e),new Uint8Array(t)}function Ui(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=z(t[0],"base32"),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=de(n);return Tt([r,o],r.length+o.length)}function Ni(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=Zt.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 o=de(n);return Tt([r,o],r.length+o.length)}function Ro(e){let t=e.subarray(0,e.length-2),r=e.subarray(e.length-2),n=V(t,"base32"),o=Oe(r);return`${n}:${o}`}var Po=function(e){e=e.toString().trim();let t=new Uint8Array(4);return e.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new ct("Invalid byte value in IP address");t[n]=o}),t},ki=function(e){let t=0;e=e.toString().trim();let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=zr(r[n]),i;s&&(i=Po(r[n]),r[n]=V(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,V(i.subarray(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 s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let s=parseInt(r[n],16);if(isNaN(s)||s<0||s>65535)throw new ct("Invalid byte value in IP address");o[t++]=s>>8&255,o[t++]=s&255}return o},Mi=function(e){if(e.byteLength!==4)throw new ct("IPv4 address was incorrect length");let t=[];for(let r=0;r<e.byteLength;r++)t.push(e[r]);return t.join(".")},qi=function(e){if(e.byteLength!==16)throw new ct("IPv6 address was incorrect length");let t=[];for(let n=0;n<e.byteLength;n+=2){let o=e[n],s=e[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;t.push(i)}let r=t.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new ct(`Invalid IPv6 address "${r}"`)}};function Vi(e){try{let t=new URL(`http://[${e}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new ct(`Invalid IPv6 address "${e}"`)}}var To=Object.values(Me).map(e=>e.decoder),Ou=(function(){let e=To[0].or(To[1]);return To.slice(2).forEach(t=>e=e.or(t)),e})();function Hi(e){return Ou.decode(e)}function zi(e){return t=>e.encoder.encode(t)}function Ru(e){if(parseInt(e).toString()!==e)throw new zt("Value must be an integer")}function Pu(e){if(e<0)throw new zt("Value must be a positive integer, or zero")}function Ku(e){return t=>{if(t>e)throw new zt(`Value must be smaller than or equal to ${e}`)}}function Uu(...e){return t=>{for(let r of e)r(t)}}var sr=Uu(Ru,Pu,Ku(65535));var ot=-1,Ko=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(t){let r;if(typeof t=="string"?r=this.protocolsByName.get(t):r=this.protocolsByCode.get(t),r==null)throw new qr(`Protocol ${t} was unknown`);return r}addProtocol(t){this.protocolsByCode.set(t.code,t),this.protocolsByName.set(t.name,t),t.aliases?.forEach(r=>{this.protocolsByName.set(r,t)})}removeProtocol(t){let r=this.protocolsByCode.get(t);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},$t=new Ko,vf=[{code:4,name:"ip4",size:32,valueToBytes:Po,bytesToValue:Mi,validate:e=>{if(!zr(e))throw new zt(`Invalid IPv4 address "${e}"`)}},{code:6,name:"tcp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:273,name:"udp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:33,name:"dccp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:41,name:"ip6",size:128,valueToBytes:ki,bytesToValue:qi,stringToValue:Vi,validate:e=>{if(!Ki(e))throw new zt(`Invalid IPv6 address "${e}"`)}},{code:42,name:"ip6zone",size:ot},{code:43,name:"ipcidr",size:8,bytesToValue:Lo("base10"),valueToBytes:Oo("base10")},{code:53,name:"dns",size:ot},{code:54,name:"dns4",size:ot},{code:55,name:"dns6",size:ot},{code:56,name:"dnsaddr",size:ot},{code:132,name:"sctp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:ot,stringToValue:e=>decodeURIComponent(e),valueToString:e=>encodeURIComponent(e)},{code:421,name:"p2p",aliases:["ipfs"],size:ot,bytesToValue:Lo("base58btc"),valueToBytes:e=>e.startsWith("Q")||e.startsWith("1")?Oo("base58btc")(e):tt.parse(e).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Ro,valueToBytes:Ui},{code:445,name:"onion3",size:296,bytesToValue:Ro,valueToBytes:Ni},{code:446,name:"garlic64",size:ot},{code:447,name:"garlic32",size:ot},{code:448,name:"tls"},{code:449,name:"sni",size:ot},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:ot,bytesToValue:zi(un),valueToBytes:Hi},{code:480,name:"http"},{code:481,name:"http-path",size:ot,stringToValue:e=>`/${decodeURIComponent(e)}`,valueToString:e=>encodeURIComponent(e.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:ot}];vf.forEach(e=>{$t.addProtocol(e)});function $i(e){let t=[],r=0;for(;r<e.length;){let n=Qn(e,r),o=$t.getProtocol(n),s=wt(n),i=Bf(o,e,r+s),a=0;i>0&&o.size===ot&&(a=wt(i));let c=s+a+i,u={code:n,name:o.name,bytes:e.subarray(r,r+c)};if(i>0){let l=r+s+a,f=e.subarray(l,l+i);u.value=o.bytesToValue?.(f)??V(f)}t.push(u),r+=c}return t}function Fi(e){let t=0,r=[];for(let n of e){if(n.bytes==null){let o=$t.getProtocol(n.code),s=wt(n.code),i,a=0,c=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??z(n.value),a=i.byteLength,o.size===ot&&(c=wt(a)));let u=new Uint8Array(s+c+a),l=0;Ce(n.code,u,l),l+=s,i!=null&&(o.size===ot&&(Ce(a,u,l),l+=c),u.set(i,l)),n.bytes=u}r.push(n.bytes),t+=n.bytes.byteLength}return Tt(r,t)}function Zi(e){if(e.charAt(0)!=="/")throw new ct('String multiaddr must start with "/"');let t=[],r="protocol",n="",o="";for(let s=1;s<e.length;s++){let i=e.charAt(s);i!=="/"&&(r==="protocol"?o+=e.charAt(s):n+=e.charAt(s));let a=s===e.length-1;if(i==="/"||a){let c=$t.getProtocol(o);if(r==="protocol"){if(c.size==null||c.size===0){t.push({code:c.code,name:c.name}),n="",o="",r="protocol";continue}else if(a)throw new ct(`Component ${o} was missing value`);r="value"}else if(r==="value"){let u={code:c.code,name:c.name};if(c.size!=null&&c.size!==0){if(n==="")throw new ct(`Component ${o} was missing value`);u.value=c.stringToValue?.(n)??n}t.push(u),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new ct("Incomplete multiaddr");return t}function Yi(e){return`/${e.flatMap(t=>{if(t.value==null)return t.name;let r=$t.getProtocol(t.code);if(r==null)throw new ct(`Unknown protocol code ${t.code}`);return[t.name,r.valueToString?.(t.value)??t.value]}).join("/")}`}function Bf(e,t,r){return e.size==null||e.size===0?0:e.size>0?e.size/8:Qn(t,r)}var If=Symbol.for("nodejs.util.inspect.custom"),Uo=Symbol.for("@multiformats/multiaddr");function _f(e){if(e==null&&(e="/"),Gi(e))return e.getComponents();if(e instanceof Uint8Array)return $i(e);if(typeof e=="string")return e=e.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),e===""&&(e="/"),Zi(e);if(Array.isArray(e))return e;throw new ct("Must be a string, Uint8Array, Component[], or another Multiaddr")}var $r=class e{[Uo]=!0;#t;#e;#r;constructor(t="/",r={}){this.#t=_f(t),r.validate!==!1&&Cf(this)}get bytes(){return this.#r==null&&(this.#r=Fi(this.#t)),this.#r}toString(){return this.#e==null&&(this.#e=Yi(this.#t)),this.#e}toJSON(){return this.toString()}getComponents(){return[...this.#t.map(t=>({...t}))]}encapsulate(t){let r=new e(t);return new e([...this.#t,...r.getComponents()],{validate:!1})}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Mr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new e(n.slice(0,o),{validate:!1})}decapsulateCode(t){let r;for(let n=this.#t.length-1;n>-1;n--)if(this.#t[n].code===t){r=n;break}return new e(this.#t.slice(0,r),{validate:!1})}equals(t){return et(this.bytes,t.bytes)}[If](){return`Multiaddr(${this.toString()})`}};function Cf(e){e.getComponents().forEach(t=>{let r=$t.getProtocol(t.code);t.value!=null&&r.validate?.(t.value)})}function Gi(e){return!!e?.[Uo]}function ji(e){return new $r(e)}var Wi="libp2p-peer-record",Xi=Uint8Array.from([3,1]);var ir;(function(e){let t;(function(i){let a;i.codec=()=>(a==null&&(a=Vt((f,y,E={})=>{E.lengthDelimited!==!1&&y.fork(),f.multiaddr!=null&&f.multiaddr.byteLength>0&&(y.uint32(10),y.bytes(f.multiaddr)),E.lengthDelimited!==!1&&y.ldelim()},(f,y,E={})=>{let h={multiaddr:it(0)},B=y==null?f.len:f.pos+y;for(;f.pos<B;){let S=f.uint32();switch(S>>>3){case 1:{h.multiaddr=f.bytes();break}default:{f.skipType(S&7);break}}}return h},function*(f,y,E,h={}){let B=y==null?f.len:f.pos+y;for(;f.pos<B;){let S=f.uint32();switch(S>>>3){case 1:{yield{field:`${E}.multiaddr`,value:f.bytes()};break}default:{f.skipType(S&7);break}}}})),a);function c(f){return Mt(f,i.codec())}i.encode=c;function u(f,y){return kt(f,i.codec(),y)}i.decode=u;function l(f,y){return qt(f,i.codec(),y)}i.stream=l})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=Vt((i,a,c={})=>{if(c.lengthDelimited!==!1&&a.fork(),i.peerId!=null&&i.peerId.byteLength>0&&(a.uint32(10),a.bytes(i.peerId)),i.seq!=null&&i.seq!==0n&&(a.uint32(16),a.uint64(i.seq)),i.addresses!=null&&i.addresses.length>0)for(let u of i.addresses)a.uint32(26),e.AddressInfo.codec().encode(u,a);c.lengthDelimited!==!1&&a.ldelim()},(i,a,c={})=>{let u={peerId:it(0),seq:0n,addresses:[]},l=a==null?i.len:i.pos+a;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:{u.peerId=i.bytes();break}case 2:{u.seq=i.uint64();break}case 3:{if(c.limits?.addresses!=null&&u.addresses.length===c.limits.addresses)throw new tr('Decode error - repeated field "addresses" had too many elements');u.addresses.push(e.AddressInfo.codec().decode(i,i.uint32(),{limits:c.limits?.addresses$}));break}default:{i.skipType(f&7);break}}}return u},function*(i,a,c,u={}){let l={addresses:0},f=a==null?i.len:i.pos+a;for(;i.pos<f;){let y=i.uint32();switch(y>>>3){case 1:{yield{field:`${c}.peerId`,value:i.bytes()};break}case 2:{yield{field:`${c}.seq`,value:i.uint64()};break}case 3:{if(u.limits?.addresses!=null&&l.addresses===u.limits.addresses)throw new tr('Streaming decode error - repeated field "addresses" had too many elements');for(let E of e.AddressInfo.codec().stream(i,i.uint32(),`${c}.addresses[]`,{limits:u.limits?.addresses$}))yield{...E,index:l.addresses};l.addresses++;break}default:{i.skipType(y&7);break}}}})),r);function n(i){return Mt(i,e.codec())}e.encode=n;function o(i,a){return kt(i,e.codec(),a)}e.decode=o;function s(i,a){return qt(i,e.codec(),a)}e.stream=s})(ir||(ir={}));function Ji(e,t){let r=(n,o)=>n.toString().localeCompare(o.toString());return e.length!==t.length?!1:(t.sort(r),e.sort(r).every((n,o)=>t[o].equals(n)))}var Fr=class e{static createFromProtobuf=t=>{let r=ir.decode(t),n=Oi(Ue(r.peerId)),o=(r.addresses??[]).map(i=>ji(i.multiaddr)),s=r.seq;return new e({peerId:n,multiaddrs:o,seqNumber:s})};static DOMAIN=Wi;static CODEC=Xi;peerId;multiaddrs;seqNumber;domain=e.DOMAIN;codec=e.CODEC;marshaled;constructor(t){let{peerId:r,multiaddrs:n,seqNumber:o}=t;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=o??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=ir.encode({peerId:this.peerId.toMultihash().bytes,seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof e)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Ji(this.multiaddrs,t.multiaddrs))}};return na(Df);})();
2
+ "use strict";var Libp2PPeerRecord=(()=>{var Jr=Object.defineProperty;var ma=Object.getOwnPropertyDescriptor;var ba=Object.getOwnPropertyNames;var ya=Object.prototype.hasOwnProperty;var pt=(e,t)=>{for(var r in t)Jr(e,r,{get:t[r],enumerable:!0})},xa=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ba(t))!ya.call(e,o)&&o!==r&&Jr(e,o,{get:()=>t[o],enumerable:!(n=ma(t,o))||n.enumerable});return e};var ga=e=>xa(Jr({},"__esModule",{value:!0}),e);var Zu={};pt(Zu,{PeerRecord:()=>Xr,RecordEnvelope:()=>Mr});var Q=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},be=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var lr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var ye=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Qr=Symbol.for("@libp2p/peer-id");var on={};pt(on,{base58btc:()=>X,base58flickr:()=>Ia});var Xu=new Uint8Array(0);function jo(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}function Tt(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")}function Wo(e){return new TextEncoder().encode(e)}function Xo(e){return new TextDecoder().decode(e)}function wa(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 o=0;o<e.length;o++){var s=e.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(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 v=0,S=0,y=0,B=h.length;y!==B&&h[y]===0;)y++,v++;for(var x=(B-y)*l+1>>>0,I=new Uint8Array(x);y!==B;){for(var U=h[y],N=0,k=x-1;(U!==0||N<S)&&k!==-1;k--,N++)U+=256*I[k]>>>0,I[k]=U%a>>>0,U=U/a>>>0;if(U!==0)throw new Error("Non-zero carry");S=N,y++}for(var E=x-S;E!==x&&I[E]===0;)E++;for(var w=c.repeat(v);E<x;++E)w+=e.charAt(I[E]);return w}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var v=0;if(h[v]!==" "){for(var S=0,y=0;h[v]===c;)S++,v++;for(var B=(h.length-v)*u+1>>>0,x=new Uint8Array(B);h[v];){var I=r[h.charCodeAt(v)];if(I===255)return;for(var U=0,N=B-1;(I!==0||U<y)&&N!==-1;N--,U++)I+=a*x[N]>>>0,x[N]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=U,v++}if(h[v]!==" "){for(var k=B-y;k!==B&&x[k]===0;)k++;for(var E=new Uint8Array(S+(B-k)),w=S;k!==B;)E[w++]=x[k++];return E}}}function g(h){var v=p(h);if(v)return v;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:p,decode:g}}var Ea=wa,Sa=Ea,Qo=Sa;var tn=class{name;prefix;baseEncode;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")}},en=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,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 ts(this,t)}},rn=class{decoders;constructor(t){this.decoders=t}or(t){return ts(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ts(e,t){return new rn({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var nn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new tn(t,r,n),this.decoder=new en(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function xe({name:e,prefix:t,encode:r,decode:n}){return new nn(e,t,r,n)}function Zt({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Qo(r,e);return xe({prefix:t,name:e,encode:n,decode:s=>Tt(o(s))})}function Aa(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,c=0;for(let u=0;u<o;++u){let l=t[e[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|l,i+=r,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function va(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],i+=8;i>r;)i-=r,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function Ba(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function W({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Ba(n);return xe({prefix:t,name:e,encode(s){return va(s,n,r)},decode(s){return Aa(s,o,r,e)}})}var X=Zt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ia=Zt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var sn={};pt(sn,{base32:()=>Yt,base32hex:()=>Ta,base32hexpad:()=>Oa,base32hexpadupper:()=>Ua,base32hexupper:()=>La,base32pad:()=>_a,base32padupper:()=>Da,base32upper:()=>Ca,base32z:()=>Ra});var Yt=W({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ca=W({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),_a=W({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Da=W({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ta=W({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),La=W({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Oa=W({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ua=W({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ra=W({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var an={};pt(an,{base36:()=>Pe,base36upper:()=>Pa});var Pe=Zt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Pa=Zt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ka=ns,es=128,Na=127,ka=~Na,Ha=Math.pow(2,31);function ns(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Ha;)t[r++]=e&255|es,e/=128;for(;e&ka;)t[r++]=e&255|es,e>>>=7;return t[r]=e|0,ns.bytes=r-n+1,t}var Ma=cn,Va=128,rs=127;function cn(e,n){var r=0,n=n||0,o=0,s=n,i,a=e.length;do{if(s>=a)throw cn.bytes=0,new RangeError("Could not decode varint");i=e[s++],r+=o<28?(i&rs)<<o:(i&rs)*Math.pow(2,o),o+=7}while(i>=Va);return cn.bytes=s-n,r}var qa=Math.pow(2,7),Fa=Math.pow(2,14),za=Math.pow(2,21),$a=Math.pow(2,28),Ga=Math.pow(2,35),Za=Math.pow(2,42),Ya=Math.pow(2,49),ja=Math.pow(2,56),Wa=Math.pow(2,63),Xa=function(e){return e<qa?1:e<Fa?2:e<za?3:e<$a?4:e<Ga?5:e<Za?6:e<Ya?7:e<ja?8:e<Wa?9:10},Ja={encode:Ka,decode:Ma,encodingLength:Xa},Qa=Ja,Ke=Qa;function Ne(e,t=0){return[Ke.decode(e,t),Ke.decode.bytes]}function ge(e,t,r=0){return Ke.encode(e,t,r),t}function we(e){return Ke.encodingLength(e)}function It(e,t){let r=t.byteLength,n=we(e),o=n+we(r),s=new Uint8Array(o+r);return ge(e,s,0),ge(r,s,n),s.set(t,o),new Ee(e,r,t,s)}function ke(e){let t=Tt(e),[r,n]=Ne(t),[o,s]=Ne(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Ee(r,o,i,t)}function os(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&jo(e.bytes,r.bytes)}}var Ee=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function ss(e,t){let{bytes:r,version:n}=e;return n===0?ec(r,fn(e),t??X.encoder):rc(r,fn(e),t??Yt.encoder)}var is=new WeakMap;function fn(e){let t=is.get(e);if(t==null){let r=new Map;return is.set(e,r),r}return t}var tt=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}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!==He)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==nc)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=It(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!=null&&t.code===n.code&&t.version===n.version&&os(t.multihash,n.multihash)}toString(t){return ss(this,t)}toJSON(){return{"/":ss(this)}}link(){return this}[Symbol.toStringTag]="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:o,multihash:s,bytes:i}=r;return new e(n,o,s,i??as(n,o,s.bytes))}else if(r[oc]===!0){let{version:n,multihash:o,code:s}=r,i=ke(o);return e.create(n,s,i)}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!==He)throw new Error(`Version 0 CID must use dag-pb (code: ${He}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=as(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,He,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=Tt(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new Ee(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(i):e.createV1(r.codec,i),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,p]=Ne(t.subarray(r));return r+=p,f},o=n(),s=He;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),c=n(),u=r+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(t,r){let[n,o]=tc(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return fn(s).set(n,t),s}};function tc(e,t){switch(e[0]){case"Q":{let r=t??X;return[X.prefix,r.decode(`${X.prefix}${e}`)]}case X.prefix:{let r=t??X;return[X.prefix,r.decode(e)]}case Yt.prefix:{let r=t??Yt;return[Yt.prefix,r.decode(e)]}case Pe.prefix:{let r=t??Pe;return[Pe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function ec(e,t,r){let{prefix:n}=r;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o}function rc(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o}var He=112,nc=18;function as(e,t,r){let n=we(e),o=n+we(t),s=new Uint8Array(o+r.byteLength);return ge(e,s,0),ge(t,s,n),s.set(r,o),s}var oc=Symbol.for("@ipld/js-cid/CID");var un={};pt(un,{identity:()=>Et});var cs=0,sc="identity",fs=Tt;function ic(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return It(cs,fs(e))}var Et={code:cs,name:sc,encode:fs,digest:ic};function et(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}function it(e=0){return new Uint8Array(e)}function mt(e=0){return new Uint8Array(e)}function Lt(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=mt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var ls=Symbol.for("@achingbrain/uint8arraylist");function us(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function hr(e){return!!e?.[ls]}var dt=class e{bufs;length;[ls]=!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(hr(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(hr(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=us(this.bufs,t);return r.buf[r.index]}set(t,r){let n=us(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(hr(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:o}=this._subList(t,r);return Lt(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Lt(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),s=new e;return s.length=o,s.bufs=[...n],s}_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=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,l=r>a&&r<=c;if(u&&l){if(t===a&&r===c){n.push(i);break}let f=t-a;n.push(i.subarray(f,f+(r-t)));break}if(u){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(l){if(r===c){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!hr(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 o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let p=u;p>=0;p--){let g=this.get(f+p);if(n[p]!==g){l=Math.max(1,p-a[g]);break}}if(l===0)return f}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=mt(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 o=it(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,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 o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,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 o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,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=mt(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 o=it(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,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 o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,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 o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,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 o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,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 o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,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(!et(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((o,s)=>o+s.byteLength,0)),n.length=r,n}};var ln={};pt(ln,{base10:()=>ac});var ac=Zt({prefix:"9",name:"base10",alphabet:"0123456789"});var dn={};pt(dn,{base16:()=>cc,base16upper:()=>fc});var cc=W({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),fc=W({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var hn={};pt(hn,{base2:()=>uc});var uc=W({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var pn={};pt(pn,{base256emoji:()=>mc});var ds=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}"),lc=ds.reduce((e,t,r)=>(e[r]=t,e),[]),dc=ds.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function hc(e){return e.reduce((t,r)=>(t+=lc[r],t),"")}function pc(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=dc[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var mc=xe({prefix:"\u{1F680}",name:"base256emoji",encode:hc,decode:pc});var bn={};pt(bn,{base64:()=>bc,base64pad:()=>yc,base64url:()=>mn,base64urlpad:()=>xc});var bc=W({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),yc=W({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),mn=W({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),xc=W({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var yn={};pt(yn,{base8:()=>gc});var gc=W({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var xn={};pt(xn,{identity:()=>wc});var wc=xe({prefix:"\0",name:"identity",encode:e=>Xo(e),decode:e=>Wo(e)});var Rl=new TextEncoder,Pl=new TextDecoder;var En={};pt(En,{sha256:()=>Me,sha512:()=>vc});var Ac=20;function wn({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new gn(e,t,r,n,o)}var gn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,s){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??Ac,this.maxDigestLength=s}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?hs(n,this.code,r?.truncate):n.then(o=>hs(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function hs(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return It(t,e)}function ms(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Me=wn({name:"sha2-256",code:18,encode:ms("SHA-256")}),vc=wn({name:"sha2-512",code:19,encode:ms("SHA-512")});var Ve={...xn,...hn,...yn,...ln,...dn,...sn,...an,...on,...bn,...pn},Zl={...En,...un};function ys(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var bs=ys("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Sn=ys("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=mt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Bc={utf8:bs,"utf-8":bs,hex:Ve.base16,latin1:Sn,ascii:Sn,binary:Sn,...Ve},pr=Bc;function F(e,t="utf8"){let r=pr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function V(e,t="utf8"){let r=pr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var Ic=parseInt("11111",2),An=parseInt("10000000",2),Cc=parseInt("01111111",2),xs={0:qe,1:qe,2:_c,3:Lc,4:Oc,5:Tc,6:Dc,16:qe,22:qe,48:qe};function Ot(e,t={offset:0}){let r=e[t.offset]&Ic;if(t.offset++,xs[r]!=null)return xs[r](e,t);throw new Error("No decoder for tag "+r)}function Fe(e,t){let r=0;if((e[t.offset]&An)===An){let n=e[t.offset]&Cc,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function qe(e,t){Fe(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Ot(e,t);if(n===null)break;r.push(n)}return r}function _c(e,t){let r=Fe(e,t),n=t.offset,o=t.offset+r,s=[];for(let i=n;i<o;i++)i===n&&e[i]===0||s.push(e[i]);return t.offset+=r,Uint8Array.from(s)}function Dc(e,t){let r=Fe(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,c=[];for(;t.offset<n;){let u=e[t.offset];if(t.offset++,c.push(u&127),u<128){c.reverse();let l=0;for(let f=0;f<c.length;f++)l+=c[f]<<f*7;a+=`.${l}`,c=[]}}return a}function Tc(e,t){return t.offset++,null}function Lc(e,t){let r=Fe(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function Oc(e,t){let r=Fe(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function Uc(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new dt;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function vn(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=Uc(e.byteLength);return new dt(Uint8Array.from([t.byteLength|An]),t)}function bt(e){let t=new dt,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new dt(Uint8Array.from([2]),vn(t),t)}function mr(e){let t=Uint8Array.from([0]),r=new dt(t,e);return new dt(Uint8Array.from([3]),vn(r),r)}function jt(e,t=48){let r=new dt;for(let n of e)r.append(n);return new dt(Uint8Array.from([t]),vn(r),r)}async function gs(e,t,r,n){let o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,t,r.subarray());return n?.signal?.throwIfAborted(),s}var Rc=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Pc=Uint8Array.from([6,5,43,129,4,0,34]),Kc=Uint8Array.from([6,5,43,129,4,0,35]),Nc={ext:!0,kty:"EC",crv:"P-256"},kc={ext:!0,kty:"EC",crv:"P-384"},Hc={ext:!0,kty:"EC",crv:"P-521"},Bn=32,In=48,Cn=66;function _n(e){let t=Ot(e);return ws(t)}function ws(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===Bn*2+1)return n=V(t.subarray(r,r+Bn),"base64url"),o=V(t.subarray(r+Bn),"base64url"),new Se({...Nc,key_ops:["verify"],x:n,y:o});if(t.byteLength===In*2+1)return n=V(t.subarray(r,r+In),"base64url"),o=V(t.subarray(r+In),"base64url"),new Se({...kc,key_ops:["verify"],x:n,y:o});if(t.byteLength===Cn*2+1)return n=V(t.subarray(r,r+Cn),"base64url"),o=V(t.subarray(r+Cn),"base64url"),new Se({...Hc,key_ops:["verify"],x:n,y:o});throw new Q(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Es(e){return jt([bt(Uint8Array.from([1])),jt([Mc(e.crv)],160),jt([mr(new dt(Uint8Array.from([4]),F(e.x??"","base64url"),F(e.y??"","base64url")))],161)]).subarray()}function Mc(e){if(e==="P-256")return Rc;if(e==="P-384")return Pc;if(e==="P-521")return Kc;throw new Q(`Invalid curve ${e}`)}var Se=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Es(this.jwk)),this._raw}toMultihash(){return Et.digest(Wt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}async verify(t,r,n){return gs(this.jwk,r,t,n)}};function ie(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ct(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new Error(`${r}expected integer >= 0, got ${e}`)}}function K(e,t,r=""){let n=ie(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function br(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Ct(e.outputLen),Ct(e.blockLen)}function Ae(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 As(e,t){K(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}function Rt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function yr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function St(e,t){return e<<32-t|e>>>t}var vs=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Vc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Pt(e){if(K(e),vs)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Vc[e[r]];return t}var Ut={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ss(e){if(e>=Ut._0&&e<=Ut._9)return e-Ut._0;if(e>=Ut.A&&e<=Ut.F)return e-(Ut.A-10);if(e>=Ut.a&&e<=Ut.f)return e-(Ut.a-10)}function Kt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(vs)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=Ss(e.charCodeAt(s)),a=Ss(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function yt(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];K(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}function Dn(e,t={}){let r=(o,s)=>e(s).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function ve(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var Tn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Bs(e,t,r){return e&t^~e&r}function Is(e,t,r){return e&t^e&r^t&r}var ze=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=yr(this.buffer)}update(t){Ae(this),K(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=yr(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ae(this),As(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Rt(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let f=i;f<o;f++)r[f]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=yr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Nt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var at=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var xr=BigInt(4294967295),Cs=BigInt(32);function qc(e,t=!1){return t?{h:Number(e&xr),l:Number(e>>Cs&xr)}:{h:Number(e>>Cs&xr)|0,l:Number(e&xr)|0}}function _s(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=qc(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var Ln=(e,t,r)=>e>>>r,On=(e,t,r)=>e<<32-r|t>>>r,ae=(e,t,r)=>e>>>r|t<<32-r,ce=(e,t,r)=>e<<32-r|t>>>r,$e=(e,t,r)=>e<<64-r|t>>>r-32,Ge=(e,t,r)=>e>>>r-32|t<<64-r;function _t(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Ds=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Ts=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Ls=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Os=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Us=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Rs=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var zc=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Xt=new Uint32Array(64),Un=class extends ze{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)Xt[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let p=Xt[f-15],g=Xt[f-2],h=St(p,7)^St(p,18)^p>>>3,v=St(g,17)^St(g,19)^g>>>10;Xt[f]=v+Xt[f-7]+h+Xt[f-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let p=St(a,6)^St(a,11)^St(a,25),g=l+p+Bs(a,c,u)+zc[f]+Xt[f]|0,v=(St(n,2)^St(n,13)^St(n,22))+Is(n,o,s)|0;l=u,u=c,c=a,a=i+g|0,i=s,s=o,o=n,n=g+v|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,o,s,i,a,c,u,l)}roundClean(){Rt(Xt)}destroy(){this.set(0,0,0,0,0,0,0,0),Rt(this.buffer)}},Rn=class extends Un{A=Nt[0]|0;B=Nt[1]|0;C=Nt[2]|0;D=Nt[3]|0;E=Nt[4]|0;F=Nt[5]|0;G=Nt[6]|0;H=Nt[7]|0;constructor(){super(32)}};var Ps=_s(["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))),$c=Ps[0],Gc=Ps[1],Jt=new Uint32Array(80),Qt=new Uint32Array(80),Pn=class extends ze{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:p,Gh:g,Gl:h,Hh:v,Hl:S}=this;return[t,r,n,o,s,i,a,c,u,l,f,p,g,h,v,S]}set(t,r,n,o,s,i,a,c,u,l,f,p,g,h,v,S){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=p|0,this.Gh=g|0,this.Gl=h|0,this.Hh=v|0,this.Hl=S|0}process(t,r){for(let x=0;x<16;x++,r+=4)Jt[x]=t.getUint32(r),Qt[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let I=Jt[x-15]|0,U=Qt[x-15]|0,N=ae(I,U,1)^ae(I,U,8)^Ln(I,U,7),k=ce(I,U,1)^ce(I,U,8)^On(I,U,7),E=Jt[x-2]|0,w=Qt[x-2]|0,R=ae(E,w,19)^$e(E,w,61)^Ln(E,w,6),H=ce(E,w,19)^Ge(E,w,61)^On(E,w,6),T=Ls(k,H,Qt[x-7],Qt[x-16]),m=Os(T,N,R,Jt[x-7],Jt[x-16]);Jt[x]=m|0,Qt[x]=T|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:p,Fh:g,Fl:h,Gh:v,Gl:S,Hh:y,Hl:B}=this;for(let x=0;x<80;x++){let I=ae(f,p,14)^ae(f,p,18)^$e(f,p,41),U=ce(f,p,14)^ce(f,p,18)^Ge(f,p,41),N=f&g^~f&v,k=p&h^~p&S,E=Us(B,U,k,Gc[x],Qt[x]),w=Rs(E,y,I,N,$c[x],Jt[x]),R=E|0,H=ae(n,o,28)^$e(n,o,34)^$e(n,o,39),T=ce(n,o,28)^Ge(n,o,34)^Ge(n,o,39),m=n&s^n&a^s&a,b=o&i^o&c^i&c;y=v|0,B=S|0,v=g|0,S=h|0,g=f|0,h=p|0,{h:f,l:p}=_t(u|0,l|0,w|0,R|0),u=a|0,l=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let d=Ds(R,T,b);n=Ts(d,w,H,m),o=d|0}({h:n,l:o}=_t(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=_t(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=_t(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=_t(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:p}=_t(this.Eh|0,this.El|0,f|0,p|0),{h:g,l:h}=_t(this.Fh|0,this.Fl|0,g|0,h|0),{h:v,l:S}=_t(this.Gh|0,this.Gl|0,v|0,S|0),{h:y,l:B}=_t(this.Hh|0,this.Hl|0,y|0,B|0),this.set(n,o,s,i,a,c,u,l,f,p,g,h,v,S,y,B)}roundClean(){Rt(Jt,Qt)}destroy(){Rt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Kn=class extends Pn{Ah=at[0]|0;Al=at[1]|0;Bh=at[2]|0;Bl=at[3]|0;Ch=at[4]|0;Cl=at[5]|0;Dh=at[6]|0;Dl=at[7]|0;Eh=at[8]|0;El=at[9]|0;Fh=at[10]|0;Fl=at[11]|0;Gh=at[12]|0;Gl=at[13]|0;Hh=at[14]|0;Hl=at[15]|0;constructor(){super(64)}};var Ks=Dn(()=>new Rn,Tn(1));var Ns=Dn(()=>new Kn,Tn(3));var kn=BigInt(0),Nn=BigInt(1);function kt(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function ks(e){if(typeof e=="bigint"){if(!gr(e))throw new Error("positive bigint expected, got "+e)}else Ct(e);return e}function Ze(e){let t=ks(e).toString(16);return t.length&1?"0"+t:t}function Hs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?kn:BigInt("0x"+e)}function Be(e){return Hs(Pt(e))}function fe(e){return Hs(Pt(Er(K(e)).reverse()))}function wr(e,t){Ct(t),e=ks(e);let r=Kt(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw new Error("number too large");return r}function Hn(e,t){return wr(e,t).reverse()}function Er(e){return Uint8Array.from(e)}var gr=e=>typeof e=="bigint"&&kn<=e;function Zc(e,t,r){return gr(e)&&gr(t)&&gr(r)&&t<=e&&e<r}function Ye(e,t,r,n){if(!Zc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Mn(e){let t;for(t=0;e>kn;e>>=Nn,t+=1);return t}var je=e=>(Nn<<BigInt(e))-Nn;function Ms(e,t,r){if(Ct(e,"hashLen"),Ct(t,"qByteLen"),typeof r!="function")throw new Error("hmacFn must be a function");let n=S=>new Uint8Array(S),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,c=n(e),u=n(e),l=0,f=()=>{c.fill(1),u.fill(0),l=0},p=(...S)=>r(u,yt(c,...S)),g=(S=o)=>{u=p(s,S),c=p(),S.length!==0&&(u=p(i,S),c=p())},h=()=>{if(l++>=a)throw new Error("drbg: tried max amount of iterations");let S=0,y=[];for(;S<t;){c=p();let B=c.slice();y.push(B),S+=c.length}return yt(...y)};return(S,y)=>{f(),g(S);let B;for(;!(B=y(h()));)g();return f(),B}}function te(e,t={},r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(s,i,a){let c=e[s];if(a&&c===void 0)return;let u=typeof c;if(u!==i||c===null)throw new Error(`param "${s}" is invalid: expected ${i}, got ${u}`)}let o=(s,i)=>Object.entries(s).forEach(([a,c])=>n(a,c,i));o(t,!1),o(r,!0)}function Ie(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var ht=BigInt(0),rt=BigInt(1),ue=BigInt(2),Fs=BigInt(3),zs=BigInt(4),$s=BigInt(5),Yc=BigInt(7),Gs=BigInt(8),jc=BigInt(9),Zs=BigInt(16);function J(e,t){let r=e%t;return r>=ht?r:t+r}function $(e,t,r){let n=e;for(;t-- >ht;)n*=n,n%=r;return n}function Vs(e,t){if(e===ht)throw new Error("invert: expected non-zero number");if(t<=ht)throw new Error("invert: expected positive modulus, got "+t);let r=J(e,t),n=t,o=ht,s=rt,i=rt,a=ht;for(;r!==ht;){let u=n/r,l=n%r,f=o-i*u,p=s-a*u;n=r,r=l,o=i,s=a,i=f,a=p}if(n!==rt)throw new Error("invert: does not exist");return J(o,t)}function qn(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Ys(e,t){let r=(e.ORDER+rt)/zs,n=e.pow(t,r);return qn(e,n,t),n}function Wc(e,t){let r=(e.ORDER-$s)/Gs,n=e.mul(t,ue),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,ue),o),a=e.mul(s,e.sub(i,e.ONE));return qn(e,a,t),a}function Xc(e){let t=Ce(e),r=js(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Yc)/Zs;return(a,c)=>{let u=a.pow(c,i),l=a.mul(u,n),f=a.mul(u,o),p=a.mul(u,s),g=a.eql(a.sqr(l),c),h=a.eql(a.sqr(f),c);u=a.cmov(u,l,g),l=a.cmov(p,f,h);let v=a.eql(a.sqr(l),c),S=a.cmov(u,l,v);return qn(a,S,c),S}}function js(e){if(e<Fs)throw new Error("sqrt is not defined for small field");let t=e-rt,r=0;for(;t%ue===ht;)t/=ue,r++;let n=ue,o=Ce(e);for(;qs(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Ys;let s=o.pow(n,t),i=(t+rt)/ue;return function(c,u){if(c.is0(u))return u;if(qs(c,u)!==1)throw new Error("Cannot find square root");let l=r,f=c.mul(c.ONE,s),p=c.pow(u,t),g=c.pow(u,i);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let h=1,v=c.sqr(p);for(;!c.eql(v,c.ONE);)if(h++,v=c.sqr(v),h===l)throw new Error("Cannot find square root");let S=rt<<BigInt(l-h-1),y=c.pow(f,S);l=h,f=c.sqr(y),p=c.mul(p,f),g=c.mul(g,y)}return g}}function Jc(e){return e%zs===Fs?Ys:e%Gs===$s?Wc:e%Zs===jc?Xc(e):js(e)}var Ws=(e,t)=>(J(e,t)&rt)===rt,Qc=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Fn(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=Qc.reduce((n,o)=>(n[o]="function",n),t);return te(e,r),e}function tf(e,t,r){if(r<ht)throw new Error("invalid exponent, negatives unsupported");if(r===ht)return e.ONE;if(r===rt)return t;let n=e.ONE,o=t;for(;r>ht;)r&rt&&(n=e.mul(n,o)),o=e.sqr(o),r>>=rt;return n}function We(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function qs(e,t){let r=(e.ORDER-rt)/ue,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function ef(e,t){t!==void 0&&Ct(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}var Vn=class{ORDER;BITS;BYTES;isLE;ZERO=ht;ONE=rt;_lengths;_sqrt;_mod;constructor(t,r={}){if(t<=ht)throw new Error("invalid field: expected ORDER > 0, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&(this.sqrt=r.sqrt),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=r.allowedLengths?.slice()),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:s}=ef(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return J(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return ht<=t&&t<this.ORDER}is0(t){return t===ht}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&rt)===rt}neg(t){return J(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return J(t*t,this.ORDER)}add(t,r){return J(t+r,this.ORDER)}sub(t,r){return J(t-r,this.ORDER)}mul(t,r){return J(t*r,this.ORDER)}pow(t,r){return tf(this,t,r)}div(t,r){return J(t*Vs(r,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,r){return t+r}subN(t,r){return t-r}mulN(t,r){return t*r}inv(t){return Vs(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=Jc(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?Hn(t,this.BYTES):wr(t,this.BYTES)}fromBytes(t,r=!1){K(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let u=new Uint8Array(o);u.set(t,s?0:u.length-t.length),t=u}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let c=s?fe(t):Be(t);if(a&&(c=J(c,i)),!r&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return We(this,t)}cmov(t,r,n){return n?r:t}};function Ce(e,t={}){return new Vn(e,t)}function Xs(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 zn(e){let t=Xs(e);return t+Math.ceil(t/2)}function $n(e,t,r=!1){K(e);let n=e.length,o=Xs(t),s=zn(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?fe(e):Be(e),a=J(i,t-rt)+rt;return r?Hn(a,o):wr(a,o)}var _e=BigInt(0),le=BigInt(1);function Xe(e,t){let r=t.negate();return e?r:t}function de(e,t){let r=We(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function ei(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Gn(e,t){ei(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=je(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Js(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=le);let u=t*n,l=u+Math.abs(a)-1,f=a===0,p=a<0,g=t%2!==0;return{nextN:c,offset:l,isZero:f,isNeg:p,isNegF:g,offsetF:u}}var Zn=new WeakMap,ri=new WeakMap;function Yn(e){return ri.get(e)||1}function Qs(e){if(e!==_e)throw new Error("invalid wNAF")}var De=class{BASE;ZERO;Fn;bits;constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>_e;)r&le&&(n=n.add(o)),o=o.double(),r>>=le;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Gn(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Gn(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:f,isNegF:p,offsetF:g}=Js(n,a,i);n=c,l?s=s.add(Xe(p,r[g])):o=o.add(Xe(f,r[u]))}return Qs(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=Gn(t,this.bits);for(let i=0;i<s.windows&&n!==_e;i++){let{nextN:a,offset:c,isZero:u,isNeg:l}=Js(n,i,s);if(n=a,!u){let f=r[c];o=o.add(l?f.negate():f)}}return Qs(n),o}getPrecomputes(t,r,n){let o=Zn.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Zn.set(r,o))),o}cached(t,r,n){let o=Yn(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=Yn(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){ei(r,this.bits),ri.set(t,r),Zn.delete(t)}hasCache(t){return Yn(t)!==1}};function ni(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>_e||n>_e;)r&le&&(s=s.add(o)),n&le&&(i=i.add(o)),o=o.double(),r>>=le,n>>=le;return{p1:s,p2:i}}function ti(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Fn(t),t}else return Ce(e,{isLE:r})}function Sr(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>_e))throw new Error(`CURVE.${c} must be positive bigint`)}let o=ti(t.p,r.Fp,n),s=ti(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}function Ar(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var ee=BigInt(0),nt=BigInt(1),jn=BigInt(2),rf=BigInt(8);function nf(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function oi(e,t={}){let r=Sr("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;te(t,{},{uvRatio:"function"});let a=jn<<BigInt(o.BYTES*8)-nt,c=S=>n.create(S),u=t.uvRatio||((S,y)=>{try{return{isValid:!0,value:n.sqrt(n.div(S,y))}}catch{return{isValid:!1,value:ee}}});if(!nf(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function l(S,y,B=!1){let x=B?nt:ee;return Ye("coordinate "+S,y,x,a),y}function f(S){if(!(S instanceof h))throw new Error("EdwardsPoint expected")}let p=Ie((S,y)=>{let{X:B,Y:x,Z:I}=S,U=S.is0();y==null&&(y=U?rf:n.inv(I));let N=c(B*y),k=c(x*y),E=n.mul(I,y);if(U)return{x:ee,y:nt};if(E!==nt)throw new Error("invZ was invalid");return{x:N,y:k}}),g=Ie(S=>{let{a:y,d:B}=s;if(S.is0())throw new Error("bad point: ZERO");let{X:x,Y:I,Z:U,T:N}=S,k=c(x*x),E=c(I*I),w=c(U*U),R=c(w*w),H=c(k*y),T=c(w*c(H+E)),m=c(R+c(B*c(k*E)));if(T!==m)throw new Error("bad point: equation left != right (1)");let b=c(x*I),d=c(U*N);if(b!==d)throw new Error("bad point: equation left != right (2)");return!0});class h{static BASE=new h(s.Gx,s.Gy,nt,c(s.Gx*s.Gy));static ZERO=new h(ee,nt,nt,ee);static Fp=n;static Fn=o;X;Y;Z;T;constructor(y,B,x,I){this.X=l("x",y),this.Y=l("y",B),this.Z=l("z",x,!0),this.T=l("t",I),Object.freeze(this)}static CURVE(){return s}static fromAffine(y){if(y instanceof h)throw new Error("extended point not allowed");let{x:B,y:x}=y||{};return l("x",B),l("y",x),new h(B,x,nt,c(B*x))}static fromBytes(y,B=!1){let x=n.BYTES,{a:I,d:U}=s;y=Er(K(y,x,"point")),kt(B,"zip215");let N=Er(y),k=y[x-1];N[x-1]=k&-129;let E=fe(N),w=B?a:n.ORDER;Ye("point.y",E,ee,w);let R=c(E*E),H=c(R-nt),T=c(U*R-I),{isValid:m,value:b}=u(H,T);if(!m)throw new Error("bad point: invalid y coordinate");let d=(b&nt)===nt,A=(k&128)!==0;if(!B&&b===ee&&A)throw new Error("bad point: x=0 and x_0=1");return A!==d&&(b=c(-b)),h.fromAffine({x:b,y:E})}static fromHex(y,B=!1){return h.fromBytes(Kt(y),B)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,B=!0){return v.createCache(this,y),B||this.multiply(jn),this}assertValidity(){g(this)}equals(y){f(y);let{X:B,Y:x,Z:I}=this,{X:U,Y:N,Z:k}=y,E=c(B*k),w=c(U*I),R=c(x*k),H=c(N*I);return E===w&&R===H}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:y}=s,{X:B,Y:x,Z:I}=this,U=c(B*B),N=c(x*x),k=c(jn*c(I*I)),E=c(y*U),w=B+x,R=c(c(w*w)-U-N),H=E+N,T=H-k,m=E-N,b=c(R*T),d=c(H*m),A=c(R*m),C=c(T*H);return new h(b,d,C,A)}add(y){f(y);let{a:B,d:x}=s,{X:I,Y:U,Z:N,T:k}=this,{X:E,Y:w,Z:R,T:H}=y,T=c(I*E),m=c(U*w),b=c(k*x*H),d=c(N*R),A=c((I+U)*(E+w)-T-m),C=d-b,D=d+b,L=c(m-B*T),_=c(A*C),O=c(D*L),P=c(A*L),Z=c(C*D);return new h(_,O,Z,P)}subtract(y){return this.add(y.negate())}multiply(y){if(!o.isValidNot0(y))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:B,f:x}=v.cached(this,y,I=>de(h,I));return de(h,[B,x])[0]}multiplyUnsafe(y,B=h.ZERO){if(!o.isValid(y))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return y===ee?h.ZERO:this.is0()||y===nt?this:v.unsafe(this,y,x=>de(h,x),B)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return v.unsafe(this,s.n).is0()}toAffine(y){return p(this,y)}clearCofactor(){return i===nt?this:this.multiplyUnsafe(i)}toBytes(){let{x:y,y:B}=this.toAffine(),x=n.toBytes(B);return x[x.length-1]|=y&nt?128:0,x}toHex(){return Pt(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let v=new De(h,o.BITS);return h.BASE.precompute(8),h}function si(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');te(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||ve,c=r.adjustScalarBytes||(E=>E),u=r.domain||((E,w,R)=>{if(kt(R,"phflag"),w.length||R)throw new Error("Contexts/pre-hash are not supported");return E});function l(E){return i.create(fe(E))}function f(E){let w=x.secretKey;K(E,x.secretKey,"secretKey");let R=K(t(E),2*w,"hashedSecretKey"),H=c(R.slice(0,w)),T=R.slice(w,2*w),m=l(H);return{head:H,prefix:T,scalar:m}}function p(E){let{head:w,prefix:R,scalar:H}=f(E),T=o.multiply(H),m=T.toBytes();return{head:w,prefix:R,scalar:H,point:T,pointBytes:m}}function g(E){return p(E).pointBytes}function h(E=Uint8Array.of(),...w){let R=yt(...w);return l(t(u(R,K(E,void 0,"context"),!!n)))}function v(E,w,R={}){E=K(E,void 0,"message"),n&&(E=n(E));let{prefix:H,scalar:T,pointBytes:m}=p(w),b=h(R.context,H,E),d=o.multiply(b).toBytes(),A=h(R.context,d,m,E),C=i.create(b+A*T);if(!i.isValid(C))throw new Error("sign failed: invalid s");let D=yt(d,i.toBytes(C));return K(D,x.signature,"result")}let S={zip215:!0};function y(E,w,R,H=S){let{context:T,zip215:m}=H,b=x.signature;E=K(E,b,"signature"),w=K(w,void 0,"message"),R=K(R,x.publicKey,"publicKey"),m!==void 0&&kt(m,"zip215"),n&&(w=n(w));let d=b/2,A=E.subarray(0,d),C=fe(E.subarray(d,b)),D,L,_;try{D=e.fromBytes(R,m),L=e.fromBytes(A,m),_=o.multiplyUnsafe(C)}catch{return!1}if(!m&&D.isSmallOrder())return!1;let O=h(T,L.toBytes(),D.toBytes(),w);return L.add(D.multiplyUnsafe(O)).subtract(_).clearCofactor().is0()}let B=s.BYTES,x={secretKey:B,publicKey:B,signature:2*B,seed:B};function I(E=a(x.seed)){return K(E,x.seed,"seed")}function U(E){return ie(E)&&E.length===i.BYTES}function N(E,w){try{return!!e.fromBytes(E,w)}catch{return!1}}let k={getExtendedPublicKey:p,randomSecretKey:I,isValidSecretKey:U,isValidPublicKey:N,toMontgomery(E){let{y:w}=e.fromBytes(E),R=x.publicKey,H=R===32;if(!H&&R!==57)throw new Error("only defined for 25519 and 448");let T=H?s.div(nt+w,nt-w):s.div(w-nt,w+nt);return s.toBytes(T)},toMontgomerySecret(E){let w=x.secretKey;K(E,w);let R=t(E.subarray(0,w));return c(R).subarray(0,w)}};return Object.freeze({keygen:Ar(I,g),getPublicKey:g,sign:v,verify:y,utils:k,Point:e,lengths:x})}var of=BigInt(1),ii=BigInt(2);var sf=BigInt(5),af=BigInt(8),Wn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),cf={p:Wn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:af,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function ff(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Wn,a=e*e%s*e%s,c=$(a,ii,s)*a%s,u=$(c,of,s)*e%s,l=$(u,sf,s)*u%s,f=$(l,t,s)*l%s,p=$(f,r,s)*f%s,g=$(p,n,s)*p%s,h=$(g,o,s)*g%s,v=$(h,o,s)*g%s,S=$(v,t,s)*l%s;return{pow_p_5_8:$(S,ii,s)*e%s,b2:a}}function uf(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ai=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function lf(e,t){let r=Wn,n=J(t*t*t,r),o=J(n*n*t,r),s=ff(e*o).pow_p_5_8,i=J(e*n*s,r),a=J(t*i*i,r),c=i,u=J(i*ai,r),l=a===e,f=a===J(-e,r),p=a===J(-e*ai,r);return l&&(i=c),(f||p)&&(i=u),Ws(i,r)&&(i=J(-i,r)),{isValid:l||f,value:i}}var df=oi(cf,{uvRatio:lf});function hf(e){return si(df,Ns,Object.assign({adjustScalarBytes:uf},e))}var ci=hf({});var Je=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},vr=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var fi={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new vr("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");return t}};var gt=fi;var Br=32;var Xn,pf=(async()=>{try{return await gt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function mf(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await gt.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await gt.get().subtle.verify({name:"Ed25519"},n,t,r instanceof Uint8Array?r:r.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function bf(e,t,r){return ci.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function ui(e,t,r){return Xn==null&&(Xn=await pf),Xn?mf(e,t,r):bf(e,t,r)}function Ir(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Cr=class{type="Ed25519";raw;constructor(t){this.raw=Jn(t,Br)}toMultihash(){return Et.digest(Wt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=ui(this.raw,r,t);return Ir(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function Qn(e){return e=Jn(e,Br),new Cr(e)}function Jn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new Q(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var xf=Math.pow(2,7),gf=Math.pow(2,14),wf=Math.pow(2,21),to=Math.pow(2,28),eo=Math.pow(2,35),ro=Math.pow(2,42),no=Math.pow(2,49),q=128,ut=127;function wt(e){if(e<xf)return 1;if(e<gf)return 2;if(e<wf)return 3;if(e<to)return 4;if(e<eo)return 5;if(e<ro)return 6;if(e<no)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Te(e,t,r=0){switch(wt(e)){case 8:t[r++]=e&255|q,e/=128;case 7:t[r++]=e&255|q,e/=128;case 6:t[r++]=e&255|q,e/=128;case 5:t[r++]=e&255|q,e/=128;case 4:t[r++]=e&255|q,e>>>=7;case 3:t[r++]=e&255|q,e>>>=7;case 2:t[r++]=e&255|q,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Ef(e,t,r=0){switch(wt(e)){case 8:t.set(r++,e&255|q),e/=128;case 7:t.set(r++,e&255|q),e/=128;case 6:t.set(r++,e&255|q),e/=128;case 5:t.set(r++,e&255|q),e/=128;case 4:t.set(r++,e&255|q),e>>>=7;case 3:t.set(r++,e&255|q),e>>>=7;case 2:t.set(r++,e&255|q),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function oo(e,t){let r=e[t],n=0;if(n+=r&ut,r<q||(r=e[t+1],n+=(r&ut)<<7,r<q)||(r=e[t+2],n+=(r&ut)<<14,r<q)||(r=e[t+3],n+=(r&ut)<<21,r<q)||(r=e[t+4],n+=(r&ut)*to,r<q)||(r=e[t+5],n+=(r&ut)*eo,r<q)||(r=e[t+6],n+=(r&ut)*ro,r<q)||(r=e[t+7],n+=(r&ut)*no,r<q))return n;throw new RangeError("Could not decode varint")}function Sf(e,t){let r=e.get(t),n=0;if(n+=r&ut,r<q||(r=e.get(t+1),n+=(r&ut)<<7,r<q)||(r=e.get(t+2),n+=(r&ut)<<14,r<q)||(r=e.get(t+3),n+=(r&ut)<<21,r<q)||(r=e.get(t+4),n+=(r&ut)*to,r<q)||(r=e.get(t+5),n+=(r&ut)*eo,r<q)||(r=e.get(t+6),n+=(r&ut)*ro,r<q)||(r=e.get(t+7),n+=(r&ut)*no,r<q))return n;throw new RangeError("Could not decode varint")}function _r(e,t,r=0){return t==null&&(t=mt(wt(e))),t instanceof Uint8Array?Te(e,t,r):Ef(e,t,r)}function so(e,t=0){return e instanceof Uint8Array?oo(e,t):Sf(e,t)}var io=new Float32Array([-0]),re=new Uint8Array(io.buffer);function hi(e,t,r){io[0]=e,t[r]=re[0],t[r+1]=re[1],t[r+2]=re[2],t[r+3]=re[3]}function pi(e,t){return re[0]=e[t],re[1]=e[t+1],re[2]=e[t+2],re[3]=e[t+3],io[0]}var ao=new Float64Array([-0]),lt=new Uint8Array(ao.buffer);function mi(e,t,r){ao[0]=e,t[r]=lt[0],t[r+1]=lt[1],t[r+2]=lt[2],t[r+3]=lt[3],t[r+4]=lt[4],t[r+5]=lt[5],t[r+6]=lt[6],t[r+7]=lt[7]}function bi(e,t){return lt[0]=e[t],lt[1]=e[t+1],lt[2]=e[t+2],lt[3]=e[t+3],lt[4]=e[t+4],lt[5]=e[t+5],lt[6]=e[t+6],lt[7]=e[t+7],ao[0]}var Af=BigInt(Number.MAX_SAFE_INTEGER),vf=BigInt(Number.MIN_SAFE_INTEGER),xt=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 he;if(t<Af&&t>vf)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>yi&&(o=0n,++n>yi&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return he;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}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):he}},he=new xt(0,0);he.toBigInt=function(){return 0n};he.zzEncode=he.zzDecode=function(){return this};he.length=function(){return 1};var yi=4294967296n;function xi(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 gi(e,t,r){if(r-t<1)return"";let o,s=[],i=0,a;for(;t<r;)a=e[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(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,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function co(e,t,r){let n=r,o,s;for(let i=0;i<e.length;++i)o=e.charCodeAt(i),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function At(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Dr(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var fo=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,At(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 At(this,4);return Dr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw At(this,4);return Dr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw At(this,4);let t=pi(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw At(this,4);let t=bi(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 At(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return gi(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw At(this,t);this.pos+=t}else do if(this.pos>=this.len)throw At(this);while((this.buf[this.pos++]&128)!==0);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 xt(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 At(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 At(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 At(this,8);let t=Dr(this.buf,this.pos+=4),r=Dr(this.buf,this.pos+=4);return new xt(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=oo(this.buf,this.pos);return this.pos+=wt(t),t}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 Qe(e){return new fo(e instanceof Uint8Array?e:e.subarray())}function Ht(e,t,r){let n=Qe(e);return t.decode(n,void 0,r)}function uo(e){let t=e??8192,r=t>>>1,n,o=t;return function(i){if(i<1||i>r)return mt(i);o+i>t&&(n=mt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var pe=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function lo(){}var po=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Bf=uo();function If(e){return globalThis.Buffer!=null?mt(e):Bf(e)}var er=class{len;head;tail;states;constructor(){this.len=0,this.head=new pe(lo,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new pe(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new mo((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(Tr,10,xt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=xt.fromBigInt(t);return this._push(Tr,r.length(),r)}uint64Number(t){return this._push(Te,wt(t),t)}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=xt.fromBigInt(t).zzEncode();return this._push(Tr,r.length(),r)}sint64Number(t){let r=xt.fromNumber(t).zzEncode();return this._push(Tr,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(ho,1,t?1:0)}fixed32(t){return this._push(tr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=xt.fromBigInt(t);return this._push(tr,4,r.lo)._push(tr,4,r.hi)}fixed64Number(t){let r=xt.fromNumber(t);return this._push(tr,4,r.lo)._push(tr,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(hi,4,t)}double(t){return this._push(mi,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(ho,1,0):this.uint32(r)._push(_f,r,t)}string(t){let r=xi(t);return r!==0?this.uint32(r)._push(co,r,t):this._push(ho,1,0)}fork(){return this.states=new po(this),this.head=this.tail=new pe(lo,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 pe(lo,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=If(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function ho(e,t,r){t[r]=e&255}function Cf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var mo=class extends pe{next;constructor(t,r){super(Cf,t,r),this.next=void 0}};function Tr(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 tr(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 _f(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(er.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Df,t,e),this},er.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Tf,t,e),this});function Df(e,t,r){t.set(e,r)}function Tf(e,t,r){e.length<40?co(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(F(e),r)}function bo(){return new er}function Mt(e,t){let r=bo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}function*Vt(e,t,r){let n=Qe(e);yield*t.stream(n,void 0,"$",r)}var Lr={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function Or(e,t,r,n,o){return{name:e,type:t,encode:r,decode:n,stream:o}}function yo(e){function t(s){if(e[s.toString()]==null)throw new Error("Invalid enum value");return e[s]}let r=function(i,a){let c=t(i);a.int32(c)},n=function(i){let a=i.int32();return t(a)},o=function*(i){let a=i.int32();yield t(a)};return Or("enum",Lr.VARINT,r,n,o)}function qt(e,t,r){return Or("message",Lr.LENGTH_DELIMITED,e,t,r)}var rr=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var G;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(G||(G={}));var xo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(xo||(xo={}));(function(e){e.codec=()=>yo(xo)})(G||(G={}));var Dt;(function(e){let t;e.codec=()=>(t==null&&(t=qt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),G.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.Type=G.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:G.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return Ht(s,e.codec(),i)}e.decode=n;function o(s,i){return Vt(s,e.codec(),i)}e.stream=o})(Dt||(Dt={}));var go;(function(e){let t;e.codec=()=>(t==null&&(t=qt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),G.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.Type=G.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:G.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return Ht(s,e.codec(),i)}e.decode=n;function o(s,i){return Vt(s,e.codec(),i)}e.stream=o})(go||(go={}));function Lf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function wo(e,t,r=""){let n=Lf(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`,u=i+"expected Uint8Array"+a+", got "+c;throw n?new RangeError(u):new TypeError(u)}return e}function Eo(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 Si(e,t){wo(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new RangeError('"digestInto() output" expected to be of length >='+r)}function nr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ur(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function vt(e,t){return e<<32-t|e>>>t}function Ai(e,t={}){let r=(o,s)=>e(s).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}var vi=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});var sr={};pt(sr,{MAX_RSA_KEY_SIZE:()=>vo,generateRSAKeyPair:()=>Ti,jwkToJWKKeyPair:()=>Li,jwkToPkcs1:()=>Kf,jwkToPkix:()=>_o,jwkToRSAPrivateKey:()=>Oo,pkcs1MessageToJwk:()=>Io,pkcs1MessageToRSAPrivateKey:()=>Do,pkcs1ToJwk:()=>Pf,pkcs1ToRSAPrivateKey:()=>Di,pkixMessageToJwk:()=>Co,pkixMessageToRSAPublicKey:()=>Lo,pkixToJwk:()=>Nf,pkixToRSAPublicKey:()=>To});function Bi(e,t,r){return e&t^~e&r}function Ii(e,t,r){return e&t^e&r^t&r}var Rr=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Ur(this.buffer)}update(t){Eo(this),wo(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Ur(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Eo(this),Si(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,nr(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let f=i;f<o;f++)r[f]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=Ur(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Ft=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Of=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ne=new Uint32Array(64),So=class extends Rr{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)ne[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let p=ne[f-15],g=ne[f-2],h=vt(p,7)^vt(p,18)^p>>>3,v=vt(g,17)^vt(g,19)^g>>>10;ne[f]=v+ne[f-7]+h+ne[f-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let p=vt(a,6)^vt(a,11)^vt(a,25),g=l+p+Bi(a,c,u)+Of[f]+ne[f]|0,v=(vt(n,2)^vt(n,13)^vt(n,22))+Ii(n,o,s)|0;l=u,u=c,c=a,a=i+g|0,i=s,s=o,o=n,n=g+v|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,o,s,i,a,c,u,l)}roundClean(){nr(ne)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),nr(this.buffer)}},Ao=class extends So{A=Ft[0]|0;B=Ft[1]|0;C=Ft[2]|0;D=Ft[3]|0;E=Ft[4]|0;F=Ft[5]|0;G=Ft[6]|0;H=Ft[7]|0;constructor(){super(32)}};var Pr=Ai(()=>new Ao,vi(1));var Le=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=sr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return tt.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){return _i(this.jwk,r,t,n)}},or=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=sr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}sign(t,r){return Ci(this.jwk,t,r)}};var vo=8192,Bo=18,Uf=1062,Rf=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Pf(e){let t=Ot(e);return Io(t)}function Io(e){return{n:V(e[1],"base64url"),e:V(e[2],"base64url"),d:V(e[3],"base64url"),p:V(e[4],"base64url"),q:V(e[5],"base64url"),dp:V(e[6],"base64url"),dq:V(e[7],"base64url"),qi:V(e[8],"base64url"),kty:"RSA"}}function Kf(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 Q("JWK was missing components");return jt([bt(Uint8Array.from([0])),bt(F(e.n,"base64url")),bt(F(e.e,"base64url")),bt(F(e.d,"base64url")),bt(F(e.p,"base64url")),bt(F(e.q,"base64url")),bt(F(e.dp,"base64url")),bt(F(e.dq,"base64url")),bt(F(e.qi,"base64url"))]).subarray()}function Nf(e){let t=Ot(e,{offset:0});return Co(t)}function Co(e){let t=Ot(e[1],{offset:0});return{kty:"RSA",n:V(t[0],"base64url"),e:V(t[1],"base64url")}}function _o(e){if(e.n==null||e.e==null)throw new Q("JWK was missing components");return jt([Rf,mr(jt([bt(F(e.n,"base64url")),bt(F(e.e,"base64url"))]))]).subarray()}function Di(e){let t=Ot(e);return Do(t)}function Do(e){let t=Io(e);return Oo(t)}function To(e,t){if(e.byteLength>=Uf)throw new be("Key size is too large");let r=Ot(e,{offset:0});return Lo(r,e,t)}function Lo(e,t,r){let n=Co(e);if(r==null){let o=Pr(Dt.encode({Type:G.RSA,Data:t}));r=It(Bo,o)}return new Le(n,r)}function Oo(e){if(Ui(e)>vo)throw new Q("Key size is too large");let t=Li(e),r=Pr(Dt.encode({Type:G.RSA,Data:_o(t.publicKey)})),n=It(Bo,r);return new or(t.privateKey,new Le(t.publicKey,n))}async function Ti(e){if(e>vo)throw new Q("Key size is too large");let t=await Oi(e),r=Pr(Dt.encode({Type:G.RSA,Data:_o(t.publicKey)})),n=It(Bo,r);return new or(t.privateKey,new Le(t.publicKey,n))}function Li(e){if(e==null)throw new Q("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}async function Oi(e,t){let r=await gt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await kf(r,t);return{privateKey:n[0],publicKey:n[1]}}async function Ci(e,t,r){let n=await gt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await gt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return r?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function _i(e,t,r,n){let o=await gt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await gt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),s}async function kf(e,t){if(e.privateKey==null||e.publicKey==null)throw new Q("Private and public key are required");let r=await Promise.all([gt.get().subtle.exportKey("jwk",e.privateKey),gt.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function Ui(e){if(e.kty!=="RSA")throw new Q("invalid key type");if(e.n==null)throw new Q("invalid key modulus");return F(e.n,"base64url").length*8}var Kr=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,r){if(br(t),K(r,void 0,"key"),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 n=this.blockLen,o=new Uint8Array(n);o.set(r.length>n?t.create().update(r).digest():r);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),Rt(o)}update(t){return Ae(this),this.iHash.update(t),this}digestInto(t){Ae(this),K(t,this.outputLen,"output"),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||=Object.create(Object.getPrototypeOf(this),{});let{oHash:r,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Uo=(e,t,r)=>new Kr(e,t).update(r).digest();Uo.create=(e,t)=>new Kr(e,t);var Ri=(e,t)=>(e+(e>=0?t:-t)/Pi)/t;function Hf(e,t,r){let[[n,o],[s,i]]=t,a=Ri(i*e,r),c=Ri(-o*e,r),u=e-a*n-c*s,l=-a*o-c*i,f=u<zt,p=l<zt;f&&(u=-u),p&&(l=-l);let g=je(Math.ceil(Mn(r)/2))+Oe;if(u<zt||u>=g||l<zt||l>=g)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:u,k2neg:p,k2:l}}function Po(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function Ro(e,t){let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return kt(r.lowS,"lowS"),kt(r.prehash,"prehash"),r.format!==void 0&&Po(r.format),r}var Ko=class extends Error{constructor(t=""){super(t)}},oe={Err:Ko,_tlv:{encode:(e,t)=>{let{Err:r}=oe;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=Ze(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?Ze(o.length/2|128):"";return Ze(e)+s+o+t},decode(e,t){let{Err:r}=oe,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let l of u)i=i<<8|l;if(n+=c,i<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(e){let{Err:t}=oe;if(e<zt)throw new t("integer: negative integers are not allowed");let r=Ze(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=oe;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Be(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=oe,o=K(e,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:u,l}=n.decode(2,c);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=oe,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),s=n+o;return t.encode(48,s)}},zt=BigInt(0),Oe=BigInt(1),Pi=BigInt(2),Nr=BigInt(3),Mf=BigInt(4);function Ki(e,t={}){let r=Sr("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;te(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=ki(n,o);function l(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function f(T,m,b){let{x:d,y:A}=m.toAffine(),C=n.toBytes(d);if(kt(b,"isCompressed"),b){l();let D=!n.isOdd(A);return yt(Ni(D),C)}else return yt(Uint8Array.of(4),C,n.toBytes(A))}function p(T){K(T,void 0,"Point");let{publicKey:m,publicKeyUncompressed:b}=u,d=T.length,A=T[0],C=T.subarray(1);if(d===m&&(A===2||A===3)){let D=n.fromBytes(C);if(!n.isValid(D))throw new Error("bad point: is not on curve, wrong x");let L=v(D),_;try{_=n.sqrt(L)}catch(Z){let z=Z instanceof Error?": "+Z.message:"";throw new Error("bad point: is not on curve, sqrt error"+z)}l();let O=n.isOdd(_);return(A&1)===1!==O&&(_=n.neg(_)),{x:D,y:_}}else if(d===b&&A===4){let D=n.BYTES,L=n.fromBytes(C.subarray(0,D)),_=n.fromBytes(C.subarray(D,D*2));if(!S(L,_))throw new Error("bad point: is not on curve");return{x:L,y:_}}else throw new Error(`bad point: got length ${d}, expected compressed=${m} or uncompressed=${b}`)}let g=t.toBytes||f,h=t.fromBytes||p;function v(T){let m=n.sqr(T),b=n.mul(m,T);return n.add(n.add(b,n.mul(T,s.a)),s.b)}function S(T,m){let b=n.sqr(m),d=v(T);return n.eql(b,d)}if(!S(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let y=n.mul(n.pow(s.a,Nr),Mf),B=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(y,B)))throw new Error("bad curve params: a or b");function x(T,m,b=!1){if(!n.isValid(m)||b&&n.is0(m))throw new Error(`bad point coordinate ${T}`);return m}function I(T){if(!(T instanceof w))throw new Error("Weierstrass Point expected")}function U(T){if(!c||!c.basises)throw new Error("no endo");return Hf(T,c.basises,o.ORDER)}let N=Ie((T,m)=>{let{X:b,Y:d,Z:A}=T;if(n.eql(A,n.ONE))return{x:b,y:d};let C=T.is0();m==null&&(m=C?n.ONE:n.inv(A));let D=n.mul(b,m),L=n.mul(d,m),_=n.mul(A,m);if(C)return{x:n.ZERO,y:n.ZERO};if(!n.eql(_,n.ONE))throw new Error("invZ was invalid");return{x:D,y:L}}),k=Ie(T=>{if(T.is0()){if(t.allowInfinityPoint&&!n.is0(T.Y))return;throw new Error("bad point: ZERO")}let{x:m,y:b}=T.toAffine();if(!n.isValid(m)||!n.isValid(b))throw new Error("bad point: x or y not field elements");if(!S(m,b))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(T,m,b,d,A){return b=new w(n.mul(b.X,T),b.Y,b.Z),m=Xe(d,m),b=Xe(A,b),m.add(b)}class w{static BASE=new w(s.Gx,s.Gy,n.ONE);static ZERO=new w(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(m,b,d){this.X=x("x",m),this.Y=x("y",b,!0),this.Z=x("z",d),Object.freeze(this)}static CURVE(){return s}static fromAffine(m){let{x:b,y:d}=m||{};if(!m||!n.isValid(b)||!n.isValid(d))throw new Error("invalid affine point");if(m instanceof w)throw new Error("projective point not allowed");return n.is0(b)&&n.is0(d)?w.ZERO:new w(b,d,n.ONE)}static fromBytes(m){let b=w.fromAffine(h(K(m,void 0,"point")));return b.assertValidity(),b}static fromHex(m){return w.fromBytes(Kt(m))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,b=!0){return H.createCache(this,m),b||this.multiply(Nr),this}assertValidity(){k(this)}hasEvenY(){let{y:m}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(m)}equals(m){I(m);let{X:b,Y:d,Z:A}=this,{X:C,Y:D,Z:L}=m,_=n.eql(n.mul(b,L),n.mul(C,A)),O=n.eql(n.mul(d,L),n.mul(D,A));return _&&O}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:m,b}=s,d=n.mul(b,Nr),{X:A,Y:C,Z:D}=this,L=n.ZERO,_=n.ZERO,O=n.ZERO,P=n.mul(A,A),Z=n.mul(C,C),z=n.mul(D,D),M=n.mul(A,C);return M=n.add(M,M),O=n.mul(A,D),O=n.add(O,O),L=n.mul(m,O),_=n.mul(d,z),_=n.add(L,_),L=n.sub(Z,_),_=n.add(Z,_),_=n.mul(L,_),L=n.mul(M,L),O=n.mul(d,O),z=n.mul(m,z),M=n.sub(P,z),M=n.mul(m,M),M=n.add(M,O),O=n.add(P,P),P=n.add(O,P),P=n.add(P,z),P=n.mul(P,M),_=n.add(_,P),z=n.mul(C,D),z=n.add(z,z),P=n.mul(z,M),L=n.sub(L,P),O=n.mul(z,Z),O=n.add(O,O),O=n.add(O,O),new w(L,_,O)}add(m){I(m);let{X:b,Y:d,Z:A}=this,{X:C,Y:D,Z:L}=m,_=n.ZERO,O=n.ZERO,P=n.ZERO,Z=s.a,z=n.mul(s.b,Nr),M=n.mul(b,C),Y=n.mul(d,D),st=n.mul(A,L),Bt=n.add(b,d),j=n.add(C,D);Bt=n.mul(Bt,j),j=n.add(M,Y),Bt=n.sub(Bt,j),j=n.add(b,A);let ft=n.add(C,L);return j=n.mul(j,ft),ft=n.add(M,st),j=n.sub(j,ft),ft=n.add(d,A),_=n.add(D,L),ft=n.mul(ft,_),_=n.add(Y,st),ft=n.sub(ft,_),P=n.mul(Z,j),_=n.mul(z,st),P=n.add(_,P),_=n.sub(Y,P),P=n.add(Y,P),O=n.mul(_,P),Y=n.add(M,M),Y=n.add(Y,M),st=n.mul(Z,st),j=n.mul(z,j),Y=n.add(Y,st),st=n.sub(M,st),st=n.mul(Z,st),j=n.add(j,st),M=n.mul(Y,j),O=n.add(O,M),M=n.mul(ft,j),_=n.mul(Bt,_),_=n.sub(_,M),M=n.mul(Bt,Y),P=n.mul(ft,P),P=n.add(P,M),new w(_,O,P)}subtract(m){return this.add(m.negate())}is0(){return this.equals(w.ZERO)}multiply(m){let{endo:b}=t;if(!o.isValidNot0(m))throw new Error("invalid scalar: out of range");let d,A,C=D=>H.cached(this,D,L=>de(w,L));if(b){let{k1neg:D,k1:L,k2neg:_,k2:O}=U(m),{p:P,f:Z}=C(L),{p:z,f:M}=C(O);A=Z.add(M),d=E(b.beta,P,z,D,_)}else{let{p:D,f:L}=C(m);d=D,A=L}return de(w,[d,A])[0]}multiplyUnsafe(m){let{endo:b}=t,d=this;if(!o.isValid(m))throw new Error("invalid scalar: out of range");if(m===zt||d.is0())return w.ZERO;if(m===Oe)return d;if(H.hasCache(this))return this.multiply(m);if(b){let{k1neg:A,k1:C,k2neg:D,k2:L}=U(m),{p1:_,p2:O}=ni(w,d,C,L);return E(b.beta,_,O,A,D)}else return H.unsafe(d,m)}toAffine(m){return N(this,m)}isTorsionFree(){let{isTorsionFree:m}=t;return i===Oe?!0:m?m(w,this):H.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:m}=t;return i===Oe?this:m?m(w,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(m=!0){return kt(m,"isCompressed"),this.assertValidity(),g(w,this,m)}toHex(m=!0){return Pt(this.toBytes(m))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let R=o.BITS,H=new De(w,t.endo?Math.ceil(R/2):R);return w.BASE.precompute(8),w}function Ni(e){return Uint8Array.of(e?2:3)}function ki(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Vf(e,t={}){let{Fn:r}=e,n=t.randomBytes||ve,o=Object.assign(ki(e.Fp,r),{seed:zn(r.ORDER)});function s(g){try{let h=r.fromBytes(g);return r.isValidNot0(h)}catch{return!1}}function i(g,h){let{publicKey:v,publicKeyUncompressed:S}=o;try{let y=g.length;return h===!0&&y!==v||h===!1&&y!==S?!1:!!e.fromBytes(g)}catch{return!1}}function a(g=n(o.seed)){return $n(K(g,o.seed,"seed"),r.ORDER)}function c(g,h=!0){return e.BASE.multiply(r.fromBytes(g)).toBytes(h)}function u(g){let{secretKey:h,publicKey:v,publicKeyUncompressed:S}=o;if(!ie(g)||"_lengths"in r&&r._lengths||h===v)return;let y=K(g,void 0,"key").length;return y===v||y===S}function l(g,h,v=!0){if(u(g)===!0)throw new Error("first arg must be private key");if(u(h)===!1)throw new Error("second arg must be public key");let S=r.fromBytes(g);return e.fromBytes(h).multiply(S).toBytes(v)}let f={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},p=Ar(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:p,Point:e,utils:f,lengths:o})}function Hi(e,t,r={}){br(t),te(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes||ve,o=r.hmac||((b,d)=>Uo(t,b,d)),{Fp:s,Fn:i}=e,{ORDER:a,BITS:c}=i,{keygen:u,getPublicKey:l,getSharedSecret:f,utils:p,lengths:g}=Vf(e,r),h={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},v=a*Pi<s.ORDER;function S(b){let d=a>>Oe;return b>d}function y(b,d){if(!i.isValidNot0(d))throw new Error(`invalid signature ${b}: out of range 1..Point.Fn.ORDER`);return d}function B(){if(v)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function x(b,d){Po(d);let A=g.signature,C=d==="compact"?A:d==="recovered"?A+1:void 0;return K(b,C)}class I{r;s;recovery;constructor(d,A,C){if(this.r=y("r",d),this.s=y("s",A),C!=null){if(B(),![0,1,2,3].includes(C))throw new Error("invalid recovery id");this.recovery=C}Object.freeze(this)}static fromBytes(d,A=h.format){x(d,A);let C;if(A==="der"){let{r:O,s:P}=oe.toSig(K(d));return new I(O,P)}A==="recovered"&&(C=d[0],A="compact",d=d.subarray(1));let D=g.signature/2,L=d.subarray(0,D),_=d.subarray(D,D*2);return new I(i.fromBytes(L),i.fromBytes(_),C)}static fromHex(d,A){return this.fromBytes(Kt(d),A)}assertRecovery(){let{recovery:d}=this;if(d==null)throw new Error("invalid recovery id: must be present");return d}addRecoveryBit(d){return new I(this.r,this.s,d)}recoverPublicKey(d){let{r:A,s:C}=this,D=this.assertRecovery(),L=D===2||D===3?A+a:A;if(!s.isValid(L))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let _=s.toBytes(L),O=e.fromBytes(yt(Ni((D&1)===0),_)),P=i.inv(L),Z=N(K(d,void 0,"msgHash")),z=i.create(-Z*P),M=i.create(C*P),Y=e.BASE.multiplyUnsafe(z).add(O.multiplyUnsafe(M));if(Y.is0())throw new Error("invalid recovery: point at infinify");return Y.assertValidity(),Y}hasHighS(){return S(this.s)}toBytes(d=h.format){if(Po(d),d==="der")return Kt(oe.hexFromSig(this));let{r:A,s:C}=this,D=i.toBytes(A),L=i.toBytes(C);return d==="recovered"?(B(),yt(Uint8Array.of(this.assertRecovery()),D,L)):yt(D,L)}toHex(d){return Pt(this.toBytes(d))}}let U=r.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");let A=Be(d),C=d.length*8-c;return C>0?A>>BigInt(C):A},N=r.bits2int_modN||function(d){return i.create(U(d))},k=je(c);function E(b){return Ye("num < 2^"+c,b,zt,k),i.toBytes(b)}function w(b,d){return K(b,void 0,"message"),d?K(t(b),void 0,"prehashed message"):b}function R(b,d,A){let{lowS:C,prehash:D,extraEntropy:L}=Ro(A,h);b=w(b,D);let _=N(b),O=i.fromBytes(d);if(!i.isValidNot0(O))throw new Error("invalid private key");let P=[E(O),E(_)];if(L!=null&&L!==!1){let Y=L===!0?n(g.secretKey):L;P.push(K(Y,void 0,"extraEntropy"))}let Z=yt(...P),z=_;function M(Y){let st=U(Y);if(!i.isValidNot0(st))return;let Bt=i.inv(st),j=e.BASE.multiply(st).toAffine(),ft=i.create(j.x);if(ft===zt)return;let ur=i.create(Bt*i.create(z+ft*O));if(ur===zt)return;let Zo=(j.x===ft?0:2)|Number(j.y&Oe),Yo=ur;return C&&S(ur)&&(Yo=i.neg(ur),Zo^=1),new I(ft,Yo,v?void 0:Zo)}return{seed:Z,k2sig:M}}function H(b,d,A={}){let{seed:C,k2sig:D}=R(b,d,A);return Ms(t.outputLen,i.BYTES,o)(C,D).toBytes(A.format)}function T(b,d,A,C={}){let{lowS:D,prehash:L,format:_}=Ro(C,h);if(A=K(A,void 0,"publicKey"),d=w(d,L),!ie(b)){let O=b instanceof I?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+O)}x(b,_);try{let O=I.fromBytes(b,_),P=e.fromBytes(A);if(D&&O.hasHighS())return!1;let{r:Z,s:z}=O,M=N(d),Y=i.inv(z),st=i.create(M*Y),Bt=i.create(Z*Y),j=e.BASE.multiplyUnsafe(st).add(P.multiplyUnsafe(Bt));return j.is0()?!1:i.create(j.x)===Z}catch{return!1}}function m(b,d,A={}){let{prehash:C}=Ro(A,h);return d=w(d,C),I.fromBytes(b,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:u,getPublicKey:l,getSharedSecret:f,utils:p,lengths:g,Point:e,sign:H,verify:T,recoverPublicKey:m,Signature:I,hash:t})}var ko={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},qf={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Mi=BigInt(2);function Ff(e){let t=ko.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,l=u*u*e%t,f=$(l,r,t)*l%t,p=$(f,r,t)*l%t,g=$(p,Mi,t)*u%t,h=$(g,o,t)*g%t,v=$(h,s,t)*h%t,S=$(v,a,t)*v%t,y=$(S,c,t)*S%t,B=$(y,a,t)*v%t,x=$(B,r,t)*l%t,I=$(x,i,t)*h%t,U=$(I,n,t)*u%t,N=$(U,Mi,t);if(!No.eql(No.sqr(N),e))throw new Error("Cannot find square root");return N}var No=Ce(ko.p,{sqrt:Ff}),zf=Ki(ko,{Fp:No,endo:qf}),Ue=Hi(zf,Ks);function Vi(e,t,r,n){let o=Me.digest(r instanceof Uint8Array?r:r.subarray());if(Ir(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),Ue.verify(t,s,e,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new Je(String(s))});try{return n?.signal?.throwIfAborted(),Ue.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(s){throw new Je(String(s))}}var kr=class{type="secp256k1";raw;_key;constructor(t){this._key=Fi(t),this.raw=qi(this._key)}toMultihash(){return Et.digest(Wt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){return Vi(this._key,r,t,n)}};function Ho(e){return new kr(e)}function qi(e){return Ue.Point.fromBytes(e).toBytes()}function Fi(e){try{return Ue.Point.fromBytes(e),e}catch(t){throw new be(String(t))}}function zi(e,t){let{Type:r,Data:n}=Dt.decode(e),o=n??new Uint8Array;switch(r){case G.RSA:return To(o,t);case G.Ed25519:return Qn(o);case G.secp256k1:return Ho(o);case G.ECDSA:return _n(o);default:throw new ye}}function $i(e){let{Type:t,Data:r}=Dt.decode(e.digest),n=r??new Uint8Array;switch(t){case G.Ed25519:return Qn(n);case G.secp256k1:return Ho(n);case G.ECDSA:return _n(n);default:throw new ye}}function Wt(e){return Dt.encode({Type:G[e.type],Data:e.raw})}var ir;(function(e){let t;e.codec=()=>(t==null&&(t=qt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.publicKey!=null&&s.publicKey.byteLength>0&&(i.uint32(10),i.bytes(s.publicKey)),s.payloadType!=null&&s.payloadType.byteLength>0&&(i.uint32(18),i.bytes(s.payloadType)),s.payload!=null&&s.payload.byteLength>0&&(i.uint32(26),i.bytes(s.payload)),s.signature!=null&&s.signature.byteLength>0&&(i.uint32(42),i.bytes(s.signature)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={publicKey:it(0),payloadType:it(0),payload:it(0),signature:it(0)},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.publicKey=s.bytes();break}case 2:{c.payloadType=s.bytes();break}case 3:{c.payload=s.bytes();break}case 5:{c.signature=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.publicKey`,value:s.bytes()};break}case 2:{yield{field:`${a}.payloadType`,value:s.bytes()};break}case 3:{yield{field:`${a}.payload`,value:s.bytes()};break}case 5:{yield{field:`${a}.signature`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return Ht(s,e.codec(),i)}e.decode=n;function o(s,i){return Vt(s,e.codec(),i)}e.stream=o})(ir||(ir={}));var Hr=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var Mr=class e{static createFromProtobuf=t=>{let r=ir.decode(t),n=zi(r.publicKey);return new e({publicKey:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r,n)=>{if(r==null)throw new Error("Missing private key");let o=t.domain,s=t.codec,i=t.marshal(),a=Gi(o,s,i),c=await r.sign(a.subarray(),n);return new e({publicKey:r.publicKey,payloadType:s,payload:i,signature:c})};static openAndCertify=async(t,r,n)=>{let o=e.createFromProtobuf(t);if(!await o.validate(r,n))throw new Hr("Envelope signature is not valid for the given domain");return o};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:r,payloadType:n,payload:o,signature:s}=t;this.publicKey=r,this.payloadType=n,this.payload=o,this.signature=s}marshal(){return this.marshaled==null&&(this.marshaled=ir.encode({publicKey:Wt(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return t==null?!1:et(this.marshal(),t.marshal())}async validate(t,r){let n=Gi(t,this.payloadType,this.payload);return this.publicKey.verify(n.subarray(),this.signature,r)}},Gi=(e,t,r)=>{let n=F(e),o=_r(n.byteLength),s=_r(t.length),i=_r(r.length);return new dt(o,n,s,t,i,r)};var Zi=Symbol.for("nodejs.util.inspect.custom"),$f=114,ar=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Qr]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return tt.createV1($f,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return et(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return et(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Zi](){return`PeerId(${this.toString()})`}},Vr=class extends ar{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},qr=class extends ar{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Fr=class extends ar{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Gf=2336,zr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Et.digest(F(this.url))}[Zi](){return`PeerId(${this.url})`}[Qr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return tt.createV1(Gf,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=V(t)),t.toString()===this.toString())}};function Yi(e){if(Yf(e))return new Vr({multihash:e});if(Zf(e))try{let t=$i(e);if(t.type==="Ed25519")return new qr({multihash:e,publicKey:t});if(t.type==="secp256k1")return new Fr({multihash:e,publicKey:t})}catch{let r=V(e.digest);return new zr(new URL(r))}throw new lr("Supplied PeerID Multihash is invalid")}function Zf(e){return e.code===Et.code}function Yf(e){return e.code===Me.code}var ct=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},$t=class extends Error{static name="ValidationError";name="ValidationError"},$r=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Gr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};var Zr=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,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let p=Number.parseInt(f,t);if(!Number.isNaN(p))return p});if(l===void 0)break;if(s*=t,s+=l,s>u||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&c&&i>1?void 0:s})}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 o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var jf=45,Wf=15,Yr=new Zr;function ji(e){if(!(e.length>Wf))return Yr.new(e).parseWith(()=>Yr.readIPv4Addr())}function Wi(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>jf))return Yr.new(e).parseWith(()=>Yr.readIPv6Addr())}function jr(e){return!!ji(e)}function Xi(e){return!!Wi(e)}function Vo(e){return t=>V(t,e)}function qo(e){return t=>F(t,e)}function Re(e){return new DataView(e.buffer).getUint16(e.byteOffset).toString()}function me(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof e=="string"?parseInt(e):e),new Uint8Array(t)}function Ji(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=F(t[0],"base32"),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=me(n);return Lt([r,o],r.length+o.length)}function Qi(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=Yt.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 o=me(n);return Lt([r,o],r.length+o.length)}function Fo(e){let t=e.subarray(0,e.length-2),r=e.subarray(e.length-2),n=V(t,"base32"),o=Re(r);return`${n}:${o}`}var zo=function(e){e=e.toString().trim();let t=new Uint8Array(4);return e.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new ct("Invalid byte value in IP address");t[n]=o}),t},ta=function(e){let t=0;e=e.toString().trim();let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=jr(r[n]),i;s&&(i=zo(r[n]),r[n]=V(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,V(i.subarray(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 s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let s=parseInt(r[n],16);if(isNaN(s)||s<0||s>65535)throw new ct("Invalid byte value in IP address");o[t++]=s>>8&255,o[t++]=s&255}return o},ea=function(e){if(e.byteLength!==4)throw new ct("IPv4 address was incorrect length");let t=[];for(let r=0;r<e.byteLength;r++)t.push(e[r]);return t.join(".")},ra=function(e){if(e.byteLength!==16)throw new ct("IPv6 address was incorrect length");let t=[];for(let n=0;n<e.byteLength;n+=2){let o=e[n],s=e[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;t.push(i)}let r=t.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new ct(`Invalid IPv6 address "${r}"`)}};function na(e){try{let t=new URL(`http://[${e}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new ct(`Invalid IPv6 address "${e}"`)}}var Mo=Object.values(Ve).map(e=>e.decoder),Xf=(function(){let e=Mo[0].or(Mo[1]);return Mo.slice(2).forEach(t=>e=e.or(t)),e})();function oa(e){return Xf.decode(e)}function sa(e){return t=>e.encoder.encode(t)}function Jf(e){if(parseInt(e).toString()!==e)throw new $t("Value must be an integer")}function Qf(e){if(e<0)throw new $t("Value must be a positive integer, or zero")}function tu(e){return t=>{if(t>e)throw new $t(`Value must be smaller than or equal to ${e}`)}}function eu(...e){return t=>{for(let r of e)r(t)}}var cr=eu(Jf,Qf,tu(65535));var ot=-1,$o=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(t){let r;if(typeof t=="string"?r=this.protocolsByName.get(t):r=this.protocolsByCode.get(t),r==null)throw new Gr(`Protocol ${t} was unknown`);return r}addProtocol(t){this.protocolsByCode.set(t.code,t),this.protocolsByName.set(t.name,t),t.aliases?.forEach(r=>{this.protocolsByName.set(r,t)})}removeProtocol(t){let r=this.protocolsByCode.get(t);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},Gt=new $o,qu=[{code:4,name:"ip4",size:32,valueToBytes:zo,bytesToValue:ea,validate:e=>{if(!jr(e))throw new $t(`Invalid IPv4 address "${e}"`)}},{code:6,name:"tcp",size:16,valueToBytes:me,bytesToValue:Re,validate:cr},{code:273,name:"udp",size:16,valueToBytes:me,bytesToValue:Re,validate:cr},{code:33,name:"dccp",size:16,valueToBytes:me,bytesToValue:Re,validate:cr},{code:41,name:"ip6",size:128,valueToBytes:ta,bytesToValue:ra,stringToValue:na,validate:e=>{if(!Xi(e))throw new $t(`Invalid IPv6 address "${e}"`)}},{code:42,name:"ip6zone",size:ot},{code:43,name:"ipcidr",size:8,bytesToValue:Vo("base10"),valueToBytes:qo("base10")},{code:53,name:"dns",size:ot},{code:54,name:"dns4",size:ot},{code:55,name:"dns6",size:ot},{code:56,name:"dnsaddr",size:ot},{code:132,name:"sctp",size:16,valueToBytes:me,bytesToValue:Re,validate:cr},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:ot,stringToValue:e=>decodeURIComponent(e),valueToString:e=>encodeURIComponent(e)},{code:421,name:"p2p",aliases:["ipfs"],size:ot,bytesToValue:Vo("base58btc"),valueToBytes:e=>e.startsWith("Q")||e.startsWith("1")?qo("base58btc")(e):tt.parse(e).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Fo,valueToBytes:Ji},{code:445,name:"onion3",size:296,bytesToValue:Fo,valueToBytes:Qi},{code:446,name:"garlic64",size:ot},{code:447,name:"garlic32",size:ot},{code:448,name:"tls"},{code:449,name:"sni",size:ot},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:ot,bytesToValue:sa(mn),valueToBytes:oa},{code:480,name:"http"},{code:481,name:"http-path",size:ot,stringToValue:e=>`/${decodeURIComponent(e)}`,valueToString:e=>encodeURIComponent(e.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:ot}];qu.forEach(e=>{Gt.addProtocol(e)});function ia(e){let t=[],r=0;for(;r<e.length;){let n=so(e,r),o=Gt.getProtocol(n),s=wt(n),i=Fu(o,e,r+s),a=0;i>0&&o.size===ot&&(a=wt(i));let c=s+a+i,u={code:n,name:o.name,bytes:e.subarray(r,r+c)};if(i>0){let l=r+s+a,f=e.subarray(l,l+i);u.value=o.bytesToValue?.(f)??V(f)}t.push(u),r+=c}return t}function aa(e){let t=0,r=[];for(let n of e){if(n.bytes==null){let o=Gt.getProtocol(n.code),s=wt(n.code),i,a=0,c=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??F(n.value),a=i.byteLength,o.size===ot&&(c=wt(a)));let u=new Uint8Array(s+c+a),l=0;Te(n.code,u,l),l+=s,i!=null&&(o.size===ot&&(Te(a,u,l),l+=c),u.set(i,l)),n.bytes=u}r.push(n.bytes),t+=n.bytes.byteLength}return Lt(r,t)}function ca(e){if(e.charAt(0)!=="/")throw new ct('String multiaddr must start with "/"');let t=[],r="protocol",n="",o="";for(let s=1;s<e.length;s++){let i=e.charAt(s);i!=="/"&&(r==="protocol"?o+=e.charAt(s):n+=e.charAt(s));let a=s===e.length-1;if(i==="/"||a){let c=Gt.getProtocol(o);if(r==="protocol"){if(c.size==null||c.size===0){t.push({code:c.code,name:c.name}),n="",o="",r="protocol";continue}else if(a)throw new ct(`Component ${o} was missing value`);r="value"}else if(r==="value"){let u={code:c.code,name:c.name};if(c.size!=null&&c.size!==0){if(n==="")throw new ct(`Component ${o} was missing value`);u.value=c.stringToValue?.(n)??n}t.push(u),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new ct("Incomplete multiaddr");return t}function fa(e){return`/${e.flatMap(t=>{if(t.value==null)return t.name;let r=Gt.getProtocol(t.code);if(r==null)throw new ct(`Unknown protocol code ${t.code}`);return[t.name,r.valueToString?.(t.value)??t.value]}).join("/")}`}function Fu(e,t,r){return e.size==null||e.size===0?0:e.size>0?e.size/8:so(t,r)}var zu=Symbol.for("nodejs.util.inspect.custom"),Go=Symbol.for("@multiformats/multiaddr");function $u(e){if(e==null&&(e="/"),ua(e))return e.getComponents();if(e instanceof Uint8Array)return ia(e);if(typeof e=="string")return e=e.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),e===""&&(e="/"),ca(e);if(Array.isArray(e))return e;throw new ct("Must be a string, Uint8Array, Component[], or another Multiaddr")}var Wr=class e{[Go]=!0;#t;#e;#r;constructor(t="/",r={}){this.#t=$u(t),r.validate!==!1&&Gu(this)}get bytes(){return this.#r==null&&(this.#r=aa(this.#t)),this.#r}toString(){return this.#e==null&&(this.#e=fa(this.#t)),this.#e}toJSON(){return this.toString()}getComponents(){return[...this.#t.map(t=>({...t}))]}encapsulate(t){let r=new e(t);return new e([...this.#t,...r.getComponents()],{validate:!1})}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new $r(`Address ${this.toString()} does not contain subaddress: ${r}`);return new e(n.slice(0,o),{validate:!1})}decapsulateCode(t){let r;for(let n=this.#t.length-1;n>-1;n--)if(this.#t[n].code===t){r=n;break}return new e(this.#t.slice(0,r),{validate:!1})}equals(t){return et(this.bytes,t.bytes)}[zu](){return`Multiaddr(${this.toString()})`}};function Gu(e){e.getComponents().forEach(t=>{let r=Gt.getProtocol(t.code);t.value!=null&&r.validate?.(t.value)})}function ua(e){return!!e?.[Go]}function la(e){return new Wr(e)}var da="libp2p-peer-record",ha=Uint8Array.from([3,1]);var fr;(function(e){let t;(function(i){let a;i.codec=()=>(a==null&&(a=qt((f,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),f.multiaddr!=null&&f.multiaddr.byteLength>0&&(p.uint32(10),p.bytes(f.multiaddr)),g.lengthDelimited!==!1&&p.ldelim()},(f,p,g={})=>{let h={multiaddr:it(0)},v=p==null?f.len:f.pos+p;for(;f.pos<v;){let S=f.uint32();S>>>3===1?h.multiaddr=f.bytes():f.skipType(S&7)}return h},function*(f,p,g,h={}){let v=p==null?f.len:f.pos+p;for(;f.pos<v;){let S=f.uint32();S>>>3===1?yield{field:`${g}.multiaddr`,value:f.bytes()}:f.skipType(S&7)}})),a);function c(f){return Mt(f,i.codec())}i.encode=c;function u(f,p){return Ht(f,i.codec(),p)}i.decode=u;function l(f,p){return Vt(f,i.codec(),p)}i.stream=l})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=qt((i,a,c={})=>{if(c.lengthDelimited!==!1&&a.fork(),i.peerId!=null&&i.peerId.byteLength>0&&(a.uint32(10),a.bytes(i.peerId)),i.seq!=null&&i.seq!==0n&&(a.uint32(16),a.uint64(i.seq)),i.addresses!=null&&i.addresses.length>0)for(let u of i.addresses)a.uint32(26),e.AddressInfo.codec().encode(u,a);c.lengthDelimited!==!1&&a.ldelim()},(i,a,c={})=>{let u={peerId:it(0),seq:0n,addresses:[]},l=a==null?i.len:i.pos+a;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:{u.peerId=i.bytes();break}case 2:{u.seq=i.uint64();break}case 3:{if(c.limits?.addresses!=null&&u.addresses.length===c.limits.addresses)throw new rr('Decode error - repeated field "addresses" had too many elements');u.addresses.push(e.AddressInfo.codec().decode(i,i.uint32(),{limits:c.limits?.addresses$}));break}default:{i.skipType(f&7);break}}}return u},function*(i,a,c,u={}){let l={addresses:0},f=a==null?i.len:i.pos+a;for(;i.pos<f;){let p=i.uint32();switch(p>>>3){case 1:{yield{field:`${c}.peerId`,value:i.bytes()};break}case 2:{yield{field:`${c}.seq`,value:i.uint64()};break}case 3:{if(u.limits?.addresses!=null&&l.addresses===u.limits.addresses)throw new rr('Streaming decode error - repeated field "addresses" had too many elements');for(let g of e.AddressInfo.codec().stream(i,i.uint32(),`${c}.addresses[]`,{limits:u.limits?.addresses$}))yield{...g,index:l.addresses};l.addresses++;break}default:{i.skipType(p&7);break}}}})),r);function n(i){return Mt(i,e.codec())}e.encode=n;function o(i,a){return Ht(i,e.codec(),a)}e.decode=o;function s(i,a){return Vt(i,e.codec(),a)}e.stream=s})(fr||(fr={}));function pa(e,t){let r=(n,o)=>n.toString().localeCompare(o.toString());return e.length!==t.length?!1:(t.sort(r),e.sort(r).every((n,o)=>t[o].equals(n)))}var Xr=class e{static createFromProtobuf=t=>{let r=fr.decode(t),n=Yi(ke(r.peerId)),o=(r.addresses??[]).map(i=>la(i.multiaddr)),s=r.seq;return new e({peerId:n,multiaddrs:o,seqNumber:s})};static DOMAIN=da;static CODEC=ha;peerId;multiaddrs;seqNumber;domain=e.DOMAIN;codec=e.CODEC;marshaled;constructor(t){let{peerId:r,multiaddrs:n,seqNumber:o}=t;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=o??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=fr.encode({peerId:this.peerId.toMultihash().bytes,seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof e)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!pa(this.multiaddrs,t.multiaddrs))}};return ga(Zu);})();
3
3
  /*! Bundled license information:
4
4
 
5
5
  @noble/hashes/utils.js: