@libp2p/tcp 8.0.3-e664d14f → 8.0.4-098ba082

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PTcp = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PTcp=(()=>{var bn=Object.create;var Pe=Object.defineProperty;var wn=Object.getOwnPropertyDescriptor;var yn=Object.getOwnPropertyNames;var xn=Object.getPrototypeOf,Cn=Object.prototype.hasOwnProperty;var W=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),F=(t,e)=>{for(var r in e)Pe(t,r,{get:e[r],enumerable:!0})},Wt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of yn(e))!Cn.call(t,o)&&o!==r&&Pe(t,o,{get:()=>e[o],enumerable:!(n=wn(e,o))||n.enumerable});return t};var J=(t,e,r)=>(r=t!=null?bn(xn(t)):{},Wt(e||!t||!t.__esModule?Pe(r,"default",{value:t,enumerable:!0}):r,t)),vn=t=>Wt(Pe({},"__esModule",{value:!0}),t);var Qt=I((li,Ht)=>{var le=1e3,ue=le*60,de=ue*60,re=de*24,En=re*7,An=re*365.25;Ht.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return In(t);if(r==="number"&&isFinite(t))return e.long?Tn(t):Sn(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function In(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*An;case"weeks":case"week":case"w":return r*En;case"days":case"day":case"d":return r*re;case"hours":case"hour":case"hrs":case"hr":case"h":return r*de;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*le;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Sn(t){var e=Math.abs(t);return e>=re?Math.round(t/re)+"d":e>=de?Math.round(t/de)+"h":e>=ue?Math.round(t/ue)+"m":e>=le?Math.round(t/le)+"s":t+"ms"}function Tn(t){var e=Math.abs(t);return e>=re?Oe(t,e,re,"day"):e>=de?Oe(t,e,de,"hour"):e>=ue?Oe(t,e,ue,"minute"):e>=le?Oe(t,e,le,"second"):t+" ms"}function Oe(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Je=I((ui,Kt)=>{function Pn(t){r.debug=r,r.default=r,r.coerce=p,r.disable=s,r.enable=o,r.enabled=i,r.humanize=Qt(),r.destroy=y,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let u=0;for(let f=0;f<l.length;f++)u=(u<<5)-u+l.charCodeAt(f),u|=0;return r.colors[Math.abs(u)%r.colors.length]}r.selectColor=e;function r(l){let u,f=null,g,h;function b(...x){if(!b.enabled)return;let m=b,E=Number(new Date),_=E-(u||E);m.diff=_,m.prev=u,m.curr=E,u=E,x[0]=r.coerce(x[0]),typeof x[0]!="string"&&x.unshift("%O");let A=0;x[0]=x[0].replace(/%([a-zA-Z%])/g,(L,R)=>{if(L==="%%")return"%";A++;let U=r.formatters[R];if(typeof U=="function"){let ce=x[A];L=U.call(m,ce),x.splice(A,1),A--}return L}),r.formatArgs.call(m,x),(m.log||r.log).apply(m,x)}return b.namespace=l,b.useColors=r.useColors(),b.color=r.selectColor(l),b.extend=n,b.destroy=r.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(g!==r.namespaces&&(g=r.namespaces,h=r.enabled(l)),h),set:x=>{f=x}}),typeof r.init=="function"&&r.init(b),b}function n(l,u){let f=r(this.namespace+(typeof u>"u"?":":u)+l);return f.log=this.log,f}function o(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let u,f=(typeof l=="string"?l:"").split(/[\s,]+/),g=f.length;for(u=0;u<g;u++)f[u]&&(l=f[u].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(u=>"-"+u)].join(",");return r.enable(""),l}function i(l){if(l[l.length-1]==="*")return!0;let u,f;for(u=0,f=r.skips.length;u<f;u++)if(r.skips[u].test(l))return!1;for(u=0,f=r.names.length;u<f;u++)if(r.names[u].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function p(l){return l instanceof Error?l.stack||l.message:l}function y(){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}Kt.exports=Pn});var Yt=I((k,Re)=>{k.formatArgs=Rn;k.save=Fn;k.load=Mn;k.useColors=On;k.storage=kn();k.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`."))}})();k.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 On(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Rn(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Re.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)}k.log=console.debug||console.log||(()=>{});function Fn(t){try{t?k.storage.setItem("debug",t):k.storage.removeItem("debug")}catch{}}function Mn(){let t;try{t=k.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function kn(){try{return localStorage}catch{}}Re.exports=Je()(k);var{formatters:Nn}=Re.exports;Nn.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var er=I((di,Zt)=>{"use strict";Zt.exports=(t,e)=>{e=e||process.argv;let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1?!0:n<o)}});var rr=I((pi,tr)=>{"use strict";var Dn=W("os"),V=er(),T=process.env,pe;V("no-color")||V("no-colors")||V("color=false")?pe=!1:(V("color")||V("colors")||V("color=true")||V("color=always"))&&(pe=!0);"FORCE_COLOR"in T&&(pe=T.FORCE_COLOR.length===0||parseInt(T.FORCE_COLOR,10)!==0);function _n(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ln(t){if(pe===!1)return 0;if(V("color=16m")||V("color=full")||V("color=truecolor"))return 3;if(V("color=256"))return 2;if(t&&!t.isTTY&&pe!==!0)return 0;let e=pe?1:0;if(process.platform==="win32"){let r=Dn.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in T)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(r=>r in T)||T.CI_NAME==="codeship"?1:e;if("TEAMCITY_VERSION"in T)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(T.TEAMCITY_VERSION)?1:0;if(T.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in T){let r=parseInt((T.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(T.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(T.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(T.TERM)||"COLORTERM"in T?1:(T.TERM==="dumb",e)}function Xe(t){let e=Ln(t);return _n(e)}tr.exports={supportsColor:Xe,stdout:Xe(process.stdout),stderr:Xe(process.stderr)}});var or=I((S,Me)=>{var Un=W("tty"),Fe=W("util");S.init=Gn;S.log=Vn;S.formatArgs=Bn;S.save=qn;S.load=jn;S.useColors=$n;S.destroy=Fe.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");S.colors=[6,2,3,4,5,1];try{let t=rr();t&&(t.stderr||t).level>=2&&(S.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}S.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function $n(){return"colors"in S.inspectOpts?!!S.inspectOpts.colors:Un.isatty(process.stderr.fd)}function Bn(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
2
+ "use strict";var Libp2PTcp=(()=>{var fn=Object.create;var Me=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var gn=Object.getPrototypeOf,wn=Object.prototype.hasOwnProperty;var X=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var M=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),k=(t,e)=>{for(var r in e)Me(t,r,{get:e[r],enumerable:!0})},Qt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of mn(e))!wn.call(t,o)&&o!==r&&Me(t,o,{get:()=>e[o],enumerable:!(n=hn(e,o))||n.enumerable});return t};var ne=(t,e,r)=>(r=t!=null?fn(gn(t)):{},Qt(e||!t||!t.__esModule?Me(r,"default",{value:t,enumerable:!0}):r,t)),bn=t=>Qt(Me({},"__esModule",{value:!0}),t);var er=M((Zs,Zt)=>{var pe=1e3,fe=pe*60,he=fe*60,oe=he*24,xn=oe*7,yn=oe*365.25;Zt.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Cn(t);if(r==="number"&&isFinite(t))return e.long?En(t):vn(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Cn(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*yn;case"weeks":case"week":case"w":return r*xn;case"days":case"day":case"d":return r*oe;case"hours":case"hour":case"hrs":case"hr":case"h":return r*he;case"minutes":case"minute":case"mins":case"min":case"m":return r*fe;case"seconds":case"second":case"secs":case"sec":case"s":return r*pe;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function vn(t){var e=Math.abs(t);return e>=oe?Math.round(t/oe)+"d":e>=he?Math.round(t/he)+"h":e>=fe?Math.round(t/fe)+"m":e>=pe?Math.round(t/pe)+"s":t+"ms"}function En(t){var e=Math.abs(t);return e>=oe?ke(t,e,oe,"day"):e>=he?ke(t,e,he,"hour"):e>=fe?ke(t,e,fe,"minute"):e>=pe?ke(t,e,pe,"second"):t+" ms"}function ke(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Qe=M((ei,tr)=>{function An(t){r.debug=r,r.default=r,r.coerce=p,r.disable=s,r.enable=o,r.enabled=i,r.humanize=er(),r.destroy=y,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let u=0;for(let f=0;f<l.length;f++)u=(u<<5)-u+l.charCodeAt(f),u|=0;return r.colors[Math.abs(u)%r.colors.length]}r.selectColor=e;function r(l){let u,f=null,g,h;function w(...C){if(!w.enabled)return;let m=w,A=Number(new Date),U=A-(u||A);m.diff=U,m.prev=u,m.curr=A,u=A,C[0]=r.coerce(C[0]),typeof C[0]!="string"&&C.unshift("%O");let I=0;C[0]=C[0].replace(/%([a-zA-Z%])/g,($,R)=>{if($==="%%")return"%";I++;let B=r.formatters[R];if(typeof B=="function"){let ue=C[I];$=B.call(m,ue),C.splice(I,1),I--}return $}),r.formatArgs.call(m,C),(m.log||r.log).apply(m,C)}return w.namespace=l,w.useColors=r.useColors(),w.color=r.selectColor(l),w.extend=n,w.destroy=r.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(g!==r.namespaces&&(g=r.namespaces,h=r.enabled(l)),h),set:C=>{f=C}}),typeof r.init=="function"&&r.init(w),w}function n(l,u){let f=r(this.namespace+(typeof u>"u"?":":u)+l);return f.log=this.log,f}function o(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let u,f=(typeof l=="string"?l:"").split(/[\s,]+/),g=f.length;for(u=0;u<g;u++)f[u]&&(l=f[u].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(u=>"-"+u)].join(",");return r.enable(""),l}function i(l){if(l[l.length-1]==="*")return!0;let u,f;for(u=0,f=r.skips.length;u<f;u++)if(r.skips[u].test(l))return!1;for(u=0,f=r.names.length;u<f;u++)if(r.names[u].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function p(l){return l instanceof Error?l.stack||l.message:l}function y(){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}tr.exports=An});var rr=M((L,Ne)=>{L.formatArgs=Sn;L.save=Tn;L.load=Pn;L.useColors=In;L.storage=Fn();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 In(){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 Sn(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ne.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 Tn(t){try{t?L.storage.setItem("debug",t):L.storage.removeItem("debug")}catch{}}function Pn(){let t;try{t=L.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Fn(){try{return localStorage}catch{}}Ne.exports=Qe()(L);var{formatters:On}=Ne.exports;On.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var or=M((ti,nr)=>{"use strict";nr.exports=(t,e)=>{e=e||process.argv;let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1?!0:n<o)}});var ir=M((ri,sr)=>{"use strict";var Rn=X("os"),j=or(),T=process.env,me;j("no-color")||j("no-colors")||j("color=false")?me=!1:(j("color")||j("colors")||j("color=true")||j("color=always"))&&(me=!0);"FORCE_COLOR"in T&&(me=T.FORCE_COLOR.length===0||parseInt(T.FORCE_COLOR,10)!==0);function Mn(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function kn(t){if(me===!1)return 0;if(j("color=16m")||j("color=full")||j("color=truecolor"))return 3;if(j("color=256"))return 2;if(t&&!t.isTTY&&me!==!0)return 0;let e=me?1:0;if(process.platform==="win32"){let r=Rn.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in T)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(r=>r in T)||T.CI_NAME==="codeship"?1:e;if("TEAMCITY_VERSION"in T)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(T.TEAMCITY_VERSION)?1:0;if(T.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in T){let r=parseInt((T.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(T.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(T.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(T.TERM)||"COLORTERM"in T?1:(T.TERM==="dumb",e)}function Ke(t){let e=kn(t);return Mn(e)}sr.exports={supportsColor:Ke,stdout:Ke(process.stdout),stderr:Ke(process.stderr)}});var ar=M((S,De)=>{var Nn=X("tty"),Le=X("util");S.init=zn;S.log=Un;S.formatArgs=Dn;S.save=$n;S.load=Bn;S.useColors=Ln;S.destroy=Le.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");S.colors=[6,2,3,4,5,1];try{let t=ir();t&&(t.stderr||t).level>=2&&(S.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}S.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function Ln(){return"colors"in S.inspectOpts?!!S.inspectOpts.colors:Nn.isatty(process.stderr.fd)}function Dn(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
3
3
  `).join(`
4
- `+s),t.push(o+"m+"+Me.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=zn()+e+" "+t[0]}function zn(){return S.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Vn(...t){return process.stderr.write(Fe.format(...t)+`
5
- `)}function qn(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function jn(){return process.env.DEBUG}function Gn(t){t.inspectOpts={};let e=Object.keys(S.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=S.inspectOpts[e[r]]}Me.exports=Je()(S);var{formatters:nr}=Me.exports;nr.o=function(t){return this.inspectOpts.colors=this.useColors,Fe.inspect(t,this.inspectOpts).split(`
6
- `).map(e=>e.trim()).join(" ")};nr.O=function(t){return this.inspectOpts.colors=this.useColors,Fe.inspect(t,this.inspectOpts)}});var sr=I((fi,He)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?He.exports=Yt():He.exports=or()});var Pr=I((pc,Tr)=>{Tr.exports=yt;var Sr=128,ts=127,rs=~ts,ns=Math.pow(2,31);function yt(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw yt.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=ns;)e[r++]=t&255|Sr,t/=128;for(;t&rs;)e[r++]=t&255|Sr,t>>>=7;return e[r]=t|0,yt.bytes=r-n+1,e}});var Fr=I((fc,Rr)=>{Rr.exports=xt;var os=128,Or=127;function xt(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a||o>49)throw xt.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Or)<<o:(i&Or)*Math.pow(2,o),o+=7}while(i>=os);return xt.bytes=s-n,r}});var kr=I((hc,Mr)=>{var ss=Math.pow(2,7),is=Math.pow(2,14),cs=Math.pow(2,21),as=Math.pow(2,28),ls=Math.pow(2,35),us=Math.pow(2,42),ds=Math.pow(2,49),ps=Math.pow(2,56),fs=Math.pow(2,63);Mr.exports=function(t){return t<ss?1:t<is?2:t<cs?3:t<as?4:t<ls?5:t<us?6:t<ds?7:t<ps?8:t<fs?9:10}});var Ct=I((mc,Nr)=>{Nr.exports={encode:Pr(),decode:Fr(),encodingLength:kr()}});var je=I((Ha,on)=>{on.exports=t=>{if(t[Symbol.asyncIterator])return t;if(t.getReader)return async function*(){let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)return;yield n}}finally{e.releaseLock()}}();throw new Error("unknown stream")}});var cn=I((Qa,sn)=>{sn.exports=function(e){if(e){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}});var $t=I((Ka,an)=>{var js=cn();an.exports=t=>async e=>{e=js(e);let r=m=>{typeof m.return=="function"&&m.return()},n=null,o=null,s=m=>{n=m,o&&o(m),r(e)},i=null,a=!1,p=()=>{a=!0,i&&i()},y=null,l=!1,u=()=>{l=!0,y&&y()},f=null,g=()=>{f&&f()},h=()=>new Promise((m,E)=>{i=f=m,o=E,t.once("drain",g)}),b=()=>(r(e),new Promise((m,E)=>{if(a||l||n)return m();y=i=m,o=E})),x=()=>{t.removeListener("error",s),t.removeListener("close",p),t.removeListener("finish",u),t.removeListener("drain",g)};t.once("error",s),t.once("close",p),t.once("finish",u);try{for await(let m of e){if(!t.writable||t.destroyed||n)break;t.write(m)===!1&&await h()}}catch(m){n||t.destroy(),n=m}try{if(t.writable&&t.end(),await b(),n)throw n}finally{x()}}});var Bt=I((Ya,ln)=>{var Gs=$t(),Ws=je();ln.exports=t=>({sink:Gs(t),source:Ws(t)})});var dn=I((Za,un)=>{var Js=Bt();un.exports=t=>async function*(e){let r=Js(t),n;if(r.sink(e).catch(o=>{n=o}),yield*r.source,n)throw n}});var pn=I((el,ve)=>{ve.exports=je();ve.exports.source=je();ve.exports.sink=$t();ve.exports.transform=dn();ve.exports.duplex=Bt()});var si={};F(si,{tcp:()=>oi});var gn=J(W("net"),1);var ae=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},M=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Xt=Symbol.for("@libp2p/transport");var Jt;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Jt||(Jt={}));var N=J(sr(),1);var et={};F(et,{base32:()=>q,base32hex:()=>eo,base32hexpad:()=>ro,base32hexpadupper:()=>no,base32hexupper:()=>to,base32pad:()=>Yn,base32padupper:()=>Zn,base32upper:()=>Kn,base32z:()=>oo});function Wn(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,p=t.charAt(0),y=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var b=0,x=0,m=0,E=h.length;m!==E&&h[m]===0;)m++,b++;for(var _=(E-m)*l+1>>>0,A=new Uint8Array(_);m!==E;){for(var z=h[m],L=0,R=_-1;(z!==0||L<x)&&R!==-1;R--,L++)z+=256*A[R]>>>0,A[R]=z%a>>>0,z=z/a>>>0;if(z!==0)throw new Error("Non-zero carry");x=L,m++}for(var U=_-x;U!==_&&A[U]===0;)U++;for(var ce=p.repeat(b);U<_;++U)ce+=t.charAt(A[U]);return ce}function f(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var b=0;if(h[b]!==" "){for(var x=0,m=0;h[b]===p;)x++,b++;for(var E=(h.length-b)*y+1>>>0,_=new Uint8Array(E);h[b];){var A=r[h.charCodeAt(b)];if(A===255)return;for(var z=0,L=E-1;(A!==0||z<m)&&L!==-1;L--,z++)A+=a*_[L]>>>0,_[L]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");m=z,b++}if(h[b]!==" "){for(var R=E-m;R!==E&&_[R]===0;)R++;for(var U=new Uint8Array(x+(E-R)),ce=x;R!==E;)U[ce++]=_[R++];return U}}}function g(h){var b=f(h);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:f,decode:g}}var Jn=Wn,Xn=Jn,ir=Xn;var mi=new Uint8Array(0);var cr=(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 ar=t=>new TextEncoder().encode(t),lr=t=>new TextDecoder().decode(t);var Qe=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")}},Ke=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 dr(this,e)}},Ye=class{constructor(e){this.decoders=e}or(e){return dr(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`)}},dr=(t,e)=>new Ye({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Ze=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Qe(e,r,n),this.decoder=new Ke(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 Ze(t,e,r,n),K=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=ir(r,e);return fe({prefix:t,name:e,encode:n,decode:s=>$(o(s))})},Hn=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,p=0,y=0;for(let l=0;l<s;++l){let u=o[t[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);p=p<<r|u,a+=r,a>=8&&(a-=8,i[y++]=255&p>>a)}if(a>=r||255&p<<8-a)throw new SyntaxError("Unexpected end of data");return i},Qn=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let p=0;p<t.length;++p)for(a=a<<8|t[p],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},C=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>fe({prefix:e,name:t,encode(o){return Qn(o,n,r)},decode(o){return Hn(o,n,r,t)}});var q=C({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Kn=C({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Yn=C({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zn=C({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eo=C({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),to=C({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ro=C({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),no=C({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),oo=C({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var tt={};F(tt,{base58btc:()=>P,base58flickr:()=>so});var P=K({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),so=K({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var nt={};F(nt,{base64:()=>rt,base64pad:()=>io,base64url:()=>co,base64urlpad:()=>ao});var rt=C({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),io=C({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),co=C({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ao=C({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});N.default.formatters.b=t=>t==null?"undefined":P.baseEncode(t);N.default.formatters.t=t=>t==null?"undefined":q.baseEncode(t);N.default.formatters.m=t=>t==null?"undefined":rt.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 lo(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 Y(t){let e=lo(`${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 uo=hr,pr=128,po=127,fo=~po,ho=Math.pow(2,31);function hr(t,e,r){e=e||[],r=r||0;for(var n=r;t>=ho;)e[r++]=t&255|pr,t/=128;for(;t&fo;)e[r++]=t&255|pr,t>>>=7;return e[r]=t|0,hr.bytes=r-n+1,e}var mo=ot,go=128,fr=127;function ot(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw ot.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&fr)<<o:(i&fr)*Math.pow(2,o),o+=7}while(i>=go);return ot.bytes=s-n,r}var bo=Math.pow(2,7),wo=Math.pow(2,14),yo=Math.pow(2,21),xo=Math.pow(2,28),Co=Math.pow(2,35),vo=Math.pow(2,42),Eo=Math.pow(2,49),Ao=Math.pow(2,56),Io=Math.pow(2,63),So=function(t){return t<bo?1:t<wo?2:t<yo?3:t<xo?4:t<Co?5:t<vo?6:t<Eo?7:t<Ao?8:t<Io?9:10},To={encode:uo,decode:mo,encodingLength:So},Po=To,Ae=Po;var Ie=(t,e=0)=>[Ae.decode(t,e),Ae.decode.bytes],he=(t,e,r=0)=>(Ae.encode(t,e,r),e),me=t=>Ae.encodingLength(t);var ne=(t,e)=>{let r=e.byteLength,n=me(t),o=n+me(r),s=new Uint8Array(o+r);return he(t,s,0),he(r,s,n),s.set(e,o),new ge(t,r,e,s)},Ne=t=>{let e=$(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 ge(r,o,i,e)},mr=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&cr(t.bytes,r.bytes)}},ge=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var gr=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Ro(r,st(t),e||P.encoder);default:return Fo(r,st(t),e||q.encoder)}};var br=new WeakMap,st=t=>{let e=br.get(t);if(e==null){let r=new Map;return br.set(t,r),r}return e},Z=class t{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!==Se)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Mo)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&&mr(e.multihash,n.multihash)}toString(e){return gr(this,e)}toJSON(){return{"/":gr(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||wr(n,o,s.bytes))}else if(r[ko]===!0){let{version:n,multihash:o,code:s}=r,i=Ne(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!==Se)throw new Error(`Version 0 CID must use dag-pb (code: ${Se}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=wr(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Se,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=$(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 ge(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[u,f]=Ie(e.subarray(r));return r+=f,u},o=n(),s=Se;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),p=n(),y=r+p,l=y-i;return{version:o,codec:s,multihashCode:a,digestSize:p,multihashSize:l,size:y}}static parse(e,r){let[n,o]=Oo(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 st(s).set(n,e),s}},Oo=(t,e)=>{switch(t[0]){case"Q":{let r=e||P;return[P.prefix,r.decode(`${P.prefix}${t}`)]}case P.prefix:{let r=e||P;return[P.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)]}}},Ro=(t,e,r)=>{let{prefix:n}=r;if(n!==P.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},Fo=(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},Se=112,Mo=18,wr=(t,e,r)=>{let n=me(t),o=n+me(e),s=new Uint8Array(o+r.byteLength);return he(t,s,0),he(e,s,n),s.set(r,o),s},ko=Symbol.for("@ipld/js-cid/CID");function yr(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 it={};F(it,{identity:()=>No});var No=fe({prefix:"\0",name:"identity",encode:t=>lr(t),decode:t=>ar(t)});var ct={};F(ct,{base2:()=>Do});var Do=C({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var at={};F(at,{base8:()=>_o});var _o=C({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var lt={};F(lt,{base10:()=>Lo});var Lo=K({prefix:"9",name:"base10",alphabet:"0123456789"});var ut={};F(ut,{base16:()=>Uo,base16upper:()=>$o});var Uo=C({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$o=C({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var dt={};F(dt,{base36:()=>Bo,base36upper:()=>zo});var Bo=K({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),zo=K({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pt={};F(pt,{base256emoji:()=>Wo});var xr=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}"),Vo=xr.reduce((t,e,r)=>(t[r]=e,t),[]),qo=xr.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function jo(t){return t.reduce((e,r)=>(e+=Vo[r],e),"")}function Go(t){let e=[];for(let r of t){let n=qo[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Wo=fe({prefix:"\u{1F680}",name:"base256emoji",encode:jo,decode:Go});var gt={};F(gt,{sha256:()=>Jo,sha512:()=>Xo});var mt=J(W("crypto"),1);var ht=({name:t,code:e,encode:r})=>new ft(t,e,r),ft=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 Jo=ht({name:"sha2-256",code:18,encode:t=>$(mt.default.createHash("sha256").update(t).digest())}),Xo=ht({name:"sha2-512",code:19,encode:t=>$(mt.default.createHash("sha512").update(t).digest())});var bt={};F(bt,{identity:()=>Ko});var vr=0,Ho="identity",Er=$,Qo=t=>ne(vr,Er(t)),Ko={code:vr,name:Ho,encode:Er,digest:Qo};var Ji=new TextEncoder,Xi=new TextDecoder;var Te={...it,...ct,...at,...lt,...ut,...et,...dt,...tt,...nt,...pt},Zi={...gt,...bt};function we(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function De(t=0){return globalThis.Buffer?.allocUnsafe!=null?we(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Ir(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Ar=Ir("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),wt=Ir("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=De(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),es={utf8:Ar,"utf-8":Ar,hex:Te.base16,latin1:wt,ascii:wt,binary:wt,...Te},_e=es;function O(t,e="utf8"){let r=_e[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)}function X(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=De(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return we(r)}var xe=J(Ct(),1);var Le=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 p=a==="0",y=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let f=Number.parseInt(u,e);if(!Number.isNaN(f))return f});if(l===void 0)break;if(s*=e,s+=l,s>y||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&p&&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 wc=new Le;var Sc=parseInt("0xFFFF",16),Tc=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function vt(t,e="utf8"){let r=_e[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?we(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var j=J(Ct(),1);var B=W("node:net");function Ue(t){return!!(0,B.isIP)(t)}var Lr=B.isIPv4,ys=B.isIPv6,Et=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(ys(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Lr(r[n]),i;s&&(i=Et(r[n]),r[n]=O(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,O(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")},Ur=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 ye={},At={},Cs=[[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"]];Cs.forEach(t=>{let e=vs(...t);At[e.code]=e,ye[e.name]=e});function vs(t,e,r,n,o){return{code:t,size:e,name:r,resolvable:!!n,path:!!o}}function w(t){if(typeof t=="number"){if(At[t]!=null)return At[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ye[t]!=null)return ye[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var ha=w("ip4"),ma=w("ip6"),ga=w("ipcidr");function St(t,e){switch(w(t).code){case 4:case 41:return As(e);case 42:return zr(e);case 6:case 273:case 33:case 132:return qr(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return zr(e);case 421:return Ps(e);case 444:return Vr(e);case 445:return Vr(e);case 466:return Ts(e);default:return O(e,"base16")}}function Tt(t,e){switch(w(t).code){case 4:return $r(e);case 41:return $r(e);case 42:return Br(e);case 6:case 273:case 33:case 132:return Pt(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Br(e);case 421:return Is(e);case 444:return Os(e);case 445:return Rs(e);case 466:return Ss(e);default:return vt(e,"base16")}}var It=Object.values(Te).map(t=>t.decoder),Es=function(){let t=It[0].or(It[1]);return It.slice(2).forEach(e=>t=t.or(e)),t}();function $r(t){if(!Ue(t))throw new Error("invalid ip address");return Et(t)}function As(t){let e=Ur(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ue(e))throw new Error("invalid ip address");return e}function Pt(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function qr(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Br(t){let e=vt(t),r=Uint8Array.from(j.default.encode(e.length));return X([r,e],r.length+e.length)}function zr(t){let e=j.default.decode(t);if(t=t.slice(j.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return O(t)}function Is(t){let e;t[0]==="Q"||t[0]==="1"?e=Ne(P.decode(`z${t}`)).bytes:e=Z.parse(t).multihash.bytes;let r=Uint8Array.from(j.default.encode(e.length));return X([r,e],r.length+e.length)}function Ss(t){let e=Es.decode(t),r=Uint8Array.from(j.default.encode(e.length));return X([r,e],r.length+e.length)}function Ts(t){let e=j.default.decode(t),r=t.slice(j.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+O(r,"base64url")}function Ps(t){let e=j.default.decode(t),r=t.slice(j.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return O(r,"base58btc")}function Os(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=Pt(n);return X([r,o],r.length+o.length)}function Rs(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=Pt(n);return X([r,o],r.length+o.length)}function Vr(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=O(e,"base32"),o=qr(r);return`${n}:${o}`}function jr(t){t=Ot(t);let e=[],r=[],n=null,o=t.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=w(i);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=o.length)throw Wr("invalid address: "+t);if(a.path===!0){n=Ot(o.slice(s).join("/")),e.push([a.code,Tt(a.code,n)]),r.push([a.code,n]);break}let p=Tt(a.code,o[s]);e.push([a.code,p]),r.push([a.code,St(a.code,p)])}return{string:Gr(r),bytes:Ft(e),tuples:e,stringTuples:r,path:n}}function Rt(t){let e=[],r=[],n=null,o=0;for(;o<t.length;){let s=xe.default.decode(t,o),i=xe.default.decode.bytes??0,a=w(s),p=Fs(a,t.slice(o+i));if(p===0){e.push([s]),r.push([s]),o+=i;continue}let y=t.slice(o+i,o+i+p);if(o+=p+i,o>t.length)throw Wr("Invalid address Uint8Array: "+O(t,"base16"));e.push([s,y]);let l=St(s,y);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Gr(r),tuples:e,stringTuples:r,path:n}}function Gr(t){let e=[];return t.map(r=>{let n=w(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Ot(e.join("/"))}function Ft(t){return X(t.map(e=>{let r=w(e[0]),n=Uint8Array.from(xe.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=X([n,e[1]])),n}))}function Fs(t,e){return t.size>0?t.size/8:t.size===0?0:xe.default.decode(e)+(xe.default.decode.bytes??0)}function Ot(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Wr(t){return new Error("Error parsing address: "+t)}var Ms=Symbol.for("nodejs.util.inspect.custom"),ks=[w("dns").code,w("dns4").code,w("dns6").code,w("dnsaddr").code],Ns=new Map,Jr=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Ds(t){return!!t?.[Jr]}var Mt=class t{bytes;#e;#t;#r;#n;[Jr]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Rt(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=jr(e)}else if(Ds(e))r=Rt(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,o,s="",i=w("tcp"),a=w("udp"),p=w("ip4"),y=w("ip6"),l=w("dns6"),u=w("ip6zone");for(let[g,h]of this.stringTuples())g===u.code&&(s=`%${h??""}`),ks.includes(g)&&(r=i.name,o=443,n=`${h??""}${s}`,e=g===l.code?6:4),(g===i.code||g===a.code)&&(r=w(g).name,o=parseInt(h??"")),(g===p.code||g===y.code)&&(r=w(g).name,n=`${h??""}${s}`,e=g===y.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.#t.map(([e])=>Object.assign({},w(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>w(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(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 t(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 t(Ft(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,o])=>{n===ye.p2p.code&&e.push([n,o]),n===ye["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?O(P.decode(`z${n}`),"base58btc"):O(Z.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return yr(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Ns.get(r.name);if(n==null)throw new M(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(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)}[Ms](){return`Multiaddr(${this.#e})`}};function H(t){return new Mt(t)}var _s=c("dns4"),Ls=c("dns6"),Us=c("dnsaddr"),se=v(c("dns"),Us,_s,Ls),ze=v(c("ip4"),c("ip6")),te=v(d(ze,c("tcp")),d(se,c("tcp"))),Ve=d(ze,c("udp")),$s=d(Ve,c("utp")),Bs=d(Ve,c("quic")),zs=d(Ve,c("quic-v1")),kt=v(d(te,c("ws")),d(se,c("ws"))),$e=v(d(kt,c("p2p")),kt),Nt=v(d(te,c("wss")),d(se,c("wss")),d(te,c("tls"),c("ws")),d(se,c("tls"),c("ws"))),Be=v(d(Nt,c("p2p")),Nt),Dt=v(d(te,c("http")),d(ze,c("http")),d(se,c("http"))),_t=v(d(te,c("https")),d(ze,c("https")),d(se,c("https"))),Xr=d(Ve,c("webrtc-direct"),c("certhash")),Kr=v(d(Xr,c("p2p")),Xr),Hr=d(zs,c("webtransport"),c("certhash"),c("certhash")),Yr=v(d(Hr,c("p2p")),Hr),Zr=v(d($e,c("p2p-webrtc-star"),c("p2p")),d(Be,c("p2p-webrtc-star"),c("p2p")),d($e,c("p2p-webrtc-star")),d(Be,c("p2p-webrtc-star"))),Ua=v(d($e,c("p2p-websocket-star"),c("p2p")),d(Be,c("p2p-websocket-star"),c("p2p")),d($e,c("p2p-websocket-star")),d(Be,c("p2p-websocket-star"))),en=v(d(Dt,c("p2p-webrtc-direct"),c("p2p")),d(_t,c("p2p-webrtc-direct"),c("p2p")),d(Dt,c("p2p-webrtc-direct")),d(_t,c("p2p-webrtc-direct"))),ie=v(kt,Nt,Dt,_t,Zr,en,te,$s,Bs,se,Kr,Yr),$a=v(d(ie,c("p2p-stardust"),c("p2p")),d(ie,c("p2p-stardust"))),ee=v(d(ie,c("p2p")),Zr,en,Kr,Yr,c("p2p")),Qr=v(d(ee,c("p2p-circuit"),ee),d(ee,c("p2p-circuit")),d(c("p2p-circuit"),ee),d(ie,c("p2p-circuit")),d(c("p2p-circuit"),ie),c("p2p-circuit")),tn=()=>v(d(Qr,tn),Qr),oe=tn(),Ba=v(d(oe,ee,oe),d(ee,oe),d(oe,ee),oe,ee);var za=v(d(oe,c("webrtc"),c("p2p")),d(oe,c("webrtc")),d(ie,c("webrtc"),c("p2p")),d(ie,c("webrtc")),c("webrtc"));function rn(t){function e(r){let n;try{n=H(r)}catch{return!1}let o=t(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function d(...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:rn(e),partialMatch:e}}function v(...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:rn(e),partialMatch:e}}function c(t){let e=t;function r(o){let s;try{s=H(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}}var mn=J(W("net"),1);var qe=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Ce(e,r))}},Lt=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Ce=globalThis.CustomEvent??Lt;var qs=Y("libp2p:ip-port-to-multiaddr"),Ut={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function nn(t,e){if(typeof t!="string")throw new M(`invalid ip provided: ${t}`,Ut.ERR_INVALID_IP_PARAMETER);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new M(`invalid port provided: ${e}`,Ut.ERR_INVALID_PORT_PARAMETER);if((0,B.isIPv4)(t))return H(`/ip4/${t}/tcp/${e}`);if((0,B.isIPv6)(t))return H(`/ip6/${t}/tcp/${e}`);let r=`invalid ip:port for creating a multiaddr: ${t}:${e}`;throw qs.error(r),new M(r,Ut.ERR_INVALID_IP)}var hn=J(pn(),1);var zt=J(W("os"),1),fn=J(W("path"),1);var Xs={ip4:"IPv4",ip6:"IPv6"};function Ee(t,e={}){let r=t.getPath();return r!=null?zt.default.platform()==="win32"?{path:fn.default.join("\\\\.\\pipe\\",r)}:{path:r}:{...t.toOptions(),...e}}function Vt(t,e,r){let n=o=>H(`/${t}/${o}/tcp/${r}`);return(Hs(e)?Ks(Xs[t]):[e]).map(n)}function Hs(t){return["0.0.0.0","::"].includes(t)}var Qs=zt.default.networkInterfaces();function Ks(t){let e=[];for(let[,r]of Object.entries(Qs))if(r!=null)for(let n of r)n.family===t&&e.push(n.address);return e}var G=Y("libp2p:tcp:socket"),Ge=(t,e)=>{let r=e.metrics,n=e.metricPrefix??"",o=e.socketInactivityTimeout??3e5,s=e.socketCloseTimeout??500;e.listeningAddr?.getPath()!=null&&(e.remoteAddr=e.listeningAddr),e.remoteAddr?.getPath()!=null&&(e.localAddr=e.remoteAddr);let i;if(e.remoteAddr!=null)i=e.remoteAddr;else{if(t.remoteAddress==null||t.remotePort==null)throw new M("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");i=nn(t.remoteAddress,t.remotePort)}let a=Ee(i),p=a.path??`${a.host??""}:${a.port??""}`,{sink:y,source:l}=hn.default.duplex(t);t.setTimeout(o,()=>{G("%s socket read timeout",p),r?.increment({[`${n}timeout`]:!0});let f;t.readable&&(f=new M("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),t.destroy(f)}),t.once("close",()=>{G("%s socket close",p),r?.increment({[`${n}close`]:!0}),u.timeline.close==null&&(u.timeline.close=Date.now())}),t.once("end",()=>{G("%s socket end",p),r?.increment({[`${n}end`]:!0})});let u={async sink(f){try{await y(f)}catch(g){g.type!=="aborted"&&G(g)}t.end()},source:l,remoteAddr:i,timeline:{open:Date.now()},async close(f={}){if(t.destroyed){G("%s socket was already destroyed when trying to close",p);return}f.signal=f.signal??AbortSignal.timeout(s);try{G("%s closing socket",p),await new Promise((g,h)=>{t.once("close",()=>{G("%s socket closed",p),g()}),t.once("error",b=>{G("%s socket error",p,b),u.timeline.close==null&&(u.timeline.close=Date.now()),h(b)}),t.setTimeout(s),t.end(),t.writableLength>0?t.once("drain",()=>{G("%s socket drained",p),t.destroy()}):t.destroy()})}catch(g){this.abort(g)}},abort:f=>{G("%s socket abort due to error",p,f),t.destroy(f)}};return u};var D=Y("libp2p:tcp:listener");async function qt(t){try{await t.close()}catch(e){D.error("an error occurred closing the connection",e)}}var ei=1,ti=0,We=class extends qe{context;server;connections=new Set;status={started:!1};metrics;addr;constructor(e){if(super(),this.context=e,e.keepAlive=e.keepAlive??!0,this.addr="unknown",this.server=mn.default.createServer(e,this.onSocket.bind(this)),e.maxConnections!==void 0&&(this.server.maxConnections=e.maxConnections),e.closeServerOnMaxConnections!=null&&e.closeServerOnMaxConnections.closeAbove<e.closeServerOnMaxConnections.listenBelow)throw Error("closeAbove must be >= listenBelow");this.server.on("listening",()=>{if(e.metrics!=null){let r=this.server.address();r==null?this.addr="unknown":typeof r=="string"?this.addr=r:this.addr=`${r.address}:${r.port}`,e.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:e.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:e.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:e.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:ei})}this.dispatchEvent(new Ce("listening"))}).on("error",r=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new Ce("error",{detail:r}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:ti}),this.dispatchEvent(new Ce("close"))})}onSocket(e){e.on("error",n=>{D("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let r;try{r=Ge(e,{listeningAddr:this.status.started?this.status.listeningAddr:void 0,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `})}catch(n){D.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}D("new inbound connection %s",r.remoteAddr);try{this.context.upgrader.upgradeInbound(r).then(n=>{D("inbound connection upgraded %s",r.remoteAddr),this.connections.add(r),e.once("close",()=>{this.connections.delete(r),this.context.closeServerOnMaxConnections!=null&&this.connections.size<this.context.closeServerOnMaxConnections.listenBelow&&this.netListen().catch(o=>{D.error("error attempting to listen server once connection count under limit",o),this.context.closeServerOnMaxConnections?.onListenError?.(o)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.netClose(),this.dispatchEvent(new Ce("connection",{detail:n}))}).catch(async n=>{D.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await qt(r)}).catch(n=>{D.error("closing inbound connection failed",n)})}catch(n){D.error("inbound connection failed",n),qt(r).catch(o=>{D.error("closing inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(!this.status.started)return[];let e=[],r=this.server.address(),{listeningAddr:n,peerId:o}=this.status;if(r==null)return[];if(typeof r=="string")e=[n];else try{n.toString().startsWith("/ip4")?e=e.concat(Vt("ip4",r.address,r.port)):r.family==="IPv6"&&(e=e.concat(Vt("ip6",r.address,r.port)))}catch(s){D.error("could not turn %s:%s into multiaddr",r.address,r.port,s)}return e.map(s=>o!=null?s.encapsulate(`/p2p/${o}`):s)}async listen(e){if(this.status.started)throw Error("server is already listening");let r=e.getPeerId(),n=r==null?e.decapsulateCode(421):e,{backlog:o}=this.context;this.status={started:!0,listeningAddr:n,peerId:r,netConfig:Ee(n,{backlog:o})},await this.netListen()}async close(){await Promise.all(Array.from(this.connections.values()).map(async e=>{await qt(e)})),this.netClose()}async netListen(){if(!this.status.started||this.server.listening)return;let e=this.status.netConfig;await new Promise((r,n)=>{this.server.once("error",n),this.server.listen(e,r)}),D("Listening on %s",this.server.address())}netClose(){!this.status.started||!this.server.listening||(D("Closing server on %s",this.server.address()),this.server.close())}};var Q=Y("libp2p:tcp"),Gt=class{opts;metrics;components;constructor(e,r={}){this.opts=r,this.components=e,e.metrics!=null&&(this.metrics={dialerEvents:e.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[Xt]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(e,r){r.keepAlive=r.keepAlive??!0;let n=await this._connect(e,r);n.on("error",a=>{Q("socket error",a)});let o=Ge(n,{remoteAddr:e,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),s=()=>{o.close().catch(a=>{Q.error("Error closing maConn after abort",a)})};r.signal?.addEventListener("abort",s,{once:!0}),Q("new outbound connection %s",o.remoteAddr);let i=await r.upgrader.upgradeOutbound(o);if(Q("outbound connection %s upgraded",o.remoteAddr),r.signal?.removeEventListener("abort",s),r.signal?.aborted===!0)throw i.close().catch(a=>{Q.error("Error closing conn after abort",a)}),new ae;return i}async _connect(e,r){if(r.signal?.aborted===!0)throw new ae;return new Promise((n,o)=>{let s=Date.now(),i=Ee(e),a=i.path??`${i.host??""}:${i.port}`;Q("dialing %j",i);let p=gn.default.connect(i),y=h=>{h.message=`connection error ${a}: ${h.message}`,this.metrics?.dialerEvents.increment({error:!0}),g(h)},l=()=>{Q("connection timeout %s",a),this.metrics?.dialerEvents.increment({timeout:!0});let h=new M(`connection timeout after ${Date.now()-s}ms`,"ERR_CONNECT_TIMEOUT");p.emit("error",h)},u=()=>{Q("connection opened %j",i),this.metrics?.dialerEvents.increment({connect:!0}),g()},f=()=>{Q("connection aborted %j",i),this.metrics?.dialerEvents.increment({abort:!0}),p.destroy(),g(new ae)},g=h=>{if(p.removeListener("error",y),p.removeListener("timeout",l),p.removeListener("connect",u),r.signal!=null&&r.signal.removeEventListener("abort",f),h!=null){o(h);return}n(p)};p.on("error",y),p.on("timeout",l),p.on("connect",u),r.signal!=null&&r.signal.addEventListener("abort",f)})}createListener(e){return new We({...e,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics})}filter(e){return e=Array.isArray(e)?e:[e],e.filter(r=>r.protoCodes().includes(290)?!1:r.protoCodes().includes(400)?!0:te.matches(r.decapsulateCode(421)))}};function oi(t={}){return(e={})=>new Gt(e,t)}return vn(si);})();
4
+ `+s),t.push(o+"m+"+De.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=_n()+e+" "+t[0]}function _n(){return S.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Un(...t){return process.stderr.write(Le.format(...t)+`
5
+ `)}function $n(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Bn(){return process.env.DEBUG}function zn(t){t.inspectOpts={};let e=Object.keys(S.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=S.inspectOpts[e[r]]}De.exports=Qe()(S);var{formatters:cr}=De.exports;cr.o=function(t){return this.inspectOpts.colors=this.useColors,Le.inspect(t,this.inspectOpts).split(`
6
+ `).map(e=>e.trim()).join(" ")};cr.O=function(t){return this.inspectOpts.colors=this.useColors,Le.inspect(t,this.inspectOpts)}});var lr=M((ni,Ye)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ye.exports=rr():Ye.exports=ar()});var Je=M((Da,en)=>{en.exports=t=>{if(t[Symbol.asyncIterator])return t;if(t.getReader)return async function*(){let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)return;yield n}}finally{e.releaseLock()}}();throw new Error("unknown stream")}});var rn=M((_a,tn)=>{tn.exports=function(e){if(e){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}});var qt=M((Ua,nn)=>{var Ns=rn();nn.exports=t=>async e=>{e=Ns(e);let r=m=>{typeof m.return=="function"&&m.return()},n=null,o=null,s=m=>{n=m,o&&o(m),r(e)},i=null,a=!1,p=()=>{a=!0,i&&i()},y=null,l=!1,u=()=>{l=!0,y&&y()},f=null,g=()=>{f&&f()},h=()=>new Promise((m,A)=>{i=f=m,o=A,t.once("drain",g)}),w=()=>(r(e),new Promise((m,A)=>{if(a||l||n)return m();y=i=m,o=A})),C=()=>{t.removeListener("error",s),t.removeListener("close",p),t.removeListener("finish",u),t.removeListener("drain",g)};t.once("error",s),t.once("close",p),t.once("finish",u);try{for await(let m of e){if(!t.writable||t.destroyed||n)break;t.write(m)===!1&&await h()}}catch(m){n||t.destroy(),n=m}try{if(t.writable&&t.end(),await w(),n)throw n}finally{C()}}});var jt=M(($a,on)=>{var Ls=qt(),Ds=Je();on.exports=t=>({sink:Ls(t),source:Ds(t)})});var cn=M((Ba,sn)=>{var _s=jt();sn.exports=t=>async function*(e){let r=_s(t),n;if(r.sink(e).catch(o=>{n=o}),yield*r.source,n)throw n}});var an=M((za,Se)=>{Se.exports=Je();Se.exports.source=Je();Se.exports.sink=qt();Se.exports.transform=cn();Se.exports.duplex=jt()});var Hs={};k(Hs,{tcp:()=>Xs});var pn=ne(X("net"),1);var de=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},N=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Yt=Symbol.for("@libp2p/transport");var Kt;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Kt||(Kt={}));var D=ne(lr(),1);var nt={};k(nt,{base32:()=>G,base32hex:()=>Qn,base32hexpad:()=>Yn,base32hexpadupper:()=>Zn,base32hexupper:()=>Kn,base32pad:()=>Xn,base32padupper:()=>Hn,base32upper:()=>Jn,base32z:()=>eo});function Vn(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,p=t.charAt(0),y=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var w=0,C=0,m=0,A=h.length;m!==A&&h[m]===0;)m++,w++;for(var U=(A-m)*l+1>>>0,I=new Uint8Array(U);m!==A;){for(var q=h[m],$=0,R=U-1;(q!==0||$<C)&&R!==-1;R--,$++)q+=256*I[R]>>>0,I[R]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error("Non-zero carry");C=$,m++}for(var B=U-C;B!==U&&I[B]===0;)B++;for(var ue=p.repeat(w);B<U;++B)ue+=t.charAt(I[B]);return ue}function f(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var w=0;if(h[w]!==" "){for(var C=0,m=0;h[w]===p;)C++,w++;for(var A=(h.length-w)*y+1>>>0,U=new Uint8Array(A);h[w];){var I=r[h.charCodeAt(w)];if(I===255)return;for(var q=0,$=A-1;(I!==0||q<m)&&$!==-1;$--,q++)I+=a*U[$]>>>0,U[$]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");m=q,w++}if(h[w]!==" "){for(var R=A-m;R!==A&&U[R]===0;)R++;for(var B=new Uint8Array(C+(A-R)),ue=C;R!==A;)B[ue++]=U[R++];return B}}}function g(h){var w=f(h);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:f,decode:g}}var qn=Vn,jn=qn,ur=jn;var si=new Uint8Array(0);var dr=(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 pr=t=>new TextEncoder().encode(t),fr=t=>new TextDecoder().decode(t);var Ze=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 mr(this,e)}},tt=class{constructor(e){this.decoders=e}or(e){return mr(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`)}},mr=(t,e)=>new tt({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),rt=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ze(e,r,n),this.decoder=new et(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ge=({name:t,prefix:e,encode:r,decode:n})=>new rt(t,e,r,n),Y=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=ur(r,e);return ge({prefix:t,name:e,encode:n,decode:s=>z(o(s))})},Gn=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,p=0,y=0;for(let l=0;l<s;++l){let u=o[t[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);p=p<<r|u,a+=r,a>=8&&(a-=8,i[y++]=255&p>>a)}if(a>=r||255&p<<8-a)throw new SyntaxError("Unexpected end of data");return i},Wn=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let p=0;p<t.length;++p)for(a=a<<8|t[p],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},v=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ge({prefix:e,name:t,encode(o){return Wn(o,n,r)},decode(o){return Gn(o,n,r,t)}});var G=v({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Jn=v({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xn=v({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Hn=v({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Qn=v({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kn=v({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yn=v({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Zn=v({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),eo=v({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ot={};k(ot,{base58btc:()=>P,base58flickr:()=>to});var P=Y({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),to=Y({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var it={};k(it,{base64:()=>st,base64pad:()=>ro,base64url:()=>no,base64urlpad:()=>oo});var st=v({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ro=v({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),no=v({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),oo=v({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});D.default.formatters.b=t=>t==null?"undefined":P.baseEncode(t);D.default.formatters.t=t=>t==null?"undefined":G.baseEncode(t);D.default.formatters.m=t=>t==null?"undefined":st.baseEncode(t);D.default.formatters.p=t=>t==null?"undefined":t.toString();D.default.formatters.c=t=>t==null?"undefined":t.toString();D.default.formatters.k=t=>t==null?"undefined":t.toString();D.default.formatters.a=t=>t==null?"undefined":t.toString();function so(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 Z(t){let e=so(`${t}:trace`);return D.default.enabled(`${t}:trace`)&&D.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,D.default)(`${t}:trace`)),Object.assign((0,D.default)(t),{error:(0,D.default)(`${t}:error`),trace:e})}var io=br,gr=128,co=127,ao=~co,lo=Math.pow(2,31);function br(t,e,r){e=e||[],r=r||0;for(var n=r;t>=lo;)e[r++]=t&255|gr,t/=128;for(;t&ao;)e[r++]=t&255|gr,t>>>=7;return e[r]=t|0,br.bytes=r-n+1,e}var uo=ct,po=128,wr=127;function ct(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw ct.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&wr)<<o:(i&wr)*Math.pow(2,o),o+=7}while(i>=po);return ct.bytes=s-n,r}var fo=Math.pow(2,7),ho=Math.pow(2,14),mo=Math.pow(2,21),go=Math.pow(2,28),wo=Math.pow(2,35),bo=Math.pow(2,42),xo=Math.pow(2,49),yo=Math.pow(2,56),Co=Math.pow(2,63),vo=function(t){return t<fo?1:t<ho?2:t<mo?3:t<go?4:t<wo?5:t<bo?6:t<xo?7:t<yo?8:t<Co?9:10},Eo={encode:io,decode:uo,encodingLength:vo},Ao=Eo,Pe=Ao;var Fe=(t,e=0)=>[Pe.decode(t,e),Pe.decode.bytes],we=(t,e,r=0)=>(Pe.encode(t,e,r),e),be=t=>Pe.encodingLength(t);var se=(t,e)=>{let r=e.byteLength,n=be(t),o=n+be(r),s=new Uint8Array(o+r);return we(t,s,0),we(r,s,n),s.set(e,o),new xe(t,r,e,s)},Ue=t=>{let e=z(t),[r,n]=Fe(e),[o,s]=Fe(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new xe(r,o,i,e)},xr=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&dr(t.bytes,r.bytes)}},xe=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var yr=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return So(r,at(t),e||P.encoder);default:return To(r,at(t),e||G.encoder)}};var Cr=new WeakMap,at=t=>{let e=Cr.get(t);if(e==null){let r=new Map;return Cr.set(t,r),r}return e},ee=class t{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!==Oe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Po)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=se(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&&xr(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||vr(n,o,s.bytes))}else if(r[Fo]===!0){let{version:n,multihash:o,code:s}=r,i=Ue(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!==Oe)throw new Error(`Version 0 CID must use dag-pb (code: ${Oe}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=vr(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Oe,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=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 xe(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[u,f]=Fe(e.subarray(r));return r+=f,u},o=n(),s=Oe;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),p=n(),y=r+p,l=y-i;return{version:o,codec:s,multihashCode:a,digestSize:p,multihashSize:l,size:y}}static parse(e,r){let[n,o]=Io(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 at(s).set(n,e),s}},Io=(t,e)=>{switch(t[0]){case"Q":{let r=e||P;return[P.prefix,r.decode(`${P.prefix}${t}`)]}case P.prefix:{let r=e||P;return[P.prefix,r.decode(t)]}case G.prefix:{let r=e||G;return[G.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)]}}},So=(t,e,r)=>{let{prefix:n}=r;if(n!==P.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},To=(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},Oe=112,Po=18,vr=(t,e,r)=>{let n=be(t),o=n+be(e),s=new Uint8Array(o+r.byteLength);return we(t,s,0),we(e,s,n),s.set(r,o),s},Fo=Symbol.for("@ipld/js-cid/CID");function Er(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 lt={};k(lt,{identity:()=>Oo});var Oo=ge({prefix:"\0",name:"identity",encode:t=>fr(t),decode:t=>pr(t)});var ut={};k(ut,{base2:()=>Ro});var Ro=v({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var dt={};k(dt,{base8:()=>Mo});var Mo=v({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var pt={};k(pt,{base10:()=>ko});var ko=Y({prefix:"9",name:"base10",alphabet:"0123456789"});var ft={};k(ft,{base16:()=>No,base16upper:()=>Lo});var No=v({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Lo=v({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ht={};k(ht,{base36:()=>Do,base36upper:()=>_o});var Do=Y({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),_o=Y({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var mt={};k(mt,{base256emoji:()=>Vo});var Ar=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Uo=Ar.reduce((t,e,r)=>(t[r]=e,t),[]),$o=Ar.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Bo(t){return t.reduce((e,r)=>(e+=Uo[r],e),"")}function zo(t){let e=[];for(let r of t){let n=$o[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Vo=ge({prefix:"\u{1F680}",name:"base256emoji",encode:Bo,decode:zo});var xt={};k(xt,{sha256:()=>qo,sha512:()=>jo});var bt=ne(X("crypto"),1);var wt=({name:t,code:e,encode:r})=>new gt(t,e,r),gt=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?se(this.code,r):r.then(n=>se(this.code,n))}else throw Error("Unknown type, must be binary type")}};var qo=wt({name:"sha2-256",code:18,encode:t=>z(bt.default.createHash("sha256").update(t).digest())}),jo=wt({name:"sha2-512",code:19,encode:t=>z(bt.default.createHash("sha512").update(t).digest())});var yt={};k(yt,{identity:()=>Jo});var Sr=0,Go="identity",Tr=z,Wo=t=>se(Sr,Tr(t)),Jo={code:Sr,name:Go,encode:Tr,digest:Wo};var _i=new TextEncoder,Ui=new TextDecoder;var Re={...lt,...ut,...dt,...pt,...ft,...nt,...ht,...ot,...it,...mt},qi={...xt,...yt};function Ce(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function ve(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ce(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Fr(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Pr=Fr("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ct=Fr("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=ve(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Qo={utf8:Pr,"utf-8":Pr,hex:Re.base16,latin1:Ct,ascii:Ct,binary:Ct,...Re},$e=Qo;function O(t,e="utf8"){let r=$e[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 Ko=Math.pow(2,7),Yo=Math.pow(2,14),Zo=Math.pow(2,21),vt=Math.pow(2,28),Et=Math.pow(2,35),At=Math.pow(2,42),It=Math.pow(2,49),b=128,F=127;function W(t){if(t<Ko)return 1;if(t<Yo)return 2;if(t<Zo)return 3;if(t<vt)return 4;if(t<Et)return 5;if(t<At)return 6;if(t<It)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function es(t,e,r=0){switch(W(t)){case 8:e[r++]=t&255|b,t/=128;case 7:e[r++]=t&255|b,t/=128;case 6:e[r++]=t&255|b,t/=128;case 5:e[r++]=t&255|b,t/=128;case 4:e[r++]=t&255|b,t>>>=7;case 3:e[r++]=t&255|b,t>>>=7;case 2:e[r++]=t&255|b,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function ts(t,e,r=0){switch(W(t)){case 8:e.set(r++,t&255|b),t/=128;case 7:e.set(r++,t&255|b),t/=128;case 6:e.set(r++,t&255|b),t/=128;case 5:e.set(r++,t&255|b),t/=128;case 4:e.set(r++,t&255|b),t>>>=7;case 3:e.set(r++,t&255|b),t>>>=7;case 2:e.set(r++,t&255|b),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function rs(t,e){let r=t[e],n=0;if(n+=r&F,r<b||(r=t[e+1],n+=(r&F)<<7,r<b)||(r=t[e+2],n+=(r&F)<<14,r<b)||(r=t[e+3],n+=(r&F)<<21,r<b)||(r=t[e+4],n+=(r&F)*vt,r<b)||(r=t[e+5],n+=(r&F)*Et,r<b)||(r=t[e+6],n+=(r&F)*At,r<b)||(r=t[e+7],n+=(r&F)*It,r<b))return n;throw new RangeError("Could not decode varint")}function ns(t,e){let r=t.get(e),n=0;if(n+=r&F,r<b||(r=t.get(e+1),n+=(r&F)<<7,r<b)||(r=t.get(e+2),n+=(r&F)<<14,r<b)||(r=t.get(e+3),n+=(r&F)<<21,r<b)||(r=t.get(e+4),n+=(r&F)*vt,r<b)||(r=t.get(e+5),n+=(r&F)*Et,r<b)||(r=t.get(e+6),n+=(r&F)*At,r<b)||(r=t.get(e+7),n+=(r&F)*It,r<b))return n;throw new RangeError("Could not decode varint")}function Ee(t,e,r=0){return e==null&&(e=ve(W(t))),e instanceof Uint8Array?es(t,e,r):ts(t,e,r)}function ie(t,e=0){return t instanceof Uint8Array?rs(t,e):ns(t,e)}function H(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=ve(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return Ce(r)}var Be=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 p=a==="0",y=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let f=Number.parseInt(u,e);if(!Number.isNaN(f))return f});if(l===void 0)break;if(s*=e,s+=l,s>y||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&p&&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 sc=new Be;var fc=parseInt("0xFFFF",16),hc=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function St(t,e="utf8"){let r=$e[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ce(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var V=X("node:net");function ze(t){return!!(0,V.isIP)(t)}var kr=V.isIPv4,ls=V.isIPv6,Tt=function(t){let e=0;if(t=t.toString().trim(),kr(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(ls(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=kr(r[n]),i;s&&(i=Tt(r[n]),r[n]=O(i.slice(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,O(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 Ae={},Pt={},ds=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];ds.forEach(t=>{let e=ps(...t);Pt[e.code]=e,Ae[e.name]=e});function ps(t,e,r,n,o){return{code:t,size:e,name:r,resolvable:!!n,path:!!o}}function x(t){if(typeof t=="number"){if(Pt[t]!=null)return Pt[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ae[t]!=null)return Ae[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var ta=x("ip4"),ra=x("ip6"),na=x("ipcidr");function Ot(t,e){switch(x(t).code){case 4:case 41:return hs(e);case 42:return _r(e);case 6:case 273:case 33:case 132:return $r(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return _r(e);case 421:return bs(e);case 444:return Ur(e);case 445:return Ur(e);case 466:return ws(e);default:return O(e,"base16")}}function Rt(t,e){switch(x(t).code){case 4:return Lr(e);case 41:return Lr(e);case 42:return Dr(e);case 6:case 273:case 33:case 132:return Mt(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Dr(e);case 421:return ms(e);case 444:return xs(e);case 445:return ys(e);case 466:return gs(e);default:return St(e,"base16")}}var Ft=Object.values(Re).map(t=>t.decoder),fs=function(){let t=Ft[0].or(Ft[1]);return Ft.slice(2).forEach(e=>t=t.or(e)),t}();function Lr(t){if(!ze(t))throw new Error("invalid ip address");return Tt(t)}function hs(t){let e=Nr(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!ze(e))throw new Error("invalid ip address");return e}function Mt(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function $r(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Dr(t){let e=St(t),r=Uint8Array.from(Ee(e.length));return H([r,e],r.length+e.length)}function _r(t){let e=ie(t);if(t=t.slice(W(e)),t.length!==e)throw new Error("inconsistent lengths");return O(t)}function ms(t){let e;t[0]==="Q"||t[0]==="1"?e=Ue(P.decode(`z${t}`)).bytes:e=ee.parse(t).multihash.bytes;let r=Uint8Array.from(Ee(e.length));return H([r,e],r.length+e.length)}function gs(t){let e=fs.decode(t),r=Uint8Array.from(Ee(e.length));return H([r,e],r.length+e.length)}function ws(t){let e=ie(t),r=t.slice(W(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+O(r,"base64url")}function bs(t){let e=ie(t),r=t.slice(W(e));if(r.length!==e)throw new Error("inconsistent lengths");return O(r,"base58btc")}function xs(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=G.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=Mt(n);return H([r,o],r.length+o.length)}function ys(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=G.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=Mt(n);return H([r,o],r.length+o.length)}function Ur(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=O(e,"base32"),o=$r(r);return`${n}:${o}`}function Br(t){t=kt(t);let e=[],r=[],n=null,o=t.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=x(i);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=o.length)throw Vr("invalid address: "+t);if(a.path===!0){n=kt(o.slice(s).join("/")),e.push([a.code,Rt(a.code,n)]),r.push([a.code,n]);break}let p=Rt(a.code,o[s]);e.push([a.code,p]),r.push([a.code,Ot(a.code,p)])}return{string:zr(r),bytes:Lt(e),tuples:e,stringTuples:r,path:n}}function Nt(t){let e=[],r=[],n=null,o=0;for(;o<t.length;){let s=ie(t,o),i=W(s),a=x(s),p=Cs(a,t.slice(o+i));if(p===0){e.push([s]),r.push([s]),o+=i;continue}let y=t.slice(o+i,o+i+p);if(o+=p+i,o>t.length)throw Vr("Invalid address Uint8Array: "+O(t,"base16"));e.push([s,y]);let l=Ot(s,y);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:zr(r),tuples:e,stringTuples:r,path:n}}function zr(t){let e=[];return t.map(r=>{let n=x(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),kt(e.join("/"))}function Lt(t){return H(t.map(e=>{let r=x(e[0]),n=Uint8Array.from(Ee(r.code));return e.length>1&&e[1]!=null&&(n=H([n,e[1]])),n}))}function Cs(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=ie(e instanceof Uint8Array?e:Uint8Array.from(e));return r+W(r)}}function kt(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Vr(t){return new Error("Error parsing address: "+t)}var vs=Symbol.for("nodejs.util.inspect.custom"),Es=[x("dns").code,x("dns4").code,x("dns6").code,x("dnsaddr").code],As=new Map,qr=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Is(t){return!!t?.[qr]}var Dt=class t{bytes;#e;#t;#r;#n;[qr]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Nt(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Br(e)}else if(Is(e))r=Nt(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,o,s="",i=x("tcp"),a=x("udp"),p=x("ip4"),y=x("ip6"),l=x("dns6"),u=x("ip6zone");for(let[g,h]of this.stringTuples())g===u.code&&(s=`%${h??""}`),Es.includes(g)&&(r=i.name,o=443,n=`${h??""}${s}`,e=g===l.code?6:4),(g===i.code||g===a.code)&&(r=x(g).name,o=parseInt(h??"")),(g===p.code||g===y.code)&&(r=x(g).name,n=`${h??""}${s}`,e=g===y.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.#t.map(([e])=>Object.assign({},x(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>x(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(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 t(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 t(Lt(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,o])=>{n===Ae.p2p.code&&e.push([n,o]),n===Ae["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?O(P.decode(`z${n}`),"base58btc"):O(ee.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Er(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=As.get(r.name);if(n==null)throw new N(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(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)}[vs](){return`Multiaddr(${this.#e})`}};function Q(t){return new Dt(t)}var Ss=c("dns4"),Ts=c("dns6"),Ps=c("dnsaddr"),ae=E(c("dns"),Ps,Ss,Ts),je=E(c("ip4"),c("ip6")),re=E(d(je,c("tcp")),d(ae,c("tcp"))),Ge=d(je,c("udp")),Fs=d(Ge,c("utp")),Os=d(Ge,c("quic")),Rs=d(Ge,c("quic-v1")),_t=E(d(re,c("ws")),d(ae,c("ws"))),Ve=E(d(_t,c("p2p")),_t),Ut=E(d(re,c("wss")),d(ae,c("wss")),d(re,c("tls"),c("ws")),d(ae,c("tls"),c("ws"))),qe=E(d(Ut,c("p2p")),Ut),$t=E(d(re,c("http")),d(je,c("http")),d(ae,c("http"))),Bt=E(d(re,c("https")),d(je,c("https")),d(ae,c("https"))),jr=d(Ge,c("webrtc-direct"),c("certhash")),Jr=E(d(jr,c("p2p")),jr),Gr=d(Rs,c("webtransport"),c("certhash"),c("certhash")),Xr=E(d(Gr,c("p2p")),Gr),Hr=E(d(Ve,c("p2p-webrtc-star"),c("p2p")),d(qe,c("p2p-webrtc-star"),c("p2p")),d(Ve,c("p2p-webrtc-star")),d(qe,c("p2p-webrtc-star"))),Ia=E(d(Ve,c("p2p-websocket-star"),c("p2p")),d(qe,c("p2p-websocket-star"),c("p2p")),d(Ve,c("p2p-websocket-star")),d(qe,c("p2p-websocket-star"))),Qr=E(d($t,c("p2p-webrtc-direct"),c("p2p")),d(Bt,c("p2p-webrtc-direct"),c("p2p")),d($t,c("p2p-webrtc-direct")),d(Bt,c("p2p-webrtc-direct"))),le=E(_t,Ut,$t,Bt,Hr,Qr,re,Fs,Os,ae,Jr,Xr),Sa=E(d(le,c("p2p-stardust"),c("p2p")),d(le,c("p2p-stardust"))),te=E(d(le,c("p2p")),Hr,Qr,Jr,Xr,c("p2p")),Wr=E(d(te,c("p2p-circuit"),te),d(te,c("p2p-circuit")),d(c("p2p-circuit"),te),d(le,c("p2p-circuit")),d(c("p2p-circuit"),le),c("p2p-circuit")),Kr=()=>E(d(Wr,Kr),Wr),ce=Kr(),Ta=E(d(ce,te,ce),d(te,ce),d(ce,te),ce,te);var Pa=E(d(ce,c("webrtc"),c("p2p")),d(ce,c("webrtc")),d(le,c("webrtc"),c("p2p")),d(le,c("webrtc")),c("webrtc"));function Yr(t){function e(r){let n;try{n=Q(r)}catch{return!1}let o=t(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function d(...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:Yr(e),partialMatch:e}}function E(...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:Yr(e),partialMatch:e}}function c(t){let e=t;function r(o){let s;try{s=Q(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}}var dn=ne(X("net"),1);var We=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Ie(e,r))}},zt=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Ie=globalThis.CustomEvent??zt;var ks=Z("libp2p:ip-port-to-multiaddr"),Vt={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Zr(t,e){if(typeof t!="string")throw new N(`invalid ip provided: ${t}`,Vt.ERR_INVALID_IP_PARAMETER);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new N(`invalid port provided: ${e}`,Vt.ERR_INVALID_PORT_PARAMETER);if((0,V.isIPv4)(t))return Q(`/ip4/${t}/tcp/${e}`);if((0,V.isIPv6)(t))return Q(`/ip6/${t}/tcp/${e}`);let r=`invalid ip:port for creating a multiaddr: ${t}:${e}`;throw ks.error(r),new N(r,Vt.ERR_INVALID_IP)}var un=ne(an(),1);var Gt=ne(X("os"),1),ln=ne(X("path"),1);var Us={ip4:"IPv4",ip6:"IPv6"};function Te(t,e={}){let r=t.getPath();return r!=null?Gt.default.platform()==="win32"?{path:ln.default.join("\\\\.\\pipe\\",r)}:{path:r}:{...t.toOptions(),...e}}function Wt(t,e,r){let n=o=>Q(`/${t}/${o}/tcp/${r}`);return($s(e)?zs(Us[t]):[e]).map(n)}function $s(t){return["0.0.0.0","::"].includes(t)}var Bs=Gt.default.networkInterfaces();function zs(t){let e=[];for(let[,r]of Object.entries(Bs))if(r!=null)for(let n of r)n.family===t&&e.push(n.address);return e}var J=Z("libp2p:tcp:socket"),Xe=(t,e)=>{let r=e.metrics,n=e.metricPrefix??"",o=e.socketInactivityTimeout??3e5,s=e.socketCloseTimeout??500;e.listeningAddr?.getPath()!=null&&(e.remoteAddr=e.listeningAddr),e.remoteAddr?.getPath()!=null&&(e.localAddr=e.remoteAddr);let i;if(e.remoteAddr!=null)i=e.remoteAddr;else{if(t.remoteAddress==null||t.remotePort==null)throw new N("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");i=Zr(t.remoteAddress,t.remotePort)}let a=Te(i),p=a.path??`${a.host??""}:${a.port??""}`,{sink:y,source:l}=un.default.duplex(t);t.setTimeout(o,()=>{J("%s socket read timeout",p),r?.increment({[`${n}timeout`]:!0});let f;t.readable&&(f=new N("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),t.destroy(f)}),t.once("close",()=>{J("%s socket close",p),r?.increment({[`${n}close`]:!0}),u.timeline.close==null&&(u.timeline.close=Date.now())}),t.once("end",()=>{J("%s socket end",p),r?.increment({[`${n}end`]:!0})});let u={async sink(f){try{await y(f)}catch(g){g.type!=="aborted"&&J(g)}t.end()},source:l,remoteAddr:i,timeline:{open:Date.now()},async close(f={}){if(t.destroyed){J("%s socket was already destroyed when trying to close",p);return}f.signal=f.signal??AbortSignal.timeout(s);try{J("%s closing socket",p),await new Promise((g,h)=>{t.once("close",()=>{J("%s socket closed",p),g()}),t.once("error",w=>{J("%s socket error",p,w),u.timeline.close==null&&(u.timeline.close=Date.now()),h(w)}),t.setTimeout(s),t.end(),t.writableLength>0?t.once("drain",()=>{J("%s socket drained",p),t.destroy()}):t.destroy()})}catch(g){this.abort(g)}},abort:f=>{J("%s socket abort due to error",p,f),t.destroy(f)}};return u};var _=Z("libp2p:tcp:listener");async function Jt(t){try{await t.close()}catch(e){_.error("an error occurred closing the connection",e)}}var js=1,Gs=0,He=class extends We{context;server;connections=new Set;status={started:!1};metrics;addr;constructor(e){if(super(),this.context=e,e.keepAlive=e.keepAlive??!0,this.addr="unknown",this.server=dn.default.createServer(e,this.onSocket.bind(this)),e.maxConnections!==void 0&&(this.server.maxConnections=e.maxConnections),e.closeServerOnMaxConnections!=null&&e.closeServerOnMaxConnections.closeAbove<e.closeServerOnMaxConnections.listenBelow)throw Error("closeAbove must be >= listenBelow");this.server.on("listening",()=>{if(e.metrics!=null){let r=this.server.address();r==null?this.addr="unknown":typeof r=="string"?this.addr=r:this.addr=`${r.address}:${r.port}`,e.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:e.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:e.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:e.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:js})}this.dispatchEvent(new Ie("listening"))}).on("error",r=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new Ie("error",{detail:r}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:Gs}),this.dispatchEvent(new Ie("close"))})}onSocket(e){e.on("error",n=>{_("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let r;try{r=Xe(e,{listeningAddr:this.status.started?this.status.listeningAddr:void 0,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `})}catch(n){_.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}_("new inbound connection %s",r.remoteAddr);try{this.context.upgrader.upgradeInbound(r).then(n=>{_("inbound connection upgraded %s",r.remoteAddr),this.connections.add(r),e.once("close",()=>{this.connections.delete(r),this.context.closeServerOnMaxConnections!=null&&this.connections.size<this.context.closeServerOnMaxConnections.listenBelow&&this.netListen().catch(o=>{_.error("error attempting to listen server once connection count under limit",o),this.context.closeServerOnMaxConnections?.onListenError?.(o)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.netClose(),this.dispatchEvent(new Ie("connection",{detail:n}))}).catch(async n=>{_.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await Jt(r)}).catch(n=>{_.error("closing inbound connection failed",n)})}catch(n){_.error("inbound connection failed",n),Jt(r).catch(o=>{_.error("closing inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(!this.status.started)return[];let e=[],r=this.server.address(),{listeningAddr:n,peerId:o}=this.status;if(r==null)return[];if(typeof r=="string")e=[n];else try{n.toString().startsWith("/ip4")?e=e.concat(Wt("ip4",r.address,r.port)):r.family==="IPv6"&&(e=e.concat(Wt("ip6",r.address,r.port)))}catch(s){_.error("could not turn %s:%s into multiaddr",r.address,r.port,s)}return e.map(s=>o!=null?s.encapsulate(`/p2p/${o}`):s)}async listen(e){if(this.status.started)throw Error("server is already listening");let r=e.getPeerId(),n=r==null?e.decapsulateCode(421):e,{backlog:o}=this.context;this.status={started:!0,listeningAddr:n,peerId:r,netConfig:Te(n,{backlog:o})},await this.netListen()}async close(){await Promise.all(Array.from(this.connections.values()).map(async e=>{await Jt(e)})),this.netClose()}async netListen(){if(!this.status.started||this.server.listening)return;let e=this.status.netConfig;await new Promise((r,n)=>{this.server.once("error",n),this.server.listen(e,r)}),_("Listening on %s",this.server.address())}netClose(){!this.status.started||!this.server.listening||(_("Closing server on %s",this.server.address()),this.server.close())}};var K=Z("libp2p:tcp"),Ht=class{opts;metrics;components;constructor(e,r={}){this.opts=r,this.components=e,e.metrics!=null&&(this.metrics={dialerEvents:e.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[Yt]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(e,r){r.keepAlive=r.keepAlive??!0;let n=await this._connect(e,r);n.on("error",a=>{K("socket error",a)});let o=Xe(n,{remoteAddr:e,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),s=()=>{o.close().catch(a=>{K.error("Error closing maConn after abort",a)})};r.signal?.addEventListener("abort",s,{once:!0}),K("new outbound connection %s",o.remoteAddr);let i=await r.upgrader.upgradeOutbound(o);if(K("outbound connection %s upgraded",o.remoteAddr),r.signal?.removeEventListener("abort",s),r.signal?.aborted===!0)throw i.close().catch(a=>{K.error("Error closing conn after abort",a)}),new de;return i}async _connect(e,r){if(r.signal?.aborted===!0)throw new de;return new Promise((n,o)=>{let s=Date.now(),i=Te(e),a=i.path??`${i.host??""}:${i.port}`;K("dialing %j",i);let p=pn.default.connect(i),y=h=>{h.message=`connection error ${a}: ${h.message}`,this.metrics?.dialerEvents.increment({error:!0}),g(h)},l=()=>{K("connection timeout %s",a),this.metrics?.dialerEvents.increment({timeout:!0});let h=new N(`connection timeout after ${Date.now()-s}ms`,"ERR_CONNECT_TIMEOUT");p.emit("error",h)},u=()=>{K("connection opened %j",i),this.metrics?.dialerEvents.increment({connect:!0}),g()},f=()=>{K("connection aborted %j",i),this.metrics?.dialerEvents.increment({abort:!0}),p.destroy(),g(new de)},g=h=>{if(p.removeListener("error",y),p.removeListener("timeout",l),p.removeListener("connect",u),r.signal!=null&&r.signal.removeEventListener("abort",f),h!=null){o(h);return}n(p)};p.on("error",y),p.on("timeout",l),p.on("connect",u),r.signal!=null&&r.signal.addEventListener("abort",f)})}createListener(e){return new He({...e,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics})}filter(e){return e=Array.isArray(e)?e:[e],e.filter(r=>r.protoCodes().includes(290)?!1:r.protoCodes().includes(400)?!0:re.matches(r.decapsulateCode(421)))}};function Xs(t={}){return(e={})=>new Ht(e,t)}return bn(Hs);})();
7
7
  return Libp2PTcp}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/tcp",
3
- "version": "8.0.3-e664d14f",
3
+ "version": "8.0.4-098ba082",
4
4
  "description": "A TCP transport for libp2p",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/transport-tcp#readme",
@@ -50,16 +50,16 @@
50
50
  "test:electron-main": "aegir test -t electron-main"
51
51
  },
52
52
  "dependencies": {
53
- "@libp2p/interface": "0.1.2-e664d14f",
54
- "@libp2p/logger": "3.0.2-e664d14f",
55
- "@libp2p/utils": "4.0.2-e664d14f",
53
+ "@libp2p/interface": "0.1.2-098ba082",
54
+ "@libp2p/logger": "3.0.2-098ba082",
55
+ "@libp2p/utils": "4.0.2-098ba082",
56
56
  "@multiformats/mafmt": "^12.1.2",
57
57
  "@multiformats/multiaddr": "^12.1.5",
58
58
  "@types/sinon": "^10.0.15",
59
59
  "stream-to-it": "^0.2.2"
60
60
  },
61
61
  "devDependencies": {
62
- "@libp2p/interface-compliance-tests": "4.0.3-e664d14f",
62
+ "@libp2p/interface-compliance-tests": "4.0.4-098ba082",
63
63
  "aegir": "^40.0.8",
64
64
  "it-all": "^3.0.1",
65
65
  "it-pipe": "^3.0.1",