@libp2p/websockets 7.0.12 → 7.0.13-c960eb659

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PWebsockets = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PWebsockets=(()=>{var Sn=Object.create;var Pe=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var In=Object.getOwnPropertyNames;var Pn=Object.getPrototypeOf,Fn=Object.prototype.hasOwnProperty;var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),U=(e,t)=>{for(var r in t)Pe(e,r,{get:t[r],enumerable:!0})},Bt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of In(t))!Fn.call(e,o)&&o!==r&&Pe(e,o,{get:()=>t[o],enumerable:!(n=An(t,o))||n.enumerable});return e};var Fe=(e,t,r)=>(r=e!=null?Sn(Pn(e)):{},Bt(t||!e||!e.__esModule?Pe(r,"default",{value:e,enumerable:!0}):r,e)),Tn=e=>Bt(Pe({},"__esModule",{value:!0}),e);var _t=z((Zs,Vt)=>{var re=1e3,ne=re*60,oe=ne*60,J=oe*24,Un=J*7,Ln=J*365.25;Vt.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return Nn(e);if(r==="number"&&isFinite(e))return t.long?Dn(e):On(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Nn(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Ln;case"weeks":case"week":case"w":return r*Un;case"days":case"day":case"d":return r*J;case"hours":case"hour":case"hrs":case"hr":case"h":return r*oe;case"minutes":case"minute":case"mins":case"min":case"m":return r*ne;case"seconds":case"second":case"secs":case"sec":case"s":return r*re;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function On(e){var t=Math.abs(e);return t>=J?Math.round(e/J)+"d":t>=oe?Math.round(e/oe)+"h":t>=ne?Math.round(e/ne)+"m":t>=re?Math.round(e/re)+"s":e+"ms"}function Dn(e){var t=Math.abs(e);return t>=J?Te(e,t,J,"day"):t>=oe?Te(e,t,oe,"hour"):t>=ne?Te(e,t,ne,"minute"):t>=re?Te(e,t,re,"second"):e+" ms"}function Te(e,t,r,n){var o=t>=r*1.5;return Math.round(e/r)+" "+n+(o?"s":"")}});var jt=z((Ys,qt)=>{function kn(e){r.debug=r,r.default=r,r.coerce=p,r.disable=s,r.enable=o,r.enabled=i,r.humanize=_t(),r.destroy=w,Object.keys(e).forEach(c=>{r[c]=e[c]}),r.names=[],r.skips=[],r.formatters={};function t(c){let l=0;for(let f=0;f<c.length;f++)l=(l<<5)-l+c.charCodeAt(f),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(c){let l,f=null,C,m;function b(...v){if(!b.enabled)return;let E=b,P=Number(new Date),D=P-(l||P);E.diff=D,E.prev=l,E.curr=P,l=P,v[0]=r.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let S=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(k,T)=>{if(k==="%%")return"%";S++;let $=r.formatters[T];if(typeof $=="function"){let te=v[S];k=$.call(E,te),v.splice(S,1),S--}return k}),r.formatArgs.call(E,v),(E.log||r.log).apply(E,v)}return b.namespace=c,b.useColors=r.useColors(),b.color=r.selectColor(c),b.extend=n,b.destroy=r.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(C!==r.namespaces&&(C=r.namespaces,m=r.enabled(c)),m),set:v=>{f=v}}),typeof r.init=="function"&&r.init(b),b}function n(c,l){let f=r(this.namespace+(typeof l>"u"?":":l)+c);return f.log=this.log,f}function o(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let l,f=(typeof c=="string"?c:"").split(/[\s,]+/),C=f.length;for(l=0;l<C;l++)f[l]&&(c=f[l].replace(/\*/g,".*?"),c[0]==="-"?r.skips.push(new RegExp("^"+c.slice(1)+"$")):r.names.push(new RegExp("^"+c+"$")))}function s(){let c=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),c}function i(c){if(c[c.length-1]==="*")return!0;let l,f;for(l=0,f=r.skips.length;l<f;l++)if(r.skips[l].test(c))return!1;for(l=0,f=r.names.length;l<f;l++)if(r.names[l].test(c))return!0;return!1}function a(c){return c.toString().substring(2,c.toString().length-2).replace(/\.\*\?$/,"*")}function p(c){return c instanceof Error?c.stack||c.message:c}function w(){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.enable(r.load()),r}qt.exports=kn});var Qt=z((L,Ue)=>{L.formatArgs=Rn;L.save=Mn;L.load=Bn;L.useColors=$n;L.storage=zn();L.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();L.colors=["#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 $n(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Rn(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Ue.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),e.splice(n,0,t)}L.log=console.debug||console.log||(()=>{});function Mn(e){try{e?L.storage.setItem("debug",e):L.storage.removeItem("debug")}catch{}}function Bn(){let e;try{e=L.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function zn(){try{return localStorage}catch{}}Ue.exports=jt()(L);var{formatters:Wn}=Ue.exports;Wn.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Mr=z(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});var Ft=class{constructor(){this.pullQueue=[],this.pushQueue=[],this.eventHandlers={},this.isPaused=!1,this.isStopped=!1}push(t){if(this.isStopped)return;let r={value:t,done:!1};if(this.pullQueue.length){let n=this.pullQueue.shift();n&&n.resolve(r)}else this.pushQueue.push(Promise.resolve(r)),this.highWaterMark!==void 0&&this.pushQueue.length>=this.highWaterMark&&!this.isPaused&&(this.isPaused=!0,this.eventHandlers.highWater?this.eventHandlers.highWater():console&&console.warn(`EventIterator queue reached ${this.pushQueue.length} items`))}stop(){if(!this.isStopped){this.isStopped=!0,this.remove();for(let t of this.pullQueue)t.resolve({value:void 0,done:!0});this.pullQueue.length=0}}fail(t){if(!this.isStopped)if(this.isStopped=!0,this.remove(),this.pullQueue.length){for(let r of this.pullQueue)r.reject(t);this.pullQueue.length=0}else{let r=Promise.reject(t);r.catch(()=>{}),this.pushQueue.push(r)}}remove(){Promise.resolve().then(()=>{this.removeCallback&&this.removeCallback()})}[Symbol.asyncIterator](){return{next:t=>{let r=this.pushQueue.shift();return r?(this.lowWaterMark!==void 0&&this.pushQueue.length<=this.lowWaterMark&&this.isPaused&&(this.isPaused=!1,this.eventHandlers.lowWater&&this.eventHandlers.lowWater()),r):this.isStopped?Promise.resolve({value:void 0,done:!0}):new Promise((n,o)=>{this.pullQueue.push({resolve:n,reject:o})})},return:()=>(this.isStopped=!0,this.pushQueue.length=0,this.remove(),Promise.resolve({value:void 0,done:!0}))}}},Be=class{constructor(t,{highWaterMark:r=100,lowWaterMark:n=1}={}){let o=new Ft;o.highWaterMark=r,o.lowWaterMark=n,o.removeCallback=t({push:s=>o.push(s),stop:()=>o.stop(),fail:s=>o.fail(s),on:(s,i)=>{o.eventHandlers[s]=i}})||(()=>{}),this[Symbol.asyncIterator]=()=>o[Symbol.asyncIterator](),Object.freeze(this)}};ze.EventIterator=Be;ze.default=Be});var Br=z(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var Tt=Mr();Se.EventIterator=Tt.EventIterator;function Ss(e,t,r){return new Tt.EventIterator(({push:n})=>(this.addEventListener(e,n,t),()=>this.removeEventListener(e,n,t)),r)}Se.subscribe=Ss;Se.default=Tt.EventIterator});var Lt=z((Dc,Qr)=>{"use strict";var As=typeof navigator<"u"&&navigator.product==="ReactNative";function Is(){return As?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var Ae=self.URL,jr=Is(),Ut=class{constructor(t="",r=jr){this.super=new Ae(t,r),this.path=this.pathname+this.search,this.auth=this.username&&this.password?this.username+":"+this.password:null,this.query=this.search&&this.search.startsWith("?")?this.search.slice(1):null}get hash(){return this.super.hash}get host(){return this.super.host}get hostname(){return this.super.hostname}get href(){return this.super.href}get origin(){return this.super.origin}get password(){return this.super.password}get pathname(){return this.super.pathname}get port(){return this.super.port}get protocol(){return this.super.protocol}get search(){return this.super.search}get searchParams(){return this.super.searchParams}get username(){return this.super.username}set hash(t){this.super.hash=t}set host(t){this.super.host=t}set hostname(t){this.super.hostname=t}set href(t){this.super.href=t}set password(t){this.super.password=t}set pathname(t){this.super.pathname=t}set port(t){this.super.port=t}set protocol(t){this.super.protocol=t}set search(t){this.super.search=t}set username(t){this.super.username=t}static createObjectURL(t){return Ae.createObjectURL(t)}static revokeObjectURL(t){Ae.revokeObjectURL(t)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function Ps(e){if(typeof e=="string")return new Ae(e).toString();if(!(e instanceof Ae)){let t=e.username&&e.password?`${e.username}:${e.password}@`:"",r=e.auth?e.auth+"@":"",n=e.port?":"+e.port:"",o=e.protocol?e.protocol+"//":"",s=e.host||"",i=e.hostname||"",a=e.search||(e.query?"?"+e.query:""),p=e.hash||"",w=e.pathname||"",c=e.path||w+a;return`${o}${t||r}${s||i+n}${c}${p}`}}Qr.exports={URLWithLegacySupport:Ut,URLSearchParams:self.URLSearchParams,defaultBase:jr,format:Ps}});var Jr=z((kc,Gr)=>{"use strict";var{URLWithLegacySupport:Hr,format:Fs}=Lt();Gr.exports=(e,t={},r={},n)=>{let o=t.protocol?t.protocol.replace(":",""):"http";o=(r[o]||n||o)+":";let s;try{s=new Hr(e)}catch{s={}}let i=Object.assign({},t,{protocol:o||s.protocol,host:t.host||s.host});return new Hr(e,Fs(i)).toString()}});var Kr=z(($c,Xr)=>{"use strict";var{URLWithLegacySupport:Ts,format:Us,URLSearchParams:Ls,defaultBase:Ns}=Lt(),Os=Jr();Xr.exports={URL:Ts,URLSearchParams:Ls,format:Us,relative:Os,defaultBase:Ns}});var rn=z((_c,tn)=>{function $s(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}tn.exports=$s});var Gs={};U(Gs,{webSockets:()=>Hs});var be=class e extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=e.code,this.type=e.type}static code="ABORT_ERR";static type="aborted"},_=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Wt=Symbol.for("@libp2p/transport");var zt;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(zt||(zt={}));var N=Fe(Qt(),1);var Ge={};U(Ge,{base32:()=>M,base32hex:()=>Xn,base32hexpad:()=>Zn,base32hexpadupper:()=>Yn,base32hexupper:()=>Kn,base32pad:()=>Gn,base32padupper:()=>Jn,base32upper:()=>Hn,base32z:()=>eo});function Vn(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var s=e.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=e.length,p=e.charAt(0),w=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function l(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var b=0,v=0,E=0,P=m.length;E!==P&&m[E]===0;)E++,b++;for(var D=(P-E)*c+1>>>0,S=new Uint8Array(D);E!==P;){for(var R=m[E],k=0,T=D-1;(R!==0||k<v)&&T!==-1;T--,k++)R+=256*S[T]>>>0,S[T]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");v=k,E++}for(var $=D-v;$!==D&&S[$]===0;)$++;for(var te=p.repeat(b);$<D;++$)te+=e.charAt(S[$]);return te}function f(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var b=0;if(m[b]!==" "){for(var v=0,E=0;m[b]===p;)v++,b++;for(var P=(m.length-b)*w+1>>>0,D=new Uint8Array(P);m[b];){var S=r[m.charCodeAt(b)];if(S===255)return;for(var R=0,k=P-1;(S!==0||R<E)&&k!==-1;k--,R++)S+=a*D[k]>>>0,D[k]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");E=R,b++}if(m[b]!==" "){for(var T=P-E;T!==P&&D[T]===0;)T++;for(var $=new Uint8Array(v+(P-T)),te=v;T!==P;)$[te++]=D[T++];return $}}}function C(m){var b=f(m);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:f,decode:C}}var _n=Vn,qn=_n,Ht=qn;var ti=new Uint8Array(0);var Gt=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},W=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Jt=e=>new TextEncoder().encode(e),Xt=e=>new TextDecoder().decode(e);var qe=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},je=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Zt(this,t)}},Qe=class{constructor(t){this.decoders=t}or(t){return Zt(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Zt=(e,t)=>new Qe({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),He=class{constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new qe(t,r,n),this.decoder=new je(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},se=({name:e,prefix:t,encode:r,decode:n})=>new He(e,t,r,n),q=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:o}=Ht(r,t);return se({prefix:e,name:t,encode:n,decode:s=>W(o(s))})},jn=(e,t,r,n)=>{let o={};for(let c=0;c<t.length;++c)o[t[c]]=c;let s=e.length;for(;e[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,p=0,w=0;for(let c=0;c<s;++c){let l=o[e[c]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);p=p<<r|l,a+=r,a>=8&&(a-=8,i[w++]=255&p>>a)}if(a>=r||255&p<<8-a)throw new SyntaxError("Unexpected end of data");return i},Qn=(e,t,r)=>{let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let p=0;p<e.length;++p)for(a=a<<8|e[p],i+=8;i>r;)i-=r,s+=t[o&a>>i];if(i&&(s+=t[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},x=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>se({prefix:t,name:e,encode(o){return Qn(o,n,r)},decode(o){return jn(o,n,r,e)}});var M=x({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Hn=x({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Gn=x({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jn=x({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xn=x({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kn=x({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zn=x({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Yn=x({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),eo=x({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Je={};U(Je,{base58btc:()=>A,base58flickr:()=>to});var A=q({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),to=q({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ke={};U(Ke,{base64:()=>Xe,base64pad:()=>ro,base64url:()=>no,base64urlpad:()=>oo});var Xe=x({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ro=x({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),no=x({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),oo=x({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});N.default.formatters.b=e=>e==null?"undefined":A.baseEncode(e);N.default.formatters.t=e=>e==null?"undefined":M.baseEncode(e);N.default.formatters.m=e=>e==null?"undefined":Xe.baseEncode(e);N.default.formatters.p=e=>e==null?"undefined":e.toString();N.default.formatters.c=e=>e==null?"undefined":e.toString();N.default.formatters.k=e=>e==null?"undefined":e.toString();N.default.formatters.a=e=>e==null?"undefined":e.toString();function so(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function Le(e){let t=so(`${e}:trace`);return N.default.enabled(`${e}:trace`)&&N.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,N.default)(`${e}:trace`)),Object.assign((0,N.default)(e),{error:(0,N.default)(`${e}:error`),trace:t})}var io=tr,Yt=128,ao=127,co=~ao,uo=Math.pow(2,31);function tr(e,t,r){t=t||[],r=r||0;for(var n=r;e>=uo;)t[r++]=e&255|Yt,e/=128;for(;e&co;)t[r++]=e&255|Yt,e>>>=7;return t[r]=e|0,tr.bytes=r-n+1,t}var lo=Ze,po=128,er=127;function Ze(e,n){var r=0,n=n||0,o=0,s=n,i,a=e.length;do{if(s>=a)throw Ze.bytes=0,new RangeError("Could not decode varint");i=e[s++],r+=o<28?(i&er)<<o:(i&er)*Math.pow(2,o),o+=7}while(i>=po);return Ze.bytes=s-n,r}var fo=Math.pow(2,7),ho=Math.pow(2,14),mo=Math.pow(2,21),wo=Math.pow(2,28),go=Math.pow(2,35),bo=Math.pow(2,42),xo=Math.pow(2,49),yo=Math.pow(2,56),vo=Math.pow(2,63),Co=function(e){return e<fo?1:e<ho?2:e<mo?3:e<wo?4:e<go?5:e<bo?6:e<xo?7:e<yo?8:e<vo?9:10},Eo={encode:io,decode:lo,encodingLength:Co},So=Eo,xe=So;var ye=(e,t=0)=>[xe.decode(e,t),xe.decode.bytes],ie=(e,t,r=0)=>(xe.encode(e,t,r),t),ae=e=>xe.encodingLength(e);var X=(e,t)=>{let r=t.byteLength,n=ae(e),o=n+ae(r),s=new Uint8Array(o+r);return ie(e,s,0),ie(r,s,n),s.set(t,o),new ce(e,r,t,s)},Oe=e=>{let t=W(e),[r,n]=ye(t),[o,s]=ye(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ce(r,o,i,t)},rr=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Gt(e.bytes,r.bytes)}},ce=class{constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var nr=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Io(r,Ye(e),t||A.encoder);default:return Po(r,Ye(e),t||M.encoder)}};var or=new WeakMap,Ye=e=>{let t=or.get(e);if(t==null){let r=new Map;return or.set(e,r),r}return t},j=class e{constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==ve)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Fo)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=X(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&rr(t.multihash,n.multihash)}toString(t){return nr(this,t)}toJSON(){return{"/":nr(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new e(n,o,s,i||sr(n,o,s.bytes))}else if(r[To]===!0){let{version:n,multihash:o,code:s}=r,i=Oe(o);return e.create(n,s,i)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==ve)throw new Error(`Version 0 CID must use dag-pb (code: ${ve}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=sr(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,ve,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=W(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ce(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(i):e.createV1(r.codec,i),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,f]=ye(t.subarray(r));return r+=f,l},o=n(),s=ve;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),p=n(),w=r+p,c=w-i;return{version:o,codec:s,multihashCode:a,digestSize:p,multihashSize:c,size:w}}static parse(t,r){let[n,o]=Ao(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ye(s).set(n,t),s}},Ao=(e,t)=>{switch(e[0]){case"Q":{let r=t||A;return[A.prefix,r.decode(`${A.prefix}${e}`)]}case A.prefix:{let r=t||A;return[A.prefix,r.decode(e)]}case M.prefix:{let r=t||M;return[M.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Io=(e,t,r)=>{let{prefix:n}=r;if(n!==A.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o},Po=(e,t,r)=>{let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o},ve=112,Fo=18,sr=(e,t,r)=>{let n=ae(e),o=n+ae(t),s=new Uint8Array(o+r.byteLength);return ie(e,s,0),ie(t,s,n),s.set(r,o),s},To=Symbol.for("@ipld/js-cid/CID");function ir(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var et={};U(et,{base10:()=>Uo});var Uo=q({prefix:"9",name:"base10",alphabet:"0123456789"});var tt={};U(tt,{base16:()=>Lo,base16upper:()=>No});var Lo=x({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),No=x({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var rt={};U(rt,{base2:()=>Oo});var Oo=x({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var nt={};U(nt,{base256emoji:()=>Mo});var ar=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}"),Do=ar.reduce((e,t,r)=>(e[r]=t,e),[]),ko=ar.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function $o(e){return e.reduce((t,r)=>(t+=Do[r],t),"")}function Ro(e){let t=[];for(let r of e){let n=ko[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Mo=se({prefix:"\u{1F680}",name:"base256emoji",encode:$o,decode:Ro});var ot={};U(ot,{base36:()=>Bo,base36upper:()=>zo});var Bo=q({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),zo=q({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var st={};U(st,{base8:()=>Wo});var Wo=x({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var it={};U(it,{identity:()=>Vo});var Vo=se({prefix:"\0",name:"identity",encode:e=>Xt(e),decode:e=>Jt(e)});var Ti=new TextEncoder,Ui=new TextDecoder;var at={};U(at,{identity:()=>Ho});var cr=0,jo="identity",ur=W,Qo=e=>X(cr,ur(e)),Ho={code:cr,name:jo,encode:ur,digest:Qo};var lt={};U(lt,{sha256:()=>Go,sha512:()=>Jo});var ut=({name:e,code:t,encode:r})=>new ct(e,t,r),ct=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?X(this.code,r):r.then(n=>X(this.code,n))}else throw Error("Unknown type, must be binary type")}};var dr=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Go=ut({name:"sha2-256",code:18,encode:dr("SHA-256")}),Jo=ut({name:"sha2-512",code:19,encode:dr("SHA-512")});var Ce={...it,...rt,...st,...et,...tt,...Ge,...ot,...Je,...Ke,...nt},Mi={...lt,...at};function le(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function de(e=0){return globalThis.Buffer?.allocUnsafe!=null?le(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function fr(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var pr=fr("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),dt=fr("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=de(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Xo={utf8:pr,"utf-8":pr,hex:Ce.base16,latin1:dt,ascii:dt,binary:dt,...Ce},De=Xo;function F(e,t="utf8"){let r=De[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Ko=Math.pow(2,7),Zo=Math.pow(2,14),Yo=Math.pow(2,21),pt=Math.pow(2,28),ft=Math.pow(2,35),ht=Math.pow(2,42),mt=Math.pow(2,49),g=128,I=127;function B(e){if(e<Ko)return 1;if(e<Zo)return 2;if(e<Yo)return 3;if(e<pt)return 4;if(e<ft)return 5;if(e<ht)return 6;if(e<mt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function es(e,t,r=0){switch(B(e)){case 8:t[r++]=e&255|g,e/=128;case 7:t[r++]=e&255|g,e/=128;case 6:t[r++]=e&255|g,e/=128;case 5:t[r++]=e&255|g,e/=128;case 4:t[r++]=e&255|g,e>>>=7;case 3:t[r++]=e&255|g,e>>>=7;case 2:t[r++]=e&255|g,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function ts(e,t,r=0){switch(B(e)){case 8:t.set(r++,e&255|g),e/=128;case 7:t.set(r++,e&255|g),e/=128;case 6:t.set(r++,e&255|g),e/=128;case 5:t.set(r++,e&255|g),e/=128;case 4:t.set(r++,e&255|g),e>>>=7;case 3:t.set(r++,e&255|g),e>>>=7;case 2:t.set(r++,e&255|g),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function rs(e,t){let r=e[t],n=0;if(n+=r&I,r<g||(r=e[t+1],n+=(r&I)<<7,r<g)||(r=e[t+2],n+=(r&I)<<14,r<g)||(r=e[t+3],n+=(r&I)<<21,r<g)||(r=e[t+4],n+=(r&I)*pt,r<g)||(r=e[t+5],n+=(r&I)*ft,r<g)||(r=e[t+6],n+=(r&I)*ht,r<g)||(r=e[t+7],n+=(r&I)*mt,r<g))return n;throw new RangeError("Could not decode varint")}function ns(e,t){let r=e.get(t),n=0;if(n+=r&I,r<g||(r=e.get(t+1),n+=(r&I)<<7,r<g)||(r=e.get(t+2),n+=(r&I)<<14,r<g)||(r=e.get(t+3),n+=(r&I)<<21,r<g)||(r=e.get(t+4),n+=(r&I)*pt,r<g)||(r=e.get(t+5),n+=(r&I)*ft,r<g)||(r=e.get(t+6),n+=(r&I)*ht,r<g)||(r=e.get(t+7),n+=(r&I)*mt,r<g))return n;throw new RangeError("Could not decode varint")}function pe(e,t,r=0){return t==null&&(t=de(B(e))),t instanceof Uint8Array?es(e,t,r):ts(e,t,r)}function K(e,t=0){return e instanceof Uint8Array?rs(e,t):ns(e,t)}function V(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=de(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return le(r)}var ke=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let p=a==="0",w=2**(8*o)-1;for(;;){let c=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let f=Number.parseInt(l,t);if(!Number.isNaN(f))return f});if(c===void 0)break;if(s*=t,s+=c,s>w||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&p&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var mr=45,os=15,fe=new ke;function wt(e){if(!(e.length>os))return fe.new(e).parseWith(()=>fe.readIPv4Addr())}function gt(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>mr))return fe.new(e).parseWith(()=>fe.readIPv6Addr())}function $e(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>mr))return fe.new(e).parseWith(()=>fe.readIPAddr())}var aa=parseInt("0xFFFF",16),ca=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ee(e,t="utf8"){let r=De[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?le(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function br(e){return!!wt(e)}function xr(e){return!!gt(e)}function Re(e){return!!$e(e)}var yr=br,us=xr,bt=function(e){let t=0;if(e=e.toString().trim(),yr(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(us(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=yr(r[n]),i;s&&(i=bt(r[n]),r[n]=F(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,F(i.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},vr=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let o=[];for(let s=0;s<r;s++)o.push(e[t+s]);return o.join(".")}if(r===16){let o=[];for(let s=0;s<r;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var he={},xt={},ds=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];ds.forEach(e=>{let t=ps(...e);xt[t.code]=t,he[t.name]=t});function ps(e,t,r,n,o){return{code:e,size:t,name:r,resolvable:!!n,path:!!o}}function h(e){if(typeof e=="number"){if(xt[e]!=null)return xt[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(he[e]!=null)return he[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ga=h("ip4"),Ja=h("ip6"),Xa=h("ipcidr");function vt(e,t){switch(h(e).code){case 4:case 41:return hs(t);case 42:return Sr(t);case 6:case 273:case 33:case 132:return Ir(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Sr(t);case 421:return bs(t);case 444:return Ar(t);case 445:return Ar(t);case 466:return gs(t);default:return F(t,"base16")}}function Ct(e,t){switch(h(e).code){case 4:return Cr(t);case 41:return Cr(t);case 42:return Er(t);case 6:case 273:case 33:case 132:return Et(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Er(t);case 421:return ms(t);case 444:return xs(t);case 445:return ys(t);case 466:return ws(t);default:return Ee(t,"base16")}}var yt=Object.values(Ce).map(e=>e.decoder),fs=function(){let e=yt[0].or(yt[1]);return yt.slice(2).forEach(t=>e=e.or(t)),e}();function Cr(e){if(!Re(e))throw new Error("invalid ip address");return bt(e)}function hs(e){let t=vr(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!Re(t))throw new Error("invalid ip address");return t}function Et(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Ir(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Er(e){let t=Ee(e),r=Uint8Array.from(pe(t.length));return V([r,t],r.length+t.length)}function Sr(e){let t=K(e);if(e=e.slice(B(t)),e.length!==t)throw new Error("inconsistent lengths");return F(e)}function ms(e){let t;e[0]==="Q"||e[0]==="1"?t=Oe(A.decode(`z${e}`)).bytes:t=j.parse(e).multihash.bytes;let r=Uint8Array.from(pe(t.length));return V([r,t],r.length+t.length)}function ws(e){let t=fs.decode(e),r=Uint8Array.from(pe(t.length));return V([r,t],r.length+t.length)}function gs(e){let t=K(e),r=e.slice(B(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+F(r,"base64url")}function bs(e){let t=K(e),r=e.slice(B(t));if(r.length!==t)throw new Error("inconsistent lengths");return F(r,"base58btc")}function xs(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=M.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Et(n);return V([r,o],r.length+o.length)}function ys(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=M.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Et(n);return V([r,o],r.length+o.length)}function Ar(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=F(t,"base32"),o=Ir(r);return`${n}:${o}`}function Pr(e){e=St(e);let t=[],r=[],n=null,o=e.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=h(i);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(s++,s>=o.length)throw Tr("invalid address: "+e);if(a.path===!0){n=St(o.slice(s).join("/")),t.push([a.code,Ct(a.code,n)]),r.push([a.code,n]);break}let p=Ct(a.code,o[s]);t.push([a.code,p]),r.push([a.code,vt(a.code,p)])}return{string:Fr(r),bytes:It(t),tuples:t,stringTuples:r,path:n}}function At(e){let t=[],r=[],n=null,o=0;for(;o<e.length;){let s=K(e,o),i=B(s),a=h(s),p=vs(a,e.slice(o+i));if(p===0){t.push([s]),r.push([s]),o+=i;continue}let w=e.slice(o+i,o+i+p);if(o+=p+i,o>e.length)throw Tr("Invalid address Uint8Array: "+F(e,"base16"));t.push([s,w]);let c=vt(s,w);if(r.push([s,c]),a.path===!0){n=c;break}}return{bytes:Uint8Array.from(e),string:Fr(r),tuples:t,stringTuples:r,path:n}}function Fr(e){let t=[];return e.map(r=>{let n=h(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),St(t.join("/"))}function It(e){return V(e.map(t=>{let r=h(t[0]),n=Uint8Array.from(pe(r.code));return t.length>1&&t[1]!=null&&(n=V([n,t[1]])),n}))}function vs(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=K(t instanceof Uint8Array?t:Uint8Array.from(t));return r+B(r)}}function St(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Tr(e){return new Error("Error parsing address: "+e)}var Cs=Symbol.for("nodejs.util.inspect.custom"),Pt=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Es=[h("dns").code,h("dns4").code,h("dns6").code,h("dnsaddr").code],Me=class e{bytes;#t;#e;#r;#n;[Pt]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=At(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Pr(t)}else if(Lr(t))r=At(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,o,s="",i=h("tcp"),a=h("udp"),p=h("ip4"),w=h("ip6"),c=h("dns6"),l=h("ip6zone");for(let[C,m]of this.stringTuples())C===l.code&&(s=`%${m??""}`),Es.includes(C)&&(r=i.name,o=443,n=`${m??""}${s}`,t=C===c.code?6:4),(C===i.code||C===a.code)&&(r=h(C).name,o=parseInt(m??"")),(C===p.code||C===w.code)&&(r=h(C).name,n=`${m??""}${s}`,t=C===w.code?6:4);if(t==null||r==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},h(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>h(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,o))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(It(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===he.p2p.code&&t.push([n,o]),n===he["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?F(A.decode(`z${n}`),"base58btc"):F(j.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return ir(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Ur.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new e(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Cs](){return`Multiaddr(${this.#t})`}};var Ur=new Map;function Lr(e){return!!e?.[Pt]}function me(e){return new Me(e)}function Nr(e){let t;try{t=h("sni").code}catch{return null}for(let[r,n]of e)if(r===t&&n!==void 0)return n;return null}function Or(e){return e.some(([t,r])=>t===h("tls").code)}function O(e,t,r){let n=Dr[h(e).name];if(n===void 0)throw new Error(`Can't interpret protocol ${h(e).name}`);let o=n(t,r);return e===h("ip6").code?`[${o}]`:o}var Dr={ip4:(e,t)=>e,ip6:(e,t)=>t.length===0?e:`[${e}]`,tcp:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${O(r[0],r[1]??"",t)}:${e}`},udp:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${O(r[0],r[1]??"",t)}:${e}`},dnsaddr:(e,t)=>e,dns4:(e,t)=>e,dns6:(e,t)=>e,dns:(e,t)=>e,ipfs:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/ipfs/${e}`},p2p:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p/${e}`},http:(e,t)=>{let r=Or(t),n=Nr(t);if(r&&n!==null)return`https://${n}`;let o=r?"https://":"http://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=O(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},tls:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return O(r[0],r[1]??"",t)},sni:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return O(r[0],r[1]??"",t)},https:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=O(r[0],r[1]??"",t);return n=n.replace("tcp://",""),`https://${n}`},ws:(e,t)=>{let r=Or(t),n=Nr(t);if(r&&n!==null)return`wss://${n}`;let o=r?"wss://":"ws://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=O(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},wss:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=O(r[0],r[1]??"",t);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p-websocket-star`},"p2p-webrtc-star":(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p-webrtc-star`},"p2p-webrtc-direct":(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p-webrtc-direct`}};function kr(e,t){let n=me(e).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=h(o[0]),i=Dr[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let a=i(o[1]??"",n);return t?.assumeHttp!==!1&&o[0]===h("tcp").code&&(a=a.replace("tcp://","http://"),(o[1]==="443"||o[1]==="80")&&(o[1]==="443"&&(a=a.replace("http://","https://")),a=a.substring(0,a.lastIndexOf(":")))),a}var $r=async e=>{if(e.readyState>=2)throw new Error("socket closed");e.readyState!==1&&await new Promise((t,r)=>{function n(){e.removeEventListener("open",o),e.removeEventListener("error",s)}function o(){n(),t()}function s(i){n(),r(i.error??new Error(`connect ECONNREFUSED ${e.url}`))}e.addEventListener("open",o),e.addEventListener("error",s)})};var Rr=(e,t)=>(t=t??{},t.closeOnEnd=t.closeOnEnd!==!1,async n=>{for await(let o of n){try{await $r(e)}catch(s){if(s.message==="socket closed")break;throw s}if(e.readyState===e.CLOSING||e.readyState===e.CLOSED)break;e.send(o)}t.closeOnEnd!=null&&e.readyState<=1&&await new Promise((o,s)=>{e.addEventListener("close",i=>{if(i.wasClean||i.code===1006)o();else{let a=Object.assign(new Error("ws error"),{event:i});s(a)}}),setTimeout(()=>{e.close()})})});var Wr=Fe(Br(),1);function zr(e){return e instanceof ArrayBuffer||e?.constructor?.name==="ArrayBuffer"&&typeof e?.byteLength=="number"}var Vr=e=>{e.binaryType="arraybuffer";let t=async()=>{await new Promise((s,i)=>{if(n){s();return}if(o!=null){i(o);return}let a=c=>{e.removeEventListener("open",p),e.removeEventListener("error",w),c()},p=()=>{a(s)},w=c=>{a(()=>{i(c.error??new Error(`connect ECONNREFUSED ${e.url}`))})};e.addEventListener("open",p),e.addEventListener("error",w)})},r=async function*(){let s=new Wr.EventIterator(({push:i,stop:a,fail:p})=>{let w=l=>{let f=null;typeof l.data=="string"&&(f=Ee(l.data)),zr(l.data)&&(f=new Uint8Array(l.data)),l.data instanceof Uint8Array&&(f=l.data),f!=null&&i(f)},c=l=>{p(l.error??new Error("Socket error"))};return e.addEventListener("message",w),e.addEventListener("error",c),e.addEventListener("close",a),()=>{e.removeEventListener("message",w),e.removeEventListener("error",c),e.removeEventListener("close",a)}},{highWaterMark:1/0});await t();for await(let i of s)yield zr(i)?new Uint8Array(i):i}(),n=e.readyState===1,o;return e.addEventListener("open",()=>{n=!0,o=null}),e.addEventListener("close",()=>{n=!1,o=null}),e.addEventListener("error",s=>{n||(o=s.error??new Error(`connect ECONNREFUSED ${e.url}`))}),Object.assign(r,{connected:t})};var _r=(e,t)=>{t=t??{};let r=Vr(e),n=t.remoteAddress,o=t.remotePort;if(e.url!=null)try{let i=new URL(e.url);n=i.hostname,o=parseInt(i.port,10)}catch{}if(n==null||o==null)throw new Error("Remote connection did not have address and/or port");return{sink:Rr(e,t),source:r,connected:async()=>{await r.connected()},close:async()=>{(e.readyState===e.CONNECTING||e.readyState===e.OPEN)&&await new Promise(i=>{e.addEventListener("close",()=>{i()}),e.close()})},destroy:()=>{e.terminate!=null?e.terminate():e.close()},remoteAddress:n,remotePort:o,socket:e}};var qr=WebSocket;var Zr=Fe(Kr(),1),Ds={http:"ws",https:"wss"},ks="ws",Yr=(e,t)=>(0,Zr.relative)(e,t,Ds,ks);function en(e,t){let r=typeof window>"u"?"":window.location;t=t??{};let n=Yr(e,r.toString()),o=new qr(n,t.websocket);return _r(o,t)}function Nt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var nn=Fe(rn(),1),Rs=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,on=(0,nn.default)(),sn=Rs&&!on;var qc=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!on,an=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,jc=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",Qc=typeof navigator<"u"&&navigator.product==="ReactNative";var Ms=u("dns4"),Bs=u("dns6"),zs=u("dnsaddr"),H=y(u("dns"),zs,Ms,Bs),We=y(u("ip4"),u("ip6")),we=y(d(We,u("tcp")),d(H,u("tcp"))),Ve=d(We,u("udp")),Ws=d(Ve,u("utp")),Vs=d(Ve,u("quic")),_s=d(Ve,u("quic-v1")),Ot=y(d(we,u("ws")),d(H,u("ws"))),ge=y(d(Ot,u("p2p")),Ot),Dt=y(d(we,u("wss")),d(H,u("wss")),d(we,u("tls"),u("ws")),d(H,u("tls"),u("ws"))),Y=y(d(Dt,u("p2p")),Dt),kt=y(d(we,u("http")),d(We,u("http")),d(H,u("http"))),$t=y(d(we,u("https")),d(We,u("https")),d(H,u("https"))),cn=d(Ve,u("webrtc-direct"),u("certhash")),dn=y(d(cn,u("p2p")),cn),un=d(_s,u("webtransport"),u("certhash"),u("certhash")),pn=y(d(un,u("p2p")),un),fn=y(d(ge,u("p2p-webrtc-star"),u("p2p")),d(Y,u("p2p-webrtc-star"),u("p2p")),d(ge,u("p2p-webrtc-star")),d(Y,u("p2p-webrtc-star"))),Jc=y(d(ge,u("p2p-websocket-star"),u("p2p")),d(Y,u("p2p-websocket-star"),u("p2p")),d(ge,u("p2p-websocket-star")),d(Y,u("p2p-websocket-star"))),hn=y(d(kt,u("p2p-webrtc-direct"),u("p2p")),d($t,u("p2p-webrtc-direct"),u("p2p")),d(kt,u("p2p-webrtc-direct")),d($t,u("p2p-webrtc-direct"))),ee=y(Ot,Dt,kt,$t,fn,hn,we,Ws,Vs,H,dn,pn),Xc=y(d(ee,u("p2p-stardust"),u("p2p")),d(ee,u("p2p-stardust"))),Q=y(d(ee,u("p2p")),fn,hn,dn,pn,u("p2p")),ln=y(d(Q,u("p2p-circuit"),Q),d(Q,u("p2p-circuit")),d(u("p2p-circuit"),Q),d(ee,u("p2p-circuit")),d(u("p2p-circuit"),ee),u("p2p-circuit")),mn=()=>y(d(ln,mn),ln),Z=mn(),Kc=y(d(Z,Q,Z),d(Q,Z),d(Z,Q),Z,Q);var Zc=y(d(Z,u("webrtc"),u("p2p")),d(Z,u("webrtc")),d(ee,u("webrtc"),u("p2p")),d(ee,u("webrtc")),u("webrtc"));function wn(e){function t(r){let n;try{n=me(r)}catch{return!1}let o=e(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return t}function d(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(o=>(n=typeof o=="function"?o().partialMatch(r):o.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:wn(t),partialMatch:t}}function y(...e){function t(n){let o=null;return e.some(s=>{let i=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return i!=null?(o=i,!0):!1}),o}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:wn(t),partialMatch:t}}function u(e){let t=e;function r(o){let s;try{s=me(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===t}function n(o){return o.length===0?null:o[0]===t?o.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}function xn(e){return e.filter(t=>{if(t.protoCodes().includes(290))return!1;let r=t.decapsulateCode(421);return ge.matches(r)||Y.matches(r)})}function yn(e){return e.filter(t=>{if(t.protoCodes().includes(290))return!1;let r=t.decapsulateCode(421);return Y.matches(r)})}function vn(){throw new Error("WebSocket Servers can not be created in the browser!")}var Ie=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Cn(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Rt(e,t,r){let n=r??{},o=Cn(e);async function*s(){let i,a=()=>{i?.()};for(t.addEventListener("abort",a);;){let p;try{if(t.aborted){let{abortMessage:c,abortCode:l}=n;throw new Ie(c,l)}let w=new Promise((c,l)=>{i=()=>{let{abortMessage:f,abortCode:C}=n;l(new Ie(f,C))}});p=await Promise.race([w,o.next()]),i=null}catch(w){t.removeEventListener("abort",a);let c=w.type==="aborted"&&t.aborted;if(c&&n.onAbort!=null&&n.onAbort(e),typeof o.return=="function")try{let l=o.return();l instanceof Promise&&l.catch(f=>{n.onReturnError!=null&&n.onReturnError(f)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(c&&n.returnOnAbort===!0)return;throw w}if(p.done===!0)break;yield p.value}t.removeEventListener("abort",a)}return s()}var _e=Le("libp2p:websockets:socket");function En(e,t,r){r=r??{};let n={async sink(o){r?.signal!=null&&(o=Rt(o,r.signal));try{await e.sink(o)}catch(s){s.type!=="aborted"&&_e.error(s)}},source:r.signal!=null?Rt(e.source,r.signal):e.source,remoteAddr:t,timeline:{open:Date.now()},async close(o={}){let s=Date.now();o.signal=o.signal??AbortSignal.timeout(500);let i=()=>{let{host:a,port:p}=n.remoteAddr.toOptions();_e("timeout closing stream to %s:%s after %dms, destroying it manually",a,p,Date.now()-s),this.abort(new _("Socket close timeout","ERR_SOCKET_CLOSE_TIMEOUT"))};o.signal.addEventListener("abort",i);try{await e.close()}catch(a){_e.error("error closing WebSocket gracefully",a),this.abort(a)}finally{o.signal.removeEventListener("abort",i),n.timeline.close=Date.now()}},abort(o){let{host:s,port:i}=n.remoteAddr.toOptions();_e("timeout closing stream to %s:%s due to error",s,i,o),e.destroy(),n.timeline.close=Date.now()}};return e.socket.addEventListener("close",()=>{n.timeline.close==null&&(n.timeline.close=Date.now())},{once:!0}),n}var G=Le("libp2p:websockets"),Mt=class{init;constructor(t){this.init=t}[Symbol.toStringTag]="@libp2p/websockets";[Wt]=!0;async dial(t,r){G("dialing %s",t),r=r??{};let n=await this._connect(t,r),o=En(n,t);G("new outbound connection %s",o.remoteAddr);let s=await r.upgrader.upgradeOutbound(o);return G("outbound connection %s upgraded",o.remoteAddr),s}async _connect(t,r){if(r?.signal?.aborted===!0)throw new be;let n=t.toOptions();G("dialing %s:%s",n.host,n.port);let o=Nt(),s=en(kr(t),this.init);if(s.socket.addEventListener("error",()=>{let p=new _(`Could not connect to ${t.toString()}`,"ERR_CONNECTION_FAILED");G.error("connection error:",p),o.reject(p)}),r.signal==null)return await Promise.race([s.connected(),o.promise]),G("connected %s",t),s;let i,a=new Promise((p,w)=>{if(i=()=>{w(new be),s.close().catch(c=>{G.error("error closing raw socket",c)})},r?.signal?.aborted===!0){i();return}r?.signal?.addEventListener("abort",i)});try{await Promise.race([a,o.promise,s.connected()])}finally{i!=null&&r?.signal?.removeEventListener("abort",i)}return G("connected %s",t),s}createListener(t){return vn({...this.init,...t})}filter(t){return t=Array.isArray(t)?t:[t],this.init?.filter!=null?this.init?.filter(t):sn||an?yn(t):xn(t)}};function Hs(e={}){return()=>new Mt(e)}return Tn(Gs);})();
2
+ "use strict";var Libp2PWebsockets=(()=>{var Sn=Object.create;var Pe=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var In=Object.getOwnPropertyNames;var Pn=Object.getPrototypeOf,Fn=Object.prototype.hasOwnProperty;var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),U=(e,t)=>{for(var r in t)Pe(e,r,{get:t[r],enumerable:!0})},Bt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of In(t))!Fn.call(e,o)&&o!==r&&Pe(e,o,{get:()=>t[o],enumerable:!(n=An(t,o))||n.enumerable});return e};var Fe=(e,t,r)=>(r=e!=null?Sn(Pn(e)):{},Bt(t||!e||!e.__esModule?Pe(r,"default",{value:e,enumerable:!0}):r,e)),Tn=e=>Bt(Pe({},"__esModule",{value:!0}),e);var _t=z((Zs,Vt)=>{var re=1e3,ne=re*60,oe=ne*60,J=oe*24,Un=J*7,Ln=J*365.25;Vt.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return Nn(e);if(r==="number"&&isFinite(e))return t.long?Dn(e):On(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Nn(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Ln;case"weeks":case"week":case"w":return r*Un;case"days":case"day":case"d":return r*J;case"hours":case"hour":case"hrs":case"hr":case"h":return r*oe;case"minutes":case"minute":case"mins":case"min":case"m":return r*ne;case"seconds":case"second":case"secs":case"sec":case"s":return r*re;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function On(e){var t=Math.abs(e);return t>=J?Math.round(e/J)+"d":t>=oe?Math.round(e/oe)+"h":t>=ne?Math.round(e/ne)+"m":t>=re?Math.round(e/re)+"s":e+"ms"}function Dn(e){var t=Math.abs(e);return t>=J?Te(e,t,J,"day"):t>=oe?Te(e,t,oe,"hour"):t>=ne?Te(e,t,ne,"minute"):t>=re?Te(e,t,re,"second"):e+" ms"}function Te(e,t,r,n){var o=t>=r*1.5;return Math.round(e/r)+" "+n+(o?"s":"")}});var jt=z((Ys,qt)=>{function kn(e){r.debug=r,r.default=r,r.coerce=d,r.disable=s,r.enable=o,r.enabled=i,r.humanize=_t(),r.destroy=w,Object.keys(e).forEach(c=>{r[c]=e[c]}),r.names=[],r.skips=[],r.formatters={};function t(c){let l=0;for(let f=0;f<c.length;f++)l=(l<<5)-l+c.charCodeAt(f),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(c){let l,f=null,v,m;function b(...C){if(!b.enabled)return;let E=b,P=Number(new Date),D=P-(l||P);E.diff=D,E.prev=l,E.curr=P,l=P,C[0]=r.coerce(C[0]),typeof C[0]!="string"&&C.unshift("%O");let S=0;C[0]=C[0].replace(/%([a-zA-Z%])/g,(k,T)=>{if(k==="%%")return"%";S++;let $=r.formatters[T];if(typeof $=="function"){let te=C[S];k=$.call(E,te),C.splice(S,1),S--}return k}),r.formatArgs.call(E,C),(E.log||r.log).apply(E,C)}return b.namespace=c,b.useColors=r.useColors(),b.color=r.selectColor(c),b.extend=n,b.destroy=r.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(v!==r.namespaces&&(v=r.namespaces,m=r.enabled(c)),m),set:C=>{f=C}}),typeof r.init=="function"&&r.init(b),b}function n(c,l){let f=r(this.namespace+(typeof l>"u"?":":l)+c);return f.log=this.log,f}function o(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let l,f=(typeof c=="string"?c:"").split(/[\s,]+/),v=f.length;for(l=0;l<v;l++)f[l]&&(c=f[l].replace(/\*/g,".*?"),c[0]==="-"?r.skips.push(new RegExp("^"+c.slice(1)+"$")):r.names.push(new RegExp("^"+c+"$")))}function s(){let c=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),c}function i(c){if(c[c.length-1]==="*")return!0;let l,f;for(l=0,f=r.skips.length;l<f;l++)if(r.skips[l].test(c))return!1;for(l=0,f=r.names.length;l<f;l++)if(r.names[l].test(c))return!0;return!1}function a(c){return c.toString().substring(2,c.toString().length-2).replace(/\.\*\?$/,"*")}function d(c){return c instanceof Error?c.stack||c.message:c}function w(){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.enable(r.load()),r}qt.exports=kn});var Qt=z((L,Ue)=>{L.formatArgs=Rn;L.save=Mn;L.load=Bn;L.useColors=$n;L.storage=zn();L.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();L.colors=["#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 $n(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Rn(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Ue.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),e.splice(n,0,t)}L.log=console.debug||console.log||(()=>{});function Mn(e){try{e?L.storage.setItem("debug",e):L.storage.removeItem("debug")}catch{}}function Bn(){let e;try{e=L.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function zn(){try{return localStorage}catch{}}Ue.exports=jt()(L);var{formatters:Wn}=Ue.exports;Wn.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Mr=z(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});var Ft=class{constructor(){this.pullQueue=[],this.pushQueue=[],this.eventHandlers={},this.isPaused=!1,this.isStopped=!1}push(t){if(this.isStopped)return;let r={value:t,done:!1};if(this.pullQueue.length){let n=this.pullQueue.shift();n&&n.resolve(r)}else this.pushQueue.push(Promise.resolve(r)),this.highWaterMark!==void 0&&this.pushQueue.length>=this.highWaterMark&&!this.isPaused&&(this.isPaused=!0,this.eventHandlers.highWater?this.eventHandlers.highWater():console&&console.warn(`EventIterator queue reached ${this.pushQueue.length} items`))}stop(){if(!this.isStopped){this.isStopped=!0,this.remove();for(let t of this.pullQueue)t.resolve({value:void 0,done:!0});this.pullQueue.length=0}}fail(t){if(!this.isStopped)if(this.isStopped=!0,this.remove(),this.pullQueue.length){for(let r of this.pullQueue)r.reject(t);this.pullQueue.length=0}else{let r=Promise.reject(t);r.catch(()=>{}),this.pushQueue.push(r)}}remove(){Promise.resolve().then(()=>{this.removeCallback&&this.removeCallback()})}[Symbol.asyncIterator](){return{next:t=>{let r=this.pushQueue.shift();return r?(this.lowWaterMark!==void 0&&this.pushQueue.length<=this.lowWaterMark&&this.isPaused&&(this.isPaused=!1,this.eventHandlers.lowWater&&this.eventHandlers.lowWater()),r):this.isStopped?Promise.resolve({value:void 0,done:!0}):new Promise((n,o)=>{this.pullQueue.push({resolve:n,reject:o})})},return:()=>(this.isStopped=!0,this.pushQueue.length=0,this.remove(),Promise.resolve({value:void 0,done:!0}))}}},Be=class{constructor(t,{highWaterMark:r=100,lowWaterMark:n=1}={}){let o=new Ft;o.highWaterMark=r,o.lowWaterMark=n,o.removeCallback=t({push:s=>o.push(s),stop:()=>o.stop(),fail:s=>o.fail(s),on:(s,i)=>{o.eventHandlers[s]=i}})||(()=>{}),this[Symbol.asyncIterator]=()=>o[Symbol.asyncIterator](),Object.freeze(this)}};ze.EventIterator=Be;ze.default=Be});var Br=z(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var Tt=Mr();Se.EventIterator=Tt.EventIterator;function Ss(e,t,r){return new Tt.EventIterator(({push:n})=>(this.addEventListener(e,n,t),()=>this.removeEventListener(e,n,t)),r)}Se.subscribe=Ss;Se.default=Tt.EventIterator});var Lt=z((Rc,Qr)=>{"use strict";var As=typeof navigator<"u"&&navigator.product==="ReactNative";function Is(){return As?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var Ae=self.URL,jr=Is(),Ut=class{constructor(t="",r=jr){this.super=new Ae(t,r),this.path=this.pathname+this.search,this.auth=this.username&&this.password?this.username+":"+this.password:null,this.query=this.search&&this.search.startsWith("?")?this.search.slice(1):null}get hash(){return this.super.hash}get host(){return this.super.host}get hostname(){return this.super.hostname}get href(){return this.super.href}get origin(){return this.super.origin}get password(){return this.super.password}get pathname(){return this.super.pathname}get port(){return this.super.port}get protocol(){return this.super.protocol}get search(){return this.super.search}get searchParams(){return this.super.searchParams}get username(){return this.super.username}set hash(t){this.super.hash=t}set host(t){this.super.host=t}set hostname(t){this.super.hostname=t}set href(t){this.super.href=t}set password(t){this.super.password=t}set pathname(t){this.super.pathname=t}set port(t){this.super.port=t}set protocol(t){this.super.protocol=t}set search(t){this.super.search=t}set username(t){this.super.username=t}static createObjectURL(t){return Ae.createObjectURL(t)}static revokeObjectURL(t){Ae.revokeObjectURL(t)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function Ps(e){if(typeof e=="string")return new Ae(e).toString();if(!(e instanceof Ae)){let t=e.username&&e.password?`${e.username}:${e.password}@`:"",r=e.auth?e.auth+"@":"",n=e.port?":"+e.port:"",o=e.protocol?e.protocol+"//":"",s=e.host||"",i=e.hostname||"",a=e.search||(e.query?"?"+e.query:""),d=e.hash||"",w=e.pathname||"",c=e.path||w+a;return`${o}${t||r}${s||i+n}${c}${d}`}}Qr.exports={URLWithLegacySupport:Ut,URLSearchParams:self.URLSearchParams,defaultBase:jr,format:Ps}});var Jr=z((Mc,Gr)=>{"use strict";var{URLWithLegacySupport:Hr,format:Fs}=Lt();Gr.exports=(e,t={},r={},n)=>{let o=t.protocol?t.protocol.replace(":",""):"http";o=(r[o]||n||o)+":";let s;try{s=new Hr(e)}catch{s={}}let i=Object.assign({},t,{protocol:o||s.protocol,host:t.host||s.host});return new Hr(e,Fs(i)).toString()}});var Kr=z((Bc,Xr)=>{"use strict";var{URLWithLegacySupport:Ts,format:Us,URLSearchParams:Ls,defaultBase:Ns}=Lt(),Os=Jr();Xr.exports={URL:Ts,URLSearchParams:Ls,format:Us,relative:Os,defaultBase:Ns}});var rn=z((Qc,tn)=>{function $s(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}tn.exports=$s});var Gs={};U(Gs,{webSockets:()=>Hs});var be=class e extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=e.code,this.type=e.type}static code="ABORT_ERR";static type="aborted"},_=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Wt=Symbol.for("@libp2p/transport");var zt;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(zt||(zt={}));var N=Fe(Qt(),1);var Ge={};U(Ge,{base32:()=>M,base32hex:()=>Xn,base32hexpad:()=>Zn,base32hexpadupper:()=>Yn,base32hexupper:()=>Kn,base32pad:()=>Gn,base32padupper:()=>Jn,base32upper:()=>Hn,base32z:()=>eo});function Vn(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var s=e.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=e.length,d=e.charAt(0),w=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function l(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var b=0,C=0,E=0,P=m.length;E!==P&&m[E]===0;)E++,b++;for(var D=(P-E)*c+1>>>0,S=new Uint8Array(D);E!==P;){for(var R=m[E],k=0,T=D-1;(R!==0||k<C)&&T!==-1;T--,k++)R+=256*S[T]>>>0,S[T]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");C=k,E++}for(var $=D-C;$!==D&&S[$]===0;)$++;for(var te=d.repeat(b);$<D;++$)te+=e.charAt(S[$]);return te}function f(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var b=0;if(m[b]!==" "){for(var C=0,E=0;m[b]===d;)C++,b++;for(var P=(m.length-b)*w+1>>>0,D=new Uint8Array(P);m[b];){var S=r[m.charCodeAt(b)];if(S===255)return;for(var R=0,k=P-1;(S!==0||R<E)&&k!==-1;k--,R++)S+=a*D[k]>>>0,D[k]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");E=R,b++}if(m[b]!==" "){for(var T=P-E;T!==P&&D[T]===0;)T++;for(var $=new Uint8Array(C+(P-T)),te=C;T!==P;)$[te++]=D[T++];return $}}}function v(m){var b=f(m);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:f,decode:v}}var _n=Vn,qn=_n,Ht=qn;var ti=new Uint8Array(0);var Gt=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},W=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Jt=e=>new TextEncoder().encode(e),Xt=e=>new TextDecoder().decode(e);var qe=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},je=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Zt(this,t)}},Qe=class{constructor(t){this.decoders=t}or(t){return Zt(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Zt=(e,t)=>new Qe({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),He=class{constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new qe(t,r,n),this.decoder=new je(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},se=({name:e,prefix:t,encode:r,decode:n})=>new He(e,t,r,n),q=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:o}=Ht(r,t);return se({prefix:e,name:t,encode:n,decode:s=>W(o(s))})},jn=(e,t,r,n)=>{let o={};for(let c=0;c<t.length;++c)o[t[c]]=c;let s=e.length;for(;e[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,d=0,w=0;for(let c=0;c<s;++c){let l=o[e[c]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);d=d<<r|l,a+=r,a>=8&&(a-=8,i[w++]=255&d>>a)}if(a>=r||255&d<<8-a)throw new SyntaxError("Unexpected end of data");return i},Qn=(e,t,r)=>{let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let d=0;d<e.length;++d)for(a=a<<8|e[d],i+=8;i>r;)i-=r,s+=t[o&a>>i];if(i&&(s+=t[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},x=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>se({prefix:t,name:e,encode(o){return Qn(o,n,r)},decode(o){return jn(o,n,r,e)}});var M=x({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Hn=x({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Gn=x({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jn=x({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xn=x({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kn=x({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zn=x({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Yn=x({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),eo=x({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Je={};U(Je,{base58btc:()=>A,base58flickr:()=>to});var A=q({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),to=q({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ke={};U(Ke,{base64:()=>Xe,base64pad:()=>ro,base64url:()=>no,base64urlpad:()=>oo});var Xe=x({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ro=x({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),no=x({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),oo=x({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});N.default.formatters.b=e=>e==null?"undefined":A.baseEncode(e);N.default.formatters.t=e=>e==null?"undefined":M.baseEncode(e);N.default.formatters.m=e=>e==null?"undefined":Xe.baseEncode(e);N.default.formatters.p=e=>e==null?"undefined":e.toString();N.default.formatters.c=e=>e==null?"undefined":e.toString();N.default.formatters.k=e=>e==null?"undefined":e.toString();N.default.formatters.a=e=>e==null?"undefined":e.toString();function so(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function Le(e){let t=so(`${e}:trace`);return N.default.enabled(`${e}:trace`)&&N.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,N.default)(`${e}:trace`)),Object.assign((0,N.default)(e),{error:(0,N.default)(`${e}:error`),trace:t})}var io=tr,Yt=128,ao=127,co=~ao,uo=Math.pow(2,31);function tr(e,t,r){t=t||[],r=r||0;for(var n=r;e>=uo;)t[r++]=e&255|Yt,e/=128;for(;e&co;)t[r++]=e&255|Yt,e>>>=7;return t[r]=e|0,tr.bytes=r-n+1,t}var lo=Ze,po=128,er=127;function Ze(e,n){var r=0,n=n||0,o=0,s=n,i,a=e.length;do{if(s>=a)throw Ze.bytes=0,new RangeError("Could not decode varint");i=e[s++],r+=o<28?(i&er)<<o:(i&er)*Math.pow(2,o),o+=7}while(i>=po);return Ze.bytes=s-n,r}var fo=Math.pow(2,7),ho=Math.pow(2,14),mo=Math.pow(2,21),wo=Math.pow(2,28),go=Math.pow(2,35),bo=Math.pow(2,42),xo=Math.pow(2,49),yo=Math.pow(2,56),Co=Math.pow(2,63),vo=function(e){return e<fo?1:e<ho?2:e<mo?3:e<wo?4:e<go?5:e<bo?6:e<xo?7:e<yo?8:e<Co?9:10},Eo={encode:io,decode:lo,encodingLength:vo},So=Eo,xe=So;var ye=(e,t=0)=>[xe.decode(e,t),xe.decode.bytes],ie=(e,t,r=0)=>(xe.encode(e,t,r),t),ae=e=>xe.encodingLength(e);var X=(e,t)=>{let r=t.byteLength,n=ae(e),o=n+ae(r),s=new Uint8Array(o+r);return ie(e,s,0),ie(r,s,n),s.set(t,o),new ce(e,r,t,s)},Oe=e=>{let t=W(e),[r,n]=ye(t),[o,s]=ye(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ce(r,o,i,t)},rr=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Gt(e.bytes,r.bytes)}},ce=class{constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var nr=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Io(r,Ye(e),t||A.encoder);default:return Po(r,Ye(e),t||M.encoder)}};var or=new WeakMap,Ye=e=>{let t=or.get(e);if(t==null){let r=new Map;return or.set(e,r),r}return t},j=class e{constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Ce)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Fo)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=X(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&rr(t.multihash,n.multihash)}toString(t){return nr(this,t)}toJSON(){return{"/":nr(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new e(n,o,s,i||sr(n,o,s.bytes))}else if(r[To]===!0){let{version:n,multihash:o,code:s}=r,i=Oe(o);return e.create(n,s,i)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==Ce)throw new Error(`Version 0 CID must use dag-pb (code: ${Ce}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=sr(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Ce,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=W(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ce(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(i):e.createV1(r.codec,i),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,f]=ye(t.subarray(r));return r+=f,l},o=n(),s=Ce;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),d=n(),w=r+d,c=w-i;return{version:o,codec:s,multihashCode:a,digestSize:d,multihashSize:c,size:w}}static parse(t,r){let[n,o]=Ao(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ye(s).set(n,t),s}},Ao=(e,t)=>{switch(e[0]){case"Q":{let r=t||A;return[A.prefix,r.decode(`${A.prefix}${e}`)]}case A.prefix:{let r=t||A;return[A.prefix,r.decode(e)]}case M.prefix:{let r=t||M;return[M.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Io=(e,t,r)=>{let{prefix:n}=r;if(n!==A.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o},Po=(e,t,r)=>{let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o},Ce=112,Fo=18,sr=(e,t,r)=>{let n=ae(e),o=n+ae(t),s=new Uint8Array(o+r.byteLength);return ie(e,s,0),ie(t,s,n),s.set(r,o),s},To=Symbol.for("@ipld/js-cid/CID");function ir(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var et={};U(et,{base10:()=>Uo});var Uo=q({prefix:"9",name:"base10",alphabet:"0123456789"});var tt={};U(tt,{base16:()=>Lo,base16upper:()=>No});var Lo=x({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),No=x({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var rt={};U(rt,{base2:()=>Oo});var Oo=x({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var nt={};U(nt,{base256emoji:()=>Mo});var ar=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}"),Do=ar.reduce((e,t,r)=>(e[r]=t,e),[]),ko=ar.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function $o(e){return e.reduce((t,r)=>(t+=Do[r],t),"")}function Ro(e){let t=[];for(let r of e){let n=ko[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Mo=se({prefix:"\u{1F680}",name:"base256emoji",encode:$o,decode:Ro});var ot={};U(ot,{base36:()=>Bo,base36upper:()=>zo});var Bo=q({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),zo=q({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var st={};U(st,{base8:()=>Wo});var Wo=x({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var it={};U(it,{identity:()=>Vo});var Vo=se({prefix:"\0",name:"identity",encode:e=>Xt(e),decode:e=>Jt(e)});var Ni=new TextEncoder,Oi=new TextDecoder;var at={};U(at,{identity:()=>Ho});var cr=0,jo="identity",ur=W,Qo=e=>X(cr,ur(e)),Ho={code:cr,name:jo,encode:ur,digest:Qo};var lt={};U(lt,{sha256:()=>Go,sha512:()=>Jo});var ut=({name:e,code:t,encode:r})=>new ct(e,t,r),ct=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?X(this.code,r):r.then(n=>X(this.code,n))}else throw Error("Unknown type, must be binary type")}};var pr=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Go=ut({name:"sha2-256",code:18,encode:pr("SHA-256")}),Jo=ut({name:"sha2-512",code:19,encode:pr("SHA-512")});var ve={...it,...rt,...st,...et,...tt,...Ge,...ot,...Je,...Ke,...nt},Wi={...lt,...at};function le(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function pe(e=0){return globalThis.Buffer?.allocUnsafe!=null?le(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function fr(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var dr=fr("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),pt=fr("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=pe(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Xo={utf8:dr,"utf-8":dr,hex:ve.base16,latin1:pt,ascii:pt,binary:pt,...ve},De=Xo;function F(e,t="utf8"){let r=De[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Ko=Math.pow(2,7),Zo=Math.pow(2,14),Yo=Math.pow(2,21),dt=Math.pow(2,28),ft=Math.pow(2,35),ht=Math.pow(2,42),mt=Math.pow(2,49),g=128,I=127;function B(e){if(e<Ko)return 1;if(e<Zo)return 2;if(e<Yo)return 3;if(e<dt)return 4;if(e<ft)return 5;if(e<ht)return 6;if(e<mt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function es(e,t,r=0){switch(B(e)){case 8:t[r++]=e&255|g,e/=128;case 7:t[r++]=e&255|g,e/=128;case 6:t[r++]=e&255|g,e/=128;case 5:t[r++]=e&255|g,e/=128;case 4:t[r++]=e&255|g,e>>>=7;case 3:t[r++]=e&255|g,e>>>=7;case 2:t[r++]=e&255|g,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function ts(e,t,r=0){switch(B(e)){case 8:t.set(r++,e&255|g),e/=128;case 7:t.set(r++,e&255|g),e/=128;case 6:t.set(r++,e&255|g),e/=128;case 5:t.set(r++,e&255|g),e/=128;case 4:t.set(r++,e&255|g),e>>>=7;case 3:t.set(r++,e&255|g),e>>>=7;case 2:t.set(r++,e&255|g),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function rs(e,t){let r=e[t],n=0;if(n+=r&I,r<g||(r=e[t+1],n+=(r&I)<<7,r<g)||(r=e[t+2],n+=(r&I)<<14,r<g)||(r=e[t+3],n+=(r&I)<<21,r<g)||(r=e[t+4],n+=(r&I)*dt,r<g)||(r=e[t+5],n+=(r&I)*ft,r<g)||(r=e[t+6],n+=(r&I)*ht,r<g)||(r=e[t+7],n+=(r&I)*mt,r<g))return n;throw new RangeError("Could not decode varint")}function ns(e,t){let r=e.get(t),n=0;if(n+=r&I,r<g||(r=e.get(t+1),n+=(r&I)<<7,r<g)||(r=e.get(t+2),n+=(r&I)<<14,r<g)||(r=e.get(t+3),n+=(r&I)<<21,r<g)||(r=e.get(t+4),n+=(r&I)*dt,r<g)||(r=e.get(t+5),n+=(r&I)*ft,r<g)||(r=e.get(t+6),n+=(r&I)*ht,r<g)||(r=e.get(t+7),n+=(r&I)*mt,r<g))return n;throw new RangeError("Could not decode varint")}function de(e,t,r=0){return t==null&&(t=pe(B(e))),t instanceof Uint8Array?es(e,t,r):ts(e,t,r)}function K(e,t=0){return e instanceof Uint8Array?rs(e,t):ns(e,t)}function V(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=pe(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return le(r)}var ke=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let d=a==="0",w=2**(8*o)-1;for(;;){let c=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let f=Number.parseInt(l,t);if(!Number.isNaN(f))return f});if(c===void 0)break;if(s*=t,s+=c,s>w||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&d&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var mr=45,os=15,fe=new ke;function wt(e){if(!(e.length>os))return fe.new(e).parseWith(()=>fe.readIPv4Addr())}function gt(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>mr))return fe.new(e).parseWith(()=>fe.readIPv6Addr())}function $e(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>mr))return fe.new(e).parseWith(()=>fe.readIPAddr())}var la=parseInt("0xFFFF",16),pa=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ee(e,t="utf8"){let r=De[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?le(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function br(e){return!!wt(e)}function xr(e){return!!gt(e)}function Re(e){return!!$e(e)}var yr=br,us=xr,bt=function(e){let t=0;if(e=e.toString().trim(),yr(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(us(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=yr(r[n]),i;s&&(i=bt(r[n]),r[n]=F(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,F(i.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},Cr=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let o=[];for(let s=0;s<r;s++)o.push(e[t+s]);return o.join(".")}if(r===16){let o=[];for(let s=0;s<r;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var he={},xt={},ps=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];ps.forEach(e=>{let t=ds(...e);xt[t.code]=t,he[t.name]=t});function ds(e,t,r,n,o){return{code:e,size:t,name:r,resolvable:!!n,path:!!o}}function h(e){if(typeof e=="number"){if(xt[e]!=null)return xt[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(he[e]!=null)return he[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ka=h("ip4"),Za=h("ip6"),Ya=h("ipcidr");function Ct(e,t){switch(h(e).code){case 4:case 41:return hs(t);case 42:return Sr(t);case 6:case 273:case 33:case 132:return Ir(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Sr(t);case 421:return bs(t);case 444:return Ar(t);case 445:return Ar(t);case 466:return gs(t);default:return F(t,"base16")}}function vt(e,t){switch(h(e).code){case 4:return vr(t);case 41:return vr(t);case 42:return Er(t);case 6:case 273:case 33:case 132:return Et(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Er(t);case 421:return ms(t);case 444:return xs(t);case 445:return ys(t);case 466:return ws(t);default:return Ee(t,"base16")}}var yt=Object.values(ve).map(e=>e.decoder),fs=function(){let e=yt[0].or(yt[1]);return yt.slice(2).forEach(t=>e=e.or(t)),e}();function vr(e){if(!Re(e))throw new Error("invalid ip address");return bt(e)}function hs(e){let t=Cr(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!Re(t))throw new Error("invalid ip address");return t}function Et(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Ir(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Er(e){let t=Ee(e),r=Uint8Array.from(de(t.length));return V([r,t],r.length+t.length)}function Sr(e){let t=K(e);if(e=e.slice(B(t)),e.length!==t)throw new Error("inconsistent lengths");return F(e)}function ms(e){let t;e[0]==="Q"||e[0]==="1"?t=Oe(A.decode(`z${e}`)).bytes:t=j.parse(e).multihash.bytes;let r=Uint8Array.from(de(t.length));return V([r,t],r.length+t.length)}function ws(e){let t=fs.decode(e),r=Uint8Array.from(de(t.length));return V([r,t],r.length+t.length)}function gs(e){let t=K(e),r=e.slice(B(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+F(r,"base64url")}function bs(e){let t=K(e),r=e.slice(B(t));if(r.length!==t)throw new Error("inconsistent lengths");return F(r,"base58btc")}function xs(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=M.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Et(n);return V([r,o],r.length+o.length)}function ys(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=M.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Et(n);return V([r,o],r.length+o.length)}function Ar(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=F(t,"base32"),o=Ir(r);return`${n}:${o}`}function Pr(e){e=St(e);let t=[],r=[],n=null,o=e.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=h(i);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(s++,s>=o.length)throw Tr("invalid address: "+e);if(a.path===!0){n=St(o.slice(s).join("/")),t.push([a.code,vt(a.code,n)]),r.push([a.code,n]);break}let d=vt(a.code,o[s]);t.push([a.code,d]),r.push([a.code,Ct(a.code,d)])}return{string:Fr(r),bytes:It(t),tuples:t,stringTuples:r,path:n}}function At(e){let t=[],r=[],n=null,o=0;for(;o<e.length;){let s=K(e,o),i=B(s),a=h(s),d=Cs(a,e.slice(o+i));if(d===0){t.push([s]),r.push([s]),o+=i;continue}let w=e.slice(o+i,o+i+d);if(o+=d+i,o>e.length)throw Tr("Invalid address Uint8Array: "+F(e,"base16"));t.push([s,w]);let c=Ct(s,w);if(r.push([s,c]),a.path===!0){n=c;break}}return{bytes:Uint8Array.from(e),string:Fr(r),tuples:t,stringTuples:r,path:n}}function Fr(e){let t=[];return e.map(r=>{let n=h(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),St(t.join("/"))}function It(e){return V(e.map(t=>{let r=h(t[0]),n=Uint8Array.from(de(r.code));return t.length>1&&t[1]!=null&&(n=V([n,t[1]])),n}))}function Cs(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=K(t instanceof Uint8Array?t:Uint8Array.from(t));return r+B(r)}}function St(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Tr(e){return new Error("Error parsing address: "+e)}var vs=Symbol.for("nodejs.util.inspect.custom"),Pt=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Es=[h("dns").code,h("dns4").code,h("dns6").code,h("dnsaddr").code],Me=class e{bytes;#t;#e;#r;#n;[Pt]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=At(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Pr(t)}else if(Lr(t))r=At(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,o,s="",i=h("tcp"),a=h("udp"),d=h("ip4"),w=h("ip6"),c=h("dns6"),l=h("ip6zone");for(let[v,m]of this.stringTuples())v===l.code&&(s=`%${m??""}`),Es.includes(v)&&(r=i.name,o=443,n=`${m??""}${s}`,t=v===c.code?6:4),(v===i.code||v===a.code)&&(r=h(v).name,o=parseInt(m??"")),(v===d.code||v===w.code)&&(r=h(v).name,n=`${m??""}${s}`,t=v===w.code?6:4);if(t==null||r==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},h(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>h(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,o))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(It(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===he.p2p.code&&t.push([n,o]),n===he["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?F(A.decode(`z${n}`),"base58btc"):F(j.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return ir(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Ur.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new e(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[vs](){return`Multiaddr(${this.#t})`}};var Ur=new Map;function Lr(e){return!!e?.[Pt]}function me(e){return new Me(e)}function Nr(e){let t;try{t=h("sni").code}catch{return null}for(let[r,n]of e)if(r===t&&n!==void 0)return n;return null}function Or(e){return e.some(([t,r])=>t===h("tls").code)}function O(e,t,r){let n=Dr[h(e).name];if(n===void 0)throw new Error(`Can't interpret protocol ${h(e).name}`);let o=n(t,r);return e===h("ip6").code?`[${o}]`:o}var Dr={ip4:(e,t)=>e,ip6:(e,t)=>t.length===0?e:`[${e}]`,tcp:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${O(r[0],r[1]??"",t)}:${e}`},udp:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${O(r[0],r[1]??"",t)}:${e}`},dnsaddr:(e,t)=>e,dns4:(e,t)=>e,dns6:(e,t)=>e,dns:(e,t)=>e,ipfs:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/ipfs/${e}`},p2p:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p/${e}`},http:(e,t)=>{let r=Or(t),n=Nr(t);if(r&&n!==null)return`https://${n}`;let o=r?"https://":"http://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=O(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},tls:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return O(r[0],r[1]??"",t)},sni:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return O(r[0],r[1]??"",t)},https:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=O(r[0],r[1]??"",t);return n=n.replace("tcp://",""),`https://${n}`},ws:(e,t)=>{let r=Or(t),n=Nr(t);if(r&&n!==null)return`wss://${n}`;let o=r?"wss://":"ws://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=O(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},wss:(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=O(r[0],r[1]??"",t);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p-websocket-star`},"p2p-webrtc-star":(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p-webrtc-star`},"p2p-webrtc-direct":(e,t)=>{let r=t.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",t)}/p2p-webrtc-direct`}};function kr(e,t){let n=me(e).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=h(o[0]),i=Dr[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let a=i(o[1]??"",n);return t?.assumeHttp!==!1&&o[0]===h("tcp").code&&(a=a.replace("tcp://","http://"),(o[1]==="443"||o[1]==="80")&&(o[1]==="443"&&(a=a.replace("http://","https://")),a=a.substring(0,a.lastIndexOf(":")))),a}var $r=async e=>{if(e.readyState>=2)throw new Error("socket closed");e.readyState!==1&&await new Promise((t,r)=>{function n(){e.removeEventListener("open",o),e.removeEventListener("error",s)}function o(){n(),t()}function s(i){n(),r(i.error??new Error(`connect ECONNREFUSED ${e.url}`))}e.addEventListener("open",o),e.addEventListener("error",s)})};var Rr=(e,t)=>(t=t??{},t.closeOnEnd=t.closeOnEnd!==!1,async n=>{for await(let o of n){try{await $r(e)}catch(s){if(s.message==="socket closed")break;throw s}if(e.readyState===e.CLOSING||e.readyState===e.CLOSED)break;e.send(o)}t.closeOnEnd!=null&&e.readyState<=1&&await new Promise((o,s)=>{e.addEventListener("close",i=>{if(i.wasClean||i.code===1006)o();else{let a=Object.assign(new Error("ws error"),{event:i});s(a)}}),setTimeout(()=>{e.close()})})});var Wr=Fe(Br(),1);function zr(e){return e instanceof ArrayBuffer||e?.constructor?.name==="ArrayBuffer"&&typeof e?.byteLength=="number"}var Vr=e=>{e.binaryType="arraybuffer";let t=async()=>{await new Promise((s,i)=>{if(n){s();return}if(o!=null){i(o);return}let a=c=>{e.removeEventListener("open",d),e.removeEventListener("error",w),c()},d=()=>{a(s)},w=c=>{a(()=>{i(c.error??new Error(`connect ECONNREFUSED ${e.url}`))})};e.addEventListener("open",d),e.addEventListener("error",w)})},r=async function*(){let s=new Wr.EventIterator(({push:i,stop:a,fail:d})=>{let w=l=>{let f=null;typeof l.data=="string"&&(f=Ee(l.data)),zr(l.data)&&(f=new Uint8Array(l.data)),l.data instanceof Uint8Array&&(f=l.data),f!=null&&i(f)},c=l=>{d(l.error??new Error("Socket error"))};return e.addEventListener("message",w),e.addEventListener("error",c),e.addEventListener("close",a),()=>{e.removeEventListener("message",w),e.removeEventListener("error",c),e.removeEventListener("close",a)}},{highWaterMark:1/0});await t();for await(let i of s)yield zr(i)?new Uint8Array(i):i}(),n=e.readyState===1,o;return e.addEventListener("open",()=>{n=!0,o=null}),e.addEventListener("close",()=>{n=!1,o=null}),e.addEventListener("error",s=>{n||(o=s.error??new Error(`connect ECONNREFUSED ${e.url}`))}),Object.assign(r,{connected:t})};var _r=(e,t)=>{t=t??{};let r=Vr(e),n=t.remoteAddress,o=t.remotePort;if(e.url!=null)try{let i=new URL(e.url);n=i.hostname,o=parseInt(i.port,10)}catch{}if(n==null||o==null)throw new Error("Remote connection did not have address and/or port");return{sink:Rr(e,t),source:r,connected:async()=>{await r.connected()},close:async()=>{(e.readyState===e.CONNECTING||e.readyState===e.OPEN)&&await new Promise(i=>{e.addEventListener("close",()=>{i()}),e.close()})},destroy:()=>{e.terminate!=null?e.terminate():e.close()},remoteAddress:n,remotePort:o,socket:e}};var qr=WebSocket;var Zr=Fe(Kr(),1),Ds={http:"ws",https:"wss"},ks="ws",Yr=(e,t)=>(0,Zr.relative)(e,t,Ds,ks);function en(e,t){let r=typeof window>"u"?"":window.location;t=t??{};let n=Yr(e,r.toString()),o=new qr(n,t.websocket);return _r(o,t)}function Nt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var nn=Fe(rn(),1),Rs=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,on=(0,nn.default)(),sn=Rs&&!on;var Hc=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!on,an=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Gc=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",Jc=typeof navigator<"u"&&navigator.product==="ReactNative";var Ms=u("dns4"),Bs=u("dns6"),zs=u("dnsaddr"),H=y(u("dns"),zs,Ms,Bs),We=y(u("ip4"),u("ip6")),we=y(p(We,u("tcp")),p(H,u("tcp"))),Ve=p(We,u("udp")),Ws=p(Ve,u("utp")),Vs=p(Ve,u("quic")),_s=p(Ve,u("quic-v1")),Ot=y(p(we,u("ws")),p(H,u("ws"))),ge=y(p(Ot,u("p2p")),Ot),Dt=y(p(we,u("wss")),p(H,u("wss")),p(we,u("tls"),u("ws")),p(H,u("tls"),u("ws"))),Y=y(p(Dt,u("p2p")),Dt),kt=y(p(we,u("http")),p(We,u("http")),p(H,u("http"))),$t=y(p(we,u("https")),p(We,u("https")),p(H,u("https"))),cn=p(Ve,u("webrtc-direct"),u("certhash")),pn=y(p(cn,u("p2p")),cn),un=p(_s,u("webtransport"),u("certhash"),u("certhash")),dn=y(p(un,u("p2p")),un),fn=y(p(ge,u("p2p-webrtc-star"),u("p2p")),p(Y,u("p2p-webrtc-star"),u("p2p")),p(ge,u("p2p-webrtc-star")),p(Y,u("p2p-webrtc-star"))),Zc=y(p(ge,u("p2p-websocket-star"),u("p2p")),p(Y,u("p2p-websocket-star"),u("p2p")),p(ge,u("p2p-websocket-star")),p(Y,u("p2p-websocket-star"))),hn=y(p(kt,u("p2p-webrtc-direct"),u("p2p")),p($t,u("p2p-webrtc-direct"),u("p2p")),p(kt,u("p2p-webrtc-direct")),p($t,u("p2p-webrtc-direct"))),ee=y(Ot,Dt,kt,$t,fn,hn,we,Ws,Vs,H,pn,dn),Yc=y(p(ee,u("p2p-stardust"),u("p2p")),p(ee,u("p2p-stardust"))),Q=y(p(ee,u("p2p")),fn,hn,pn,dn,u("p2p")),ln=y(p(Q,u("p2p-circuit"),Q),p(Q,u("p2p-circuit")),p(u("p2p-circuit"),Q),p(ee,u("p2p-circuit")),p(u("p2p-circuit"),ee),u("p2p-circuit")),mn=()=>y(p(ln,mn),ln),Z=mn(),eu=y(p(Z,Q,Z),p(Q,Z),p(Z,Q),Z,Q);var tu=y(p(Z,u("webrtc"),u("p2p")),p(Z,u("webrtc")),p(ee,u("webrtc"),u("p2p")),p(ee,u("webrtc")),u("webrtc"));function wn(e){function t(r){let n;try{n=me(r)}catch{return!1}let o=e(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return t}function p(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(o=>(n=typeof o=="function"?o().partialMatch(r):o.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:wn(t),partialMatch:t}}function y(...e){function t(n){let o=null;return e.some(s=>{let i=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return i!=null?(o=i,!0):!1}),o}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:wn(t),partialMatch:t}}function u(e){let t=e;function r(o){let s;try{s=me(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===t}function n(o){return o.length===0?null:o[0]===t?o.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}function xn(e){return e.filter(t=>{if(t.protoCodes().includes(290))return!1;let r=t.decapsulateCode(421);return ge.matches(r)||Y.matches(r)})}function yn(e){return e.filter(t=>{if(t.protoCodes().includes(290))return!1;let r=t.decapsulateCode(421);return Y.matches(r)})}function Cn(){throw new Error("WebSocket Servers can not be created in the browser!")}var Ie=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function vn(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Rt(e,t,r){let n=r??{},o=vn(e);async function*s(){let i,a=()=>{i?.()};for(t.addEventListener("abort",a);;){let d;try{if(t.aborted){let{abortMessage:c,abortCode:l}=n;throw new Ie(c,l)}let w=new Promise((c,l)=>{i=()=>{let{abortMessage:f,abortCode:v}=n;l(new Ie(f,v))}});d=await Promise.race([w,o.next()]),i=null}catch(w){t.removeEventListener("abort",a);let c=w.type==="aborted"&&t.aborted;if(c&&n.onAbort!=null&&n.onAbort(e),typeof o.return=="function")try{let l=o.return();l instanceof Promise&&l.catch(f=>{n.onReturnError!=null&&n.onReturnError(f)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(c&&n.returnOnAbort===!0)return;throw w}if(d.done===!0)break;yield d.value}t.removeEventListener("abort",a)}return s()}var _e=Le("libp2p:websockets:socket");function En(e,t,r){r=r??{};let n={async sink(o){r?.signal!=null&&(o=Rt(o,r.signal));try{await e.sink(o)}catch(s){s.type!=="aborted"&&_e.error(s)}},source:r.signal!=null?Rt(e.source,r.signal):e.source,remoteAddr:t,timeline:{open:Date.now()},async close(o={}){let s=Date.now();if(o.signal==null){let a=AbortSignal.timeout(500);o={...o,signal:a}}let i=()=>{let{host:a,port:d}=n.remoteAddr.toOptions();_e("timeout closing stream to %s:%s after %dms, destroying it manually",a,d,Date.now()-s),this.abort(new _("Socket close timeout","ERR_SOCKET_CLOSE_TIMEOUT"))};o.signal?.addEventListener("abort",i);try{await e.close()}catch(a){_e.error("error closing WebSocket gracefully",a),this.abort(a)}finally{o.signal?.removeEventListener("abort",i),n.timeline.close=Date.now()}},abort(o){let{host:s,port:i}=n.remoteAddr.toOptions();_e("timeout closing stream to %s:%s due to error",s,i,o),e.destroy(),n.timeline.close=Date.now()}};return e.socket.addEventListener("close",()=>{n.timeline.close==null&&(n.timeline.close=Date.now())},{once:!0}),n}var G=Le("libp2p:websockets"),Mt=class{init;constructor(t){this.init=t}[Symbol.toStringTag]="@libp2p/websockets";[Wt]=!0;async dial(t,r){G("dialing %s",t),r=r??{};let n=await this._connect(t,r),o=En(n,t);G("new outbound connection %s",o.remoteAddr);let s=await r.upgrader.upgradeOutbound(o);return G("outbound connection %s upgraded",o.remoteAddr),s}async _connect(t,r){if(r?.signal?.aborted===!0)throw new be;let n=t.toOptions();G("dialing %s:%s",n.host,n.port);let o=Nt(),s=en(kr(t),this.init);if(s.socket.addEventListener("error",()=>{let d=new _(`Could not connect to ${t.toString()}`,"ERR_CONNECTION_FAILED");G.error("connection error:",d),o.reject(d)}),r.signal==null)return await Promise.race([s.connected(),o.promise]),G("connected %s",t),s;let i,a=new Promise((d,w)=>{if(i=()=>{w(new be),s.close().catch(c=>{G.error("error closing raw socket",c)})},r?.signal?.aborted===!0){i();return}r?.signal?.addEventListener("abort",i)});try{await Promise.race([a,o.promise,s.connected()])}finally{i!=null&&r?.signal?.removeEventListener("abort",i)}return G("connected %s",t),s}createListener(t){return Cn({...this.init,...t})}filter(t){return t=Array.isArray(t)?t:[t],this.init?.filter!=null?this.init?.filter(t):sn||an?yn(t):xn(t)}};function Hs(e={}){return()=>new Mt(e)}return Tn(Gs);})();
3
3
  return Libp2PWebsockets}));
@@ -1 +1 @@
1
- {"version":3,"file":"socket-to-conn.d.ts","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAInD,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAID,wBAAgB,cAAc,CAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,CAqElI"}
1
+ {"version":3,"file":"socket-to-conn.d.ts","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAInD,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAID,wBAAgB,cAAc,CAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,CA6ElI"}
@@ -26,13 +26,19 @@ export function socketToMaConn(stream, remoteAddr, options) {
26
26
  timeline: { open: Date.now() },
27
27
  async close(options = {}) {
28
28
  const start = Date.now();
29
- options.signal = options.signal ?? AbortSignal.timeout(CLOSE_TIMEOUT);
29
+ if (options.signal == null) {
30
+ const signal = AbortSignal.timeout(CLOSE_TIMEOUT);
31
+ options = {
32
+ ...options,
33
+ signal
34
+ };
35
+ }
30
36
  const listener = () => {
31
37
  const { host, port } = maConn.remoteAddr.toOptions();
32
38
  log('timeout closing stream to %s:%s after %dms, destroying it manually', host, port, Date.now() - start);
33
39
  this.abort(new CodeError('Socket close timeout', 'ERR_SOCKET_CLOSE_TIMEOUT'));
34
40
  };
35
- options.signal.addEventListener('abort', listener);
41
+ options.signal?.addEventListener('abort', listener);
36
42
  try {
37
43
  await stream.close();
38
44
  }
@@ -41,7 +47,7 @@ export function socketToMaConn(stream, remoteAddr, options) {
41
47
  this.abort(err);
42
48
  }
43
49
  finally {
44
- options.signal.removeEventListener('abort', listener);
50
+ options.signal?.removeEventListener('abort', listener);
45
51
  maConn.timeline.close = Date.now();
46
52
  }
47
53
  },
@@ -1 +1 @@
1
- {"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAM9C,MAAM,GAAG,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;AAM9C,8CAA8C;AAC9C,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAE,MAAuB,EAAE,UAAqB,EAAE,OAA6B;IAC3G,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;IAEvB,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,IAAI,CAAE,MAAM;YAChB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBAC7B,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;aACjD;YAED,IAAI;gBACF,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAC1B;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACf;aACF;QACH,CAAC;QAED,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QAEjG,UAAU;QAEV,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;QAE9B,KAAK,CAAC,KAAK,CAAE,UAAwB,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YAErE,MAAM,QAAQ,GAAG,GAAS,EAAE;gBAC1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;gBACpD,GAAG,CAAC,oEAAoE,EACtE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;gBAEjC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC,CAAA;YAC/E,CAAC,CAAA;YAED,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAElD,IAAI;gBACF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;aACrB;YAAC,OAAO,GAAQ,EAAE;gBACjB,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;gBACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aAChB;oBAAS;gBACR,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACrD,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;aACnC;QACH,CAAC;QAED,KAAK,CAAE,GAAU;YACf,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;YACpD,GAAG,CAAC,8CAA8C,EAChD,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YAElB,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACpC,CAAC;KACF,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QAC3C,wDAAwD;QACxD,kEAAkE;QAClE,WAAW;QACX,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnC;IACH,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAElB,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAM9C,MAAM,GAAG,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;AAM9C,8CAA8C;AAC9C,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAE,MAAuB,EAAE,UAAqB,EAAE,OAA6B;IAC3G,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;IAEvB,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,IAAI,CAAE,MAAM;YAChB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBAC7B,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;aACjD;YAED,IAAI;gBACF,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAC1B;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACf;aACF;QACH,CAAC;QAED,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QAEjG,UAAU;QAEV,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;QAE9B,KAAK,CAAC,KAAK,CAAE,UAAwB,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAExB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBAEjD,OAAO,GAAG;oBACR,GAAG,OAAO;oBACV,MAAM;iBACP,CAAA;aACF;YAED,MAAM,QAAQ,GAAG,GAAS,EAAE;gBAC1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;gBACpD,GAAG,CAAC,oEAAoE,EACtE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;gBAEjC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC,CAAA;YAC/E,CAAC,CAAA;YAED,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAEnD,IAAI;gBACF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;aACrB;YAAC,OAAO,GAAQ,EAAE;gBACjB,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;gBACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aAChB;oBAAS;gBACR,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACtD,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;aACnC;QACH,CAAC;QAED,KAAK,CAAE,GAAU;YACf,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;YACpD,GAAG,CAAC,8CAA8C,EAChD,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YAElB,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACpC,CAAC;KACF,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QAC3C,wDAAwD;QACxD,kEAAkE;QAClE,WAAW;QACX,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;YACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnC;IACH,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAElB,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/websockets",
3
- "version": "7.0.12",
3
+ "version": "7.0.13-c960eb659",
4
4
  "description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/transport-websockets#readme",
@@ -69,9 +69,9 @@
69
69
  "test:electron-main": "aegir test -t electron-main -f ./dist/test/node.js --cov"
70
70
  },
71
71
  "dependencies": {
72
- "@libp2p/interface": "^0.1.5",
73
- "@libp2p/logger": "^3.0.5",
74
- "@libp2p/utils": "^4.0.6",
72
+ "@libp2p/interface": "0.1.6-c960eb659",
73
+ "@libp2p/logger": "3.1.0-c960eb659",
74
+ "@libp2p/utils": "4.0.7-c960eb659",
75
75
  "@multiformats/mafmt": "^12.1.2",
76
76
  "@multiformats/multiaddr": "^12.1.5",
77
77
  "@multiformats/multiaddr-to-uri": "^9.0.2",
@@ -83,7 +83,7 @@
83
83
  "ws": "^8.12.1"
84
84
  },
85
85
  "devDependencies": {
86
- "@libp2p/interface-compliance-tests": "^4.1.4",
86
+ "@libp2p/interface-compliance-tests": "4.1.5-c960eb659",
87
87
  "aegir": "^41.0.2",
88
88
  "is-loopback-addr": "^2.0.1",
89
89
  "it-all": "^3.0.1",
@@ -41,7 +41,15 @@ export function socketToMaConn (stream: DuplexWebSocket, remoteAddr: Multiaddr,
41
41
 
42
42
  async close (options: AbortOptions = {}) {
43
43
  const start = Date.now()
44
- options.signal = options.signal ?? AbortSignal.timeout(CLOSE_TIMEOUT)
44
+
45
+ if (options.signal == null) {
46
+ const signal = AbortSignal.timeout(CLOSE_TIMEOUT)
47
+
48
+ options = {
49
+ ...options,
50
+ signal
51
+ }
52
+ }
45
53
 
46
54
  const listener = (): void => {
47
55
  const { host, port } = maConn.remoteAddr.toOptions()
@@ -51,7 +59,7 @@ export function socketToMaConn (stream: DuplexWebSocket, remoteAddr: Multiaddr,
51
59
  this.abort(new CodeError('Socket close timeout', 'ERR_SOCKET_CLOSE_TIMEOUT'))
52
60
  }
53
61
 
54
- options.signal.addEventListener('abort', listener)
62
+ options.signal?.addEventListener('abort', listener)
55
63
 
56
64
  try {
57
65
  await stream.close()
@@ -59,7 +67,7 @@ export function socketToMaConn (stream: DuplexWebSocket, remoteAddr: Multiaddr,
59
67
  log.error('error closing WebSocket gracefully', err)
60
68
  this.abort(err)
61
69
  } finally {
62
- options.signal.removeEventListener('abort', listener)
70
+ options.signal?.removeEventListener('abort', listener)
63
71
  maConn.timeline.close = Date.now()
64
72
  }
65
73
  },
@@ -1,14 +0,0 @@
1
- {
2
- "all": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.all.html",
3
- "./filters:all": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.all.html",
4
- "dnsWsOrWss": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.dnsWsOrWss.html",
5
- "./filters:dnsWsOrWss": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.dnsWsOrWss.html",
6
- "dnsWss": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.dnsWss.html",
7
- "./filters:dnsWss": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.dnsWss.html",
8
- "wss": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.wss.html",
9
- "./filters:wss": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.filters.wss.html",
10
- "WebSocketsInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_websockets.index.WebSocketsInit.html",
11
- ".:WebSocketsInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_websockets.index.WebSocketsInit.html",
12
- "webSockets": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.index.webSockets.html",
13
- ".:webSockets": "https://libp2p.github.io/js-libp2p/functions/_libp2p_websockets.index.webSockets.html"
14
- }