@libp2p/utils 7.0.9 → 7.0.10
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 +4 -4
- package/dist/index.min.js.map +4 -4
- package/package.json +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PUtils = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PUtils=(()=>{var zs=Object.create;var $t=Object.defineProperty;var Vs=Object.getOwnPropertyDescriptor;var qs=Object.getOwnPropertyNames;var js=Object.getPrototypeOf,Ws=Object.prototype.hasOwnProperty;var Gs=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),V=(t,e)=>{for(var r in e)$t(t,r,{get:e[r],enumerable:!0})},no=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of qs(e))!Ws.call(t,o)&&o!==r&&$t(t,o,{get:()=>e[o],enumerable:!(n=Vs(e,o))||n.enumerable});return t};var Hs=(t,e,r)=>(r=t!=null?zs(js(t)):{},no(e||!t||!t.__esModule?$t(r,"default",{value:t,enumerable:!0}):r,t)),Xs=t=>no($t({},"__esModule",{value:!0}),t);var Vo=Gs(Et=>{(function(){var t,e,r,n,o,i,s,a;a=function(u){var c,f,d,h;return c=(u&255<<24)>>>24,f=(u&255<<16)>>>16,d=(u&65280)>>>8,h=u&255,[c,f,d,h].join(".")},s=function(u){var c,f,d,h,g,b;for(c=[],d=h=0;h<=3&&u.length!==0;d=++h){if(d>0){if(u[0]!==".")throw new Error("Invalid IP");u=u.substring(1)}b=e(u),g=b[0],f=b[1],u=u.substring(f),c.push(g)}if(u.length!==0)throw new Error("Invalid IP");switch(c.length){case 1:if(c[0]>4294967295)throw new Error("Invalid IP");return c[0]>>>0;case 2:if(c[0]>255||c[1]>16777215)throw new Error("Invalid IP");return(c[0]<<24|c[1])>>>0;case 3:if(c[0]>255||c[1]>255||c[2]>65535)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2])>>>0;case 4:if(c[0]>255||c[1]>255||c[2]>255||c[3]>255)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0;default:throw new Error("Invalid IP")}},r=function(u){return u.charCodeAt(0)},n=r("0"),i=r("a"),o=r("A"),e=function(u){var c,f,d,h,g;for(h=0,c=10,f="9",d=0,u.length>1&&u[d]==="0"&&(u[d+1]==="x"||u[d+1]==="X"?(d+=2,c=16):"0"<=u[d+1]&&u[d+1]<="9"&&(d++,c=8,f="7")),g=d;d<u.length;){if("0"<=u[d]&&u[d]<=f)h=h*c+(r(u[d])-n)>>>0;else if(c===16)if("a"<=u[d]&&u[d]<="f")h=h*c+(10+r(u[d])-i)>>>0;else if("A"<=u[d]&&u[d]<="F")h=h*c+(10+r(u[d])-o)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");d++}if(d===g)throw new Error("empty octet");return[h,d]},t=(function(){function u(c,f){var d,h,g,b;if(typeof c!="string")throw new Error("Missing `net' parameter");if(f||(b=c.split("/",2),c=b[0],f=b[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(v){throw d=v,new Error("Invalid mask: "+f)}for(h=g=32;g>=0;h=--g)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(c)&this.maskLong)>>>0}catch(v){throw d=v,new Error("Invalid net address: "+c)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return u.prototype.contains=function(c){return typeof c=="string"&&(c.indexOf("/")>0||c.split(".").length!==4)&&(c=new u(c)),c instanceof u?this.contains(c.base)&&this.contains(c.broadcast||c.last):(s(c)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},u.prototype.next=function(c){return c==null&&(c=1),new u(a(this.netLong+this.size*c),this.mask)},u.prototype.forEach=function(c){var f,d,h;for(h=s(this.first),d=s(this.last),f=0;h<=d;)c(a(h),h,f),f++,h++},u.prototype.toString=function(){return this.base+"/"+this.bitmask},u})(),Et.ip2long=s,Et.long2ip=a,Et.Netmask=t}).call(Et)});var rl={};V(rl,{AbstractMessageStream:()=>Ue,AbstractMultiaddrConnection:()=>Lt,AbstractStream:()=>Ne,AbstractStreamMuxer:()=>It,AdaptiveTimeout:()=>En,BloomFilter:()=>yt,CuckooFilter:()=>Ee,DEFAULT_FAILURE_MULTIPLIER:()=>Ho,DEFAULT_INTERVAL:()=>Ko,DEFAULT_MAX_TIMEOUT:()=>Qo,DEFAULT_MIN_TIMEOUT:()=>Xo,DEFAULT_TIMEOUT_MULTIPLIER:()=>Go,InvalidDataLengthError:()=>ar,InvalidDataLengthLengthError:()=>cr,InvalidMessageLengthError:()=>tt,LengthPrefixedDecoder:()=>Bn,MaxEarlyStreamsError:()=>St,MemoryStorage:()=>kr,MockStream:()=>Kn,MovingAverage:()=>Pe,PeerQueue:()=>Zn,PriorityQueue:()=>eo,Queue:()=>re,QueueFullError:()=>_t,RateLimitError:()=>vt,RateLimiter:()=>to,ScalableCuckooFilter:()=>xt,StreamClosedError:()=>Ct,UnexpectedEOFError:()=>Se,UnwrappedError:()=>Tt,byteStream:()=>wi,createBloomFilter:()=>ko,createCuckooFilter:()=>Bo,createScalableCuckooFilter:()=>Uo,debounce:()=>Ze,echo:()=>kn,echoStream:()=>Zf,getNetConfig:()=>j,getThinWaistAddresses:()=>Du,ipPortToMultiaddr:()=>ku,isAsyncGenerator:()=>Bu,isGenerator:()=>Uu,isGlobalUnicast:()=>bc,isGlobalUnicastIp:()=>Fu,isLinkLocal:()=>wc,isLinkLocalIp:()=>Ju,isLoopback:()=>Ec,isNetworkAddress:()=>vc,isPrivate:()=>Dc,isPrivateIp:()=>pn,isPromise:()=>wn,lpStream:()=>Ei,messageStreamToDuplex:()=>vi,mockMuxer:()=>Ar,multiaddrConnectionPair:()=>Yn,pbStream:()=>Gu,pipe:()=>Xu,repeatingTask:()=>Yf,streamPair:()=>$s,trackedList:()=>el,trackedMap:()=>tl});var le=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var R=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var Rt=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},zt=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var ye=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},ut=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var ie=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},ze=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},Vt=class extends ze{constructor(e,r){super(!0,e,r)}},qt=class extends ze{constructor(e,r){super(!1,e,r)}};var se=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:i})=>i!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var Mr={};V(Mr,{base58btc:()=>Q,base58flickr:()=>ta});var al=new Uint8Array(0);function oo(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function de(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function io(t){return new TextEncoder().encode(t)}function so(t){return new TextDecoder().decode(t)}function Qs(t,e){if(t.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<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=t.length,u=t.charAt(0),c=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function d(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 v=0,x=0,w=0,S=b.length;w!==S&&b[w]===0;)w++,v++;for(var C=(S-w)*f+1>>>0,O=new Uint8Array(C);w!==S;){for(var k=b[w],fe=0,$=C-1;(k!==0||fe<x)&&$!==-1;$--,fe++)k+=256*O[$]>>>0,O[$]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");x=fe,w++}for(var Y=C-x;Y!==C&&O[Y]===0;)Y++;for(var Ae=u.repeat(v);Y<C;++Y)Ae+=t.charAt(O[Y]);return Ae}function h(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var v=0;if(b[v]!==" "){for(var x=0,w=0;b[v]===u;)x++,v++;for(var S=(b.length-v)*c+1>>>0,C=new Uint8Array(S);b[v];){var O=r[b.charCodeAt(v)];if(O===255)return;for(var k=0,fe=S-1;(O!==0||k<w)&&fe!==-1;fe--,k++)O+=a*C[fe]>>>0,C[fe]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");w=k,v++}if(b[v]!==" "){for(var $=S-w;$!==S&&C[$]===0;)$++;for(var Y=new Uint8Array(x+(S-$)),Ae=x;$!==S;)Y[Ae++]=C[$++];return Y}}}function g(b){var v=h(b);if(v)return v;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:h,decode:g}}var Ks=Qs,Js=Ks,co=Js;var Br=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ur=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,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(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return uo(this,e)}},Nr=class{decoders;constructor(e){this.decoders=e}or(e){return uo(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function uo(t,e){return new Nr({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Pr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Br(e,r,n),this.decoder=new Ur(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Ve({name:t,prefix:e,encode:r,decode:n}){return new Pr(t,e,r,n)}function xe({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=co(r,t);return Ve({prefix:e,name:t,encode:n,decode:i=>de(o(i))})}function Ys(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,a=0,u=0;for(let c=0;c<o;++c){let f=e[t[c]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|f,s+=r,s>=8&&(s-=8,i[u++]=255&a>>s)}if(s>=r||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function Zs(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],s+=8;s>r;)s-=r,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function ea(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function L({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=ea(n);return Ve({prefix:e,name:t,encode(i){return Zs(i,n,r)},decode(i){return Ys(i,o,r,t)}})}var Q=xe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ta=xe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Or={};V(Or,{base32:()=>ae,base32hex:()=>ia,base32hexpad:()=>aa,base32hexpadupper:()=>ca,base32hexupper:()=>sa,base32pad:()=>na,base32padupper:()=>oa,base32upper:()=>ra,base32z:()=>ua});var ae=L({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ra=L({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),na=L({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),oa=L({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ia=L({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),sa=L({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),aa=L({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ca=L({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ua=L({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var $r={};V($r,{base36:()=>ft,base36upper:()=>fa});var ft=xe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fa=xe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var la=ho,fo=128,da=127,ha=~da,ma=Math.pow(2,31);function ho(t,e,r){e=e||[],r=r||0;for(var n=r;t>=ma;)e[r++]=t&255|fo,t/=128;for(;t&ha;)e[r++]=t&255|fo,t>>>=7;return e[r]=t|0,ho.bytes=r-n+1,e}var pa=Rr,ga=128,lo=127;function Rr(t,n){var r=0,n=n||0,o=0,i=n,s,a=t.length;do{if(i>=a)throw Rr.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&lo)<<o:(s&lo)*Math.pow(2,o),o+=7}while(s>=ga);return Rr.bytes=i-n,r}var ya=Math.pow(2,7),xa=Math.pow(2,14),ba=Math.pow(2,21),wa=Math.pow(2,28),Ea=Math.pow(2,35),va=Math.pow(2,42),_a=Math.pow(2,49),Sa=Math.pow(2,56),Ca=Math.pow(2,63),La=function(t){return t<ya?1:t<xa?2:t<ba?3:t<wa?4:t<Ea?5:t<va?6:t<_a?7:t<Sa?8:t<Ca?9:10},Ia={encode:la,decode:pa,encodingLength:La},Aa=Ia,lt=Aa;function dt(t,e=0){return[lt.decode(t,e),lt.decode.bytes]}function qe(t,e,r=0){return lt.encode(t,e,r),e}function je(t){return lt.encodingLength(t)}function Ge(t,e){let r=e.byteLength,n=je(t),o=n+je(r),i=new Uint8Array(o+r);return qe(t,i,0),qe(r,i,n),i.set(e,o),new We(t,r,e,i)}function mo(t){let e=de(t),[r,n]=dt(e),[o,i]=dt(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new We(r,o,s,e)}function po(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&oo(t.bytes,r.bytes)}}var We=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function go(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Da(r,zr(t),e??Q.encoder);default:return Fa(r,zr(t),e??ae.encoder)}}var yo=new WeakMap;function zr(t){let e=yo.get(t);if(e==null){let r=new Map;return yo.set(t,r),r}return e}var He=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==mt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ka)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Ge(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&po(e.multihash,n.multihash)}toString(e){return go(this,e)}toJSON(){return{"/":go(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s??xo(n,o,i.bytes))}else if(r[Ba]===!0){let{version:n,multihash:o,code:i}=r,s=mo(o);return t.create(n,i,s)}else return null}static create(e,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(e){case 0:{if(r!==mt)throw new Error(`Version 0 CID must use dag-pb (code: ${mt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=xo(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,mt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=de(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new We(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,h]=dt(e.subarray(r));return r+=h,d},o=n(),i=mt;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),u=n(),c=r+u,f=c-s;return{version:o,codec:i,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(e,r){let[n,o]=Ta(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return zr(i).set(n,e),i}};function Ta(t,e){switch(t[0]){case"Q":{let r=e??Q;return[Q.prefix,r.decode(`${Q.prefix}${t}`)]}case Q.prefix:{let r=e??Q;return[Q.prefix,r.decode(t)]}case ae.prefix:{let r=e??ae;return[ae.prefix,r.decode(t)]}case ft.prefix:{let r=e??ft;return[ft.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Da(t,e,r){let{prefix:n}=r;if(n!==Q.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o}function Fa(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o}var mt=112,ka=18;function xo(t,e,r){let n=je(t),o=n+je(e),i=new Uint8Array(o+r.byteLength);return qe(t,i,0),qe(e,i,n),i.set(r,o),i}var Ba=Symbol.for("@ipld/js-cid/CID");var Vr={};V(Vr,{identity:()=>Pa});var bo=0,Ua="identity",wo=de;function Na(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return Ge(bo,wo(t))}var Pa={code:bo,name:Ua,encode:wo,digest:Na};function Xe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function q(t=0){return new Uint8Array(t)}function Z(t=0){return new Uint8Array(t)}function be(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=Z(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}var vo=Symbol.for("@achingbrain/uint8arraylist");function Eo(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let o=r+n.byteLength;if(e<o)return{buf:n,index:e-r};r=o}throw new RangeError("index is out of bounds")}function Qe(t){return!!t?.[vo]}var I=class t{bufs;length;[vo]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Qe(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(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Qe(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(e){let r=Eo(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Eo(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Qe(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:o}=this._subList(e,r);return be(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:be(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),i=new t;return i.length=o,i.bufs=[...n],i}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,u=a+s.byteLength;if(o=u,e>=u)continue;let c=e>=a&&e<u,f=r>a&&r<=u;if(c&&f){if(e===a&&r===u){n.push(s);break}let d=e-a;n.push(s.subarray(d,d+(r-e)));break}if(c){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){if(r===u){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Qe(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.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 i=256,s=new Int32Array(i);for(let d=0;d<i;d++)s[d]=-1;for(let d=0;d<o;d++)s[n[d]]=d;let a=s,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let d=r;d<=u;d+=f){f=0;for(let h=c;h>=0;h--){let g=this.get(d+h);if(n[h]!==g){f=Math.max(1,h-a[g]);break}}if(f===0)return d}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Z(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Z(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Xe(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((o,i)=>o+i.byteLength,0)),n.length=r,n}};var qr={};V(qr,{base10:()=>Ma});var Ma=xe({prefix:"9",name:"base10",alphabet:"0123456789"});var jr={};V(jr,{base16:()=>Oa,base16upper:()=>$a});var Oa=L({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$a=L({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wr={};V(Wr,{base2:()=>Ra});var Ra=L({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Gr={};V(Gr,{base256emoji:()=>Wa});var _o=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}"),za=_o.reduce((t,e,r)=>(t[r]=e,t),[]),Va=_o.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function qa(t){return t.reduce((e,r)=>(e+=za[r],e),"")}function ja(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Va[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Wa=Ve({prefix:"\u{1F680}",name:"base256emoji",encode:qa,decode:ja});var Qr={};V(Qr,{base64:()=>Hr,base64pad:()=>Ga,base64url:()=>Xr,base64urlpad:()=>Ha});var Hr=L({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ga=L({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Xr=L({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ha=L({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Kr={};V(Kr,{base8:()=>Xa});var Xa=L({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Jr={};V(Jr,{identity:()=>Qa});var Qa=Ve({prefix:"\0",name:"identity",encode:t=>so(t),decode:t=>io(t)});var jl=new TextEncoder,Wl=new TextDecoder;var en={};V(en,{sha256:()=>Za,sha512:()=>ec});var Ya=20;function Zr({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Yr(t,e,r,n,o)}var Yr=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,i){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??Ya,this.maxDigestLength=i}digest(e,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(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?So(n,this.code,r?.truncate):n.then(o=>So(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function So(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return Ge(e,t)}function Lo(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Za=Zr({name:"sha2-256",code:18,encode:Lo("SHA-256")}),ec=Zr({name:"sha2-512",code:19,encode:Lo("SHA-512")});var pt={...Jr,...Wr,...Kr,...qr,...jr,...Or,...$r,...Mr,...Qr,...Gr},nd={...en,...Vr};function Ao(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Io=Ao("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),tn=Ao("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Z(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),tc={utf8:Io,"utf-8":Io,hex:pt.base16,latin1:tn,ascii:tn,binary:tn,...pt},Wt=tc;function A(t,e="utf8"){let r=Wt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function Te(t,e="utf8"){let r=Wt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}function To(t=32){let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}var rc=Math.pow(2,7),nc=Math.pow(2,14),oc=Math.pow(2,21),rn=Math.pow(2,28),nn=Math.pow(2,35),on=Math.pow(2,42),sn=Math.pow(2,49),_=128,N=127;function P(t){if(t<rc)return 1;if(t<nc)return 2;if(t<oc)return 3;if(t<rn)return 4;if(t<nn)return 5;if(t<on)return 6;if(t<sn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Gt(t,e,r=0){switch(P(t)){case 8:e[r++]=t&255|_,t/=128;case 7:e[r++]=t&255|_,t/=128;case 6:e[r++]=t&255|_,t/=128;case 5:e[r++]=t&255|_,t/=128;case 4:e[r++]=t&255|_,t>>>=7;case 3:e[r++]=t&255|_,t>>>=7;case 2:e[r++]=t&255|_,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function ic(t,e,r=0){switch(P(t)){case 8:e.set(r++,t&255|_),t/=128;case 7:e.set(r++,t&255|_),t/=128;case 6:e.set(r++,t&255|_),t/=128;case 5:e.set(r++,t&255|_),t/=128;case 4:e.set(r++,t&255|_),t>>>=7;case 3:e.set(r++,t&255|_),t>>>=7;case 2:e.set(r++,t&255|_),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function sc(t,e){let r=t[e],n=0;if(n+=r&N,r<_||(r=t[e+1],n+=(r&N)<<7,r<_)||(r=t[e+2],n+=(r&N)<<14,r<_)||(r=t[e+3],n+=(r&N)<<21,r<_)||(r=t[e+4],n+=(r&N)*rn,r<_)||(r=t[e+5],n+=(r&N)*nn,r<_)||(r=t[e+6],n+=(r&N)*on,r<_)||(r=t[e+7],n+=(r&N)*sn,r<_))return n;throw new RangeError("Could not decode varint")}function ac(t,e){let r=t.get(e),n=0;if(n+=r&N,r<_||(r=t.get(e+1),n+=(r&N)<<7,r<_)||(r=t.get(e+2),n+=(r&N)<<14,r<_)||(r=t.get(e+3),n+=(r&N)<<21,r<_)||(r=t.get(e+4),n+=(r&N)*rn,r<_)||(r=t.get(e+5),n+=(r&N)*nn,r<_)||(r=t.get(e+6),n+=(r&N)*on,r<_)||(r=t.get(e+7),n+=(r&N)*sn,r<_))return n;throw new RangeError("Could not decode varint")}function Ht(t,e,r=0){return e==null&&(e=Z(P(t))),e instanceof Uint8Array?Gt(t,e,r):ic(t,e,r)}function he(t,e=0){return t instanceof Uint8Array?sc(t,e):ac(t,e)}function Xt(t){if(isNaN(t)||t<=0)throw new R("random bytes length must be a Number bigger than 0");return To(t)}var an={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},Do={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Fo=new globalThis.TextEncoder;function cc(t,e){let r=an[e],n=Do[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function uc(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=an[e],o=Do[e],i=t;for(;i.length>0;){let s=Fo.encodeInto(i,r);i=i.slice(s.read);for(let a=0;a<s.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function cn(t,{size:e=32,utf8Buffer:r}={}){if(!an[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof t=="string"){if(r)return uc(t,e,r);t=Fo.encode(t)}return cc(t,e)}var we={hash:t=>Number(cn(t,{size:32})),hashV:(t,e)=>fc(we.hash(t,e))};function fc(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),A(e,"base16")}var lc=Math.LN2*Math.LN2,yt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=hc(e.hashes??8),this.bits=e.bits??1024,this.buffer=q(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.seeds.length;r++){let o=we.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.seeds.length;r++){let o=we.hash(e,this.seeds[r])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(e){let r=Math.floor(e/8),n=e%8,o=this.buffer[r];o|=1<<n,this.buffer[r]=o}getbit(e){let r=Math.floor(e/8),n=e%8;return(this.buffer[r]&1<<n)!==0}};function ko(t,e=.005){let r=dc(t,e);return new yt(r)}function dc(t,e=.005){let r=Math.round(-1*t*Math.log(e)/lc),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function hc(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new I(Xt(4)),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var un=64,ee=class{fp;h;seed;constructor(e,r,n,o=2){if(o>un)throw new TypeError("Invalid Fingerprint Size");let i=r.hashV(e,n),s=q(o);for(let a=0;a<s.length;a++)s[a]=i[a];s.length===0&&(s[0]=7),this.fp=s,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Xe(this.fp,e.fp):!1}};function De(t,e){return Math.floor(Math.random()*(e-t))+t}var Fe=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");for(let r=0;r<this.contents.length;r++)if(this.contents[r]==null)return this.contents[r]=e,!0;return!0}swap(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");let r=De(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var mc=500,Ee=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??we,this.seed=e.seed??De(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=A(e));let r=new ee(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=(n^r.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new Fe(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new Fe(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let i=[n,o],s=i[De(0,i.length-1)];this.buckets[s]==null&&(this.buckets[s]=new Fe(this.bucketSize));for(let a=0;a<mc;a++){let u=this.buckets[s].swap(r);if(u!=null&&(s=(s^u.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new Fe(this.bucketSize)),this.buckets[s].add(u)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=A(e));let r=new ee(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.has(r)??!1;if(o)return o;let i=(n^r.hash())%this.filterSize;return this.buckets[i]?.has(r)??!1}remove(e){typeof e=="string"&&(e=A(e));let r=new ee(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.remove(r)??!1;if(o)return this.count--,o;let i=(n^r.hash())%this.filterSize,s=this.buckets[i]?.remove(r)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},pc={1:.5,2:.84,4:.95,8:.98};function gc(t=.001){return t>.002?2:t>1e-5?4:8}function fn(t,e=.001){let r=gc(e),n=pc[r],o=Math.round(t/n),i=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),un);return{filterSize:o,bucketSize:r,fingerprintSize:i}}function Bo(t,e=.005){let r=fn(t,e);return new Ee(r)}var xt=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??we,this.seed=e.seed??De(0,Math.pow(2,10)),this.filterSeries=[new Ee({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=A(e)),this.has(e))return!0;let r=this.filterSeries.find(n=>n.reliable);if(r==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);r=new Ee({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(r)}return r.add(e)}has(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,r)=>e+r.count,0)}};function Uo(t,e=.001,r){return new xt({...fn(t,e),...r??{}})}function j(t){let e=t.getComponents(),r={},n=0;if(e[n]?.name==="ip6zone"&&(r.zone=`${e[n].value}`,n++),e[n].name==="ip4"||e[n].name==="ip6"||e[n].name==="dns"||e[n].name==="dns4"||e[n].name==="dns6"?(r.type=e[n].name,r.host=e[n].value,n++):e[n].name==="dnsaddr"&&(r.type=e[n].name,r.host=`_dnsaddr.${e[n].value}`,n++),(e[n]?.name==="tcp"||e[n]?.name==="udp")&&(r.protocol=e[n].name==="tcp"?"tcp":"udp",r.port=parseInt(`${e[n].value}`),n++),e[n]?.name==="ipcidr"&&(r.type==="ip4"?r.cidr=parseInt(`${e[n].value}`):r.type==="ip6"&&(r.cidr=`${e[n].value}`),n++),r.type==null||r.host==null)throw new R(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r}var Qt=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();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(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",c=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let d=this.readChar();if(d===void 0)return;let h=Number.parseInt(d,e);if(!Number.isNaN(h))return h});if(f===void 0)break;if(i*=e,i+=f,i>c||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&u&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=e(i.subarray(0,s));return r.set(i.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var No=45,yc=15,Ke=new Qt;function Kt(t){if(!(t.length>yc))return Ke.new(t).parseWith(()=>Ke.readIPv4Addr())}function Jt(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>No))return Ke.new(t).parseWith(()=>Ke.readIPv6Addr())}function Je(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>No)return;let r=Ke.new(t).parseWith(()=>Ke.readIPAddr());if(r)return e&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}function Po(t,e,r){let n=0;for(let o of t)if(!(n<e)){if(n>r)break;if(o!==255)return!1;n++}return!0}function Mo(t,e,r,n){let o=0;for(let i of t)if(!(o<r)){if(o>n)break;if(i!==e[o])return!1;o++}return!0}function ln(t){switch(t.length){case ke:return t.join(".");case Be:{let e=[];for(let r=0;r<t.length;r++)r%2===0&&e.push(t[r].toString(16).padStart(2,"0")+t[r+1].toString(16).padStart(2,"0"));return e.join(":")}default:throw new Error("Invalid ip length")}}function Oo(t){let e=0;for(let[r,n]of t.entries()){if(n===255){e+=8;continue}for(;(n&128)!=0;)e++,n=n<<1;if((n&128)!=0)return-1;for(let o=r+1;o<t.length;o++)if(t[o]!=0)return-1;break}return e}function $o(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var ke=4,Be=16,sh=parseInt("0xFFFF",16),xc=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function bt(t,e){e.length===Be&&t.length===ke&&Po(e,0,11)&&(e=e.slice(12)),e.length===ke&&t.length===Be&&Mo(t,xc,0,11)&&(t=t.slice(12));let r=t.length;if(r!=e.length)throw new Error("Failed to mask ip");let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t[o]&e[o];return n}function Ro(t,e){if(typeof e=="string"&&(e=Je(e)),e==null)throw new Error("Invalid ip");if(e.length!==t.network.length)return!1;for(let r=0;r<e.length;r++)if((t.network[r]&t.mask[r])!==(e[r]&t.mask[r]))return!1;return!0}function dn(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=ke,o=Kt(e);if(o==null&&(n=Be,o=Jt(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let i=parseInt(r,10);if(Number.isNaN(i)||String(i).length!==r.length||i<0||i>n*8)throw new Error("Failed to parse given CIDR: "+t);let s=hn(i,8*n);return{network:bt(o,s),mask:s}}function hn(t,e){if(e!==8*ke&&e!==8*Be)throw new Error("Invalid CIDR mask");if(t<0||t>e)throw new Error("Invalid CIDR mask");let r=e/8,n=new Uint8Array(r);for(let o=0;o<r;o++){if(t>=8){n[o]=255,t-=8;continue}n[o]=255-(255>>t),t=0}return n}var wt=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=dn(e));else{let n=Je(e);if(n==null)throw new Error("Failed to parse network");r=String(r);let o=parseInt(r,10);if(Number.isNaN(o)||String(o).length!==r.length||o<0||o>n.length*8){let i=Je(r);if(i==null)throw new Error("Failed to parse mask");this.mask=i}else this.mask=hn(o,8*n.length);this.network=bt(n,this.mask)}}contains(e){return Ro({network:this.network,mask:this.mask},e)}toString(){let e=Oo(this.mask),r=e!==-1?String(e):$o(this.mask);return ln(this.network)+"/"+r}};function Yt(t,e){return new wt(t).contains(e)}function bc(t){try{let e=j(t);switch(e.type){case"ip6":return Yt("2000::/3",e.host);default:return!1}}catch{return!1}}function wc(t){try{let e=j(t);switch(e.type){case"ip4":return e.host.startsWith("169.254.");case"ip6":return e.host.toLowerCase().startsWith("fe80");default:return!1}}catch{return!1}}function zo(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function Ec(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return zo(e.host);default:return!1}}catch{return!1}}function vc(t){try{return j(t),!0}catch{return!1}}function ve(t){return!!Kt(t)}function _e(t){return!!Jt(t)}var qo=Hs(Vo(),1),_c=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Sc=_c.map(t=>new qo.Netmask(t));function mn(t){for(let e of Sc)if(e.contains(t))return!0;return!1}function Cc(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function Lc(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return mn(o)}function Ic(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function Ac(t){let e=t.split(":"),r=e[e.length-1];return mn(r)}function Tc(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function pn(t){if(ve(t))return mn(t);if(Cc(t))return Lc(t);if(Ic(t))return Ac(t);if(_e(t))return Tc(t)}function Dc(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return pn(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}function te(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Zt=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Ye=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Zt(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Zt(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var gn=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ce(t={}){return Fc(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Fc(t,e){e=e??{};let r=e.onEnd,n=new Ye,o,i,s,a=te(),u=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((x,w)=>{i=S=>{i=null,n.push(S);try{x(t(n))}catch(C){w(C)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=te()})}},c=x=>i!=null?i(x):(n.push(x),o),f=x=>(n=new Ye,i!=null?i({error:x}):(n.push({error:x}),o)),d=x=>{if(s)return o;if(e?.objectMode!==!0&&x?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:x})},h=x=>s?o:(s=!0,x!=null?f(x):c({done:!0})),g=()=>(n=new Ye,h(),{done:!0}),b=x=>(h(x),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:u,return:g,throw:b,push:d,end:h,get readableLength(){return n.size},onEmpty:async x=>{let w=x?.signal;if(w?.throwIfAborted(),n.isEmpty())return;let S,C;w!=null&&(S=new Promise((O,k)=>{C=()=>{k(new gn)},w.addEventListener("abort",C)}));try{await Promise.race([a.promise,S])}finally{C!=null&&w!=null&&w?.removeEventListener("abort",C)}}},r==null)return o;let v=o;return o={[Symbol.asyncIterator](){return this},next(){return v.next()},throw(x){return v.throw(x),r!=null&&(r(x),r=void 0),{done:!0}},return(){return v.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(x){return v.end(x),r!=null&&(r(x),r=void 0),o},get readableLength(){return v.readableLength},onEmpty:x=>v.onEmpty(x)},o}var yn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},xn=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},jo=t=>globalThis.DOMException===void 0?new xn(t):new DOMException(t),Wo=t=>{let e=t.reason===void 0?jo("This operation was aborted."):t.reason;return e instanceof Error?e:jo(e)};function bn(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=e,s,a,c=new Promise((f,d)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:g}=e;g.aborted&&d(Wo(g)),a=()=>{d(Wo(g))},g.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){t.then(f,d);return}let h=new yn;s=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(g){d(g)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?f():o instanceof Error?d(o):(h.message=o??`Promise timed out after ${r} milliseconds`,d(h))},r),(async()=>{try{f(await t)}catch(g){d(g)}})()}).finally(()=>{c.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return c.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},c}var kc=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function Bc(t,e,r){let n,o=new Promise((i,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),u=[],{addListener:c,removeListener:f}=kc(t),d=async(...g)=>{let b=r.multiArgs?g:g[0];if(r.filter)try{if(!await r.filter(b))return}catch(v){n(),s(v);return}u.push(b),r.count===u.length&&(n(),i(u))},h=(...g)=>{n(),s(r.rejectionMultiArgs?g:g[0])};n=()=>{for(let g of a)f(g,d);for(let g of r.rejectionEvents)a.includes(g)||f(g,h)};for(let g of a)c(g,d);for(let g of r.rejectionEvents)a.includes(g)||c(g,h);r.signal&&r.signal.addEventListener("abort",()=>{h(r.signal.reason)},{once:!0}),r.resolveImmediately&&i(u)});if(o.cancel=n,typeof r.timeout=="number"){let i=bn(o,{milliseconds:r.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function T(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Bc(t,e,r),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function Ze(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var vt=class extends Error{remainingPoints;msBeforeNext;consumedPoints;isFirstInDuration;constructor(e="Rate limit exceeded",r){super(e),this.name="RateLimitError",this.remainingPoints=r.remainingPoints,this.msBeforeNext=r.msBeforeNext,this.consumedPoints=r.consumedPoints,this.isFirstInDuration=r.isFirstInDuration}},_t=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},Se=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},St=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},Ct=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function Uc(t){return t.reason}async function M(t,e,r){if(e==null)return t;let n=r?.translateError??Uc;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var er=class{deferred;signal;constructor(e){this.signal=e,this.deferred=te(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new le)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function Nc(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var tr=class{id;fn;options;recipients;status;timeline;controller;constructor(e,r){this.id=Nc(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new le),this.cleanup())}async join(e={}){let r=new er(e.signal);return this.recipients.push(r),e.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await M(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var re=class extends se{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=Ze(this.emitEmpty.bind(this),1),this.emitIdle=Ze(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new _t;let n=new tr(e,r);return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),n.join(r).then(o=>(this.safeDispatchEvent("completed",{detail:o}),this.safeDispatchEvent("success",{detail:{job:n,result:o}}),o)).catch(o=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:o}}),o})}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new le)}),this.clear()}async onEmpty(e){this.size!==0&&await T(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await T(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await T(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=ce({objectMode:!0}),n=u=>{u!=null?this.abort():this.clear(),r.end(u)},o=u=>{u.detail!=null&&r.push(u.detail)},i=u=>{n(u.detail.error)},s=()=>{n()},a=()=>{n(new le("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",i),this.addEventListener("idle",s),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",i),this.removeEventListener("idle",s),e?.signal?.removeEventListener("abort",a),n()}}};var Pc=Math.pow(2,20)*4,Ue=class extends se{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;onDrainPromise;constructor(e){super(),this.status="open",this.log=e.log,this.direction=e.direction??"outbound",this.inactivityTimeout=e.inactivityTimeout??12e4,this.maxReadBufferLength=e.maxReadBufferLength??Pc,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new I,this.writeBuffer=new I,this.readStatus="readable",this.remoteReadStatus="readable",this.writeStatus="writable",this.remoteWriteStatus="writable",this.sendingData=!1,this.writableNeedsDrain=!1,this.timeline={open:Date.now()},this.processSendQueue=this.processSendQueue.bind(this);let r=()=>{this.writableNeedsDrain&&(this.log.trace("drain event received, continue sending data"),this.writableNeedsDrain=!1,this.processSendQueue()),this.onDrainPromise?.resolve()};this.addEventListener("drain",r);let n=o=>{this.onDrainPromise?.reject(o.error??new Ct)};this.addEventListener("close",n)}get readBufferLength(){return this.readBuffer.byteLength}get writeBufferLength(){return this.writeBuffer.byteLength}async onDrain(e){return this.writableNeedsDrain!==!0?Promise.resolve():(this.onDrainPromise==null&&(this.onDrainPromise=Promise.withResolvers()),M(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=ce(),r=i=>{e.push(i.data)};this.addEventListener("message",r);let n=i=>{e.end(i.error)};this.addEventListener("close",n);let o=()=>{e.end()};this.addEventListener("remoteCloseWrite",o);try{yield*e}finally{this.removeEventListener("message",r),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(e){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new ye(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",e.byteLength),this.writeBuffer.append(e),this.processSendQueue()}abort(e){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",e),this.status="aborted",this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle")),this.writeStatus="closed",this.remoteWriteStatus="closed",this.readStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now();try{this.sendReset(e)}catch(r){this.log("failed to send reset to remote - %e",r)}this.dispatchEvent(new Vt(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye("Cannot pause a stream that is closing/closed");this.readStatus!=="paused"&&(this.readStatus="paused",this.sendPause())}resume(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.append(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}unshift(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.prepend(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(e){if(e.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(e),this.dispatchReadBuffer()}}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="message"&&this.readBuffer.byteLength>0&&queueMicrotask(()=>{this.dispatchReadBuffer()})}onRemoteReset(){this.log("remote reset"),this.status="reset",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now(),this.readBuffer.byteLength===0&&(this.readStatus="closed");let e=new zt;this.dispatchEvent(new qt(e))}onTransportClosed(e){this.log("transport closed"),this.readStatus==="readable"&&this.readBuffer.byteLength===0&&(this.log("close readable end after transport closed and read buffer is empty"),this.readStatus="closed"),this.remoteReadStatus!=="closed"&&(this.remoteReadStatus="closed"),this.remoteWriteStatus!=="closed"&&(this.remoteWriteStatus="closed"),this.writeStatus!=="closed"&&(this.writeStatus="closed"),e!=null?this.abort(e):(this.status==="open"||this.status==="closing")&&(this.timeline.close=Date.now(),this.status="closed",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.dispatchEvent(new ze))}onRemoteCloseWrite(){this.remoteWriteStatus!=="closed"&&(this.log.trace("on remote close write"),this.remoteWriteStatus="closed",this.safeDispatchEvent("remoteCloseWrite"),this.writeStatus==="closed"&&this.onTransportClosed())}onRemoteCloseRead(){this.log.trace("on remote close read"),this.remoteReadStatus="closed",this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle"))}processSendQueue(){if(this.writableNeedsDrain)return this.log.trace("not processing send queue as drain is required"),this.checkWriteBufferLength(),!1;if(this.writeBuffer.byteLength===0)return this.log.trace("not processing send queue as no bytes to send"),!0;if(this.sendingData)return this.log.trace("not processing send queue as already sending data"),!0;this.sendingData=!0,this.log.trace("processing send queue with %d queued bytes",this.writeBuffer.byteLength);try{let e=!0,r=this.writeBuffer.byteLength,n=0;for(;this.writeBuffer.byteLength>0;){let o=Math.min(this.maxMessageSize??this.writeBuffer.byteLength,this.writeBuffer.byteLength);if(o===0){e=!1;break}let i=this.writeBuffer.sublist(0,o),s=new I(i);this.writeBuffer.consume(i.byteLength);let a=this.sendData(i);if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==s.byteLength&&(s.consume(a.sentBytes),this.writeBuffer.prepend(s)),!e)break}return e||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,r,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),e}finally{this.sendingData=!1}}dispatchReadBuffer(){try{if(this.listenerCount("message")===0){this.log.trace("not dispatching pause buffer as there are no listeners for the message event");return}if(this.readBuffer.byteLength===0){this.log.trace("not dispatching pause buffer as there is no data to dispatch");return}if(this.readStatus==="paused"){this.log.trace("not dispatching pause buffer we are paused");return}if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("dropping %d bytes because the readable end is %s",this.readBuffer.byteLength,this.readStatus),this.readBuffer.consume(this.readBuffer.byteLength);return}let e=this.readBuffer.sublist();this.readBuffer.consume(e.byteLength),this.dispatchEvent(new ie(e))}finally{this.readBuffer.byteLength===0&&this.remoteWriteStatus==="closed"&&(this.log("close readable end after dispatching read buffer and remote writable end is closed"),this.readStatus="closed"),this.checkReadBufferLength()}}checkReadBufferLength(){this.readBuffer.byteLength>this.maxReadBufferLength&&this.abort(new ut(`Read buffer length of ${this.readBuffer.byteLength} exceeded limit of ${this.maxReadBufferLength}, read status is ${this.readStatus}`))}checkWriteBufferLength(){this.maxWriteBufferLength!=null&&this.writeBuffer.byteLength>this.maxWriteBufferLength&&this.abort(new ut(`Write buffer length of ${this.writeBuffer.byteLength} exceeded limit of ${this.maxWriteBufferLength}, write status is ${this.writeStatus}`))}onMuxerNeedsDrain(){this.writableNeedsDrain=!0}onMuxerDrain(){this.safeDispatchEvent("drain")}};var Lt=class extends Ue{remoteAddr;metricPrefix;metrics;constructor(e){super(e),this.metricPrefix=e.metricPrefix??"",this.metrics=e.metrics,this.remoteAddr=e.remoteAddr,this.addEventListener("close",r=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),r.error!=null?r.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):r.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(e){this.status==="open"&&(this.status="closing",this.writeStatus="closing",this.remoteWriteStatus="closing",this.remoteReadStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await T(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await T(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function wn(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var It=class extends se{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(e,r){super(),this.maConn=e,this.protocol=r.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=e.log.newScope(r.name),this.streamOptions=r.streamOptions,this.maxEarlyStreams=r.maxEarlyStreams??10,this.metrics=r.metrics;let n=s=>{try{this.onData(s.data)}catch(a){this.abort(a),this.maConn.abort(a)}};this.maConn.addEventListener("message",n);let o=()=>{this.log("underlying stream drained, signal %d streams to continue writing",this.streams.length),this.streams.forEach(s=>{s.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let i=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",i)}send(e){let r=this.maConn.send(e);return r===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),r}async close(e){this.status==="closed"||this.status==="closing"||(this.status="closing",await M(Promise.all([...this.streams].map(async r=>{await r.close(e)})),e?.signal),this.status="closed")}abort(e){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(r=>{r.abort(e)}),this.status="closed")}onTransportClosed(e){this.status="closing";try{[...this.streams].forEach(r=>{r.onTransportClosed(e)})}catch(r){this.abort(r)}this.status="closed"}async createStream(e){if(this.status!=="open")throw new Rt;let r=this.onCreateStream({...this.streamOptions,...e});return wn(r)&&(r=await r),this.streams.push(r),this.cleanUpStream(r),r}onRemoteStream(e){if(this.streams.push(e),this.cleanUpStream(e),this.listenerCount("stream")===0){this.earlyStreams.push(e),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new St(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:e})}cleanUpStream(e){let r=n=>{let o=this.streams.findIndex(i=>i===e);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${e.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${e.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${e.direction}_stream_end`]:!0})};e.addEventListener("close",r),this.metrics?.increment({[`${e.direction}_stream`]:!0})}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(r=>{this.safeDispatchEvent("stream",{detail:r})}),this.earlyStreams=[]})}};var Ne=class extends Ue{id;protocol;constructor(e){super(e),this.id=e.id,this.protocol=e.protocol??""}async close(e){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.writeStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await T(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData),await T(this,"drain",{...e,rejectionEvents:["close"]}),this.log("write queue drained, closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData)),await this.sendCloseWrite(e),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(e){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(e),this.readStatus="closed",this.log("closed readable end gracefully"))}};function rr(t){let e=new globalThis.AbortController;function r(){e.abort();for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of t){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var Pe=class{movingAverage;variance;deviation;forecast;timeSpan;previousTime;constructor(e){this.timeSpan=e,this.movingAverage=0,this.variance=0,this.deviation=0,this.forecast=0}alpha(e,r){return 1-Math.exp(-(e-r)/this.timeSpan)}push(e,r=Date.now()){if(this.previousTime!=null){let n=this.alpha(r,this.previousTime),o=e-this.movingAverage,i=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*i),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var Go=1.2,Ho=2,Xo=5e3,Qo=6e4,Ko=5e3,En=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??Ko;this.success=new Pe(r),this.failure=new Pe(r),this.next=new Pe(r),this.failureMultiplier=e.failureMultiplier??Ho,this.timeoutMultiplier=e.timeoutMultiplier??Go,this.minTimeout=e.minTimeout??Xo,this.maxTimeout=e.maxTimeout??Qo,e.metricName!=null&&(this.metric=e.metrics?.registerMetricGroup(e.metricName))}getTimeoutSignal(e={}){let r=Math.round(this.next.movingAverage*(e.timeoutFactor??this.timeoutMultiplier));r<this.minTimeout&&(r=this.minTimeout),r>this.maxTimeout&&(r=this.maxTimeout);let n=AbortSignal.timeout(r),o=rr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){let r=Date.now()-e.start;e.aborted?(this.failure.push(r),this.next.push(r*this.failureMultiplier),this.metric?.update({failureMovingAverage:this.failure.movingAverage,failureDeviation:this.failure.deviation,failureForecast:this.failure.forecast,failureVariance:this.failure.variance,failure:r})):(this.success.push(r),this.next.push(r),this.metric?.update({successMovingAverage:this.success.movingAverage,successDeviation:this.success.deviation,successForecast:this.success.forecast,successVariance:this.success.variance,success:r}))}};var B=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},me=class extends Error{static name="ValidationError";name="ValidationError"},nr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},or=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function _n(t){return e=>Te(e,t)}function Sn(t){return e=>A(e,t)}function et(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Me(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Jo(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=A(e[0],"base32"),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Me(n);return be([r,o],r.length+o.length)}function Yo(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=ae.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Me(n);return be([r,o],r.length+o.length)}function Cn(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Te(e,"base32"),o=et(r);return`${n}:${o}`}var Ln=function(t){t=t.toString().trim();let e=new Uint8Array(4);return t.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new B("Invalid byte value in IP address");e[n]=o}),e},Zo=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let i=ve(r[n]),s;i&&(s=Ln(r[n]),r[n]=Te(s.subarray(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Te(s.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 i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let i=parseInt(r[n],16);if(isNaN(i)||i<0||i>65535)throw new B("Invalid byte value in IP address");o[e++]=i>>8&255,o[e++]=i&255}return o},ei=function(t){if(t.byteLength!==4)throw new B("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},ti=function(t){if(t.byteLength!==16)throw new B("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],i=t[n+1],s=`${o.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`;e.push(s)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new B(`Invalid IPv6 address "${r}"`)}};function ri(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new B(`Invalid IPv6 address "${t}"`)}}var vn=Object.values(pt).map(t=>t.decoder),Mc=(function(){let t=vn[0].or(vn[1]);return vn.slice(2).forEach(e=>t=t.or(e)),t})();function ni(t){return Mc.decode(t)}function oi(t){return e=>t.encoder.encode(e)}function Oc(t){if(parseInt(t).toString()!==t)throw new me("Value must be an integer")}function $c(t){if(t<0)throw new me("Value must be a positive integer, or zero")}function Rc(t){return e=>{if(e>t)throw new me(`Value must be smaller than or equal to ${t}`)}}function zc(...t){return e=>{for(let r of t)r(e)}}var At=zc(Oc,$c,Rc(65535));var D=-1,In=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(e){let r;if(typeof e=="string"?r=this.protocolsByName.get(e):r=this.protocolsByCode.get(e),r==null)throw new or(`Protocol ${e} was unknown`);return r}addProtocol(e){this.protocolsByCode.set(e.code,e),this.protocolsByName.set(e.name,e),e.aliases?.forEach(r=>{this.protocolsByName.set(r,e)})}removeProtocol(e){let r=this.protocolsByCode.get(e);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},pe=new In,Cu=[{code:4,name:"ip4",size:32,valueToBytes:Ln,bytesToValue:ei,validate:t=>{if(!ve(t))throw new me(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:273,name:"udp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:33,name:"dccp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:41,name:"ip6",size:128,valueToBytes:Zo,bytesToValue:ti,stringToValue:ri,validate:t=>{if(!_e(t))throw new me(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:D},{code:43,name:"ipcidr",size:8,bytesToValue:_n("base10"),valueToBytes:Sn("base10")},{code:53,name:"dns",size:D},{code:54,name:"dns4",size:D},{code:55,name:"dns6",size:D},{code:56,name:"dnsaddr",size:D},{code:132,name:"sctp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:D,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:D,bytesToValue:_n("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?Sn("base58btc")(t):He.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Cn,valueToBytes:Jo},{code:445,name:"onion3",size:296,bytesToValue:Cn,valueToBytes:Yo},{code:446,name:"garlic64",size:D},{code:447,name:"garlic32",size:D},{code:448,name:"tls"},{code:449,name:"sni",size:D},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:D,bytesToValue:oi(Xr),valueToBytes:ni},{code:480,name:"http"},{code:481,name:"http-path",size:D,stringToValue:t=>`/${decodeURIComponent(t)}`,valueToString:t=>encodeURIComponent(t.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:D}];Cu.forEach(t=>{pe.addProtocol(t)});function ci(t){let e=[],r=0;for(;r<t.length;){let n=he(t,r),o=pe.getProtocol(n),i=P(n),s=Lu(o,t,r+i),a=0;s>0&&o.size===D&&(a=P(s));let u=i+a+s,c={code:n,name:o.name,bytes:t.subarray(r,r+u)};if(s>0){let f=r+i+a,d=t.subarray(f,f+s);c.value=o.bytesToValue?.(d)??Te(d)}e.push(c),r+=u}return e}function ui(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=pe.getProtocol(n.code),i=P(n.code),s,a=0,u=0;n.value!=null&&(s=o.valueToBytes?.(n.value)??A(n.value),a=s.byteLength,o.size===D&&(u=P(a)));let c=new Uint8Array(i+u+a),f=0;Gt(n.code,c,f),f+=i,s!=null&&(o.size===D&&(Gt(a,c,f),f+=u),c.set(s,f)),n.bytes=c}r.push(n.bytes),e+=n.bytes.byteLength}return be(r,e)}function fi(t){if(t.charAt(0)!=="/")throw new B('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let i=1;i<t.length;i++){let s=t.charAt(i);s!=="/"&&(r==="protocol"?o+=t.charAt(i):n+=t.charAt(i));let a=i===t.length-1;if(s==="/"||a){let u=pe.getProtocol(o);if(r==="protocol"){if(u.size==null||u.size===0){e.push({code:u.code,name:u.name}),n="",o="",r="protocol";continue}else if(a)throw new B(`Component ${o} was missing value`);r="value"}else if(r==="value"){let c={code:u.code,name:u.name};if(u.size!=null&&u.size!==0){if(n==="")throw new B(`Component ${o} was missing value`);c.value=u.stringToValue?.(n)??n}e.push(c),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new B("Incomplete multiaddr");return e}function li(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=pe.getProtocol(e.code);if(r==null)throw new B(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function Lu(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:he(e,r)}var Iu=Symbol.for("nodejs.util.inspect.custom"),An=Symbol.for("@multiformats/multiaddr");function Au(t){if(t==null&&(t="/"),di(t))return t.getComponents();if(t instanceof Uint8Array)return ci(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),fi(t);if(Array.isArray(t))return t;throw new B("Must be a string, Uint8Array, Component[], or another Multiaddr")}var ir=class t{[An]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=Au(e),r.validate!==!1&&Tu(this)}get bytes(){return this.#r==null&&(this.#r=ui(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=li(this.#e)),this.#t}toJSON(){return this.toString()}getComponents(){return[...this.#e.map(e=>({...e}))]}encapsulate(e){let r=new t(e);return new t([...this.#e,...r.getComponents()],{validate:!1})}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new nr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new t(n.slice(0,o),{validate:!1})}decapsulateCode(e){let r;for(let n=this.#e.length-1;n>-1;n--)if(this.#e[n].code===e){r=n;break}return new t(this.#e.slice(0,r),{validate:!1})}equals(e){return Xe(this.bytes,e.bytes)}[Iu](){return`Multiaddr(${this.toString()})`}};function Tu(t){t.getComponents().forEach(e=>{let r=pe.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function di(t){return!!t?.[An]}function Ce(t){return new ir(t)}function hi(t,e,r){let n=[t.type,r??t.host];if(t.protocol!=null){let o=e??t.port;o!=null&&n.push(t.protocol,o)}return t.type==="ip6"&&t.zone!=null&&n.unshift("ip6zone",t.zone),t.cidr!=null&&n.push("ipcidr",t.cidr),Ce(`/${n.join("/")}`)}function Du(t,e){if(t==null)return[];let r=j(t);return[hi(r,e)]}function Fu(t){return _e(t)?Yt("2000::/3",t):!1}function ku(t,e){if(typeof t!="string")throw new R(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new R(`invalid port provided: ${e}`);if(ve(t))return Ce(`/ip4/${t}/tcp/${e}`);if(_e(t))return Ce(`/ip6/${t}/tcp/${e}`);throw new R(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function Bu(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function Uu(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var sr=class extends Error{type;code;constructor(e,r,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=r??"ABORT_ERR"}};async function mi(t,e,r){if(e==null)return t;if(e.aborted)return t.catch(()=>{}),Promise.reject(new sr(r?.errorMessage,r?.errorCode,r?.errorName));let n,o=new sr(r?.errorMessage,r?.errorCode,r?.errorName);try{return await Promise.race([t,new Promise((i,s)=>{n=()=>{s(o)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Tn=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=te(),this.haveNext=te()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=te(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=te(),await mi(this.readNext.promise,r?.signal,r)}};function pi(){return new Tn}function Nu(t){return t[Symbol.asyncIterator]!=null}async function Pu(t,e,r){try{await Promise.all(t.map(async n=>{for await(let o of n)await e.push(o,{signal:r}),r.throwIfAborted()})),await e.end(void 0,{signal:r})}catch(n){await e.end(n,{signal:r}).catch(()=>{})}}async function*Mu(t){let e=new AbortController,r=pi();Pu(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*Ou(t){for(let e of t)yield*e}function $u(...t){let e=[];for(let r of t)Nu(r)||e.push(r);return e.length===t.length?Ou(e):Mu(t)}var gi=$u;function yi(t,...e){if(t==null)throw new Error("Empty pipeline");if(Dn(t)){let n=t;t=()=>n.source}else if(bi(t)||xi(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Dn(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Dn(r[n])&&(r[n]=zu(r[n]));return Ru(...r)}var Ru=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},xi=t=>t?.[Symbol.asyncIterator]!=null,bi=t=>t?.[Symbol.iterator]!=null,Dn=t=>t==null?!1:t.sink!=null&&t.source!=null,zu=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=ce({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(xi(i))o=async function*(){yield*i,n.end()};else if(bi(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return gi(n,o())}return t.source};var Vu=4194304,Tt=class extends Error{static name="UnwrappedError";name="UnwrappedError"},tt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ar=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},cr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function qu(t){return typeof t?.closeRead=="function"}function ju(t){return typeof t?.close=="function"}function Fn(t){return qu(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:ju(t)?t.status!=="open":!1}function Wu(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function wi(t,e){let r=e?.maxBufferSize??Vu,n=new I,o,i=!1;if(!Wu(t))throw new R("Argument should be a Stream or a Multiaddr");let s=f=>{if(n.append(f.data),n.byteLength>r){let d=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${d} > ${r}`))}o?.resolve()};t.addEventListener("message",s);let a=f=>{f.error!=null?o?.reject(f.error):o?.resolve()};t.addEventListener("close",a);let u=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",u);let c={readBuffer:n,async read(f){if(i===!0)throw new Tt("Stream was unwrapped");if(Fn(t)){if(f?.bytes==null)return null;if(n.byteLength<f.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,f.bytes),new Se(`Unexpected EOF - stream closed after reading ${n.byteLength}/${f.bytes} bytes`)}let d=f?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=d){o.resolve();break}if(await M(o.promise,f?.signal),Fn(t)){if(n.byteLength===0&&f?.bytes==null)return null;break}o=Promise.withResolvers()}let h=f?.bytes??n.byteLength;if(n.byteLength<h){if(Fn(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,h),new Se(`Unexpected EOF - stream closed while reading ${n.byteLength}/${h} bytes`);return c.read(f)}let g=n.sublist(0,h);return n.consume(h),g},async write(f,d){if(i===!0)throw new Tt("Stream was unwrapped");t.send(f)||await T(t,"drain",{signal:d?.signal,rejectionEvents:["close"]})},unwrap(){return i||(i=!0,t.removeEventListener("message",s),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",u),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.push(n))),t}};return c}function Ei(t,e={}){let r=wi(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=P(e.maxDataLength));let n=e?.lengthDecoder??he,o=e?.lengthEncoder??Ht;return{async read(s){let a=-1,u=new I;for(;;){let f=await r.read({...s,bytes:1});if(f==null)break;u.append(f);try{a=n(u)}catch(d){if(d instanceof RangeError)continue;throw d}if(a<0)throw new tt("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new cr(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new ar(`Message length too long - ${a} > ${e.maxDataLength}`);let c=await r.read({...s,bytes:a});if(c==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new Se(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(c.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",c.byteLength,a),new Se(`Unexpected EOF - read ${c.byteLength}/${a} bytes before the stream closed`);return c},async write(s,a){await r.write(new I(o(s.byteLength),s),a)},async writeV(s,a){let u=new I(...s.flatMap(c=>[o(c.byteLength),c]));await r.write(u,a)},unwrap(){return r.unwrap()}}}function Gu(t,e){let r=Ei(t,e),n={read:async(o,i)=>{let s=await r.read(i);return o.decode(s)},write:async(o,i,s)=>{await r.write(i.encode(o),s)},writeV:async(o,i,s)=>{await r.writeV(o.map(a=>i.encode(a)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function kn(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let i of t)o+=i.byteLength,t.send(i)||(t.pause(),await T(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(i){t.abort(i)}}function Hu(t){return t?.addEventListener!=null}function vi(t){let e=ce(),r,n=s=>{e.push(s.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)},i=s=>{e.end(s.error),s.error!=null&&r?.reject(s.error),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",i,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(s){async function*a(){yield*s}let u=a();for(;;){r=Promise.withResolvers();let{done:c,value:f}=await Promise.race([u.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(f!=null&&(t.send(f)||await Promise.race([T(t,"drain",{rejectionEvents:["close"]})])),c===!0))break}await t.close()}}}function Xu(...t){let e=t.map(r=>Hu(r)?vi(r):r);return yi(...e)}var Qu=1024*1024*4,Ku=1024*1024*4,Bn=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new I,this.maxBufferSize=e.maxBufferSize??Qu,this.maxDataLength=e.maxDataLength??Ku,this.lengthDecoder=e.lengthDecoder??he,this.encodingLength=e.encodingLength??P}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new R(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(i){if(i instanceof RangeError)break;throw i}if(r<0||r>this.maxDataLength)throw new tt("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let i=this.buffer.sublist(n,o);this.buffer.consume(o),i.byteLength>0&&(yield i)}else break}}};function Ju(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var Yu=["string","number","bigint","symbol"],Zu=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function _i(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(Yu.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(ef(t))return"Buffer";let r=tf(t);return r||"Object"}function ef(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function tf(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(Zu.includes(e))return e}var l=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};l.uint=new l(0,"uint",!0);l.negint=new l(1,"negint",!0);l.bytes=new l(2,"bytes",!0);l.string=new l(3,"string",!0);l.array=new l(4,"array",!1);l.map=new l(5,"map",!1);l.tag=new l(6,"tag",!1);l.float=new l(7,"float",!0);l.false=new l(7,"false",!0);l.true=new l(7,"true",!0);l.null=new l(7,"null",!0);l.undefined=new l(7,"undefined",!0);l.break=new l(7,"break",!0);var p=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var rt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",rf=new TextDecoder,nf=new TextEncoder;function ur(t){return rt&&globalThis.Buffer.isBuffer(t)}function Un(t){return t instanceof Uint8Array?ur(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Ii=rt?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Ci(t,e,r):(t,e,r)=>r-e>64?rf.decode(t.subarray(e,r)):Ci(t,e,r),Ai=rt?t=>t.length>64?globalThis.Buffer.from(t):Si(t):t=>t.length>64?nf.encode(t):Si(t),ue=t=>Uint8Array.from(t),nt=rt?(t,e,r)=>ur(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Ti=rt?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Un(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Di=rt?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function fr(t,e){if(ur(t)&&ur(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Si(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}function Ci(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let a,u,c,f;switch(s){case 1:o<128&&(i=o);break;case 2:a=t[e+1],(a&192)===128&&(f=(o&31)<<6|a&63,f>127&&(i=f));break;case 3:a=t[e+1],u=t[e+2],(a&192)===128&&(u&192)===128&&(f=(o&15)<<12|(a&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(i=f));break;case 4:a=t[e+1],u=t[e+2],c=t[e+3],(a&192)===128&&(u&192)===128&&(c&192)===128&&(f=(o&15)<<18|(a&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(i=f))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return of(n)}var Li=4096;function of(t){let e=t.length;if(e<=Li)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Li));return r}var sf=256,Dt=class{constructor(e=sf){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Di(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=nt(n,0,this.cursor)}else r=Ti(this.chunks,this.cursor);return e&&this.reset(),r}};var y="CBOR decode error:",Nn="CBOR encode error:",Ft=[];Ft[23]=1;Ft[24]=2;Ft[25]=3;Ft[26]=5;Ft[27]=9;function ge(t,e,r){if(t.length-e<r)throw new Error(`${y} not enough data for type`)}var F=[24,256,65536,4294967296,BigInt("18446744073709551616")];function W(t,e,r){ge(t,e,1);let n=t[e];if(r.strict===!0&&n<F[0])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);return n}function G(t,e,r){ge(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<F[1])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);return n}function H(t,e,r){ge(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<F[2])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);return n}function X(t,e,r){ge(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<F[3])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${y} integers outside of the safe integer range are not supported`)}function Fi(t,e,r,n){return new p(l.uint,W(t,e+1,n),2)}function ki(t,e,r,n){return new p(l.uint,G(t,e+1,n),3)}function Bi(t,e,r,n){return new p(l.uint,H(t,e+1,n),5)}function Ui(t,e,r,n){return new p(l.uint,X(t,e+1,n),9)}function K(t,e){return U(t,0,e.value)}function U(t,e,r){if(r<F[0]){let n=Number(r);t.push([e|n])}else if(r<F[1]){let n=Number(r);t.push([e|24,n])}else if(r<F[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<F[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<F[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${y} encountered BigInt larger than allowable range`)}}K.encodedSize=function(e){return U.encodedSize(e.value)};U.encodedSize=function(e){return e<F[0]?1:e<F[1]?2:e<F[2]?3:e<F[3]?5:9};K.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Ni(t,e,r,n){return new p(l.negint,-1-W(t,e+1,n),2)}function Pi(t,e,r,n){return new p(l.negint,-1-G(t,e+1,n),3)}function Mi(t,e,r,n){return new p(l.negint,-1-H(t,e+1,n),5)}var Pn=BigInt(-1),Oi=BigInt(1);function $i(t,e,r,n){let o=X(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new p(l.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${y} integers outside of the safe integer range are not supported`);return new p(l.negint,Pn-BigInt(o),9)}function lr(t,e){let r=e.value,n=typeof r=="bigint"?r*Pn-Oi:r*-1-1;U(t,e.type.majorEncoded,n)}lr.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Pn-Oi:r*-1-1;return n<F[0]?1:n<F[1]?2:n<F[2]?3:n<F[3]?5:9};lr.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function kt(t,e,r,n){ge(t,e,r+n);let o=nt(t,e+r,e+r+n);return new p(l.bytes,o,r+n)}function Ri(t,e,r,n){return kt(t,e,1,r)}function zi(t,e,r,n){return kt(t,e,2,W(t,e+1,n))}function Vi(t,e,r,n){return kt(t,e,3,G(t,e+1,n))}function qi(t,e,r,n){return kt(t,e,5,H(t,e+1,n))}function ji(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer bytes lengths not supported`);return kt(t,e,9,o)}function dr(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===l.string?Ai(t.value):t.value),t.encodedBytes}function ot(t,e){let r=dr(e);U(t,e.type.majorEncoded,r.length),t.push(r)}ot.encodedSize=function(e){let r=dr(e);return U.encodedSize(r.length)+r.length};ot.compareTokens=function(e,r){return cf(dr(e),dr(r))};function cf(t,e){return t.length<e.length?-1:t.length>e.length?1:fr(t,e)}function Bt(t,e,r,n,o){let i=r+n;ge(t,e,i);let s=new p(l.string,Ii(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=nt(t,e+r,e+i)),s}function Wi(t,e,r,n){return Bt(t,e,1,r,n)}function Gi(t,e,r,n){return Bt(t,e,2,W(t,e+1,n),n)}function Hi(t,e,r,n){return Bt(t,e,3,G(t,e+1,n),n)}function Xi(t,e,r,n){return Bt(t,e,5,H(t,e+1,n),n)}function Qi(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer string lengths not supported`);return Bt(t,e,9,o,n)}var Ki=ot;function it(t,e,r,n){return new p(l.array,n,r)}function Ji(t,e,r,n){return it(t,e,1,r)}function Yi(t,e,r,n){return it(t,e,2,W(t,e+1,n))}function Zi(t,e,r,n){return it(t,e,3,G(t,e+1,n))}function es(t,e,r,n){return it(t,e,5,H(t,e+1,n))}function ts(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer array lengths not supported`);return it(t,e,9,o)}function rs(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${y} indefinite length items not allowed`);return it(t,e,1,1/0)}function hr(t,e){U(t,l.array.majorEncoded,e.value)}hr.compareTokens=K.compareTokens;hr.encodedSize=function(e){return U.encodedSize(e.value)};function st(t,e,r,n){return new p(l.map,n,r)}function ns(t,e,r,n){return st(t,e,1,r)}function os(t,e,r,n){return st(t,e,2,W(t,e+1,n))}function is(t,e,r,n){return st(t,e,3,G(t,e+1,n))}function ss(t,e,r,n){return st(t,e,5,H(t,e+1,n))}function as(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer map lengths not supported`);return st(t,e,9,o)}function cs(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${y} indefinite length items not allowed`);return st(t,e,1,1/0)}function mr(t,e){U(t,l.map.majorEncoded,e.value)}mr.compareTokens=K.compareTokens;mr.encodedSize=function(e){return U.encodedSize(e.value)};function us(t,e,r,n){return new p(l.tag,r,1)}function fs(t,e,r,n){return new p(l.tag,W(t,e+1,n),2)}function ls(t,e,r,n){return new p(l.tag,G(t,e+1,n),3)}function ds(t,e,r,n){return new p(l.tag,H(t,e+1,n),5)}function hs(t,e,r,n){return new p(l.tag,X(t,e+1,n),9)}function pr(t,e){U(t,l.tag.majorEncoded,e.value)}pr.compareTokens=K.compareTokens;pr.encodedSize=function(e){return U.encodedSize(e.value)};var mf=20,pf=21,gf=22,yf=23;function ms(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${y} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(l.null,null,1):new p(l.undefined,void 0,1)}function ps(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${y} indefinite length items not allowed`);return new p(l.break,void 0,1)}function Mn(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${y} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${y} Infinity values are not supported`)}return new p(l.float,t,e)}function gs(t,e,r,n){return Mn(On(t,e+1),3,n)}function ys(t,e,r,n){return Mn($n(t,e+1),5,n)}function xs(t,e,r,n){return Mn(vs(t,e+1),9,n)}function gr(t,e,r){let n=e.value;if(n===!1)t.push([l.float.majorEncoded|mf]);else if(n===!0)t.push([l.float.majorEncoded|pf]);else if(n===null)t.push([l.float.majorEncoded|gf]);else if(n===void 0)t.push([l.float.majorEncoded|yf]);else{let o,i=!1;(!r||r.float64!==!0)&&(ws(n),o=On(ne,1),n===o||Number.isNaN(n)?(ne[0]=249,t.push(ne.slice(0,3)),i=!0):(Es(n),o=$n(ne,1),n===o&&(ne[0]=250,t.push(ne.slice(0,5)),i=!0))),i||(xf(n),o=vs(ne,1),ne[0]=251,t.push(ne.slice(0,9)))}}gr.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){ws(n);let o=On(ne,1);if(n===o||Number.isNaN(n))return 3;if(Es(n),o=$n(ne,1),n===o)return 5}return 9};var bs=new ArrayBuffer(9),J=new DataView(bs,1),ne=new Uint8Array(bs,0);function ws(t){if(t===1/0)J.setUint16(0,31744,!1);else if(t===-1/0)J.setUint16(0,64512,!1);else if(Number.isNaN(t))J.setUint16(0,32256,!1);else{J.setFloat32(0,t);let e=J.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)J.setUint16(0,31744,!1);else if(r===0)J.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?J.setUint16(0,0):o<-14?J.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):J.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function On(t,e){if(t.length-e<2)throw new Error(`${y} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function Es(t){J.setFloat32(0,t,!1)}function $n(t,e){if(t.length-e<4)throw new Error(`${y} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function xf(t){J.setFloat64(0,t,!1)}function vs(t,e){if(t.length-e<8)throw new Error(`${y} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}gr.compareTokens=K.compareTokens;function E(t,e,r){throw new Error(`${y} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function yr(t){return()=>{throw new Error(`${y} ${t}`)}}var m=[];for(let t=0;t<=23;t++)m[t]=E;m[24]=Fi;m[25]=ki;m[26]=Bi;m[27]=Ui;m[28]=E;m[29]=E;m[30]=E;m[31]=E;for(let t=32;t<=55;t++)m[t]=E;m[56]=Ni;m[57]=Pi;m[58]=Mi;m[59]=$i;m[60]=E;m[61]=E;m[62]=E;m[63]=E;for(let t=64;t<=87;t++)m[t]=Ri;m[88]=zi;m[89]=Vi;m[90]=qi;m[91]=ji;m[92]=E;m[93]=E;m[94]=E;m[95]=yr("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)m[t]=Wi;m[120]=Gi;m[121]=Hi;m[122]=Xi;m[123]=Qi;m[124]=E;m[125]=E;m[126]=E;m[127]=yr("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)m[t]=Ji;m[152]=Yi;m[153]=Zi;m[154]=es;m[155]=ts;m[156]=E;m[157]=E;m[158]=E;m[159]=rs;for(let t=160;t<=183;t++)m[t]=ns;m[184]=os;m[185]=is;m[186]=ss;m[187]=as;m[188]=E;m[189]=E;m[190]=E;m[191]=cs;for(let t=192;t<=215;t++)m[t]=us;m[216]=fs;m[217]=ls;m[218]=ds;m[219]=hs;m[220]=E;m[221]=E;m[222]=E;m[223]=E;for(let t=224;t<=243;t++)m[t]=yr("simple values are not supported");m[244]=E;m[245]=E;m[246]=E;m[247]=ms;m[248]=yr("simple values are not supported");m[249]=gs;m[250]=ys;m[251]=xs;m[252]=E;m[253]=E;m[254]=E;m[255]=ps;var oe=[];for(let t=0;t<24;t++)oe[t]=new p(l.uint,t,1);for(let t=-1;t>=-24;t--)oe[31-t]=new p(l.negint,t,1);oe[64]=new p(l.bytes,new Uint8Array(0),1);oe[96]=new p(l.string,"",1);oe[128]=new p(l.array,0,1);oe[160]=new p(l.map,0,1);oe[244]=new p(l.false,!1,1);oe[245]=new p(l.true,!0,1);oe[246]=new p(l.null,null,1);function Rn(t){switch(t.type){case l.false:return ue([244]);case l.true:return ue([245]);case l.null:return ue([246]);case l.bytes:return t.value.length?void 0:ue([64]);case l.string:return t.value===""?ue([96]):void 0;case l.array:return t.value===0?ue([128]):void 0;case l.map:return t.value===0?ue([160]):void 0;case l.uint:return t.value<24?ue([Number(t.value)]):void 0;case l.negint:if(t.value>=-24)return ue([31-Number(t.value)])}}var wf={float64:!1,mapSorter:_f,quickEncodeToken:Rn},Ss=Object.freeze({float64:!0,mapSorter:Sf,quickEncodeToken:Rn});function Ef(){let t=[];return t[l.uint.major]=K,t[l.negint.major]=lr,t[l.bytes.major]=ot,t[l.string.major]=Ki,t[l.array.major]=hr,t[l.map.major]=mr,t[l.tag.major]=pr,t[l.float.major]=gr,t}var Vn=Ef(),zn=new Dt,br=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Nn} object contains circular references`);return new t(r,e)}},Le={null:new p(l.null,null),undefined:new p(l.undefined,void 0),true:new p(l.true,!0),false:new p(l.false,!1),emptyArray:new p(l.array,0),emptyMap:new p(l.map,0)},Ie={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new p(l.float,t):t>=0?new p(l.uint,t):new p(l.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new p(l.uint,t):new p(l.negint,t)},Uint8Array(t,e,r,n){return new p(l.bytes,t)},string(t,e,r,n){return new p(l.string,t)},boolean(t,e,r,n){return t?Le.true:Le.false},null(t,e,r,n){return Le.null},undefined(t,e,r,n){return Le.undefined},ArrayBuffer(t,e,r,n){return new p(l.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new p(l.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Le.emptyArray,new p(l.break)]:Le.emptyArray;n=br.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=xr(s,r,n);return r.addBreakTokens?[new p(l.array,t.length),o,new p(l.break)]:[new p(l.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[Le.emptyMap,new p(l.break)]:Le.emptyMap;n=br.createCheck(n,t);let a=[],u=0;for(let c of i)a[u++]=[xr(c,r,n),xr(o?t.get(c):t[c],r,n)];return vf(a,r),r.addBreakTokens?[new p(l.map,s),a,new p(l.break)]:[new p(l.map,s),a]}};Ie.Map=Ie.Object;Ie.Buffer=Ie.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ie[`${t}Array`]=Ie.DataView;function xr(t,e={},r){let n=_i(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||Ie[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=Ie[n];if(!i)throw new Error(`${Nn} unsupported type: ${n}`);return i(t,n,e,r)}function vf(t,e){e.mapSorter&&t.sort(e.mapSorter)}function _f(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=Vn[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function Sf(t,e){if(t[0]instanceof p&&e[0]instanceof p){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=_s(r.value)),n._keyBytes||(n._keyBytes=_s(n.value)),fr(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function _s(t){return Ls(t,Vn,Ss)}function Cs(t,e,r,n){if(Array.isArray(e))for(let o of e)Cs(t,o,r,n);else r[e.type.major](t,e,n)}function Ls(t,e,r){let n=xr(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),a=new Dt(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Un(a.chunks[0])}}return zn.reset(),Cs(zn,n,e,r),zn.toBytes(!0)}function qn(t,e){return e=Object.assign({},wf,e),Ls(t,Vn,e)}var Cf={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},wr=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=oe[e];if(r===void 0){let n=m[e];if(!n)throw new Error(`${y} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},Ut=Symbol.for("DONE"),Er=Symbol.for("BREAK");function Lf(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=at(e,r);if(i===Er){if(t.value===1/0)break;throw new Error(`${y} got unexpected break to lengthed array`)}if(i===Ut)throw new Error(`${y} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function If(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=at(e,r);if(a===Er){if(t.value===1/0)break;throw new Error(`${y} got unexpected break to lengthed map`)}if(a===Ut)throw new Error(`${y} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${y} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${y} found repeat map key "${a}"`);let u=at(e,r);if(u===Ut)throw new Error(`${y} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(a,u):o[a]=u}return n?i:o}function at(t,e){if(t.done())return Ut;let r=t.next();if(r.type===l.break)return Er;if(r.type.terminal)return r.value;if(r.type===l.array)return Lf(r,t,e);if(r.type===l.map)return If(r,t,e);if(r.type===l.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=at(t,e);return e.tags[r.value](n)}throw new Error(`${y} tag not supported (${r.value})`)}throw new Error("unsupported")}function Is(t,e){if(!(t instanceof Uint8Array))throw new Error(`${y} data to decode must be a Uint8Array`);e=Object.assign({},Cf,e);let r=e.tokenizer||new wr(t,e),n=at(r,e);if(n===Ut)throw new Error(`${y} did not find any content to decode`);if(n===Er)throw new Error(`${y} got unexpected break`);return[n,t.subarray(r.pos())]}function jn(t,e){let[r,n]=Is(t,e);if(n.length>0)throw new Error(`${y} too many terminals, data makes no sense`);return r}var vr=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ct=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},_r=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},Nt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function Sr(t){return t[Symbol.asyncIterator]!=null}function As(t,e){if(t.byteLength>e)throw new ct("Message length too long")}var Lr=t=>{let e=P(t),r=Z(e);return Ht(t,r),Lr.bytes=e,r};Lr.bytes=0;function Ir(t,e){e=e??{};let r=e.lengthEncoder??Lr,n=e?.maxDataLength??4194304;function*o(i){As(i,n);let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Sr(t)?(async function*(){for await(let i of t)yield*o(i)})():(function*(){for(let i of t)yield*o(i)})()}Ir.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Lr,n=e?.maxDataLength??4194304;return As(t,n),new I(r(t.byteLength),t)};var $e;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})($e||($e={}));var Wn=t=>{let e=he(t);return Wn.bytes=P(e),e};Wn.bytes=0;function Pt(t,e){let r=new I,n=$e.LENGTH,o=-1,i=e?.lengthDecoder??Wn,s=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;r.byteLength>0;){if(n===$e.LENGTH)try{if(o=i(r),o<0)throw new vr("Invalid message length");if(o>a)throw new ct("Message length too long");let c=i.bytes;r.consume(c),e?.onLength!=null&&e.onLength(o),n=$e.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw new _r("Message length length too long");break}throw c}if(n===$e.DATA){if(r.byteLength<o)break;let c=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(c),yield c,n=$e.LENGTH}}}return Sr(t)?(async function*(){for await(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw new Nt("Unexpected end of input")})():(function*(){for(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw new Nt("Unexpected end of input")})()}Pt.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:i,value:s}=await t.next(r);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{r=1}})();return Pt(n,{...e??{},onLength:i=>{r=i}})};var Gn=class extends Ne{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new re({concurrency:1}),this.direction==="outbound"&&this.sendMessage({id:this.id,type:"create",protocol:this.protocol})}sendData(e){let r=this.sendMessage({id:this.id,type:"data",chunk:e.subarray()});return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.sendMessage({id:this.id,type:"reset"})}async sendCloseWrite(e){this.sendMessage({id:this.id,type:"closeWrite"}),e?.signal?.throwIfAborted()}async sendCloseRead(e){this.sendMessage({id:this.id,type:"closeRead"}),e?.signal?.throwIfAborted()}sendPause(){this.sendMessage({id:this.id,type:"pause"})}sendResume(){this.sendMessage({id:this.id,type:"resume"})}onRemotePaused(){this.dataQueue.pause()}onRemoteResumed(){this.dataQueue.resume()}},Ts=30,Hn=class extends It{input;maxInputQueueSize;encoding;maxMessageSize;nextStreamId;constructor(e,r){super(e,{...r,protocol:"/mock-muxer/1.0.0",name:"mock-muxer"}),this.maxInputQueueSize=r.maxInputQueueSize??1024*1024*10,this.maxMessageSize=(r.maxMessageSize??1024*1024*4)+Ts,this.encoding=r.encoding??"base64",this.input=ce(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of Pt(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(jn(n.subarray()))}).catch(n=>{this.abort(n)})}onData(e){if(this.input.readableLength>=this.maxInputQueueSize){this.abort(new Error(`Input queue exceeded maximum size ${this.input.readableLength} >= ${this.maxInputQueueSize}`));return}this.input.push(e)}sendMessage(e){e.type==="data"?this.log.trace("send message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("send message %o",e);let r=qn(e),n=Ir.single(r,{maxDataLength:this.maxMessageSize});return this.send(n)}onMessage(e){e.type==="data"?this.log.trace("incoming message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("incoming message %o",e);let r=this.streams.find(n=>n.id===e.id);if(e.type==="create"){if(r!=null)throw new Error(`Already had stream for ${e.id}`);this.log.trace("create stream inbound %s",e.id),r=this._createStream(e.id,"inbound",{protocol:e.protocol}),this.onRemoteStream(r)}if(r==null){this.log.error(`no stream found for ${e.id}`);return}e.type==="data"?r.onData(e.chunk):e.type==="reset"?r.onRemoteReset():e.type==="closeWrite"?r.onRemoteCloseWrite():e.type==="closeRead"?r.onRemoteCloseRead():e.type==="pause"?r.onRemotePaused():e.type==="resume"&&r.onRemoteResumed()}async onCreateStream(e){return this.nextStreamId+=2,this._createStream(`${this.nextStreamId}`,"outbound",e)}_createStream(e,r,n){return this.log.trace("createStream %s %s",r,e),new Gn({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-Ts,protocol:""})}},Xn=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new Hn(e,{...this.init})}};function Ar(t={}){return new Xn(t)}function Ff(t,e){if(typeof t=="string")return kf(t);if(typeof t=="number")return Nf(t,e);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}var Tr=Ff;function kf(t){if(typeof t!="string"||t.length===0||t.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(t)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(t);if(!e?.groups)return NaN;let{value:r,unit:n="ms"}=e.groups,o=parseFloat(r),i=n.toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw Error(`Unknown unit "${i}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function Bf(t){let e=Math.abs(t);return e>=315576e5?`${Math.round(t/315576e5)}y`:e>=26298e5?`${Math.round(t/26298e5)}mo`:e>=6048e5?`${Math.round(t/6048e5)}w`:e>=864e5?`${Math.round(t/864e5)}d`:e>=36e5?`${Math.round(t/36e5)}h`:e>=6e4?`${Math.round(t/6e4)}m`:e>=1e3?`${Math.round(t/1e3)}s`:`${t}ms`}function Uf(t){let e=Math.abs(t);return e>=315576e5?Re(t,e,315576e5,"year"):e>=26298e5?Re(t,e,26298e5,"month"):e>=6048e5?Re(t,e,6048e5,"week"):e>=864e5?Re(t,e,864e5,"day"):e>=36e5?Re(t,e,36e5,"hour"):e>=6e4?Re(t,e,6e4,"minute"):e>=1e3?Re(t,e,1e3,"second"):`${t} ms`}function Nf(t,e){if(typeof t!="number"||!Number.isFinite(t))throw Error("Value provided to ms.format() must be of type number.");return e?.long?Uf(t):Bf(t)}function Re(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function Qn(t){r.debug=r,r.default=r,r.coerce=u,r.disable=i,r.enable=o,r.enabled=s,r.humanize=Tr,r.destroy=c,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let d=0;for(let h=0;h<f.length;h++)d=(d<<5)-d+f.charCodeAt(h),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=e;function r(f,d){let h,g=null,b,v;function x(...w){if(!x.enabled)return;let S=x,C=Number(new Date),O=C-(h||C);S.diff=O,S.prev=h,S.curr=C,h=C,w[0]=r.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let k=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,($,Y)=>{if($==="%%")return"%";k++;let Ae=r.formatters[Y];if(typeof Ae=="function"){let Rs=w[k];$=Ae.call(S,Rs),w.splice(k,1),k--}return $}),r.formatArgs.call(S,w),d?.onLog!=null&&d.onLog(...w),(S.log||r.log).apply(S,w)}return x.namespace=f,x.useColors=r.useColors(),x.color=r.selectColor(f),x.extend=n,x.destroy=r.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(b!==r.namespaces&&(b=r.namespaces,v=r.enabled(f)),v),set:w=>{g=w}}),typeof r.init=="function"&&r.init(x),x}function n(f,d){let h=r(this.namespace+(typeof d>"u"?":":d)+f);return h.log=this.log,h}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let d,h=(typeof f=="string"?f:"").split(/[\s,]+/),g=h.length;for(d=0;d<g;d++)h[d]&&(f=h[d].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.substr(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function i(){let f=[...r.names.map(a),...r.skips.map(a).map(d=>"-"+d)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let d,h;for(d=0,h=r.skips.length;d<h;d++)if(r.skips[d].test(f))return!1;for(d=0,h=r.names.length;d<h;d++)if(r.names[d].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack??f.message:f}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var Dr=Vf(),Pf=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Mf(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Of(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Tr(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}var $f=console.debug??console.log??(()=>{});function Rf(t){try{t?Dr?.setItem("debug",t):Dr?.removeItem("debug")}catch{}}function zf(){let t;try{t=Dr?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function Vf(){try{return localStorage}catch{}}function qf(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var Ds=Qn({formatArgs:Of,save:Rf,load:zf,useColors:Mf,setupFormatters:qf,colors:Pf,storage:Dr,log:$f});var z=Ds;z.formatters.b=t=>t==null?"undefined":Q.baseEncode(t);z.formatters.t=t=>t==null?"undefined":ae.baseEncode(t);z.formatters.m=t=>t==null?"undefined":Hr.baseEncode(t);z.formatters.p=t=>t==null?"undefined":t.toString();z.formatters.c=t=>t==null?"undefined":t.toString();z.formatters.k=t=>t==null?"undefined":t.toString();z.formatters.a=t=>t==null?"undefined":t.toString();function Fs(t,e=""){let r=ks(t.message),n=ks(t.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
|
|
2
|
+
"use strict";var Libp2PUtils=(()=>{var $s=Object.create;var $t=Object.defineProperty;var Rs=Object.getOwnPropertyDescriptor;var zs=Object.getOwnPropertyNames;var Vs=Object.getPrototypeOf,qs=Object.prototype.hasOwnProperty;var js=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),V=(t,e)=>{for(var r in e)$t(t,r,{get:e[r],enumerable:!0})},ro=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of zs(e))!qs.call(t,o)&&o!==r&&$t(t,o,{get:()=>e[o],enumerable:!(n=Rs(e,o))||n.enumerable});return t};var Ws=(t,e,r)=>(r=t!=null?$s(Vs(t)):{},ro(e||!t||!t.__esModule?$t(r,"default",{value:t,enumerable:!0}):r,t)),Gs=t=>ro($t({},"__esModule",{value:!0}),t);var zo=js(Et=>{(function(){var t,e,r,n,o,i,s,a;a=function(u){var c,f,d,h;return c=(u&255<<24)>>>24,f=(u&255<<16)>>>16,d=(u&65280)>>>8,h=u&255,[c,f,d,h].join(".")},s=function(u){var c,f,d,h,g,b;for(c=[],d=h=0;h<=3&&u.length!==0;d=++h){if(d>0){if(u[0]!==".")throw new Error("Invalid IP");u=u.substring(1)}b=e(u),g=b[0],f=b[1],u=u.substring(f),c.push(g)}if(u.length!==0)throw new Error("Invalid IP");switch(c.length){case 1:if(c[0]>4294967295)throw new Error("Invalid IP");return c[0]>>>0;case 2:if(c[0]>255||c[1]>16777215)throw new Error("Invalid IP");return(c[0]<<24|c[1])>>>0;case 3:if(c[0]>255||c[1]>255||c[2]>65535)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2])>>>0;case 4:if(c[0]>255||c[1]>255||c[2]>255||c[3]>255)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0;default:throw new Error("Invalid IP")}},r=function(u){return u.charCodeAt(0)},n=r("0"),i=r("a"),o=r("A"),e=function(u){var c,f,d,h,g;for(h=0,c=10,f="9",d=0,u.length>1&&u[d]==="0"&&(u[d+1]==="x"||u[d+1]==="X"?(d+=2,c=16):"0"<=u[d+1]&&u[d+1]<="9"&&(d++,c=8,f="7")),g=d;d<u.length;){if("0"<=u[d]&&u[d]<=f)h=h*c+(r(u[d])-n)>>>0;else if(c===16)if("a"<=u[d]&&u[d]<="f")h=h*c+(10+r(u[d])-i)>>>0;else if("A"<=u[d]&&u[d]<="F")h=h*c+(10+r(u[d])-o)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");d++}if(d===g)throw new Error("empty octet");return[h,d]},t=(function(){function u(c,f){var d,h,g,b;if(typeof c!="string")throw new Error("Missing `net' parameter");if(f||(b=c.split("/",2),c=b[0],f=b[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(v){throw d=v,new Error("Invalid mask: "+f)}for(h=g=32;g>=0;h=--g)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(c)&this.maskLong)>>>0}catch(v){throw d=v,new Error("Invalid net address: "+c)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return u.prototype.contains=function(c){return typeof c=="string"&&(c.indexOf("/")>0||c.split(".").length!==4)&&(c=new u(c)),c instanceof u?this.contains(c.base)&&this.contains(c.broadcast||c.last):(s(c)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},u.prototype.next=function(c){return c==null&&(c=1),new u(a(this.netLong+this.size*c),this.mask)},u.prototype.forEach=function(c){var f,d,h;for(h=s(this.first),d=s(this.last),f=0;h<=d;)c(a(h),h,f),f++,h++},u.prototype.toString=function(){return this.base+"/"+this.bitmask},u})(),Et.ip2long=s,Et.long2ip=a,Et.Netmask=t}).call(Et)});var el={};V(el,{AbstractMessageStream:()=>Ue,AbstractMultiaddrConnection:()=>Lt,AbstractStream:()=>Ne,AbstractStreamMuxer:()=>It,AdaptiveTimeout:()=>wn,BloomFilter:()=>yt,CuckooFilter:()=>Ee,DEFAULT_FAILURE_MULTIPLIER:()=>Go,DEFAULT_INTERVAL:()=>Qo,DEFAULT_MAX_TIMEOUT:()=>Xo,DEFAULT_MIN_TIMEOUT:()=>Ho,DEFAULT_TIMEOUT_MULTIPLIER:()=>Wo,InvalidDataLengthError:()=>sr,InvalidDataLengthLengthError:()=>ar,InvalidMessageLengthError:()=>tt,LengthPrefixedDecoder:()=>kn,MaxEarlyStreamsError:()=>St,MemoryStorage:()=>Fr,MockStream:()=>Qn,MovingAverage:()=>Pe,PeerQueue:()=>Yn,PriorityQueue:()=>Zn,Queue:()=>re,QueueFullError:()=>_t,RateLimitError:()=>vt,RateLimiter:()=>eo,ScalableCuckooFilter:()=>xt,StreamClosedError:()=>Ct,UnexpectedEOFError:()=>Se,UnwrappedError:()=>Tt,byteStream:()=>xi,createBloomFilter:()=>Fo,createCuckooFilter:()=>ko,createScalableCuckooFilter:()=>Bo,debounce:()=>Ze,echo:()=>Fn,echoStream:()=>Jf,getNetConfig:()=>j,getThinWaistAddresses:()=>Au,ipPortToMultiaddr:()=>Du,isAsyncGenerator:()=>Fu,isGenerator:()=>ku,isGlobalUnicast:()=>yc,isGlobalUnicastIp:()=>Tu,isLinkLocal:()=>xc,isLinkLocalIp:()=>Qu,isLoopback:()=>bc,isNetworkAddress:()=>wc,isPrivate:()=>Ac,isPrivateIp:()=>mn,isPromise:()=>bn,lpStream:()=>bi,messageStreamToDuplex:()=>wi,mockMuxer:()=>Ir,multiaddrConnectionPair:()=>Jn,pbStream:()=>ju,pipe:()=>Gu,repeatingTask:()=>Kf,streamPair:()=>Ms,trackedList:()=>Yf,trackedMap:()=>Zf});var le=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var R=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var Rt=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},zt=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var ye=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},ut=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var ie=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},ze=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},Vt=class extends ze{constructor(e,r){super(!0,e,r)}},qt=class extends ze{constructor(e,r){super(!1,e,r)}};var se=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:i})=>i!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var Pr={};V(Pr,{base58btc:()=>Q,base58flickr:()=>Zs});var il=new Uint8Array(0);function no(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function de(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function oo(t){return new TextEncoder().encode(t)}function io(t){return new TextDecoder().decode(t)}function Hs(t,e){if(t.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<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=t.length,u=t.charAt(0),c=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function d(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 v=0,x=0,w=0,S=b.length;w!==S&&b[w]===0;)w++,v++;for(var C=(S-w)*f+1>>>0,O=new Uint8Array(C);w!==S;){for(var B=b[w],fe=0,$=C-1;(B!==0||fe<x)&&$!==-1;$--,fe++)B+=256*O[$]>>>0,O[$]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");x=fe,w++}for(var Y=C-x;Y!==C&&O[Y]===0;)Y++;for(var Ae=u.repeat(v);Y<C;++Y)Ae+=t.charAt(O[Y]);return Ae}function h(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var v=0;if(b[v]!==" "){for(var x=0,w=0;b[v]===u;)x++,v++;for(var S=(b.length-v)*c+1>>>0,C=new Uint8Array(S);b[v];){var O=r[b.charCodeAt(v)];if(O===255)return;for(var B=0,fe=S-1;(O!==0||B<w)&&fe!==-1;fe--,B++)O+=a*C[fe]>>>0,C[fe]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");w=B,v++}if(b[v]!==" "){for(var $=S-w;$!==S&&C[$]===0;)$++;for(var Y=new Uint8Array(x+(S-$)),Ae=x;$!==S;)Y[Ae++]=C[$++];return Y}}}function g(b){var v=h(b);if(v)return v;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:h,decode:g}}var Xs=Hs,Qs=Xs,ao=Qs;var kr=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Br=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,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(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return co(this,e)}},Ur=class{decoders;constructor(e){this.decoders=e}or(e){return co(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function co(t,e){return new Ur({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Nr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new kr(e,r,n),this.decoder=new Br(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Ve({name:t,prefix:e,encode:r,decode:n}){return new Nr(t,e,r,n)}function xe({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=ao(r,t);return Ve({prefix:e,name:t,encode:n,decode:i=>de(o(i))})}function Ks(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,a=0,u=0;for(let c=0;c<o;++c){let f=e[t[c]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|f,s+=r,s>=8&&(s-=8,i[u++]=255&a>>s)}if(s>=r||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function Js(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],s+=8;s>r;)s-=r,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function Ys(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function L({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Ys(n);return Ve({prefix:e,name:t,encode(i){return Js(i,n,r)},decode(i){return Ks(i,o,r,t)}})}var Q=xe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Zs=xe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Mr={};V(Mr,{base32:()=>ae,base32hex:()=>na,base32hexpad:()=>ia,base32hexpadupper:()=>sa,base32hexupper:()=>oa,base32pad:()=>ta,base32padupper:()=>ra,base32upper:()=>ea,base32z:()=>aa});var ae=L({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ea=L({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ta=L({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ra=L({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),na=L({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),oa=L({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ia=L({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),sa=L({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),aa=L({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Or={};V(Or,{base36:()=>ft,base36upper:()=>ca});var ft=xe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ca=xe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ua=lo,uo=128,fa=127,la=~fa,da=Math.pow(2,31);function lo(t,e,r){e=e||[],r=r||0;for(var n=r;t>=da;)e[r++]=t&255|uo,t/=128;for(;t&la;)e[r++]=t&255|uo,t>>>=7;return e[r]=t|0,lo.bytes=r-n+1,e}var ha=$r,ma=128,fo=127;function $r(t,n){var r=0,n=n||0,o=0,i=n,s,a=t.length;do{if(i>=a)throw $r.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&fo)<<o:(s&fo)*Math.pow(2,o),o+=7}while(s>=ma);return $r.bytes=i-n,r}var pa=Math.pow(2,7),ga=Math.pow(2,14),ya=Math.pow(2,21),xa=Math.pow(2,28),ba=Math.pow(2,35),wa=Math.pow(2,42),Ea=Math.pow(2,49),va=Math.pow(2,56),_a=Math.pow(2,63),Sa=function(t){return t<pa?1:t<ga?2:t<ya?3:t<xa?4:t<ba?5:t<wa?6:t<Ea?7:t<va?8:t<_a?9:10},Ca={encode:ua,decode:ha,encodingLength:Sa},La=Ca,lt=La;function dt(t,e=0){return[lt.decode(t,e),lt.decode.bytes]}function qe(t,e,r=0){return lt.encode(t,e,r),e}function je(t){return lt.encodingLength(t)}function Ge(t,e){let r=e.byteLength,n=je(t),o=n+je(r),i=new Uint8Array(o+r);return qe(t,i,0),qe(r,i,n),i.set(e,o),new We(t,r,e,i)}function ho(t){let e=de(t),[r,n]=dt(e),[o,i]=dt(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new We(r,o,s,e)}function mo(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&no(t.bytes,r.bytes)}}var We=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function po(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Aa(r,Rr(t),e??Q.encoder);default:return Ta(r,Rr(t),e??ae.encoder)}}var go=new WeakMap;function Rr(t){let e=go.get(t);if(e==null){let r=new Map;return go.set(t,r),r}return e}var He=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==mt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Da)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Ge(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&mo(e.multihash,n.multihash)}toString(e){return po(this,e)}toJSON(){return{"/":po(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s??yo(n,o,i.bytes))}else if(r[Fa]===!0){let{version:n,multihash:o,code:i}=r,s=ho(o);return t.create(n,i,s)}else return null}static create(e,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(e){case 0:{if(r!==mt)throw new Error(`Version 0 CID must use dag-pb (code: ${mt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=yo(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,mt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=de(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new We(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,h]=dt(e.subarray(r));return r+=h,d},o=n(),i=mt;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),u=n(),c=r+u,f=c-s;return{version:o,codec:i,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(e,r){let[n,o]=Ia(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Rr(i).set(n,e),i}};function Ia(t,e){switch(t[0]){case"Q":{let r=e??Q;return[Q.prefix,r.decode(`${Q.prefix}${t}`)]}case Q.prefix:{let r=e??Q;return[Q.prefix,r.decode(t)]}case ae.prefix:{let r=e??ae;return[ae.prefix,r.decode(t)]}case ft.prefix:{let r=e??ft;return[ft.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Aa(t,e,r){let{prefix:n}=r;if(n!==Q.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o}function Ta(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o}var mt=112,Da=18;function yo(t,e,r){let n=je(t),o=n+je(e),i=new Uint8Array(o+r.byteLength);return qe(t,i,0),qe(e,i,n),i.set(r,o),i}var Fa=Symbol.for("@ipld/js-cid/CID");var zr={};V(zr,{identity:()=>Ua});var xo=0,ka="identity",bo=de;function Ba(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return Ge(xo,bo(t))}var Ua={code:xo,name:ka,encode:bo,digest:Ba};function Xe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function q(t=0){return new Uint8Array(t)}function Z(t=0){return new Uint8Array(t)}function be(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=Z(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}var Eo=Symbol.for("@achingbrain/uint8arraylist");function wo(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let o=r+n.byteLength;if(e<o)return{buf:n,index:e-r};r=o}throw new RangeError("index is out of bounds")}function Qe(t){return!!t?.[Eo]}var I=class t{bufs;length;[Eo]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Qe(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(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Qe(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(e){let r=wo(this.bufs,e);return r.buf[r.index]}set(e,r){let n=wo(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Qe(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:o}=this._subList(e,r);return be(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:be(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),i=new t;return i.length=o,i.bufs=[...n],i}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,u=a+s.byteLength;if(o=u,e>=u)continue;let c=e>=a&&e<u,f=r>a&&r<=u;if(c&&f){if(e===a&&r===u){n.push(s);break}let d=e-a;n.push(s.subarray(d,d+(r-e)));break}if(c){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){if(r===u){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Qe(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.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 i=256,s=new Int32Array(i);for(let d=0;d<i;d++)s[d]=-1;for(let d=0;d<o;d++)s[n[d]]=d;let a=s,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let d=r;d<=u;d+=f){f=0;for(let h=c;h>=0;h--){let g=this.get(d+h);if(n[h]!==g){f=Math.max(1,h-a[g]);break}}if(f===0)return d}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Z(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Z(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Xe(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((o,i)=>o+i.byteLength,0)),n.length=r,n}};var Vr={};V(Vr,{base10:()=>Na});var Na=xe({prefix:"9",name:"base10",alphabet:"0123456789"});var qr={};V(qr,{base16:()=>Pa,base16upper:()=>Ma});var Pa=L({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ma=L({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var jr={};V(jr,{base2:()=>Oa});var Oa=L({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Wr={};V(Wr,{base256emoji:()=>qa});var vo=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}"),$a=vo.reduce((t,e,r)=>(t[r]=e,t),[]),Ra=vo.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function za(t){return t.reduce((e,r)=>(e+=$a[r],e),"")}function Va(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ra[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var qa=Ve({prefix:"\u{1F680}",name:"base256emoji",encode:za,decode:Va});var Xr={};V(Xr,{base64:()=>Gr,base64pad:()=>ja,base64url:()=>Hr,base64urlpad:()=>Wa});var Gr=L({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ja=L({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hr=L({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Wa=L({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qr={};V(Qr,{base8:()=>Ga});var Ga=L({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kr={};V(Kr,{identity:()=>Ha});var Ha=Ve({prefix:"\0",name:"identity",encode:t=>io(t),decode:t=>oo(t)});var Vl=new TextEncoder,ql=new TextDecoder;var Zr={};V(Zr,{sha256:()=>Ja,sha512:()=>Ya});var Ka=20;function Yr({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Jr(t,e,r,n,o)}var Jr=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,i){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??Ka,this.maxDigestLength=i}digest(e,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(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?_o(n,this.code,r?.truncate):n.then(o=>_o(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function _o(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return Ge(e,t)}function Co(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Ja=Yr({name:"sha2-256",code:18,encode:Co("SHA-256")}),Ya=Yr({name:"sha2-512",code:19,encode:Co("SHA-512")});var pt={...Kr,...jr,...Qr,...Vr,...qr,...Mr,...Or,...Pr,...Xr,...Wr},td={...Zr,...zr};function Io(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Lo=Io("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),en=Io("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Z(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Za={utf8:Lo,"utf-8":Lo,hex:pt.base16,latin1:en,ascii:en,binary:en,...pt},Wt=Za;function A(t,e="utf8"){let r=Wt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function Te(t,e="utf8"){let r=Wt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}function Ao(t=32){let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}var ec=Math.pow(2,7),tc=Math.pow(2,14),rc=Math.pow(2,21),tn=Math.pow(2,28),rn=Math.pow(2,35),nn=Math.pow(2,42),on=Math.pow(2,49),_=128,P=127;function M(t){if(t<ec)return 1;if(t<tc)return 2;if(t<rc)return 3;if(t<tn)return 4;if(t<rn)return 5;if(t<nn)return 6;if(t<on)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Gt(t,e,r=0){switch(M(t)){case 8:e[r++]=t&255|_,t/=128;case 7:e[r++]=t&255|_,t/=128;case 6:e[r++]=t&255|_,t/=128;case 5:e[r++]=t&255|_,t/=128;case 4:e[r++]=t&255|_,t>>>=7;case 3:e[r++]=t&255|_,t>>>=7;case 2:e[r++]=t&255|_,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function nc(t,e,r=0){switch(M(t)){case 8:e.set(r++,t&255|_),t/=128;case 7:e.set(r++,t&255|_),t/=128;case 6:e.set(r++,t&255|_),t/=128;case 5:e.set(r++,t&255|_),t/=128;case 4:e.set(r++,t&255|_),t>>>=7;case 3:e.set(r++,t&255|_),t>>>=7;case 2:e.set(r++,t&255|_),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function oc(t,e){let r=t[e],n=0;if(n+=r&P,r<_||(r=t[e+1],n+=(r&P)<<7,r<_)||(r=t[e+2],n+=(r&P)<<14,r<_)||(r=t[e+3],n+=(r&P)<<21,r<_)||(r=t[e+4],n+=(r&P)*tn,r<_)||(r=t[e+5],n+=(r&P)*rn,r<_)||(r=t[e+6],n+=(r&P)*nn,r<_)||(r=t[e+7],n+=(r&P)*on,r<_))return n;throw new RangeError("Could not decode varint")}function ic(t,e){let r=t.get(e),n=0;if(n+=r&P,r<_||(r=t.get(e+1),n+=(r&P)<<7,r<_)||(r=t.get(e+2),n+=(r&P)<<14,r<_)||(r=t.get(e+3),n+=(r&P)<<21,r<_)||(r=t.get(e+4),n+=(r&P)*tn,r<_)||(r=t.get(e+5),n+=(r&P)*rn,r<_)||(r=t.get(e+6),n+=(r&P)*nn,r<_)||(r=t.get(e+7),n+=(r&P)*on,r<_))return n;throw new RangeError("Could not decode varint")}function Ht(t,e,r=0){return e==null&&(e=Z(M(t))),e instanceof Uint8Array?Gt(t,e,r):nc(t,e,r)}function he(t,e=0){return t instanceof Uint8Array?oc(t,e):ic(t,e)}function Xt(t){if(isNaN(t)||t<=0)throw new R("random bytes length must be a Number bigger than 0");return Ao(t)}var sn={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},To={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Do=new globalThis.TextEncoder;function sc(t,e){let r=sn[e],n=To[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function ac(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=sn[e],o=To[e],i=t;for(;i.length>0;){let s=Do.encodeInto(i,r);i=i.slice(s.read);for(let a=0;a<s.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function an(t,{size:e=32,utf8Buffer:r}={}){if(!sn[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof t=="string"){if(r)return ac(t,e,r);t=Do.encode(t)}return sc(t,e)}var we={hash:t=>Number(an(t,{size:32})),hashV:(t,e)=>cc(we.hash(t,e))};function cc(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),A(e,"base16")}var uc=Math.LN2*Math.LN2,yt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=lc(e.hashes??8),this.bits=e.bits??1024,this.buffer=q(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.seeds.length;r++){let o=we.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.seeds.length;r++){let o=we.hash(e,this.seeds[r])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(e){let r=Math.floor(e/8),n=e%8,o=this.buffer[r];o|=1<<n,this.buffer[r]=o}getbit(e){let r=Math.floor(e/8),n=e%8;return(this.buffer[r]&1<<n)!==0}};function Fo(t,e=.005){let r=fc(t,e);return new yt(r)}function fc(t,e=.005){let r=Math.round(-1*t*Math.log(e)/uc),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function lc(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new I(Xt(4)),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var cn=64,ee=class{fp;h;seed;constructor(e,r,n,o=2){if(o>cn)throw new TypeError("Invalid Fingerprint Size");let i=r.hashV(e,n),s=q(o);for(let a=0;a<s.length;a++)s[a]=i[a];s.length===0&&(s[0]=7),this.fp=s,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Xe(this.fp,e.fp):!1}};function De(t,e){return Math.floor(Math.random()*(e-t))+t}var Fe=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");for(let r=0;r<this.contents.length;r++)if(this.contents[r]==null)return this.contents[r]=e,!0;return!0}swap(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");let r=De(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof ee))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var dc=500,Ee=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??we,this.seed=e.seed??De(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=A(e));let r=new ee(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=(n^r.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new Fe(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new Fe(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let i=[n,o],s=i[De(0,i.length-1)];this.buckets[s]==null&&(this.buckets[s]=new Fe(this.bucketSize));for(let a=0;a<dc;a++){let u=this.buckets[s].swap(r);if(u!=null&&(s=(s^u.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new Fe(this.bucketSize)),this.buckets[s].add(u)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=A(e));let r=new ee(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.has(r)??!1;if(o)return o;let i=(n^r.hash())%this.filterSize;return this.buckets[i]?.has(r)??!1}remove(e){typeof e=="string"&&(e=A(e));let r=new ee(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.remove(r)??!1;if(o)return this.count--,o;let i=(n^r.hash())%this.filterSize,s=this.buckets[i]?.remove(r)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},hc={1:.5,2:.84,4:.95,8:.98};function mc(t=.001){return t>.002?2:t>1e-5?4:8}function un(t,e=.001){let r=mc(e),n=hc[r],o=Math.round(t/n),i=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),cn);return{filterSize:o,bucketSize:r,fingerprintSize:i}}function ko(t,e=.005){let r=un(t,e);return new Ee(r)}var xt=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??we,this.seed=e.seed??De(0,Math.pow(2,10)),this.filterSeries=[new Ee({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=A(e)),this.has(e))return!0;let r=this.filterSeries.find(n=>n.reliable);if(r==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);r=new Ee({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(r)}return r.add(e)}has(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=A(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,r)=>e+r.count,0)}};function Bo(t,e=.001,r){return new xt({...un(t,e),...r??{}})}function j(t){let e=t.getComponents(),r={},n=0;if(e[n]?.name==="ip6zone"&&(r.zone=`${e[n].value}`,n++),e[n].name==="ip4"||e[n].name==="ip6"||e[n].name==="dns"||e[n].name==="dns4"||e[n].name==="dns6"?(r.type=e[n].name,r.host=e[n].value,n++):e[n].name==="dnsaddr"&&(r.type=e[n].name,r.host=`_dnsaddr.${e[n].value}`,n++),(e[n]?.name==="tcp"||e[n]?.name==="udp")&&(r.protocol=e[n].name==="tcp"?"tcp":"udp",r.port=parseInt(`${e[n].value}`),n++),e[n]?.name==="ipcidr"&&(r.type==="ip4"?r.cidr=parseInt(`${e[n].value}`):r.type==="ip6"&&(r.cidr=`${e[n].value}`),n++),r.type==null||r.host==null)throw new R(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r}var Qt=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();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(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",c=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let d=this.readChar();if(d===void 0)return;let h=Number.parseInt(d,e);if(!Number.isNaN(h))return h});if(f===void 0)break;if(i*=e,i+=f,i>c||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&u&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=e(i.subarray(0,s));return r.set(i.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Uo=45,pc=15,Ke=new Qt;function Kt(t){if(!(t.length>pc))return Ke.new(t).parseWith(()=>Ke.readIPv4Addr())}function Jt(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Uo))return Ke.new(t).parseWith(()=>Ke.readIPv6Addr())}function Je(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>Uo)return;let r=Ke.new(t).parseWith(()=>Ke.readIPAddr());if(r)return e&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}function No(t,e,r){let n=0;for(let o of t)if(!(n<e)){if(n>r)break;if(o!==255)return!1;n++}return!0}function Po(t,e,r,n){let o=0;for(let i of t)if(!(o<r)){if(o>n)break;if(i!==e[o])return!1;o++}return!0}function fn(t){switch(t.length){case ke:return t.join(".");case Be:{let e=[];for(let r=0;r<t.length;r++)r%2===0&&e.push(t[r].toString(16).padStart(2,"0")+t[r+1].toString(16).padStart(2,"0"));return e.join(":")}default:throw new Error("Invalid ip length")}}function Mo(t){let e=0;for(let[r,n]of t.entries()){if(n===255){e+=8;continue}for(;(n&128)!=0;)e++,n=n<<1;if((n&128)!=0)return-1;for(let o=r+1;o<t.length;o++)if(t[o]!=0)return-1;break}return e}function Oo(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var ke=4,Be=16,oh=parseInt("0xFFFF",16),gc=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function bt(t,e){e.length===Be&&t.length===ke&&No(e,0,11)&&(e=e.slice(12)),e.length===ke&&t.length===Be&&Po(t,gc,0,11)&&(t=t.slice(12));let r=t.length;if(r!=e.length)throw new Error("Failed to mask ip");let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t[o]&e[o];return n}function $o(t,e){if(typeof e=="string"&&(e=Je(e)),e==null)throw new Error("Invalid ip");if(e.length!==t.network.length)return!1;for(let r=0;r<e.length;r++)if((t.network[r]&t.mask[r])!==(e[r]&t.mask[r]))return!1;return!0}function ln(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=ke,o=Kt(e);if(o==null&&(n=Be,o=Jt(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let i=parseInt(r,10);if(Number.isNaN(i)||String(i).length!==r.length||i<0||i>n*8)throw new Error("Failed to parse given CIDR: "+t);let s=dn(i,8*n);return{network:bt(o,s),mask:s}}function dn(t,e){if(e!==8*ke&&e!==8*Be)throw new Error("Invalid CIDR mask");if(t<0||t>e)throw new Error("Invalid CIDR mask");let r=e/8,n=new Uint8Array(r);for(let o=0;o<r;o++){if(t>=8){n[o]=255,t-=8;continue}n[o]=255-(255>>t),t=0}return n}var wt=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=ln(e));else{let n=Je(e);if(n==null)throw new Error("Failed to parse network");r=String(r);let o=parseInt(r,10);if(Number.isNaN(o)||String(o).length!==r.length||o<0||o>n.length*8){let i=Je(r);if(i==null)throw new Error("Failed to parse mask");this.mask=i}else this.mask=dn(o,8*n.length);this.network=bt(n,this.mask)}}contains(e){return $o({network:this.network,mask:this.mask},e)}toString(){let e=Mo(this.mask),r=e!==-1?String(e):Oo(this.mask);return fn(this.network)+"/"+r}};function Yt(t,e){return new wt(t).contains(e)}function yc(t){try{let e=j(t);switch(e.type){case"ip6":return Yt("2000::/3",e.host);default:return!1}}catch{return!1}}function xc(t){try{let e=j(t);switch(e.type){case"ip4":return e.host.startsWith("169.254.");case"ip6":return e.host.toLowerCase().startsWith("fe80");default:return!1}}catch{return!1}}function Ro(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function bc(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return Ro(e.host);default:return!1}}catch{return!1}}function wc(t){try{return j(t),!0}catch{return!1}}function ve(t){return!!Kt(t)}function _e(t){return!!Jt(t)}var Vo=Ws(zo(),1),Ec=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],vc=Ec.map(t=>new Vo.Netmask(t));function hn(t){for(let e of vc)if(e.contains(t))return!0;return!1}function _c(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function Sc(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return hn(o)}function Cc(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function Lc(t){let e=t.split(":"),r=e[e.length-1];return hn(r)}function Ic(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function mn(t){if(ve(t))return hn(t);if(_c(t))return Sc(t);if(Cc(t))return Lc(t);if(_e(t))return Ic(t)}function Ac(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return mn(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}function te(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Zt=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Ye=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Zt(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Zt(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var pn=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ce(t={}){return Tc(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Tc(t,e){e=e??{};let r=e.onEnd,n=new Ye,o,i,s,a=te(),u=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((x,w)=>{i=S=>{i=null,n.push(S);try{x(t(n))}catch(C){w(C)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=te()})}},c=x=>i!=null?i(x):(n.push(x),o),f=x=>(n=new Ye,i!=null?i({error:x}):(n.push({error:x}),o)),d=x=>{if(s)return o;if(e?.objectMode!==!0&&x?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:x})},h=x=>s?o:(s=!0,x!=null?f(x):c({done:!0})),g=()=>(n=new Ye,h(),{done:!0}),b=x=>(h(x),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:u,return:g,throw:b,push:d,end:h,get readableLength(){return n.size},onEmpty:async x=>{let w=x?.signal;if(w?.throwIfAborted(),n.isEmpty())return;let S,C;w!=null&&(S=new Promise((O,B)=>{C=()=>{B(new pn)},w.addEventListener("abort",C)}));try{await Promise.race([a.promise,S])}finally{C!=null&&w!=null&&w?.removeEventListener("abort",C)}}},r==null)return o;let v=o;return o={[Symbol.asyncIterator](){return this},next(){return v.next()},throw(x){return v.throw(x),r!=null&&(r(x),r=void 0),{done:!0}},return(){return v.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(x){return v.end(x),r!=null&&(r(x),r=void 0),o},get readableLength(){return v.readableLength},onEmpty:x=>v.onEmpty(x)},o}var gn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},yn=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},qo=t=>globalThis.DOMException===void 0?new yn(t):new DOMException(t),jo=t=>{let e=t.reason===void 0?qo("This operation was aborted."):t.reason;return e instanceof Error?e:qo(e)};function xn(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=e,s,a,c=new Promise((f,d)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:g}=e;g.aborted&&d(jo(g)),a=()=>{d(jo(g))},g.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){t.then(f,d);return}let h=new gn;s=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(g){d(g)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?f():o instanceof Error?d(o):(h.message=o??`Promise timed out after ${r} milliseconds`,d(h))},r),(async()=>{try{f(await t)}catch(g){d(g)}})()}).finally(()=>{c.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return c.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},c}var Dc=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function Fc(t,e,r){let n,o=new Promise((i,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),u=[],{addListener:c,removeListener:f}=Dc(t),d=async(...g)=>{let b=r.multiArgs?g:g[0];if(r.filter)try{if(!await r.filter(b))return}catch(v){n(),s(v);return}u.push(b),r.count===u.length&&(n(),i(u))},h=(...g)=>{n(),s(r.rejectionMultiArgs?g:g[0])};n=()=>{for(let g of a)f(g,d);for(let g of r.rejectionEvents)a.includes(g)||f(g,h)};for(let g of a)c(g,d);for(let g of r.rejectionEvents)a.includes(g)||c(g,h);r.signal&&r.signal.addEventListener("abort",()=>{h(r.signal.reason)},{once:!0}),r.resolveImmediately&&i(u)});if(o.cancel=n,typeof r.timeout=="number"){let i=xn(o,{milliseconds:r.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function T(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Fc(t,e,r),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function Ze(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var vt=class extends Error{remainingPoints;msBeforeNext;consumedPoints;isFirstInDuration;constructor(e="Rate limit exceeded",r){super(e),this.name="RateLimitError",this.remainingPoints=r.remainingPoints,this.msBeforeNext=r.msBeforeNext,this.consumedPoints=r.consumedPoints,this.isFirstInDuration=r.isFirstInDuration}},_t=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},Se=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},St=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},Ct=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function kc(t){return t.reason}async function D(t,e,r){if(e==null)return t;let n=r?.translateError??kc;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var er=class{deferred;signal;constructor(e){this.signal=e,this.deferred=te(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new le)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function Bc(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var tr=class{id;fn;options;recipients;status;timeline;controller;constructor(e,r){this.id=Bc(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new le),this.cleanup())}async join(e={}){let r=new er(e.signal);return this.recipients.push(r),e.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await D(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var re=class extends se{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=Ze(this.emitEmpty.bind(this),1),this.emitIdle=Ze(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new _t;let n=new tr(e,r);return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),n.join(r).then(o=>(this.safeDispatchEvent("completed",{detail:o}),this.safeDispatchEvent("success",{detail:{job:n,result:o}}),o)).catch(o=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:o}}),o})}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new le)}),this.clear()}async onEmpty(e){this.size!==0&&await T(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await T(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await T(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=ce({objectMode:!0}),n=u=>{u!=null?this.abort():this.clear(),r.end(u)},o=u=>{u.detail!=null&&r.push(u.detail)},i=u=>{n(u.detail.error)},s=()=>{n()},a=()=>{n(new le("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",i),this.addEventListener("idle",s),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",i),this.removeEventListener("idle",s),e?.signal?.removeEventListener("abort",a),n()}}};var Uc=Math.pow(2,20)*4,Ue=class extends se{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;onDrainPromise;constructor(e){super(),this.status="open",this.log=e.log,this.direction=e.direction??"outbound",this.inactivityTimeout=e.inactivityTimeout??12e4,this.maxReadBufferLength=e.maxReadBufferLength??Uc,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new I,this.writeBuffer=new I,this.readStatus="readable",this.remoteReadStatus="readable",this.writeStatus="writable",this.remoteWriteStatus="writable",this.sendingData=!1,this.writableNeedsDrain=!1,this.timeline={open:Date.now()},this.processSendQueue=this.processSendQueue.bind(this);let r=()=>{this.writableNeedsDrain&&(this.log.trace("drain event received, continue sending data"),this.writableNeedsDrain=!1,this.processSendQueue()),this.onDrainPromise?.resolve()};this.addEventListener("drain",r);let n=o=>{this.onDrainPromise?.reject(o.error??new Ct)};this.addEventListener("close",n)}get readBufferLength(){return this.readBuffer.byteLength}get writeBufferLength(){return this.writeBuffer.byteLength}async onDrain(e){return this.writableNeedsDrain!==!0?Promise.resolve():(this.onDrainPromise==null&&(this.onDrainPromise=Promise.withResolvers()),D(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=ce(),r=i=>{e.push(i.data)};this.addEventListener("message",r);let n=i=>{e.end(i.error)};this.addEventListener("close",n);let o=()=>{e.end()};this.addEventListener("remoteCloseWrite",o);try{yield*e}finally{this.removeEventListener("message",r),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(e){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new ye(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",e.byteLength),this.writeBuffer.append(e),this.processSendQueue()}abort(e){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",e),this.status="aborted",this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle")),this.writeStatus="closed",this.remoteWriteStatus="closed",this.readStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now();try{this.sendReset(e)}catch(r){this.log("failed to send reset to remote - %e",r)}this.dispatchEvent(new Vt(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye("Cannot pause a stream that is closing/closed");this.readStatus!=="paused"&&(this.readStatus="paused",this.sendPause())}resume(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.append(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}unshift(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.prepend(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(e){if(e.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(e),this.dispatchReadBuffer()}}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="message"&&this.readBuffer.byteLength>0&&queueMicrotask(()=>{this.dispatchReadBuffer()})}onRemoteReset(){this.log("remote reset"),this.status="reset",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now(),this.readBuffer.byteLength===0&&(this.readStatus="closed");let e=new zt;this.dispatchEvent(new qt(e))}onTransportClosed(e){this.log("transport closed"),this.readStatus==="readable"&&this.readBuffer.byteLength===0&&(this.log("close readable end after transport closed and read buffer is empty"),this.readStatus="closed"),this.remoteReadStatus!=="closed"&&(this.remoteReadStatus="closed"),this.remoteWriteStatus!=="closed"&&(this.remoteWriteStatus="closed"),this.writeStatus!=="closed"&&(this.writeStatus="closed"),e!=null?this.abort(e):(this.status==="open"||this.status==="closing")&&(this.timeline.close=Date.now(),this.status="closed",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.dispatchEvent(new ze))}onRemoteCloseWrite(){this.remoteWriteStatus!=="closed"&&(this.log.trace("on remote close write"),this.remoteWriteStatus="closed",this.safeDispatchEvent("remoteCloseWrite"),this.writeStatus==="closed"&&this.onTransportClosed())}onRemoteCloseRead(){this.log.trace("on remote close read"),this.remoteReadStatus="closed",this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle"))}processSendQueue(){if(this.writableNeedsDrain)return this.log.trace("not processing send queue as drain is required"),this.checkWriteBufferLength(),!1;if(this.writeBuffer.byteLength===0)return this.log.trace("not processing send queue as no bytes to send"),!0;if(this.sendingData)return this.log.trace("not processing send queue as already sending data"),!0;this.sendingData=!0,this.log.trace("processing send queue with %d queued bytes",this.writeBuffer.byteLength);try{let e=!0,r=this.writeBuffer.byteLength,n=0;for(;this.writeBuffer.byteLength>0;){let o=Math.min(this.maxMessageSize??this.writeBuffer.byteLength,this.writeBuffer.byteLength);if(o===0){e=!1;break}let i=this.writeBuffer.sublist(0,o),s=new I(i);this.writeBuffer.consume(i.byteLength);let a=this.sendData(i);if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==s.byteLength&&(s.consume(a.sentBytes),this.writeBuffer.prepend(s)),!e)break}return e||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,r,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),e}finally{this.sendingData=!1}}dispatchReadBuffer(){try{if(this.listenerCount("message")===0){this.log.trace("not dispatching pause buffer as there are no listeners for the message event");return}if(this.readBuffer.byteLength===0){this.log.trace("not dispatching pause buffer as there is no data to dispatch");return}if(this.readStatus==="paused"){this.log.trace("not dispatching pause buffer we are paused");return}if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("dropping %d bytes because the readable end is %s",this.readBuffer.byteLength,this.readStatus),this.readBuffer.consume(this.readBuffer.byteLength);return}let e=this.readBuffer.sublist();this.readBuffer.consume(e.byteLength),this.dispatchEvent(new ie(e))}finally{this.readBuffer.byteLength===0&&this.remoteWriteStatus==="closed"&&(this.log("close readable end after dispatching read buffer and remote writable end is closed"),this.readStatus="closed"),this.checkReadBufferLength()}}checkReadBufferLength(){this.readBuffer.byteLength>this.maxReadBufferLength&&this.abort(new ut(`Read buffer length of ${this.readBuffer.byteLength} exceeded limit of ${this.maxReadBufferLength}, read status is ${this.readStatus}`))}checkWriteBufferLength(){this.maxWriteBufferLength!=null&&this.writeBuffer.byteLength>this.maxWriteBufferLength&&this.abort(new ut(`Write buffer length of ${this.writeBuffer.byteLength} exceeded limit of ${this.maxWriteBufferLength}, write status is ${this.writeStatus}`))}onMuxerNeedsDrain(){this.writableNeedsDrain=!0}onMuxerDrain(){this.safeDispatchEvent("drain")}};var Lt=class extends Ue{remoteAddr;metricPrefix;metrics;constructor(e){super(e),this.metricPrefix=e.metricPrefix??"",this.metrics=e.metrics,this.remoteAddr=e.remoteAddr,this.addEventListener("close",r=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),r.error!=null?r.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):r.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(e){this.status==="open"&&(this.status="closing",this.writeStatus="closing",this.remoteWriteStatus="closing",this.remoteReadStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await T(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await T(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function bn(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var It=class extends se{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(e,r){super(),this.maConn=e,this.protocol=r.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=e.log.newScope(r.name),this.streamOptions=r.streamOptions,this.maxEarlyStreams=r.maxEarlyStreams??10,this.metrics=r.metrics;let n=s=>{try{this.onData(s.data)}catch(a){this.abort(a),this.maConn.abort(a)}};this.maConn.addEventListener("message",n);let o=()=>{this.log("underlying stream drained, signal %d streams to continue writing",this.streams.length),this.streams.forEach(s=>{s.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let i=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",i)}send(e){let r=this.maConn.send(e);return r===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),r}async close(e){this.status==="closed"||this.status==="closing"||(this.status="closing",await D(Promise.all([...this.streams].map(async r=>{await r.close(e)})),e?.signal),this.status="closed")}abort(e){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(r=>{r.abort(e)}),this.status="closed")}onTransportClosed(e){this.status="closing";try{[...this.streams].forEach(r=>{r.onTransportClosed(e)})}catch(r){this.abort(r)}this.status="closed"}async createStream(e){if(this.status!=="open")throw new Rt;let r=this.onCreateStream({...this.streamOptions,...e});return bn(r)&&(r=await r),this.streams.push(r),this.cleanUpStream(r),r}onRemoteStream(e){if(this.streams.push(e),this.cleanUpStream(e),this.listenerCount("stream")===0){this.earlyStreams.push(e),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new St(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:e})}cleanUpStream(e){let r=n=>{let o=this.streams.findIndex(i=>i===e);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${e.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${e.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${e.direction}_stream_end`]:!0})};e.addEventListener("close",r),this.metrics?.increment({[`${e.direction}_stream`]:!0})}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(r=>{this.safeDispatchEvent("stream",{detail:r})}),this.earlyStreams=[]})}};var Ne=class extends Ue{id;protocol;constructor(e){super(e),this.id=e.id,this.protocol=e.protocol??""}async close(e){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.writeStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await T(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData),await T(this,"drain",{...e,rejectionEvents:["close"]}),this.log("write queue drained, closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData)),await this.sendCloseWrite(e),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(e){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(e),this.readStatus="closed",this.log("closed readable end gracefully"))}};function rr(t){let e=new globalThis.AbortController;function r(){let i=t.filter(s=>s?.aborted===!0).map(s=>s?.reason).pop();e.abort(i);for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let i of t){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var Pe=class{movingAverage;variance;deviation;forecast;timeSpan;previousTime;constructor(e){this.timeSpan=e,this.movingAverage=0,this.variance=0,this.deviation=0,this.forecast=0}alpha(e,r){return 1-Math.exp(-(e-r)/this.timeSpan)}push(e,r=Date.now()){if(this.previousTime!=null){let n=this.alpha(r,this.previousTime),o=e-this.movingAverage,i=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*i),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var Wo=1.2,Go=2,Ho=5e3,Xo=6e4,Qo=5e3,wn=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??Qo;this.success=new Pe(r),this.failure=new Pe(r),this.next=new Pe(r),this.failureMultiplier=e.failureMultiplier??Go,this.timeoutMultiplier=e.timeoutMultiplier??Wo,this.minTimeout=e.minTimeout??Ho,this.maxTimeout=e.maxTimeout??Xo,e.metricName!=null&&(this.metric=e.metrics?.registerMetricGroup(e.metricName))}getTimeoutSignal(e={}){let r=Math.round(this.next.movingAverage*(e.timeoutFactor??this.timeoutMultiplier));r<this.minTimeout&&(r=this.minTimeout),r>this.maxTimeout&&(r=this.maxTimeout);let n=AbortSignal.timeout(r),o=rr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){let r=Date.now()-e.start;e.aborted?(this.failure.push(r),this.next.push(r*this.failureMultiplier),this.metric?.update({failureMovingAverage:this.failure.movingAverage,failureDeviation:this.failure.deviation,failureForecast:this.failure.forecast,failureVariance:this.failure.variance,failure:r})):(this.success.push(r),this.next.push(r),this.metric?.update({successMovingAverage:this.success.movingAverage,successDeviation:this.success.deviation,successForecast:this.success.forecast,successVariance:this.success.variance,success:r}))}};var U=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},me=class extends Error{static name="ValidationError";name="ValidationError"},nr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},or=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function vn(t){return e=>Te(e,t)}function _n(t){return e=>A(e,t)}function et(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Me(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Ko(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=A(e[0],"base32"),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Me(n);return be([r,o],r.length+o.length)}function Jo(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=ae.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Me(n);return be([r,o],r.length+o.length)}function Sn(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Te(e,"base32"),o=et(r);return`${n}:${o}`}var Cn=function(t){t=t.toString().trim();let e=new Uint8Array(4);return t.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new U("Invalid byte value in IP address");e[n]=o}),e},Yo=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let i=ve(r[n]),s;i&&(s=Cn(r[n]),r[n]=Te(s.subarray(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Te(s.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 i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let i=parseInt(r[n],16);if(isNaN(i)||i<0||i>65535)throw new U("Invalid byte value in IP address");o[e++]=i>>8&255,o[e++]=i&255}return o},Zo=function(t){if(t.byteLength!==4)throw new U("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},ei=function(t){if(t.byteLength!==16)throw new U("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],i=t[n+1],s=`${o.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`;e.push(s)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new U(`Invalid IPv6 address "${r}"`)}};function ti(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new U(`Invalid IPv6 address "${t}"`)}}var En=Object.values(pt).map(t=>t.decoder),Nc=(function(){let t=En[0].or(En[1]);return En.slice(2).forEach(e=>t=t.or(e)),t})();function ri(t){return Nc.decode(t)}function ni(t){return e=>t.encoder.encode(e)}function Pc(t){if(parseInt(t).toString()!==t)throw new me("Value must be an integer")}function Mc(t){if(t<0)throw new me("Value must be a positive integer, or zero")}function Oc(t){return e=>{if(e>t)throw new me(`Value must be smaller than or equal to ${t}`)}}function $c(...t){return e=>{for(let r of t)r(e)}}var At=$c(Pc,Mc,Oc(65535));var F=-1,Ln=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(e){let r;if(typeof e=="string"?r=this.protocolsByName.get(e):r=this.protocolsByCode.get(e),r==null)throw new or(`Protocol ${e} was unknown`);return r}addProtocol(e){this.protocolsByCode.set(e.code,e),this.protocolsByName.set(e.name,e),e.aliases?.forEach(r=>{this.protocolsByName.set(r,e)})}removeProtocol(e){let r=this.protocolsByCode.get(e);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},pe=new Ln,_u=[{code:4,name:"ip4",size:32,valueToBytes:Cn,bytesToValue:Zo,validate:t=>{if(!ve(t))throw new me(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:273,name:"udp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:33,name:"dccp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:41,name:"ip6",size:128,valueToBytes:Yo,bytesToValue:ei,stringToValue:ti,validate:t=>{if(!_e(t))throw new me(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:F},{code:43,name:"ipcidr",size:8,bytesToValue:vn("base10"),valueToBytes:_n("base10")},{code:53,name:"dns",size:F},{code:54,name:"dns4",size:F},{code:55,name:"dns6",size:F},{code:56,name:"dnsaddr",size:F},{code:132,name:"sctp",size:16,valueToBytes:Me,bytesToValue:et,validate:At},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:F,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:F,bytesToValue:vn("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?_n("base58btc")(t):He.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Sn,valueToBytes:Ko},{code:445,name:"onion3",size:296,bytesToValue:Sn,valueToBytes:Jo},{code:446,name:"garlic64",size:F},{code:447,name:"garlic32",size:F},{code:448,name:"tls"},{code:449,name:"sni",size:F},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:F,bytesToValue:ni(Hr),valueToBytes:ri},{code:480,name:"http"},{code:481,name:"http-path",size:F,stringToValue:t=>`/${decodeURIComponent(t)}`,valueToString:t=>encodeURIComponent(t.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:F}];_u.forEach(t=>{pe.addProtocol(t)});function ai(t){let e=[],r=0;for(;r<t.length;){let n=he(t,r),o=pe.getProtocol(n),i=M(n),s=Su(o,t,r+i),a=0;s>0&&o.size===F&&(a=M(s));let u=i+a+s,c={code:n,name:o.name,bytes:t.subarray(r,r+u)};if(s>0){let f=r+i+a,d=t.subarray(f,f+s);c.value=o.bytesToValue?.(d)??Te(d)}e.push(c),r+=u}return e}function ci(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=pe.getProtocol(n.code),i=M(n.code),s,a=0,u=0;n.value!=null&&(s=o.valueToBytes?.(n.value)??A(n.value),a=s.byteLength,o.size===F&&(u=M(a)));let c=new Uint8Array(i+u+a),f=0;Gt(n.code,c,f),f+=i,s!=null&&(o.size===F&&(Gt(a,c,f),f+=u),c.set(s,f)),n.bytes=c}r.push(n.bytes),e+=n.bytes.byteLength}return be(r,e)}function ui(t){if(t.charAt(0)!=="/")throw new U('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let i=1;i<t.length;i++){let s=t.charAt(i);s!=="/"&&(r==="protocol"?o+=t.charAt(i):n+=t.charAt(i));let a=i===t.length-1;if(s==="/"||a){let u=pe.getProtocol(o);if(r==="protocol"){if(u.size==null||u.size===0){e.push({code:u.code,name:u.name}),n="",o="",r="protocol";continue}else if(a)throw new U(`Component ${o} was missing value`);r="value"}else if(r==="value"){let c={code:u.code,name:u.name};if(u.size!=null&&u.size!==0){if(n==="")throw new U(`Component ${o} was missing value`);c.value=u.stringToValue?.(n)??n}e.push(c),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new U("Incomplete multiaddr");return e}function fi(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=pe.getProtocol(e.code);if(r==null)throw new U(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function Su(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:he(e,r)}var Cu=Symbol.for("nodejs.util.inspect.custom"),In=Symbol.for("@multiformats/multiaddr");function Lu(t){if(t==null&&(t="/"),li(t))return t.getComponents();if(t instanceof Uint8Array)return ai(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),ui(t);if(Array.isArray(t))return t;throw new U("Must be a string, Uint8Array, Component[], or another Multiaddr")}var ir=class t{[In]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=Lu(e),r.validate!==!1&&Iu(this)}get bytes(){return this.#r==null&&(this.#r=ci(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=fi(this.#e)),this.#t}toJSON(){return this.toString()}getComponents(){return[...this.#e.map(e=>({...e}))]}encapsulate(e){let r=new t(e);return new t([...this.#e,...r.getComponents()],{validate:!1})}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new nr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new t(n.slice(0,o),{validate:!1})}decapsulateCode(e){let r;for(let n=this.#e.length-1;n>-1;n--)if(this.#e[n].code===e){r=n;break}return new t(this.#e.slice(0,r),{validate:!1})}equals(e){return Xe(this.bytes,e.bytes)}[Cu](){return`Multiaddr(${this.toString()})`}};function Iu(t){t.getComponents().forEach(e=>{let r=pe.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function li(t){return!!t?.[In]}function Ce(t){return new ir(t)}function di(t,e,r){let n=[t.type,r??t.host];if(t.protocol!=null){let o=e??t.port;o!=null&&n.push(t.protocol,o)}return t.type==="ip6"&&t.zone!=null&&n.unshift("ip6zone",t.zone),t.cidr!=null&&n.push("ipcidr",t.cidr),Ce(`/${n.join("/")}`)}function Au(t,e){if(t==null)return[];let r=j(t);return[di(r,e)]}function Tu(t){return _e(t)?Yt("2000::/3",t):!1}function Du(t,e){if(typeof t!="string")throw new R(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new R(`invalid port provided: ${e}`);if(ve(t))return Ce(`/ip4/${t}/tcp/${e}`);if(_e(t))return Ce(`/ip6/${t}/tcp/${e}`);throw new R(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function Fu(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function ku(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var An=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=te(),this.haveNext=te()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=te(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=te(),await D(this.readNext.promise,r?.signal,r)}};function hi(){return new An}function Bu(t){return t[Symbol.asyncIterator]!=null}async function Uu(t,e,r){try{await Promise.all(t.map(async n=>{for await(let o of n)await e.push(o,{signal:r}),r.throwIfAborted()})),await e.end(void 0,{signal:r})}catch(n){await e.end(n,{signal:r}).catch(()=>{})}}async function*Nu(t){let e=new AbortController,r=hi();Uu(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*Pu(t){for(let e of t)yield*e}function Mu(...t){let e=[];for(let r of t)Bu(r)||e.push(r);return e.length===t.length?Pu(e):Nu(t)}var mi=Mu;function pi(t,...e){if(t==null)throw new Error("Empty pipeline");if(Tn(t)){let n=t;t=()=>n.source}else if(yi(t)||gi(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Tn(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Tn(r[n])&&(r[n]=$u(r[n]));return Ou(...r)}var Ou=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},gi=t=>t?.[Symbol.asyncIterator]!=null,yi=t=>t?.[Symbol.iterator]!=null,Tn=t=>t==null?!1:t.sink!=null&&t.source!=null,$u=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=ce({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(gi(i))o=async function*(){yield*i,n.end()};else if(yi(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return mi(n,o())}return t.source};var Ru=4194304,Tt=class extends Error{static name="UnwrappedError";name="UnwrappedError"},tt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},sr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},ar=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function zu(t){return typeof t?.closeRead=="function"}function Vu(t){return typeof t?.close=="function"}function Dn(t){return zu(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:Vu(t)?t.status!=="open":!1}function qu(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function xi(t,e){let r=e?.maxBufferSize??Ru,n=new I,o,i=!1;if(!qu(t))throw new R("Argument should be a Stream or a Multiaddr");let s=f=>{if(n.append(f.data),n.byteLength>r){let d=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${d} > ${r}`))}o?.resolve()};t.addEventListener("message",s);let a=f=>{f.error!=null?o?.reject(f.error):o?.resolve()};t.addEventListener("close",a);let u=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",u);let c={readBuffer:n,async read(f){if(i===!0)throw new Tt("Stream was unwrapped");if(Dn(t)){if(f?.bytes==null)return null;if(n.byteLength<f.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,f.bytes),new Se(`Unexpected EOF - stream closed after reading ${n.byteLength}/${f.bytes} bytes`)}let d=f?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=d){o.resolve();break}if(await D(o.promise,f?.signal),Dn(t)){if(n.byteLength===0&&f?.bytes==null)return null;break}o=Promise.withResolvers()}let h=f?.bytes??n.byteLength;if(n.byteLength<h){if(Dn(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,h),new Se(`Unexpected EOF - stream closed while reading ${n.byteLength}/${h} bytes`);return c.read(f)}let g=n.sublist(0,h);return n.consume(h),g},async write(f,d){if(i===!0)throw new Tt("Stream was unwrapped");t.send(f)||await T(t,"drain",{signal:d?.signal,rejectionEvents:["close"]})},unwrap(){return i||(i=!0,t.removeEventListener("message",s),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",u),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.push(n))),t}};return c}function bi(t,e={}){let r=xi(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=M(e.maxDataLength));let n=e?.lengthDecoder??he,o=e?.lengthEncoder??Ht;return{async read(s){let a=-1,u=new I;for(;;){let f=await r.read({...s,bytes:1});if(f==null)break;u.append(f);try{a=n(u)}catch(d){if(d instanceof RangeError)continue;throw d}if(a<0)throw new tt("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new ar(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new sr(`Message length too long - ${a} > ${e.maxDataLength}`);let c=await r.read({...s,bytes:a});if(c==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new Se(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(c.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",c.byteLength,a),new Se(`Unexpected EOF - read ${c.byteLength}/${a} bytes before the stream closed`);return c},async write(s,a){await r.write(new I(o(s.byteLength),s),a)},async writeV(s,a){let u=new I(...s.flatMap(c=>[o(c.byteLength),c]));await r.write(u,a)},unwrap(){return r.unwrap()}}}function ju(t,e){let r=bi(t,e),n={read:async(o,i)=>{let s=await r.read(i);return o.decode(s)},write:async(o,i,s)=>{await r.write(i.encode(o),s)},writeV:async(o,i,s)=>{await r.writeV(o.map(a=>i.encode(a)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function Fn(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let i of t)o+=i.byteLength,t.send(i)||(t.pause(),await T(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(i){t.abort(i)}}function Wu(t){return t?.addEventListener!=null}function wi(t){let e=ce(),r,n=s=>{e.push(s.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)},i=s=>{e.end(s.error),s.error!=null&&r?.reject(s.error),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",i,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(s){async function*a(){yield*s}let u=a();for(;;){r=Promise.withResolvers();let{done:c,value:f}=await Promise.race([u.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(f!=null&&(t.send(f)||await Promise.race([T(t,"drain",{rejectionEvents:["close"]})])),c===!0))break}await t.close()}}}function Gu(...t){let e=t.map(r=>Wu(r)?wi(r):r);return pi(...e)}var Hu=1024*1024*4,Xu=1024*1024*4,kn=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new I,this.maxBufferSize=e.maxBufferSize??Hu,this.maxDataLength=e.maxDataLength??Xu,this.lengthDecoder=e.lengthDecoder??he,this.encodingLength=e.encodingLength??M}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new R(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(i){if(i instanceof RangeError)break;throw i}if(r<0||r>this.maxDataLength)throw new tt("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let i=this.buffer.sublist(n,o);this.buffer.consume(o),i.byteLength>0&&(yield i)}else break}}};function Qu(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var Ku=["string","number","bigint","symbol"],Ju=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ei(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(Ku.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(Yu(t))return"Buffer";let r=Zu(t);return r||"Object"}function Yu(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function Zu(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(Ju.includes(e))return e}var l=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};l.uint=new l(0,"uint",!0);l.negint=new l(1,"negint",!0);l.bytes=new l(2,"bytes",!0);l.string=new l(3,"string",!0);l.array=new l(4,"array",!1);l.map=new l(5,"map",!1);l.tag=new l(6,"tag",!1);l.float=new l(7,"float",!0);l.false=new l(7,"false",!0);l.true=new l(7,"true",!0);l.null=new l(7,"null",!0);l.undefined=new l(7,"undefined",!0);l.break=new l(7,"break",!0);var p=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var rt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",ef=new TextDecoder,tf=new TextEncoder;function cr(t){return rt&&globalThis.Buffer.isBuffer(t)}function Bn(t){return t instanceof Uint8Array?cr(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Ci=rt?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):_i(t,e,r):(t,e,r)=>r-e>64?ef.decode(t.subarray(e,r)):_i(t,e,r),Li=rt?t=>t.length>64?globalThis.Buffer.from(t):vi(t):t=>t.length>64?tf.encode(t):vi(t),ue=t=>Uint8Array.from(t),nt=rt?(t,e,r)=>cr(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Ii=rt?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Bn(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Ai=rt?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function ur(t,e){if(cr(t)&&cr(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function vi(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}function _i(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let a,u,c,f;switch(s){case 1:o<128&&(i=o);break;case 2:a=t[e+1],(a&192)===128&&(f=(o&31)<<6|a&63,f>127&&(i=f));break;case 3:a=t[e+1],u=t[e+2],(a&192)===128&&(u&192)===128&&(f=(o&15)<<12|(a&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(i=f));break;case 4:a=t[e+1],u=t[e+2],c=t[e+3],(a&192)===128&&(u&192)===128&&(c&192)===128&&(f=(o&15)<<18|(a&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(i=f))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return rf(n)}var Si=4096;function rf(t){let e=t.length;if(e<=Si)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Si));return r}var nf=256,Dt=class{constructor(e=nf){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Ai(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=nt(n,0,this.cursor)}else r=Ii(this.chunks,this.cursor);return e&&this.reset(),r}};var y="CBOR decode error:",Un="CBOR encode error:",Ft=[];Ft[23]=1;Ft[24]=2;Ft[25]=3;Ft[26]=5;Ft[27]=9;function ge(t,e,r){if(t.length-e<r)throw new Error(`${y} not enough data for type`)}var k=[24,256,65536,4294967296,BigInt("18446744073709551616")];function W(t,e,r){ge(t,e,1);let n=t[e];if(r.strict===!0&&n<k[0])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);return n}function G(t,e,r){ge(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<k[1])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);return n}function H(t,e,r){ge(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<k[2])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);return n}function X(t,e,r){ge(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<k[3])throw new Error(`${y} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${y} integers outside of the safe integer range are not supported`)}function Ti(t,e,r,n){return new p(l.uint,W(t,e+1,n),2)}function Di(t,e,r,n){return new p(l.uint,G(t,e+1,n),3)}function Fi(t,e,r,n){return new p(l.uint,H(t,e+1,n),5)}function ki(t,e,r,n){return new p(l.uint,X(t,e+1,n),9)}function K(t,e){return N(t,0,e.value)}function N(t,e,r){if(r<k[0]){let n=Number(r);t.push([e|n])}else if(r<k[1]){let n=Number(r);t.push([e|24,n])}else if(r<k[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<k[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<k[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${y} encountered BigInt larger than allowable range`)}}K.encodedSize=function(e){return N.encodedSize(e.value)};N.encodedSize=function(e){return e<k[0]?1:e<k[1]?2:e<k[2]?3:e<k[3]?5:9};K.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Bi(t,e,r,n){return new p(l.negint,-1-W(t,e+1,n),2)}function Ui(t,e,r,n){return new p(l.negint,-1-G(t,e+1,n),3)}function Ni(t,e,r,n){return new p(l.negint,-1-H(t,e+1,n),5)}var Nn=BigInt(-1),Pi=BigInt(1);function Mi(t,e,r,n){let o=X(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new p(l.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${y} integers outside of the safe integer range are not supported`);return new p(l.negint,Nn-BigInt(o),9)}function fr(t,e){let r=e.value,n=typeof r=="bigint"?r*Nn-Pi:r*-1-1;N(t,e.type.majorEncoded,n)}fr.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Nn-Pi:r*-1-1;return n<k[0]?1:n<k[1]?2:n<k[2]?3:n<k[3]?5:9};fr.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function kt(t,e,r,n){ge(t,e,r+n);let o=nt(t,e+r,e+r+n);return new p(l.bytes,o,r+n)}function Oi(t,e,r,n){return kt(t,e,1,r)}function $i(t,e,r,n){return kt(t,e,2,W(t,e+1,n))}function Ri(t,e,r,n){return kt(t,e,3,G(t,e+1,n))}function zi(t,e,r,n){return kt(t,e,5,H(t,e+1,n))}function Vi(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer bytes lengths not supported`);return kt(t,e,9,o)}function lr(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===l.string?Li(t.value):t.value),t.encodedBytes}function ot(t,e){let r=lr(e);N(t,e.type.majorEncoded,r.length),t.push(r)}ot.encodedSize=function(e){let r=lr(e);return N.encodedSize(r.length)+r.length};ot.compareTokens=function(e,r){return sf(lr(e),lr(r))};function sf(t,e){return t.length<e.length?-1:t.length>e.length?1:ur(t,e)}function Bt(t,e,r,n,o){let i=r+n;ge(t,e,i);let s=new p(l.string,Ci(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=nt(t,e+r,e+i)),s}function qi(t,e,r,n){return Bt(t,e,1,r,n)}function ji(t,e,r,n){return Bt(t,e,2,W(t,e+1,n),n)}function Wi(t,e,r,n){return Bt(t,e,3,G(t,e+1,n),n)}function Gi(t,e,r,n){return Bt(t,e,5,H(t,e+1,n),n)}function Hi(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer string lengths not supported`);return Bt(t,e,9,o,n)}var Xi=ot;function it(t,e,r,n){return new p(l.array,n,r)}function Qi(t,e,r,n){return it(t,e,1,r)}function Ki(t,e,r,n){return it(t,e,2,W(t,e+1,n))}function Ji(t,e,r,n){return it(t,e,3,G(t,e+1,n))}function Yi(t,e,r,n){return it(t,e,5,H(t,e+1,n))}function Zi(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer array lengths not supported`);return it(t,e,9,o)}function es(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${y} indefinite length items not allowed`);return it(t,e,1,1/0)}function dr(t,e){N(t,l.array.majorEncoded,e.value)}dr.compareTokens=K.compareTokens;dr.encodedSize=function(e){return N.encodedSize(e.value)};function st(t,e,r,n){return new p(l.map,n,r)}function ts(t,e,r,n){return st(t,e,1,r)}function rs(t,e,r,n){return st(t,e,2,W(t,e+1,n))}function ns(t,e,r,n){return st(t,e,3,G(t,e+1,n))}function os(t,e,r,n){return st(t,e,5,H(t,e+1,n))}function is(t,e,r,n){let o=X(t,e+1,n);if(typeof o=="bigint")throw new Error(`${y} 64-bit integer map lengths not supported`);return st(t,e,9,o)}function ss(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${y} indefinite length items not allowed`);return st(t,e,1,1/0)}function hr(t,e){N(t,l.map.majorEncoded,e.value)}hr.compareTokens=K.compareTokens;hr.encodedSize=function(e){return N.encodedSize(e.value)};function as(t,e,r,n){return new p(l.tag,r,1)}function cs(t,e,r,n){return new p(l.tag,W(t,e+1,n),2)}function us(t,e,r,n){return new p(l.tag,G(t,e+1,n),3)}function fs(t,e,r,n){return new p(l.tag,H(t,e+1,n),5)}function ls(t,e,r,n){return new p(l.tag,X(t,e+1,n),9)}function mr(t,e){N(t,l.tag.majorEncoded,e.value)}mr.compareTokens=K.compareTokens;mr.encodedSize=function(e){return N.encodedSize(e.value)};var df=20,hf=21,mf=22,pf=23;function ds(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${y} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(l.null,null,1):new p(l.undefined,void 0,1)}function hs(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${y} indefinite length items not allowed`);return new p(l.break,void 0,1)}function Pn(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${y} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${y} Infinity values are not supported`)}return new p(l.float,t,e)}function ms(t,e,r,n){return Pn(Mn(t,e+1),3,n)}function ps(t,e,r,n){return Pn(On(t,e+1),5,n)}function gs(t,e,r,n){return Pn(ws(t,e+1),9,n)}function pr(t,e,r){let n=e.value;if(n===!1)t.push([l.float.majorEncoded|df]);else if(n===!0)t.push([l.float.majorEncoded|hf]);else if(n===null)t.push([l.float.majorEncoded|mf]);else if(n===void 0)t.push([l.float.majorEncoded|pf]);else{let o,i=!1;(!r||r.float64!==!0)&&(xs(n),o=Mn(ne,1),n===o||Number.isNaN(n)?(ne[0]=249,t.push(ne.slice(0,3)),i=!0):(bs(n),o=On(ne,1),n===o&&(ne[0]=250,t.push(ne.slice(0,5)),i=!0))),i||(gf(n),o=ws(ne,1),ne[0]=251,t.push(ne.slice(0,9)))}}pr.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){xs(n);let o=Mn(ne,1);if(n===o||Number.isNaN(n))return 3;if(bs(n),o=On(ne,1),n===o)return 5}return 9};var ys=new ArrayBuffer(9),J=new DataView(ys,1),ne=new Uint8Array(ys,0);function xs(t){if(t===1/0)J.setUint16(0,31744,!1);else if(t===-1/0)J.setUint16(0,64512,!1);else if(Number.isNaN(t))J.setUint16(0,32256,!1);else{J.setFloat32(0,t);let e=J.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)J.setUint16(0,31744,!1);else if(r===0)J.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?J.setUint16(0,0):o<-14?J.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):J.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Mn(t,e){if(t.length-e<2)throw new Error(`${y} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function bs(t){J.setFloat32(0,t,!1)}function On(t,e){if(t.length-e<4)throw new Error(`${y} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function gf(t){J.setFloat64(0,t,!1)}function ws(t,e){if(t.length-e<8)throw new Error(`${y} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}pr.compareTokens=K.compareTokens;function E(t,e,r){throw new Error(`${y} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function gr(t){return()=>{throw new Error(`${y} ${t}`)}}var m=[];for(let t=0;t<=23;t++)m[t]=E;m[24]=Ti;m[25]=Di;m[26]=Fi;m[27]=ki;m[28]=E;m[29]=E;m[30]=E;m[31]=E;for(let t=32;t<=55;t++)m[t]=E;m[56]=Bi;m[57]=Ui;m[58]=Ni;m[59]=Mi;m[60]=E;m[61]=E;m[62]=E;m[63]=E;for(let t=64;t<=87;t++)m[t]=Oi;m[88]=$i;m[89]=Ri;m[90]=zi;m[91]=Vi;m[92]=E;m[93]=E;m[94]=E;m[95]=gr("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)m[t]=qi;m[120]=ji;m[121]=Wi;m[122]=Gi;m[123]=Hi;m[124]=E;m[125]=E;m[126]=E;m[127]=gr("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)m[t]=Qi;m[152]=Ki;m[153]=Ji;m[154]=Yi;m[155]=Zi;m[156]=E;m[157]=E;m[158]=E;m[159]=es;for(let t=160;t<=183;t++)m[t]=ts;m[184]=rs;m[185]=ns;m[186]=os;m[187]=is;m[188]=E;m[189]=E;m[190]=E;m[191]=ss;for(let t=192;t<=215;t++)m[t]=as;m[216]=cs;m[217]=us;m[218]=fs;m[219]=ls;m[220]=E;m[221]=E;m[222]=E;m[223]=E;for(let t=224;t<=243;t++)m[t]=gr("simple values are not supported");m[244]=E;m[245]=E;m[246]=E;m[247]=ds;m[248]=gr("simple values are not supported");m[249]=ms;m[250]=ps;m[251]=gs;m[252]=E;m[253]=E;m[254]=E;m[255]=hs;var oe=[];for(let t=0;t<24;t++)oe[t]=new p(l.uint,t,1);for(let t=-1;t>=-24;t--)oe[31-t]=new p(l.negint,t,1);oe[64]=new p(l.bytes,new Uint8Array(0),1);oe[96]=new p(l.string,"",1);oe[128]=new p(l.array,0,1);oe[160]=new p(l.map,0,1);oe[244]=new p(l.false,!1,1);oe[245]=new p(l.true,!0,1);oe[246]=new p(l.null,null,1);function $n(t){switch(t.type){case l.false:return ue([244]);case l.true:return ue([245]);case l.null:return ue([246]);case l.bytes:return t.value.length?void 0:ue([64]);case l.string:return t.value===""?ue([96]):void 0;case l.array:return t.value===0?ue([128]):void 0;case l.map:return t.value===0?ue([160]):void 0;case l.uint:return t.value<24?ue([Number(t.value)]):void 0;case l.negint:if(t.value>=-24)return ue([31-Number(t.value)])}}var xf={float64:!1,mapSorter:Ef,quickEncodeToken:$n},vs=Object.freeze({float64:!0,mapSorter:vf,quickEncodeToken:$n});function bf(){let t=[];return t[l.uint.major]=K,t[l.negint.major]=fr,t[l.bytes.major]=ot,t[l.string.major]=Xi,t[l.array.major]=dr,t[l.map.major]=hr,t[l.tag.major]=mr,t[l.float.major]=pr,t}var zn=bf(),Rn=new Dt,xr=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Un} object contains circular references`);return new t(r,e)}},Le={null:new p(l.null,null),undefined:new p(l.undefined,void 0),true:new p(l.true,!0),false:new p(l.false,!1),emptyArray:new p(l.array,0),emptyMap:new p(l.map,0)},Ie={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new p(l.float,t):t>=0?new p(l.uint,t):new p(l.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new p(l.uint,t):new p(l.negint,t)},Uint8Array(t,e,r,n){return new p(l.bytes,t)},string(t,e,r,n){return new p(l.string,t)},boolean(t,e,r,n){return t?Le.true:Le.false},null(t,e,r,n){return Le.null},undefined(t,e,r,n){return Le.undefined},ArrayBuffer(t,e,r,n){return new p(l.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new p(l.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Le.emptyArray,new p(l.break)]:Le.emptyArray;n=xr.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=yr(s,r,n);return r.addBreakTokens?[new p(l.array,t.length),o,new p(l.break)]:[new p(l.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[Le.emptyMap,new p(l.break)]:Le.emptyMap;n=xr.createCheck(n,t);let a=[],u=0;for(let c of i)a[u++]=[yr(c,r,n),yr(o?t.get(c):t[c],r,n)];return wf(a,r),r.addBreakTokens?[new p(l.map,s),a,new p(l.break)]:[new p(l.map,s),a]}};Ie.Map=Ie.Object;Ie.Buffer=Ie.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ie[`${t}Array`]=Ie.DataView;function yr(t,e={},r){let n=Ei(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||Ie[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=Ie[n];if(!i)throw new Error(`${Un} unsupported type: ${n}`);return i(t,n,e,r)}function wf(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Ef(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=zn[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function vf(t,e){if(t[0]instanceof p&&e[0]instanceof p){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=Es(r.value)),n._keyBytes||(n._keyBytes=Es(n.value)),ur(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function Es(t){return Ss(t,zn,vs)}function _s(t,e,r,n){if(Array.isArray(e))for(let o of e)_s(t,o,r,n);else r[e.type.major](t,e,n)}function Ss(t,e,r){let n=yr(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),a=new Dt(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Bn(a.chunks[0])}}return Rn.reset(),_s(Rn,n,e,r),Rn.toBytes(!0)}function Vn(t,e){return e=Object.assign({},xf,e),Ss(t,zn,e)}var _f={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},br=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=oe[e];if(r===void 0){let n=m[e];if(!n)throw new Error(`${y} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},Ut=Symbol.for("DONE"),wr=Symbol.for("BREAK");function Sf(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=at(e,r);if(i===wr){if(t.value===1/0)break;throw new Error(`${y} got unexpected break to lengthed array`)}if(i===Ut)throw new Error(`${y} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function Cf(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=at(e,r);if(a===wr){if(t.value===1/0)break;throw new Error(`${y} got unexpected break to lengthed map`)}if(a===Ut)throw new Error(`${y} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${y} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${y} found repeat map key "${a}"`);let u=at(e,r);if(u===Ut)throw new Error(`${y} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(a,u):o[a]=u}return n?i:o}function at(t,e){if(t.done())return Ut;let r=t.next();if(r.type===l.break)return wr;if(r.type.terminal)return r.value;if(r.type===l.array)return Sf(r,t,e);if(r.type===l.map)return Cf(r,t,e);if(r.type===l.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=at(t,e);return e.tags[r.value](n)}throw new Error(`${y} tag not supported (${r.value})`)}throw new Error("unsupported")}function Cs(t,e){if(!(t instanceof Uint8Array))throw new Error(`${y} data to decode must be a Uint8Array`);e=Object.assign({},_f,e);let r=e.tokenizer||new br(t,e),n=at(r,e);if(n===Ut)throw new Error(`${y} did not find any content to decode`);if(n===wr)throw new Error(`${y} got unexpected break`);return[n,t.subarray(r.pos())]}function qn(t,e){let[r,n]=Cs(t,e);if(n.length>0)throw new Error(`${y} too many terminals, data makes no sense`);return r}var Er=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ct=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},vr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},Nt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function _r(t){return t[Symbol.asyncIterator]!=null}function Ls(t,e){if(t.byteLength>e)throw new ct("Message length too long")}var Cr=t=>{let e=M(t),r=Z(e);return Ht(t,r),Cr.bytes=e,r};Cr.bytes=0;function Lr(t,e){e=e??{};let r=e.lengthEncoder??Cr,n=e?.maxDataLength??4194304;function*o(i){Ls(i,n);let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return _r(t)?(async function*(){for await(let i of t)yield*o(i)})():(function*(){for(let i of t)yield*o(i)})()}Lr.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Cr,n=e?.maxDataLength??4194304;return Ls(t,n),new I(r(t.byteLength),t)};var $e;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})($e||($e={}));var jn=t=>{let e=he(t);return jn.bytes=M(e),e};jn.bytes=0;function Pt(t,e){let r=new I,n=$e.LENGTH,o=-1,i=e?.lengthDecoder??jn,s=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;r.byteLength>0;){if(n===$e.LENGTH)try{if(o=i(r),o<0)throw new Er("Invalid message length");if(o>a)throw new ct("Message length too long");let c=i.bytes;r.consume(c),e?.onLength!=null&&e.onLength(o),n=$e.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw new vr("Message length length too long");break}throw c}if(n===$e.DATA){if(r.byteLength<o)break;let c=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(c),yield c,n=$e.LENGTH}}}return _r(t)?(async function*(){for await(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw new Nt("Unexpected end of input")})():(function*(){for(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw new Nt("Unexpected end of input")})()}Pt.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:i,value:s}=await t.next(r);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{r=1}})();return Pt(n,{...e??{},onLength:i=>{r=i}})};var Wn=class extends Ne{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new re({concurrency:1}),this.direction==="outbound"&&this.sendMessage({id:this.id,type:"create",protocol:this.protocol})}sendData(e){let r=this.sendMessage({id:this.id,type:"data",chunk:e.subarray()});return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.sendMessage({id:this.id,type:"reset"})}async sendCloseWrite(e){this.sendMessage({id:this.id,type:"closeWrite"}),e?.signal?.throwIfAborted()}async sendCloseRead(e){this.sendMessage({id:this.id,type:"closeRead"}),e?.signal?.throwIfAborted()}sendPause(){this.sendMessage({id:this.id,type:"pause"})}sendResume(){this.sendMessage({id:this.id,type:"resume"})}onRemotePaused(){this.dataQueue.pause()}onRemoteResumed(){this.dataQueue.resume()}},Is=30,Gn=class extends It{input;maxInputQueueSize;encoding;maxMessageSize;nextStreamId;constructor(e,r){super(e,{...r,protocol:"/mock-muxer/1.0.0",name:"mock-muxer"}),this.maxInputQueueSize=r.maxInputQueueSize??1024*1024*10,this.maxMessageSize=(r.maxMessageSize??1024*1024*4)+Is,this.encoding=r.encoding??"base64",this.input=ce(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of Pt(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(qn(n.subarray()))}).catch(n=>{this.abort(n)})}onData(e){if(this.input.readableLength>=this.maxInputQueueSize){this.abort(new Error(`Input queue exceeded maximum size ${this.input.readableLength} >= ${this.maxInputQueueSize}`));return}this.input.push(e)}sendMessage(e){e.type==="data"?this.log.trace("send message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("send message %o",e);let r=Vn(e),n=Lr.single(r,{maxDataLength:this.maxMessageSize});return this.send(n)}onMessage(e){e.type==="data"?this.log.trace("incoming message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("incoming message %o",e);let r=this.streams.find(n=>n.id===e.id);if(e.type==="create"){if(r!=null)throw new Error(`Already had stream for ${e.id}`);this.log.trace("create stream inbound %s",e.id),r=this._createStream(e.id,"inbound",{protocol:e.protocol}),this.onRemoteStream(r)}if(r==null){this.log.error(`no stream found for ${e.id}`);return}e.type==="data"?r.onData(e.chunk):e.type==="reset"?r.onRemoteReset():e.type==="closeWrite"?r.onRemoteCloseWrite():e.type==="closeRead"?r.onRemoteCloseRead():e.type==="pause"?r.onRemotePaused():e.type==="resume"&&r.onRemoteResumed()}async onCreateStream(e){return this.nextStreamId+=2,this._createStream(`${this.nextStreamId}`,"outbound",e)}_createStream(e,r,n){return this.log.trace("createStream %s %s",r,e),new Wn({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-Is,protocol:""})}},Hn=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new Gn(e,{...this.init})}};function Ir(t={}){return new Hn(t)}function Tf(t,e){if(typeof t=="string")return Df(t);if(typeof t=="number")return Bf(t,e);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}var Ar=Tf;function Df(t){if(typeof t!="string"||t.length===0||t.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(t)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(t);if(!e?.groups)return NaN;let{value:r,unit:n="ms"}=e.groups,o=parseFloat(r),i=n.toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw Error(`Unknown unit "${i}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function Ff(t){let e=Math.abs(t);return e>=315576e5?`${Math.round(t/315576e5)}y`:e>=26298e5?`${Math.round(t/26298e5)}mo`:e>=6048e5?`${Math.round(t/6048e5)}w`:e>=864e5?`${Math.round(t/864e5)}d`:e>=36e5?`${Math.round(t/36e5)}h`:e>=6e4?`${Math.round(t/6e4)}m`:e>=1e3?`${Math.round(t/1e3)}s`:`${t}ms`}function kf(t){let e=Math.abs(t);return e>=315576e5?Re(t,e,315576e5,"year"):e>=26298e5?Re(t,e,26298e5,"month"):e>=6048e5?Re(t,e,6048e5,"week"):e>=864e5?Re(t,e,864e5,"day"):e>=36e5?Re(t,e,36e5,"hour"):e>=6e4?Re(t,e,6e4,"minute"):e>=1e3?Re(t,e,1e3,"second"):`${t} ms`}function Bf(t,e){if(typeof t!="number"||!Number.isFinite(t))throw Error("Value provided to ms.format() must be of type number.");return e?.long?kf(t):Ff(t)}function Re(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function Xn(t){r.debug=r,r.default=r,r.coerce=u,r.disable=i,r.enable=o,r.enabled=s,r.humanize=Ar,r.destroy=c,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let d=0;for(let h=0;h<f.length;h++)d=(d<<5)-d+f.charCodeAt(h),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=e;function r(f,d){let h,g=null,b,v;function x(...w){if(!x.enabled)return;let S=x,C=Number(new Date),O=C-(h||C);S.diff=O,S.prev=h,S.curr=C,h=C,w[0]=r.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let B=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,($,Y)=>{if($==="%%")return"%";B++;let Ae=r.formatters[Y];if(typeof Ae=="function"){let Os=w[B];$=Ae.call(S,Os),w.splice(B,1),B--}return $}),r.formatArgs.call(S,w),d?.onLog!=null&&d.onLog(...w),(S.log||r.log).apply(S,w)}return x.namespace=f,x.useColors=r.useColors(),x.color=r.selectColor(f),x.extend=n,x.destroy=r.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(b!==r.namespaces&&(b=r.namespaces,v=r.enabled(f)),v),set:w=>{g=w}}),typeof r.init=="function"&&r.init(x),x}function n(f,d){let h=r(this.namespace+(typeof d>"u"?":":d)+f);return h.log=this.log,h}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let d,h=(typeof f=="string"?f:"").split(/[\s,]+/),g=h.length;for(d=0;d<g;d++)h[d]&&(f=h[d].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.substr(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function i(){let f=[...r.names.map(a),...r.skips.map(a).map(d=>"-"+d)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let d,h;for(d=0,h=r.skips.length;d<h;d++)if(r.skips[d].test(f))return!1;for(d=0,h=r.names.length;d<h;d++)if(r.names[d].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack??f.message:f}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var Tr=Rf(),Uf=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Nf(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Pf(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ar(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}var Mf=console.debug??console.log??(()=>{});function Of(t){try{t?Tr?.setItem("debug",t):Tr?.removeItem("debug")}catch{}}function $f(){let t;try{t=Tr?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function Rf(){try{return localStorage}catch{}}function zf(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var As=Xn({formatArgs:Pf,save:Of,load:$f,useColors:Nf,setupFormatters:zf,colors:Uf,storage:Tr,log:Mf});var z=As;z.formatters.b=t=>t==null?"undefined":Q.baseEncode(t);z.formatters.t=t=>t==null?"undefined":ae.baseEncode(t);z.formatters.m=t=>t==null?"undefined":Gr.baseEncode(t);z.formatters.p=t=>t==null?"undefined":t.toString();z.formatters.c=t=>t==null?"undefined":t.toString();z.formatters.k=t=>t==null?"undefined":t.toString();z.formatters.a=t=>t==null?"undefined":t.toString();function Ts(t,e=""){let r=Ds(t.message),n=Ds(t.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
|
|
3
3
|
`).join(`
|
|
4
4
|
${e}`)}`:`${r}
|
|
5
5
|
${e}${n.split(`
|
|
6
6
|
`).join(`
|
|
7
7
|
${e}`)}`:n!=null?`${n.split(`
|
|
8
8
|
`).join(`
|
|
9
|
-
${e}`)}`:r!=null?`${r}`:`${t.toString()}`}function
|
|
10
|
-
${e}${t.errors.map(n=>`${
|
|
9
|
+
${e}`)}`:r!=null?`${r}`:`${t.toString()}`}function Vf(t){return t instanceof AggregateError||t?.name==="AggregateError"&&Array.isArray(t.errors)}function Fs(t,e=""){if(Vf(t)){let r=Ts(t,e);return t.errors.length>0?(e=`${e} `,r+=`
|
|
10
|
+
${e}${t.errors.map(n=>`${Fs(n,`${e}`)}`).join(`
|
|
11
11
|
${e}`)}`):r+=`
|
|
12
|
-
${e}[Error list was empty]`,r.trim()}return Fs(t,e)}z.formatters.e=t=>t==null?"undefined":Bs(t);function Wf(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Mt(t){return{forComponent(e){return Us(e,t)}}}function Us(t,e){let r=Wf(`${t}:trace`);return z.enabled(`${t}:trace`)&&z.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=z(`${t}:trace`,e)),Object.assign(z(t,e),{error:z(`${t}:error`,e),trace:r,newScope:n=>Us(`${t}:${n}`,e)})}function ks(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var Gf=0,Kn=class extends Ne{local;remote;constructor(e){let r=`${Gf++}`;super({...e,id:r,log:Mt().forComponent(`libp2p:stream-pair:${e.direction}:${r}`)}),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",n=>{this.onData(n.data)}),this.remote.addEventListener("reset",n=>{this.onRemoteReset()}),this.remote.addEventListener("closeWrite",n=>{this.onRemoteCloseWrite()})}sendData(e){let r=this.local.send(new ie(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendCloseWrite(e){return M(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return M(new Promise((r,n)=>{this.local.send(new Event("closeRead")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}onRemotePaused(){this.local.pause()}onRemoteResumed(){this.local.resume()}onMuxerDrain(){this.local.resume()}};var Ns=Symbol.for("sindresorhus/unlimited-timeout#brand");function Ps(t,e,...r){if(typeof t!="function")throw new TypeError("Expected callback to be a function");e??=0,e=Number(e);let n=!1,o={[Ns]:!0,id:void 0,cleared:!1,ref(){return n=!1,o.id?.ref?.(),o},unref(){return n=!0,o.id?.unref?.(),o}};if(e===Number.POSITIVE_INFINITY||e>Number.MAX_SAFE_INTEGER)return o;(!Number.isFinite(e)||e<0)&&(e=0);let i=performance.now()+e,s=a=>{o.cleared||(a<=2147483647?(o.id=globalThis.setTimeout(()=>{o.cleared||t(...r)},a),n&&o.id?.unref?.()):(o.id=globalThis.setTimeout(()=>{let u=performance.now(),c=Math.max(0,i-u);s(c)},2147483647),n&&o.id?.unref?.()))};return s(e),o}function Ms(t){!t||typeof t!="object"||!t[Ns]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var Hf=new WeakMap;function Xf({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(o.reason);let i,s,a,u=t??clearTimeout,c=()=>{u(i),a(o.reason)},f=()=>{o&&o.removeEventListener("abort",c)},d=new Promise((h,g)=>{s=()=>{f(),h(n)},a=g,i=(e??setTimeout)(s,r)});return o&&o.addEventListener("abort",c,{once:!0}),Hf.set(d,()=>{u(i),i=null,s()}),d}}var Qf=Xf({setTimeout:Ps,clearTimeout:Ms}),Jn=Qf;var Kf=1024*64,Ot=class extends se{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new re({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??Kf,this.queue.addEventListener("idle",()=>{this.needsDrain?(this.log("network send queue drained"),this.needsDrain=!1,this.safeDispatchEvent("drain")):this.log("network send queue idle")})}send(e){if(Jf(e)){let r=new I(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let i=new ie(o);this.queue.add(async s=>{this.delay>0&&await M(Jn(this.delay),s.signal),this.dispatchEvent(s.evt)},{evt:i})}}else this.queue.add(async r=>{this.delay>0&&await M(Jn(this.delay),r.signal),this.dispatchEvent(r.evt)},{evt:e});return this.queue.size>=this.capacity?(this.log("network send queue full"),this.needsDrain=!0,!1):!0}pause(){this.queue.pause()}resume(){this.queue.resume()}onIdle(){return this.queue.onIdle()}size(){return this.queue.size}};function Jf(t){return t?.data instanceof Uint8Array||Qe(t?.data)}var Os=0,Fr=class extends Lt{local;remote;constructor(e){super(e),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",r=>{this.status==="open"&&this.onData(r.data)}),this.remote.addEventListener("reset",r=>{this.status==="open"&&this.onRemoteReset()}),this.remote.addEventListener("close",r=>{this.onTransportClosed()}),this.remote.addEventListener("pause",r=>{this.local.pause()}),this.remote.addEventListener("resume",r=>{this.local.resume()})}sendData(e){let r=this.local.send(new ie(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await T(this.local,"drain",{signal:e?.signal}),M(new Promise((r,n)=>{this.local.send(new Event("close")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}};function Yn(t={}){let e=`${Os++}`,r=`${Os++}`,n=Mt().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=Mt().forComponent(`libp2p:mock-maconn:inbound:${r}`),i=new Ot({...t,log:n}),s=new Ot({...t,log:o});return[new Fr({...t.outbound,id:r,direction:"outbound",local:i,remote:s,remoteAddr:t?.outbound?.remoteAddr??Ce(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new Fr({...t.inbound,id:e,direction:"inbound",local:s,remote:i,remoteAddr:t?.inbound?.remoteAddr??Ce(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var Zn=class extends re{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var eo=class extends re{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var to=class{memoryStorage;points;duration;blockDuration;keyPrefix;constructor(e={}){this.points=e.points??4,this.duration=e.duration??1,this.blockDuration=e.blockDuration??0,this.keyPrefix=e.keyPrefix??"rlflx",this.memoryStorage=new kr}consume(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);if(s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.consumedPoints>this.points)throw this.blockDuration>0&&s.consumedPoints<=this.points+r&&(s=this.memoryStorage.set(o,s.consumedPoints,this.blockDuration)),new vt("Rate limit exceeded",s);return s}penalty(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}reward(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,-r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}block(e,r){let n=r*1e3,o=this.points+1;return this.memoryStorage.set(this.getKey(e),o,r),{remainingPoints:0,msBeforeNext:n===0?-1:n,consumedPoints:o,isFirstInDuration:!1}}set(e,r,n=0){let o=(n>=0?n:this.duration)*1e3;return this.memoryStorage.set(this.getKey(e),r,n),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:r,isFirstInDuration:!1}}get(e){let r=this.memoryStorage.get(this.getKey(e));return r!=null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),r}delete(e){this.memoryStorage.delete(this.getKey(e))}_getKeySecDuration(e){return e?.customDuration!=null&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}},kr=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let i=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||i>0?(o.value+=r,{remainingPoints:0,msBeforeNext:i,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,i=this.storage.get(e);i!=null&&clearTimeout(i.timeoutId);let s={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,s),o>0&&(s.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),s.timeoutId.unref!=null&&s.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:s.value,isFirstInDuration:!0}}get(e){let r=this.storage.get(e);if(r!=null)return{remainingPoints:0,msBeforeNext:r.expiresAt!=null?r.expiresAt.getTime()-new Date().getTime():-1,consumedPoints:r.value,isFirstInDuration:!1}}delete(e){let r=this.storage.get(e);return r!=null?(r.timeoutId!=null&&clearTimeout(r.timeoutId),this.storage.delete(e),!0):!1}};function Yf(t,e,r){let n,o,i=!1;function s(){let c={signal:o.signal};if(r?.timeout!=null){let f=rr([o.signal,AbortSignal.timeout(r.timeout)]);c.signal=f}i=!0,Promise.resolve().then(async()=>{await t(c)}).catch(()=>{}).finally(()=>{i=!1,!o.signal.aborted&&(n=setTimeout(s,e))})}let a=Ze(s,r?.debounce??100),u=!1;return{setInterval:c=>{e!==c&&(e=c,n!=null&&(clearTimeout(n),n=setTimeout(s,e)))},setTimeout:c=>{r??={},r.timeout=c},run:()=>{i||(clearTimeout(n),a())},start:()=>{u||(u=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{s()}):n=setTimeout(s,e))},stop:()=>{clearTimeout(n),o?.abort(),u=!1}}}async function $s(t={}){let[e,r]=Yn({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=Ar({streamOptions:t.outbound}).createStreamMuxer(e),o=Ar({streamOptions:t.inbound}).createStreamMuxer(r),[i,s]=await Promise.all([T(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[s,i]}async function Zf(t={}){let[e,r]=await $s(t);return kn(r),e}function el(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var ro=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function tl(t){let{name:e,metrics:r}=t,n;return r!=null?n=new ro({name:e,metrics:r}):n=new Map,n}return Xs(rl);})();
|
|
12
|
+
${e}[Error list was empty]`,r.trim()}return Ts(t,e)}z.formatters.e=t=>t==null?"undefined":Fs(t);function qf(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Mt(t){return{forComponent(e){return ks(e,t)}}}function ks(t,e){let r=qf(`${t}:trace`);return z.enabled(`${t}:trace`)&&z.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=z(`${t}:trace`,e)),Object.assign(z(t,e),{error:z(`${t}:error`,e),trace:r,newScope:n=>ks(`${t}:${n}`,e)})}function Ds(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var jf=0,Qn=class extends Ne{local;remote;constructor(e){let r=`${jf++}`;super({...e,id:r,log:Mt().forComponent(`libp2p:stream-pair:${e.direction}:${r}`)}),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",n=>{this.onData(n.data)}),this.remote.addEventListener("reset",n=>{this.onRemoteReset()}),this.remote.addEventListener("closeWrite",n=>{this.onRemoteCloseWrite()})}sendData(e){let r=this.local.send(new ie(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendCloseWrite(e){return D(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return D(new Promise((r,n)=>{this.local.send(new Event("closeRead")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}onRemotePaused(){this.local.pause()}onRemoteResumed(){this.local.resume()}onMuxerDrain(){this.local.resume()}};var Bs=Symbol.for("sindresorhus/unlimited-timeout#brand");function Us(t,e,...r){if(typeof t!="function")throw new TypeError("Expected callback to be a function");e??=0,e=Number(e);let n=!1,o={[Bs]:!0,id:void 0,cleared:!1,ref(){return n=!1,o.id?.ref?.(),o},unref(){return n=!0,o.id?.unref?.(),o}};if(e===Number.POSITIVE_INFINITY||e>Number.MAX_SAFE_INTEGER)return o;(!Number.isFinite(e)||e<0)&&(e=0);let i=performance.now()+e,s=a=>{o.cleared||(a<=2147483647?(o.id=globalThis.setTimeout(()=>{o.cleared||t(...r)},a),n&&o.id?.unref?.()):(o.id=globalThis.setTimeout(()=>{let u=performance.now(),c=Math.max(0,i-u);s(c)},2147483647),n&&o.id?.unref?.()))};return s(e),o}function Ns(t){!t||typeof t!="object"||!t[Bs]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var Wf=new WeakMap;function Gf({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(o.reason);let i,s,a,u=t??clearTimeout,c=()=>{u(i),a(o.reason)},f=()=>{o&&o.removeEventListener("abort",c)},d=new Promise((h,g)=>{s=()=>{f(),h(n)},a=g,i=(e??setTimeout)(s,r)});return o&&o.addEventListener("abort",c,{once:!0}),Wf.set(d,()=>{u(i),i=null,s()}),d}}var Hf=Gf({setTimeout:Us,clearTimeout:Ns}),Kn=Hf;var Xf=1024*64,Ot=class extends se{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new re({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??Xf,this.queue.addEventListener("idle",()=>{this.needsDrain?(this.log("network send queue drained"),this.needsDrain=!1,this.safeDispatchEvent("drain")):this.log("network send queue idle")})}send(e){if(Qf(e)){let r=new I(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let i=new ie(o);this.queue.add(async s=>{this.delay>0&&await D(Kn(this.delay),s.signal),this.dispatchEvent(s.evt)},{evt:i})}}else this.queue.add(async r=>{this.delay>0&&await D(Kn(this.delay),r.signal),this.dispatchEvent(r.evt)},{evt:e});return this.queue.size>=this.capacity?(this.log("network send queue full"),this.needsDrain=!0,!1):!0}pause(){this.queue.pause()}resume(){this.queue.resume()}onIdle(){return this.queue.onIdle()}size(){return this.queue.size}};function Qf(t){return t?.data instanceof Uint8Array||Qe(t?.data)}var Ps=0,Dr=class extends Lt{local;remote;constructor(e){super(e),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",r=>{this.status==="open"&&this.onData(r.data)}),this.remote.addEventListener("reset",r=>{this.status==="open"&&this.onRemoteReset()}),this.remote.addEventListener("close",r=>{this.onTransportClosed()}),this.remote.addEventListener("pause",r=>{this.local.pause()}),this.remote.addEventListener("resume",r=>{this.local.resume()})}sendData(e){let r=this.local.send(new ie(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await T(this.local,"drain",{signal:e?.signal}),D(new Promise((r,n)=>{this.local.send(new Event("close")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}};function Jn(t={}){let e=`${Ps++}`,r=`${Ps++}`,n=Mt().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=Mt().forComponent(`libp2p:mock-maconn:inbound:${r}`),i=new Ot({...t,log:n}),s=new Ot({...t,log:o});return[new Dr({...t.outbound,id:r,direction:"outbound",local:i,remote:s,remoteAddr:t?.outbound?.remoteAddr??Ce(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new Dr({...t.inbound,id:e,direction:"inbound",local:s,remote:i,remoteAddr:t?.inbound?.remoteAddr??Ce(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var Yn=class extends re{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var Zn=class extends re{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var eo=class{memoryStorage;points;duration;blockDuration;keyPrefix;constructor(e={}){this.points=e.points??4,this.duration=e.duration??1,this.blockDuration=e.blockDuration??0,this.keyPrefix=e.keyPrefix??"rlflx",this.memoryStorage=new Fr}consume(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);if(s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.consumedPoints>this.points)throw this.blockDuration>0&&s.consumedPoints<=this.points+r&&(s=this.memoryStorage.set(o,s.consumedPoints,this.blockDuration)),new vt("Rate limit exceeded",s);return s}penalty(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}reward(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,-r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}block(e,r){let n=r*1e3,o=this.points+1;return this.memoryStorage.set(this.getKey(e),o,r),{remainingPoints:0,msBeforeNext:n===0?-1:n,consumedPoints:o,isFirstInDuration:!1}}set(e,r,n=0){let o=(n>=0?n:this.duration)*1e3;return this.memoryStorage.set(this.getKey(e),r,n),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:r,isFirstInDuration:!1}}get(e){let r=this.memoryStorage.get(this.getKey(e));return r!=null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),r}delete(e){this.memoryStorage.delete(this.getKey(e))}_getKeySecDuration(e){return e?.customDuration!=null&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}},Fr=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let i=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||i>0?(o.value+=r,{remainingPoints:0,msBeforeNext:i,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,i=this.storage.get(e);i!=null&&clearTimeout(i.timeoutId);let s={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,s),o>0&&(s.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),s.timeoutId.unref!=null&&s.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:s.value,isFirstInDuration:!0}}get(e){let r=this.storage.get(e);if(r!=null)return{remainingPoints:0,msBeforeNext:r.expiresAt!=null?r.expiresAt.getTime()-new Date().getTime():-1,consumedPoints:r.value,isFirstInDuration:!1}}delete(e){let r=this.storage.get(e);return r!=null?(r.timeoutId!=null&&clearTimeout(r.timeoutId),this.storage.delete(e),!0):!1}};function Kf(t,e,r){let n,o,i=!1;function s(){let c={signal:o.signal};if(r?.timeout!=null){let f=rr([o.signal,AbortSignal.timeout(r.timeout)]);c.signal=f}i=!0,Promise.resolve().then(async()=>{await t(c)}).catch(()=>{}).finally(()=>{i=!1,!o.signal.aborted&&(n=setTimeout(s,e))})}let a=Ze(s,r?.debounce??100),u=!1;return{setInterval:c=>{e!==c&&(e=c,n!=null&&(clearTimeout(n),n=setTimeout(s,e)))},setTimeout:c=>{r??={},r.timeout=c},run:()=>{i||(clearTimeout(n),a())},start:()=>{u||(u=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{s()}):n=setTimeout(s,e))},stop:()=>{clearTimeout(n),o?.abort(),u=!1}}}async function Ms(t={}){let[e,r]=Jn({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=Ir({streamOptions:t.outbound}).createStreamMuxer(e),o=Ir({streamOptions:t.inbound}).createStreamMuxer(r),[i,s]=await Promise.all([T(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[s,i]}async function Jf(t={}){let[e,r]=await Ms(t);return Fn(r),e}function Yf(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var to=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Zf(t){let{name:e,metrics:r}=t,n;return r!=null?n=new to({name:e,metrics:r}):n=new Map,n}return Gs(el);})();
|
|
13
13
|
/*! Bundled license information:
|
|
14
14
|
|
|
15
15
|
@noble/hashes/utils.js:
|