@libp2p/websockets 6.0.3-ab0e3980 → 6.0.3-b1024c6c

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/README.md CHANGED
@@ -90,7 +90,7 @@ const node = await Libp2p.create({
90
90
  transport: [
91
91
  websockets({
92
92
  // connect to all sockets, even insecure ones
93
- filters: filters.all
93
+ filter: filters.all
94
94
  })
95
95
  ],
96
96
  streamMuxers: [
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 Bn=Object.create;var me=Object.defineProperty;var Rn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var Wn=Object.getPrototypeOf,Vn=Object.prototype.hasOwnProperty;var qn=(t,e,r)=>e in t?me(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var F=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),U=(t,e)=>{for(var r in e)me(t,r,{get:e[r],enumerable:!0})},Vt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of zn(e))!Vn.call(t,o)&&o!==r&&me(t,o,{get:()=>e[o],enumerable:!(n=Rn(e,o))||n.enumerable});return t};var H=(t,e,r)=>(r=t!=null?Bn(Wn(t)):{},Vt(e||!t||!t.__esModule?me(r,"default",{value:t,enumerable:!0}):r,t)),_n=t=>Vt(me({},"__esModule",{value:!0}),t);var Qe=(t,e,r)=>(qn(t,typeof e!="symbol"?e+"":e,r),r);var jt=F((Ti,Qt)=>{var te=1e3,re=te*60,ne=re*60,J=ne*24,Qn=J*7,jn=J*365.25;Qt.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Hn(t);if(r==="number"&&isFinite(t))return e.long?Jn(t):Gn(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Hn(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*jn;case"weeks":case"week":case"w":return r*Qn;case"days":case"day":case"d":return r*J;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ne;case"minutes":case"minute":case"mins":case"min":case"m":return r*re;case"seconds":case"second":case"secs":case"sec":case"s":return r*te;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Gn(t){var e=Math.abs(t);return e>=J?Math.round(t/J)+"d":e>=ne?Math.round(t/ne)+"h":e>=re?Math.round(t/re)+"m":e>=te?Math.round(t/te)+"s":t+"ms"}function Jn(t){var e=Math.abs(t);return e>=J?Te(t,e,J,"day"):e>=ne?Te(t,e,ne,"hour"):e>=re?Te(t,e,re,"minute"):e>=te?Te(t,e,te,"second"):t+" ms"}function Te(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Gt=F((Ii,Ht)=>{function Xn(t){r.debug=r,r.default=r,r.coerce=d,r.disable=s,r.enable=o,r.enabled=i,r.humanize=jt(),r.destroy=h,Object.keys(t).forEach(a=>{r[a]=t[a]}),r.names=[],r.skips=[],r.formatters={};function e(a){let l=0;for(let p=0;p<a.length;p++)l=(l<<5)-l+a.charCodeAt(p),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(a){let l,p=null,C,w;function b(...v){if(!b.enabled)return;let E=b,P=Number(new Date),k=P-(l||P);E.diff=k,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,($,I)=>{if($==="%%")return"%";S++;let D=r.formatters[I];if(typeof D=="function"){let ee=v[S];$=D.call(E,ee),v.splice(S,1),S--}return $}),r.formatArgs.call(E,v),(E.log||r.log).apply(E,v)}return b.namespace=a,b.useColors=r.useColors(),b.color=r.selectColor(a),b.extend=n,b.destroy=r.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(C!==r.namespaces&&(C=r.namespaces,w=r.enabled(a)),w),set:v=>{p=v}}),typeof r.init=="function"&&r.init(b),b}function n(a,l){let p=r(this.namespace+(typeof l>"u"?":":l)+a);return p.log=this.log,p}function o(a){r.save(a),r.namespaces=a,r.names=[],r.skips=[];let l,p=(typeof a=="string"?a:"").split(/[\s,]+/),C=p.length;for(l=0;l<C;l++)p[l]&&(a=p[l].replace(/\*/g,".*?"),a[0]==="-"?r.skips.push(new RegExp("^"+a.slice(1)+"$")):r.names.push(new RegExp("^"+a+"$")))}function s(){let a=[...r.names.map(c),...r.skips.map(c).map(l=>"-"+l)].join(",");return r.enable(""),a}function i(a){if(a[a.length-1]==="*")return!0;let l,p;for(l=0,p=r.skips.length;l<p;l++)if(r.skips[l].test(a))return!1;for(l=0,p=r.names.length;l<p;l++)if(r.names[l].test(a))return!0;return!1}function c(a){return a.toString().substring(2,a.toString().length-2).replace(/\.\*\?$/,"*")}function d(a){return a instanceof Error?a.stack||a.message:a}function h(){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}Ht.exports=Xn});var Jt=F((L,Ie)=>{L.formatArgs=Zn;L.save=Yn;L.load=eo;L.useColors=Kn;L.storage=to();L.destroy=(()=>{let t=!1;return()=>{t||(t=!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 Kn(){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 Zn(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ie.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}L.log=console.debug||console.log||(()=>{});function Yn(t){try{t?L.storage.setItem("debug",t):L.storage.removeItem("debug")}catch{}}function eo(){let t;try{t=L.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function to(){try{return localStorage}catch{}}Ie.exports=Gt()(L);var{formatters:ro}=Ie.exports;ro.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var yr=F((Ea,gr)=>{gr.exports=ht;var br=128,ps=127,ds=~ps,hs=Math.pow(2,31);function ht(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw ht.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=hs;)e[r++]=t&255|br,t/=128;for(;t&ds;)e[r++]=t&255|br,t>>>=7;return e[r]=t|0,ht.bytes=r-n+1,e}});var Cr=F((Sa,vr)=>{vr.exports=mt;var ms=128,xr=127;function mt(t,n){var r=0,n=n||0,o=0,s=n,i,c=t.length;do{if(s>=c||o>49)throw mt.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&xr)<<o:(i&xr)*Math.pow(2,o),o+=7}while(i>=ms);return mt.bytes=s-n,r}});var Sr=F((Aa,Er)=>{var ws=Math.pow(2,7),bs=Math.pow(2,14),gs=Math.pow(2,21),ys=Math.pow(2,28),xs=Math.pow(2,35),vs=Math.pow(2,42),Cs=Math.pow(2,49),Es=Math.pow(2,56),Ss=Math.pow(2,63);Er.exports=function(t){return t<ws?1:t<bs?2:t<gs?3:t<ys?4:t<xs?5:t<vs?6:t<Cs?7:t<Es?8:t<Ss?9:10}});var ke=F((Pa,Ar)=>{Ar.exports={encode:yr(),decode:Cr(),encodingLength:Sr()}});var Gr=F(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});var It=class{constructor(){this.pullQueue=[],this.pushQueue=[],this.eventHandlers={},this.isPaused=!1,this.isStopped=!1}push(e){if(this.isStopped)return;let r={value:e,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 e of this.pullQueue)e.resolve({value:void 0,done:!0});this.pullQueue.length=0}}fail(e){if(!this.isStopped)if(this.isStopped=!0,this.remove(),this.pullQueue.length){for(let r of this.pullQueue)r.reject(e);this.pullQueue.length=0}else{let r=Promise.reject(e);r.catch(()=>{}),this.pushQueue.push(r)}}remove(){Promise.resolve().then(()=>{this.removeCallback&&this.removeCallback()})}[Symbol.asyncIterator](){return{next:e=>{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}))}}},We=class{constructor(e,{highWaterMark:r=100,lowWaterMark:n=1}={}){let o=new It;o.highWaterMark=r,o.lowWaterMark=n,o.removeCallback=e({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)}};Ve.EventIterator=We;Ve.default=We});var Jr=F(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});var Ft=Gr();Ce.EventIterator=Ft.EventIterator;function Zs(t,e,r){return new Ft.EventIterator(({push:n})=>(this.addEventListener(t,n,e),()=>this.removeEventListener(t,n,e)),r)}Ce.subscribe=Zs;Ce.default=Ft.EventIterator});var Lt=F((iu,nn)=>{"use strict";var Ys=typeof navigator<"u"&&navigator.product==="ReactNative";function ei(){return Ys?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var Ee=self.URL,rn=ei(),Ut=class{constructor(e="",r=rn){this.super=new Ee(e,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(e){this.super.hash=e}set host(e){this.super.host=e}set hostname(e){this.super.hostname=e}set href(e){this.super.href=e}set password(e){this.super.password=e}set pathname(e){this.super.pathname=e}set port(e){this.super.port=e}set protocol(e){this.super.protocol=e}set search(e){this.super.search=e}set username(e){this.super.username=e}static createObjectURL(e){return Ee.createObjectURL(e)}static revokeObjectURL(e){Ee.revokeObjectURL(e)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function ti(t){if(typeof t=="string")return new Ee(t).toString();if(!(t instanceof Ee)){let e=t.username&&t.password?`${t.username}:${t.password}@`:"",r=t.auth?t.auth+"@":"",n=t.port?":"+t.port:"",o=t.protocol?t.protocol+"//":"",s=t.host||"",i=t.hostname||"",c=t.search||(t.query?"?"+t.query:""),d=t.hash||"",h=t.pathname||"",a=t.path||h+c;return`${o}${e||r}${s||i+n}${a}${d}`}}nn.exports={URLWithLegacySupport:Ut,URLSearchParams:self.URLSearchParams,defaultBase:rn,format:ti}});var an=F((au,sn)=>{"use strict";var{URLWithLegacySupport:on,format:ri}=Lt();sn.exports=(t,e={},r={},n)=>{let o=e.protocol?e.protocol.replace(":",""):"http";o=(r[o]||n||o)+":";let s;try{s=new on(t)}catch{s={}}let i=Object.assign({},e,{protocol:o||s.protocol,host:e.host||s.host});return new on(t,ri(i)).toString()}});var un=F((cu,cn)=>{"use strict";var{URLWithLegacySupport:ni,format:oi,URLSearchParams:si,defaultBase:ii}=Lt(),ai=an();cn.exports={URL:ni,URLSearchParams:si,format:oi,relative:ai,defaultBase:ii}});var hn=F((mu,dn)=>{function li(){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)}dn.exports=li});var Ci={};U(Ci,{webSockets:()=>vi});var _t=Symbol.for("@libp2p/transport");var qt;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(qt||(qt={}));var Pe=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Pe.code,this.type=Pe.type}},G=Pe;Qe(G,"code","ABORT_ERR"),Qe(G,"type","aborted");var Ae=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var N=H(Jt(),1);var Xe={};U(Xe,{base32:()=>B,base32hex:()=>fo,base32hexpad:()=>ho,base32hexpadupper:()=>mo,base32hexupper:()=>po,base32pad:()=>uo,base32padupper:()=>lo,base32upper:()=>co,base32z:()=>wo});function no(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var c=t.length,d=t.charAt(0),h=Math.log(c)/Math.log(256),a=Math.log(256)/Math.log(c);function l(w){if(w instanceof Uint8Array||(ArrayBuffer.isView(w)?w=new Uint8Array(w.buffer,w.byteOffset,w.byteLength):Array.isArray(w)&&(w=Uint8Array.from(w))),!(w instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(w.length===0)return"";for(var b=0,v=0,E=0,P=w.length;E!==P&&w[E]===0;)E++,b++;for(var k=(P-E)*a+1>>>0,S=new Uint8Array(k);E!==P;){for(var M=w[E],$=0,I=k-1;(M!==0||$<v)&&I!==-1;I--,$++)M+=256*S[I]>>>0,S[I]=M%c>>>0,M=M/c>>>0;if(M!==0)throw new Error("Non-zero carry");v=$,E++}for(var D=k-v;D!==k&&S[D]===0;)D++;for(var ee=d.repeat(b);D<k;++D)ee+=t.charAt(S[D]);return ee}function p(w){if(typeof w!="string")throw new TypeError("Expected String");if(w.length===0)return new Uint8Array;var b=0;if(w[b]!==" "){for(var v=0,E=0;w[b]===d;)v++,b++;for(var P=(w.length-b)*h+1>>>0,k=new Uint8Array(P);w[b];){var S=r[w.charCodeAt(b)];if(S===255)return;for(var M=0,$=P-1;(S!==0||M<E)&&$!==-1;$--,M++)S+=c*k[$]>>>0,k[$]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");E=M,b++}if(w[b]!==" "){for(var I=P-E;I!==P&&k[I]===0;)I++;for(var D=new Uint8Array(v+(P-I)),ee=v;I!==P;)D[ee++]=k[I++];return D}}}function C(w){var b=p(w);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:C}}var oo=no,so=oo,Xt=so;var Ui=new Uint8Array(0);var Kt=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},z=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Zt=t=>new TextEncoder().encode(t),Yt=t=>new TextDecoder().decode(t);var je=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},He=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return tr(this,e)}},Ge=class{constructor(e){this.decoders=e}or(e){return tr(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},tr=(t,e)=>new Ge({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Je=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new je(e,r,n),this.decoder=new He(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},oe=({name:t,prefix:e,encode:r,decode:n})=>new Je(t,e,r,n),q=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Xt(r,e);return oe({prefix:t,name:e,encode:n,decode:s=>z(o(s))})},io=(t,e,r,n)=>{let o={};for(let a=0;a<e.length;++a)o[e[a]]=a;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),c=0,d=0,h=0;for(let a=0;a<s;++a){let l=o[t[a]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);d=d<<r|l,c+=r,c>=8&&(c-=8,i[h++]=255&d>>c)}if(c>=r||255&d<<8-c)throw new SyntaxError("Unexpected end of data");return i},ao=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,c=0;for(let d=0;d<t.length;++d)for(c=c<<8|t[d],i+=8;i>r;)i-=r,s+=e[o&c>>i];if(i&&(s+=e[o&c<<r-i]),n)for(;s.length*r&7;)s+="=";return s},y=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>oe({prefix:e,name:t,encode(o){return ao(o,n,r)},decode(o){return io(o,n,r,t)}});var B=y({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),co=y({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),uo=y({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),lo=y({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),fo=y({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),po=y({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ho=y({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),mo=y({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wo=y({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ke={};U(Ke,{base58btc:()=>A,base58flickr:()=>bo});var A=q({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),bo=q({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ye={};U(Ye,{base64:()=>Ze,base64pad:()=>go,base64url:()=>yo,base64urlpad:()=>xo});var Ze=y({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),go=y({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),yo=y({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),xo=y({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});N.default.formatters.b=t=>t==null?"undefined":A.baseEncode(t);N.default.formatters.t=t=>t==null?"undefined":B.baseEncode(t);N.default.formatters.m=t=>t==null?"undefined":Ze.baseEncode(t);N.default.formatters.p=t=>t==null?"undefined":t.toString();N.default.formatters.c=t=>t==null?"undefined":t.toString();N.default.formatters.k=t=>t==null?"undefined":t.toString();N.default.formatters.a=t=>t==null?"undefined":t.toString();function vo(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Fe(t){let e=vo(`${t}:trace`);return N.default.enabled(`${t}:trace`)&&N.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,N.default)(`${t}:trace`)),Object.assign((0,N.default)(t),{error:(0,N.default)(`${t}:error`),trace:e})}var Co=or,rr=128,Eo=127,So=~Eo,Ao=Math.pow(2,31);function or(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Ao;)e[r++]=t&255|rr,t/=128;for(;t&So;)e[r++]=t&255|rr,t>>>=7;return e[r]=t|0,or.bytes=r-n+1,e}var Po=et,To=128,nr=127;function et(t,n){var r=0,n=n||0,o=0,s=n,i,c=t.length;do{if(s>=c)throw et.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&nr)<<o:(i&nr)*Math.pow(2,o),o+=7}while(i>=To);return et.bytes=s-n,r}var Io=Math.pow(2,7),Fo=Math.pow(2,14),Uo=Math.pow(2,21),Lo=Math.pow(2,28),No=Math.pow(2,35),Oo=Math.pow(2,42),ko=Math.pow(2,49),$o=Math.pow(2,56),Do=Math.pow(2,63),Mo=function(t){return t<Io?1:t<Fo?2:t<Uo?3:t<Lo?4:t<No?5:t<Oo?6:t<ko?7:t<$o?8:t<Do?9:10},Bo={encode:Co,decode:Po,encodingLength:Mo},Ro=Bo,we=Ro;var be=(t,e=0)=>[we.decode(t,e),we.decode.bytes],se=(t,e,r=0)=>(we.encode(t,e,r),e),ie=t=>we.encodingLength(t);var X=(t,e)=>{let r=e.byteLength,n=ie(t),o=n+ie(r),s=new Uint8Array(o+r);return se(t,s,0),se(r,s,n),s.set(e,o),new ae(t,r,e,s)},Le=t=>{let e=z(t),[r,n]=be(e),[o,s]=be(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ae(r,o,i,e)},sr=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Kt(t.bytes,r.bytes)}},ae=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var ir=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Wo(r,tt(t),e||A.encoder);default:return Vo(r,tt(t),e||B.encoder)}};var ar=new WeakMap,tt=t=>{let e=ar.get(t);if(e==null){let r=new Map;return ar.set(t,r),r}return e},g=class{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==ge)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==qo)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return g.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=X(e,r);return g.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return g.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&sr(e.multihash,n.multihash)}toString(e){return ir(this,e)}toJSON(){return{"/":ir(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof g)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new g(n,o,s,i||cr(n,o,s.bytes))}else if(r[_o]===!0){let{version:n,multihash:o,code:s}=r,i=Le(o);return g.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==ge)throw new Error(`Version 0 CID must use dag-pb (code: ${ge}) block encoding`);return new g(e,r,n,n.bytes)}case 1:{let o=cr(e,r,n.bytes);return new g(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return g.create(0,ge,e)}static createV1(e,r){return g.create(1,e,r)}static decode(e){let[r,n]=g.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=g.inspectBytes(e),n=r.size-r.multihashSize,o=z(e.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 ae(r.multihashCode,r.digestSize,s,o);return[r.version===0?g.createV0(i):g.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,p]=be(e.subarray(r));return r+=p,l},o=n(),s=ge;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,c=n(),d=n(),h=r+d,a=h-i;return{version:o,codec:s,multihashCode:c,digestSize:d,multihashSize:a,size:h}}static parse(e,r){let[n,o]=zo(e,r),s=g.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return tt(s).set(n,e),s}},zo=(t,e)=>{switch(t[0]){case"Q":{let r=e||A;return[A.prefix,r.decode(`${A.prefix}${t}`)]}case A.prefix:{let r=e||A;return[A.prefix,r.decode(t)]}case B.prefix:{let r=e||B;return[B.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Wo=(t,e,r)=>{let{prefix:n}=r;if(n!==A.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},Vo=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},ge=112,qo=18,cr=(t,e,r)=>{let n=ie(t),o=n+ie(e),s=new Uint8Array(o+r.byteLength);return se(t,s,0),se(e,s,n),s.set(r,o),s},_o=Symbol.for("@ipld/js-cid/CID");function ur(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var rt={};U(rt,{identity:()=>Qo});var Qo=oe({prefix:"\0",name:"identity",encode:t=>Yt(t),decode:t=>Zt(t)});var nt={};U(nt,{base2:()=>jo});var jo=y({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ot={};U(ot,{base8:()=>Ho});var Ho=y({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var st={};U(st,{base10:()=>Go});var Go=q({prefix:"9",name:"base10",alphabet:"0123456789"});var it={};U(it,{base16:()=>Jo,base16upper:()=>Xo});var Jo=y({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Xo=y({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var at={};U(at,{base36:()=>Ko,base36upper:()=>Zo});var Ko=q({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Zo=q({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ct={};U(ct,{base256emoji:()=>ns});var lr=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}"),Yo=lr.reduce((t,e,r)=>(t[r]=e,t),[]),es=lr.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function ts(t){return t.reduce((e,r)=>(e+=Yo[r],e),"")}function rs(t){let e=[];for(let r of t){let n=es[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var ns=oe({prefix:"\u{1F680}",name:"base256emoji",encode:ts,decode:rs});var ft={};U(ft,{sha256:()=>os,sha512:()=>ss});var lt=({name:t,code:e,encode:r})=>new ut(t,e,r),ut=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);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=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),os=lt({name:"sha2-256",code:18,encode:pr("SHA-256")}),ss=lt({name:"sha2-512",code:19,encode:pr("SHA-512")});var pt={};U(pt,{identity:()=>cs});var dr=0,is="identity",hr=z,as=t=>X(dr,hr(t)),cs={code:dr,name:is,encode:hr,digest:as};var aa=new TextEncoder,ca=new TextDecoder;var ye={...rt,...nt,...ot,...st,...it,...Xe,...at,...Ke,...Ye,...ct},da={...ft,...pt};function ue(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Ne(t=0){return globalThis.Buffer?.allocUnsafe!=null?ue(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function wr(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var mr=wr("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),dt=wr("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ne(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),fs={utf8:mr,"utf-8":mr,hex:ye.base16,latin1:dt,ascii:dt,binary:dt,...ye},Oe=fs;function T(t,e="utf8"){let r=Oe[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Tt=H(ke(),1);function W(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Ne(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return ue(r)}var fe=H(ke(),1);var $e=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let s=0,i=0,c=this.peekChar();if(c===void 0)return;let d=c==="0",h=2**(8*o)-1;for(;;){let a=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let p=Number.parseInt(l,e);if(!Number.isNaN(p))return p});if(a===void 0)break;if(s*=e,s+=a,s>h||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&d&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let 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]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[c]=e(s.subarray(0,i));return r.set(s.subarray(0,c),16-c),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Pr=45,As=15,le=new $e;function wt(t){if(!(t.length>As))return le.new(t).parseWith(()=>le.readIPv4Addr())}function bt(t){if(!(t.length>Pr))return le.new(t).parseWith(()=>le.readIPv6Addr())}function De(t){if(!(t.length>Pr))return le.new(t).parseWith(()=>le.readIPAddr())}var Ra=parseInt("0xFFFF",16),za=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function xe(t,e="utf8"){let r=Oe[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ue(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var R=H(ke(),1);function Fr(t){return!!wt(t)}function Ur(t){return!!bt(t)}function Me(t){return!!De(t)}var Lr=Fr,Us=Ur,gt=function(t){let e=0;if(t=t.toString().trim(),Lr(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Us(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Lr(r[n]),i;s&&(i=gt(r[n]),r[n]=T(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,T(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(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},Nr=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let o=[];for(let s=0;s<r;s++)o.push(t[e+s]);return o.join(".")}if(r===16){let o=[];for(let s=0;s<r;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ve={},yt={},Ns=[[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"]];Ns.forEach(t=>{let e=Os(...t);yt[e.code]=e,ve[e.name]=e});function Os(t,e,r,n,o){return{code:t,size:e,name:r,resolvable:!!n,path:!!o}}function m(t){if(typeof t=="number"){if(yt[t]!=null)return yt[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ve[t]!=null)return ve[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Pc=m("ip4"),Tc=m("ip6"),Ic=m("ipcidr");function Mr(t,e){switch(m(t).code){case 4:case 41:return $s(e);case 42:return $r(e);case 6:case 273:case 33:case 132:return Rr(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $r(e);case 421:return Rs(e);case 444:return Dr(e);case 445:return Dr(e);case 466:return Bs(e);default:return T(e,"base16")}}function Br(t,e){switch(m(t).code){case 4:return Or(e);case 41:return Or(e);case 42:return kr(e);case 6:case 273:case 33:case 132:return vt(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return kr(e);case 421:return Ds(e);case 444:return zs(e);case 445:return Ws(e);case 466:return Ms(e);default:return xe(e,"base16")}}var xt=Object.values(ye).map(t=>t.decoder),ks=function(){let t=xt[0].or(xt[1]);return xt.slice(2).forEach(e=>t=t.or(e)),t}();function Or(t){if(!Me(t))throw new Error("invalid ip address");return gt(t)}function $s(t){let e=Nr(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Me(e))throw new Error("invalid ip address");return e}function vt(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Rr(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function kr(t){let e=xe(t),r=Uint8Array.from(R.default.encode(e.length));return W([r,e],r.length+e.length)}function $r(t){let e=R.default.decode(t);if(t=t.slice(R.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return T(t)}function Ds(t){let e;t[0]==="Q"||t[0]==="1"?e=Le(A.decode(`z${t}`)).bytes:e=g.parse(t).multihash.bytes;let r=Uint8Array.from(R.default.encode(e.length));return W([r,e],r.length+e.length)}function Ms(t){let e=ks.decode(t),r=Uint8Array.from(R.default.encode(e.length));return W([r,e],r.length+e.length)}function Bs(t){let e=R.default.decode(t),r=t.slice(R.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+T(r,"base64url")}function Rs(t){let e=R.default.decode(t),r=t.slice(R.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return T(r,"base58btc")}function zs(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=B.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=vt(n);return W([r,o],r.length+o.length)}function Ws(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=B.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=vt(n);return W([r,o],r.length+o.length)}function Dr(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=T(e,"base32"),o=Rr(r);return`${n}:${o}`}function Vs(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let o=r[n],s=m(o);if(s.size===0){e.push([o]);continue}if(n++,n>=r.length)throw Wr("invalid address: "+t);if(s.path===!0){e.push([o,Pt(r.slice(n).join("/"))]);break}e.push([o,r[n]])}return e}function qs(t){let e=[];return t.map(r=>{let n=ze(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Pt(e.join("/"))}function _s(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=ze(e);return e.length>1?[r.code,Br(r.code,e[1])]:[r.code]})}function Ct(t){return t.map(e=>{let r=ze(e);return e[1]!=null?[r.code,Mr(r.code,e[1])]:[r.code]})}function Et(t){return Re(W(t.map(e=>{let r=ze(e),n=Uint8Array.from(fe.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=W([n,e[1]])),n})))}function St(t,e){return t.size>0?t.size/8:t.size===0?0:fe.default.decode(e)+(fe.default.decode.bytes??0)}function Be(t){let e=[],r=0;for(;r<t.length;){let n=fe.default.decode(t,r),o=fe.default.decode.bytes??0,s=m(n),i=St(s,t.slice(r+o));if(i===0){e.push([n]),r+=o;continue}let c=t.slice(r+o,r+o+i);if(r+=i+o,r>t.length)throw Wr("Invalid address Uint8Array: "+T(t,"base16"));e.push([n,c])}return e}function At(t){let e=Be(t),r=Ct(e);return qs(r)}function Qs(t){t=Pt(t);let e=Vs(t),r=_s(e);return Et(r)}function zr(t){return Qs(t)}function Re(t){let e=js(t);if(e!=null)throw e;return Uint8Array.from(t)}function js(t){try{Be(t)}catch(e){return e}}function Pt(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Wr(t){return new Error("Error parsing address: "+t)}function ze(t){return m(t[0])}var Gs=Symbol.for("nodejs.util.inspect.custom"),Js=[m("dns").code,m("dns4").code,m("dns6").code,m("dnsaddr").code],Xs=new Map,Vr=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Ks(t){return!!t?.[Vr]}var V=class{bytes;#t;#r;#n;#e;[Vr]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=Re(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=zr(e)}else if(Ks(e))this.bytes=Re(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#t==null&&(this.#t=At(this.bytes)),this.#t}toJSON(){return this.toString()}toOptions(){let e,r,n,o,s="",i=m("tcp"),c=m("udp"),d=m("ip4"),h=m("ip6"),a=m("dns6"),l=m("ip6zone");for(let[C,w]of this.stringTuples())C===l.code&&(s=`%${w??""}`),Js.includes(C)&&(r=i.name,o=443,n=`${w??""}${s}`,e=C===a.code?6:4),(C===i.code||C===c.code)&&(r=m(C).name,o=parseInt(w??"")),(C===d.code||C===h.code)&&(r=m(C).name,n=`${w??""}${s}`,e=C===h.code?6:4);if(e==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:e,host:n,transport:r,port:o}}protos(){return this.protoCodes().map(e=>Object.assign({},m(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let o=Tt.default.decode(r,n),s=Tt.default.decode.bytes??0,i=m(o),c=St(i,r.slice(n+s));n+=c+s,e.push(o)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#r==null&&(this.#r=Be(this.bytes)),this.#r}stringTuples(){return this.#n==null&&(this.#n=Ct(this.tuples())),this.#n}encapsulate(e){return e=new V(e),new V(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new V(n.slice(0,o))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new V(Et(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===ve.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?T(A.decode(`z${n}`),"base58btc"):T(g.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#e===void 0)try{this.#e=this.stringTuples().filter(e=>m(e[0]).path===!0)[0][1],this.#e==null&&(this.#e=null)}catch{this.#e=null}return this.#e}equals(e){return ur(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Xs.get(r.name);if(n==null)throw new Ae(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new V(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Gs](){return`Multiaddr(${At(this.bytes)})`}};function pe(t){return new V(t)}function qr(t){let e;try{e=m("sni").code}catch{return null}for(let[r,n]of t)if(r===e&&n!==void 0)return n;return null}function _r(t){return t.some(([e,r])=>e===m("tls").code)}function O(t,e,r){let n=Qr[m(t).name];if(n===void 0)throw new Error(`Can't interpret protocol ${m(t).name}`);let o=n(e,r);return t===m("ip6").code?`[${o}]`:o}var Qr={ip4:(t,e)=>t,ip6:(t,e)=>e.length===0?t:`[${t}]`,tcp:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${O(r[0],r[1]??"",e)}:${t}`},udp:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${O(r[0],r[1]??"",e)}:${t}`},dnsaddr:(t,e)=>t,dns4:(t,e)=>t,dns6:(t,e)=>t,dns:(t,e)=>t,ipfs:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",e)}/ipfs/${t}`},p2p:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",e)}/p2p/${t}`},http:(t,e)=>{let r=_r(e),n=qr(e);if(r&&n!==null)return`https://${n}`;let o=r?"https://":"http://",s=e.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=O(s[0],s[1]??"",e);return i=i.replace("tcp://",""),`${o}${i}`},tls:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return O(r[0],r[1]??"",e)},sni:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return O(r[0],r[1]??"",e)},https:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=O(r[0],r[1]??"",e);return n=n.replace("tcp://",""),`https://${n}`},ws:(t,e)=>{let r=_r(e),n=qr(e);if(r&&n!==null)return`wss://${n}`;let o=r?"wss://":"ws://",s=e.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=O(s[0],s[1]??"",e);return i=i.replace("tcp://",""),`${o}${i}`},wss:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=O(r[0],r[1]??"",e);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",e)}/p2p-websocket-star`},"p2p-webrtc-star":(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",e)}/p2p-webrtc-star`},"p2p-webrtc-direct":(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${O(r[0],r[1]??"",e)}/p2p-webrtc-direct`}};function jr(t,e){let n=pe(t).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=m(o[0]),i=Qr[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let c=i(o[1]??"",n);return e?.assumeHttp!==!1&&o[0]===m("tcp").code&&(c=c.replace("tcp://","http://"),(o[1]==="443"||o[1]==="80")&&(o[1]==="443"&&(c=c.replace("http://","https://")),c=c.substring(0,c.lastIndexOf(":")))),c}var Hr=WebSocket;var Kr=H(Jr(),1);function Xr(t){return t instanceof ArrayBuffer||t?.constructor?.name==="ArrayBuffer"&&typeof t?.byteLength=="number"}var Zr=t=>{t.binaryType="arraybuffer";let e=async()=>{await new Promise((s,i)=>{if(n){s();return}if(o!=null){i(o);return}let c=a=>{t.removeEventListener("open",d),t.removeEventListener("error",h),a()},d=()=>{c(s)},h=a=>{c(()=>{i(a.error??new Error(`connect ECONNREFUSED ${t.url}`))})};t.addEventListener("open",d),t.addEventListener("error",h)})},r=async function*(){let s=new Kr.EventIterator(({push:i,stop:c,fail:d})=>{let h=l=>{let p=null;typeof l.data=="string"&&(p=xe(l.data)),Xr(l.data)&&(p=new Uint8Array(l.data)),l.data instanceof Uint8Array&&(p=l.data),p!=null&&i(p)},a=l=>{d(l.error??new Error("Socket error"))};return t.addEventListener("message",h),t.addEventListener("error",a),t.addEventListener("close",c),()=>{t.removeEventListener("message",h),t.removeEventListener("error",a),t.removeEventListener("close",c)}},{highWaterMark:1/0});await e();for await(let i of s)yield Xr(i)?new Uint8Array(i):i}(),n=t.readyState===1,o;return t.addEventListener("open",()=>{n=!0,o=null}),t.addEventListener("close",()=>{n=!1,o=null}),t.addEventListener("error",s=>{n||(o=s.error??new Error(`connect ECONNREFUSED ${t.url}`))}),Object.assign(r,{connected:e})};var Yr=async t=>{if(t.readyState>=2)throw new Error("socket closed");t.readyState!==1&&await new Promise((e,r)=>{function n(){t.removeEventListener("open",o),t.removeEventListener("error",s)}function o(){n(),e()}function s(i){n(),r(i.error??new Error(`connect ECONNREFUSED ${t.url}`))}t.addEventListener("open",o),t.addEventListener("error",s)})};var en=(t,e)=>(e=e??{},e.closeOnEnd=e.closeOnEnd!==!1,async n=>{for await(let o of n){try{await Yr(t)}catch(s){if(s.message==="socket closed")break;throw s}t.send(o)}e.closeOnEnd!=null&&t.readyState<=1&&await new Promise((o,s)=>{t.addEventListener("close",i=>{if(i.wasClean||i.code===1006)o();else{let c=Object.assign(new Error("ws error"),{event:i});s(c)}}),setTimeout(()=>{t.close()})})});var tn=(t,e)=>{e=e??{};let r=Zr(t),n=e.remoteAddress,o=e.remotePort;if(t.url!=null)try{let i=new URL(t.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:en(t,e),source:r,connected:async()=>{await r.connected()},close:async()=>{(t.readyState===t.CONNECTING||t.readyState===t.OPEN)&&await new Promise(i=>{t.addEventListener("close",()=>{i()}),t.close()})},destroy:()=>{t.terminate!=null?t.terminate():t.close()},remoteAddress:n,remotePort:o,socket:t}};var ln=H(un(),1),ci={http:"ws",https:"wss"},ui="ws",fn=(t,e)=>(0,ln.relative)(t,e,ci,ui);function pn(t,e){let r=typeof window>"u"?"":window.location;e=e??{};let n=fn(t,r.toString()),o=new Hr(n,e.websocket);return tn(o,e)}function Nt(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var mn=H(hn(),1),fi=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,wn=(0,mn.default)(),bn=fi&&!wn;var wu=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!wn,gn=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,bu=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",gu=typeof navigator<"u"&&navigator.product==="ReactNative";var pi=u("dns4"),di=u("dns6"),hi=u("dnsaddr"),Q=x(u("dns"),hi,pi,di),qe=x(u("ip4"),u("ip6")),de=x(f(qe,u("tcp")),f(Q,u("tcp"))),_e=f(qe,u("udp")),mi=f(_e,u("utp")),wi=f(_e,u("quic")),bi=f(_e,u("quic-v1")),Ot=x(f(de,u("ws")),f(Q,u("ws"))),he=x(f(Ot,u("p2p")),Ot),kt=x(f(de,u("wss")),f(Q,u("wss")),f(de,u("tls"),u("ws")),f(Q,u("tls"),u("ws"))),Z=x(f(kt,u("p2p")),kt),$t=x(f(de,u("http")),f(qe,u("http")),f(Q,u("http"))),Dt=x(f(de,u("https")),f(qe,u("https")),f(Q,u("https"))),yn=f(_e,u("webrtc-direct"),u("certhash")),Cn=x(f(yn,u("p2p")),yn),xn=f(bi,u("webtransport"),u("certhash"),u("certhash")),En=x(f(xn,u("p2p")),xn),Sn=x(f(he,u("p2p-webrtc-star"),u("p2p")),f(Z,u("p2p-webrtc-star"),u("p2p")),f(he,u("p2p-webrtc-star")),f(Z,u("p2p-webrtc-star"))),vu=x(f(he,u("p2p-websocket-star"),u("p2p")),f(Z,u("p2p-websocket-star"),u("p2p")),f(he,u("p2p-websocket-star")),f(Z,u("p2p-websocket-star"))),An=x(f($t,u("p2p-webrtc-direct"),u("p2p")),f(Dt,u("p2p-webrtc-direct"),u("p2p")),f($t,u("p2p-webrtc-direct")),f(Dt,u("p2p-webrtc-direct"))),Y=x(Ot,kt,$t,Dt,Sn,An,de,mi,wi,Q,Cn,En),Cu=x(f(Y,u("p2p-stardust"),u("p2p")),f(Y,u("p2p-stardust"))),_=x(f(Y,u("p2p")),Sn,An,Cn,En,u("p2p")),vn=x(f(_,u("p2p-circuit"),_),f(_,u("p2p-circuit")),f(u("p2p-circuit"),_),f(Y,u("p2p-circuit")),f(u("p2p-circuit"),Y),u("p2p-circuit")),Pn=()=>x(f(vn,Pn),vn),K=Pn(),Eu=x(f(K,_,K),f(_,K),f(K,_),K,_);var Su=x(f(K,u("webrtc"),u("p2p")),f(K,u("webrtc")),f(Y,u("webrtc"),u("p2p")),f(Y,u("webrtc")),u("webrtc"));function Tn(t){function e(r){let n;try{n=pe(r)}catch{return!1}let o=t(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function f(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(o=>(n=typeof o=="function"?o().partialMatch(r):o.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Tn(e),partialMatch:e}}function x(...t){function e(n){let o=null;return t.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"{ "+t.join(" ")+" }"},input:t,matches:Tn(e),partialMatch:e}}function u(t){let e=t;function r(o){let s;try{s=pe(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===e}function n(o){return o.length===0?null:o[0]===e?o.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}function Un(t){return t.filter(e=>{if(e.protoCodes().includes(290))return!1;let r=e.decapsulateCode(421);return he.matches(r)||Z.matches(r)})}function Ln(t){return t.filter(e=>{if(e.protoCodes().includes(290))return!1;let r=e.decapsulateCode(421);return Z.matches(r)})}function Nn(){throw new Error("WebSocket Servers can not be created in the browser!")}var Se=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function On(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function Mt(t,e,r){let n=r??{},o=On(t);async function*s(){let i,c=()=>{i?.()};for(e.addEventListener("abort",c);;){let d;try{if(e.aborted){let{abortMessage:a,abortCode:l}=n;throw new Se(a,l)}let h=new Promise((a,l)=>{i=()=>{let{abortMessage:p,abortCode:C}=n;l(new Se(p,C))}});d=await Promise.race([h,o.next()]),i=null}catch(h){e.removeEventListener("abort",c);let a=h.type==="aborted"&&e.aborted;if(a&&n.onAbort!=null&&n.onAbort(t),typeof o.return=="function")try{let l=o.return();l instanceof Promise&&l.catch(p=>{n.onReturnError!=null&&n.onReturnError(p)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(a&&n.returnOnAbort===!0)return;throw h}if(d.done===!0)break;yield d.value}e.removeEventListener("abort",c)}return s()}var Bt=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Rt=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},kn=t=>globalThis.DOMException===void 0?new Rt(t):new DOMException(t),$n=t=>{let e=t.reason===void 0?kn("This operation was aborted."):t.reason;return e instanceof Error?e:kn(e)};function zt(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=e,i,d=new Promise((h,a)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:p}=e;p.aborted&&a($n(p)),p.addEventListener("abort",()=>{a($n(p))})}if(r===Number.POSITIVE_INFINITY){t.then(h,a);return}let l=new Bt;i=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(p){a(p)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?h():o instanceof Error?a(o):(l.message=o??`Promise timed out after ${r} milliseconds`,a(l))},r),(async()=>{try{h(await t)}catch(p){a(p)}})()}).finally(()=>{d.clear()});return d.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},d}var Dn=Fe("libp2p:websockets:socket");function Mn(t,e,r){r=r??{};let n={async sink(o){r?.signal!=null&&(o=Mt(o,r.signal));try{await t.sink(o)}catch(s){s.type!=="aborted"&&Dn.error(s)}},source:r.signal!=null?Mt(t.source,r.signal):t.source,remoteAddr:e,timeline:{open:Date.now()},async close(){let o=Date.now();try{await zt(t.close(),{milliseconds:2e3})}catch{let{host:i,port:c}=n.remoteAddr.toOptions();Dn("timeout closing stream to %s:%s after %dms, destroying it manually",i,c,Date.now()-o),t.destroy()}finally{n.timeline.close=Date.now()}}};return t.socket.addEventListener("close",()=>{n.timeline.close==null&&(n.timeline.close=Date.now())},{once:!0}),n}var j=Fe("libp2p:websockets"),Wt=class{init;constructor(e){this.init=e}[Symbol.toStringTag]="@libp2p/websockets";[_t]=!0;async dial(e,r){j("dialing %s",e),r=r??{};let n=await this._connect(e,r),o=Mn(n,e);j("new outbound connection %s",o.remoteAddr);let s=await r.upgrader.upgradeOutbound(o);return j("outbound connection %s upgraded",o.remoteAddr),s}async _connect(e,r){if(r?.signal?.aborted===!0)throw new G;let n=e.toOptions();j("dialing %s:%s",n.host,n.port);let o=Nt(),s=h=>{j.error("connection error:",h),o.reject(h)},i=pn(jr(e),this.init);if(i.socket.on!=null?i.socket.on("error",s):i.socket.onerror=s,r.signal==null)return await Promise.race([i.connected(),o.promise]),j("connected %s",e),i;let c,d=new Promise((h,a)=>{if(c=()=>{a(new G),i.close().catch(l=>{j.error("error closing raw socket",l)})},r?.signal?.aborted===!0){c();return}r?.signal?.addEventListener("abort",c)});try{await Promise.race([d,o.promise,i.connected()])}finally{c!=null&&r?.signal?.removeEventListener("abort",c)}return j("connected %s",e),i}createListener(e){return Nn({...this.init,...e})}filter(e){return e=Array.isArray(e)?e:[e],this.init?.filter!=null?this.init?.filter(e):bn||gn?Ln(e):Un(e)}};function vi(t={}){return()=>new Wt(t)}return _n(Ci);})();
2
+ "use strict";var Libp2PWebsockets=(()=>{var Ho=Object.create;var Pe=Object.defineProperty;var Xo=Object.getOwnPropertyDescriptor;var Ko=Object.getOwnPropertyNames;var Zo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var es=(t,e,r)=>e in t?Pe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),P=(t,e)=>{for(var r in e)Pe(t,r,{get:e[r],enumerable:!0})},Tr=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ko(e))!Yo.call(t,o)&&o!==r&&Pe(t,o,{get:()=>e[o],enumerable:!(n=Xo(e,o))||n.enumerable});return t};var ee=(t,e,r)=>(r=t!=null?Ho(Zo(t)):{},Tr(e||!t||!t.__esModule?Pe(r,"default",{value:t,enumerable:!0}):r,t)),ts=t=>Tr(Pe({},"__esModule",{value:!0}),t);var $e=(t,e,r)=>(es(t,typeof e!="symbol"?e+"":e,r),r);var Or=R((Xc,Nr)=>{var ce=1e3,ue=ce*60,pe=ue*60,re=pe*24,rs=re*7,ns=re*365.25;Nr.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return os(t);if(r==="number"&&isFinite(t))return e.long?is(t):ss(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function os(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*ns;case"weeks":case"week":case"w":return r*rs;case"days":case"day":case"d":return r*re;case"hours":case"hour":case"hrs":case"hr":case"h":return r*pe;case"minutes":case"minute":case"mins":case"min":case"m":return r*ue;case"seconds":case"second":case"secs":case"sec":case"s":return r*ce;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ss(t){var e=Math.abs(t);return e>=re?Math.round(t/re)+"d":e>=pe?Math.round(t/pe)+"h":e>=ue?Math.round(t/ue)+"m":e>=ce?Math.round(t/ce)+"s":t+"ms"}function is(t){var e=Math.abs(t);return e>=re?qe(t,e,re,"day"):e>=pe?qe(t,e,pe,"hour"):e>=ue?qe(t,e,ue,"minute"):e>=ce?qe(t,e,ce,"second"):t+" ms"}function qe(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var kr=R((Kc,Lr)=>{function as(t){r.debug=r,r.default=r,r.coerce=d,r.disable=s,r.enable=o,r.enabled=i,r.humanize=Or(),r.destroy=g,Object.keys(t).forEach(c=>{r[c]=t[c]}),r.names=[],r.skips=[],r.formatters={};function e(c){let p=0;for(let m=0;m<c.length;m++)p=(p<<5)-p+c.charCodeAt(m),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(c){let p,m=null,I,u;function l(...v){if(!l.enabled)return;let b=l,x=Number(new Date),C=x-(p||x);b.diff=C,b.prev=p,b.curr=x,p=x,v[0]=r.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let w=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(U,y)=>{if(U==="%%")return"%";w++;let A=r.formatters[y];if(typeof A=="function"){let k=v[w];U=A.call(b,k),v.splice(w,1),w--}return U}),r.formatArgs.call(b,v),(b.log||r.log).apply(b,v)}return l.namespace=c,l.useColors=r.useColors(),l.color=r.selectColor(c),l.extend=n,l.destroy=r.destroy,Object.defineProperty(l,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(I!==r.namespaces&&(I=r.namespaces,u=r.enabled(c)),u),set:v=>{m=v}}),typeof r.init=="function"&&r.init(l),l}function n(c,p){let m=r(this.namespace+(typeof p>"u"?":":p)+c);return m.log=this.log,m}function o(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let p,m=(typeof c=="string"?c:"").split(/[\s,]+/),I=m.length;for(p=0;p<I;p++)m[p]&&(c=m[p].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(p=>"-"+p)].join(",");return r.enable(""),c}function i(c){if(c[c.length-1]==="*")return!0;let p,m;for(p=0,m=r.skips.length;p<m;p++)if(r.skips[p].test(c))return!1;for(p=0,m=r.names.length;p<m;p++)if(r.names[p].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 g(){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}Lr.exports=as});var Dr=R((B,je)=>{B.formatArgs=us;B.save=ps;B.load=fs;B.useColors=cs;B.storage=ds();B.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();B.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 cs(){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 us(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+je.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}B.log=console.debug||console.log||(()=>{});function ps(t){try{t?B.storage.setItem("debug",t):B.storage.removeItem("debug")}catch{}}function fs(){let t;try{t=B.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function ds(){try{return localStorage}catch{}}je.exports=kr()(B);var{formatters:ls}=je.exports;ls.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Pn=R((Lp,Un)=>{Un.exports=jt;var An=128,fa=127,da=~fa,la=Math.pow(2,31);function jt(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw jt.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=la;)e[r++]=t&255|An,t/=128;for(;t&da;)e[r++]=t&255|An,t>>>=7;return e[r]=t|0,jt.bytes=r-n+1,e}});var Fn=R((kp,In)=>{In.exports=Qt;var ha=128,Tn=127;function Qt(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a||o>49)throw Qt.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Tn)<<o:(i&Tn)*Math.pow(2,o),o+=7}while(i>=ha);return Qt.bytes=s-n,r}});var On=R((Dp,Nn)=>{var ma=Math.pow(2,7),ba=Math.pow(2,14),wa=Math.pow(2,21),ga=Math.pow(2,28),xa=Math.pow(2,35),ya=Math.pow(2,42),va=Math.pow(2,49),Ca=Math.pow(2,56),Ea=Math.pow(2,63);Nn.exports=function(t){return t<ma?1:t<ba?2:t<wa?3:t<ga?4:t<xa?5:t<ya?6:t<va?7:t<Ca?8:t<Ea?9:10}});var Ze=R((Mp,Ln)=>{Ln.exports={encode:Pn(),decode:Fn(),encodingLength:On()}});var co=R(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});var br=class{constructor(){this.pullQueue=[],this.pushQueue=[],this.eventHandlers={},this.isPaused=!1,this.isStopped=!1}push(e){if(this.isStopped)return;let r={value:e,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 e of this.pullQueue)e.resolve({value:void 0,done:!0});this.pullQueue.length=0}}fail(e){if(!this.isStopped)if(this.isStopped=!0,this.remove(),this.pullQueue.length){for(let r of this.pullQueue)r.reject(e);this.pullQueue.length=0}else{let r=Promise.reject(e);r.catch(()=>{}),this.pushQueue.push(r)}}remove(){Promise.resolve().then(()=>{this.removeCallback&&this.removeCallback()})}[Symbol.asyncIterator](){return{next:e=>{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}))}}},st=class{constructor(e,{highWaterMark:r=100,lowWaterMark:n=1}={}){let o=new br;o.highWaterMark=r,o.lowWaterMark=n,o.removeCallback=e({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)}};it.EventIterator=st;it.default=st});var uo=R(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});var wr=co();ze.EventIterator=wr.EventIterator;function vc(t,e,r){return new wr.EventIterator(({push:n})=>(this.addEventListener(t,n,e),()=>this.removeEventListener(t,n,e)),r)}ze.subscribe=vc;ze.default=wr.EventIterator});var xr=R((zd,go)=>{"use strict";var Cc=typeof navigator<"u"&&navigator.product==="ReactNative";function Ec(){return Cc?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var Re=self.URL,wo=Ec(),gr=class{constructor(e="",r=wo){this.super=new Re(e,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(e){this.super.hash=e}set host(e){this.super.host=e}set hostname(e){this.super.hostname=e}set href(e){this.super.href=e}set password(e){this.super.password=e}set pathname(e){this.super.pathname=e}set port(e){this.super.port=e}set protocol(e){this.super.protocol=e}set search(e){this.super.search=e}set username(e){this.super.username=e}static createObjectURL(e){return Re.createObjectURL(e)}static revokeObjectURL(e){Re.revokeObjectURL(e)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function Sc(t){if(typeof t=="string")return new Re(t).toString();if(!(t instanceof Re)){let e=t.username&&t.password?`${t.username}:${t.password}@`:"",r=t.auth?t.auth+"@":"",n=t.port?":"+t.port:"",o=t.protocol?t.protocol+"//":"",s=t.host||"",i=t.hostname||"",a=t.search||(t.query?"?"+t.query:""),d=t.hash||"",g=t.pathname||"",c=t.path||g+a;return`${o}${e||r}${s||i+n}${c}${d}`}}go.exports={URLWithLegacySupport:gr,URLSearchParams:self.URLSearchParams,defaultBase:wo,format:Sc}});var vo=R((Rd,yo)=>{"use strict";var{URLWithLegacySupport:xo,format:Ac}=xr();yo.exports=(t,e={},r={},n)=>{let o=e.protocol?e.protocol.replace(":",""):"http";o=(r[o]||n||o)+":";let s;try{s=new xo(t)}catch{s={}}let i=Object.assign({},e,{protocol:o||s.protocol,host:e.host||s.host});return new xo(t,Ac(i)).toString()}});var Eo=R((Bd,Co)=>{"use strict";var{URLWithLegacySupport:Uc,format:Pc,URLSearchParams:Tc,defaultBase:Ic}=xr(),Fc=vo();Co.exports={URL:Uc,URLSearchParams:Tc,format:Pc,relative:Fc,defaultBase:Ic}});var To=R((_d,Po)=>{function Lc(){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)}Po.exports=Lc});var Qc={};P(Qc,{webSockets:()=>jc});var We=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=We.code,this.type=We.type}},te=We;$e(te,"code","ABORT_ERR"),$e(te,"type","aborted");var Ve=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Fr=Symbol.for("@libp2p/transport");var Ir;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Ir||(Ir={}));var $=ee(Dr(),1);function hs(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,d=t.charAt(0),g=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function p(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";for(var l=0,v=0,b=0,x=u.length;b!==x&&u[b]===0;)b++,l++;for(var C=(x-b)*c+1>>>0,w=new Uint8Array(C);b!==x;){for(var S=u[b],U=0,y=C-1;(S!==0||U<v)&&y!==-1;y--,U++)S+=256*w[y]>>>0,w[y]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");v=U,b++}for(var A=C-v;A!==C&&w[A]===0;)A++;for(var k=d.repeat(l);A<C;++A)k+=t.charAt(w[A]);return k}function m(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;var l=0;if(u[l]!==" "){for(var v=0,b=0;u[l]===d;)v++,l++;for(var x=(u.length-l)*g+1>>>0,C=new Uint8Array(x);u[l];){var w=r[u.charCodeAt(l)];if(w===255)return;for(var S=0,U=x-1;(w!==0||S<b)&&U!==-1;U--,S++)w+=a*C[U]>>>0,C[U]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");b=S,l++}if(u[l]!==" "){for(var y=x-b;y!==x&&C[y]===0;)y++;for(var A=new Uint8Array(v+(x-y)),k=v;y!==x;)A[k++]=C[y++];return A}}}function I(u){var l=m(u);if(l)return l;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:m,decode:I}}var ms=hs,bs=ms,Mr=bs;var Yc=new Uint8Array(0);var zr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var ut=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},pt=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rr(this,e)}},ft=class{constructor(e){this.decoders=e}or(e){return Rr(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Rr=(t,e)=>new ft({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),dt=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new ut(e,r,n),this.decoder=new pt(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Br=({name:t,prefix:e,encode:r,decode:n})=>new dt(t,e,r,n),lt=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Mr(r,e);return Br({prefix:t,name:e,encode:n,decode:s=>zr(o(s))})},ws=(t,e,r,n)=>{let o={};for(let c=0;c<e.length;++c)o[e[c]]=c;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,d=0,g=0;for(let c=0;c<s;++c){let p=o[t[c]];if(p===void 0)throw new SyntaxError(`Non-${n} character`);d=d<<r|p,a+=r,a>=8&&(a-=8,i[g++]=255&d>>a)}if(a>=r||255&d<<8-a)throw new SyntaxError("Unexpected end of data");return i},gs=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let d=0;d<t.length;++d)for(a=a<<8|t[d],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i&&(s+=e[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},D=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Br({prefix:e,name:t,encode(o){return gs(o,n,r)},decode(o){return ws(o,n,r,t)}});var $r=D({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),su=D({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),iu=D({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),au=D({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),cu=D({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),uu=D({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),pu=D({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),fu=D({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),du=D({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vr=lt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),mu=lt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Wr=D({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),gu=D({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),xu=D({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),yu=D({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});$.default.formatters.b=t=>t==null?"undefined":Vr.baseEncode(t);$.default.formatters.t=t=>t==null?"undefined":$r.baseEncode(t);$.default.formatters.m=t=>t==null?"undefined":Wr.baseEncode(t);$.default.formatters.p=t=>t==null?"undefined":t.toString();$.default.formatters.c=t=>t==null?"undefined":t.toString();$.default.formatters.k=t=>t==null?"undefined":t.toString();$.default.formatters.a=t=>t==null?"undefined":t.toString();function xs(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Qe(t){let e=xs(`${t}:trace`);return $.default.enabled(`${t}:trace`)&&$.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,$.default)(`${t}:trace`)),Object.assign((0,$.default)(t),{error:(0,$.default)(`${t}:error`),trace:e})}var _e=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var gt={};P(gt,{base58btc:()=>M,base58flickr:()=>As});function ys(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,d=t.charAt(0),g=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function p(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";for(var l=0,v=0,b=0,x=u.length;b!==x&&u[b]===0;)b++,l++;for(var C=(x-b)*c+1>>>0,w=new Uint8Array(C);b!==x;){for(var S=u[b],U=0,y=C-1;(S!==0||U<v)&&y!==-1;y--,U++)S+=256*w[y]>>>0,w[y]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");v=U,b++}for(var A=C-v;A!==C&&w[A]===0;)A++;for(var k=d.repeat(l);A<C;++A)k+=t.charAt(w[A]);return k}function m(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;var l=0;if(u[l]!==" "){for(var v=0,b=0;u[l]===d;)v++,l++;for(var x=(u.length-l)*g+1>>>0,C=new Uint8Array(x);u[l];){var w=r[u.charCodeAt(l)];if(w===255)return;for(var S=0,U=x-1;(w!==0||S<b)&&U!==-1;U--,S++)w+=a*C[U]>>>0,C[U]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");b=S,l++}if(u[l]!==" "){for(var y=x-b;y!==x&&C[y]===0;)y++;for(var A=new Uint8Array(v+(x-y)),k=v;y!==x;)A[k++]=C[y++];return A}}}function I(u){var l=m(u);if(l)return l;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:m,decode:I}}var vs=ys,Cs=vs,qr=Cs;var Iu=new Uint8Array(0);var jr=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},j=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Qr=t=>new TextEncoder().encode(t),_r=t=>new TextDecoder().decode(t);var ht=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},mt=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Gr(this,e)}},bt=class{constructor(e){this.decoders=e}or(e){return Gr(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Gr=(t,e)=>new bt({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),wt=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new ht(e,r,n),this.decoder=new mt(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},fe=({name:t,prefix:e,encode:r,decode:n})=>new wt(t,e,r,n),H=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=qr(r,e);return fe({prefix:t,name:e,encode:n,decode:s=>j(o(s))})},Es=(t,e,r,n)=>{let o={};for(let c=0;c<e.length;++c)o[e[c]]=c;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,d=0,g=0;for(let c=0;c<s;++c){let p=o[t[c]];if(p===void 0)throw new SyntaxError(`Non-${n} character`);d=d<<r|p,a+=r,a>=8&&(a-=8,i[g++]=255&d>>a)}if(a>=r||255&d<<8-a)throw new SyntaxError("Unexpected end of data");return i},Ss=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let d=0;d<t.length;++d)for(a=a<<8|t[d],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i&&(s+=e[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},F=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>fe({prefix:e,name:t,encode(o){return Ss(o,n,r)},decode(o){return Es(o,n,r,t)}});var M=H({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),As=H({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Us=Kr,Hr=128,Ps=127,Ts=~Ps,Is=Math.pow(2,31);function Kr(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Is;)e[r++]=t&255|Hr,t/=128;for(;t&Ts;)e[r++]=t&255|Hr,t>>>=7;return e[r]=t|0,Kr.bytes=r-n+1,e}var Fs=xt,Ns=128,Xr=127;function xt(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw xt.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Xr)<<o:(i&Xr)*Math.pow(2,o),o+=7}while(i>=Ns);return xt.bytes=s-n,r}var Os=Math.pow(2,7),Ls=Math.pow(2,14),ks=Math.pow(2,21),Ds=Math.pow(2,28),Ms=Math.pow(2,35),zs=Math.pow(2,42),Rs=Math.pow(2,49),Bs=Math.pow(2,56),$s=Math.pow(2,63),Vs=function(t){return t<Os?1:t<Ls?2:t<ks?3:t<Ds?4:t<Ms?5:t<zs?6:t<Rs?7:t<Bs?8:t<$s?9:10},Ws={encode:Us,decode:Fs,encodingLength:Vs},qs=Ws,Te=qs;var Ie=(t,e=0)=>[Te.decode(t,e),Te.decode.bytes],de=(t,e,r=0)=>(Te.encode(t,e,r),e),le=t=>Te.encodingLength(t);var ne=(t,e)=>{let r=e.byteLength,n=le(t),o=n+le(r),s=new Uint8Array(o+r);return de(t,s,0),de(r,s,n),s.set(e,o),new he(t,r,e,s)},Ge=t=>{let e=j(t),[r,n]=Ie(e),[o,s]=Ie(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new he(r,o,i,e)},Zr=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&jr(t.bytes,r.bytes)}},he=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var yt={};P(yt,{base32:()=>Q,base32hex:()=>Js,base32hexpad:()=>Hs,base32hexpadupper:()=>Xs,base32hexupper:()=>Gs,base32pad:()=>Qs,base32padupper:()=>_s,base32upper:()=>js,base32z:()=>Ks});var Q=F({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),js=F({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qs=F({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_s=F({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Js=F({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Gs=F({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Hs=F({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Xs=F({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ks=F({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Yr=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Ys(r,vt(t),e||M.encoder);default:return ei(r,vt(t),e||Q.encoder)}};var en=new WeakMap,vt=t=>{let e=en.get(t);if(e==null){let r=new Map;return en.set(t,r),r}return e},T=class{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Fe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ti)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return T.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=ne(e,r);return T.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return T.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Zr(e.multihash,n.multihash)}toString(e){return Yr(this,e)}toJSON(){return{"/":Yr(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof T)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new T(n,o,s,i||tn(n,o,s.bytes))}else if(r[ri]===!0){let{version:n,multihash:o,code:s}=r,i=Ge(o);return T.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Fe)throw new Error(`Version 0 CID must use dag-pb (code: ${Fe}) block encoding`);return new T(e,r,n,n.bytes)}case 1:{let o=tn(e,r,n.bytes);return new T(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return T.create(0,Fe,e)}static createV1(e,r){return T.create(1,e,r)}static decode(e){let[r,n]=T.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=T.inspectBytes(e),n=r.size-r.multihashSize,o=j(e.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 he(r.multihashCode,r.digestSize,s,o);return[r.version===0?T.createV0(i):T.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[p,m]=Ie(e.subarray(r));return r+=m,p},o=n(),s=Fe;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(),g=r+d,c=g-i;return{version:o,codec:s,multihashCode:a,digestSize:d,multihashSize:c,size:g}}static parse(e,r){let[n,o]=Zs(e,r),s=T.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return vt(s).set(n,e),s}},Zs=(t,e)=>{switch(t[0]){case"Q":{let r=e||M;return[M.prefix,r.decode(`${M.prefix}${t}`)]}case M.prefix:{let r=e||M;return[M.prefix,r.decode(t)]}case Q.prefix:{let r=e||Q;return[Q.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Ys=(t,e,r)=>{let{prefix:n}=r;if(n!==M.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},ei=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},Fe=112,ti=18,tn=(t,e,r)=>{let n=le(t),o=n+le(e),s=new Uint8Array(o+r.byteLength);return de(t,s,0),de(e,s,n),s.set(r,o),s},ri=Symbol.for("@ipld/js-cid/CID");function rn(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Ut={};P(Ut,{identity:()=>ci});function ni(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,d=t.charAt(0),g=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function p(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";for(var l=0,v=0,b=0,x=u.length;b!==x&&u[b]===0;)b++,l++;for(var C=(x-b)*c+1>>>0,w=new Uint8Array(C);b!==x;){for(var S=u[b],U=0,y=C-1;(S!==0||U<v)&&y!==-1;y--,U++)S+=256*w[y]>>>0,w[y]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");v=U,b++}for(var A=C-v;A!==C&&w[A]===0;)A++;for(var k=d.repeat(l);A<C;++A)k+=t.charAt(w[A]);return k}function m(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;var l=0;if(u[l]!==" "){for(var v=0,b=0;u[l]===d;)v++,l++;for(var x=(u.length-l)*g+1>>>0,C=new Uint8Array(x);u[l];){var w=r[u.charCodeAt(l)];if(w===255)return;for(var S=0,U=x-1;(w!==0||S<b)&&U!==-1;U--,S++)w+=a*C[U]>>>0,C[U]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");b=S,l++}if(u[l]!==" "){for(var y=x-b;y!==x&&C[y]===0;)y++;for(var A=new Uint8Array(v+(x-y)),k=v;y!==x;)A[k++]=C[y++];return A}}}function I(u){var l=m(u);if(l)return l;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:m,decode:I}}var oi=ni,si=oi,nn=si;var Qu=new Uint8Array(0);var on=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},_=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var sn=t=>new TextEncoder().encode(t),an=t=>new TextDecoder().decode(t);var Ct=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Et=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return un(this,e)}},St=class{constructor(e){this.decoders=e}or(e){return un(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},un=(t,e)=>new St({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),At=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ct(e,r,n),this.decoder=new Et(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},be=({name:t,prefix:e,encode:r,decode:n})=>new At(t,e,r,n),X=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=nn(r,e);return be({prefix:t,name:e,encode:n,decode:s=>_(o(s))})},ii=(t,e,r,n)=>{let o={};for(let c=0;c<e.length;++c)o[e[c]]=c;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,d=0,g=0;for(let c=0;c<s;++c){let p=o[t[c]];if(p===void 0)throw new SyntaxError(`Non-${n} character`);d=d<<r|p,a+=r,a>=8&&(a-=8,i[g++]=255&d>>a)}if(a>=r||255&d<<8-a)throw new SyntaxError("Unexpected end of data");return i},ai=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let d=0;d<t.length;++d)for(a=a<<8|t[d],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i&&(s+=e[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},N=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>be({prefix:e,name:t,encode(o){return ai(o,n,r)},decode(o){return ii(o,n,r,t)}});var ci=be({prefix:"\0",name:"identity",encode:t=>an(t),decode:t=>sn(t)});var Pt={};P(Pt,{base2:()=>ui});var ui=N({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Tt={};P(Tt,{base8:()=>pi});var pi=N({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var It={};P(It,{base10:()=>fi});var fi=X({prefix:"9",name:"base10",alphabet:"0123456789"});var Ft={};P(Ft,{base16:()=>di,base16upper:()=>li});var di=N({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),li=N({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Nt={};P(Nt,{base32:()=>we,base32hex:()=>wi,base32hexpad:()=>xi,base32hexpadupper:()=>yi,base32hexupper:()=>gi,base32pad:()=>mi,base32padupper:()=>bi,base32upper:()=>hi,base32z:()=>vi});var we=N({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),hi=N({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),mi=N({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),bi=N({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),wi=N({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),gi=N({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xi=N({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),yi=N({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),vi=N({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ot={};P(Ot,{base36:()=>Ci,base36upper:()=>Ei});var Ci=X({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ei=X({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Lt={};P(Lt,{base58btc:()=>W,base58flickr:()=>Si});var W=X({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Si=X({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var kt={};P(kt,{base64:()=>Ai,base64pad:()=>Ui,base64url:()=>Pi,base64urlpad:()=>Ti});var Ai=N({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ui=N({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Pi=N({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ti=N({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dt={};P(Dt,{base256emoji:()=>Li});var pn=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}"),Ii=pn.reduce((t,e,r)=>(t[r]=e,t),[]),Fi=pn.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Ni(t){return t.reduce((e,r)=>(e+=Ii[r],e),"")}function Oi(t){let e=[];for(let r of t){let n=Fi[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Li=be({prefix:"\u{1F680}",name:"base256emoji",encode:Ni,decode:Oi});var Bt={};P(Bt,{sha256:()=>Zi,sha512:()=>Yi});var ki=ln,fn=128,Di=127,Mi=~Di,zi=Math.pow(2,31);function ln(t,e,r){e=e||[],r=r||0;for(var n=r;t>=zi;)e[r++]=t&255|fn,t/=128;for(;t&Mi;)e[r++]=t&255|fn,t>>>=7;return e[r]=t|0,ln.bytes=r-n+1,e}var Ri=Mt,Bi=128,dn=127;function Mt(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Mt.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&dn)<<o:(i&dn)*Math.pow(2,o),o+=7}while(i>=Bi);return Mt.bytes=s-n,r}var $i=Math.pow(2,7),Vi=Math.pow(2,14),Wi=Math.pow(2,21),qi=Math.pow(2,28),ji=Math.pow(2,35),Qi=Math.pow(2,42),_i=Math.pow(2,49),Ji=Math.pow(2,56),Gi=Math.pow(2,63),Hi=function(t){return t<$i?1:t<Vi?2:t<Wi?3:t<qi?4:t<ji?5:t<Qi?6:t<_i?7:t<Ji?8:t<Gi?9:10},Xi={encode:ki,decode:Ri,encodingLength:Hi},Ki=Xi,Ne=Ki;var Oe=(t,e=0)=>[Ne.decode(t,e),Ne.decode.bytes],ge=(t,e,r=0)=>(Ne.encode(t,e,r),e),xe=t=>Ne.encodingLength(t);var oe=(t,e)=>{let r=e.byteLength,n=xe(t),o=n+xe(r),s=new Uint8Array(o+r);return ge(t,s,0),ge(r,s,n),s.set(e,o),new ye(t,r,e,s)},hn=t=>{let e=_(t),[r,n]=Oe(e),[o,s]=Oe(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ye(r,o,i,e)},mn=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&on(t.bytes,r.bytes)}},ye=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var Rt=({name:t,code:e,encode:r})=>new zt(t,e,r),zt=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?oe(this.code,r):r.then(n=>oe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var wn=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Zi=Rt({name:"sha2-256",code:18,encode:wn("SHA-256")}),Yi=Rt({name:"sha2-512",code:19,encode:wn("SHA-512")});var $t={};P($t,{identity:()=>ra});var gn=0,ea="identity",xn=_,ta=t=>oe(gn,xn(t)),ra={code:gn,name:ea,encode:xn,digest:ta};var dp=new TextEncoder,lp=new TextDecoder;var yn=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ia(r,Vt(t),e||W.encoder);default:return aa(r,Vt(t),e||we.encoder)}};var vn=new WeakMap,Vt=t=>{let e=vn.get(t);if(e==null){let r=new Map;return vn.set(t,r),r}return e},L=class{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==ke)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ca)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return L.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=oe(e,r);return L.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return L.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&mn(e.multihash,n.multihash)}toString(e){return yn(this,e)}toJSON(){return{"/":yn(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof L)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new L(n,o,s,i||Cn(n,o,s.bytes))}else if(r[ua]===!0){let{version:n,multihash:o,code:s}=r,i=hn(o);return L.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==ke)throw new Error(`Version 0 CID must use dag-pb (code: ${ke}) block encoding`);return new L(e,r,n,n.bytes)}case 1:{let o=Cn(e,r,n.bytes);return new L(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return L.create(0,ke,e)}static createV1(e,r){return L.create(1,e,r)}static decode(e){let[r,n]=L.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=L.inspectBytes(e),n=r.size-r.multihashSize,o=_(e.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 ye(r.multihashCode,r.digestSize,s,o);return[r.version===0?L.createV0(i):L.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[p,m]=Oe(e.subarray(r));return r+=m,p},o=n(),s=ke;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(),g=r+d,c=g-i;return{version:o,codec:s,multihashCode:a,digestSize:d,multihashSize:c,size:g}}static parse(e,r){let[n,o]=sa(e,r),s=L.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Vt(s).set(n,e),s}},sa=(t,e)=>{switch(t[0]){case"Q":{let r=e||W;return[W.prefix,r.decode(`${W.prefix}${t}`)]}case W.prefix:{let r=e||W;return[W.prefix,r.decode(t)]}case we.prefix:{let r=e||we;return[we.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},ia=(t,e,r)=>{let{prefix:n}=r;if(n!==W.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},aa=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},ke=112,ca=18,Cn=(t,e,r)=>{let n=xe(t),o=n+xe(e),s=new Uint8Array(o+r.byteLength);return ge(t,s,0),ge(e,s,n),s.set(r,o),s},ua=Symbol.for("@ipld/js-cid/CID");var Wt={...Ut,...Pt,...Tt,...It,...Ft,...Nt,...Ot,...Lt,...kt,...Dt},Ep={...Bt,...$t};function ve(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Xe(t=0){return globalThis.Buffer?.allocUnsafe!=null?ve(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Sn(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var En=Sn("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),qt=Sn("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Xe(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),pa={utf8:En,"utf-8":En,hex:Wt.base16,latin1:qt,ascii:qt,binary:qt,...Wt},Ke=pa;function z(t,e="utf8"){let r=Ke[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var mr=ee(Ze(),1);function J(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Xe(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return ve(r)}var Ee=ee(Ze(),1);var Ye=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let d=a==="0",g=2**(8*o)-1;for(;;){let c=this.readAtomically(()=>{let p=this.readChar();if(p===void 0)return;let m=Number.parseInt(p,e);if(!Number.isNaN(m))return m});if(c===void 0)break;if(s*=e,s+=c,s>g||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&d&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let 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]=e(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]=e(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var kn=45,Sa=15,Ce=new Ye;function _t(t){if(!(t.length>Sa))return Ce.new(t).parseWith(()=>Ce.readIPv4Addr())}function Jt(t){if(!(t.length>kn))return Ce.new(t).parseWith(()=>Ce.readIPv6Addr())}function et(t){if(!(t.length>kn))return Ce.new(t).parseWith(()=>Ce.readIPAddr())}var Hp=parseInt("0xFFFF",16),Xp=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Gt={};P(Gt,{identity:()=>Ia});var Ia=fe({prefix:"\0",name:"identity",encode:t=>_r(t),decode:t=>Qr(t)});var Ht={};P(Ht,{base2:()=>Fa});var Fa=F({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xt={};P(Xt,{base8:()=>Na});var Na=F({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kt={};P(Kt,{base10:()=>Oa});var Oa=H({prefix:"9",name:"base10",alphabet:"0123456789"});var Zt={};P(Zt,{base16:()=>La,base16upper:()=>ka});var La=F({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ka=F({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Yt={};P(Yt,{base36:()=>Da,base36upper:()=>Ma});var Da=H({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ma=H({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var er={};P(er,{base64:()=>za,base64pad:()=>Ra,base64url:()=>Ba,base64urlpad:()=>$a});var za=F({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ra=F({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ba=F({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$a=F({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var tr={};P(tr,{base256emoji:()=>Qa});var zn=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}"),Va=zn.reduce((t,e,r)=>(t[r]=e,t),[]),Wa=zn.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function qa(t){return t.reduce((e,r)=>(e+=Va[r],e),"")}function ja(t){let e=[];for(let r of t){let n=Wa[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Qa=fe({prefix:"\u{1F680}",name:"base256emoji",encode:qa,decode:ja});var or={};P(or,{sha256:()=>_a,sha512:()=>Ja});var nr=({name:t,code:e,encode:r})=>new rr(t,e,r),rr=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ne(this.code,r):r.then(n=>ne(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Bn=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),_a=nr({name:"sha2-256",code:18,encode:Bn("SHA-256")}),Ja=nr({name:"sha2-512",code:19,encode:Bn("SHA-512")});var sr={};P(sr,{identity:()=>Xa});var $n=0,Ga="identity",Vn=j,Ha=t=>ne($n,Vn(t)),Xa={code:$n,name:Ga,encode:Vn,digest:Ha};var Nf=new TextEncoder,Of=new TextDecoder;var Wn={...Gt,...Ht,...Xt,...Kt,...Zt,...yt,...Yt,...gt,...er,...tr},zf={...or,...sr};function De(t,e="utf8"){let r=Ke[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ve(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var q=ee(Ze(),1);function qn(t){return!!_t(t)}function jn(t){return!!Jt(t)}function tt(t){return!!et(t)}var Qn=qn,Ya=jn,ir=function(t){let e=0;if(t=t.toString().trim(),Qn(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Ya(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Qn(r[n]),i;s&&(i=ir(r[n]),r[n]=z(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,z(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(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},_n=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let o=[];for(let s=0;s<r;s++)o.push(t[e+s]);return o.join(".")}if(r===16){let o=[];for(let s=0;s<r;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Me={},ar={},tc=[[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"]];tc.forEach(t=>{let e=rc(...t);ar[e.code]=e,Me[e.name]=e});function rc(t,e,r,n,o){return{code:t,size:e,name:r,resolvable:!!n,path:!!o}}function E(t){if(typeof t=="number"){if(ar[t]!=null)return ar[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Me[t]!=null)return Me[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var nd=E("ip4"),od=E("ip6"),sd=E("ipcidr");function Kn(t,e){switch(E(t).code){case 4:case 41:return oc(e);case 42:return Hn(e);case 6:case 273:case 33:case 132:return Yn(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Hn(e);case 421:return cc(e);case 444:return Xn(e);case 445:return Xn(e);case 466:return ac(e);default:return z(e,"base16")}}function Zn(t,e){switch(E(t).code){case 4:return Jn(e);case 41:return Jn(e);case 42:return Gn(e);case 6:case 273:case 33:case 132:return ur(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Gn(e);case 421:return sc(e);case 444:return uc(e);case 445:return pc(e);case 466:return ic(e);default:return De(e,"base16")}}var cr=Object.values(Wn).map(t=>t.decoder),nc=function(){let t=cr[0].or(cr[1]);return cr.slice(2).forEach(e=>t=t.or(e)),t}();function Jn(t){if(!tt(t))throw new Error("invalid ip address");return ir(t)}function oc(t){let e=_n(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!tt(e))throw new Error("invalid ip address");return e}function ur(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Yn(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Gn(t){let e=De(t),r=Uint8Array.from(q.default.encode(e.length));return J([r,e],r.length+e.length)}function Hn(t){let e=q.default.decode(t);if(t=t.slice(q.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return z(t)}function sc(t){let e;t[0]==="Q"||t[0]==="1"?e=Ge(M.decode(`z${t}`)).bytes:e=T.parse(t).multihash.bytes;let r=Uint8Array.from(q.default.encode(e.length));return J([r,e],r.length+e.length)}function ic(t){let e=nc.decode(t),r=Uint8Array.from(q.default.encode(e.length));return J([r,e],r.length+e.length)}function ac(t){let e=q.default.decode(t),r=t.slice(q.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+z(r,"base64url")}function cc(t){let e=q.default.decode(t),r=t.slice(q.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return z(r,"base58btc")}function uc(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Q.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ur(n);return J([r,o],r.length+o.length)}function pc(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Q.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ur(n);return J([r,o],r.length+o.length)}function Xn(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=z(e,"base32"),o=Yn(r);return`${n}:${o}`}function fc(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let o=r[n],s=E(o);if(s.size===0){e.push([o]);continue}if(n++,n>=r.length)throw to("invalid address: "+t);if(s.path===!0){e.push([o,hr(r.slice(n).join("/"))]);break}e.push([o,r[n]])}return e}function dc(t){let e=[];return t.map(r=>{let n=ot(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),hr(e.join("/"))}function lc(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=ot(e);return e.length>1?[r.code,Zn(r.code,e[1])]:[r.code]})}function pr(t){return t.map(e=>{let r=ot(e);return e[1]!=null?[r.code,Kn(r.code,e[1])]:[r.code]})}function fr(t){return nt(J(t.map(e=>{let r=ot(e),n=Uint8Array.from(Ee.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=J([n,e[1]])),n})))}function dr(t,e){return t.size>0?t.size/8:t.size===0?0:Ee.default.decode(e)+(Ee.default.decode.bytes??0)}function rt(t){let e=[],r=0;for(;r<t.length;){let n=Ee.default.decode(t,r),o=Ee.default.decode.bytes??0,s=E(n),i=dr(s,t.slice(r+o));if(i===0){e.push([n]),r+=o;continue}let a=t.slice(r+o,r+o+i);if(r+=i+o,r>t.length)throw to("Invalid address Uint8Array: "+z(t,"base16"));e.push([n,a])}return e}function lr(t){let e=rt(t),r=pr(e);return dc(r)}function hc(t){t=hr(t);let e=fc(t),r=lc(e);return fr(r)}function eo(t){return hc(t)}function nt(t){let e=mc(t);if(e!=null)throw e;return Uint8Array.from(t)}function mc(t){try{rt(t)}catch(e){return e}}function hr(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function to(t){return new Error("Error parsing address: "+t)}function ot(t){return E(t[0])}var wc=Symbol.for("nodejs.util.inspect.custom"),gc=[E("dns").code,E("dns4").code,E("dns6").code,E("dnsaddr").code],xc=new Map,ro=Symbol.for("@multiformats/js-multiaddr/multiaddr");function yc(t){return!!t?.[ro]}var G=class{bytes;#t;#r;#n;#e;[ro]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=nt(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=eo(e)}else if(yc(e))this.bytes=nt(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#t==null&&(this.#t=lr(this.bytes)),this.#t}toJSON(){return this.toString()}toOptions(){let e,r,n,o,s="",i=E("tcp"),a=E("udp"),d=E("ip4"),g=E("ip6"),c=E("dns6"),p=E("ip6zone");for(let[I,u]of this.stringTuples())I===p.code&&(s=`%${u??""}`),gc.includes(I)&&(r=i.name,o=443,n=`${u??""}${s}`,e=I===c.code?6:4),(I===i.code||I===a.code)&&(r=E(I).name,o=parseInt(u??"")),(I===d.code||I===g.code)&&(r=E(I).name,n=`${u??""}${s}`,e=I===g.code?6:4);if(e==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:e,host:n,transport:r,port:o}}protos(){return this.protoCodes().map(e=>Object.assign({},E(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let o=mr.default.decode(r,n),s=mr.default.decode.bytes??0,i=E(o),a=dr(i,r.slice(n+s));n+=a+s,e.push(o)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#r==null&&(this.#r=rt(this.bytes)),this.#r}stringTuples(){return this.#n==null&&(this.#n=pr(this.tuples())),this.#n}encapsulate(e){return e=new G(e),new G(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new G(n.slice(0,o))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new G(fr(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Me.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?z(M.decode(`z${n}`),"base58btc"):z(T.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#e===void 0)try{this.#e=this.stringTuples().filter(e=>E(e[0]).path===!0)[0][1],this.#e==null&&(this.#e=null)}catch{this.#e=null}return this.#e}equals(e){return rn(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=xc.get(r.name);if(n==null)throw new _e(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new G(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[wc](){return`Multiaddr(${lr(this.bytes)})`}};function Se(t){return new G(t)}function no(t){let e;try{e=E("sni").code}catch{return null}for(let[r,n]of t)if(r===e&&n!==void 0)return n;return null}function oo(t){return t.some(([e,r])=>e===E("tls").code)}function V(t,e,r){let n=so[E(t).name];if(n===void 0)throw new Error(`Can't interpret protocol ${E(t).name}`);let o=n(e,r);return t===E("ip6").code?`[${o}]`:o}var so={ip4:(t,e)=>t,ip6:(t,e)=>e.length===0?t:`[${t}]`,tcp:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${V(r[0],r[1]??"",e)}:${t}`},udp:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${V(r[0],r[1]??"",e)}:${t}`},dnsaddr:(t,e)=>t,dns4:(t,e)=>t,dns6:(t,e)=>t,dns:(t,e)=>t,ipfs:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${V(r[0],r[1]??"",e)}/ipfs/${t}`},p2p:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${V(r[0],r[1]??"",e)}/p2p/${t}`},http:(t,e)=>{let r=oo(e),n=no(e);if(r&&n!==null)return`https://${n}`;let o=r?"https://":"http://",s=e.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=V(s[0],s[1]??"",e);return i=i.replace("tcp://",""),`${o}${i}`},tls:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return V(r[0],r[1]??"",e)},sni:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return V(r[0],r[1]??"",e)},https:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=V(r[0],r[1]??"",e);return n=n.replace("tcp://",""),`https://${n}`},ws:(t,e)=>{let r=oo(e),n=no(e);if(r&&n!==null)return`wss://${n}`;let o=r?"wss://":"ws://",s=e.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=V(s[0],s[1]??"",e);return i=i.replace("tcp://",""),`${o}${i}`},wss:(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");let n=V(r[0],r[1]??"",e);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${V(r[0],r[1]??"",e)}/p2p-websocket-star`},"p2p-webrtc-star":(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${V(r[0],r[1]??"",e)}/p2p-webrtc-star`},"p2p-webrtc-direct":(t,e)=>{let r=e.pop();if(r===void 0)throw new Error("Unexpected end of multiaddr");return`${V(r[0],r[1]??"",e)}/p2p-webrtc-direct`}};function io(t,e){let n=Se(t).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=E(o[0]),i=so[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let a=i(o[1]??"",n);return e?.assumeHttp!==!1&&o[0]===E("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 ao=WebSocket;var fo=ee(uo(),1);function po(t){return t instanceof ArrayBuffer||t?.constructor?.name==="ArrayBuffer"&&typeof t?.byteLength=="number"}var lo=t=>{t.binaryType="arraybuffer";let e=async()=>{await new Promise((s,i)=>{if(n){s();return}if(o!=null){i(o);return}let a=c=>{t.removeEventListener("open",d),t.removeEventListener("error",g),c()},d=()=>{a(s)},g=c=>{a(()=>{i(c.error??new Error(`connect ECONNREFUSED ${t.url}`))})};t.addEventListener("open",d),t.addEventListener("error",g)})},r=async function*(){let s=new fo.EventIterator(({push:i,stop:a,fail:d})=>{let g=p=>{let m=null;typeof p.data=="string"&&(m=De(p.data)),po(p.data)&&(m=new Uint8Array(p.data)),p.data instanceof Uint8Array&&(m=p.data),m!=null&&i(m)},c=p=>{d(p.error??new Error("Socket error"))};return t.addEventListener("message",g),t.addEventListener("error",c),t.addEventListener("close",a),()=>{t.removeEventListener("message",g),t.removeEventListener("error",c),t.removeEventListener("close",a)}},{highWaterMark:1/0});await e();for await(let i of s)yield po(i)?new Uint8Array(i):i}(),n=t.readyState===1,o;return t.addEventListener("open",()=>{n=!0,o=null}),t.addEventListener("close",()=>{n=!1,o=null}),t.addEventListener("error",s=>{n||(o=s.error??new Error(`connect ECONNREFUSED ${t.url}`))}),Object.assign(r,{connected:e})};var ho=async t=>{if(t.readyState>=2)throw new Error("socket closed");t.readyState!==1&&await new Promise((e,r)=>{function n(){t.removeEventListener("open",o),t.removeEventListener("error",s)}function o(){n(),e()}function s(i){n(),r(i.error??new Error(`connect ECONNREFUSED ${t.url}`))}t.addEventListener("open",o),t.addEventListener("error",s)})};var mo=(t,e)=>(e=e??{},e.closeOnEnd=e.closeOnEnd!==!1,async n=>{for await(let o of n){try{await ho(t)}catch(s){if(s.message==="socket closed")break;throw s}t.send(o)}e.closeOnEnd!=null&&t.readyState<=1&&await new Promise((o,s)=>{t.addEventListener("close",i=>{if(i.wasClean||i.code===1006)o();else{let a=Object.assign(new Error("ws error"),{event:i});s(a)}}),setTimeout(()=>{t.close()})})});var bo=(t,e)=>{e=e??{};let r=lo(t),n=e.remoteAddress,o=e.remotePort;if(t.url!=null)try{let i=new URL(t.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:mo(t,e),source:r,connected:async()=>{await r.connected()},close:async()=>{(t.readyState===t.CONNECTING||t.readyState===t.OPEN)&&await new Promise(i=>{t.addEventListener("close",()=>{i()}),t.close()})},destroy:()=>{t.terminate!=null?t.terminate():t.close()},remoteAddress:n,remotePort:o,socket:t}};var So=ee(Eo(),1),Nc={http:"ws",https:"wss"},Oc="ws",Ao=(t,e)=>(0,So.relative)(t,e,Nc,Oc);function Uo(t,e){let r=typeof window>"u"?"":window.location;e=e??{};let n=Ao(t,r.toString()),o=new ao(n,e.websocket);return bo(o,e)}function yr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Io=ee(To(),1),kc=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Fo=(0,Io.default)(),No=kc&&!Fo;var Jd=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Fo,Oo=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Gd=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",Hd=typeof navigator<"u"&&navigator.product==="ReactNative";var Dc=f("dns4"),Mc=f("dns6"),zc=f("dnsaddr"),Z=O(f("dns"),zc,Dc,Mc),at=O(f("ip4"),f("ip6")),Ae=O(h(at,f("tcp")),h(Z,f("tcp"))),ct=h(at,f("udp")),Rc=h(ct,f("utp")),Bc=h(ct,f("quic")),$c=h(ct,f("quic-v1")),vr=O(h(Ae,f("ws")),h(Z,f("ws"))),Ue=O(h(vr,f("p2p")),vr),Cr=O(h(Ae,f("wss")),h(Z,f("wss")),h(Ae,f("tls"),f("ws")),h(Z,f("tls"),f("ws"))),ie=O(h(Cr,f("p2p")),Cr),Er=O(h(Ae,f("http")),h(at,f("http")),h(Z,f("http"))),Sr=O(h(Ae,f("https")),h(at,f("https")),h(Z,f("https"))),Lo=h(ct,f("webrtc-direct"),f("certhash")),Mo=O(h(Lo,f("p2p")),Lo),ko=h($c,f("webtransport"),f("certhash"),f("certhash")),zo=O(h(ko,f("p2p")),ko),Ro=O(h(Ue,f("p2p-webrtc-star"),f("p2p")),h(ie,f("p2p-webrtc-star"),f("p2p")),h(Ue,f("p2p-webrtc-star")),h(ie,f("p2p-webrtc-star"))),Zd=O(h(Ue,f("p2p-websocket-star"),f("p2p")),h(ie,f("p2p-websocket-star"),f("p2p")),h(Ue,f("p2p-websocket-star")),h(ie,f("p2p-websocket-star"))),Bo=O(h(Er,f("p2p-webrtc-direct"),f("p2p")),h(Sr,f("p2p-webrtc-direct"),f("p2p")),h(Er,f("p2p-webrtc-direct")),h(Sr,f("p2p-webrtc-direct"))),ae=O(vr,Cr,Er,Sr,Ro,Bo,Ae,Rc,Bc,Z,Mo,zo),Yd=O(h(ae,f("p2p-stardust"),f("p2p")),h(ae,f("p2p-stardust"))),K=O(h(ae,f("p2p")),Ro,Bo,Mo,zo,f("p2p")),Do=O(h(K,f("p2p-circuit"),K),h(K,f("p2p-circuit")),h(f("p2p-circuit"),K),h(ae,f("p2p-circuit")),h(f("p2p-circuit"),ae),f("p2p-circuit")),$o=()=>O(h(Do,$o),Do),se=$o(),el=O(h(se,K,se),h(K,se),h(se,K),se,K);var tl=O(h(se,f("webrtc"),f("p2p")),h(se,f("webrtc")),h(ae,f("webrtc"),f("p2p")),h(ae,f("webrtc")),f("webrtc"));function Vo(t){function e(r){let n;try{n=Se(r)}catch{return!1}let o=t(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function h(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(o=>(n=typeof o=="function"?o().partialMatch(r):o.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Vo(e),partialMatch:e}}function O(...t){function e(n){let o=null;return t.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"{ "+t.join(" ")+" }"},input:t,matches:Vo(e),partialMatch:e}}function f(t){let e=t;function r(o){let s;try{s=Se(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===e}function n(o){return o.length===0?null:o[0]===e?o.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}function jo(t){return t.filter(e=>{if(e.protoCodes().includes(290))return!1;let r=e.decapsulateCode(421);return Ue.matches(r)||ie.matches(r)})}function Qo(t){return t.filter(e=>{if(e.protoCodes().includes(290))return!1;let r=e.decapsulateCode(421);return ie.matches(r)})}function _o(){throw new Error("WebSocket Servers can not be created in the browser!")}var Be=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Jo(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function Ar(t,e,r){let n=r??{},o=Jo(t);async function*s(){let i,a=()=>{i?.()};for(e.addEventListener("abort",a);;){let d;try{if(e.aborted){let{abortMessage:c,abortCode:p}=n;throw new Be(c,p)}let g=new Promise((c,p)=>{i=()=>{let{abortMessage:m,abortCode:I}=n;p(new Be(m,I))}});d=await Promise.race([g,o.next()]),i=null}catch(g){e.removeEventListener("abort",a);let c=g.type==="aborted"&&e.aborted;if(c&&n.onAbort!=null&&n.onAbort(t),typeof o.return=="function")try{let p=o.return();p instanceof Promise&&p.catch(m=>{n.onReturnError!=null&&n.onReturnError(m)})}catch(p){n.onReturnError!=null&&n.onReturnError(p)}if(c&&n.returnOnAbort===!0)return;throw g}if(d.done===!0)break;yield d.value}e.removeEventListener("abort",a)}return s()}var Ur=Qe("libp2p:websockets:socket");function Go(t,e,r){r=r??{};let n={async sink(o){r?.signal!=null&&(o=Ar(o,r.signal));try{await t.sink(o)}catch(s){s.type!=="aborted"&&Ur.error(s)}},source:r.signal!=null?Ar(t.source,r.signal):t.source,remoteAddr:e,timeline:{open:Date.now()},async close(o={}){let s=Date.now();o.signal=o.signal??AbortSignal.timeout(500);let i=()=>{let{host:a,port:d}=n.remoteAddr.toOptions();Ur("timeout closing stream to %s:%s after %dms, destroying it manually",a,d,Date.now()-s),this.abort(new Ve("Socket close timeout","ERR_SOCKET_CLOSE_TIMEOUT"))};o.signal.addEventListener("abort",i);try{await t.close()}catch(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();Ur("timeout closing stream to %s:%s due to error",s,i,o),t.destroy(),n.timeline.close=Date.now()}};return t.socket.addEventListener("close",()=>{n.timeline.close==null&&(n.timeline.close=Date.now())},{once:!0}),n}var Y=Qe("libp2p:websockets"),Pr=class{init;constructor(e){this.init=e}[Symbol.toStringTag]="@libp2p/websockets";[Fr]=!0;async dial(e,r){Y("dialing %s",e),r=r??{};let n=await this._connect(e,r),o=Go(n,e);Y("new outbound connection %s",o.remoteAddr);let s=await r.upgrader.upgradeOutbound(o);return Y("outbound connection %s upgraded",o.remoteAddr),s}async _connect(e,r){if(r?.signal?.aborted===!0)throw new te;let n=e.toOptions();Y("dialing %s:%s",n.host,n.port);let o=yr(),s=g=>{Y.error("connection error:",g),o.reject(g)},i=Uo(io(e),this.init);if(i.socket.on!=null?i.socket.on("error",s):i.socket.onerror=s,r.signal==null)return await Promise.race([i.connected(),o.promise]),Y("connected %s",e),i;let a,d=new Promise((g,c)=>{if(a=()=>{c(new te),i.close().catch(p=>{Y.error("error closing raw socket",p)})},r?.signal?.aborted===!0){a();return}r?.signal?.addEventListener("abort",a)});try{await Promise.race([d,o.promise,i.connected()])}finally{a!=null&&r?.signal?.removeEventListener("abort",a)}return Y("connected %s",e),i}createListener(e){return _o({...this.init,...e})}filter(e){return e=Array.isArray(e)?e:[e],this.init?.filter!=null?this.init?.filter(e):No||Oo?Qo(e):jo(e)}};function jc(t={}){return()=>new Pr(t)}return ts(Qc);})();
3
3
  return Libp2PWebsockets}));
@@ -3,5 +3,5 @@ export declare const CODE_CIRCUIT = 290;
3
3
  export declare const CODE_TCP = 6;
4
4
  export declare const CODE_WS = 477;
5
5
  export declare const CODE_WSS = 478;
6
- export declare const CLOSE_TIMEOUT = 2000;
6
+ export declare const CLOSE_TIMEOUT = 500;
7
7
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,MAAM,CAAA;AAC3B,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B,eAAO,MAAM,QAAQ,IAAI,CAAA;AACzB,eAAO,MAAM,OAAO,MAAM,CAAA;AAC1B,eAAO,MAAM,QAAQ,MAAM,CAAA;AAG3B,eAAO,MAAM,aAAa,OAAO,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,MAAM,CAAA;AAC3B,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B,eAAO,MAAM,QAAQ,IAAI,CAAA;AACzB,eAAO,MAAM,OAAO,MAAM,CAAA;AAC1B,eAAO,MAAM,QAAQ,MAAM,CAAA;AAG3B,eAAO,MAAM,aAAa,MAAM,CAAA"}
@@ -5,5 +5,5 @@ export const CODE_TCP = 6;
5
5
  export const CODE_WS = 477;
6
6
  export const CODE_WSS = 478;
7
7
  // Time to wait for a connection to close gracefully before destroying it manually
8
- export const CLOSE_TIMEOUT = 2000;
8
+ export const CLOSE_TIMEOUT = 500;
9
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAE/B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAA;AACzB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAE3B,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAE/B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAA;AACzB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAE3B,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
- import { type Transport, type MultiaddrFilter } from '@libp2p/interface-transport';
2
+ import { type Transport, type MultiaddrFilter } from '@libp2p/interface/transport';
3
3
  import { type WebSocketOptions } from 'it-ws/client';
4
- import type { AbortOptions } from '@libp2p/interfaces';
4
+ import type { AbortOptions } from '@libp2p/interface';
5
5
  import type { Server } from 'http';
6
6
  import type { ClientOptions } from 'ws';
7
7
  export interface WebSocketsInit extends AbortOptions, WebSocketOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAuE,MAAM,6BAA6B,CAAA;AAIvJ,OAAO,EAAW,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAO7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAIvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAmHD,wBAAgB,UAAU,CAAE,IAAI,GAAE,cAAmB,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,SAAS,CAItF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAuE,MAAM,6BAA6B,CAAA;AAGvJ,OAAO,EAAW,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAM7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAIvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAmHD,wBAAgB,UAAU,CAAE,IAAI,GAAE,cAAmB,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,SAAS,CAItF"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { symbol } from '@libp2p/interface-transport';
2
- import { AbortError } from '@libp2p/interfaces/errors';
1
+ import { AbortError } from '@libp2p/interface/errors';
2
+ import { symbol } from '@libp2p/interface/transport';
3
3
  import { logger } from '@libp2p/logger';
4
4
  import { multiaddrToUri as toUri } from '@multiformats/multiaddr-to-uri';
5
5
  import { connect } from 'it-ws/client';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,MAAM,EAA+D,MAAM,6BAA6B,CAAA;AACvJ,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,OAAO,EAAyB,MAAM,cAAc,CAAA;AAC7D,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAQpD,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAQvC,MAAM,UAAU;IACG,IAAI,CAAiB;IAEtC,YAAa,IAAqB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAA;IAE3C,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAExB,KAAK,CAAC,IAAI,CAAE,EAAa,EAAE,OAAoB;QAC7C,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QACrB,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC3D,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QACzD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAa,EAAE,OAAqB;QAClD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,UAAU,EAAE,CAAA;SACvB;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;QAC5B,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAE5C,MAAM,YAAY,GAAG,MAAM,EAAE,CAAA;QAC7B,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAQ,EAAE;YAC/B,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YAEnC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAE/C,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;YAC/B,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;SACpC;aAAM;YACL,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;SACjC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;YAEjE,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;YACvB,OAAO,SAAS,CAAA;SACjB;QAED,wCAAwC;QACxC,IAAI,OAAO,CAAA;QACX,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,OAAO,GAAG,GAAG,EAAE;gBACb,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,CAAA;gBACxB,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAC5B,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;gBAC5C,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,mBAAmB;YACnB,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE;gBACrC,OAAO,EAAE,CAAC;gBAAC,OAAM;aAClB;YAED,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;QAEF,IAAI;YACF,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;SACzE;gBAAS;YACR,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;aACvD;SACF;QAED,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAE,OAA8B;QAC5C,OAAO,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAE,UAAuB;QAC7B,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAElE,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE;YAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;SACrC;QAED,UAAU;QACV,IAAI,SAAS,IAAI,WAAW,EAAE;YAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;SAC/B;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAE,OAAuB,EAAE;IACnD,OAAO,GAAG,EAAE;QACV,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { Listener } from '@libp2p/interface-transport';
1
+ import type { Listener } from '@libp2p/interface/transport';
2
2
  export declare function createListener(): Listener;
3
3
  //# sourceMappingURL=listener.browser.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { Listener, CreateListenerOptions } from '@libp2p/interface-transport';
2
+ import type { Listener, CreateListenerOptions } from '@libp2p/interface/transport';
3
3
  import type { Server } from 'http';
4
4
  export interface WebSocketListenerInit extends CreateListenerOptions {
5
5
  server?: Server;
@@ -1,5 +1,5 @@
1
1
  import os from 'os';
2
- import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events';
2
+ import { EventEmitter, CustomEvent } from '@libp2p/interface/events';
3
3
  import { logger } from '@libp2p/logger';
4
4
  import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr';
5
5
  import { multiaddr, protocols } from '@multiformats/multiaddr';
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { MultiaddrConnection } from '@libp2p/interface-connection';
2
- import type { AbortOptions } from '@libp2p/interfaces';
1
+ import type { AbortOptions } from '@libp2p/interface';
2
+ import type { MultiaddrConnection } from '@libp2p/interface/connection';
3
3
  import type { Multiaddr } from '@multiformats/multiaddr';
4
4
  import type { DuplexWebSocket } from 'it-ws/duplex';
5
5
  export interface SocketToConnOptions extends AbortOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-to-conn.d.ts","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,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,CAqDlI"}
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,CAoElI"}
@@ -1,6 +1,6 @@
1
+ import { CodeError } from '@libp2p/interface/errors';
1
2
  import { logger } from '@libp2p/logger';
2
3
  import { abortableSource } from 'abortable-iterator';
3
- import pTimeout from 'p-timeout';
4
4
  import { CLOSE_TIMEOUT } from './constants.js';
5
5
  const log = logger('libp2p:websockets:socket');
6
6
  // Convert a stream into a MultiaddrConnection
@@ -24,21 +24,31 @@ export function socketToMaConn(stream, remoteAddr, options) {
24
24
  source: (options.signal != null) ? abortableSource(stream.source, options.signal) : stream.source,
25
25
  remoteAddr,
26
26
  timeline: { open: Date.now() },
27
- async close() {
27
+ async close(options = {}) {
28
28
  const start = Date.now();
29
+ options.signal = options.signal ?? AbortSignal.timeout(CLOSE_TIMEOUT);
30
+ const listener = () => {
31
+ const { host, port } = maConn.remoteAddr.toOptions();
32
+ log('timeout closing stream to %s:%s after %dms, destroying it manually', host, port, Date.now() - start);
33
+ this.abort(new CodeError('Socket close timeout', 'ERR_SOCKET_CLOSE_TIMEOUT'));
34
+ };
35
+ options.signal.addEventListener('abort', listener);
29
36
  try {
30
- await pTimeout(stream.close(), {
31
- milliseconds: CLOSE_TIMEOUT
32
- });
37
+ await stream.close();
33
38
  }
34
39
  catch (err) {
35
- const { host, port } = maConn.remoteAddr.toOptions();
36
- log('timeout closing stream to %s:%s after %dms, destroying it manually', host, port, Date.now() - start);
37
- stream.destroy();
40
+ this.abort(err);
38
41
  }
39
42
  finally {
43
+ options.signal.removeEventListener('abort', listener);
40
44
  maConn.timeline.close = Date.now();
41
45
  }
46
+ },
47
+ abort(err) {
48
+ const { host, port } = maConn.remoteAddr.toOptions();
49
+ log('timeout closing stream to %s:%s due to error', host, port, err);
50
+ stream.destroy();
51
+ maConn.timeline.close = Date.now();
42
52
  }
43
53
  };
44
54
  stream.socket.addEventListener('close', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,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;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAExB,IAAI;gBACF,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;oBAC7B,YAAY,EAAE,aAAa;iBAC5B,CAAC,CAAA;aACH;YAAC,OAAO,GAAG,EAAE;gBACZ,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,MAAM,CAAC,OAAO,EAAE,CAAA;aACjB;oBAAS;gBACR,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;aACnC;QACH,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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/websockets",
3
- "version": "6.0.3-ab0e3980",
3
+ "version": "6.0.3-b1024c6c",
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",
@@ -68,11 +68,9 @@
68
68
  "test:electron-main": "aegir test -t electron-main -f ./dist/test/node.js --cov"
69
69
  },
70
70
  "dependencies": {
71
- "@libp2p/interface-connection": "5.1.1-ab0e3980",
72
- "@libp2p/interface-transport": "4.0.3-ab0e3980",
73
- "@libp2p/interfaces": "3.3.2-ab0e3980",
74
- "@libp2p/logger": "2.1.1-ab0e3980",
75
- "@libp2p/utils": "3.0.12-ab0e3980",
71
+ "@libp2p/interface": "0.0.1-b1024c6c",
72
+ "@libp2p/logger": "2.1.1-b1024c6c",
73
+ "@libp2p/utils": "3.0.12-b1024c6c",
76
74
  "@multiformats/mafmt": "^12.1.2",
77
75
  "@multiformats/multiaddr": "^12.1.3",
78
76
  "@multiformats/multiaddr-to-uri": "^9.0.2",
@@ -80,23 +78,21 @@
80
78
  "abortable-iterator": "^5.0.1",
81
79
  "it-ws": "^6.0.0",
82
80
  "p-defer": "^4.0.0",
83
- "p-timeout": "^6.0.0",
84
81
  "wherearewe": "^2.0.1",
85
82
  "ws": "^8.12.1"
86
83
  },
87
84
  "devDependencies": {
88
- "@libp2p/interface-mocks": "12.0.1-ab0e3980",
89
- "@libp2p/interface-transport-compliance-tests": "4.0.2-ab0e3980",
90
- "aegir": "^39.0.10",
85
+ "@libp2p/interface-compliance-tests": "3.0.7-b1024c6c",
86
+ "aegir": "^39.0.13",
91
87
  "is-loopback-addr": "^2.0.1",
92
88
  "it-all": "^3.0.1",
93
89
  "it-drain": "^3.0.2",
94
90
  "it-goodbye": "^4.0.1",
95
91
  "it-pipe": "^3.0.1",
96
92
  "it-stream-types": "^2.0.1",
97
- "p-wait-for": "^5.0.0",
93
+ "p-wait-for": "^5.0.2",
98
94
  "uint8arraylist": "^2.3.2",
99
- "uint8arrays": "^4.0.3"
95
+ "uint8arrays": "^4.0.4"
100
96
  },
101
97
  "browser": {
102
98
  "./dist/src/listener.js": "./dist/src/listener.browser.js"
package/src/constants.ts CHANGED
@@ -7,4 +7,4 @@ export const CODE_WS = 477
7
7
  export const CODE_WSS = 478
8
8
 
9
9
  // Time to wait for a connection to close gracefully before destroying it manually
10
- export const CLOSE_TIMEOUT = 2000
10
+ export const CLOSE_TIMEOUT = 500
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { type Transport, type MultiaddrFilter, symbol, type CreateListenerOptions, type DialOptions, type Listener } from '@libp2p/interface-transport'
2
- import { AbortError } from '@libp2p/interfaces/errors'
1
+ import { AbortError } from '@libp2p/interface/errors'
2
+ import { type Transport, type MultiaddrFilter, symbol, type CreateListenerOptions, type DialOptions, type Listener } from '@libp2p/interface/transport'
3
3
  import { logger } from '@libp2p/logger'
4
4
  import { multiaddrToUri as toUri } from '@multiformats/multiaddr-to-uri'
5
5
  import { connect, type WebSocketOptions } from 'it-ws/client'
@@ -8,8 +8,8 @@ import { isBrowser, isWebWorker } from 'wherearewe'
8
8
  import * as filters from './filters.js'
9
9
  import { createListener } from './listener.js'
10
10
  import { socketToMaConn } from './socket-to-conn.js'
11
- import type { Connection } from '@libp2p/interface-connection'
12
- import type { AbortOptions } from '@libp2p/interfaces'
11
+ import type { AbortOptions } from '@libp2p/interface'
12
+ import type { Connection } from '@libp2p/interface/connection'
13
13
  import type { Multiaddr } from '@multiformats/multiaddr'
14
14
  import type { Server } from 'http'
15
15
  import type { DuplexWebSocket } from 'it-ws/duplex'
@@ -1,4 +1,4 @@
1
- import type { Listener } from '@libp2p/interface-transport'
1
+ import type { Listener } from '@libp2p/interface/transport'
2
2
 
3
3
  export function createListener (): Listener {
4
4
  throw new Error('WebSocket Servers can not be created in the browser!')
package/src/listener.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import os from 'os'
2
- import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'
2
+ import { EventEmitter, CustomEvent } from '@libp2p/interface/events'
3
3
  import { logger } from '@libp2p/logger'
4
4
  import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'
5
5
  import { multiaddr, protocols } from '@multiformats/multiaddr'
6
6
  import { createServer } from 'it-ws/server'
7
7
  import { socketToMaConn } from './socket-to-conn.js'
8
- import type { Connection } from '@libp2p/interface-connection'
9
- import type { Listener, ListenerEvents, CreateListenerOptions } from '@libp2p/interface-transport'
8
+ import type { Connection } from '@libp2p/interface/connection'
9
+ import type { Listener, ListenerEvents, CreateListenerOptions } from '@libp2p/interface/transport'
10
10
  import type { Multiaddr } from '@multiformats/multiaddr'
11
11
  import type { Server } from 'http'
12
12
  import type { DuplexWebSocket } from 'it-ws/duplex'
@@ -1,9 +1,9 @@
1
+ import { CodeError } from '@libp2p/interface/errors'
1
2
  import { logger } from '@libp2p/logger'
2
3
  import { abortableSource } from 'abortable-iterator'
3
- import pTimeout from 'p-timeout'
4
4
  import { CLOSE_TIMEOUT } from './constants.js'
5
- import type { MultiaddrConnection } from '@libp2p/interface-connection'
6
- import type { AbortOptions } from '@libp2p/interfaces'
5
+ import type { AbortOptions } from '@libp2p/interface'
6
+ import type { MultiaddrConnection } from '@libp2p/interface/connection'
7
7
  import type { Multiaddr } from '@multiformats/multiaddr'
8
8
  import type { DuplexWebSocket } from 'it-ws/duplex'
9
9
 
@@ -39,22 +39,37 @@ export function socketToMaConn (stream: DuplexWebSocket, remoteAddr: Multiaddr,
39
39
 
40
40
  timeline: { open: Date.now() },
41
41
 
42
- async close () {
42
+ async close (options: AbortOptions = {}) {
43
43
  const start = Date.now()
44
+ options.signal = options.signal ?? AbortSignal.timeout(CLOSE_TIMEOUT)
44
45
 
45
- try {
46
- await pTimeout(stream.close(), {
47
- milliseconds: CLOSE_TIMEOUT
48
- })
49
- } catch (err) {
46
+ const listener = (): void => {
50
47
  const { host, port } = maConn.remoteAddr.toOptions()
51
48
  log('timeout closing stream to %s:%s after %dms, destroying it manually',
52
49
  host, port, Date.now() - start)
53
50
 
54
- stream.destroy()
51
+ this.abort(new CodeError('Socket close timeout', 'ERR_SOCKET_CLOSE_TIMEOUT'))
52
+ }
53
+
54
+ options.signal.addEventListener('abort', listener)
55
+
56
+ try {
57
+ await stream.close()
58
+ } catch (err: any) {
59
+ this.abort(err)
55
60
  } finally {
61
+ options.signal.removeEventListener('abort', listener)
56
62
  maConn.timeline.close = Date.now()
57
63
  }
64
+ },
65
+
66
+ abort (err: Error): void {
67
+ const { host, port } = maConn.remoteAddr.toOptions()
68
+ log('timeout closing stream to %s:%s due to error',
69
+ host, port, err)
70
+
71
+ stream.destroy()
72
+ maConn.timeline.close = Date.now()
58
73
  }
59
74
  }
60
75