@libp2p/peer-record 9.0.7 → 9.0.9

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,10 +1,7 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPeerRecord = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PPeerRecord=(()=>{var Zr=Object.defineProperty;var Qi=Object.getOwnPropertyDescriptor;var ta=Object.getOwnPropertyNames;var ea=Object.prototype.hasOwnProperty;var pt=(e,t)=>{for(var r in t)Zr(e,r,{get:t[r],enumerable:!0})},ra=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ta(t))!ea.call(e,o)&&o!==r&&Zr(e,o,{get:()=>t[o],enumerable:!(n=Qi(t,o))||n.enumerable});return e};var na=e=>ra(Zr({},"__esModule",{value:!0}),e);var Df={};pt(Df,{PeerRecord:()=>Fr,RecordEnvelope:()=>Pr});var Q=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},he=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var cr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var pe=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Yr=Symbol.for("@libp2p/peer-id");var Jr={};pt(Jr,{base58btc:()=>X,base58flickr:()=>fa});var Rf=new Uint8Array(0);function Mo(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function Dt(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function qo(e){return new TextEncoder().encode(e)}function Vo(e){return new TextDecoder().decode(e)}function oa(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var s=e.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var B=0,S=0,b=0,v=h.length;b!==v&&h[b]===0;)b++,B++;for(var g=(v-b)*l+1>>>0,I=new Uint8Array(g);b!==v;){for(var R=h[b],N=0,k=g-1;(R!==0||N<S)&&k!==-1;k--,N++)R+=256*I[k]>>>0,I[k]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");S=N,b++}for(var w=g-S;w!==g&&I[w]===0;)w++;for(var x=c.repeat(B);w<g;++w)x+=e.charAt(I[w]);return x}function y(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var B=0;if(h[B]!==" "){for(var S=0,b=0;h[B]===c;)S++,B++;for(var v=(h.length-B)*u+1>>>0,g=new Uint8Array(v);h[B];){var I=r[h.charCodeAt(B)];if(I===255)return;for(var R=0,N=v-1;(I!==0||R<b)&&N!==-1;N--,R++)I+=a*g[N]>>>0,g[N]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");b=R,B++}if(h[B]!==" "){for(var k=v-b;k!==v&&g[k]===0;)k++;for(var w=new Uint8Array(S+(v-k)),x=S;k!==v;)w[x++]=g[k++];return w}}}function E(h){var B=y(h);if(B)return B;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:y,decode:E}}var sa=oa,ia=sa,zo=ia;var Gr=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},jr=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return $o(this,t)}},Wr=class{decoders;constructor(t){this.decoders=t}or(t){return $o(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function $o(e,t){return new Wr({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Xr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Gr(t,r,n),this.decoder=new jr(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function me({name:e,prefix:t,encode:r,decode:n}){return new Xr(e,t,r,n)}function Ft({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=zo(r,e);return me({prefix:t,name:e,encode:n,decode:s=>Dt(o(s))})}function aa(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,c=0;for(let u=0;u<o;++u){let l=t[e[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|l,i+=r,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function ca(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],i+=8;i>r;)i-=r,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function ua(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function W({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=ua(n);return me({prefix:t,name:e,encode(s){return ca(s,n,r)},decode(s){return aa(s,o,r,e)}})}var X=Ft({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),fa=Ft({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Qr={};pt(Qr,{base32:()=>Zt,base32hex:()=>pa,base32hexpad:()=>ya,base32hexpadupper:()=>ba,base32hexupper:()=>ma,base32pad:()=>da,base32padupper:()=>ha,base32upper:()=>la,base32z:()=>ga});var Zt=W({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),la=W({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),da=W({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ha=W({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),pa=W({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ma=W({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ya=W({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ba=W({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ga=W({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var tn={};pt(tn,{base36:()=>Re,base36upper:()=>xa});var Re=Ft({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),xa=Ft({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var wa=Yo,Fo=128,Ea=127,Sa=~Ea,Aa=Math.pow(2,31);function Yo(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Aa;)t[r++]=e&255|Fo,e/=128;for(;e&Sa;)t[r++]=e&255|Fo,e>>>=7;return t[r]=e|0,Yo.bytes=r-n+1,t}var va=en,Ba=128,Zo=127;function en(e,n){var r=0,n=n||0,o=0,s=n,i,a=e.length;do{if(s>=a)throw en.bytes=0,new RangeError("Could not decode varint");i=e[s++],r+=o<28?(i&Zo)<<o:(i&Zo)*Math.pow(2,o),o+=7}while(i>=Ba);return en.bytes=s-n,r}var Ia=Math.pow(2,7),_a=Math.pow(2,14),Ca=Math.pow(2,21),Da=Math.pow(2,28),Ta=Math.pow(2,35),La=Math.pow(2,42),Oa=Math.pow(2,49),Ra=Math.pow(2,56),Pa=Math.pow(2,63),Ka=function(e){return e<Ia?1:e<_a?2:e<Ca?3:e<Da?4:e<Ta?5:e<La?6:e<Oa?7:e<Ra?8:e<Pa?9:10},Ua={encode:wa,decode:va,encodingLength:Ka},Na=Ua,Pe=Na;function Ke(e,t=0){return[Pe.decode(e,t),Pe.decode.bytes]}function ye(e,t,r=0){return Pe.encode(e,t,r),t}function be(e){return Pe.encodingLength(e)}function Bt(e,t){let r=t.byteLength,n=be(e),o=n+be(r),s=new Uint8Array(o+r);return ye(e,s,0),ye(r,s,n),s.set(t,o),new ge(e,r,t,s)}function Ue(e){let t=Dt(e),[r,n]=Ke(t),[o,s]=Ke(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ge(r,o,i,t)}function Go(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Mo(e.bytes,r.bytes)}}var ge=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function jo(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return Ma(r,rn(e),t??X.encoder);default:return qa(r,rn(e),t??Zt.encoder)}}var Wo=new WeakMap;function rn(e){let t=Wo.get(e);if(t==null){let r=new Map;return Wo.set(e,r),r}return t}var tt=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Ne)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Va)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Bt(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&Go(t.multihash,n.multihash)}toString(t){return jo(this,t)}toJSON(){return{"/":jo(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new e(n,o,s,i??Xo(n,o,s.bytes))}else if(r[Ha]===!0){let{version:n,multihash:o,code:s}=r,i=Ue(o);return e.create(n,s,i)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==Ne)throw new Error(`Version 0 CID must use dag-pb (code: ${Ne}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=Xo(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Ne,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=Dt(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ge(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(i):e.createV1(r.codec,i),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,y]=Ke(t.subarray(r));return r+=y,f},o=n(),s=Ne;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),c=n(),u=r+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(t,r){let[n,o]=ka(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return rn(s).set(n,t),s}};function ka(e,t){switch(e[0]){case"Q":{let r=t??X;return[X.prefix,r.decode(`${X.prefix}${e}`)]}case X.prefix:{let r=t??X;return[X.prefix,r.decode(e)]}case Zt.prefix:{let r=t??Zt;return[Zt.prefix,r.decode(e)]}case Re.prefix:{let r=t??Re;return[Re.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function Ma(e,t,r){let{prefix:n}=r;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o}function qa(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o}var Ne=112,Va=18;function Xo(e,t,r){let n=be(e),o=n+be(t),s=new Uint8Array(o+r.byteLength);return ye(e,s,0),ye(t,s,n),s.set(r,o),s}var Ha=Symbol.for("@ipld/js-cid/CID");var nn={};pt(nn,{identity:()=>Et});var Jo=0,za="identity",Qo=Dt;function $a(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return Bt(Jo,Qo(e))}var Et={code:Jo,name:za,encode:Qo,digest:$a};function et(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function it(e=0){return new Uint8Array(e)}function mt(e=0){return new Uint8Array(e)}function Tt(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=mt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var es=Symbol.for("@achingbrain/uint8arraylist");function ts(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function fr(e){return!!e?.[es]}var dt=class e{bufs;length;[es]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(fr(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(fr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=ts(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ts(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(fr(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:o}=this._subList(t,r);return Tt(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Tt(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),s=new e;return s.length=o,s.bufs=[...n],s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,l=r>a&&r<=c;if(u&&l){if(t===a&&r===c){n.push(i);break}let f=t-a;n.push(i.subarray(f,f+(r-t)));break}if(u){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(l){if(r===c){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!fr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let y=u;y>=0;y--){let E=this.get(f+y);if(n[y]!==E){l=Math.max(1,y-a[E]);break}}if(l===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=mt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=it(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=mt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=it(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=it(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=it(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!et(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,s)=>o+s.byteLength,0)),n.length=r,n}};var on={};pt(on,{base10:()=>Fa});var Fa=Ft({prefix:"9",name:"base10",alphabet:"0123456789"});var sn={};pt(sn,{base16:()=>Za,base16upper:()=>Ya});var Za=W({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ya=W({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var an={};pt(an,{base2:()=>Ga});var Ga=W({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var cn={};pt(cn,{base256emoji:()=>Qa});var rs=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),ja=rs.reduce((e,t,r)=>(e[r]=t,e),[]),Wa=rs.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Xa(e){return e.reduce((t,r)=>(t+=ja[r],t),"")}function Ja(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Wa[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var Qa=me({prefix:"\u{1F680}",name:"base256emoji",encode:Xa,decode:Ja});var fn={};pt(fn,{base64:()=>tc,base64pad:()=>ec,base64url:()=>un,base64urlpad:()=>rc});var tc=W({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ec=W({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),un=W({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rc=W({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ln={};pt(ln,{base8:()=>nc});var nc=W({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dn={};pt(dn,{identity:()=>oc});var oc=me({prefix:"\0",name:"identity",encode:e=>Vo(e),decode:e=>qo(e)});var yl=new TextEncoder,bl=new TextDecoder;var mn={};pt(mn,{sha256:()=>ke,sha512:()=>cc});var ac=20;function pn({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new hn(e,t,r,n,o)}var hn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,s){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??ac,this.maxDigestLength=s}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?ns(n,this.code,r?.truncate):n.then(o=>ns(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ns(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return Bt(t,e)}function ss(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var ke=pn({name:"sha2-256",code:18,encode:ss("SHA-256")}),cc=pn({name:"sha2-512",code:19,encode:ss("SHA-512")});var Me={...dn,...an,...ln,...on,...sn,...Qr,...tn,...Jr,...fn,...cn},Dl={...mn,...nn};function as(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var is=as("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),yn=as("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=mt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),uc={utf8:is,"utf-8":is,hex:Me.base16,latin1:yn,ascii:yn,binary:yn,...Me},lr=uc;function z(e,t="utf8"){let r=lr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function V(e,t="utf8"){let r=lr[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var fc=parseInt("11111",2),bn=parseInt("10000000",2),lc=parseInt("01111111",2),cs={0:qe,1:qe,2:dc,3:mc,4:yc,5:pc,6:hc,16:qe,22:qe,48:qe};function Lt(e,t={offset:0}){let r=e[t.offset]&fc;if(t.offset++,cs[r]!=null)return cs[r](e,t);throw new Error("No decoder for tag "+r)}function Ve(e,t){let r=0;if((e[t.offset]&bn)===bn){let n=e[t.offset]&lc,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function qe(e,t){Ve(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Lt(e,t);if(n===null)break;r.push(n)}return r}function dc(e,t){let r=Ve(e,t),n=t.offset,o=t.offset+r,s=[];for(let i=n;i<o;i++)i===n&&e[i]===0||s.push(e[i]);return t.offset+=r,Uint8Array.from(s)}function hc(e,t){let r=Ve(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,c=[];for(;t.offset<n;){let u=e[t.offset];if(t.offset++,c.push(u&127),u<128){c.reverse();let l=0;for(let f=0;f<c.length;f++)l+=c[f]<<f*7;a+=`.${l}`,c=[]}}return a}function pc(e,t){return t.offset++,null}function mc(e,t){let r=Ve(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function yc(e,t){let r=Ve(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function bc(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new dt;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function gn(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=bc(e.byteLength);return new dt(Uint8Array.from([t.byteLength|bn]),t)}function yt(e){let t=new dt,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new dt(Uint8Array.from([2]),gn(t),t)}function dr(e){let t=Uint8Array.from([0]),r=new dt(t,e);return new dt(Uint8Array.from([3]),gn(r),r)}function Yt(e,t=48){let r=new dt;for(let n of e)r.append(n);return new dt(Uint8Array.from([t]),gn(r),r)}async function us(e,t,r,n){let o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,t,r.subarray());return n?.signal?.throwIfAborted(),s}var gc=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),xc=Uint8Array.from([6,5,43,129,4,0,34]),wc=Uint8Array.from([6,5,43,129,4,0,35]),Ec={ext:!0,kty:"EC",crv:"P-256"},Sc={ext:!0,kty:"EC",crv:"P-384"},Ac={ext:!0,kty:"EC",crv:"P-521"},xn=32,wn=48,En=66;function Sn(e){let t=Lt(e);return fs(t)}function fs(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===xn*2+1)return n=V(t.subarray(r,r+xn),"base64url"),o=V(t.subarray(r+xn),"base64url"),new xe({...Ec,key_ops:["verify"],x:n,y:o});if(t.byteLength===wn*2+1)return n=V(t.subarray(r,r+wn),"base64url"),o=V(t.subarray(r+wn),"base64url"),new xe({...Sc,key_ops:["verify"],x:n,y:o});if(t.byteLength===En*2+1)return n=V(t.subarray(r,r+En),"base64url"),o=V(t.subarray(r+En),"base64url"),new xe({...Ac,key_ops:["verify"],x:n,y:o});throw new Q(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function ls(e){return Yt([yt(Uint8Array.from([1])),Yt([vc(e.crv)],160),Yt([dr(new dt(Uint8Array.from([4]),z(e.x??"","base64url"),z(e.y??"","base64url")))],161)]).subarray()}function vc(e){if(e==="P-256")return gc;if(e==="P-384")return xc;if(e==="P-521")return wc;throw new Q(`Invalid curve ${e}`)}var xe=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=ls(this.jwk)),this._raw}toMultihash(){return Et.digest(Gt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}async verify(t,r,n){return us(this.jwk,r,t,n)}};function ne(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function It(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new Error(`${r}expected integer >= 0, got ${e}`)}}function U(e,t,r=""){let n=ne(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function hr(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");It(e.outputLen),It(e.blockLen)}function we(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function hs(e,t){U(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}function Rt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function pr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function St(e,t){return e<<32-t|e>>>t}var ps=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Bc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Pt(e){if(U(e),ps)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Bc[e[r]];return t}var Ot={_0:48,_9:57,A:65,F:70,a:97,f:102};function ds(e){if(e>=Ot._0&&e<=Ot._9)return e-Ot._0;if(e>=Ot.A&&e<=Ot.F)return e-(Ot.A-10);if(e>=Ot.a&&e<=Ot.f)return e-(Ot.a-10)}function Kt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(ps)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=ds(e.charCodeAt(s)),a=ds(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function bt(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];U(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}function An(e,t={}){let r=(o,s)=>e(s).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function Ee(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var vn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function ms(e,t,r){return e&t^~e&r}function ys(e,t,r){return e&t^e&r^t&r}var He=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=pr(this.buffer)}update(t){we(this),U(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=pr(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){we(this),hs(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Rt(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let f=i;f<o;f++)r[f]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=pr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Ut=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var at=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var mr=BigInt(4294967295),bs=BigInt(32);function Ic(e,t=!1){return t?{h:Number(e&mr),l:Number(e>>bs&mr)}:{h:Number(e>>bs&mr)|0,l:Number(e&mr)|0}}function gs(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Ic(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var Bn=(e,t,r)=>e>>>r,In=(e,t,r)=>e<<32-r|t>>>r,oe=(e,t,r)=>e>>>r|t<<32-r,se=(e,t,r)=>e<<32-r|t>>>r,ze=(e,t,r)=>e<<64-r|t>>>r-32,$e=(e,t,r)=>e>>>r-32|t<<64-r;function _t(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var xs=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),ws=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Es=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Ss=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,As=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),vs=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Cc=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),jt=new Uint32Array(64),_n=class extends He{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)jt[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let y=jt[f-15],E=jt[f-2],h=St(y,7)^St(y,18)^y>>>3,B=St(E,17)^St(E,19)^E>>>10;jt[f]=B+jt[f-7]+h+jt[f-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let y=St(a,6)^St(a,11)^St(a,25),E=l+y+ms(a,c,u)+Cc[f]+jt[f]|0,B=(St(n,2)^St(n,13)^St(n,22))+ys(n,o,s)|0;l=u,u=c,c=a,a=i+E|0,i=s,s=o,o=n,n=E+B|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,o,s,i,a,c,u,l)}roundClean(){Rt(jt)}destroy(){this.set(0,0,0,0,0,0,0,0),Rt(this.buffer)}},Cn=class extends _n{A=Ut[0]|0;B=Ut[1]|0;C=Ut[2]|0;D=Ut[3]|0;E=Ut[4]|0;F=Ut[5]|0;G=Ut[6]|0;H=Ut[7]|0;constructor(){super(32)}};var Bs=gs(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),Dc=Bs[0],Tc=Bs[1],Wt=new Uint32Array(80),Xt=new Uint32Array(80),Dn=class extends He{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:y,Gh:E,Gl:h,Hh:B,Hl:S}=this;return[t,r,n,o,s,i,a,c,u,l,f,y,E,h,B,S]}set(t,r,n,o,s,i,a,c,u,l,f,y,E,h,B,S){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=y|0,this.Gh=E|0,this.Gl=h|0,this.Hh=B|0,this.Hl=S|0}process(t,r){for(let g=0;g<16;g++,r+=4)Wt[g]=t.getUint32(r),Xt[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let I=Wt[g-15]|0,R=Xt[g-15]|0,N=oe(I,R,1)^oe(I,R,8)^Bn(I,R,7),k=se(I,R,1)^se(I,R,8)^In(I,R,7),w=Wt[g-2]|0,x=Xt[g-2]|0,P=oe(w,x,19)^ze(w,x,61)^Bn(w,x,6),M=se(w,x,19)^$e(w,x,61)^In(w,x,6),T=Es(k,M,Xt[g-7],Xt[g-16]),p=Ss(T,N,P,Wt[g-7],Wt[g-16]);Wt[g]=p|0,Xt[g]=T|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:y,Fh:E,Fl:h,Gh:B,Gl:S,Hh:b,Hl:v}=this;for(let g=0;g<80;g++){let I=oe(f,y,14)^oe(f,y,18)^ze(f,y,41),R=se(f,y,14)^se(f,y,18)^$e(f,y,41),N=f&E^~f&B,k=y&h^~y&S,w=As(v,R,k,Tc[g],Xt[g]),x=vs(w,b,I,N,Dc[g],Wt[g]),P=w|0,M=oe(n,o,28)^ze(n,o,34)^ze(n,o,39),T=se(n,o,28)^$e(n,o,34)^$e(n,o,39),p=n&s^n&a^s&a,m=o&i^o&c^i&c;b=B|0,v=S|0,B=E|0,S=h|0,E=f|0,h=y|0,{h:f,l:y}=_t(u|0,l|0,x|0,P|0),u=a|0,l=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let d=xs(P,T,m);n=ws(d,x,M,p),o=d|0}({h:n,l:o}=_t(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=_t(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=_t(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=_t(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:y}=_t(this.Eh|0,this.El|0,f|0,y|0),{h:E,l:h}=_t(this.Fh|0,this.Fl|0,E|0,h|0),{h:B,l:S}=_t(this.Gh|0,this.Gl|0,B|0,S|0),{h:b,l:v}=_t(this.Hh|0,this.Hl|0,b|0,v|0),this.set(n,o,s,i,a,c,u,l,f,y,E,h,B,S,b,v)}roundClean(){Rt(Wt,Xt)}destroy(){Rt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Tn=class extends Dn{Ah=at[0]|0;Al=at[1]|0;Bh=at[2]|0;Bl=at[3]|0;Ch=at[4]|0;Cl=at[5]|0;Dh=at[6]|0;Dl=at[7]|0;Eh=at[8]|0;El=at[9]|0;Fh=at[10]|0;Fl=at[11]|0;Gh=at[12]|0;Gl=at[13]|0;Hh=at[14]|0;Hl=at[15]|0;constructor(){super(64)}};var Se=An(()=>new Cn,vn(1));var Is=An(()=>new Tn,vn(3));var On=BigInt(0),Ln=BigInt(1);function Nt(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function _s(e){if(typeof e=="bigint"){if(!yr(e))throw new Error("positive bigint expected, got "+e)}else It(e);return e}function Fe(e){let t=_s(e).toString(16);return t.length&1?"0"+t:t}function Cs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?On:BigInt("0x"+e)}function Ae(e){return Cs(Pt(e))}function ie(e){return Cs(Pt(gr(U(e)).reverse()))}function br(e,t){It(t),e=_s(e);let r=Kt(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw new Error("number too large");return r}function Rn(e,t){return br(e,t).reverse()}function gr(e){return Uint8Array.from(e)}var yr=e=>typeof e=="bigint"&&On<=e;function Lc(e,t,r){return yr(e)&&yr(t)&&yr(r)&&t<=e&&e<r}function Ze(e,t,r,n){if(!Lc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Pn(e){let t;for(t=0;e>On;e>>=Ln,t+=1);return t}var Ye=e=>(Ln<<BigInt(e))-Ln;function Ds(e,t,r){if(It(e,"hashLen"),It(t,"qByteLen"),typeof r!="function")throw new Error("hmacFn must be a function");let n=S=>new Uint8Array(S),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,c=n(e),u=n(e),l=0,f=()=>{c.fill(1),u.fill(0),l=0},y=(...S)=>r(u,bt(c,...S)),E=(S=o)=>{u=y(s,S),c=y(),S.length!==0&&(u=y(i,S),c=y())},h=()=>{if(l++>=a)throw new Error("drbg: tried max amount of iterations");let S=0,b=[];for(;S<t;){c=y();let v=c.slice();b.push(v),S+=c.length}return bt(...b)};return(S,b)=>{f(),E(S);let v;for(;!(v=b(h()));)E();return f(),v}}function Jt(e,t={},r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(s,i,a){let c=e[s];if(a&&c===void 0)return;let u=typeof c;if(u!==i||c===null)throw new Error(`param "${s}" is invalid: expected ${i}, got ${u}`)}let o=(s,i)=>Object.entries(s).forEach(([a,c])=>n(a,c,i));o(t,!1),o(r,!0)}function ve(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var ht=BigInt(0),rt=BigInt(1),ae=BigInt(2),Os=BigInt(3),Rs=BigInt(4),Ps=BigInt(5),Oc=BigInt(7),Ks=BigInt(8),Rc=BigInt(9),Us=BigInt(16);function J(e,t){let r=e%t;return r>=ht?r:t+r}function F(e,t,r){let n=e;for(;t-- >ht;)n*=n,n%=r;return n}function Ts(e,t){if(e===ht)throw new Error("invert: expected non-zero number");if(t<=ht)throw new Error("invert: expected positive modulus, got "+t);let r=J(e,t),n=t,o=ht,s=rt,i=rt,a=ht;for(;r!==ht;){let u=n/r,l=n%r,f=o-i*u,y=s-a*u;n=r,r=l,o=i,s=a,i=f,a=y}if(n!==rt)throw new Error("invert: does not exist");return J(o,t)}function Un(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Ns(e,t){let r=(e.ORDER+rt)/Rs,n=e.pow(t,r);return Un(e,n,t),n}function Pc(e,t){let r=(e.ORDER-Ps)/Ks,n=e.mul(t,ae),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,ae),o),a=e.mul(s,e.sub(i,e.ONE));return Un(e,a,t),a}function Kc(e){let t=Be(e),r=ks(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Oc)/Us;return(a,c)=>{let u=a.pow(c,i),l=a.mul(u,n),f=a.mul(u,o),y=a.mul(u,s),E=a.eql(a.sqr(l),c),h=a.eql(a.sqr(f),c);u=a.cmov(u,l,E),l=a.cmov(y,f,h);let B=a.eql(a.sqr(l),c),S=a.cmov(u,l,B);return Un(a,S,c),S}}function ks(e){if(e<Os)throw new Error("sqrt is not defined for small field");let t=e-rt,r=0;for(;t%ae===ht;)t/=ae,r++;let n=ae,o=Be(e);for(;Ls(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Ns;let s=o.pow(n,t),i=(t+rt)/ae;return function(c,u){if(c.is0(u))return u;if(Ls(c,u)!==1)throw new Error("Cannot find square root");let l=r,f=c.mul(c.ONE,s),y=c.pow(u,t),E=c.pow(u,i);for(;!c.eql(y,c.ONE);){if(c.is0(y))return c.ZERO;let h=1,B=c.sqr(y);for(;!c.eql(B,c.ONE);)if(h++,B=c.sqr(B),h===l)throw new Error("Cannot find square root");let S=rt<<BigInt(l-h-1),b=c.pow(f,S);l=h,f=c.sqr(b),y=c.mul(y,f),E=c.mul(E,b)}return E}}function Uc(e){return e%Rs===Os?Ns:e%Ks===Ps?Pc:e%Us===Rc?Kc(e):ks(e)}var Ms=(e,t)=>(J(e,t)&rt)===rt,Nc=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Nn(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=Nc.reduce((n,o)=>(n[o]="function",n),t);return Jt(e,r),e}function kc(e,t,r){if(r<ht)throw new Error("invalid exponent, negatives unsupported");if(r===ht)return e.ONE;if(r===rt)return t;let n=e.ONE,o=t;for(;r>ht;)r&rt&&(n=e.mul(n,o)),o=e.sqr(o),r>>=rt;return n}function Ge(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function Ls(e,t){let r=(e.ORDER-rt)/ae,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function Mc(e,t){t!==void 0&&It(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}var Kn=class{ORDER;BITS;BYTES;isLE;ZERO=ht;ONE=rt;_lengths;_sqrt;_mod;constructor(t,r={}){if(t<=ht)throw new Error("invalid field: expected ORDER > 0, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&(this.sqrt=r.sqrt),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=r.allowedLengths?.slice()),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:s}=Mc(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return J(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return ht<=t&&t<this.ORDER}is0(t){return t===ht}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&rt)===rt}neg(t){return J(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return J(t*t,this.ORDER)}add(t,r){return J(t+r,this.ORDER)}sub(t,r){return J(t-r,this.ORDER)}mul(t,r){return J(t*r,this.ORDER)}pow(t,r){return kc(this,t,r)}div(t,r){return J(t*Ts(r,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,r){return t+r}subN(t,r){return t-r}mulN(t,r){return t*r}inv(t){return Ts(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=Uc(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?Rn(t,this.BYTES):br(t,this.BYTES)}fromBytes(t,r=!1){U(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let u=new Uint8Array(o);u.set(t,s?0:u.length-t.length),t=u}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let c=s?ie(t):Ae(t);if(a&&(c=J(c,i)),!r&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return Ge(this,t)}cmov(t,r,n){return n?r:t}};function Be(e,t={}){return new Kn(e,t)}function qs(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function kn(e){let t=qs(e);return t+Math.ceil(t/2)}function Mn(e,t,r=!1){U(e);let n=e.length,o=qs(t),s=kn(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?ie(e):Ae(e),a=J(i,t-rt)+rt;return r?Rn(a,o):br(a,o)}var Ie=BigInt(0),ce=BigInt(1);function je(e,t){let r=t.negate();return e?r:t}function ue(e,t){let r=Ge(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function $s(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function qn(e,t){$s(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=Ye(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Vs(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=ce);let u=t*n,l=u+Math.abs(a)-1,f=a===0,y=a<0,E=t%2!==0;return{nextN:c,offset:l,isZero:f,isNeg:y,isNegF:E,offsetF:u}}var Vn=new WeakMap,Fs=new WeakMap;function Hn(e){return Fs.get(e)||1}function Hs(e){if(e!==Ie)throw new Error("invalid wNAF")}var _e=class{BASE;ZERO;Fn;bits;constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>Ie;)r&ce&&(n=n.add(o)),o=o.double(),r>>=ce;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=qn(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=qn(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:f,isNegF:y,offsetF:E}=Vs(n,a,i);n=c,l?s=s.add(je(y,r[E])):o=o.add(je(f,r[u]))}return Hs(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=qn(t,this.bits);for(let i=0;i<s.windows&&n!==Ie;i++){let{nextN:a,offset:c,isZero:u,isNeg:l}=Vs(n,i,s);if(n=a,!u){let f=r[c];o=o.add(l?f.negate():f)}}return Hs(n),o}getPrecomputes(t,r,n){let o=Vn.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Vn.set(r,o))),o}cached(t,r,n){let o=Hn(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=Hn(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){$s(r,this.bits),Fs.set(t,r),Vn.delete(t)}hasCache(t){return Hn(t)!==1}};function Zs(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>Ie||n>Ie;)r&ce&&(s=s.add(o)),n&ce&&(i=i.add(o)),o=o.double(),r>>=ce,n>>=ce;return{p1:s,p2:i}}function zs(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Nn(t),t}else return Be(e,{isLE:r})}function xr(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>Ie))throw new Error(`CURVE.${c} must be positive bigint`)}let o=zs(t.p,r.Fp,n),s=zs(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}function wr(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var Qt=BigInt(0),nt=BigInt(1),zn=BigInt(2),qc=BigInt(8);function Vc(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function Ys(e,t={}){let r=xr("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Jt(t,{},{uvRatio:"function"});let a=zn<<BigInt(o.BYTES*8)-nt,c=S=>n.create(S),u=t.uvRatio||((S,b)=>{try{return{isValid:!0,value:n.sqrt(n.div(S,b))}}catch{return{isValid:!1,value:Qt}}});if(!Vc(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function l(S,b,v=!1){let g=v?nt:Qt;return Ze("coordinate "+S,b,g,a),b}function f(S){if(!(S instanceof h))throw new Error("EdwardsPoint expected")}let y=ve((S,b)=>{let{X:v,Y:g,Z:I}=S,R=S.is0();b==null&&(b=R?qc:n.inv(I));let N=c(v*b),k=c(g*b),w=n.mul(I,b);if(R)return{x:Qt,y:nt};if(w!==nt)throw new Error("invZ was invalid");return{x:N,y:k}}),E=ve(S=>{let{a:b,d:v}=s;if(S.is0())throw new Error("bad point: ZERO");let{X:g,Y:I,Z:R,T:N}=S,k=c(g*g),w=c(I*I),x=c(R*R),P=c(x*x),M=c(k*b),T=c(x*c(M+w)),p=c(P+c(v*c(k*w)));if(T!==p)throw new Error("bad point: equation left != right (1)");let m=c(g*I),d=c(R*N);if(m!==d)throw new Error("bad point: equation left != right (2)");return!0});class h{static BASE=new h(s.Gx,s.Gy,nt,c(s.Gx*s.Gy));static ZERO=new h(Qt,nt,nt,Qt);static Fp=n;static Fn=o;X;Y;Z;T;constructor(b,v,g,I){this.X=l("x",b),this.Y=l("y",v),this.Z=l("z",g,!0),this.T=l("t",I),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){if(b instanceof h)throw new Error("extended point not allowed");let{x:v,y:g}=b||{};return l("x",v),l("y",g),new h(v,g,nt,c(v*g))}static fromBytes(b,v=!1){let g=n.BYTES,{a:I,d:R}=s;b=gr(U(b,g,"point")),Nt(v,"zip215");let N=gr(b),k=b[g-1];N[g-1]=k&-129;let w=ie(N),x=v?a:n.ORDER;Ze("point.y",w,Qt,x);let P=c(w*w),M=c(P-nt),T=c(R*P-I),{isValid:p,value:m}=u(M,T);if(!p)throw new Error("bad point: invalid y coordinate");let d=(m&nt)===nt,A=(k&128)!==0;if(!v&&m===Qt&&A)throw new Error("bad point: x=0 and x_0=1");return A!==d&&(m=c(-m)),h.fromAffine({x:m,y:w})}static fromHex(b,v=!1){return h.fromBytes(Kt(b),v)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,v=!0){return B.createCache(this,b),v||this.multiply(zn),this}assertValidity(){E(this)}equals(b){f(b);let{X:v,Y:g,Z:I}=this,{X:R,Y:N,Z:k}=b,w=c(v*k),x=c(R*I),P=c(g*k),M=c(N*I);return w===x&&P===M}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:b}=s,{X:v,Y:g,Z:I}=this,R=c(v*v),N=c(g*g),k=c(zn*c(I*I)),w=c(b*R),x=v+g,P=c(c(x*x)-R-N),M=w+N,T=M-k,p=w-N,m=c(P*T),d=c(M*p),A=c(P*p),_=c(T*M);return new h(m,d,_,A)}add(b){f(b);let{a:v,d:g}=s,{X:I,Y:R,Z:N,T:k}=this,{X:w,Y:x,Z:P,T:M}=b,T=c(I*w),p=c(R*x),m=c(k*g*M),d=c(N*P),A=c((I+R)*(w+x)-T-p),_=d-m,D=d+m,L=c(p-v*T),C=c(A*_),O=c(D*L),K=c(A*L),Y=c(_*D);return new h(C,O,Y,K)}subtract(b){return this.add(b.negate())}multiply(b){if(!o.isValidNot0(b))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:v,f:g}=B.cached(this,b,I=>ue(h,I));return ue(h,[v,g])[0]}multiplyUnsafe(b,v=h.ZERO){if(!o.isValid(b))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return b===Qt?h.ZERO:this.is0()||b===nt?this:B.unsafe(this,b,g=>ue(h,g),v)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return B.unsafe(this,s.n).is0()}toAffine(b){return y(this,b)}clearCofactor(){return i===nt?this:this.multiplyUnsafe(i)}toBytes(){let{x:b,y:v}=this.toAffine(),g=n.toBytes(v);return g[g.length-1]|=b&nt?128:0,g}toHex(){return Pt(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let B=new _e(h,o.BITS);return h.BASE.precompute(8),h}function Gs(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Jt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||Ee,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,x,P)=>{if(Nt(P,"phflag"),x.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function l(w){return i.create(ie(w))}function f(w){let x=g.secretKey;U(w,g.secretKey,"secretKey");let P=U(t(w),2*x,"hashedSecretKey"),M=c(P.slice(0,x)),T=P.slice(x,2*x),p=l(M);return{head:M,prefix:T,scalar:p}}function y(w){let{head:x,prefix:P,scalar:M}=f(w),T=o.multiply(M),p=T.toBytes();return{head:x,prefix:P,scalar:M,point:T,pointBytes:p}}function E(w){return y(w).pointBytes}function h(w=Uint8Array.of(),...x){let P=bt(...x);return l(t(u(P,U(w,void 0,"context"),!!n)))}function B(w,x,P={}){w=U(w,void 0,"message"),n&&(w=n(w));let{prefix:M,scalar:T,pointBytes:p}=y(x),m=h(P.context,M,w),d=o.multiply(m).toBytes(),A=h(P.context,d,p,w),_=i.create(m+A*T);if(!i.isValid(_))throw new Error("sign failed: invalid s");let D=bt(d,i.toBytes(_));return U(D,g.signature,"result")}let S={zip215:!0};function b(w,x,P,M=S){let{context:T,zip215:p}=M,m=g.signature;w=U(w,m,"signature"),x=U(x,void 0,"message"),P=U(P,g.publicKey,"publicKey"),p!==void 0&&Nt(p,"zip215"),n&&(x=n(x));let d=m/2,A=w.subarray(0,d),_=ie(w.subarray(d,m)),D,L,C;try{D=e.fromBytes(P,p),L=e.fromBytes(A,p),C=o.multiplyUnsafe(_)}catch{return!1}if(!p&&D.isSmallOrder())return!1;let O=h(T,L.toBytes(),D.toBytes(),x);return L.add(D.multiplyUnsafe(O)).subtract(C).clearCofactor().is0()}let v=s.BYTES,g={secretKey:v,publicKey:v,signature:2*v,seed:v};function I(w=a(g.seed)){return U(w,g.seed,"seed")}function R(w){return ne(w)&&w.length===i.BYTES}function N(w,x){try{return!!e.fromBytes(w,x)}catch{return!1}}let k={getExtendedPublicKey:y,randomSecretKey:I,isValidSecretKey:R,isValidPublicKey:N,toMontgomery(w){let{y:x}=e.fromBytes(w),P=g.publicKey,M=P===32;if(!M&&P!==57)throw new Error("only defined for 25519 and 448");let T=M?s.div(nt+x,nt-x):s.div(x-nt,x+nt);return s.toBytes(T)},toMontgomerySecret(w){let x=g.secretKey;U(w,x);let P=t(w.subarray(0,x));return c(P).subarray(0,x)}};return Object.freeze({keygen:wr(I,E),getPublicKey:E,sign:B,verify:b,utils:k,Point:e,lengths:g})}var Hc=BigInt(1),js=BigInt(2);var zc=BigInt(5),$c=BigInt(8),$n=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Fc={p:$n,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:$c,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Zc(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=$n,a=e*e%s*e%s,c=F(a,js,s)*a%s,u=F(c,Hc,s)*e%s,l=F(u,zc,s)*u%s,f=F(l,t,s)*l%s,y=F(f,r,s)*f%s,E=F(y,n,s)*y%s,h=F(E,o,s)*E%s,B=F(h,o,s)*E%s,S=F(B,t,s)*l%s;return{pow_p_5_8:F(S,js,s)*e%s,b2:a}}function Yc(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Ws=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Gc(e,t){let r=$n,n=J(t*t*t,r),o=J(n*n*t,r),s=Zc(e*o).pow_p_5_8,i=J(e*n*s,r),a=J(t*i*i,r),c=i,u=J(i*Ws,r),l=a===e,f=a===J(-e,r),y=a===J(-e*Ws,r);return l&&(i=c),(f||y)&&(i=u),Ms(i,r)&&(i=J(-i,r)),{isValid:l||f,value:i}}var jc=Ys(Fc,{uvRatio:Gc});function Wc(e){return Gs(jc,Is,Object.assign({adjustScalarBytes:Yc},e))}var Xs=Wc({});var We=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Er=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Js={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Er("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var xt=Js;var Sr=32;var Fn,Xc=(async()=>{try{return await xt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function Jc(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await xt.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await xt.get().subtle.verify({name:"Ed25519"},n,t,r instanceof Uint8Array?r:r.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function Qc(e,t,r){return Xs.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function Qs(e,t,r){return Fn==null&&(Fn=await Xc),Fn?Jc(e,t,r):Qc(e,t,r)}function Ar(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var vr=class{type="Ed25519";raw;constructor(t){this.raw=Zn(t,Sr)}toMultihash(){return Et.digest(Gt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=Qs(this.raw,r,t);return Ar(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function Yn(e){return e=Zn(e,Sr),new vr(e)}function Zn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new Q(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var eu=Math.pow(2,7),ru=Math.pow(2,14),nu=Math.pow(2,21),Gn=Math.pow(2,28),jn=Math.pow(2,35),Wn=Math.pow(2,42),Xn=Math.pow(2,49),H=128,ft=127;function wt(e){if(e<eu)return 1;if(e<ru)return 2;if(e<nu)return 3;if(e<Gn)return 4;if(e<jn)return 5;if(e<Wn)return 6;if(e<Xn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ce(e,t,r=0){switch(wt(e)){case 8:t[r++]=e&255|H,e/=128;case 7:t[r++]=e&255|H,e/=128;case 6:t[r++]=e&255|H,e/=128;case 5:t[r++]=e&255|H,e/=128;case 4:t[r++]=e&255|H,e>>>=7;case 3:t[r++]=e&255|H,e>>>=7;case 2:t[r++]=e&255|H,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function ou(e,t,r=0){switch(wt(e)){case 8:t.set(r++,e&255|H),e/=128;case 7:t.set(r++,e&255|H),e/=128;case 6:t.set(r++,e&255|H),e/=128;case 5:t.set(r++,e&255|H),e/=128;case 4:t.set(r++,e&255|H),e>>>=7;case 3:t.set(r++,e&255|H),e>>>=7;case 2:t.set(r++,e&255|H),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Jn(e,t){let r=e[t],n=0;if(n+=r&ft,r<H||(r=e[t+1],n+=(r&ft)<<7,r<H)||(r=e[t+2],n+=(r&ft)<<14,r<H)||(r=e[t+3],n+=(r&ft)<<21,r<H)||(r=e[t+4],n+=(r&ft)*Gn,r<H)||(r=e[t+5],n+=(r&ft)*jn,r<H)||(r=e[t+6],n+=(r&ft)*Wn,r<H)||(r=e[t+7],n+=(r&ft)*Xn,r<H))return n;throw new RangeError("Could not decode varint")}function su(e,t){let r=e.get(t),n=0;if(n+=r&ft,r<H||(r=e.get(t+1),n+=(r&ft)<<7,r<H)||(r=e.get(t+2),n+=(r&ft)<<14,r<H)||(r=e.get(t+3),n+=(r&ft)<<21,r<H)||(r=e.get(t+4),n+=(r&ft)*Gn,r<H)||(r=e.get(t+5),n+=(r&ft)*jn,r<H)||(r=e.get(t+6),n+=(r&ft)*Wn,r<H)||(r=e.get(t+7),n+=(r&ft)*Xn,r<H))return n;throw new RangeError("Could not decode varint")}function Br(e,t,r=0){return t==null&&(t=mt(wt(e))),t instanceof Uint8Array?Ce(e,t,r):ou(e,t,r)}function Qn(e,t=0){return e instanceof Uint8Array?Jn(e,t):su(e,t)}var to=new Float32Array([-0]),te=new Uint8Array(to.buffer);function ri(e,t,r){to[0]=e,t[r]=te[0],t[r+1]=te[1],t[r+2]=te[2],t[r+3]=te[3]}function ni(e,t){return te[0]=e[t],te[1]=e[t+1],te[2]=e[t+2],te[3]=e[t+3],to[0]}var eo=new Float64Array([-0]),lt=new Uint8Array(eo.buffer);function oi(e,t,r){eo[0]=e,t[r]=lt[0],t[r+1]=lt[1],t[r+2]=lt[2],t[r+3]=lt[3],t[r+4]=lt[4],t[r+5]=lt[5],t[r+6]=lt[6],t[r+7]=lt[7]}function si(e,t){return lt[0]=e[t],lt[1]=e[t+1],lt[2]=e[t+2],lt[3]=e[t+3],lt[4]=e[t+4],lt[5]=e[t+5],lt[6]=e[t+6],lt[7]=e[t+7],eo[0]}var iu=BigInt(Number.MAX_SAFE_INTEGER),au=BigInt(Number.MIN_SAFE_INTEGER),gt=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return fe;if(t<iu&&t>au)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>ii&&(o=0n,++n>ii&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return fe;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):fe}},fe=new gt(0,0);fe.toBigInt=function(){return 0n};fe.zzEncode=fe.zzDecode=function(){return this};fe.length=function(){return 1};var ii=4294967296n;function ai(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function ci(e,t,r){if(r-t<1)return"";let o,s=[],i=0,a;for(;t<r;)a=e[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function ro(e,t,r){let n=r,o,s;for(let i=0;i<e.length;++i)o=e.charCodeAt(i),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function At(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Ir(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var no=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,At(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw At(this,4);return Ir(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw At(this,4);return Ir(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw At(this,4);let t=ni(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw At(this,4);let t=si(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw At(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return ci(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw At(this,t);this.pos+=t}else do if(this.pos>=this.len)throw At(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new gt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw At(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw At(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw At(this,8);let t=Ir(this.buf,this.pos+=4),r=Ir(this.buf,this.pos+=4);return new gt(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Jn(this.buf,this.pos);return this.pos+=wt(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Xe(e){return new no(e instanceof Uint8Array?e:e.subarray())}function kt(e,t,r){let n=Xe(e);return t.decode(n,void 0,r)}function oo(e){let t=e??8192,r=t>>>1,n,o=t;return function(i){if(i<1||i>r)return mt(i);o+i>t&&(n=mt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var le=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function so(){}var ao=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},cu=oo();function uu(e){return globalThis.Buffer!=null?mt(e):cu(e)}var Qe=class{len;head;tail;states;constructor(){this.len=0,this.head=new le(so,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new le(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new co((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(_r,10,gt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=gt.fromBigInt(t);return this._push(_r,r.length(),r)}uint64Number(t){return this._push(Ce,wt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=gt.fromBigInt(t).zzEncode();return this._push(_r,r.length(),r)}sint64Number(t){let r=gt.fromNumber(t).zzEncode();return this._push(_r,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(io,1,t?1:0)}fixed32(t){return this._push(Je,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=gt.fromBigInt(t);return this._push(Je,4,r.lo)._push(Je,4,r.hi)}fixed64Number(t){let r=gt.fromNumber(t);return this._push(Je,4,r.lo)._push(Je,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(ri,4,t)}double(t){return this._push(oi,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(io,1,0):this.uint32(r)._push(lu,r,t)}string(t){let r=ai(t);return r!==0?this.uint32(r)._push(ro,r,t):this._push(io,1,0)}fork(){return this.states=new ao(this),this.head=this.tail=new le(so,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new le(so,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=uu(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function io(e,t,r){t[r]=e&255}function fu(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var co=class extends le{next;constructor(t,r){super(fu,t,r),this.next=void 0}};function _r(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Je(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function lu(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Qe.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(du,t,e),this},Qe.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(hu,t,e),this});function du(e,t,r){t.set(e,r)}function hu(e,t,r){e.length<40?ro(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(z(e),r)}function uo(){return new Qe}function Mt(e,t){let r=uo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}function*qt(e,t,r){let n=Xe(e);yield*t.stream(n,void 0,"$",r)}var Cr={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function Dr(e,t,r,n,o){return{name:e,type:t,encode:r,decode:n,stream:o}}function fo(e){function t(s){if(e[s.toString()]==null)throw new Error("Invalid enum value");return e[s]}let r=function(i,a){let c=t(i);a.int32(c)},n=function(i){let a=i.int32();return t(a)},o=function*(i){let a=i.int32();yield t(a)};return Dr("enum",Cr.VARINT,r,n,o)}function Vt(e,t,r){return Dr("message",Cr.LENGTH_DELIMITED,e,t,r)}var tr=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var Z;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(Z||(Z={}));var lo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(lo||(lo={}));(function(e){e.codec=()=>fo(lo)})(Z||(Z={}));var Ct;(function(e){let t;e.codec=()=>(t==null&&(t=Vt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),Z.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.Type=Z.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:Z.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return kt(s,e.codec(),i)}e.decode=n;function o(s,i){return qt(s,e.codec(),i)}e.stream=o})(Ct||(Ct={}));var ho;(function(e){let t;e.codec=()=>(t==null&&(t=Vt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),Z.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.Type=Z.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:Z.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return kt(s,e.codec(),i)}e.decode=n;function o(s,i){return qt(s,e.codec(),i)}e.stream=o})(ho||(ho={}));var rr={};pt(rr,{MAX_RSA_KEY_SIZE:()=>po,generateRSAKeyPair:()=>pi,jwkToJWKKeyPair:()=>mi,jwkToPkcs1:()=>bu,jwkToPkix:()=>go,jwkToRSAPrivateKey:()=>So,pkcs1MessageToJwk:()=>yo,pkcs1MessageToRSAPrivateKey:()=>xo,pkcs1ToJwk:()=>yu,pkcs1ToRSAPrivateKey:()=>hi,pkixMessageToJwk:()=>bo,pkixMessageToRSAPublicKey:()=>Eo,pkixToJwk:()=>gu,pkixToRSAPublicKey:()=>wo});var De=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=rr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return tt.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){return di(this.jwk,r,t,n)}},er=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=rr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}sign(t,r){return li(this.jwk,t,r)}};var po=8192,mo=18,pu=1062,mu=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function yu(e){let t=Lt(e);return yo(t)}function yo(e){return{n:V(e[1],"base64url"),e:V(e[2],"base64url"),d:V(e[3],"base64url"),p:V(e[4],"base64url"),q:V(e[5],"base64url"),dp:V(e[6],"base64url"),dq:V(e[7],"base64url"),qi:V(e[8],"base64url"),kty:"RSA"}}function bu(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new Q("JWK was missing components");return Yt([yt(Uint8Array.from([0])),yt(z(e.n,"base64url")),yt(z(e.e,"base64url")),yt(z(e.d,"base64url")),yt(z(e.p,"base64url")),yt(z(e.q,"base64url")),yt(z(e.dp,"base64url")),yt(z(e.dq,"base64url")),yt(z(e.qi,"base64url"))]).subarray()}function gu(e){let t=Lt(e,{offset:0});return bo(t)}function bo(e){let t=Lt(e[1],{offset:0});return{kty:"RSA",n:V(t[0],"base64url"),e:V(t[1],"base64url")}}function go(e){if(e.n==null||e.e==null)throw new Q("JWK was missing components");return Yt([mu,dr(Yt([yt(z(e.n,"base64url")),yt(z(e.e,"base64url"))]))]).subarray()}function hi(e){let t=Lt(e);return xo(t)}function xo(e){let t=yo(e);return So(t)}function wo(e,t){if(e.byteLength>=pu)throw new he("Key size is too large");let r=Lt(e,{offset:0});return Eo(r,e,t)}function Eo(e,t,r){let n=bo(e);if(r==null){let o=Se(Ct.encode({Type:Z.RSA,Data:t}));r=Bt(mo,o)}return new De(n,r)}function So(e){if(bi(e)>po)throw new Q("Key size is too large");let t=mi(e),r=Se(Ct.encode({Type:Z.RSA,Data:go(t.publicKey)})),n=Bt(mo,r);return new er(t.privateKey,new De(t.publicKey,n))}async function pi(e){if(e>po)throw new Q("Key size is too large");let t=await yi(e),r=Se(Ct.encode({Type:Z.RSA,Data:go(t.publicKey)})),n=Bt(mo,r);return new er(t.privateKey,new De(t.publicKey,n))}function mi(e){if(e==null)throw new Q("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}async function yi(e,t){let r=await xt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await xu(r,t);return{privateKey:n[0],publicKey:n[1]}}async function li(e,t,r){let n=await xt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await xt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return r?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function di(e,t,r,n){let o=await xt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await xt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),s}async function xu(e,t){if(e.privateKey==null||e.publicKey==null)throw new Q("Private and public key are required");let r=await Promise.all([xt.get().subtle.exportKey("jwk",e.privateKey),xt.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function bi(e){if(e.kty!=="RSA")throw new Q("invalid key type");if(e.n==null)throw new Q("invalid key modulus");return z(e.n,"base64url").length*8}var Tr=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,r){if(hr(t),U(r,void 0,"key"),this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(r.length>n?t.create().update(r).digest():r);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),Rt(o)}update(t){return we(this),this.iHash.update(t),this}digestInto(t){we(this),U(t,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||=Object.create(Object.getPrototypeOf(this),{});let{oHash:r,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ao=(e,t,r)=>new Tr(e,t).update(r).digest();Ao.create=(e,t)=>new Tr(e,t);var gi=(e,t)=>(e+(e>=0?t:-t)/xi)/t;function wu(e,t,r){let[[n,o],[s,i]]=t,a=gi(i*e,r),c=gi(-o*e,r),u=e-a*n-c*s,l=-a*o-c*i,f=u<Ht,y=l<Ht;f&&(u=-u),y&&(l=-l);let E=Ye(Math.ceil(Pn(r)/2))+Te;if(u<Ht||u>=E||l<Ht||l>=E)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:u,k2neg:y,k2:l}}function Bo(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function vo(e,t){let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return Nt(r.lowS,"lowS"),Nt(r.prehash,"prehash"),r.format!==void 0&&Bo(r.format),r}var Io=class extends Error{constructor(t=""){super(t)}},ee={Err:Io,_tlv:{encode:(e,t)=>{let{Err:r}=ee;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=Fe(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?Fe(o.length/2|128):"";return Fe(e)+s+o+t},decode(e,t){let{Err:r}=ee,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let l of u)i=i<<8|l;if(n+=c,i<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(e){let{Err:t}=ee;if(e<Ht)throw new t("integer: negative integers are not allowed");let r=Fe(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=ee;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Ae(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=ee,o=U(e,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:u,l}=n.decode(2,c);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=ee,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),s=n+o;return t.encode(48,s)}},Ht=BigInt(0),Te=BigInt(1),xi=BigInt(2),Lr=BigInt(3),Eu=BigInt(4);function wi(e,t={}){let r=xr("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;Jt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Si(n,o);function l(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function f(T,p,m){let{x:d,y:A}=p.toAffine(),_=n.toBytes(d);if(Nt(m,"isCompressed"),m){l();let D=!n.isOdd(A);return bt(Ei(D),_)}else return bt(Uint8Array.of(4),_,n.toBytes(A))}function y(T){U(T,void 0,"Point");let{publicKey:p,publicKeyUncompressed:m}=u,d=T.length,A=T[0],_=T.subarray(1);if(d===p&&(A===2||A===3)){let D=n.fromBytes(_);if(!n.isValid(D))throw new Error("bad point: is not on curve, wrong x");let L=B(D),C;try{C=n.sqrt(L)}catch(Y){let $=Y instanceof Error?": "+Y.message:"";throw new Error("bad point: is not on curve, sqrt error"+$)}l();let O=n.isOdd(C);return(A&1)===1!==O&&(C=n.neg(C)),{x:D,y:C}}else if(d===m&&A===4){let D=n.BYTES,L=n.fromBytes(_.subarray(0,D)),C=n.fromBytes(_.subarray(D,D*2));if(!S(L,C))throw new Error("bad point: is not on curve");return{x:L,y:C}}else throw new Error(`bad point: got length ${d}, expected compressed=${p} or uncompressed=${m}`)}let E=t.toBytes||f,h=t.fromBytes||y;function B(T){let p=n.sqr(T),m=n.mul(p,T);return n.add(n.add(m,n.mul(T,s.a)),s.b)}function S(T,p){let m=n.sqr(p),d=B(T);return n.eql(m,d)}if(!S(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let b=n.mul(n.pow(s.a,Lr),Eu),v=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(b,v)))throw new Error("bad curve params: a or b");function g(T,p,m=!1){if(!n.isValid(p)||m&&n.is0(p))throw new Error(`bad point coordinate ${T}`);return p}function I(T){if(!(T instanceof x))throw new Error("Weierstrass Point expected")}function R(T){if(!c||!c.basises)throw new Error("no endo");return wu(T,c.basises,o.ORDER)}let N=ve((T,p)=>{let{X:m,Y:d,Z:A}=T;if(n.eql(A,n.ONE))return{x:m,y:d};let _=T.is0();p==null&&(p=_?n.ONE:n.inv(A));let D=n.mul(m,p),L=n.mul(d,p),C=n.mul(A,p);if(_)return{x:n.ZERO,y:n.ZERO};if(!n.eql(C,n.ONE))throw new Error("invZ was invalid");return{x:D,y:L}}),k=ve(T=>{if(T.is0()){if(t.allowInfinityPoint&&!n.is0(T.Y))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=T.toAffine();if(!n.isValid(p)||!n.isValid(m))throw new Error("bad point: x or y not field elements");if(!S(p,m))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function w(T,p,m,d,A){return m=new x(n.mul(m.X,T),m.Y,m.Z),p=je(d,p),m=je(A,m),p.add(m)}class x{static BASE=new x(s.Gx,s.Gy,n.ONE);static ZERO=new x(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(p,m,d){this.X=g("x",p),this.Y=g("y",m,!0),this.Z=g("z",d),Object.freeze(this)}static CURVE(){return s}static fromAffine(p){let{x:m,y:d}=p||{};if(!p||!n.isValid(m)||!n.isValid(d))throw new Error("invalid affine point");if(p instanceof x)throw new Error("projective point not allowed");return n.is0(m)&&n.is0(d)?x.ZERO:new x(m,d,n.ONE)}static fromBytes(p){let m=x.fromAffine(h(U(p,void 0,"point")));return m.assertValidity(),m}static fromHex(p){return x.fromBytes(Kt(p))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(p=8,m=!0){return M.createCache(this,p),m||this.multiply(Lr),this}assertValidity(){k(this)}hasEvenY(){let{y:p}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(p)}equals(p){I(p);let{X:m,Y:d,Z:A}=this,{X:_,Y:D,Z:L}=p,C=n.eql(n.mul(m,L),n.mul(_,A)),O=n.eql(n.mul(d,L),n.mul(D,A));return C&&O}negate(){return new x(this.X,n.neg(this.Y),this.Z)}double(){let{a:p,b:m}=s,d=n.mul(m,Lr),{X:A,Y:_,Z:D}=this,L=n.ZERO,C=n.ZERO,O=n.ZERO,K=n.mul(A,A),Y=n.mul(_,_),$=n.mul(D,D),q=n.mul(A,_);return q=n.add(q,q),O=n.mul(A,D),O=n.add(O,O),L=n.mul(p,O),C=n.mul(d,$),C=n.add(L,C),L=n.sub(Y,C),C=n.add(Y,C),C=n.mul(L,C),L=n.mul(q,L),O=n.mul(d,O),$=n.mul(p,$),q=n.sub(K,$),q=n.mul(p,q),q=n.add(q,O),O=n.add(K,K),K=n.add(O,K),K=n.add(K,$),K=n.mul(K,q),C=n.add(C,K),$=n.mul(_,D),$=n.add($,$),K=n.mul($,q),L=n.sub(L,K),O=n.mul($,Y),O=n.add(O,O),O=n.add(O,O),new x(L,C,O)}add(p){I(p);let{X:m,Y:d,Z:A}=this,{X:_,Y:D,Z:L}=p,C=n.ZERO,O=n.ZERO,K=n.ZERO,Y=s.a,$=n.mul(s.b,Lr),q=n.mul(m,_),G=n.mul(d,D),st=n.mul(A,L),vt=n.add(m,d),j=n.add(_,D);vt=n.mul(vt,j),j=n.add(q,G),vt=n.sub(vt,j),j=n.add(m,A);let ut=n.add(_,L);return j=n.mul(j,ut),ut=n.add(q,st),j=n.sub(j,ut),ut=n.add(d,A),C=n.add(D,L),ut=n.mul(ut,C),C=n.add(G,st),ut=n.sub(ut,C),K=n.mul(Y,j),C=n.mul($,st),K=n.add(C,K),C=n.sub(G,K),K=n.add(G,K),O=n.mul(C,K),G=n.add(q,q),G=n.add(G,q),st=n.mul(Y,st),j=n.mul($,j),G=n.add(G,st),st=n.sub(q,st),st=n.mul(Y,st),j=n.add(j,st),q=n.mul(G,j),O=n.add(O,q),q=n.mul(ut,j),C=n.mul(vt,C),C=n.sub(C,q),q=n.mul(vt,G),K=n.mul(ut,K),K=n.add(K,q),new x(C,O,K)}subtract(p){return this.add(p.negate())}is0(){return this.equals(x.ZERO)}multiply(p){let{endo:m}=t;if(!o.isValidNot0(p))throw new Error("invalid scalar: out of range");let d,A,_=D=>M.cached(this,D,L=>ue(x,L));if(m){let{k1neg:D,k1:L,k2neg:C,k2:O}=R(p),{p:K,f:Y}=_(L),{p:$,f:q}=_(O);A=Y.add(q),d=w(m.beta,K,$,D,C)}else{let{p:D,f:L}=_(p);d=D,A=L}return ue(x,[d,A])[0]}multiplyUnsafe(p){let{endo:m}=t,d=this;if(!o.isValid(p))throw new Error("invalid scalar: out of range");if(p===Ht||d.is0())return x.ZERO;if(p===Te)return d;if(M.hasCache(this))return this.multiply(p);if(m){let{k1neg:A,k1:_,k2neg:D,k2:L}=R(p),{p1:C,p2:O}=Zs(x,d,_,L);return w(m.beta,C,O,A,D)}else return M.unsafe(d,p)}toAffine(p){return N(this,p)}isTorsionFree(){let{isTorsionFree:p}=t;return i===Te?!0:p?p(x,this):M.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:p}=t;return i===Te?this:p?p(x,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(p=!0){return Nt(p,"isCompressed"),this.assertValidity(),E(x,this,p)}toHex(p=!0){return Pt(this.toBytes(p))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let P=o.BITS,M=new _e(x,t.endo?Math.ceil(P/2):P);return x.BASE.precompute(8),x}function Ei(e){return Uint8Array.of(e?2:3)}function Si(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Su(e,t={}){let{Fn:r}=e,n=t.randomBytes||Ee,o=Object.assign(Si(e.Fp,r),{seed:kn(r.ORDER)});function s(E){try{let h=r.fromBytes(E);return r.isValidNot0(h)}catch{return!1}}function i(E,h){let{publicKey:B,publicKeyUncompressed:S}=o;try{let b=E.length;return h===!0&&b!==B||h===!1&&b!==S?!1:!!e.fromBytes(E)}catch{return!1}}function a(E=n(o.seed)){return Mn(U(E,o.seed,"seed"),r.ORDER)}function c(E,h=!0){return e.BASE.multiply(r.fromBytes(E)).toBytes(h)}function u(E){let{secretKey:h,publicKey:B,publicKeyUncompressed:S}=o;if(!ne(E)||"_lengths"in r&&r._lengths||h===B)return;let b=U(E,void 0,"key").length;return b===B||b===S}function l(E,h,B=!0){if(u(E)===!0)throw new Error("first arg must be private key");if(u(h)===!1)throw new Error("second arg must be public key");let S=r.fromBytes(E);return e.fromBytes(h).multiply(S).toBytes(B)}let f={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},y=wr(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:y,Point:e,utils:f,lengths:o})}function Ai(e,t,r={}){hr(t),Jt(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes||Ee,o=r.hmac||((m,d)=>Ao(t,m,d)),{Fp:s,Fn:i}=e,{ORDER:a,BITS:c}=i,{keygen:u,getPublicKey:l,getSharedSecret:f,utils:y,lengths:E}=Su(e,r),h={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},B=a*xi<s.ORDER;function S(m){let d=a>>Te;return m>d}function b(m,d){if(!i.isValidNot0(d))throw new Error(`invalid signature ${m}: out of range 1..Point.Fn.ORDER`);return d}function v(){if(B)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function g(m,d){Bo(d);let A=E.signature,_=d==="compact"?A:d==="recovered"?A+1:void 0;return U(m,_)}class I{r;s;recovery;constructor(d,A,_){if(this.r=b("r",d),this.s=b("s",A),_!=null){if(v(),![0,1,2,3].includes(_))throw new Error("invalid recovery id");this.recovery=_}Object.freeze(this)}static fromBytes(d,A=h.format){g(d,A);let _;if(A==="der"){let{r:O,s:K}=ee.toSig(U(d));return new I(O,K)}A==="recovered"&&(_=d[0],A="compact",d=d.subarray(1));let D=E.signature/2,L=d.subarray(0,D),C=d.subarray(D,D*2);return new I(i.fromBytes(L),i.fromBytes(C),_)}static fromHex(d,A){return this.fromBytes(Kt(d),A)}assertRecovery(){let{recovery:d}=this;if(d==null)throw new Error("invalid recovery id: must be present");return d}addRecoveryBit(d){return new I(this.r,this.s,d)}recoverPublicKey(d){let{r:A,s:_}=this,D=this.assertRecovery(),L=D===2||D===3?A+a:A;if(!s.isValid(L))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let C=s.toBytes(L),O=e.fromBytes(bt(Ei((D&1)===0),C)),K=i.inv(L),Y=N(U(d,void 0,"msgHash")),$=i.create(-Y*K),q=i.create(_*K),G=e.BASE.multiplyUnsafe($).add(O.multiplyUnsafe(q));if(G.is0())throw new Error("invalid recovery: point at infinify");return G.assertValidity(),G}hasHighS(){return S(this.s)}toBytes(d=h.format){if(Bo(d),d==="der")return Kt(ee.hexFromSig(this));let{r:A,s:_}=this,D=i.toBytes(A),L=i.toBytes(_);return d==="recovered"?(v(),bt(Uint8Array.of(this.assertRecovery()),D,L)):bt(D,L)}toHex(d){return Pt(this.toBytes(d))}}let R=r.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");let A=Ae(d),_=d.length*8-c;return _>0?A>>BigInt(_):A},N=r.bits2int_modN||function(d){return i.create(R(d))},k=Ye(c);function w(m){return Ze("num < 2^"+c,m,Ht,k),i.toBytes(m)}function x(m,d){return U(m,void 0,"message"),d?U(t(m),void 0,"prehashed message"):m}function P(m,d,A){let{lowS:_,prehash:D,extraEntropy:L}=vo(A,h);m=x(m,D);let C=N(m),O=i.fromBytes(d);if(!i.isValidNot0(O))throw new Error("invalid private key");let K=[w(O),w(C)];if(L!=null&&L!==!1){let G=L===!0?n(E.secretKey):L;K.push(U(G,void 0,"extraEntropy"))}let Y=bt(...K),$=C;function q(G){let st=R(G);if(!i.isValidNot0(st))return;let vt=i.inv(st),j=e.BASE.multiply(st).toAffine(),ut=i.create(j.x);if(ut===Ht)return;let ar=i.create(vt*i.create($+ut*O));if(ar===Ht)return;let No=(j.x===ut?0:2)|Number(j.y&Te),ko=ar;return _&&S(ar)&&(ko=i.neg(ar),No^=1),new I(ut,ko,B?void 0:No)}return{seed:Y,k2sig:q}}function M(m,d,A={}){let{seed:_,k2sig:D}=P(m,d,A);return Ds(t.outputLen,i.BYTES,o)(_,D).toBytes(A.format)}function T(m,d,A,_={}){let{lowS:D,prehash:L,format:C}=vo(_,h);if(A=U(A,void 0,"publicKey"),d=x(d,L),!ne(m)){let O=m instanceof I?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+O)}g(m,C);try{let O=I.fromBytes(m,C),K=e.fromBytes(A);if(D&&O.hasHighS())return!1;let{r:Y,s:$}=O,q=N(d),G=i.inv($),st=i.create(q*G),vt=i.create(Y*G),j=e.BASE.multiplyUnsafe(st).add(K.multiplyUnsafe(vt));return j.is0()?!1:i.create(j.x)===Y}catch{return!1}}function p(m,d,A={}){let{prehash:_}=vo(A,h);return d=x(d,_),I.fromBytes(m,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:u,getPublicKey:l,getSharedSecret:f,utils:y,lengths:E,Point:e,sign:M,verify:T,recoverPublicKey:p,Signature:I,hash:t})}var Co={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Au={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var vi=BigInt(2);function vu(e){let t=Co.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,l=u*u*e%t,f=F(l,r,t)*l%t,y=F(f,r,t)*l%t,E=F(y,vi,t)*u%t,h=F(E,o,t)*E%t,B=F(h,s,t)*h%t,S=F(B,a,t)*B%t,b=F(S,c,t)*S%t,v=F(b,a,t)*B%t,g=F(v,r,t)*l%t,I=F(g,i,t)*h%t,R=F(I,n,t)*u%t,N=F(R,vi,t);if(!_o.eql(_o.sqr(N),e))throw new Error("Cannot find square root");return N}var _o=Be(Co.p,{sqrt:vu}),Bu=wi(Co,{Fp:_o,endo:Au}),Le=Ai(Bu,Se);function Bi(e,t,r,n){let o=ke.digest(r instanceof Uint8Array?r:r.subarray());if(Ar(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),Le.verify(t,s,e,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new We(String(s))});try{return n?.signal?.throwIfAborted(),Le.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(s){throw new We(String(s))}}var Or=class{type="secp256k1";raw;_key;constructor(t){this._key=_i(t),this.raw=Ii(this._key)}toMultihash(){return Et.digest(Gt(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:et(this.raw,t.raw)}verify(t,r,n){return Bi(this._key,r,t,n)}};function Do(e){return new Or(e)}function Ii(e){return Le.Point.fromBytes(e).toBytes()}function _i(e){try{return Le.Point.fromBytes(e),e}catch(t){throw new he(String(t))}}function Ci(e,t){let{Type:r,Data:n}=Ct.decode(e),o=n??new Uint8Array;switch(r){case Z.RSA:return wo(o,t);case Z.Ed25519:return Yn(o);case Z.secp256k1:return Do(o);case Z.ECDSA:return Sn(o);default:throw new pe}}function Di(e){let{Type:t,Data:r}=Ct.decode(e.digest),n=r??new Uint8Array;switch(t){case Z.Ed25519:return Yn(n);case Z.secp256k1:return Do(n);case Z.ECDSA:return Sn(n);default:throw new pe}}function Gt(e){return Ct.encode({Type:Z[e.type],Data:e.raw})}var nr;(function(e){let t;e.codec=()=>(t==null&&(t=Vt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.publicKey!=null&&s.publicKey.byteLength>0&&(i.uint32(10),i.bytes(s.publicKey)),s.payloadType!=null&&s.payloadType.byteLength>0&&(i.uint32(18),i.bytes(s.payloadType)),s.payload!=null&&s.payload.byteLength>0&&(i.uint32(26),i.bytes(s.payload)),s.signature!=null&&s.signature.byteLength>0&&(i.uint32(42),i.bytes(s.signature)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={publicKey:it(0),payloadType:it(0),payload:it(0),signature:it(0)},u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{c.publicKey=s.bytes();break}case 2:{c.payloadType=s.bytes();break}case 3:{c.payload=s.bytes();break}case 5:{c.signature=s.bytes();break}default:{s.skipType(l&7);break}}}return c},function*(s,i,a,c={}){let u=i==null?s.len:s.pos+i;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.publicKey`,value:s.bytes()};break}case 2:{yield{field:`${a}.payloadType`,value:s.bytes()};break}case 3:{yield{field:`${a}.payload`,value:s.bytes()};break}case 5:{yield{field:`${a}.signature`,value:s.bytes()};break}default:{s.skipType(l&7);break}}}})),t);function r(s){return Mt(s,e.codec())}e.encode=r;function n(s,i){return kt(s,e.codec(),i)}e.decode=n;function o(s,i){return qt(s,e.codec(),i)}e.stream=o})(nr||(nr={}));var Rr=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var Pr=class e{static createFromProtobuf=t=>{let r=nr.decode(t),n=Ci(r.publicKey);return new e({publicKey:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r,n)=>{if(r==null)throw new Error("Missing private key");let o=t.domain,s=t.codec,i=t.marshal(),a=Ti(o,s,i),c=await r.sign(a.subarray(),n);return new e({publicKey:r.publicKey,payloadType:s,payload:i,signature:c})};static openAndCertify=async(t,r,n)=>{let o=e.createFromProtobuf(t);if(!await o.validate(r,n))throw new Rr("Envelope signature is not valid for the given domain");return o};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:r,payloadType:n,payload:o,signature:s}=t;this.publicKey=r,this.payloadType=n,this.payload=o,this.signature=s}marshal(){return this.marshaled==null&&(this.marshaled=nr.encode({publicKey:Gt(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return t==null?!1:et(this.marshal(),t.marshal())}async validate(t,r){let n=Ti(t,this.payloadType,this.payload);return this.publicKey.verify(n.subarray(),this.signature,r)}},Ti=(e,t,r)=>{let n=z(e),o=Br(n.byteLength),s=Br(t.length),i=Br(r.length);return new dt(o,n,s,t,i,r)};var Li=Symbol.for("nodejs.util.inspect.custom"),Iu=114,or=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Yr]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return tt.createV1(Iu,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return et(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return et(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Li](){return`PeerId(${this.toString()})`}},Kr=class extends or{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Ur=class extends or{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Nr=class extends or{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},_u=2336,kr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Et.digest(z(this.url))}[Li](){return`PeerId(${this.url})`}[Yr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return tt.createV1(_u,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=V(t)),t.toString()===this.toString())}};function Oi(e){if(Du(e))return new Kr({multihash:e});if(Cu(e))try{let t=Di(e);if(t.type==="Ed25519")return new Ur({multihash:e,publicKey:t});if(t.type==="secp256k1")return new Nr({multihash:e,publicKey:t})}catch{let r=V(e.digest);return new kr(new URL(r))}throw new cr("Supplied PeerID Multihash is invalid")}function Cu(e){return e.code===Et.code}function Du(e){return e.code===ke.code}var ct=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},zt=class extends Error{static name="ValidationError";name="ValidationError"},Mr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},qr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};var Vr=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let y=Number.parseInt(f,t);if(!Number.isNaN(y))return y});if(l===void 0)break;if(s*=t,s+=l,s>u||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Tu=45,Lu=15,Hr=new Vr;function Ri(e){if(!(e.length>Lu))return Hr.new(e).parseWith(()=>Hr.readIPv4Addr())}function Pi(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Tu))return Hr.new(e).parseWith(()=>Hr.readIPv6Addr())}function zr(e){return!!Ri(e)}function Ki(e){return!!Pi(e)}function Lo(e){return t=>V(t,e)}function Oo(e){return t=>z(t,e)}function Oe(e){return new DataView(e.buffer).getUint16(e.byteOffset).toString()}function de(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof e=="string"?parseInt(e):e),new Uint8Array(t)}function Ui(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=z(t[0],"base32"),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=de(n);return Tt([r,o],r.length+o.length)}function Ni(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Zt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=de(n);return Tt([r,o],r.length+o.length)}function Ro(e){let t=e.subarray(0,e.length-2),r=e.subarray(e.length-2),n=V(t,"base32"),o=Oe(r);return`${n}:${o}`}var Po=function(e){e=e.toString().trim();let t=new Uint8Array(4);return e.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new ct("Invalid byte value in IP address");t[n]=o}),t},ki=function(e){let t=0;e=e.toString().trim();let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=zr(r[n]),i;s&&(i=Po(r[n]),r[n]=V(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,V(i.subarray(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let s=parseInt(r[n],16);if(isNaN(s)||s<0||s>65535)throw new ct("Invalid byte value in IP address");o[t++]=s>>8&255,o[t++]=s&255}return o},Mi=function(e){if(e.byteLength!==4)throw new ct("IPv4 address was incorrect length");let t=[];for(let r=0;r<e.byteLength;r++)t.push(e[r]);return t.join(".")},qi=function(e){if(e.byteLength!==16)throw new ct("IPv6 address was incorrect length");let t=[];for(let n=0;n<e.byteLength;n+=2){let o=e[n],s=e[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;t.push(i)}let r=t.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new ct(`Invalid IPv6 address "${r}"`)}};function Vi(e){try{let t=new URL(`http://[${e}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new ct(`Invalid IPv6 address "${e}"`)}}var To=Object.values(Me).map(e=>e.decoder),Ou=(function(){let e=To[0].or(To[1]);return To.slice(2).forEach(t=>e=e.or(t)),e})();function Hi(e){return Ou.decode(e)}function zi(e){return t=>e.encoder.encode(t)}function Ru(e){if(parseInt(e).toString()!==e)throw new zt("Value must be an integer")}function Pu(e){if(e<0)throw new zt("Value must be a positive integer, or zero")}function Ku(e){return t=>{if(t>e)throw new zt(`Value must be smaller than or equal to ${e}`)}}function Uu(...e){return t=>{for(let r of e)r(t)}}var sr=Uu(Ru,Pu,Ku(65535));var ot=-1,Ko=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(t){let r;if(typeof t=="string"?r=this.protocolsByName.get(t):r=this.protocolsByCode.get(t),r==null)throw new qr(`Protocol ${t} was unknown`);return r}addProtocol(t){this.protocolsByCode.set(t.code,t),this.protocolsByName.set(t.name,t),t.aliases?.forEach(r=>{this.protocolsByName.set(r,t)})}removeProtocol(t){let r=this.protocolsByCode.get(t);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},$t=new Ko,vf=[{code:4,name:"ip4",size:32,valueToBytes:Po,bytesToValue:Mi,validate:e=>{if(!zr(e))throw new zt(`Invalid IPv4 address "${e}"`)}},{code:6,name:"tcp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:273,name:"udp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:33,name:"dccp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:41,name:"ip6",size:128,valueToBytes:ki,bytesToValue:qi,stringToValue:Vi,validate:e=>{if(!Ki(e))throw new zt(`Invalid IPv6 address "${e}"`)}},{code:42,name:"ip6zone",size:ot},{code:43,name:"ipcidr",size:8,bytesToValue:Lo("base10"),valueToBytes:Oo("base10")},{code:53,name:"dns",size:ot},{code:54,name:"dns4",size:ot},{code:55,name:"dns6",size:ot},{code:56,name:"dnsaddr",size:ot},{code:132,name:"sctp",size:16,valueToBytes:de,bytesToValue:Oe,validate:sr},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:ot,stringToValue:e=>decodeURIComponent(e),valueToString:e=>encodeURIComponent(e)},{code:421,name:"p2p",aliases:["ipfs"],size:ot,bytesToValue:Lo("base58btc"),valueToBytes:e=>e.startsWith("Q")||e.startsWith("1")?Oo("base58btc")(e):tt.parse(e).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Ro,valueToBytes:Ui},{code:445,name:"onion3",size:296,bytesToValue:Ro,valueToBytes:Ni},{code:446,name:"garlic64",size:ot},{code:447,name:"garlic32",size:ot},{code:448,name:"tls"},{code:449,name:"sni",size:ot},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:ot,bytesToValue:zi(un),valueToBytes:Hi},{code:480,name:"http"},{code:481,name:"http-path",size:ot,stringToValue:e=>`/${decodeURIComponent(e)}`,valueToString:e=>encodeURIComponent(e.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:ot}];vf.forEach(e=>{$t.addProtocol(e)});function $i(e){let t=[],r=0;for(;r<e.length;){let n=Qn(e,r),o=$t.getProtocol(n),s=wt(n),i=Bf(o,e,r+s),a=0;i>0&&o.size===ot&&(a=wt(i));let c=s+a+i,u={code:n,name:o.name,bytes:e.subarray(r,r+c)};if(i>0){let l=r+s+a,f=e.subarray(l,l+i);u.value=o.bytesToValue?.(f)??V(f)}t.push(u),r+=c}return t}function Fi(e){let t=0,r=[];for(let n of e){if(n.bytes==null){let o=$t.getProtocol(n.code),s=wt(n.code),i,a=0,c=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??z(n.value),a=i.byteLength,o.size===ot&&(c=wt(a)));let u=new Uint8Array(s+c+a),l=0;Ce(n.code,u,l),l+=s,i!=null&&(o.size===ot&&(Ce(a,u,l),l+=c),u.set(i,l)),n.bytes=u}r.push(n.bytes),t+=n.bytes.byteLength}return Tt(r,t)}function Zi(e){if(e.charAt(0)!=="/")throw new ct('String multiaddr must start with "/"');let t=[],r="protocol",n="",o="";for(let s=1;s<e.length;s++){let i=e.charAt(s);i!=="/"&&(r==="protocol"?o+=e.charAt(s):n+=e.charAt(s));let a=s===e.length-1;if(i==="/"||a){let c=$t.getProtocol(o);if(r==="protocol"){if(c.size==null||c.size===0){t.push({code:c.code,name:c.name}),n="",o="",r="protocol";continue}else if(a)throw new ct(`Component ${o} was missing value`);r="value"}else if(r==="value"){let u={code:c.code,name:c.name};if(c.size!=null&&c.size!==0){if(n==="")throw new ct(`Component ${o} was missing value`);u.value=c.stringToValue?.(n)??n}t.push(u),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new ct("Incomplete multiaddr");return t}function Yi(e){return`/${e.flatMap(t=>{if(t.value==null)return t.name;let r=$t.getProtocol(t.code);if(r==null)throw new ct(`Unknown protocol code ${t.code}`);return[t.name,r.valueToString?.(t.value)??t.value]}).join("/")}`}function Bf(e,t,r){return e.size==null||e.size===0?0:e.size>0?e.size/8:Qn(t,r)}var If=Symbol.for("nodejs.util.inspect.custom"),Uo=Symbol.for("@multiformats/multiaddr");function _f(e){if(e==null&&(e="/"),Gi(e))return e.getComponents();if(e instanceof Uint8Array)return $i(e);if(typeof e=="string")return e=e.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),e===""&&(e="/"),Zi(e);if(Array.isArray(e))return e;throw new ct("Must be a string, Uint8Array, Component[], or another Multiaddr")}var $r=class e{[Uo]=!0;#t;#e;#r;constructor(t="/",r={}){this.#t=_f(t),r.validate!==!1&&Cf(this)}get bytes(){return this.#r==null&&(this.#r=Fi(this.#t)),this.#r}toString(){return this.#e==null&&(this.#e=Yi(this.#t)),this.#e}toJSON(){return this.toString()}getComponents(){return[...this.#t.map(t=>({...t}))]}encapsulate(t){let r=new e(t);return new e([...this.#t,...r.getComponents()],{validate:!1})}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Mr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new e(n.slice(0,o),{validate:!1})}decapsulateCode(t){let r;for(let n=this.#t.length-1;n>-1;n--)if(this.#t[n].code===t){r=n;break}return new e(this.#t.slice(0,r),{validate:!1})}equals(t){return et(this.bytes,t.bytes)}[If](){return`Multiaddr(${this.toString()})`}};function Cf(e){e.getComponents().forEach(t=>{let r=$t.getProtocol(t.code);t.value!=null&&r.validate?.(t.value)})}function Gi(e){return!!e?.[Uo]}function ji(e){return new $r(e)}var Wi="libp2p-peer-record",Xi=Uint8Array.from([3,1]);var ir;(function(e){let t;(function(i){let a;i.codec=()=>(a==null&&(a=Vt((f,y,E={})=>{E.lengthDelimited!==!1&&y.fork(),f.multiaddr!=null&&f.multiaddr.byteLength>0&&(y.uint32(10),y.bytes(f.multiaddr)),E.lengthDelimited!==!1&&y.ldelim()},(f,y,E={})=>{let h={multiaddr:it(0)},B=y==null?f.len:f.pos+y;for(;f.pos<B;){let S=f.uint32();switch(S>>>3){case 1:{h.multiaddr=f.bytes();break}default:{f.skipType(S&7);break}}}return h},function*(f,y,E,h={}){let B=y==null?f.len:f.pos+y;for(;f.pos<B;){let S=f.uint32();switch(S>>>3){case 1:{yield{field:`${E}.multiaddr`,value:f.bytes()};break}default:{f.skipType(S&7);break}}}})),a);function c(f){return Mt(f,i.codec())}i.encode=c;function u(f,y){return kt(f,i.codec(),y)}i.decode=u;function l(f,y){return qt(f,i.codec(),y)}i.stream=l})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=Vt((i,a,c={})=>{if(c.lengthDelimited!==!1&&a.fork(),i.peerId!=null&&i.peerId.byteLength>0&&(a.uint32(10),a.bytes(i.peerId)),i.seq!=null&&i.seq!==0n&&(a.uint32(16),a.uint64(i.seq)),i.addresses!=null&&i.addresses.length>0)for(let u of i.addresses)a.uint32(26),e.AddressInfo.codec().encode(u,a);c.lengthDelimited!==!1&&a.ldelim()},(i,a,c={})=>{let u={peerId:it(0),seq:0n,addresses:[]},l=a==null?i.len:i.pos+a;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:{u.peerId=i.bytes();break}case 2:{u.seq=i.uint64();break}case 3:{if(c.limits?.addresses!=null&&u.addresses.length===c.limits.addresses)throw new tr('Decode error - repeated field "addresses" had too many elements');u.addresses.push(e.AddressInfo.codec().decode(i,i.uint32(),{limits:c.limits?.addresses$}));break}default:{i.skipType(f&7);break}}}return u},function*(i,a,c,u={}){let l={addresses:0},f=a==null?i.len:i.pos+a;for(;i.pos<f;){let y=i.uint32();switch(y>>>3){case 1:{yield{field:`${c}.peerId`,value:i.bytes()};break}case 2:{yield{field:`${c}.seq`,value:i.uint64()};break}case 3:{if(u.limits?.addresses!=null&&l.addresses===u.limits.addresses)throw new tr('Streaming decode error - repeated field "addresses" had too many elements');for(let E of e.AddressInfo.codec().stream(i,i.uint32(),`${c}.addresses[]`,{limits:u.limits?.addresses$}))yield{...E,index:l.addresses};l.addresses++;break}default:{i.skipType(y&7);break}}}})),r);function n(i){return Mt(i,e.codec())}e.encode=n;function o(i,a){return kt(i,e.codec(),a)}e.decode=o;function s(i,a){return qt(i,e.codec(),a)}e.stream=s})(ir||(ir={}));function Ji(e,t){let r=(n,o)=>n.toString().localeCompare(o.toString());return e.length!==t.length?!1:(t.sort(r),e.sort(r).every((n,o)=>t[o].equals(n)))}var Fr=class e{static createFromProtobuf=t=>{let r=ir.decode(t),n=Oi(Ue(r.peerId)),o=(r.addresses??[]).map(i=>ji(i.multiaddr)),s=r.seq;return new e({peerId:n,multiaddrs:o,seqNumber:s})};static DOMAIN=Wi;static CODEC=Xi;peerId;multiaddrs;seqNumber;domain=e.DOMAIN;codec=e.CODEC;marshaled;constructor(t){let{peerId:r,multiaddrs:n,seqNumber:o}=t;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=o??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=ir.encode({peerId:this.peerId.toMultihash().bytes,seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof e)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Ji(this.multiaddrs,t.multiaddrs))}};return na(Df);})();
2
+ "use strict";var Libp2PPeerRecord=(()=>{var dn=Object.defineProperty;var Ia=Object.getOwnPropertyDescriptor;var _a=Object.getOwnPropertyNames;var Ta=Object.prototype.hasOwnProperty;var mt=(e,t)=>{for(var r in t)dn(e,r,{get:t[r],enumerable:!0})},Ca=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _a(t))!Ta.call(e,o)&&o!==r&&dn(e,o,{get:()=>t[o],enumerable:!(n=Ia(t,o))||n.enumerable});return e};var Da=e=>Ca(dn({},"__esModule",{value:!0}),e);var al={};mt(al,{PeerRecord:()=>ln,RecordEnvelope:()=>Qr});var Q=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},we=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var wr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Ee=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var hn=Symbol.for("@libp2p/peer-id");var gn={};mt(gn,{base58btc:()=>X,base58flickr:()=>Fa});var ll=new Uint8Array(0);function fs(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 Pt(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 us(e){return new TextEncoder().encode(e)}function ls(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,f=e.charAt(0),c=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var E=0,h=0,w=0,A=b.length;w!==A&&b[w]===0;)w++,E++;for(var B=(A-w)*l+1>>>0,O=new Uint8Array(B);w!==A;){for(var C=b[w],P=0,R=B-1;(C!==0||P<h)&&R!==-1;R--,P++)C+=256*O[R]>>>0,O[R]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");h=P,w++}for(var _=B-h;_!==B&&O[_]===0;)_++;for(var K=f.repeat(E);_<B;++_)K+=e.charAt(O[_]);return K}function m(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var E=0;if(b[E]!==" "){for(var h=0,w=0;b[E]===f;)h++,E++;for(var A=(b.length-E)*c+1>>>0,B=new Uint8Array(A);b[E];){var O=r[b.charCodeAt(E)];if(O===255)return;for(var C=0,P=A-1;(O!==0||C<w)&&P!==-1;P--,C++)O+=a*B[P]>>>0,B[P]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");w=C,E++}if(b[E]!==" "){for(var R=A-w;R!==A&&B[R]===0;)R++;for(var _=new Uint8Array(h+(A-R)),K=h;R!==A;)_[K++]=B[R++];return _}}}function p(b){var E=m(b);if(E)return E;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:m,decode:p}}var Ra=Oa,La=Ra,hs=La;var pn=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")}},mn=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 ps(this,t)}},yn=class{decoders;constructor(t){this.decoders=t}or(t){return ps(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 ps(e,t){return new yn({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var bn=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 pn(t,r,n),this.decoder=new mn(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Se({name:e,prefix:t,encode:r,decode:n}){return new bn(e,t,r,n)}function Yt({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=hs(r,e);return Se({prefix:t,name:e,encode:n,decode:s=>Pt(o(s))})}function Pa(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,f=0;for(let c=0;c<o;++c){let l=t[e[c]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|l,i+=r,i>=8&&(i-=8,s[f++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Ka(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let f=0;f<e.length;++f)for(a=a<<8|e[f],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 Z({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Ua(n);return Se({prefix:t,name:e,encode(s){return Ka(s,n,r)},decode(s){return Pa(s,o,r,e)}})}var X=Yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Fa=Yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var xn={};mt(xn,{base32:()=>Gt,base32hex:()=>qa,base32hexpad:()=>Ha,base32hexpadupper:()=>za,base32hexupper:()=>Va,base32pad:()=>ka,base32padupper:()=>Ma,base32upper:()=>Na,base32z:()=>ja});var Gt=Z({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Na=Z({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ka=Z({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ma=Z({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),qa=Z({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Va=Z({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ha=Z({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),za=Z({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ja=Z({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var wn={};mt(wn,{base36:()=>Ve,base36upper:()=>$a});var Ve=Yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),$a=Yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Za=bs,ms=128,Ya=127,Ga=~Ya,Xa=Math.pow(2,31);function bs(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Xa;)t[r++]=e&255|ms,e/=128;for(;e&Ga;)t[r++]=e&255|ms,e>>>=7;return t[r]=e|0,bs.bytes=r-n+1,t}var Wa=En,Ja=128,ys=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&ys)<<o:(i&ys)*Math.pow(2,o),o+=7}while(i>=Ja);return En.bytes=s-n,r}var Qa=Math.pow(2,7),tc=Math.pow(2,14),ec=Math.pow(2,21),rc=Math.pow(2,28),nc=Math.pow(2,35),oc=Math.pow(2,42),sc=Math.pow(2,49),ic=Math.pow(2,56),ac=Math.pow(2,63),cc=function(e){return e<Qa?1:e<tc?2:e<ec?3:e<rc?4:e<nc?5:e<oc?6:e<sc?7:e<ic?8:e<ac?9:10},fc={encode:Za,decode:Wa,encodingLength:cc},uc=fc,He=uc;function ze(e,t=0){return[He.decode(e,t),He.decode.bytes]}function Ae(e,t,r=0){return He.encode(e,t,r),t}function ve(e){return He.encodingLength(e)}function Ct(e,t){let r=t.byteLength,n=ve(e),o=n+ve(r),s=new Uint8Array(o+r);return Ae(e,s,0),Ae(r,s,n),s.set(t,o),new Be(e,r,t,s)}function je(e){let t=Pt(e),[r,n]=ze(t),[o,s]=ze(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 gs(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&fs(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 xs(e,t){let{bytes:r,version:n}=e;return n===0?dc(r,Sn(e),t??X.encoder):hc(r,Sn(e),t??Gt.encoder)}var ws=new WeakMap;function Sn(e){let t=ws.get(e);if(t==null){let r=new Map;return ws.set(e,r),r}return t}var nt=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!==$e)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==pc)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=Ct(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&&gs(t.multihash,n.multihash)}toString(t){return xs(this,t)}toJSON(){return{"/":xs(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??Es(n,o,s.bytes))}else if(r[mc]===!0){let{version:n,multihash:o,code:s}=r,i=je(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!==$e)throw new Error(`Version 0 CID must use dag-pb (code: ${$e}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=Es(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,$e,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=Pt(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,m]=ze(t.subarray(r));return r+=m,u},o=n(),s=$e;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(),f=n(),c=r+f,l=c-i;return{version:o,codec:s,multihashCode:a,digestSize:f,multihashSize:l,size:c}}static parse(t,r){let[n,o]=lc(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 Sn(s).set(n,t),s}};function lc(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 Gt.prefix:{let r=t??Gt;return[Gt.prefix,r.decode(e)]}case Ve.prefix:{let r=t??Ve;return[Ve.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 dc(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 hc(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 $e=112,pc=18;function Es(e,t,r){let n=ve(e),o=n+ve(t),s=new Uint8Array(o+r.byteLength);return Ae(e,s,0),Ae(t,s,n),s.set(r,o),s}var mc=Symbol.for("@ipld/js-cid/CID");var An={};mt(An,{identity:()=>St});var Ss=0,yc="identity",As=Pt;function bc(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 Ct(Ss,As(e))}var St={code:Ss,name:yc,encode:As,digest:bc};function ot(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}async function vs(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}function at(e=0){return new Uint8Array(e)}function yt(e=0){return new Uint8Array(e)}function Kt(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=yt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var Is=Symbol.for("@achingbrain/uint8arraylist");function Bs(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 Sr(e){return!!e?.[Is]}var ht=class e{bufs;length;[Is]=!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(Sr(n)){r+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}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(Sr(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=Bs(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Bs(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(Sr(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 Kt(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Kt(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,f=a+i.byteLength;if(o=f,t>=f)continue;let c=t>=a&&t<f,l=r>a&&r<=f;if(c&&l){if(t===a&&r===f){n.push(i);break}let u=t-a;n.push(i.subarray(u,u+(r-t)));break}if(c){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(l){if(r===f){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(!Sr(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 a=i,f=this.byteLength-n.byteLength,c=n.byteLength-1,l;for(let u=r;u<=f;u+=l){l=0;for(let m=c;m>=0;m--){let p=this.get(u+m);if(n[m]!==p){l=Math.max(1,m-a[p]);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=yt(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=at(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=at(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=at(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=yt(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=at(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=at(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=at(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=at(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=at(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(!ot(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 vn={};mt(vn,{base10:()=>gc});var gc=Yt({prefix:"9",name:"base10",alphabet:"0123456789"});var Bn={};mt(Bn,{base16:()=>xc,base16upper:()=>wc});var xc=Z({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),wc=Z({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var In={};mt(In,{base2:()=>Ec});var Ec=Z({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var _n={};mt(_n,{base256emoji:()=>Ic});var _s=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}"),Sc=_s.reduce((e,t,r)=>(e[r]=t,e),[]),Ac=_s.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function vc(e){return e.reduce((t,r)=>(t+=Sc[r],t),"")}function Bc(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ac[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var Ic=Se({prefix:"\u{1F680}",name:"base256emoji",encode:vc,decode:Bc});var Cn={};mt(Cn,{base64:()=>_c,base64pad:()=>Tc,base64url:()=>Tn,base64urlpad:()=>Cc});var _c=Z({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Tc=Z({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Tn=Z({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Cc=Z({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dn={};mt(Dn,{base8:()=>Dc});var Dc=Z({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var On={};mt(On,{identity:()=>Oc});var Oc=Se({prefix:"\0",name:"identity",encode:e=>ls(e),decode:e=>us(e)});var Gl=new TextEncoder,Xl=new TextDecoder;var Pn={};mt(Pn,{sha256:()=>Ze,sha512:()=>Kc});var Pc=20;function Ln({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Rn(e,t,r,n,o)}var Rn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,s){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??Pc,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?Ts(n,this.code,r?.truncate):n.then(o=>Ts(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function Ts(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 Ct(t,e)}function Ds(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Ze=Ln({name:"sha2-256",code:18,encode:Ds("SHA-256")}),Kc=Ln({name:"sha2-512",code:19,encode:Ds("SHA-512")});var Ye={...On,...In,...Dn,...vn,...Bn,...xn,...wn,...gn,...Cn,..._n},cd={...Pn,...An};function Rs(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Os=Rs("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Kn=Rs("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=yt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Uc={utf8:Os,"utf-8":Os,hex:Ye.base16,latin1:Kn,ascii:Kn,binary:Kn,...Ye},Ar=Uc;function z(e,t="utf8"){let r=Ar[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function q(e,t="utf8"){let r=Ar[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var Fc=parseInt("11111",2),Un=parseInt("10000000",2),Nc=parseInt("01111111",2),Ls={0:Ge,1:Ge,2:kc,3:Vc,4:Hc,5:qc,6:Mc,16:Ge,22:Ge,48:Ge};function Ut(e,t={offset:0}){let r=e[t.offset]&Fc;if(t.offset++,Ls[r]!=null)return Ls[r](e,t);throw new Error("No decoder for tag "+r)}function Xe(e,t){let r=0;if((e[t.offset]&Un)===Un){let n=e[t.offset]&Nc,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 Ge(e,t){Xe(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Ut(e,t);if(n===null)break;r.push(n)}return r}function kc(e,t){let r=Xe(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 Mc(e,t){let r=Xe(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}`,f=[];for(;t.offset<n;){let c=e[t.offset];if(t.offset++,f.push(c&127),c<128){f.reverse();let l=0;for(let u=0;u<f.length;u++)l+=f[u]<<u*7;a+=`.${l}`,f=[]}}return a}function qc(e,t){return t.offset++,null}function Vc(e,t){let r=Xe(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 Hc(e,t){let r=Xe(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function zc(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new ht;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function Fn(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=zc(e.byteLength);return new ht(Uint8Array.from([t.byteLength|Un]),t)}function bt(e){let t=new ht,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new ht(Uint8Array.from([2]),Fn(t),t)}function vr(e){let t=Uint8Array.from([0]),r=new ht(t,e);return new ht(Uint8Array.from([3]),Fn(r),r)}function Xt(e,t=48){let r=new ht;for(let n of e)r.append(n);return new ht(Uint8Array.from([t]),Fn(r),r)}var jc=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),$c=Uint8Array.from([6,5,43,129,4,0,34]),Zc=Uint8Array.from([6,5,43,129,4,0,35]),Yc={ext:!0,kty:"EC",crv:"P-256"},Gc={ext:!0,kty:"EC",crv:"P-384"},Xc={ext:!0,kty:"EC",crv:"P-521"},Nn=32,kn=48,Mn=66;function qn(e){let t=Ut(e);return Ps(t)}function Ps(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===Nn*2+1)return n=q(t.subarray(r,r+Nn),"base64url"),o=q(t.subarray(r+Nn),"base64url"),new Ie({...Yc,key_ops:["verify"],x:n,y:o});if(t.byteLength===kn*2+1)return n=q(t.subarray(r,r+kn),"base64url"),o=q(t.subarray(r+kn),"base64url"),new Ie({...Gc,key_ops:["verify"],x:n,y:o});if(t.byteLength===Mn*2+1)return n=q(t.subarray(r,r+Mn),"base64url"),o=q(t.subarray(r+Mn),"base64url"),new Ie({...Xc,key_ops:["verify"],x:n,y:o});throw new Q(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Ks(e){return Xt([bt(Uint8Array.from([1])),Xt([Wc(e.crv)],160),Xt([vr(new ht(Uint8Array.from([4]),z(e.x??"","base64url"),z(e.y??"","base64url")))],161)]).subarray()}function Wc(e){if(e==="P-256")return jc;if(e==="P-384")return $c;if(e==="P-521")return Zc;throw new Q(`Invalid curve ${e}`)}var Ie=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Ks(this.jwk)),this._raw}toMultihash(){return St.digest(Wt(this))}toCID(){return nt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}async verify(t,r,n){return vs(this.jwk,r,t,n)}};function Vn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function Jt(e,t=""){if(typeof e!="number"){let r=t&&`"${t}" `;throw new TypeError(`${r}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new RangeError(`${r}expected integer >= 0, got ${e}`)}}function gt(e,t,r=""){let n=Vn(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",f=n?`length=${o}`:`type=${typeof e}`,c=i+"expected Uint8Array"+a+", got "+f;throw n?new RangeError(c):new TypeError(c)}return e}function Br(e){if(typeof e!="function"||typeof e.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(Jt(e.outputLen),Jt(e.blockLen),e.outputLen<1)throw new Error('"outputLen" must be >= 1');if(e.blockLen<1)throw new Error('"blockLen" must be >= 1')}function _e(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 Ir(e,t){gt(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new RangeError('"digestInto() output" expected to be of length >='+r)}function Nt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function _r(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function At(e,t){return e<<32-t|e>>>t}var Fs=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Jc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Tr(e){if(gt(e),Fs)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Jc[e[r]];return t}var Ft={_0:48,_9:57,A:65,F:70,a:97,f:102};function Us(e){if(e>=Ft._0&&e<=Ft._9)return e-Ft._0;if(e>=Ft.A&&e<=Ft.F)return e-(Ft.A-10);if(e>=Ft.a&&e<=Ft.f)return e-(Ft.a-10)}function We(e){if(typeof e!="string")throw new TypeError("hex string expected, got "+typeof e);if(Fs)try{return Uint8Array.fromHex(e)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let t=e.length,r=t/2;if(t%2)throw new RangeError("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=Us(e.charCodeAt(s)),a=Us(e.charCodeAt(s+1));if(i===void 0||a===void 0){let f=e[s]+e[s+1];throw new RangeError('hex string expected, got non-hex character "'+f+'" at index '+s)}n[o]=i*16+a}return n}function Hn(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];gt(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 zn(e,t={}){let r=(o,s)=>e(s).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function Ns(e=32){Jt(e,"bytesLength");let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(e>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var jn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function ks(e,t,r){return e&t^~e&r}function Ms(e,t,r){return e&t^e&r^t&r}var Je=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=_r(this.buffer)}update(t){_e(this),gt(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 f=_r(t);for(;o<=s-i;i+=o)this.process(f,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){_e(this),Ir(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,Nt(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 a=_r(t),f=this.outputLen;if(f%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let c=f/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)a.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: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()}},kt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ct=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Cr=BigInt(4294967295),qs=BigInt(32);function Qc(e,t=!1){return t?{h:Number(e&Cr),l:Number(e>>qs&Cr)}:{h:Number(e>>qs&Cr)|0,l:Number(e&Cr)|0}}function Vs(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Qc(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var $n=(e,t,r)=>e>>>r,Zn=(e,t,r)=>e<<32-r|t>>>r,fe=(e,t,r)=>e>>>r|t<<32-r,ue=(e,t,r)=>e<<32-r|t>>>r,Qe=(e,t,r)=>e<<64-r|t>>>r-32,tr=(e,t,r)=>e>>>r-32|t<<64-r;function Dt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Hs=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),zs=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,js=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),$s=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Zs=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Ys=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var ef=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]),Qt=new Uint32Array(64),Yn=class extends Je{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:f}=this;return[t,r,n,o,s,i,a,f]}set(t,r,n,o,s,i,a,f){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=f|0}process(t,r){for(let u=0;u<16;u++,r+=4)Qt[u]=t.getUint32(r,!1);for(let u=16;u<64;u++){let m=Qt[u-15],p=Qt[u-2],b=At(m,7)^At(m,18)^m>>>3,E=At(p,17)^At(p,19)^p>>>10;Qt[u]=E+Qt[u-7]+b+Qt[u-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:f,G:c,H:l}=this;for(let u=0;u<64;u++){let m=At(a,6)^At(a,11)^At(a,25),p=l+m+ks(a,f,c)+ef[u]+Qt[u]|0,E=(At(n,2)^At(n,13)^At(n,22))+Ms(n,o,s)|0;l=c,c=f,f=a,a=i+p|0,i=s,s=o,o=n,n=p+E|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,f=f+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,o,s,i,a,f,c,l)}roundClean(){Nt(Qt)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Nt(this.buffer)}},Gn=class extends Yn{A=kt[0]|0;B=kt[1]|0;C=kt[2]|0;D=kt[3]|0;E=kt[4]|0;F=kt[5]|0;G=kt[6]|0;H=kt[7]|0;constructor(){super(32)}};var Gs=Vs(["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))),rf=Gs[0],nf=Gs[1],te=new Uint32Array(80),ee=new Uint32Array(80),Xn=class extends Je{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:f,Eh:c,El:l,Fh:u,Fl:m,Gh:p,Gl:b,Hh:E,Hl:h}=this;return[t,r,n,o,s,i,a,f,c,l,u,m,p,b,E,h]}set(t,r,n,o,s,i,a,f,c,l,u,m,p,b,E,h){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=f|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=m|0,this.Gh=p|0,this.Gl=b|0,this.Hh=E|0,this.Hl=h|0}process(t,r){for(let B=0;B<16;B++,r+=4)te[B]=t.getUint32(r),ee[B]=t.getUint32(r+=4);for(let B=16;B<80;B++){let O=te[B-15]|0,C=ee[B-15]|0,P=fe(O,C,1)^fe(O,C,8)^$n(O,C,7),R=ue(O,C,1)^ue(O,C,8)^Zn(O,C,7),_=te[B-2]|0,K=ee[B-2]|0,H=fe(_,K,19)^Qe(_,K,61)^$n(_,K,6),U=ue(_,K,19)^tr(_,K,61)^Zn(_,K,6),d=js(R,U,ee[B-7],ee[B-16]),y=$s(d,P,H,te[B-7],te[B-16]);te[B]=y|0,ee[B]=d|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:f,Dh:c,Dl:l,Eh:u,El:m,Fh:p,Fl:b,Gh:E,Gl:h,Hh:w,Hl:A}=this;for(let B=0;B<80;B++){let O=fe(u,m,14)^fe(u,m,18)^Qe(u,m,41),C=ue(u,m,14)^ue(u,m,18)^tr(u,m,41),P=u&p^~u&E,R=m&b^~m&h,_=Zs(A,C,R,nf[B],ee[B]),K=Ys(_,w,O,P,rf[B],te[B]),H=_|0,U=fe(n,o,28)^Qe(n,o,34)^Qe(n,o,39),d=ue(n,o,28)^tr(n,o,34)^tr(n,o,39),y=n&s^n&a^s&a,S=o&i^o&f^i&f;w=E|0,A=h|0,E=p|0,h=b|0,p=u|0,b=m|0,{h:u,l:m}=Dt(c|0,l|0,K|0,H|0),c=a|0,l=f|0,a=s|0,f=i|0,s=n|0,i=o|0;let x=Hs(H,d,S);n=zs(x,K,U,y),o=x|0}({h:n,l:o}=Dt(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=Dt(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:f}=Dt(this.Ch|0,this.Cl|0,a|0,f|0),{h:c,l}=Dt(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:m}=Dt(this.Eh|0,this.El|0,u|0,m|0),{h:p,l:b}=Dt(this.Fh|0,this.Fl|0,p|0,b|0),{h:E,l:h}=Dt(this.Gh|0,this.Gl|0,E|0,h|0),{h:w,l:A}=Dt(this.Hh|0,this.Hl|0,w|0,A|0),this.set(n,o,s,i,a,f,c,l,u,m,p,b,E,h,w,A)}roundClean(){Nt(te,ee)}destroy(){this.destroyed=!0,Nt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Wn=class extends Xn{Ah=ct[0]|0;Al=ct[1]|0;Bh=ct[2]|0;Bl=ct[3]|0;Ch=ct[4]|0;Cl=ct[5]|0;Dh=ct[6]|0;Dl=ct[7]|0;Eh=ct[8]|0;El=ct[9]|0;Fh=ct[10]|0;Fl=ct[11]|0;Gh=ct[12]|0;Gl=ct[13]|0;Hh=ct[14]|0;Hl=ct[15]|0;constructor(){super(64)}};var Te=zn(()=>new Gn,jn(1));var Dr=zn(()=>new Wn,jn(3));var k=(e,t,r)=>gt(e,t,r),Qn=Jt,Ce=Tr,tt=(...e)=>Hn(...e),De=e=>We(e),le=Vn,er=e=>Ns(e),Rr=BigInt(0),Jn=BigInt(1);function vt(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new TypeError(r+"expected boolean, got type="+typeof e)}return e}function Lr(e){if(typeof e=="bigint"){if(!Or(e))throw new RangeError("positive bigint expected, got "+e)}else Qn(e);return e}function Bt(e,t=""){if(typeof e!="number"){let r=t&&`"${t}" `;throw new TypeError(r+"expected number, got type="+typeof e)}if(!Number.isSafeInteger(e)){let r=t&&`"${t}" `;throw new RangeError(r+"expected safe integer, got "+e)}}function rr(e){let t=Lr(e).toString(16);return t.length&1?"0"+t:t}function Xs(e){if(typeof e!="string")throw new TypeError("hex string expected, got "+typeof e);return e===""?Rr:BigInt("0x"+e)}function de(e){return Xs(Tr(e))}function Ot(e){return Xs(Tr(nr(gt(e)).reverse()))}function Pr(e,t){if(Jt(t),t===0)throw new RangeError("zero length");e=Lr(e);let r=e.toString(16);if(r.length>t*2)throw new RangeError("number too large");return We(r.padStart(t*2,"0"))}function to(e,t){return Pr(e,t).reverse()}function Ws(e,t){if(e=k(e),t=k(t),e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function nr(e){return Uint8Array.from(k(e))}function Kr(e){if(typeof e!="string")throw new TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let n=t.charCodeAt(0);if(t.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${e[r]}" with code ${n} at position ${r}`);return n})}var Or=e=>typeof e=="bigint"&&Rr<=e;function of(e,t,r){return Or(e)&&Or(t)&&Or(r)&&t<=e&&e<r}function Oe(e,t,r,n){if(!of(t,r,n))throw new RangeError("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Re(e){if(e<Rr)throw new Error("expected non-negative bigint, got "+e);let t;for(t=0;e>Rr;e>>=Jn,t+=1);return t}var or=e=>(Jn<<BigInt(e))-Jn;function Js(e,t,r){if(Jt(e,"hashLen"),Jt(t,"qByteLen"),typeof r!="function")throw new TypeError("hmacFn must be a function");let n=h=>new Uint8Array(h),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,f=n(e),c=n(e),l=0,u=()=>{f.fill(1),c.fill(0),l=0},m=(...h)=>r(c,tt(f,...h)),p=(h=o)=>{c=m(s,h),f=m(),h.length!==0&&(c=m(i,h),f=m())},b=()=>{if(l++>=a)throw new Error("drbg: tried max amount of iterations");let h=0,w=[];for(;h<t;){f=m();let A=f.slice();w.push(A),h+=f.length}return tt(...w)};return(h,w)=>{u(),p(h);let A;for(;(A=w(b()))===void 0;)p();return u(),A}}function It(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,a){if(!a&&i!=="function"&&!Object.hasOwn(e,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let f=e[s];if(a&&f===void 0)return;let c=typeof f;if(c!==i||f===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${c}`)}let o=(s,i)=>Object.entries(s).forEach(([a,f])=>n(a,f,i));o(t,!1),o(r,!0)}var eo=()=>{throw new Error("not implemented")};var ft=BigInt(0),Y=BigInt(1),he=BigInt(2),ri=BigInt(3),ni=BigInt(4),oi=BigInt(5),sf=BigInt(7),si=BigInt(8),af=BigInt(9),ii=BigInt(16);function W(e,t){if(t<=ft)throw new Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=ft?r:t+r}function j(e,t,r){if(t<ft)throw new Error("pow2: expected non-negative exponent, got "+t);let n=e;for(;t-- >ft;)n*=n,n%=r;return n}function Qs(e,t){if(e===ft)throw new Error("invert: expected non-zero number");if(t<=ft)throw new Error("invert: expected positive modulus, got "+t);let r=W(e,t),n=t,o=ft,s=Y,i=Y,a=ft;for(;r!==ft;){let c=n/r,l=n-r*c,u=o-i*c,m=s-a*c;n=r,r=l,o=i,s=a,i=u,a=m}if(n!==Y)throw new Error("invert: does not exist");return W(o,t)}function ro(e,t,r){let n=e;if(!n.eql(n.sqr(t),r))throw new Error("Cannot find square root")}function ai(e,t){let r=e,n=(r.ORDER+Y)/ni,o=r.pow(t,n);return ro(r,o,t),o}function cf(e,t){let r=e,n=(r.ORDER-oi)/si,o=r.mul(t,he),s=r.pow(o,n),i=r.mul(t,s),a=r.mul(r.mul(i,he),s),f=r.mul(i,r.sub(a,r.ONE));return ro(r,f,t),f}function ff(e){let t=Le(e),r=ci(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+sf)/ii;return((a,f)=>{let c=a,l=c.pow(f,i),u=c.mul(l,n),m=c.mul(l,o),p=c.mul(l,s),b=c.eql(c.sqr(u),f),E=c.eql(c.sqr(m),f);l=c.cmov(l,u,b),u=c.cmov(p,m,E);let h=c.eql(c.sqr(u),f),w=c.cmov(l,u,h);return ro(c,w,f),w})}function ci(e){if(e<ri)throw new Error("sqrt is not defined for small field");let t=e-Y,r=0;for(;t%he===ft;)t/=he,r++;let n=he,o=Le(e);for(;ti(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return ai;let s=o.pow(n,t),i=(t+Y)/he;return function(f,c){let l=f;if(l.is0(c))return c;if(ti(l,c)!==1)throw new Error("Cannot find square root");let u=r,m=l.mul(l.ONE,s),p=l.pow(c,t),b=l.pow(c,i);for(;!l.eql(p,l.ONE);){if(l.is0(p))return l.ZERO;let E=1,h=l.sqr(p);for(;!l.eql(h,l.ONE);)if(E++,h=l.sqr(h),E===u)throw new Error("Cannot find square root");let w=Y<<BigInt(u-E-1),A=l.pow(m,w);u=E,m=l.sqr(A),p=l.mul(p,m),b=l.mul(b,A)}return b}}function uf(e){return e%ni===ri?ai:e%si===oi?cf:e%ii===af?ff(e):ci(e)}var Mt=(e,t)=>(W(e,t)&Y)===Y,lf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function no(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=lf.reduce((n,o)=>(n[o]="function",n),t);if(It(e,r),Bt(e.BYTES,"BYTES"),Bt(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=Y)throw new Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function df(e,t,r){let n=e;if(r<ft)throw new Error("invalid exponent, negatives unsupported");if(r===ft)return n.ONE;if(r===Y)return t;let o=n.ONE,s=t;for(;r>ft;)r&Y&&(o=n.mul(o,s)),s=n.sqr(s),r>>=Y;return o}function sr(e,t,r=!1){let n=e,o=new Array(t.length).fill(r?n.ZERO:void 0),s=t.reduce((a,f,c)=>n.is0(f)?a:(o[c]=a,n.mul(a,f)),n.ONE),i=n.inv(s);return t.reduceRight((a,f,c)=>n.is0(f)?a:(o[c]=n.mul(a,o[c]),n.mul(a,f)),i),o}function ti(e,t){let r=e,n=(r.ORDER-Y)/he,o=r.pow(t,n),s=r.eql(o,r.ONE),i=r.eql(o,r.ZERO),a=r.eql(o,r.neg(r.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function hf(e,t){if(t!==void 0&&Qn(t),e<=ft)throw new Error("invalid n length: expected positive n, got "+e);if(t!==void 0&&t<1)throw new Error("invalid n length: expected positive bit length, got "+t);let r=Re(e);if(t!==void 0&&t<r)throw new Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let n=t!==void 0?t:r,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var ei=new WeakMap,Ur=class{ORDER;BITS;BYTES;isLE;ZERO=ft;ONE=Y;_lengths;_mod;constructor(t,r={}){if(t<=Y)throw new Error("invalid field: expected ORDER > 1, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:r.sqrt,enumerable:!0}),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=Object.freeze(r.allowedLengths.slice())),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:s}=hf(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(t){return W(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof t);return ft<=t&&t<this.ORDER}is0(t){return t===ft}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&Y)===Y}neg(t){return W(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return W(t*t,this.ORDER)}add(t,r){return W(t+r,this.ORDER)}sub(t,r){return W(t-r,this.ORDER)}mul(t,r){return W(t*r,this.ORDER)}pow(t,r){return df(this,t,r)}div(t,r){return W(t*Qs(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 Qs(t,this.ORDER)}sqrt(t){let r=ei.get(this);return r||ei.set(this,r=uf(this.ORDER)),r(this,t)}toBytes(t){return this.isLE?to(t,this.BYTES):Pr(t,this.BYTES)}fromBytes(t,r=!1){k(t);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(t.length<1||!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let c=new Uint8Array(o);c.set(t,s?0:c.length-t.length),t=c}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let f=s?Ot(t):de(t);if(a&&(f=W(f,i)),!r&&!this.isValid(f))throw new Error("invalid field element: outside of range 0..ORDER");return f}invertBatch(t){return sr(this,t)}cmov(t,r,n){return vt(n,"condition"),n?r:t}};Object.freeze(Ur.prototype);function Le(e,t={}){return new Ur(e,t)}function fi(e){if(typeof e!="bigint")throw new Error("field order must be bigint");if(e<=Y)throw new Error("field order must be greater than 1");let t=Re(e-Y);return Math.ceil(t/8)}function oo(e){let t=fi(e);return t+Math.ceil(t/2)}function so(e,t,r=!1){k(e);let n=e.length,o=fi(t),s=Math.max(oo(t),16);if(n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?Ot(e):de(e),a=W(i,t-Y)+Y;return r?to(a,o):Pr(a,o)}var Pe=BigInt(0),pe=BigInt(1);function ir(e,t){let r=t.negate();return e?r:t}function me(e,t){let r=sr(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function hi(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function io(e,t){hi(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=or(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function ui(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),f=e>>i;a>n&&(a-=s,f+=pe);let c=t*n,l=c+Math.abs(a)-1,u=a===0,m=a<0,p=t%2!==0;return{nextN:f,offset:l,isZero:u,isNeg:m,isNegF:p,offsetF:c}}var ao=new WeakMap,pi=new WeakMap;function co(e){return pi.get(e)||1}function li(e){if(e!==Pe)throw new Error("invalid wNAF")}var Ke=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>Pe;)r&pe&&(n=n.add(o)),o=o.double(),r>>=pe;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=io(r,this.bits),s=[],i=t,a=i;for(let f=0;f<n;f++){a=i,s.push(a);for(let c=1;c<o;c++)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=io(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:f,offset:c,isZero:l,isNeg:u,isNegF:m,offsetF:p}=ui(n,a,i);n=f,l?s=s.add(ir(m,r[p])):o=o.add(ir(u,r[c]))}return li(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=io(t,this.bits);for(let i=0;i<s.windows&&n!==Pe;i++){let{nextN:a,offset:f,isZero:c,isNeg:l}=ui(n,i,s);if(n=a,!c){let u=r[f];o=o.add(l?u.negate():u)}}return li(n),o}getPrecomputes(t,r,n){let o=ao.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),ao.set(r,o))),o}cached(t,r,n){let o=co(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=co(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){hi(r,this.bits),pi.set(t,r),ao.delete(t)}hasCache(t){return co(t)!==1}};function mi(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>Pe||n>Pe;)r&pe&&(s=s.add(o)),n&pe&&(i=i.add(o)),o=o.double(),r>>=pe,n>>=pe;return{p1:s,p2:i}}function di(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return no(t),t}else return Le(e,{isLE:r})}function Fr(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 f of["p","n","h"]){let c=t[f];if(!(typeof c=="bigint"&&c>Pe))throw new Error(`CURVE.${f} must be positive bigint`)}let o=di(t.p,r.Fp,n),s=di(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let f of a)if(!o.isValid(t[f]))throw new Error(`CURVE.${f} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}function Nr(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var re=BigInt(0),st=BigInt(1),fo=BigInt(2),pf=BigInt(8);function mf(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 yi(e,t={}){let r=t,n=Fr("edwards",e,r,r.FpFnLE),{Fp:o,Fn:s}=n,i=n.CURVE,{h:a}=i;It(r,{},{uvRatio:"function"});let f=fo<<BigInt(s.BYTES*8)-st,c=E=>o.create(E),l=r.uvRatio===void 0?(E,h)=>{try{return{isValid:!0,value:o.sqrt(o.div(E,h))}}catch{return{isValid:!1,value:re}}}:r.uvRatio;if(!mf(o,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function u(E,h,w=!1){let A=w?st:re;return Oe("coordinate "+E,h,A,f),h}function m(E){if(!(E instanceof p))throw new Error("EdwardsPoint expected")}class p{static BASE=new p(i.Gx,i.Gy,st,c(i.Gx*i.Gy));static ZERO=new p(re,st,st,re);static Fp=o;static Fn=s;X;Y;Z;T;constructor(h,w,A,B){this.X=u("x",h),this.Y=u("y",w),this.Z=u("z",A,!0),this.T=u("t",B),Object.freeze(this)}static CURVE(){return i}static fromAffine(h){if(h instanceof p)throw new Error("extended point not allowed");let{x:w,y:A}=h||{};return u("x",w),u("y",A),new p(w,A,st,c(w*A))}static fromBytes(h,w=!1){let A=o.BYTES,{a:B,d:O}=i;h=nr(k(h,A,"point")),vt(w,"zip215");let C=nr(h),P=h[A-1];C[A-1]=P&-129;let R=Ot(C),_=w?f:o.ORDER;Oe("point.y",R,re,_);let K=c(R*R),H=c(K-st),U=c(O*K-B),{isValid:d,value:y}=l(H,U);if(!d)throw new Error("bad point: invalid y coordinate");let S=(y&st)===st,x=(P&128)!==0;if(!w&&y===re&&x)throw new Error("bad point: x=0 and x_0=1");return x!==S&&(y=c(-y)),p.fromAffine({x:y,y:R})}static fromHex(h,w=!1){return p.fromBytes(De(h),w)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(h=8,w=!0){return b.createCache(this,h),w||this.multiply(fo),this}assertValidity(){let h=this,{a:w,d:A}=i;if(h.is0())throw new Error("bad point: ZERO");let{X:B,Y:O,Z:C,T:P}=h,R=c(B*B),_=c(O*O),K=c(C*C),H=c(K*K),U=c(R*w),d=c(K*c(U+_)),y=c(H+c(A*c(R*_)));if(d!==y)throw new Error("bad point: equation left != right (1)");let S=c(B*O),x=c(C*P);if(S!==x)throw new Error("bad point: equation left != right (2)")}equals(h){m(h);let{X:w,Y:A,Z:B}=this,{X:O,Y:C,Z:P}=h,R=c(w*P),_=c(O*B),K=c(A*P),H=c(C*B);return R===_&&K===H}is0(){return this.equals(p.ZERO)}negate(){return new p(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:h}=i,{X:w,Y:A,Z:B}=this,O=c(w*w),C=c(A*A),P=c(fo*c(B*B)),R=c(h*O),_=w+A,K=c(c(_*_)-O-C),H=R+C,U=H-P,d=R-C,y=c(K*U),S=c(H*d),x=c(K*d),g=c(U*H);return new p(y,S,g,x)}add(h){m(h);let{a:w,d:A}=i,{X:B,Y:O,Z:C,T:P}=this,{X:R,Y:_,Z:K,T:H}=h,U=c(B*R),d=c(O*_),y=c(P*A*H),S=c(C*K),x=c((B+O)*(R+_)-U-d),g=S-y,v=S+y,T=c(d-w*U),I=c(x*g),D=c(v*T),L=c(x*T),N=c(g*v);return new p(I,D,N,L)}subtract(h){return m(h),this.add(h.negate())}multiply(h){if(!s.isValidNot0(h))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:w,f:A}=b.cached(this,h,B=>me(p,B));return me(p,[w,A])[0]}multiplyUnsafe(h){if(!s.isValid(h))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return h===re?p.ZERO:this.is0()||h===st?this:b.unsafe(this,h,w=>me(p,w))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,i.n).is0()}toAffine(h){let w=this,A=h,{X:B,Y:O,Z:C}=w,P=w.is0();A==null&&(A=P?pf:o.inv(C));let R=c(B*A),_=c(O*A),K=o.mul(C,A);if(P)return{x:re,y:st};if(K!==st)throw new Error("invZ was invalid");return{x:R,y:_}}clearCofactor(){return a===st?this:this.multiplyUnsafe(a)}toBytes(){let{x:h,y:w}=this.toAffine(),A=o.toBytes(w);return A[A.length-1]|=h&st?128:0,A}toHex(){return Ce(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new Ke(p,s.BITS);return s.BITS>=8&&p.BASE.precompute(8),Object.freeze(p.prototype),Object.freeze(p),p}var kr=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(t){this.ep=t}static fromBytes(t){eo()}static fromHex(t){eo()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return Ce(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.ep.precompute(t,r),this}};function bi(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');let n=t,o=r;It(o,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:s}=o,{BASE:i,Fp:a,Fn:f}=e,c=n.outputLen,l=2*a.BYTES;if(c!==void 0&&(Bt(c,"hash.outputLen"),c!==l))throw new Error(`hash.outputLen must be ${l}, got ${c}`);let u=o.randomBytes===void 0?er:o.randomBytes,m=o.adjustScalarBytes===void 0?d=>d:o.adjustScalarBytes,p=o.domain===void 0?(d,y,S)=>{if(vt(S,"phflag"),y.length||S)throw new Error("Contexts/pre-hash are not supported");return d}:o.domain;function b(d){return f.create(Ot(d))}function E(d){let y=R.secretKey;k(d,R.secretKey,"secretKey");let S=k(n(d),2*y,"hashedSecretKey"),x=m(S.slice(0,y)),g=S.slice(y,2*y),v=b(x);return{head:x,prefix:g,scalar:v}}function h(d){let{head:y,prefix:S,scalar:x}=E(d),g=i.multiply(x),v=g.toBytes();return{head:y,prefix:S,scalar:x,point:g,pointBytes:v}}function w(d){return h(d).pointBytes}function A(d=Uint8Array.of(),...y){let S=tt(...y);return b(n(p(S,k(d,void 0,"context"),!!s)))}function B(d,y,S={}){d=k(d,void 0,"message"),s&&(d=s(d));let{prefix:x,scalar:g,pointBytes:v}=h(y),T=A(S.context,x,d),I=i.multiply(T).toBytes(),D=A(S.context,I,v,d),L=f.create(T+D*g);if(!f.isValid(L))throw new Error("sign failed: invalid s");let N=tt(I,f.toBytes(L));return k(N,R.signature,"result")}let O={zip215:o.zip215};function C(d,y,S,x=O){let{context:g}=x,v=x.zip215===void 0?!!O.zip215:x.zip215,T=R.signature;d=k(d,T,"signature"),y=k(y,void 0,"message"),S=k(S,R.publicKey,"publicKey"),v!==void 0&&vt(v,"zip215"),s&&(y=s(y));let I=T/2,D=d.subarray(0,I),L=Ot(d.subarray(I,T)),N,M,F;try{N=e.fromBytes(S,v),M=e.fromBytes(D,v),F=i.multiplyUnsafe(L)}catch{return!1}if(!v&&N.isSmallOrder())return!1;let J=A(g,D,S,y);return M.add(N.multiplyUnsafe(J)).subtract(F).clearCofactor().is0()}let P=a.BYTES,R={secretKey:P,publicKey:P,signature:2*P,seed:P};function _(d){return d=d===void 0?u(R.seed):d,k(d,R.seed,"seed")}function K(d){return le(d)&&d.length===R.secretKey}function H(d,y){try{return!!e.fromBytes(d,y===void 0?O.zip215:y)}catch{return!1}}let U={getExtendedPublicKey:h,randomSecretKey:_,isValidSecretKey:K,isValidPublicKey:H,toMontgomery(d){let{y}=e.fromBytes(d),S=R.publicKey,x=S===32;if(!x&&S!==57)throw new Error("only defined for 25519 and 448");let g=x?a.div(st+y,st-y):a.div(y-st,y+st);return a.toBytes(g)},toMontgomerySecret(d){let y=R.secretKey;k(d,y);let S=n(d.subarray(0,y));return m(S).subarray(0,y)}};return Object.freeze(R),Object.freeze(U),Object.freeze({keygen:Nr(_,w),getPublicKey:w,sign:B,verify:C,utils:U,Point:e,lengths:R})}function ar(e,t){if(Bt(e),Bt(t),t<0||t>4)throw new Error("invalid I2OSP length: "+t);if(e<0||e>2**(8*t)-1)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function yf(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function bf(e){if(!le(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or ascii string");let t=typeof e=="string"?Kr(e):e;if(t.length===0)throw new Error("DST must be non-empty");return t}function uo(e,t,r,n){k(e),Bt(r),t=bf(t),t.length>255&&(t=n(tt(Kr("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=tt(t,ar(t.length,1)),f=new Uint8Array(s),c=ar(r,2),l=new Array(i),u=n(tt(f,e,c,ar(0,1),a));l[0]=n(tt(u,ar(1,1),a));for(let p=1;p<i;p++){let b=[yf(u,l[p-1]),ar(p+1,1),a];l[p]=n(tt(...b))}return tt(...l).slice(0,r)}var gi="HashToScalar-";var gf=BigInt(0),qt=BigInt(1),xi=BigInt(2);var xf=BigInt(5),wf=BigInt(8),Ue=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),mo={p:Ue,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:wf,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Ef(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=Ue,a=e*e%s*e%s,f=j(a,xi,s)*a%s,c=j(f,qt,s)*e%s,l=j(c,xf,s)*c%s,u=j(l,t,s)*l%s,m=j(u,r,s)*u%s,p=j(m,n,s)*m%s,b=j(p,o,s)*p%s,E=j(b,o,s)*p%s,h=j(E,t,s)*l%s;return{pow_p_5_8:j(h,xi,s)*e%s,b2:a}}function Sf(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var lo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function yo(e,t){let r=Ue,n=W(t*t*t,r),o=W(n*n*t,r),s=Ef(e*o).pow_p_5_8,i=W(e*n*s,r),a=W(t*i*i,r),f=i,c=W(i*lo,r),l=a===e,u=a===W(-e,r),m=a===W(-e*lo,r);return l&&(i=f),(u||m)&&(i=c),Mt(i,r)&&(i=W(-i,r)),{isValid:l||u,value:i}}var oe=yi(mo,{uvRatio:yo}),ne=oe.Fp,Si=oe.Fn;function Af(e){return bi(oe,Dr,Object.assign({adjustScalarBytes:Sf,zip215:!0},e))}var Ai=Af({});var ho=lo,vf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Bf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),If=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),_f=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),wi=e=>yo(qt,e),Tf=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),po=e=>ne.create(Ot(e)&Tf);function Ei(e){let{d:t}=mo,r=Ue,n=w=>ne.create(w),o=n(ho*e*e),s=n((o+qt)*If),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:f,value:c}=yo(s,a),l=n(c*e);Mt(l,r)||(l=n(-l)),f||(c=l),f||(i=o);let u=n(i*(o-qt)*_f-a),m=c*c,p=n((c+c)*a),b=n(u*vf),E=n(qt-m),h=n(qt+m);return new oe(n(p*h),n(E*b),n(b*h),n(p*E))}var se=class e extends kr{static BASE=new e(oe.BASE);static ZERO=new e(oe.ZERO);static Fp=ne;static Fn=Si;constructor(t){super(t)}static fromAffine(t){return new e(oe.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static fromBytes(t){gt(t,32);let{a:r,d:n}=mo,o=Ue,s=O=>ne.create(O),i=po(t);if(!Ws(ne.toBytes(i),t)||Mt(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),f=s(qt+r*a),c=s(qt-r*a),l=s(f*f),u=s(c*c),m=s(r*n*l-u),{isValid:p,value:b}=wi(s(m*u)),E=s(b*c),h=s(b*E*m),w=s((i+i)*E);Mt(w,o)&&(w=s(-w));let A=s(f*h),B=s(w*A);if(!p||Mt(B,o)||A===gf)throw new Error("invalid ristretto255 encoding 2");return new e(new oe(w,A,qt,B))}static fromHex(t){return e.fromBytes(We(t))}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=Ue,i=h=>ne.create(h),a=i(i(n+r)*i(n-r)),f=i(t*r),c=i(f*f),{value:l}=wi(i(a*c)),u=i(l*a),m=i(l*f),p=i(u*m*o),b;if(Mt(o*p,s)){let h=i(r*ho),w=i(t*ho);t=h,r=w,b=i(u*Bf)}else b=m;Mt(t*p,s)&&(r=i(-r));let E=i((n-r)*b);return Mt(E,s)&&(E=i(-E)),ne.toBytes(E)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=c=>ne.create(c),a=i(r*s)===i(n*o),f=i(n*s)===i(r*o);return a||f}is0(){return this.equals(e.ZERO)}};Object.freeze(se.BASE);Object.freeze(se.ZERO);Object.freeze(se.prototype);Object.freeze(se);var Cf=Object.freeze({Point:se,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,n=uo(e,r,64,Dr);return Cf.deriveToCurve(n)},hashToScalar(e,t={DST:gi}){let r=uo(e,t.DST,64,Dr);return Si.create(Ot(r))},deriveToCurve(e){gt(e,64);let t=po(e.subarray(0,32)),r=Ei(t),n=po(e.subarray(32,64)),o=Ei(n);return new se(r.add(o))}});var cr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Mr=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var vi={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Mr("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 wt=vi;var qr=32;var bo,Df=(async()=>{try{return await wt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function Of(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await wt.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await wt.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 Rf(e,t,r){return Ai.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function Bi(e,t,r){return bo==null&&(bo=await Df),bo?Of(e,t,r):Rf(e,t,r)}function Vr(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Hr=class{type="Ed25519";raw;constructor(t){this.raw=go(t,qr)}toMultihash(){return St.digest(Wt(this))}toCID(){return nt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=Bi(this.raw,r,t);return Vr(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}};function xo(e){return e=go(e,qr),new Hr(e)}function go(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 Pf=Math.pow(2,7),Kf=Math.pow(2,14),Uf=Math.pow(2,21),wo=Math.pow(2,28),Eo=Math.pow(2,35),So=Math.pow(2,42),Ao=Math.pow(2,49),V=128,lt=127;function Et(e){if(e<Pf)return 1;if(e<Kf)return 2;if(e<Uf)return 3;if(e<wo)return 4;if(e<Eo)return 5;if(e<So)return 6;if(e<Ao)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Fe(e,t,r=0){switch(Et(e)){case 8:t[r++]=e&255|V,e/=128;case 7:t[r++]=e&255|V,e/=128;case 6:t[r++]=e&255|V,e/=128;case 5:t[r++]=e&255|V,e/=128;case 4:t[r++]=e&255|V,e>>>=7;case 3:t[r++]=e&255|V,e>>>=7;case 2:t[r++]=e&255|V,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Ff(e,t,r=0){switch(Et(e)){case 8:t.set(r++,e&255|V),e/=128;case 7:t.set(r++,e&255|V),e/=128;case 6:t.set(r++,e&255|V),e/=128;case 5:t.set(r++,e&255|V),e/=128;case 4:t.set(r++,e&255|V),e>>>=7;case 3:t.set(r++,e&255|V),e>>>=7;case 2:t.set(r++,e&255|V),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function vo(e,t){let r=e[t],n=0;if(n+=r&lt,r<V||(r=e[t+1],n+=(r&lt)<<7,r<V)||(r=e[t+2],n+=(r&lt)<<14,r<V)||(r=e[t+3],n+=(r&lt)<<21,r<V)||(r=e[t+4],n+=(r&lt)*wo,r<V)||(r=e[t+5],n+=(r&lt)*Eo,r<V)||(r=e[t+6],n+=(r&lt)*So,r<V)||(r=e[t+7],n+=(r&lt)*Ao,r<V))return n;throw new RangeError("Could not decode varint")}function Nf(e,t){let r=e.get(t),n=0;if(n+=r&lt,r<V||(r=e.get(t+1),n+=(r&lt)<<7,r<V)||(r=e.get(t+2),n+=(r&lt)<<14,r<V)||(r=e.get(t+3),n+=(r&lt)<<21,r<V)||(r=e.get(t+4),n+=(r&lt)*wo,r<V)||(r=e.get(t+5),n+=(r&lt)*Eo,r<V)||(r=e.get(t+6),n+=(r&lt)*So,r<V)||(r=e.get(t+7),n+=(r&lt)*Ao,r<V))return n;throw new RangeError("Could not decode varint")}function zr(e,t,r=0){return t==null&&(t=yt(Et(e))),t instanceof Uint8Array?Fe(e,t,r):Ff(e,t,r)}function Bo(e,t=0){return e instanceof Uint8Array?vo(e,t):Nf(e,t)}var Io=new Float32Array([-0]),ie=new Uint8Array(Io.buffer);function Ti(e,t,r){Io[0]=e,t[r]=ie[0],t[r+1]=ie[1],t[r+2]=ie[2],t[r+3]=ie[3]}function Ci(e,t){return ie[0]=e[t],ie[1]=e[t+1],ie[2]=e[t+2],ie[3]=e[t+3],Io[0]}var _o=new Float64Array([-0]),dt=new Uint8Array(_o.buffer);function Di(e,t,r){_o[0]=e,t[r]=dt[0],t[r+1]=dt[1],t[r+2]=dt[2],t[r+3]=dt[3],t[r+4]=dt[4],t[r+5]=dt[5],t[r+6]=dt[6],t[r+7]=dt[7]}function Oi(e,t){return dt[0]=e[t],dt[1]=e[t+1],dt[2]=e[t+2],dt[3]=e[t+3],dt[4]=e[t+4],dt[5]=e[t+5],dt[6]=e[t+6],dt[7]=e[t+7],_o[0]}var kf=BigInt(Number.MAX_SAFE_INTEGER),Mf=BigInt(Number.MIN_SAFE_INTEGER),xt=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return ye;if(t<kf&&t>Mf)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>Ri&&(o=0n,++n>Ri&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return ye;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):ye}},ye=new xt(0,0);ye.toBigInt=function(){return 0n};ye.zzEncode=ye.zzDecode=function(){return this};ye.length=function(){return 1};var Ri=4294967296n;function Li(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 Pi(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 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 _t(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function jr(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Co=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,_t(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 _t(this,4);return jr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw _t(this,4);return jr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw _t(this,4);let t=Ci(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw _t(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 _t(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Pi(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw _t(this,t);this.pos+=t}else do if(this.pos>=this.len)throw _t(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new xt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw _t(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 _t(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 _t(this,8);let t=jr(this.buf,this.pos+=4),r=jr(this.buf,this.pos+=4);return new xt(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=vo(this.buf,this.pos);return this.pos+=Et(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 fr(e){return new Co(e instanceof Uint8Array?e:e.subarray())}function Vt(e,t,r){let n=fr(e);return t.decode(n,void 0,r)}function Do(e){let t=e??8192,r=t>>>1,n,o=t;return function(i){if(i<1||i>r)return yt(i);o+i>t&&(n=yt(t),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var be=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 Lo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},qf=Do();function Vf(e){return globalThis.Buffer!=null?yt(e):qf(e)}var lr=class{len;head;tail;states;constructor(){this.len=0,this.head=new be(Oo,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new be(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Po((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,xt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=xt.fromBigInt(t);return this._push($r,r.length(),r)}uint64Number(t){return this._push(Fe,Et(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=xt.fromBigInt(t).zzEncode();return this._push($r,r.length(),r)}sint64Number(t){let r=xt.fromNumber(t).zzEncode();return this._push($r,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ro,1,t?1:0)}fixed32(t){return this._push(ur,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=xt.fromBigInt(t);return this._push(ur,4,r.lo)._push(ur,4,r.hi)}fixed64Number(t){let r=xt.fromNumber(t);return this._push(ur,4,r.lo)._push(ur,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(Ti,4,t)}double(t){return this._push(Di,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Ro,1,0):this.uint32(r)._push(zf,r,t)}string(t){let r=Li(t);return r!==0?this.uint32(r)._push(To,r,t):this._push(Ro,1,0)}fork(){return this.states=new Lo(this),this.head=this.tail=new be(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 be(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=Vf(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Ro(e,t,r){t[r]=e&255}function Hf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var Po=class extends be{next;constructor(t,r){super(Hf,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 ur(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 zf(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(lr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(jf,t,e),this},lr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push($f,t,e),this});function jf(e,t,r){t.set(e,r)}function $f(e,t,r){e.length<40?To(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(z(e),r)}function Ko(){return new lr}function Ht(e,t){let r=Ko();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}function*zt(e,t,r){let n=fr(e);yield*t.stream(n,void 0,"$",r)}var Zr={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function Yr(e,t,r,n,o){return{name:e,type:t,encode:r,decode:n,stream:o}}function Uo(e){function t(s){if(e[s.toString()]==null)throw new Error("Invalid enum value");return e[s]}let r=function(i,a){let f=t(i);a.int32(f)},n=function(i){let a=i.int32();return t(a)},o=function*(i){let a=i.int32();yield t(a)};return Yr("enum",Zr.VARINT,r,n,o)}function jt(e,t,r){return Yr("message",Zr.LENGTH_DELIMITED,e,t,r)}var dr=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var $;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})($||($={}));var Fo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(Fo||(Fo={}));(function(e){e.codec=()=>Uo(Fo)})($||($={}));var Rt;(function(e){let t;e.codec=()=>(t==null&&(t=jt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),$.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:{f.Type=$.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:$.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 Ht(s,e.codec())}e.encode=r;function n(s,i){return Vt(s,e.codec(),i)}e.decode=n;function o(s,i){return zt(s,e.codec(),i)}e.stream=o})(Rt||(Rt={}));var No;(function(e){let t;e.codec=()=>(t==null&&(t=jt((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),$.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let f={},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:{f.Type=$.codec().decode(s);break}case 2:{f.Data=s.bytes();break}default:{s.skipType(l&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:{yield{field:`${a}.Type`,value:$.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 Ht(s,e.codec())}e.encode=r;function n(s,i){return Vt(s,e.codec(),i)}e.decode=n;function o(s,i){return zt(s,e.codec(),i)}e.stream=o})(No||(No={}));var pr={};mt(pr,{MAX_RSA_KEY_SIZE:()=>ko,generateRSAKeyPair:()=>Mi,jwkToJWKKeyPair:()=>qi,jwkToPkcs1:()=>Xf,jwkToPkix:()=>Ho,jwkToRSAPrivateKey:()=>Zo,pkcs1MessageToJwk:()=>qo,pkcs1MessageToRSAPrivateKey:()=>zo,pkcs1ToJwk:()=>Gf,pkcs1ToRSAPrivateKey:()=>ki,pkixMessageToJwk:()=>Vo,pkixMessageToRSAPublicKey:()=>$o,pkixToJwk:()=>Wf,pkixToRSAPublicKey:()=>jo});var Ne=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=pr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return nt.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r,n){return Ni(this.jwk,r,t,n)}},hr=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=pr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}sign(t,r){return Fi(this.jwk,t,r)}};var ko=8192,Mo=18,Zf=1062,Yf=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Gf(e){let t=Ut(e);return qo(t)}function qo(e){return{n:q(e[1],"base64url"),e:q(e[2],"base64url"),d:q(e[3],"base64url"),p:q(e[4],"base64url"),q:q(e[5],"base64url"),dp:q(e[6],"base64url"),dq:q(e[7],"base64url"),qi:q(e[8],"base64url"),kty:"RSA"}}function Xf(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 Xt([bt(Uint8Array.from([0])),bt(z(e.n,"base64url")),bt(z(e.e,"base64url")),bt(z(e.d,"base64url")),bt(z(e.p,"base64url")),bt(z(e.q,"base64url")),bt(z(e.dp,"base64url")),bt(z(e.dq,"base64url")),bt(z(e.qi,"base64url"))]).subarray()}function Wf(e){let t=Ut(e,{offset:0});return Vo(t)}function Vo(e){let t=Ut(e[1],{offset:0});return{kty:"RSA",n:q(t[0],"base64url"),e:q(t[1],"base64url")}}function Ho(e){if(e.n==null||e.e==null)throw new Q("JWK was missing components");return Xt([Yf,vr(Xt([bt(z(e.n,"base64url")),bt(z(e.e,"base64url"))]))]).subarray()}function ki(e){let t=Ut(e);return zo(t)}function zo(e){let t=qo(e);return Zo(t)}function jo(e,t){if(e.byteLength>=Zf)throw new we("Key size is too large");let r=Ut(e,{offset:0});return $o(r,e,t)}function $o(e,t,r){let n=Vo(e);if(r==null){let o=Te(Rt.encode({Type:$.RSA,Data:t}));r=Ct(Mo,o)}return new Ne(n,r)}function Zo(e){if(Hi(e)>ko)throw new Q("Key size is too large");let t=qi(e),r=Te(Rt.encode({Type:$.RSA,Data:Ho(t.publicKey)})),n=Ct(Mo,r);return new hr(t.privateKey,new Ne(t.publicKey,n))}async function Mi(e){if(e>ko)throw new Q("Key size is too large");let t=await Vi(e),r=Te(Rt.encode({Type:$.RSA,Data:Ho(t.publicKey)})),n=Ct(Mo,r);return new hr(t.privateKey,new Ne(t.publicKey,n))}function qi(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 Vi(e,t){let r=await wt.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 Jf(r,t);return{privateKey:n[0],publicKey:n[1]}}async function Fi(e,t,r){let n=await wt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await wt.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 Ni(e,t,r,n){let o=await wt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await wt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),s}async function Jf(e,t){if(e.privateKey==null||e.publicKey==null)throw new Q("Private and public key are required");let r=await Promise.all([wt.get().subtle.exportKey("jwk",e.privateKey),wt.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function Hi(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 Gr=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(t,r){if(Br(t),gt(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),Nt(o)}update(t){return _e(this),this.iHash.update(t),this}digestInto(t){_e(this),Ir(t,this),this.finished=!0;let r=t.subarray(0,this.outputLen);this.iHash.digestInto(r),this.oHash.update(r),this.oHash.digestInto(r),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()}},zi=(()=>{let e=((t,r,n)=>new Gr(t,r).update(n).digest());return e.create=(t,r)=>new Gr(t,r),e})();var ji=(e,t)=>(e+(e>=0?t:-t)/$i)/t;function Qf(e,t,r){Oe("scalar",e,Lt,r);let[[n,o],[s,i]]=t,a=ji(i*e,r),f=ji(-o*e,r),c=e-a*n-f*s,l=-a*o-f*i,u=c<Lt,m=l<Lt;u&&(c=-c),m&&(l=-l);let p=or(Math.ceil(Re(r)/2))+ae;if(c<Lt||c>=p||l<Lt||l>=p)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:u,k1:c,k2neg:m,k2:l}}function Go(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function Yo(e,t){It(e);let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return vt(r.lowS,"lowS"),vt(r.prehash,"prehash"),r.format!==void 0&&Go(r.format),r}var Xo=class extends Error{constructor(t=""){super(t)}},Tt={Err:Xo,_tlv:{encode:(e,t)=>{let{Err:r}=Tt;if(Bt(e,"tag"),e<0||e>255)throw new r("tlv.encode: wrong tag");if(typeof t!="string")throw new TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=rr(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let s=n>127?rr(o.length/2|128):"";return rr(e)+s+o+t},decode(e,t){let{Err:r}=Tt;t=k(t,void 0,"DER data");let n=0;if(e<0||e>255)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 f=o&127;if(!f)throw new r("tlv.decode(long): indefinite length not supported");if(f>4)throw new r("tlv.decode(long): byte length is too big");let c=t.subarray(n,n+f);if(c.length!==f)throw new r("tlv.decode: length bytes not complete");if(c[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let l of c)i=i<<8|l;if(n+=f,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}=Tt;if(Lr(e),e<Lt)throw new t("integer: negative integers are not allowed");let r=rr(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}=Tt;if(e.length<1)throw new t("invalid signature integer: empty");if(e[0]&128)throw new t("invalid signature integer: negative");if(e.length>1&&e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return de(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=Tt,o=k(e,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:f}=n.decode(2,s),{v:c,l}=n.decode(2,f);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(c)}},hexFromSig(e){let{_tlv:t,_int:r}=Tt,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),s=n+o;return t.encode(48,s)}};Object.freeze(Tt._tlv);Object.freeze(Tt._int);Object.freeze(Tt);var Lt=BigInt(0),ae=BigInt(1),$i=BigInt(2),Xr=BigInt(3),tu=BigInt(4);function Zi(e,t={}){let r=Fr("weierstrass",e,t),n=r.Fp,o=r.Fn,s=r.CURVE,{h:i,n:a}=s;It(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:f,allowInfinityPoint:c}=t;if(f&&(!n.is0(s.a)||typeof f.beta!="bigint"||!Array.isArray(f.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let l=Gi(n,o);function u(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function m(U,d,y){if(c&&d.is0())return Uint8Array.of(0);let{x:S,y:x}=d.toAffine(),g=n.toBytes(S);if(vt(y,"isCompressed"),y){u();let v=!n.isOdd(x);return tt(Yi(v),g)}else return tt(Uint8Array.of(4),g,n.toBytes(x))}function p(U){k(U,void 0,"Point");let{publicKey:d,publicKeyUncompressed:y}=l,S=U.length,x=U[0],g=U.subarray(1);if(c&&S===1&&x===0)return{x:n.ZERO,y:n.ZERO};if(S===d&&(x===2||x===3)){let v=n.fromBytes(g);if(!n.isValid(v))throw new Error("bad point: is not on curve, wrong x");let T=h(v),I;try{I=n.sqrt(T)}catch(N){let M=N instanceof Error?": "+N.message:"";throw new Error("bad point: is not on curve, sqrt error"+M)}u();let D=n.isOdd(I);return(x&1)===1!==D&&(I=n.neg(I)),{x:v,y:I}}else if(S===y&&x===4){let v=n.BYTES,T=n.fromBytes(g.subarray(0,v)),I=n.fromBytes(g.subarray(v,v*2));if(!w(T,I))throw new Error("bad point: is not on curve");return{x:T,y:I}}else throw new Error(`bad point: got length ${S}, expected compressed=${d} or uncompressed=${y}`)}let b=t.toBytes===void 0?m:t.toBytes,E=t.fromBytes===void 0?p:t.fromBytes;function h(U){let d=n.sqr(U),y=n.mul(d,U);return n.add(n.add(y,n.mul(U,s.a)),s.b)}function w(U,d){let y=n.sqr(d),S=h(U);return n.eql(y,S)}if(!w(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let A=n.mul(n.pow(s.a,Xr),tu),B=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(A,B)))throw new Error("bad curve params: a or b");function O(U,d,y=!1){if(!n.isValid(d)||y&&n.is0(d))throw new Error(`bad point coordinate ${U}`);return d}function C(U){if(!(U instanceof _))throw new Error("Weierstrass Point expected")}function P(U){if(!f||!f.basises)throw new Error("no endo");return Qf(U,f.basises,o.ORDER)}function R(U,d,y,S,x){return y=new _(n.mul(y.X,U),y.Y,y.Z),d=ir(S,d),y=ir(x,y),d.add(y)}class _{static BASE=new _(s.Gx,s.Gy,n.ONE);static ZERO=new _(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(d,y,S){this.X=O("x",d),this.Y=O("y",y,!0),this.Z=O("z",S),Object.freeze(this)}static CURVE(){return s}static fromAffine(d){let{x:y,y:S}=d||{};if(!d||!n.isValid(y)||!n.isValid(S))throw new Error("invalid affine point");if(d instanceof _)throw new Error("projective point not allowed");return n.is0(y)&&n.is0(S)?_.ZERO:new _(y,S,n.ONE)}static fromBytes(d){let y=_.fromAffine(E(k(d,void 0,"point")));return y.assertValidity(),y}static fromHex(d){return _.fromBytes(De(d))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(d=8,y=!0){return H.createCache(this,d),y||this.multiply(Xr),this}assertValidity(){let d=this;if(d.is0()){if(t.allowInfinityPoint&&n.is0(d.X)&&n.eql(d.Y,n.ONE)&&n.is0(d.Z))return;throw new Error("bad point: ZERO")}let{x:y,y:S}=d.toAffine();if(!n.isValid(y)||!n.isValid(S))throw new Error("bad point: x or y not field elements");if(!w(y,S))throw new Error("bad point: equation left != right");if(!d.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(d)}equals(d){C(d);let{X:y,Y:S,Z:x}=this,{X:g,Y:v,Z:T}=d,I=n.eql(n.mul(y,T),n.mul(g,x)),D=n.eql(n.mul(S,T),n.mul(v,x));return I&&D}negate(){return new _(this.X,n.neg(this.Y),this.Z)}double(){let{a:d,b:y}=s,S=n.mul(y,Xr),{X:x,Y:g,Z:v}=this,T=n.ZERO,I=n.ZERO,D=n.ZERO,L=n.mul(x,x),N=n.mul(g,g),M=n.mul(v,v),F=n.mul(x,g);return F=n.add(F,F),D=n.mul(x,v),D=n.add(D,D),T=n.mul(d,D),I=n.mul(S,M),I=n.add(T,I),T=n.sub(N,I),I=n.add(N,I),I=n.mul(T,I),T=n.mul(F,T),D=n.mul(S,D),M=n.mul(d,M),F=n.sub(L,M),F=n.mul(d,F),F=n.add(F,D),D=n.add(L,L),L=n.add(D,L),L=n.add(L,M),L=n.mul(L,F),I=n.add(I,L),M=n.mul(g,v),M=n.add(M,M),L=n.mul(M,F),T=n.sub(T,L),D=n.mul(M,N),D=n.add(D,D),D=n.add(D,D),new _(T,I,D)}add(d){C(d);let{X:y,Y:S,Z:x}=this,{X:g,Y:v,Z:T}=d,I=n.ZERO,D=n.ZERO,L=n.ZERO,N=s.a,M=n.mul(s.b,Xr),F=n.mul(y,g),J=n.mul(S,v),et=n.mul(x,T),rt=n.add(y,S),G=n.add(g,v);rt=n.mul(rt,G),G=n.add(F,J),rt=n.sub(rt,G),G=n.add(y,x);let pt=n.add(g,T);return G=n.mul(G,pt),pt=n.add(F,et),G=n.sub(G,pt),pt=n.add(S,x),I=n.add(v,T),pt=n.mul(pt,I),I=n.add(J,et),pt=n.sub(pt,I),L=n.mul(N,G),I=n.mul(M,et),L=n.add(I,L),I=n.sub(J,L),L=n.add(J,L),D=n.mul(I,L),J=n.add(F,F),J=n.add(J,F),et=n.mul(N,et),G=n.mul(M,G),J=n.add(J,et),et=n.sub(F,et),et=n.mul(N,et),G=n.add(G,et),F=n.mul(J,G),D=n.add(D,F),F=n.mul(pt,G),I=n.mul(rt,I),I=n.sub(I,F),F=n.mul(rt,J),L=n.mul(pt,L),L=n.add(L,F),new _(I,D,L)}subtract(d){return C(d),this.add(d.negate())}is0(){return this.equals(_.ZERO)}multiply(d){let{endo:y}=t;if(!o.isValidNot0(d))throw new RangeError("invalid scalar: out of range");let S,x,g=v=>H.cached(this,v,T=>me(_,T));if(y){let{k1neg:v,k1:T,k2neg:I,k2:D}=P(d),{p:L,f:N}=g(T),{p:M,f:F}=g(D);x=N.add(F),S=R(y.beta,L,M,v,I)}else{let{p:v,f:T}=g(d);S=v,x=T}return me(_,[S,x])[0]}multiplyUnsafe(d){let{endo:y}=t,S=this,x=d;if(!o.isValid(x))throw new RangeError("invalid scalar: out of range");if(x===Lt||S.is0())return _.ZERO;if(x===ae)return S;if(H.hasCache(this))return this.multiply(x);if(y){let{k1neg:g,k1:v,k2neg:T,k2:I}=P(x),{p1:D,p2:L}=mi(_,S,v,I);return R(y.beta,D,L,g,T)}else return H.unsafe(S,x)}toAffine(d){let y=this,S=d,{X:x,Y:g,Z:v}=y;if(n.eql(v,n.ONE))return{x,y:g};let T=y.is0();S==null&&(S=T?n.ONE:n.inv(v));let I=n.mul(x,S),D=n.mul(g,S),L=n.mul(v,S);if(T)return{x:n.ZERO,y:n.ZERO};if(!n.eql(L,n.ONE))throw new Error("invZ was invalid");return{x:I,y:D}}isTorsionFree(){let{isTorsionFree:d}=t;return i===ae?!0:d?d(_,this):H.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:d}=t;return i===ae?this:d?d(_,this):this.multiplyUnsafe(i)}isSmallOrder(){return i===ae?this.is0():this.clearCofactor().is0()}toBytes(d=!0){return vt(d,"isCompressed"),this.assertValidity(),b(_,this,d)}toHex(d=!0){return Ce(this.toBytes(d))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let K=o.BITS,H=new Ke(_,t.endo?Math.ceil(K/2):K);return K>=8&&_.BASE.precompute(8),Object.freeze(_.prototype),Object.freeze(_),_}function Yi(e){return Uint8Array.of(e?2:3)}function Gi(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function eu(e,t={}){let{Fn:r}=e,n=t.randomBytes===void 0?er:t.randomBytes,o=Object.assign(Gi(e.Fp,r),{seed:Math.max(oo(r.ORDER),16)});function s(p){try{let b=r.fromBytes(p);return r.isValidNot0(b)}catch{return!1}}function i(p,b){let{publicKey:E,publicKeyUncompressed:h}=o;try{let w=p.length;return b===!0&&w!==E||b===!1&&w!==h?!1:!!e.fromBytes(p)}catch{return!1}}function a(p){return p=p===void 0?n(o.seed):p,so(k(p,o.seed,"seed"),r.ORDER)}function f(p,b=!0){return e.BASE.multiply(r.fromBytes(p)).toBytes(b)}function c(p){let{secretKey:b,publicKey:E,publicKeyUncompressed:h}=o,w=r._lengths;if(!le(p))return;let A=k(p,void 0,"key").length,B=A===E||A===h,O=A===b||!!w?.includes(A);if(!(B&&O))return B}function l(p,b,E=!0){if(c(p)===!0)throw new Error("first arg must be private key");if(c(b)===!1)throw new Error("second arg must be public key");let h=r.fromBytes(p);return e.fromBytes(b).multiply(h).toBytes(E)}let u={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},m=Nr(a,f);return Object.freeze(u),Object.freeze(o),Object.freeze({getPublicKey:f,getSharedSecret:l,keygen:m,Point:e,utils:u,lengths:o})}function Xi(e,t,r={}){let n=t;Br(n),It(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let o=r.randomBytes===void 0?er:r.randomBytes,s=r.hmac===void 0?(x,g)=>zi(n,x,g):r.hmac,{Fp:i,Fn:a}=e,{ORDER:f,BITS:c}=a,{keygen:l,getPublicKey:u,getSharedSecret:m,utils:p,lengths:b}=eu(e,r),E={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},h=f*$i+ae<i.ORDER;function w(x){let g=f>>ae;return x>g}function A(x,g){if(!a.isValidNot0(g))throw new Error(`invalid signature ${x}: out of range 1..Point.Fn.ORDER`);return g}function B(){if(h)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function O(x,g){Go(g);let v=b.signature,T=g==="compact"?v:g==="recovered"?v+1:void 0;return k(x,T)}class C{r;s;recovery;constructor(g,v,T){if(this.r=A("r",g),this.s=A("s",v),T!=null){if(B(),![0,1,2,3].includes(T))throw new Error("invalid recovery id");this.recovery=T}Object.freeze(this)}static fromBytes(g,v=E.format){O(g,v);let T;if(v==="der"){let{r:N,s:M}=Tt.toSig(k(g));return new C(N,M)}v==="recovered"&&(T=g[0],v="compact",g=g.subarray(1));let I=b.signature/2,D=g.subarray(0,I),L=g.subarray(I,I*2);return new C(a.fromBytes(D),a.fromBytes(L),T)}static fromHex(g,v){return this.fromBytes(De(g),v)}assertRecovery(){let{recovery:g}=this;if(g==null)throw new Error("invalid recovery id: must be present");return g}addRecoveryBit(g){return new C(this.r,this.s,g)}recoverPublicKey(g){let{r:v,s:T}=this,I=this.assertRecovery(),D=I===2||I===3?v+f:v;if(!i.isValid(D))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let L=i.toBytes(D),N=e.fromBytes(tt(Yi((I&1)===0),L)),M=a.inv(D),F=R(k(g,void 0,"msgHash")),J=a.create(-F*M),et=a.create(T*M),rt=e.BASE.multiplyUnsafe(J).add(N.multiplyUnsafe(et));if(rt.is0())throw new Error("invalid recovery: point at infinify");return rt.assertValidity(),rt}hasHighS(){return w(this.s)}toBytes(g=E.format){if(Go(g),g==="der")return De(Tt.hexFromSig(this));let{r:v,s:T}=this,I=a.toBytes(v),D=a.toBytes(T);return g==="recovered"?(B(),tt(Uint8Array.of(this.assertRecovery()),I,D)):tt(I,D)}toHex(g){return Ce(this.toBytes(g))}}Object.freeze(C.prototype),Object.freeze(C);let P=r.bits2int===void 0?function(g){if(g.length>8192)throw new Error("input is too large");let v=de(g),T=g.length*8-c;return T>0?v>>BigInt(T):v}:r.bits2int,R=r.bits2int_modN===void 0?function(g){return a.create(P(g))}:r.bits2int_modN,_=or(c);function K(x){return Oe("num < 2^"+c,x,Lt,_),a.toBytes(x)}function H(x,g){return k(x,void 0,"message"),g?k(n(x),void 0,"prehashed message"):x}function U(x,g,v){let{lowS:T,prehash:I,extraEntropy:D}=Yo(v,E);x=H(x,I);let L=R(x),N=a.fromBytes(g);if(!a.isValidNot0(N))throw new Error("invalid private key");let M=[K(N),K(L)];if(D!=null&&D!==!1){let rt=D===!0?o(b.secretKey):D;M.push(k(rt,void 0,"extraEntropy"))}let F=tt(...M),J=L;function et(rt){let G=P(rt);if(!a.isValidNot0(G))return;let pt=a.inv(G),xe=e.BASE.multiply(G).toAffine(),qe=a.create(xe.x);if(qe===Lt)return;let xr=a.create(pt*a.create(J+qe*N));if(xr===Lt)return;let as=(xe.x===qe?0:2)|Number(xe.y&ae),cs=xr;return T&&w(xr)&&(cs=a.neg(xr),as^=1),new C(qe,cs,h?void 0:as)}return{seed:F,k2sig:et}}function d(x,g,v={}){let{seed:T,k2sig:I}=U(x,g,v);return Js(n.outputLen,a.BYTES,s)(T,I).toBytes(v.format)}function y(x,g,v,T={}){let{lowS:I,prehash:D,format:L}=Yo(T,E);if(v=k(v,void 0,"publicKey"),g=H(g,D),!le(x)){let N=x instanceof C?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+N)}O(x,L);try{let N=C.fromBytes(x,L),M=e.fromBytes(v);if(I&&N.hasHighS())return!1;let{r:F,s:J}=N,et=R(g),rt=a.inv(J),G=a.create(et*rt),pt=a.create(F*rt),xe=e.BASE.multiplyUnsafe(G).add(M.multiplyUnsafe(pt));return xe.is0()?!1:a.create(xe.x)===F}catch{return!1}}function S(x,g,v={}){let{prehash:T}=Yo(v,E);return g=H(g,T),C.fromBytes(x,"recovered").recoverPublicKey(g).toBytes()}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:m,utils:p,lengths:b,Point:e,sign:d,verify:y,recoverPublicKey:S,Signature:C,hash:n})}var Jo={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},ru={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Wi=BigInt(2);function nu(e){let t=Jo.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),f=BigInt(88),c=e*e*e%t,l=c*c*e%t,u=j(l,r,t)*l%t,m=j(u,r,t)*l%t,p=j(m,Wi,t)*c%t,b=j(p,o,t)*p%t,E=j(b,s,t)*b%t,h=j(E,a,t)*E%t,w=j(h,f,t)*h%t,A=j(w,a,t)*E%t,B=j(A,r,t)*l%t,O=j(B,i,t)*b%t,C=j(O,n,t)*c%t,P=j(C,Wi,t);if(!Wo.eql(Wo.sqr(P),e))throw new Error("Cannot find square root");return P}var Wo=Le(Jo.p,{sqrt:nu}),ou=Zi(Jo,{Fp:Wo,endo:ru}),ke=Xi(ou,Te);function Ji(e,t,r,n){let o=Ze.digest(r instanceof Uint8Array?r:r.subarray());if(Vr(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),ke.verify(t,s,e,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new cr(String(s))});try{return n?.signal?.throwIfAborted(),ke.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(s){throw new cr(String(s))}}var Wr=class{type="secp256k1";raw;_key;constructor(t){this._key=ta(t),this.raw=Qi(this._key)}toMultihash(){return St.digest(Wt(this))}toCID(){return nt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r,n){return Ji(this._key,r,t,n)}};function Qo(e){return new Wr(e)}function Qi(e){return ke.Point.fromBytes(e).toBytes()}function ta(e){try{return ke.Point.fromBytes(e),e}catch(t){throw new we(String(t))}}function ea(e,t){let{Type:r,Data:n}=Rt.decode(e),o=n??new Uint8Array;switch(r){case $.RSA:return jo(o,t);case $.Ed25519:return xo(o);case $.secp256k1:return Qo(o);case $.ECDSA:return qn(o);default:throw new Ee}}function ra(e){let{Type:t,Data:r}=Rt.decode(e.digest),n=r??new Uint8Array;switch(t){case $.Ed25519:return xo(n);case $.secp256k1:return Qo(n);case $.ECDSA:return qn(n);default:throw new Ee}}function Wt(e){return Rt.encode({Type:$[e.type],Data:e.raw})}var mr;(function(e){let t;e.codec=()=>(t==null&&(t=jt((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 f={publicKey:at(0),payloadType:at(0),payload:at(0),signature:at(0)},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:{f.publicKey=s.bytes();break}case 2:{f.payloadType=s.bytes();break}case 3:{f.payload=s.bytes();break}case 5:{f.signature=s.bytes();break}default:{s.skipType(l&7);break}}}return f},function*(s,i,a,f={}){let c=i==null?s.len:s.pos+i;for(;s.pos<c;){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 Ht(s,e.codec())}e.encode=r;function n(s,i){return Vt(s,e.codec(),i)}e.decode=n;function o(s,i){return zt(s,e.codec(),i)}e.stream=o})(mr||(mr={}));var Jr=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var Qr=class e{static createFromProtobuf=t=>{let r=mr.decode(t),n=ea(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=na(o,s,i),f=await r.sign(a.subarray(),n);return new e({publicKey:r.publicKey,payloadType:s,payload:i,signature:f})};static openAndCertify=async(t,r,n)=>{let o=e.createFromProtobuf(t);if(!await o.validate(r,n))throw new Jr("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=mr.encode({publicKey:Wt(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return t==null?!1:ot(this.marshal(),t.marshal())}async validate(t,r){let n=na(t,this.payloadType,this.payload);return this.publicKey.verify(n.subarray(),this.signature,r)}},na=(e,t,r)=>{let n=z(e),o=zr(n.byteLength),s=zr(t.length),i=zr(r.length);return new ht(o,n,s,t,i,r)};var oa=Symbol.for("nodejs.util.inspect.custom"),su=114,yr=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()})`}[hn]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return nt.createV1(su,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return ot(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return ot(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[oa](){return`PeerId(${this.toString()})`}},tn=class extends yr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},en=class extends yr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},rn=class extends yr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},iu=2336,nn=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=St.digest(z(this.url))}[oa](){return`PeerId(${this.url})`}[hn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return nt.createV1(iu,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=q(t)),t.toString()===this.toString())}};function sa(e){if(cu(e))return new tn({multihash:e});if(au(e))try{let t=ra(e);if(t.type==="Ed25519")return new en({multihash:e,publicKey:t});if(t.type==="secp256k1")return new rn({multihash:e,publicKey:t})}catch{let r=q(e.digest);return new nn(new URL(r))}throw new wr("Supplied PeerID Multihash is invalid")}function au(e){return e.code===St.code}function cu(e){return e.code===Ze.code}var ut=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},$t=class extends Error{static name="ValidationError";name="ValidationError"},on=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},sn=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};var an=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 f=a==="0",c=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let m=Number.parseInt(u,t);if(!Number.isNaN(m))return m});if(l===void 0)break;if(s*=t,s+=l,s>c||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&f&&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 fu=45,uu=15,cn=new an;function ia(e){if(!(e.length>uu))return cn.new(e).parseWith(()=>cn.readIPv4Addr())}function aa(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>fu))return cn.new(e).parseWith(()=>cn.readIPv6Addr())}function fn(e){return!!ia(e)}function ca(e){return!!aa(e)}function es(e){return t=>q(t,e)}function rs(e){return t=>z(t,e)}function Me(e){return new DataView(e.buffer).getUint16(e.byteOffset).toString()}function ge(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof e=="string"?parseInt(e):e),new Uint8Array(t)}function fa(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=ge(n);return Kt([r,o],r.length+o.length)}function ua(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=Gt.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=ge(n);return Kt([r,o],r.length+o.length)}function ns(e){let t=e.subarray(0,e.length-2),r=e.subarray(e.length-2),n=q(t,"base32"),o=Me(r);return`${n}:${o}`}var os=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 ut("Invalid byte value in IP address");t[n]=o}),t},la=function(e){let t=0;e=e.toString().trim();let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=fn(r[n]),i;s&&(i=os(r[n]),r[n]=q(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,q(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 ut("Invalid byte value in IP address");o[t++]=s>>8&255,o[t++]=s&255}return o},da=function(e){if(e.byteLength!==4)throw new ut("IPv4 address was incorrect length");let t=[];for(let r=0;r<e.byteLength;r++)t.push(e[r]);return t.join(".")},ha=function(e){if(e.byteLength!==16)throw new ut("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 ut(`Invalid IPv6 address "${r}"`)}};function pa(e){try{let t=new URL(`http://[${e}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new ut(`Invalid IPv6 address "${e}"`)}}var ts=Object.values(Ye).map(e=>e.decoder),lu=(function(){let e=ts[0].or(ts[1]);return ts.slice(2).forEach(t=>e=e.or(t)),e})();function ma(e){return lu.decode(e)}function ya(e){return t=>e.encoder.encode(t)}function du(e){if(parseInt(e).toString()!==e)throw new $t("Value must be an integer")}function hu(e){if(e<0)throw new $t("Value must be a positive integer, or zero")}function pu(e){return t=>{if(t>e)throw new $t(`Value must be smaller than or equal to ${e}`)}}function mu(...e){return t=>{for(let r of e)r(t)}}var br=mu(du,hu,pu(65535));var it=-1,ss=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 sn(`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 ss,rl=[{code:4,name:"ip4",size:32,valueToBytes:os,bytesToValue:da,validate:e=>{if(!fn(e))throw new $t(`Invalid IPv4 address "${e}"`)}},{code:6,name:"tcp",size:16,valueToBytes:ge,bytesToValue:Me,validate:br},{code:273,name:"udp",size:16,valueToBytes:ge,bytesToValue:Me,validate:br},{code:33,name:"dccp",size:16,valueToBytes:ge,bytesToValue:Me,validate:br},{code:41,name:"ip6",size:128,valueToBytes:la,bytesToValue:ha,stringToValue:pa,validate:e=>{if(!ca(e))throw new $t(`Invalid IPv6 address "${e}"`)}},{code:42,name:"ip6zone",size:it},{code:43,name:"ipcidr",size:8,bytesToValue:es("base10"),valueToBytes:rs("base10")},{code:53,name:"dns",size:it},{code:54,name:"dns4",size:it},{code:55,name:"dns6",size:it},{code:56,name:"dnsaddr",size:it},{code:132,name:"sctp",size:16,valueToBytes:ge,bytesToValue:Me,validate:br},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:it,stringToValue:e=>decodeURIComponent(e),valueToString:e=>encodeURIComponent(e)},{code:421,name:"p2p",aliases:["ipfs"],size:it,bytesToValue:es("base58btc"),valueToBytes:e=>e.startsWith("Q")||e.startsWith("1")?rs("base58btc")(e):nt.parse(e).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:ns,valueToBytes:fa},{code:445,name:"onion3",size:296,bytesToValue:ns,valueToBytes:ua},{code:446,name:"garlic64",size:it},{code:447,name:"garlic32",size:it},{code:448,name:"tls"},{code:449,name:"sni",size:it},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:it,bytesToValue:ya(Tn),valueToBytes:ma},{code:480,name:"http"},{code:481,name:"http-path",size:it,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:it}];rl.forEach(e=>{Zt.addProtocol(e)});function ba(e){let t=[],r=0;for(;r<e.length;){let n=Bo(e,r),o=Zt.getProtocol(n),s=Et(n),i=nl(o,e,r+s),a=0;i>0&&o.size===it&&(a=Et(i));let f=s+a+i,c={code:n,name:o.name,bytes:e.subarray(r,r+f)};if(i>0){let l=r+s+a,u=e.subarray(l,l+i);c.value=o.bytesToValue?.(u)??q(u)}t.push(c),r+=f}return t}function ga(e){let t=0,r=[];for(let n of e){if(n.bytes==null){let o=Zt.getProtocol(n.code),s=Et(n.code),i,a=0,f=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??z(n.value),a=i.byteLength,o.size===it&&(f=Et(a)));let c=new Uint8Array(s+f+a),l=0;Fe(n.code,c,l),l+=s,i!=null&&(o.size===it&&(Fe(a,c,l),l+=f),c.set(i,l)),n.bytes=c}r.push(n.bytes),t+=n.bytes.byteLength}return Kt(r,t)}function xa(e){if(e.charAt(0)!=="/")throw new ut('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 f=Zt.getProtocol(o);if(r==="protocol"){if(f.size==null||f.size===0){t.push({code:f.code,name:f.name}),n="",o="",r="protocol";continue}else if(a)throw new ut(`Component ${o} was missing value`);r="value"}else if(r==="value"){let c={code:f.code,name:f.name};if(f.size!=null&&f.size!==0){if(n==="")throw new ut(`Component ${o} was missing value`);c.value=f.stringToValue?.(n)??n}t.push(c),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new ut("Incomplete multiaddr");return t}function wa(e){return`/${e.flatMap(t=>{if(t.value==null)return t.name;let r=Zt.getProtocol(t.code);if(r==null)throw new ut(`Unknown protocol code ${t.code}`);return[t.name,r.valueToString?.(t.value)??t.value]}).join("/")}`}function nl(e,t,r){return e.size==null||e.size===0?0:e.size>0?e.size/8:Bo(t,r)}var ol=Symbol.for("nodejs.util.inspect.custom"),is=Symbol.for("@multiformats/multiaddr");function sl(e){if(e==null&&(e="/"),Ea(e))return e.getComponents();if(e instanceof Uint8Array)return ba(e);if(typeof e=="string")return e=e.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),e===""&&(e="/"),xa(e);if(Array.isArray(e))return e;throw new ut("Must be a string, Uint8Array, Component[], or another Multiaddr")}var un=class e{[is]=!0;#t;#e;#r;constructor(t="/",r={}){this.#t=sl(t),r.validate!==!1&&il(this)}get bytes(){return this.#r==null&&(this.#r=ga(this.#t)),this.#r}toString(){return this.#e==null&&(this.#e=wa(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 on(`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 ot(this.bytes,t.bytes)}[ol](){return`Multiaddr(${this.toString()})`}};function il(e){e.getComponents().forEach(t=>{let r=Zt.getProtocol(t.code);t.value!=null&&r.validate?.(t.value)})}function Ea(e){return!!e?.[is]}function Sa(e){return new un(e)}var Aa="libp2p-peer-record",va=Uint8Array.from([3,1]);var gr;(function(e){let t;(function(i){let a;i.codec=()=>(a==null&&(a=jt((u,m,p={})=>{p.lengthDelimited!==!1&&m.fork(),u.multiaddr!=null&&u.multiaddr.byteLength>0&&(m.uint32(10),m.bytes(u.multiaddr)),p.lengthDelimited!==!1&&m.ldelim()},(u,m,p={})=>{let b={multiaddr:at(0)},E=m==null?u.len:u.pos+m;for(;u.pos<E;){let h=u.uint32();h>>>3===1?b.multiaddr=u.bytes():u.skipType(h&7)}return b},function*(u,m,p,b={}){let E=m==null?u.len:u.pos+m;for(;u.pos<E;){let h=u.uint32();h>>>3===1?yield{field:`${p}.multiaddr`,value:u.bytes()}:u.skipType(h&7)}})),a);function f(u){return Ht(u,i.codec())}i.encode=f;function c(u,m){return Vt(u,i.codec(),m)}i.decode=c;function l(u,m){return zt(u,i.codec(),m)}i.stream=l})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=jt((i,a,f={})=>{if(f.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 c of i.addresses)a.uint32(26),e.AddressInfo.codec().encode(c,a);f.lengthDelimited!==!1&&a.ldelim()},(i,a,f={})=>{let c={peerId:at(0),seq:0n,addresses:[]},l=a==null?i.len:i.pos+a;for(;i.pos<l;){let u=i.uint32();switch(u>>>3){case 1:{c.peerId=i.bytes();break}case 2:{c.seq=i.uint64();break}case 3:{if(f.limits?.addresses!=null&&c.addresses.length===f.limits.addresses)throw new dr('Decode error - repeated field "addresses" had too many elements');c.addresses.push(e.AddressInfo.codec().decode(i,i.uint32(),{limits:f.limits?.addresses$}));break}default:{i.skipType(u&7);break}}}return c},function*(i,a,f,c={}){let l={addresses:0},u=a==null?i.len:i.pos+a;for(;i.pos<u;){let m=i.uint32();switch(m>>>3){case 1:{yield{field:`${f}.peerId`,value:i.bytes()};break}case 2:{yield{field:`${f}.seq`,value:i.uint64()};break}case 3:{if(c.limits?.addresses!=null&&l.addresses===c.limits.addresses)throw new dr('Streaming decode error - repeated field "addresses" had too many elements');for(let p of e.AddressInfo.codec().stream(i,i.uint32(),`${f}.addresses[]`,{limits:c.limits?.addresses$}))yield{...p,index:l.addresses};l.addresses++;break}default:{i.skipType(m&7);break}}}})),r);function n(i){return Ht(i,e.codec())}e.encode=n;function o(i,a){return Vt(i,e.codec(),a)}e.decode=o;function s(i,a){return zt(i,e.codec(),a)}e.stream=s})(gr||(gr={}));function Ba(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 ln=class e{static createFromProtobuf=t=>{let r=gr.decode(t),n=sa(je(r.peerId)),o=(r.addresses??[]).map(i=>Sa(i.multiaddr)),s=r.seq;return new e({peerId:n,multiaddrs:o,seqNumber:s})};static DOMAIN=Aa;static CODEC=va;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=gr.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||!Ba(this.multiaddrs,t.multiaddrs))}};return Da(al);})();
3
3
  /*! Bundled license information:
4
4
 
5
- @noble/hashes/utils.js:
6
- (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
7
-
8
5
  @noble/curves/utils.js:
9
6
  @noble/curves/abstract/modular.js:
10
7
  @noble/curves/abstract/curve.js: