@libp2p/peer-record 9.0.5 → 9.0.6

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 Fr=Object.defineProperty;var Ji=Object.getOwnPropertyDescriptor;var Qi=Object.getOwnPropertyNames;var ta=Object.prototype.hasOwnProperty;var pt=(e,t)=>{for(var r in t)Fr(e,r,{get:t[r],enumerable:!0})},ea=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qi(t))!ta.call(e,o)&&o!==r&&Fr(e,o,{get:()=>t[o],enumerable:!(n=Ji(t,o))||n.enumerable});return e};var ra=e=>ea(Fr({},"__esModule",{value:!0}),e);var Du={};pt(Du,{PeerRecord:()=>zr,RecordEnvelope:()=>Rr});var Q=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},de=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var ir=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var he=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Zr=Symbol.for("@libp2p/peer-id");var Wr={};pt(Wr,{base58btc:()=>W,base58flickr:()=>fa});var Ru=new Uint8Array(0);function ko(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 Ct(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 Mo(e){return new TextEncoder().encode(e)}function qo(e){return new TextDecoder().decode(e)}function na(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 c=e.length,a=e.charAt(0),f=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var B=0,A=0,y=0,v=m.length;y!==v&&m[y]===0;)y++,B++;for(var b=(v-y)*l+1>>>0,I=new Uint8Array(b);y!==v;){for(var O=m[y],N=0,k=b-1;(O!==0||N<A)&&k!==-1;k--,N++)O+=256*I[k]>>>0,I[k]=O%c>>>0,O=O/c>>>0;if(O!==0)throw new Error("Non-zero carry");A=N,y++}for(var x=b-A;x!==b&&I[x]===0;)x++;for(var g=a.repeat(B);x<b;++x)g+=e.charAt(I[x]);return g}function w(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var B=0;if(m[B]!==" "){for(var A=0,y=0;m[B]===a;)A++,B++;for(var v=(m.length-B)*f+1>>>0,b=new Uint8Array(v);m[B];){var I=r[m.charCodeAt(B)];if(I===255)return;for(var O=0,N=v-1;(I!==0||O<y)&&N!==-1;N--,O++)I+=c*b[N]>>>0,b[N]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=O,B++}if(m[B]!==" "){for(var k=v-y;k!==v&&b[k]===0;)k++;for(var x=new Uint8Array(A+(v-k)),g=A;k!==v;)x[g++]=b[k++];return x}}}function S(m){var B=w(m);if(B)return B;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:w,decode:S}}var oa=na,sa=oa,Ho=sa;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")}},$r=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 zo(this,t)}},Yr=class{decoders;constructor(t){this.decoders=t}or(t){return zo(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 zo(e,t){return new Yr({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var jr=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 $r(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function pe({name:e,prefix:t,encode:r,decode:n}){return new jr(e,t,r,n)}function Ft({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ho(r,e);return pe({prefix:t,name:e,encode:n,decode:s=>Ct(o(s))})}function ia(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,c=0,a=0;for(let f=0;f<o;++f){let l=t[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,i+=r,i>=8&&(i-=8,s[a++]=255&c>>i)}if(i>=r||(255&c<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function aa(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,c=0;for(let a=0;a<e.length;++a)for(c=c<<8|e[a],i+=8;i>r;)i-=r,s+=t[o&c>>i];if(i!==0&&(s+=t[o&c<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function ca(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function j({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=ca(n);return pe({prefix:t,name:e,encode(s){return aa(s,n,r)},decode(s){return ia(s,o,r,e)}})}var W=Ft({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),fa=Ft({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xr={};pt(Xr,{base32:()=>Zt,base32hex:()=>ha,base32hexpad:()=>ma,base32hexpadupper:()=>ya,base32hexupper:()=>pa,base32pad:()=>la,base32padupper:()=>da,base32upper:()=>ua,base32z:()=>ba});var Zt=j({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ua=j({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),la=j({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),da=j({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ha=j({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),pa=j({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ma=j({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ya=j({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ba=j({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Jr={};pt(Jr,{base36:()=>Oe,base36upper:()=>ga});var Oe=Ft({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ga=Ft({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var xa=Go,Fo=128,wa=127,Ea=~wa,Sa=Math.pow(2,31);function Go(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Sa;)t[r++]=e&255|Fo,e/=128;for(;e&Ea;)t[r++]=e&255|Fo,e>>>=7;return t[r]=e|0,Go.bytes=r-n+1,t}var Aa=Qr,va=128,Zo=127;function Qr(e,n){var r=0,n=n||0,o=0,s=n,i,c=e.length;do{if(s>=c)throw Qr.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>=va);return Qr.bytes=s-n,r}var Ba=Math.pow(2,7),Ia=Math.pow(2,14),_a=Math.pow(2,21),Da=Math.pow(2,28),Ca=Math.pow(2,35),Ta=Math.pow(2,42),La=Math.pow(2,49),Ra=Math.pow(2,56),Oa=Math.pow(2,63),Ka=function(e){return e<Ba?1:e<Ia?2:e<_a?3:e<Da?4:e<Ca?5:e<Ta?6:e<La?7:e<Ra?8:e<Oa?9:10},Pa={encode:xa,decode:Aa,encodingLength:Ka},Ua=Pa,Ke=Ua;function Pe(e,t=0){return[Ke.decode(e,t),Ke.decode.bytes]}function me(e,t,r=0){return Ke.encode(e,t,r),t}function ye(e){return Ke.encodingLength(e)}function Bt(e,t){let r=t.byteLength,n=ye(e),o=n+ye(r),s=new Uint8Array(o+r);return me(e,s,0),me(r,s,n),s.set(t,o),new be(e,r,t,s)}function Ue(e){let t=Ct(e),[r,n]=Pe(t),[o,s]=Pe(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new be(r,o,i,t)}function $o(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&ko(e.bytes,r.bytes)}}var be=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function Yo(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return ka(r,tn(e),t??W.encoder);default:return Ma(r,tn(e),t??Zt.encoder)}}var jo=new WeakMap;function tn(e){let t=jo.get(e);if(t==null){let r=new Map;return jo.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!==qa)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&&$o(t.multihash,n.multihash)}toString(t){return Yo(this,t)}toJSON(){return{"/":Yo(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??Wo(n,o,s.bytes))}else if(r[Va]===!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=Wo(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=Ct(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 be(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[u,w]=Pe(t.subarray(r));return r+=w,u},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,c=n(),a=n(),f=r+a,l=f-i;return{version:o,codec:s,multihashCode:c,digestSize:a,multihashSize:l,size:f}}static parse(t,r){let[n,o]=Na(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 tn(s).set(n,t),s}};function Na(e,t){switch(e[0]){case"Q":{let r=t??W;return[W.prefix,r.decode(`${W.prefix}${e}`)]}case W.prefix:{let r=t??W;return[W.prefix,r.decode(e)]}case Zt.prefix:{let r=t??Zt;return[Zt.prefix,r.decode(e)]}case Oe.prefix:{let r=t??Oe;return[Oe.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 ka(e,t,r){let{prefix:n}=r;if(n!==W.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 Ma(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,qa=18;function Wo(e,t,r){let n=ye(e),o=n+ye(t),s=new Uint8Array(o+r.byteLength);return me(e,s,0),me(t,s,n),s.set(r,o),s}var Va=Symbol.for("@ipld/js-cid/CID");var en={};pt(en,{identity:()=>Et});var Xo=0,Ha="identity",Jo=Ct;function za(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(Xo,Jo(e))}var Et={code:Xo,name:Ha,encode:Jo,digest:za};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 ts=Symbol.for("@achingbrain/uint8arraylist");function Qo(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 cr(e){return!!e?.[ts]}var dt=class e{bufs;length;[ts]=!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(cr(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(cr(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=Qo(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Qo(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(cr(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],c=o,a=c+i.byteLength;if(o=a,t>=a)continue;let f=t>=c&&t<a,l=r>c&&r<=a;if(f&&l){if(t===c&&r===a){n.push(i);break}let u=t-c;n.push(i.subarray(u,u+(r-t)));break}if(f){if(t===0){n.push(i);continue}n.push(i.subarray(t-c));continue}if(l){if(r===a){n.push(i);break}n.push(i.subarray(0,r-c));break}n.push(i)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!cr(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 u=0;u<s;u++)i[u]=-1;for(let u=0;u<o;u++)i[n[u]]=u;let c=i,a=this.byteLength-n.byteLength,f=n.byteLength-1,l;for(let u=r;u<=a;u+=l){l=0;for(let w=f;w>=0;w--){let S=this.get(u+w);if(n[w]!==S){l=Math.max(1,w-c[S]);break}}if(l===0)return u}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 rn={};pt(rn,{base10:()=>Fa});var Fa=Ft({prefix:"9",name:"base10",alphabet:"0123456789"});var nn={};pt(nn,{base16:()=>Za,base16upper:()=>Ga});var Za=j({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ga=j({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var on={};pt(on,{base2:()=>$a});var $a=j({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var sn={};pt(sn,{base256emoji:()=>Ja});var es=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}"),Ya=es.reduce((e,t,r)=>(e[r]=t,e),[]),ja=es.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Wa(e){return e.reduce((t,r)=>(t+=Ya[r],t),"")}function Xa(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=ja[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var Ja=pe({prefix:"\u{1F680}",name:"base256emoji",encode:Wa,decode:Xa});var cn={};pt(cn,{base64:()=>Qa,base64pad:()=>tc,base64url:()=>an,base64urlpad:()=>ec});var Qa=j({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),tc=j({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),an=j({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ec=j({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fn={};pt(fn,{base8:()=>rc});var rc=j({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var un={};pt(un,{identity:()=>nc});var nc=pe({prefix:"\0",name:"identity",encode:e=>qo(e),decode:e=>Mo(e)});var ml=new TextEncoder,yl=new TextDecoder;var hn={};pt(hn,{sha256:()=>ke,sha512:()=>ac});var ic=20;function dn({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new ln(e,t,r,n,o)}var ln=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,s){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??ic,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?rs(n,this.code,r?.truncate):n.then(o=>rs(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function rs(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 os(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var ke=dn({name:"sha2-256",code:18,encode:os("SHA-256")}),ac=dn({name:"sha2-512",code:19,encode:os("SHA-512")});var Me={...un,...on,...fn,...rn,...nn,...Xr,...Jr,...Wr,...cn,...sn},Dl={...hn,...en};function is(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ss=is("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),pn=is("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}),cc={utf8:ss,"utf-8":ss,hex:Me.base16,latin1:pn,ascii:pn,binary:pn,...Me},fr=cc;function z(e,t="utf8"){let r=fr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function V(e,t="utf8"){let r=fr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var fc=parseInt("11111",2),mn=parseInt("10000000",2),uc=parseInt("01111111",2),as={0:qe,1:qe,2:lc,3:pc,4:mc,5:hc,6:dc,16:qe,22:qe,48:qe};function Lt(e,t={offset:0}){let r=e[t.offset]&fc;if(t.offset++,as[r]!=null)return as[r](e,t);throw new Error("No decoder for tag "+r)}function Ve(e,t){let r=0;if((e[t.offset]&mn)===mn){let n=e[t.offset]&uc,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 lc(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 dc(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 c=`${s}.${i}`,a=[];for(;t.offset<n;){let f=e[t.offset];if(t.offset++,a.push(f&127),f<128){a.reverse();let l=0;for(let u=0;u<a.length;u++)l+=a[u]<<u*7;c+=`.${l}`,a=[]}}return c}function hc(e,t){return t.offset++,null}function pc(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 mc(e,t){let r=Ve(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function yc(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 yn(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=yc(e.byteLength);return new dt(Uint8Array.from([t.byteLength|mn]),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]),yn(t),t)}function ur(e){let t=Uint8Array.from([0]),r=new dt(t,e);return new dt(Uint8Array.from([3]),yn(r),r)}function Gt(e,t=48){let r=new dt;for(let n of e)r.append(n);return new dt(Uint8Array.from([t]),yn(r),r)}async function cs(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 bc=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),gc=Uint8Array.from([6,5,43,129,4,0,34]),xc=Uint8Array.from([6,5,43,129,4,0,35]),wc={ext:!0,kty:"EC",crv:"P-256"},Ec={ext:!0,kty:"EC",crv:"P-384"},Sc={ext:!0,kty:"EC",crv:"P-521"},bn=32,gn=48,xn=66;function wn(e){let t=Lt(e);return fs(t)}function fs(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 ge({...wc,key_ops:["verify"],x:n,y:o});if(t.byteLength===gn*2+1)return n=V(t.subarray(r,r+gn),"base64url"),o=V(t.subarray(r+gn),"base64url"),new ge({...Ec,key_ops:["verify"],x:n,y:o});if(t.byteLength===xn*2+1)return n=V(t.subarray(r,r+xn),"base64url"),o=V(t.subarray(r+xn),"base64url"),new ge({...Sc,key_ops:["verify"],x:n,y:o});throw new Q(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function us(e){return Gt([yt(Uint8Array.from([1])),Gt([Ac(e.crv)],160),Gt([ur(new dt(Uint8Array.from([4]),z(e.x??"","base64url"),z(e.y??"","base64url")))],161)]).subarray()}function Ac(e){if(e==="P-256")return bc;if(e==="P-384")return gc;if(e==="P-521")return xc;throw new Q(`Invalid curve ${e}`)}var ge=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=us(this.jwk)),this._raw}toMultihash(){return Et.digest($t(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return W.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 cs(this.jwk,r,t,n)}};function re(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=re(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,c=s?` of length ${t}`:"",a=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+c+", got "+a)}return e}function lr(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 xe(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 ds(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 Ot(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function dr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function St(e,t){return e<<32-t|e>>>t}var hs=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",vc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Kt(e){if(U(e),hs)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=vc[e[r]];return t}var Rt={_0:48,_9:57,A:65,F:70,a:97,f:102};function ls(e){if(e>=Rt._0&&e<=Rt._9)return e-Rt._0;if(e>=Rt.A&&e<=Rt.F)return e-(Rt.A-10);if(e>=Rt.a&&e<=Rt.f)return e-(Rt.a-10)}function Pt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(hs)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=ls(e.charCodeAt(s)),c=ls(e.charCodeAt(s+1));if(i===void 0||c===void 0){let a=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+s)}n[o]=i*16+c}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 En(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 we(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 Sn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function ps(e,t,r){return e&t^~e&r}function ms(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=dr(this.buffer)}update(t){xe(this),U(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let c=Math.min(o-this.pos,s-i);if(c===o){let a=dr(t);for(;o<=s-i;i+=o)this.process(a,i);continue}n.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){xe(this),ds(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Ot(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let u=i;u<o;u++)r[u]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let c=dr(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let f=a/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<f;u++)c.setUint32(4*u,l[u],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:c}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=c,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 hr=BigInt(4294967295),ys=BigInt(32);function Bc(e,t=!1){return t?{h:Number(e&hr),l:Number(e>>ys&hr)}:{h:Number(e>>ys&hr)|0,l:Number(e&hr)|0}}function bs(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:c}=Bc(e[s],t);[n[s],o[s]]=[i,c]}return[n,o]}var An=(e,t,r)=>e>>>r,vn=(e,t,r)=>e<<32-r|t>>>r,ne=(e,t,r)=>e>>>r|t<<32-r,oe=(e,t,r)=>e<<32-r|t>>>r,ze=(e,t,r)=>e<<64-r|t>>>r-32,Fe=(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 gs=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),xs=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,ws=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Es=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Ss=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),As=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var _c=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]),Yt=new Uint32Array(64),Bn=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:c,H:a}=this;return[t,r,n,o,s,i,c,a]}set(t,r,n,o,s,i,c,a){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=c|0,this.H=a|0}process(t,r){for(let u=0;u<16;u++,r+=4)Yt[u]=t.getUint32(r,!1);for(let u=16;u<64;u++){let w=Yt[u-15],S=Yt[u-2],m=St(w,7)^St(w,18)^w>>>3,B=St(S,17)^St(S,19)^S>>>10;Yt[u]=B+Yt[u-7]+m+Yt[u-16]|0}let{A:n,B:o,C:s,D:i,E:c,F:a,G:f,H:l}=this;for(let u=0;u<64;u++){let w=St(c,6)^St(c,11)^St(c,25),S=l+w+ps(c,a,f)+_c[u]+Yt[u]|0,B=(St(n,2)^St(n,13)^St(n,22))+ms(n,o,s)|0;l=f,f=a,a=c,c=i+S|0,i=s,s=o,o=n,n=S+B|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,a=a+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,o,s,i,c,a,f,l)}roundClean(){Ot(Yt)}destroy(){this.set(0,0,0,0,0,0,0,0),Ot(this.buffer)}},In=class extends Bn{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 vs=bs(["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=vs[0],Cc=vs[1],jt=new Uint32Array(80),Wt=new Uint32Array(80),_n=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:c,Dl:a,Eh:f,El:l,Fh:u,Fl:w,Gh:S,Gl:m,Hh:B,Hl:A}=this;return[t,r,n,o,s,i,c,a,f,l,u,w,S,m,B,A]}set(t,r,n,o,s,i,c,a,f,l,u,w,S,m,B,A){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=c|0,this.Dl=a|0,this.Eh=f|0,this.El=l|0,this.Fh=u|0,this.Fl=w|0,this.Gh=S|0,this.Gl=m|0,this.Hh=B|0,this.Hl=A|0}process(t,r){for(let b=0;b<16;b++,r+=4)jt[b]=t.getUint32(r),Wt[b]=t.getUint32(r+=4);for(let b=16;b<80;b++){let I=jt[b-15]|0,O=Wt[b-15]|0,N=ne(I,O,1)^ne(I,O,8)^An(I,O,7),k=oe(I,O,1)^oe(I,O,8)^vn(I,O,7),x=jt[b-2]|0,g=Wt[b-2]|0,K=ne(x,g,19)^ze(x,g,61)^An(x,g,6),M=oe(x,g,19)^Fe(x,g,61)^vn(x,g,6),T=ws(k,M,Wt[b-7],Wt[b-16]),h=Es(T,N,K,jt[b-7],jt[b-16]);jt[b]=h|0,Wt[b]=T|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:c,Cl:a,Dh:f,Dl:l,Eh:u,El:w,Fh:S,Fl:m,Gh:B,Gl:A,Hh:y,Hl:v}=this;for(let b=0;b<80;b++){let I=ne(u,w,14)^ne(u,w,18)^ze(u,w,41),O=oe(u,w,14)^oe(u,w,18)^Fe(u,w,41),N=u&S^~u&B,k=w&m^~w&A,x=Ss(v,O,k,Cc[b],Wt[b]),g=As(x,y,I,N,Dc[b],jt[b]),K=x|0,M=ne(n,o,28)^ze(n,o,34)^ze(n,o,39),T=oe(n,o,28)^Fe(n,o,34)^Fe(n,o,39),h=n&s^n&c^s&c,p=o&i^o&a^i&a;y=B|0,v=A|0,B=S|0,A=m|0,S=u|0,m=w|0,{h:u,l:w}=_t(f|0,l|0,g|0,K|0),f=c|0,l=a|0,c=s|0,a=i|0,s=n|0,i=o|0;let d=gs(K,T,p);n=xs(d,g,M,h),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:c,l:a}=_t(this.Ch|0,this.Cl|0,c|0,a|0),{h:f,l}=_t(this.Dh|0,this.Dl|0,f|0,l|0),{h:u,l:w}=_t(this.Eh|0,this.El|0,u|0,w|0),{h:S,l:m}=_t(this.Fh|0,this.Fl|0,S|0,m|0),{h:B,l:A}=_t(this.Gh|0,this.Gl|0,B|0,A|0),{h:y,l:v}=_t(this.Hh|0,this.Hl|0,y|0,v|0),this.set(n,o,s,i,c,a,f,l,u,w,S,m,B,A,y,v)}roundClean(){Ot(jt,Wt)}destroy(){Ot(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Dn=class extends _n{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 Ee=En(()=>new In,Sn(1));var Bs=En(()=>new Dn,Sn(3));var Tn=BigInt(0),Cn=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 Is(e){if(typeof e=="bigint"){if(!pr(e))throw new Error("positive bigint expected, got "+e)}else It(e);return e}function Ze(e){let t=Is(e).toString(16);return t.length&1?"0"+t:t}function _s(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Tn:BigInt("0x"+e)}function Se(e){return _s(Kt(e))}function se(e){return _s(Kt(yr(U(e)).reverse()))}function mr(e,t){It(t),e=Is(e);let r=Pt(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw new Error("number too large");return r}function Ln(e,t){return mr(e,t).reverse()}function yr(e){return Uint8Array.from(e)}var pr=e=>typeof e=="bigint"&&Tn<=e;function Tc(e,t,r){return pr(e)&&pr(t)&&pr(r)&&t<=e&&e<r}function Ge(e,t,r,n){if(!Tc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Rn(e){let t;for(t=0;e>Tn;e>>=Cn,t+=1);return t}var $e=e=>(Cn<<BigInt(e))-Cn;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=A=>new Uint8Array(A),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),c=1e3,a=n(e),f=n(e),l=0,u=()=>{a.fill(1),f.fill(0),l=0},w=(...A)=>r(f,bt(a,...A)),S=(A=o)=>{f=w(s,A),a=w(),A.length!==0&&(f=w(i,A),a=w())},m=()=>{if(l++>=c)throw new Error("drbg: tried max amount of iterations");let A=0,y=[];for(;A<t;){a=w();let v=a.slice();y.push(v),A+=a.length}return bt(...y)};return(A,y)=>{u(),S(A);let v;for(;!(v=y(m()));)S();return u(),v}}function Xt(e,t={},r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(s,i,c){let a=e[s];if(c&&a===void 0)return;let f=typeof a;if(f!==i||a===null)throw new Error(`param "${s}" is invalid: expected ${i}, got ${f}`)}let o=(s,i)=>Object.entries(s).forEach(([c,a])=>n(c,a,i));o(t,!1),o(r,!0)}function Ae(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),ie=BigInt(2),Ls=BigInt(3),Rs=BigInt(4),Os=BigInt(5),Lc=BigInt(7),Ks=BigInt(8),Rc=BigInt(9),Ps=BigInt(16);function X(e,t){let r=e%t;return r>=ht?r:t+r}function Z(e,t,r){let n=e;for(;t-- >ht;)n*=n,n%=r;return n}function Cs(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=X(e,t),n=t,o=ht,s=rt,i=rt,c=ht;for(;r!==ht;){let f=n/r,l=n%r,u=o-i*f,w=s-c*f;n=r,r=l,o=i,s=c,i=u,c=w}if(n!==rt)throw new Error("invert: does not exist");return X(o,t)}function Kn(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Us(e,t){let r=(e.ORDER+rt)/Rs,n=e.pow(t,r);return Kn(e,n,t),n}function Oc(e,t){let r=(e.ORDER-Os)/Ks,n=e.mul(t,ie),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,ie),o),c=e.mul(s,e.sub(i,e.ONE));return Kn(e,c,t),c}function Kc(e){let t=ve(e),r=Ns(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Lc)/Ps;return(c,a)=>{let f=c.pow(a,i),l=c.mul(f,n),u=c.mul(f,o),w=c.mul(f,s),S=c.eql(c.sqr(l),a),m=c.eql(c.sqr(u),a);f=c.cmov(f,l,S),l=c.cmov(w,u,m);let B=c.eql(c.sqr(l),a),A=c.cmov(f,l,B);return Kn(c,A,a),A}}function Ns(e){if(e<Ls)throw new Error("sqrt is not defined for small field");let t=e-rt,r=0;for(;t%ie===ht;)t/=ie,r++;let n=ie,o=ve(e);for(;Ts(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Us;let s=o.pow(n,t),i=(t+rt)/ie;return function(a,f){if(a.is0(f))return f;if(Ts(a,f)!==1)throw new Error("Cannot find square root");let l=r,u=a.mul(a.ONE,s),w=a.pow(f,t),S=a.pow(f,i);for(;!a.eql(w,a.ONE);){if(a.is0(w))return a.ZERO;let m=1,B=a.sqr(w);for(;!a.eql(B,a.ONE);)if(m++,B=a.sqr(B),m===l)throw new Error("Cannot find square root");let A=rt<<BigInt(l-m-1),y=a.pow(u,A);l=m,u=a.sqr(y),w=a.mul(w,u),S=a.mul(S,y)}return S}}function Pc(e){return e%Rs===Ls?Us:e%Ks===Os?Oc:e%Ps===Rc?Kc(e):Ns(e)}var ks=(e,t)=>(X(e,t)&rt)===rt,Uc=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Pn(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=Uc.reduce((n,o)=>(n[o]="function",n),t);return Xt(e,r),e}function Nc(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 Ye(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,c,a)=>e.is0(c)?i:(n[a]=i,e.mul(i,c)),e.ONE),s=e.inv(o);return t.reduceRight((i,c,a)=>e.is0(c)?i:(n[a]=e.mul(i,n[a]),e.mul(i,c)),s),n}function Ts(e,t){let r=(e.ORDER-rt)/ie,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 kc(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 On=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}=kc(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 X(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 X(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return X(t*t,this.ORDER)}add(t,r){return X(t+r,this.ORDER)}sub(t,r){return X(t-r,this.ORDER)}mul(t,r){return X(t*r,this.ORDER)}pow(t,r){return Nc(this,t,r)}div(t,r){return X(t*Cs(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 Cs(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=Pc(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?Ln(t,this.BYTES):mr(t,this.BYTES)}fromBytes(t,r=!1){U(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:c}=this;if(n){if(!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let f=new Uint8Array(o);f.set(t,s?0:f.length-t.length),t=f}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let a=s?se(t):Se(t);if(c&&(a=X(a,i)),!r&&!this.isValid(a))throw new Error("invalid field element: outside of range 0..ORDER");return a}invertBatch(t){return Ye(this,t)}cmov(t,r,n){return n?r:t}};function ve(e,t={}){return new On(e,t)}function Ms(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 Un(e){let t=Ms(e);return t+Math.ceil(t/2)}function Nn(e,t,r=!1){U(e);let n=e.length,o=Ms(t),s=Un(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?se(e):Se(e),c=X(i,t-rt)+rt;return r?Ln(c,o):mr(c,o)}var Be=BigInt(0),ae=BigInt(1);function je(e,t){let r=t.negate();return e?r:t}function ce(e,t){let r=Ye(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function zs(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function kn(e,t){zs(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=$e(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function qs(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,c=Number(e&o),a=e>>i;c>n&&(c-=s,a+=ae);let f=t*n,l=f+Math.abs(c)-1,u=c===0,w=c<0,S=t%2!==0;return{nextN:a,offset:l,isZero:u,isNeg:w,isNegF:S,offsetF:f}}var Mn=new WeakMap,Fs=new WeakMap;function qn(e){return Fs.get(e)||1}function Vs(e){if(e!==Be)throw new Error("invalid wNAF")}var Ie=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>Be;)r&ae&&(n=n.add(o)),o=o.double(),r>>=ae;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=kn(r,this.bits),s=[],i=t,c=i;for(let a=0;a<n;a++){c=i,s.push(c);for(let f=1;f<o;f++)c=c.add(i),s.push(c);i=c.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=kn(t,this.bits);for(let c=0;c<i.windows;c++){let{nextN:a,offset:f,isZero:l,isNeg:u,isNegF:w,offsetF:S}=qs(n,c,i);n=a,l?s=s.add(je(w,r[S])):o=o.add(je(u,r[f]))}return Vs(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=kn(t,this.bits);for(let i=0;i<s.windows&&n!==Be;i++){let{nextN:c,offset:a,isZero:f,isNeg:l}=qs(n,i,s);if(n=c,!f){let u=r[a];o=o.add(l?u.negate():u)}}return Vs(n),o}getPrecomputes(t,r,n){let o=Mn.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Mn.set(r,o))),o}cached(t,r,n){let o=qn(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=qn(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){zs(r,this.bits),Fs.set(t,r),Mn.delete(t)}hasCache(t){return qn(t)!==1}};function Zs(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>Be||n>Be;)r&ae&&(s=s.add(o)),n&ae&&(i=i.add(o)),o=o.double(),r>>=ae,n>>=ae;return{p1:s,p2:i}}function Hs(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Pn(t),t}else return ve(e,{isLE:r})}function br(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 a of["p","n","h"]){let f=t[a];if(!(typeof f=="bigint"&&f>Be))throw new Error(`CURVE.${a} must be positive bigint`)}let o=Hs(t.p,r.Fp,n),s=Hs(t.n,r.Fn,n),c=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let a of c)if(!o.isValid(t[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}function gr(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var Jt=BigInt(0),nt=BigInt(1),Vn=BigInt(2),Mc=BigInt(8);function qc(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),c=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,c)}function Gs(e,t={}){let r=br("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Xt(t,{},{uvRatio:"function"});let c=Vn<<BigInt(o.BYTES*8)-nt,a=A=>n.create(A),f=t.uvRatio||((A,y)=>{try{return{isValid:!0,value:n.sqrt(n.div(A,y))}}catch{return{isValid:!1,value:Jt}}});if(!qc(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function l(A,y,v=!1){let b=v?nt:Jt;return Ge("coordinate "+A,y,b,c),y}function u(A){if(!(A instanceof m))throw new Error("EdwardsPoint expected")}let w=Ae((A,y)=>{let{X:v,Y:b,Z:I}=A,O=A.is0();y==null&&(y=O?Mc:n.inv(I));let N=a(v*y),k=a(b*y),x=n.mul(I,y);if(O)return{x:Jt,y:nt};if(x!==nt)throw new Error("invZ was invalid");return{x:N,y:k}}),S=Ae(A=>{let{a:y,d:v}=s;if(A.is0())throw new Error("bad point: ZERO");let{X:b,Y:I,Z:O,T:N}=A,k=a(b*b),x=a(I*I),g=a(O*O),K=a(g*g),M=a(k*y),T=a(g*a(M+x)),h=a(K+a(v*a(k*x)));if(T!==h)throw new Error("bad point: equation left != right (1)");let p=a(b*I),d=a(O*N);if(p!==d)throw new Error("bad point: equation left != right (2)");return!0});class m{static BASE=new m(s.Gx,s.Gy,nt,a(s.Gx*s.Gy));static ZERO=new m(Jt,nt,nt,Jt);static Fp=n;static Fn=o;X;Y;Z;T;constructor(y,v,b,I){this.X=l("x",y),this.Y=l("y",v),this.Z=l("z",b,!0),this.T=l("t",I),Object.freeze(this)}static CURVE(){return s}static fromAffine(y){if(y instanceof m)throw new Error("extended point not allowed");let{x:v,y:b}=y||{};return l("x",v),l("y",b),new m(v,b,nt,a(v*b))}static fromBytes(y,v=!1){let b=n.BYTES,{a:I,d:O}=s;y=yr(U(y,b,"point")),Nt(v,"zip215");let N=yr(y),k=y[b-1];N[b-1]=k&-129;let x=se(N),g=v?c:n.ORDER;Ge("point.y",x,Jt,g);let K=a(x*x),M=a(K-nt),T=a(O*K-I),{isValid:h,value:p}=f(M,T);if(!h)throw new Error("bad point: invalid y coordinate");let d=(p&nt)===nt,E=(k&128)!==0;if(!v&&p===Jt&&E)throw new Error("bad point: x=0 and x_0=1");return E!==d&&(p=a(-p)),m.fromAffine({x:p,y:x})}static fromHex(y,v=!1){return m.fromBytes(Pt(y),v)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,v=!0){return B.createCache(this,y),v||this.multiply(Vn),this}assertValidity(){S(this)}equals(y){u(y);let{X:v,Y:b,Z:I}=this,{X:O,Y:N,Z:k}=y,x=a(v*k),g=a(O*I),K=a(b*k),M=a(N*I);return x===g&&K===M}is0(){return this.equals(m.ZERO)}negate(){return new m(a(-this.X),this.Y,this.Z,a(-this.T))}double(){let{a:y}=s,{X:v,Y:b,Z:I}=this,O=a(v*v),N=a(b*b),k=a(Vn*a(I*I)),x=a(y*O),g=v+b,K=a(a(g*g)-O-N),M=x+N,T=M-k,h=x-N,p=a(K*T),d=a(M*h),E=a(K*h),_=a(T*M);return new m(p,d,_,E)}add(y){u(y);let{a:v,d:b}=s,{X:I,Y:O,Z:N,T:k}=this,{X:x,Y:g,Z:K,T:M}=y,T=a(I*x),h=a(O*g),p=a(k*b*M),d=a(N*K),E=a((I+O)*(x+g)-T-h),_=d-p,C=d+p,L=a(h-v*T),D=a(E*_),R=a(C*L),P=a(E*L),G=a(_*C);return new m(D,R,G,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:v,f:b}=B.cached(this,y,I=>ce(m,I));return ce(m,[v,b])[0]}multiplyUnsafe(y,v=m.ZERO){if(!o.isValid(y))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return y===Jt?m.ZERO:this.is0()||y===nt?this:B.unsafe(this,y,b=>ce(m,b),v)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return B.unsafe(this,s.n).is0()}toAffine(y){return w(this,y)}clearCofactor(){return i===nt?this:this.multiplyUnsafe(i)}toBytes(){let{x:y,y:v}=this.toAffine(),b=n.toBytes(v);return b[b.length-1]|=y&nt?128:0,b}toHex(){return Kt(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let B=new Ie(m,o.BITS);return m.BASE.precompute(8),m}function $s(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Xt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,c=r.randomBytes||we,a=r.adjustScalarBytes||(x=>x),f=r.domain||((x,g,K)=>{if(Nt(K,"phflag"),g.length||K)throw new Error("Contexts/pre-hash are not supported");return x});function l(x){return i.create(se(x))}function u(x){let g=b.secretKey;U(x,b.secretKey,"secretKey");let K=U(t(x),2*g,"hashedSecretKey"),M=a(K.slice(0,g)),T=K.slice(g,2*g),h=l(M);return{head:M,prefix:T,scalar:h}}function w(x){let{head:g,prefix:K,scalar:M}=u(x),T=o.multiply(M),h=T.toBytes();return{head:g,prefix:K,scalar:M,point:T,pointBytes:h}}function S(x){return w(x).pointBytes}function m(x=Uint8Array.of(),...g){let K=bt(...g);return l(t(f(K,U(x,void 0,"context"),!!n)))}function B(x,g,K={}){x=U(x,void 0,"message"),n&&(x=n(x));let{prefix:M,scalar:T,pointBytes:h}=w(g),p=m(K.context,M,x),d=o.multiply(p).toBytes(),E=m(K.context,d,h,x),_=i.create(p+E*T);if(!i.isValid(_))throw new Error("sign failed: invalid s");let C=bt(d,i.toBytes(_));return U(C,b.signature,"result")}let A={zip215:!0};function y(x,g,K,M=A){let{context:T,zip215:h}=M,p=b.signature;x=U(x,p,"signature"),g=U(g,void 0,"message"),K=U(K,b.publicKey,"publicKey"),h!==void 0&&Nt(h,"zip215"),n&&(g=n(g));let d=p/2,E=x.subarray(0,d),_=se(x.subarray(d,p)),C,L,D;try{C=e.fromBytes(K,h),L=e.fromBytes(E,h),D=o.multiplyUnsafe(_)}catch{return!1}if(!h&&C.isSmallOrder())return!1;let R=m(T,L.toBytes(),C.toBytes(),g);return L.add(C.multiplyUnsafe(R)).subtract(D).clearCofactor().is0()}let v=s.BYTES,b={secretKey:v,publicKey:v,signature:2*v,seed:v};function I(x=c(b.seed)){return U(x,b.seed,"seed")}function O(x){return re(x)&&x.length===i.BYTES}function N(x,g){try{return!!e.fromBytes(x,g)}catch{return!1}}let k={getExtendedPublicKey:w,randomSecretKey:I,isValidSecretKey:O,isValidPublicKey:N,toMontgomery(x){let{y:g}=e.fromBytes(x),K=b.publicKey,M=K===32;if(!M&&K!==57)throw new Error("only defined for 25519 and 448");let T=M?s.div(nt+g,nt-g):s.div(g-nt,g+nt);return s.toBytes(T)},toMontgomerySecret(x){let g=b.secretKey;U(x,g);let K=t(x.subarray(0,g));return a(K).subarray(0,g)}};return Object.freeze({keygen:gr(I,S),getPublicKey:S,sign:B,verify:y,utils:k,Point:e,lengths:b})}var Vc=BigInt(1),Ys=BigInt(2);var Hc=BigInt(5),zc=BigInt(8),Hn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Fc={p:Hn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:zc,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=Hn,c=e*e%s*e%s,a=Z(c,Ys,s)*c%s,f=Z(a,Vc,s)*e%s,l=Z(f,Hc,s)*f%s,u=Z(l,t,s)*l%s,w=Z(u,r,s)*u%s,S=Z(w,n,s)*w%s,m=Z(S,o,s)*S%s,B=Z(m,o,s)*S%s,A=Z(B,t,s)*l%s;return{pow_p_5_8:Z(A,Ys,s)*e%s,b2:c}}function Gc(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var js=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function $c(e,t){let r=Hn,n=X(t*t*t,r),o=X(n*n*t,r),s=Zc(e*o).pow_p_5_8,i=X(e*n*s,r),c=X(t*i*i,r),a=i,f=X(i*js,r),l=c===e,u=c===X(-e,r),w=c===X(-e*js,r);return l&&(i=a),(u||w)&&(i=f),ks(i,r)&&(i=X(-i,r)),{isValid:l||u,value:i}}var Yc=Gs(Fc,{uvRatio:$c});function jc(e){return $s(Yc,Bs,Object.assign({adjustScalarBytes:Gc},e))}var Ws=jc({});var We=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},xr=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Xs={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new xr("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=Xs;var wr=32;var zn,Wc=(async()=>{try{return await xt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function Xc(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 Jc(e,t,r){return Ws.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function Js(e,t,r){return zn==null&&(zn=await Wc),zn?Xc(e,t,r):Jc(e,t,r)}function Er(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Sr=class{type="Ed25519";raw;constructor(t){this.raw=Fn(t,wr)}toMultihash(){return Et.digest($t(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return W.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=Js(this.raw,r,t);return Er(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function Zn(e){return e=Fn(e,wr),new Sr(e)}function Fn(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 tf=Math.pow(2,7),ef=Math.pow(2,14),rf=Math.pow(2,21),Gn=Math.pow(2,28),$n=Math.pow(2,35),Yn=Math.pow(2,42),jn=Math.pow(2,49),H=128,ut=127;function wt(e){if(e<tf)return 1;if(e<ef)return 2;if(e<rf)return 3;if(e<Gn)return 4;if(e<$n)return 5;if(e<Yn)return 6;if(e<jn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function _e(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 nf(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 Wn(e,t){let r=e[t],n=0;if(n+=r&ut,r<H||(r=e[t+1],n+=(r&ut)<<7,r<H)||(r=e[t+2],n+=(r&ut)<<14,r<H)||(r=e[t+3],n+=(r&ut)<<21,r<H)||(r=e[t+4],n+=(r&ut)*Gn,r<H)||(r=e[t+5],n+=(r&ut)*$n,r<H)||(r=e[t+6],n+=(r&ut)*Yn,r<H)||(r=e[t+7],n+=(r&ut)*jn,r<H))return n;throw new RangeError("Could not decode varint")}function of(e,t){let r=e.get(t),n=0;if(n+=r&ut,r<H||(r=e.get(t+1),n+=(r&ut)<<7,r<H)||(r=e.get(t+2),n+=(r&ut)<<14,r<H)||(r=e.get(t+3),n+=(r&ut)<<21,r<H)||(r=e.get(t+4),n+=(r&ut)*Gn,r<H)||(r=e.get(t+5),n+=(r&ut)*$n,r<H)||(r=e.get(t+6),n+=(r&ut)*Yn,r<H)||(r=e.get(t+7),n+=(r&ut)*jn,r<H))return n;throw new RangeError("Could not decode varint")}function Ar(e,t,r=0){return t==null&&(t=mt(wt(e))),t instanceof Uint8Array?_e(e,t,r):nf(e,t,r)}function Xn(e,t=0){return e instanceof Uint8Array?Wn(e,t):of(e,t)}var Jn=new Float32Array([-0]),Qt=new Uint8Array(Jn.buffer);function ei(e,t,r){Jn[0]=e,t[r]=Qt[0],t[r+1]=Qt[1],t[r+2]=Qt[2],t[r+3]=Qt[3]}function ri(e,t){return Qt[0]=e[t],Qt[1]=e[t+1],Qt[2]=e[t+2],Qt[3]=e[t+3],Jn[0]}var Qn=new Float64Array([-0]),lt=new Uint8Array(Qn.buffer);function ni(e,t,r){Qn[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 oi(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],Qn[0]}var sf=BigInt(Number.MAX_SAFE_INTEGER),af=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<sf&&t>af)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>si&&(o=0n,++n>si&&(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 si=4294967296n;function ii(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 ai(e,t,r){if(r-t<1)return"";let o,s=[],i=0,c;for(;t<r;)c=e[t++],c<128?s[i++]=c:c>191&&c<224?s[i++]=(c&31)<<6|e[t++]&63:c>239&&c<365?(c=((c&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[i++]=55296+(c>>10),s[i++]=56320+(c&1023)):s[i++]=(c&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 to(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 vr(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var eo=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 vr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw At(this,4);return vr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw At(this,4);let t=ri(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw At(this,4);let t=oi(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 ai(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=vr(this.buf,this.pos+=4),r=vr(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=Wn(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 ro(e){return new eo(e instanceof Uint8Array?e:e.subarray())}function kt(e,t,r){let n=ro(e);return t.decode(n,void 0,r)}function no(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 c=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),c}}var ue=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function oo(){}var io=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},cf=no();function ff(e){return globalThis.Buffer!=null?mt(e):cf(e)}var Je=class{len;head;tail;states;constructor(){this.len=0,this.head=new ue(oo,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new ue(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ao((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(Br,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(Br,r.length(),r)}uint64Number(t){return this._push(_e,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(Br,r.length(),r)}sint64Number(t){let r=gt.fromNumber(t).zzEncode();return this._push(Br,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(so,1,t?1:0)}fixed32(t){return this._push(Xe,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=gt.fromBigInt(t);return this._push(Xe,4,r.lo)._push(Xe,4,r.hi)}fixed64Number(t){let r=gt.fromNumber(t);return this._push(Xe,4,r.lo)._push(Xe,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(ei,4,t)}double(t){return this._push(ni,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(so,1,0):this.uint32(r)._push(lf,r,t)}string(t){let r=ii(t);return r!==0?this.uint32(r)._push(to,r,t):this._push(so,1,0)}fork(){return this.states=new io(this),this.head=this.tail=new ue(oo,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 ue(oo,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=ff(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function so(e,t,r){t[r]=e&255}function uf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var ao=class extends ue{next;constructor(t,r){super(uf,t,r),this.next=void 0}};function Br(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 Xe(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 lf(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Je.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(df,t,e),this},Je.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(hf,t,e),this});function df(e,t,r){t.set(e,r)}function hf(e,t,r){e.length<40?to(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(z(e),r)}function co(){return new Je}function Mt(e,t){let r=co();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var De;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(De||(De={}));function Ir(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function fo(e){function t(o){if(e[o.toString()]==null)throw new Error("Invalid enum value");return e[o]}let r=function(s,i){let c=t(s);i.int32(c)},n=function(s){let i=s.int32();return t(i)};return Ir("enum",De.VARINT,r,n)}function qt(e,t){return Ir("message",De.LENGTH_DELIMITED,e,t)}var _r=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var J;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(J||(J={}));var uo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(uo||(uo={}));(function(e){e.codec=()=>fo(uo)})(J||(J={}));var Dt;(function(e){let t;e.codec=()=>(t==null&&(t=qt((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),J.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let s={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let c=r.uint32();switch(c>>>3){case 1:{s.Type=J.codec().decode(r);break}case 2:{s.Data=r.bytes();break}default:{r.skipType(c&7);break}}}return s})),t),e.encode=r=>Mt(r,e.codec()),e.decode=(r,n)=>kt(r,e.codec(),n)})(Dt||(Dt={}));var lo;(function(e){let t;e.codec=()=>(t==null&&(t=qt((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),J.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let s={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let c=r.uint32();switch(c>>>3){case 1:{s.Type=J.codec().decode(r);break}case 2:{s.Data=r.bytes();break}default:{r.skipType(c&7);break}}}return s})),t),e.encode=r=>Mt(r,e.codec()),e.decode=(r,n)=>kt(r,e.codec(),n)})(lo||(lo={}));var tr={};pt(tr,{MAX_RSA_KEY_SIZE:()=>ho,generateRSAKeyPair:()=>hi,jwkToJWKKeyPair:()=>pi,jwkToPkcs1:()=>bf,jwkToPkix:()=>bo,jwkToRSAPrivateKey:()=>Eo,pkcs1MessageToJwk:()=>mo,pkcs1MessageToRSAPrivateKey:()=>go,pkcs1ToJwk:()=>yf,pkcs1ToRSAPrivateKey:()=>di,pkixMessageToJwk:()=>yo,pkixMessageToRSAPublicKey:()=>wo,pkixToJwk:()=>gf,pkixToRSAPublicKey:()=>xo});var Ce=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=tr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return tt.createV1(114,this._multihash)}toString(){return W.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 li(this.jwk,r,t,n)}},Qe=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=tr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}sign(t,r){return ui(this.jwk,t,r)}};var ho=8192,po=18,pf=1062,mf=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function yf(e){let t=Lt(e);return mo(t)}function mo(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 bf(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 Gt([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 gf(e){let t=Lt(e,{offset:0});return yo(t)}function yo(e){let t=Lt(e[1],{offset:0});return{kty:"RSA",n:V(t[0],"base64url"),e:V(t[1],"base64url")}}function bo(e){if(e.n==null||e.e==null)throw new Q("JWK was missing components");return Gt([mf,ur(Gt([yt(z(e.n,"base64url")),yt(z(e.e,"base64url"))]))]).subarray()}function di(e){let t=Lt(e);return go(t)}function go(e){let t=mo(e);return Eo(t)}function xo(e,t){if(e.byteLength>=pf)throw new de("Key size is too large");let r=Lt(e,{offset:0});return wo(r,e,t)}function wo(e,t,r){let n=yo(e);if(r==null){let o=Ee(Dt.encode({Type:J.RSA,Data:t}));r=Bt(po,o)}return new Ce(n,r)}function Eo(e){if(yi(e)>ho)throw new Q("Key size is too large");let t=pi(e),r=Ee(Dt.encode({Type:J.RSA,Data:bo(t.publicKey)})),n=Bt(po,r);return new Qe(t.privateKey,new Ce(t.publicKey,n))}async function hi(e){if(e>ho)throw new Q("Key size is too large");let t=await mi(e),r=Ee(Dt.encode({Type:J.RSA,Data:bo(t.publicKey)})),n=Bt(po,r);return new Qe(t.privateKey,new Ce(t.publicKey,n))}function pi(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 mi(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 xf(r,t);return{privateKey:n[0],publicKey:n[1]}}async function ui(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 li(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 xf(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 yi(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 Dr=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,r){if(lr(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),Ot(o)}update(t){return xe(this),this.iHash.update(t),this}digestInto(t){xe(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:c}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=c,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()}},So=(e,t,r)=>new Dr(e,t).update(r).digest();So.create=(e,t)=>new Dr(e,t);var bi=(e,t)=>(e+(e>=0?t:-t)/gi)/t;function wf(e,t,r){let[[n,o],[s,i]]=t,c=bi(i*e,r),a=bi(-o*e,r),f=e-c*n-a*s,l=-c*o-a*i,u=f<Vt,w=l<Vt;u&&(f=-f),w&&(l=-l);let S=$e(Math.ceil(Rn(r)/2))+Te;if(f<Vt||f>=S||l<Vt||l>=S)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:u,k1:f,k2neg:w,k2:l}}function vo(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function Ao(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&&vo(r.format),r}var Bo=class extends Error{constructor(t=""){super(t)}},te={Err:Bo,_tlv:{encode:(e,t)=>{let{Err:r}=te;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}=te,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 a=o&127;if(!a)throw new r("tlv.decode(long): indefinite length not supported");if(a>4)throw new r("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+a);if(f.length!==a)throw new r("tlv.decode: length bytes not complete");if(f[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let l of f)i=i<<8|l;if(n+=a,i<128)throw new r("tlv.decode(long): not minimal encoding")}let c=t.subarray(n,n+i);if(c.length!==i)throw new r("tlv.decode: wrong value length");return{v:c,l:t.subarray(n+i)}}},_int:{encode(e){let{Err:t}=te;if(e<Vt)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}=te;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 Se(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=te,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:c,l:a}=n.decode(2,s),{v:f,l}=n.decode(2,a);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(c),s:r.decode(f)}},hexFromSig(e){let{_tlv:t,_int:r}=te,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),s=n+o;return t.encode(48,s)}},Vt=BigInt(0),Te=BigInt(1),gi=BigInt(2),Cr=BigInt(3),Ef=BigInt(4);function xi(e,t={}){let r=br("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:c}=s;Xt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:a}=t;if(a&&(!n.is0(s.a)||typeof a.beta!="bigint"||!Array.isArray(a.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let f=Ei(n,o);function l(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(T,h,p){let{x:d,y:E}=h.toAffine(),_=n.toBytes(d);if(Nt(p,"isCompressed"),p){l();let C=!n.isOdd(E);return bt(wi(C),_)}else return bt(Uint8Array.of(4),_,n.toBytes(E))}function w(T){U(T,void 0,"Point");let{publicKey:h,publicKeyUncompressed:p}=f,d=T.length,E=T[0],_=T.subarray(1);if(d===h&&(E===2||E===3)){let C=n.fromBytes(_);if(!n.isValid(C))throw new Error("bad point: is not on curve, wrong x");let L=B(C),D;try{D=n.sqrt(L)}catch(G){let F=G instanceof Error?": "+G.message:"";throw new Error("bad point: is not on curve, sqrt error"+F)}l();let R=n.isOdd(D);return(E&1)===1!==R&&(D=n.neg(D)),{x:C,y:D}}else if(d===p&&E===4){let C=n.BYTES,L=n.fromBytes(_.subarray(0,C)),D=n.fromBytes(_.subarray(C,C*2));if(!A(L,D))throw new Error("bad point: is not on curve");return{x:L,y:D}}else throw new Error(`bad point: got length ${d}, expected compressed=${h} or uncompressed=${p}`)}let S=t.toBytes||u,m=t.fromBytes||w;function B(T){let h=n.sqr(T),p=n.mul(h,T);return n.add(n.add(p,n.mul(T,s.a)),s.b)}function A(T,h){let p=n.sqr(h),d=B(T);return n.eql(p,d)}if(!A(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let y=n.mul(n.pow(s.a,Cr),Ef),v=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(y,v)))throw new Error("bad curve params: a or b");function b(T,h,p=!1){if(!n.isValid(h)||p&&n.is0(h))throw new Error(`bad point coordinate ${T}`);return h}function I(T){if(!(T instanceof g))throw new Error("Weierstrass Point expected")}function O(T){if(!a||!a.basises)throw new Error("no endo");return wf(T,a.basises,o.ORDER)}let N=Ae((T,h)=>{let{X:p,Y:d,Z:E}=T;if(n.eql(E,n.ONE))return{x:p,y:d};let _=T.is0();h==null&&(h=_?n.ONE:n.inv(E));let C=n.mul(p,h),L=n.mul(d,h),D=n.mul(E,h);if(_)return{x:n.ZERO,y:n.ZERO};if(!n.eql(D,n.ONE))throw new Error("invZ was invalid");return{x:C,y:L}}),k=Ae(T=>{if(T.is0()){if(t.allowInfinityPoint&&!n.is0(T.Y))return;throw new Error("bad point: ZERO")}let{x:h,y:p}=T.toAffine();if(!n.isValid(h)||!n.isValid(p))throw new Error("bad point: x or y not field elements");if(!A(h,p))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function x(T,h,p,d,E){return p=new g(n.mul(p.X,T),p.Y,p.Z),h=je(d,h),p=je(E,p),h.add(p)}class g{static BASE=new g(s.Gx,s.Gy,n.ONE);static ZERO=new g(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(h,p,d){this.X=b("x",h),this.Y=b("y",p,!0),this.Z=b("z",d),Object.freeze(this)}static CURVE(){return s}static fromAffine(h){let{x:p,y:d}=h||{};if(!h||!n.isValid(p)||!n.isValid(d))throw new Error("invalid affine point");if(h instanceof g)throw new Error("projective point not allowed");return n.is0(p)&&n.is0(d)?g.ZERO:new g(p,d,n.ONE)}static fromBytes(h){let p=g.fromAffine(m(U(h,void 0,"point")));return p.assertValidity(),p}static fromHex(h){return g.fromBytes(Pt(h))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(h=8,p=!0){return M.createCache(this,h),p||this.multiply(Cr),this}assertValidity(){k(this)}hasEvenY(){let{y:h}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(h)}equals(h){I(h);let{X:p,Y:d,Z:E}=this,{X:_,Y:C,Z:L}=h,D=n.eql(n.mul(p,L),n.mul(_,E)),R=n.eql(n.mul(d,L),n.mul(C,E));return D&&R}negate(){return new g(this.X,n.neg(this.Y),this.Z)}double(){let{a:h,b:p}=s,d=n.mul(p,Cr),{X:E,Y:_,Z:C}=this,L=n.ZERO,D=n.ZERO,R=n.ZERO,P=n.mul(E,E),G=n.mul(_,_),F=n.mul(C,C),q=n.mul(E,_);return q=n.add(q,q),R=n.mul(E,C),R=n.add(R,R),L=n.mul(h,R),D=n.mul(d,F),D=n.add(L,D),L=n.sub(G,D),D=n.add(G,D),D=n.mul(L,D),L=n.mul(q,L),R=n.mul(d,R),F=n.mul(h,F),q=n.sub(P,F),q=n.mul(h,q),q=n.add(q,R),R=n.add(P,P),P=n.add(R,P),P=n.add(P,F),P=n.mul(P,q),D=n.add(D,P),F=n.mul(_,C),F=n.add(F,F),P=n.mul(F,q),L=n.sub(L,P),R=n.mul(F,G),R=n.add(R,R),R=n.add(R,R),new g(L,D,R)}add(h){I(h);let{X:p,Y:d,Z:E}=this,{X:_,Y:C,Z:L}=h,D=n.ZERO,R=n.ZERO,P=n.ZERO,G=s.a,F=n.mul(s.b,Cr),q=n.mul(p,_),$=n.mul(d,C),st=n.mul(E,L),vt=n.add(p,d),Y=n.add(_,C);vt=n.mul(vt,Y),Y=n.add(q,$),vt=n.sub(vt,Y),Y=n.add(p,E);let ft=n.add(_,L);return Y=n.mul(Y,ft),ft=n.add(q,st),Y=n.sub(Y,ft),ft=n.add(d,E),D=n.add(C,L),ft=n.mul(ft,D),D=n.add($,st),ft=n.sub(ft,D),P=n.mul(G,Y),D=n.mul(F,st),P=n.add(D,P),D=n.sub($,P),P=n.add($,P),R=n.mul(D,P),$=n.add(q,q),$=n.add($,q),st=n.mul(G,st),Y=n.mul(F,Y),$=n.add($,st),st=n.sub(q,st),st=n.mul(G,st),Y=n.add(Y,st),q=n.mul($,Y),R=n.add(R,q),q=n.mul(ft,Y),D=n.mul(vt,D),D=n.sub(D,q),q=n.mul(vt,$),P=n.mul(ft,P),P=n.add(P,q),new g(D,R,P)}subtract(h){return this.add(h.negate())}is0(){return this.equals(g.ZERO)}multiply(h){let{endo:p}=t;if(!o.isValidNot0(h))throw new Error("invalid scalar: out of range");let d,E,_=C=>M.cached(this,C,L=>ce(g,L));if(p){let{k1neg:C,k1:L,k2neg:D,k2:R}=O(h),{p:P,f:G}=_(L),{p:F,f:q}=_(R);E=G.add(q),d=x(p.beta,P,F,C,D)}else{let{p:C,f:L}=_(h);d=C,E=L}return ce(g,[d,E])[0]}multiplyUnsafe(h){let{endo:p}=t,d=this;if(!o.isValid(h))throw new Error("invalid scalar: out of range");if(h===Vt||d.is0())return g.ZERO;if(h===Te)return d;if(M.hasCache(this))return this.multiply(h);if(p){let{k1neg:E,k1:_,k2neg:C,k2:L}=O(h),{p1:D,p2:R}=Zs(g,d,_,L);return x(p.beta,D,R,E,C)}else return M.unsafe(d,h)}toAffine(h){return N(this,h)}isTorsionFree(){let{isTorsionFree:h}=t;return i===Te?!0:h?h(g,this):M.unsafe(this,c).is0()}clearCofactor(){let{clearCofactor:h}=t;return i===Te?this:h?h(g,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(h=!0){return Nt(h,"isCompressed"),this.assertValidity(),S(g,this,h)}toHex(h=!0){return Kt(this.toBytes(h))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let K=o.BITS,M=new Ie(g,t.endo?Math.ceil(K/2):K);return g.BASE.precompute(8),g}function wi(e){return Uint8Array.of(e?2:3)}function Ei(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Sf(e,t={}){let{Fn:r}=e,n=t.randomBytes||we,o=Object.assign(Ei(e.Fp,r),{seed:Un(r.ORDER)});function s(S){try{let m=r.fromBytes(S);return r.isValidNot0(m)}catch{return!1}}function i(S,m){let{publicKey:B,publicKeyUncompressed:A}=o;try{let y=S.length;return m===!0&&y!==B||m===!1&&y!==A?!1:!!e.fromBytes(S)}catch{return!1}}function c(S=n(o.seed)){return Nn(U(S,o.seed,"seed"),r.ORDER)}function a(S,m=!0){return e.BASE.multiply(r.fromBytes(S)).toBytes(m)}function f(S){let{secretKey:m,publicKey:B,publicKeyUncompressed:A}=o;if(!re(S)||"_lengths"in r&&r._lengths||m===B)return;let y=U(S,void 0,"key").length;return y===B||y===A}function l(S,m,B=!0){if(f(S)===!0)throw new Error("first arg must be private key");if(f(m)===!1)throw new Error("second arg must be public key");let A=r.fromBytes(S);return e.fromBytes(m).multiply(A).toBytes(B)}let u={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:c},w=gr(c,a);return Object.freeze({getPublicKey:a,getSharedSecret:l,keygen:w,Point:e,utils:u,lengths:o})}function Si(e,t,r={}){lr(t),Xt(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes||we,o=r.hmac||((p,d)=>So(t,p,d)),{Fp:s,Fn:i}=e,{ORDER:c,BITS:a}=i,{keygen:f,getPublicKey:l,getSharedSecret:u,utils:w,lengths:S}=Sf(e,r),m={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},B=c*gi<s.ORDER;function A(p){let d=c>>Te;return p>d}function y(p,d){if(!i.isValidNot0(d))throw new Error(`invalid signature ${p}: 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 b(p,d){vo(d);let E=S.signature,_=d==="compact"?E:d==="recovered"?E+1:void 0;return U(p,_)}class I{r;s;recovery;constructor(d,E,_){if(this.r=y("r",d),this.s=y("s",E),_!=null){if(v(),![0,1,2,3].includes(_))throw new Error("invalid recovery id");this.recovery=_}Object.freeze(this)}static fromBytes(d,E=m.format){b(d,E);let _;if(E==="der"){let{r:R,s:P}=te.toSig(U(d));return new I(R,P)}E==="recovered"&&(_=d[0],E="compact",d=d.subarray(1));let C=S.signature/2,L=d.subarray(0,C),D=d.subarray(C,C*2);return new I(i.fromBytes(L),i.fromBytes(D),_)}static fromHex(d,E){return this.fromBytes(Pt(d),E)}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:E,s:_}=this,C=this.assertRecovery(),L=C===2||C===3?E+c:E;if(!s.isValid(L))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let D=s.toBytes(L),R=e.fromBytes(bt(wi((C&1)===0),D)),P=i.inv(L),G=N(U(d,void 0,"msgHash")),F=i.create(-G*P),q=i.create(_*P),$=e.BASE.multiplyUnsafe(F).add(R.multiplyUnsafe(q));if($.is0())throw new Error("invalid recovery: point at infinify");return $.assertValidity(),$}hasHighS(){return A(this.s)}toBytes(d=m.format){if(vo(d),d==="der")return Pt(te.hexFromSig(this));let{r:E,s:_}=this,C=i.toBytes(E),L=i.toBytes(_);return d==="recovered"?(v(),bt(Uint8Array.of(this.assertRecovery()),C,L)):bt(C,L)}toHex(d){return Kt(this.toBytes(d))}}let O=r.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");let E=Se(d),_=d.length*8-a;return _>0?E>>BigInt(_):E},N=r.bits2int_modN||function(d){return i.create(O(d))},k=$e(a);function x(p){return Ge("num < 2^"+a,p,Vt,k),i.toBytes(p)}function g(p,d){return U(p,void 0,"message"),d?U(t(p),void 0,"prehashed message"):p}function K(p,d,E){let{lowS:_,prehash:C,extraEntropy:L}=Ao(E,m);p=g(p,C);let D=N(p),R=i.fromBytes(d);if(!i.isValidNot0(R))throw new Error("invalid private key");let P=[x(R),x(D)];if(L!=null&&L!==!1){let $=L===!0?n(S.secretKey):L;P.push(U($,void 0,"extraEntropy"))}let G=bt(...P),F=D;function q($){let st=O($);if(!i.isValidNot0(st))return;let vt=i.inv(st),Y=e.BASE.multiply(st).toAffine(),ft=i.create(Y.x);if(ft===Vt)return;let sr=i.create(vt*i.create(F+ft*R));if(sr===Vt)return;let Uo=(Y.x===ft?0:2)|Number(Y.y&Te),No=sr;return _&&A(sr)&&(No=i.neg(sr),Uo^=1),new I(ft,No,B?void 0:Uo)}return{seed:G,k2sig:q}}function M(p,d,E={}){let{seed:_,k2sig:C}=K(p,d,E);return Ds(t.outputLen,i.BYTES,o)(_,C).toBytes(E.format)}function T(p,d,E,_={}){let{lowS:C,prehash:L,format:D}=Ao(_,m);if(E=U(E,void 0,"publicKey"),d=g(d,L),!re(p)){let R=p instanceof I?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+R)}b(p,D);try{let R=I.fromBytes(p,D),P=e.fromBytes(E);if(C&&R.hasHighS())return!1;let{r:G,s:F}=R,q=N(d),$=i.inv(F),st=i.create(q*$),vt=i.create(G*$),Y=e.BASE.multiplyUnsafe(st).add(P.multiplyUnsafe(vt));return Y.is0()?!1:i.create(Y.x)===G}catch{return!1}}function h(p,d,E={}){let{prehash:_}=Ao(E,m);return d=g(d,_),I.fromBytes(p,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:f,getPublicKey:l,getSharedSecret:u,utils:w,lengths:S,Point:e,sign:M,verify:T,recoverPublicKey:h,Signature:I,hash:t})}var _o={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Af={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Ai=BigInt(2);function vf(e){let t=_o.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),c=BigInt(44),a=BigInt(88),f=e*e*e%t,l=f*f*e%t,u=Z(l,r,t)*l%t,w=Z(u,r,t)*l%t,S=Z(w,Ai,t)*f%t,m=Z(S,o,t)*S%t,B=Z(m,s,t)*m%t,A=Z(B,c,t)*B%t,y=Z(A,a,t)*A%t,v=Z(y,c,t)*B%t,b=Z(v,r,t)*l%t,I=Z(b,i,t)*m%t,O=Z(I,n,t)*f%t,N=Z(O,Ai,t);if(!Io.eql(Io.sqr(N),e))throw new Error("Cannot find square root");return N}var Io=ve(_o.p,{sqrt:vf}),Bf=xi(_o,{Fp:Io,endo:Af}),Le=Si(Bf,Ee);function vi(e,t,r,n){let o=ke.digest(r instanceof Uint8Array?r:r.subarray());if(Er(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 Tr=class{type="secp256k1";raw;_key;constructor(t){this._key=Ii(t),this.raw=Bi(this._key)}toMultihash(){return Et.digest($t(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return W.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 Do(e){return new Tr(e)}function Bi(e){return Le.Point.fromBytes(e).toBytes()}function Ii(e){try{return Le.Point.fromBytes(e),e}catch(t){throw new de(String(t))}}function _i(e,t){let{Type:r,Data:n}=Dt.decode(e),o=n??new Uint8Array;switch(r){case J.RSA:return xo(o,t);case J.Ed25519:return Zn(o);case J.secp256k1:return Do(o);case J.ECDSA:return wn(o);default:throw new he}}function Di(e){let{Type:t,Data:r}=Dt.decode(e.digest),n=r??new Uint8Array;switch(t){case J.Ed25519:return Zn(n);case J.secp256k1:return Do(n);case J.ECDSA:return wn(n);default:throw new he}}function $t(e){return Dt.encode({Type:J[e.type],Data:e.raw})}var er;(function(e){let t;e.codec=()=>(t==null&&(t=qt((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let s={publicKey:it(0),payloadType:it(0),payload:it(0),signature:it(0)},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let c=r.uint32();switch(c>>>3){case 1:{s.publicKey=r.bytes();break}case 2:{s.payloadType=r.bytes();break}case 3:{s.payload=r.bytes();break}case 5:{s.signature=r.bytes();break}default:{r.skipType(c&7);break}}}return s})),t),e.encode=r=>Mt(r,e.codec()),e.decode=(r,n)=>kt(r,e.codec(),n)})(er||(er={}));var Lr=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var Rr=class e{static createFromProtobuf=t=>{let r=er.decode(t),n=_i(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(),c=Ci(o,s,i),a=await r.sign(c.subarray(),n);return new e({publicKey:r.publicKey,payloadType:s,payload:i,signature:a})};static openAndCertify=async(t,r,n)=>{let o=e.createFromProtobuf(t);if(!await o.validate(r,n))throw new Lr("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=er.encode({publicKey:$t(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=Ci(t,this.payloadType,this.payload);return this.publicKey.verify(n.subarray(),this.signature,r)}},Ci=(e,t,r)=>{let n=z(e),o=Ar(n.byteLength),s=Ar(t.length),i=Ar(r.length);return new dt(o,n,s,t,i,r)};var Ti=Symbol.for("nodejs.util.inspect.custom"),If=114,rr=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()})`}[Zr]=!0;toString(){return this.string==null&&(this.string=W.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return tt.createV1(If,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")}[Ti](){return`PeerId(${this.toString()})`}},Or=class extends rr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Kr=class extends rr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Pr=class extends rr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},_f=2336,Ur=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Et.digest(z(this.url))}[Ti](){return`PeerId(${this.url})`}[Zr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return tt.createV1(_f,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=V(t)),t.toString()===this.toString())}};function Li(e){if(Cf(e))return new Or({multihash:e});if(Df(e))try{let t=Di(e);if(t.type==="Ed25519")return new Kr({multihash:e,publicKey:t});if(t.type==="secp256k1")return new Pr({multihash:e,publicKey:t})}catch{let r=V(e.digest);return new Ur(new URL(r))}throw new ir("Supplied PeerID Multihash is invalid")}function Df(e){return e.code===Et.code}function Cf(e){return e.code===ke.code}var ct=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},Ht=class extends Error{static name="ValidationError";name="ValidationError"},Nr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},kr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};var Mr=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,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let w=Number.parseInt(u,t);if(!Number.isNaN(w))return w});if(l===void 0)break;if(s*=t,s+=l,s>f||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&a&&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),[c]=t(s.subarray(0,i));return r.set(s.subarray(0,c),16-c),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Tf=45,Lf=15,qr=new Mr;function Ri(e){if(!(e.length>Lf))return qr.new(e).parseWith(()=>qr.readIPv4Addr())}function Oi(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Tf))return qr.new(e).parseWith(()=>qr.readIPv6Addr())}function Vr(e){return!!Ri(e)}function Ki(e){return!!Oi(e)}function To(e){return t=>V(t,e)}function Lo(e){return t=>z(t,e)}function Re(e){return new DataView(e.buffer).getUint16(e.byteOffset).toString()}function le(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof e=="string"?parseInt(e):e),new Uint8Array(t)}function Pi(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=le(n);return Tt([r,o],r.length+o.length)}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!==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=le(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=Re(r);return`${n}:${o}`}var Oo=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},Ni=function(e){let t=0;e=e.toString().trim();let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=Vr(r[n]),i;s&&(i=Oo(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},ki=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(".")},Mi=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 qi(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 Co=Object.values(Me).map(e=>e.decoder),Rf=(function(){let e=Co[0].or(Co[1]);return Co.slice(2).forEach(t=>e=e.or(t)),e})();function Vi(e){return Rf.decode(e)}function Hi(e){return t=>e.encoder.encode(t)}function Of(e){if(parseInt(e).toString()!==e)throw new Ht("Value must be an integer")}function Kf(e){if(e<0)throw new Ht("Value must be a positive integer, or zero")}function Pf(e){return t=>{if(t>e)throw new Ht(`Value must be smaller than or equal to ${e}`)}}function Uf(...e){return t=>{for(let r of e)r(t)}}var nr=Uf(Of,Kf,Pf(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 kr(`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)}))}},zt=new Ko,Au=[{code:4,name:"ip4",size:32,valueToBytes:Oo,bytesToValue:ki,validate:e=>{if(!Vr(e))throw new Ht(`Invalid IPv4 address "${e}"`)}},{code:6,name:"tcp",size:16,valueToBytes:le,bytesToValue:Re,validate:nr},{code:273,name:"udp",size:16,valueToBytes:le,bytesToValue:Re,validate:nr},{code:33,name:"dccp",size:16,valueToBytes:le,bytesToValue:Re,validate:nr},{code:41,name:"ip6",size:128,valueToBytes:Ni,bytesToValue:Mi,stringToValue:qi,validate:e=>{if(!Ki(e))throw new Ht(`Invalid IPv6 address "${e}"`)}},{code:42,name:"ip6zone",size:ot},{code:43,name:"ipcidr",size:8,bytesToValue:To("base10"),valueToBytes:Lo("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:le,bytesToValue:Re,validate:nr},{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:To("base58btc"),valueToBytes:e=>e.startsWith("Q")||e.startsWith("1")?Lo("base58btc")(e):tt.parse(e).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Ro,valueToBytes:Pi},{code:445,name:"onion3",size:296,bytesToValue:Ro,valueToBytes:Ui},{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:Hi(an),valueToBytes:Vi},{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}];Au.forEach(e=>{zt.addProtocol(e)});function zi(e){let t=[],r=0;for(;r<e.length;){let n=Xn(e,r),o=zt.getProtocol(n),s=wt(n),i=vu(o,e,r+s),c=0;i>0&&o.size===ot&&(c=wt(i));let a=s+c+i,f={code:n,name:o.name,bytes:e.subarray(r,r+a)};if(i>0){let l=r+s+c,u=e.subarray(l,l+i);f.value=o.bytesToValue?.(u)??V(u)}t.push(f),r+=a}return t}function Fi(e){let t=0,r=[];for(let n of e){if(n.bytes==null){let o=zt.getProtocol(n.code),s=wt(n.code),i,c=0,a=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??z(n.value),c=i.byteLength,o.size===ot&&(a=wt(c)));let f=new Uint8Array(s+a+c),l=0;_e(n.code,f,l),l+=s,i!=null&&(o.size===ot&&(_e(c,f,l),l+=a),f.set(i,l)),n.bytes=f}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 c=s===e.length-1;if(i==="/"||c){let a=zt.getProtocol(o);if(r==="protocol"){if(a.size==null||a.size===0){t.push({code:a.code,name:a.name}),n="",o="",r="protocol";continue}else if(c)throw new ct(`Component ${o} was missing value`);r="value"}else if(r==="value"){let f={code:a.code,name:a.name};if(a.size!=null&&a.size!==0){if(n==="")throw new ct(`Component ${o} was missing value`);f.value=a.stringToValue?.(n)??n}t.push(f),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new ct("Incomplete multiaddr");return t}function Gi(e){return`/${e.flatMap(t=>{if(t.value==null)return t.name;let r=zt.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 vu(e,t,r){return e.size==null||e.size===0?0:e.size>0?e.size/8:Xn(t,r)}var Bu=Symbol.for("nodejs.util.inspect.custom"),Po=Symbol.for("@multiformats/multiaddr");function Iu(e){if(e==null&&(e="/"),$i(e))return e.getComponents();if(e instanceof Uint8Array)return zi(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 Hr=class e{[Po]=!0;#t;#e;#r;constructor(t="/",r={}){this.#t=Iu(t),r.validate!==!1&&_u(this)}get bytes(){return this.#r==null&&(this.#r=Fi(this.#t)),this.#r}toString(){return this.#e==null&&(this.#e=Gi(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 Nr(`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)}[Bu](){return`Multiaddr(${this.toString()})`}};function _u(e){e.getComponents().forEach(t=>{let r=zt.getProtocol(t.code);t.value!=null&&r.validate?.(t.value)})}function $i(e){return!!e?.[Po]}function Yi(e){return new Hr(e)}var ji="libp2p-peer-record",Wi=Uint8Array.from([3,1]);var or;(function(e){let t;(function(n){let o;n.codec=()=>(o==null&&(o=qt((s,i,c={})=>{c.lengthDelimited!==!1&&i.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(i.uint32(10),i.bytes(s.multiaddr)),c.lengthDelimited!==!1&&i.ldelim()},(s,i,c={})=>{let a={multiaddr:it(0)},f=i==null?s.len:s.pos+i;for(;s.pos<f;){let l=s.uint32();switch(l>>>3){case 1:{a.multiaddr=s.bytes();break}default:{s.skipType(l&7);break}}}return a})),o),n.encode=s=>Mt(s,n.codec()),n.decode=(s,i)=>kt(s,n.codec(),i)})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=qt((n,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(o.uint32(10),o.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(o.uint32(16),o.uint64(n.seq)),n.addresses!=null)for(let i of n.addresses)o.uint32(26),e.AddressInfo.codec().encode(i,o);s.lengthDelimited!==!1&&o.ldelim()},(n,o,s={})=>{let i={peerId:it(0),seq:0n,addresses:[]},c=o==null?n.len:n.pos+o;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:{i.peerId=n.bytes();break}case 2:{i.seq=n.uint64();break}case 3:{if(s.limits?.addresses!=null&&i.addresses.length===s.limits.addresses)throw new _r('Decode error - map field "addresses" had too many elements');i.addresses.push(e.AddressInfo.codec().decode(n,n.uint32(),{limits:s.limits?.addresses$}));break}default:{n.skipType(a&7);break}}}return i})),r),e.encode=n=>Mt(n,e.codec()),e.decode=(n,o)=>kt(n,e.codec(),o)})(or||(or={}));function Xi(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 zr=class e{static createFromProtobuf=t=>{let r=or.decode(t),n=Li(Ue(r.peerId)),o=(r.addresses??[]).map(i=>Yi(i.multiaddr)),s=r.seq;return new e({peerId:n,multiaddrs:o,seqNumber:s})};static DOMAIN=ji;static CODEC=Wi;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=or.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||!Xi(this.multiaddrs,t.multiaddrs))}};return ra(Du);})();
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);})();
3
3
  /*! Bundled license information:
4
4
 
5
5
  @noble/hashes/utils.js: