@libp2p/tcp 7.0.2 → 7.0.3-6fdaa7dc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/index.min.js +4 -4
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -12
- package/dist/src/index.js.map +1 -1
- package/dist/src/listener.d.ts +5 -5
- package/dist/src/listener.d.ts.map +1 -1
- package/dist/src/listener.js +9 -5
- package/dist/src/listener.js.map +1 -1
- package/dist/src/socket-to-conn.d.ts +3 -3
- package/dist/src/socket-to-conn.d.ts.map +1 -1
- package/dist/src/socket-to-conn.js +2 -2
- package/dist/src/socket-to-conn.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/package.json +18 -109
- package/src/index.ts +10 -14
- package/src/listener.ts +7 -7
- package/src/socket-to-conn.ts +5 -5
- package/src/utils.ts +2 -2
- package/dist/typedoc-urls.json +0 -10
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](http://libp2p.io/)
|
|
4
4
|
[](https://discuss.libp2p.io)
|
|
5
|
-
[](https://codecov.io/gh/libp2p/js-libp2p)
|
|
6
|
+
[](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)
|
|
7
7
|
|
|
8
8
|
> A TCP transport for libp2p
|
|
9
9
|
|
|
@@ -73,7 +73,7 @@ Value: hello World!
|
|
|
73
73
|
|
|
74
74
|
## API Docs
|
|
75
75
|
|
|
76
|
-
- <https://libp2p.github.io/js-libp2p
|
|
76
|
+
- <https://libp2p.github.io/js-libp2p/modules/_libp2p_tcp.html>
|
|
77
77
|
|
|
78
78
|
## License
|
|
79
79
|
|
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 ki=Object.create;var ie=Object.defineProperty;var Pi=Object.getOwnPropertyDescriptor;var Oi=Object.getOwnPropertyNames;var _i=Object.getPrototypeOf,Fi=Object.prototype.hasOwnProperty;var Ni=(r,t,e)=>t in r?ie(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var yt=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var L=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),nt=(r,t)=>{for(var e in t)ie(r,e,{get:t[e],enumerable:!0})},dn=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Oi(t))!Fi.call(r,i)&&i!==e&&ie(r,i,{get:()=>t[i],enumerable:!(n=Pi(t,i))||n.enumerable});return r};var j=(r,t,e)=>(e=r!=null?ki(_i(r)):{},dn(t||!r||!r.__esModule?ie(e,"default",{value:r,enumerable:!0}):e,r)),Li=r=>dn(ie({},"__esModule",{value:!0}),r);var Ye=(r,t,e)=>(Ni(r,typeof t!="symbol"?t+"":t,e),e);var Nn=L((Ef,Fn)=>{Fn.exports=xr;var _n=128,Ha=127,Za=~Ha,Wa=Math.pow(2,31);function xr(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw xr.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=Wa;)t[e++]=r&255|_n,r/=128;for(;r&Za;)t[e++]=r&255|_n,r>>>=7;return t[e]=r|0,xr.bytes=e-n+1,t}});var $n=L((Af,Un)=>{Un.exports=Sr;var Xa=128,Ln=127;function Sr(r,n){var e=0,n=n||0,i=0,u=n,f,d=r.length;do{if(u>=d||i>49)throw Sr.bytes=0,new RangeError("Could not decode varint");f=r[u++],e+=i<28?(f&Ln)<<i:(f&Ln)*Math.pow(2,i),i+=7}while(f>=Xa);return Sr.bytes=u-n,e}});var jn=L((If,Vn)=>{var Ja=Math.pow(2,7),Ya=Math.pow(2,14),Qa=Math.pow(2,21),Ka=Math.pow(2,28),tc=Math.pow(2,35),ec=Math.pow(2,42),rc=Math.pow(2,49),nc=Math.pow(2,56),sc=Math.pow(2,63);Vn.exports=function(r){return r<Ja?1:r<Ya?2:r<Qa?3:r<Ka?4:r<tc?5:r<ec?6:r<rc?7:r<nc?8:r<sc?9:10}});var xe=L((Bf,zn)=>{zn.exports={encode:Nn(),decode:$n(),encodingLength:jn()}});var ds=L((rp,hs)=>{var Xt=1e3,Jt=Xt*60,Yt=Jt*60,Lt=Yt*24,Uc=Lt*7,$c=Lt*365.25;hs.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Vc(r);if(e==="number"&&isFinite(r))return t.long?zc(r):jc(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Vc(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*$c;case"weeks":case"week":case"w":return e*Uc;case"days":case"day":case"d":return e*Lt;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Yt;case"minutes":case"minute":case"mins":case"min":case"m":return e*Jt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Xt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function jc(r){var t=Math.abs(r);return t>=Lt?Math.round(r/Lt)+"d":t>=Yt?Math.round(r/Yt)+"h":t>=Jt?Math.round(r/Jt)+"m":t>=Xt?Math.round(r/Xt)+"s":r+"ms"}function zc(r){var t=Math.abs(r);return t>=Lt?De(r,t,Lt,"day"):t>=Yt?De(r,t,Yt,"hour"):t>=Jt?De(r,t,Jt,"minute"):t>=Xt?De(r,t,Xt,"second"):r+" ms"}function De(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var Lr=L((np,ms)=>{function qc(r){e.debug=e,e.default=e,e.coerce=g,e.disable=u,e.enable=i,e.enabled=f,e.humanize=ds(),e.destroy=A,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let y=0;for(let x=0;x<l.length;x++)y=(y<<5)-y+l.charCodeAt(x),y|=0;return e.colors[Math.abs(y)%e.colors.length]}e.selectColor=t;function e(l){let y,x=null,S,m;function C(...B){if(!C.enabled)return;let E=C,I=Number(new Date),_=I-(y||I);E.diff=_,E.prev=y,E.curr=I,y=I,B[0]=e.coerce(B[0]),typeof B[0]!="string"&&B.unshift("%O");let N=0;B[0]=B[0].replace(/%([a-zA-Z%])/g,(J,W)=>{if(J==="%%")return"%";N++;let Y=e.formatters[W];if(typeof Y=="function"){let ut=B[N];J=Y.call(E,ut),B.splice(N,1),N--}return J}),e.formatArgs.call(E,B),(E.log||e.log).apply(E,B)}return C.namespace=l,C.useColors=e.useColors(),C.color=e.selectColor(l),C.extend=n,C.destroy=e.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>x!==null?x:(S!==e.namespaces&&(S=e.namespaces,m=e.enabled(l)),m),set:B=>{x=B}}),typeof e.init=="function"&&e.init(C),C}function n(l,y){let x=e(this.namespace+(typeof y>"u"?":":y)+l);return x.log=this.log,x}function i(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let y,x=(typeof l=="string"?l:"").split(/[\s,]+/),S=x.length;for(y=0;y<S;y++)x[y]&&(l=x[y].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function u(){let l=[...e.names.map(d),...e.skips.map(d).map(y=>"-"+y)].join(",");return e.enable(""),l}function f(l){if(l[l.length-1]==="*")return!0;let y,x;for(y=0,x=e.skips.length;y<x;y++)if(e.skips[y].test(l))return!1;for(y=0,x=e.names.length;y<x;y++)if(e.names[y].test(l))return!0;return!1}function d(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function g(l){return l instanceof Error?l.stack||l.message:l}function A(){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 e.enable(e.load()),e}ms.exports=qc});var gs=L((st,ke)=>{st.formatArgs=Hc;st.save=Zc;st.load=Wc;st.useColors=Gc;st.storage=Xc();st.destroy=(()=>{let r=!1;return()=>{r||(r=!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`."))}})();st.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 Gc(){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 Hc(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ke.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}st.log=console.debug||console.log||(()=>{});function Zc(r){try{r?st.storage.setItem("debug",r):st.storage.removeItem("debug")}catch{}}function Wc(){let r;try{r=st.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Xc(){try{return localStorage}catch{}}ke.exports=Lr()(st);var{formatters:Jc}=ke.exports;Jc.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var ws=L((sp,bs)=>{"use strict";bs.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),i=t.indexOf("--");return n!==-1&&(i===-1?!0:n<i)}});var vs=L((op,ys)=>{"use strict";var Yc=yt("os"),dt=ws(),q=process.env,Qt;dt("no-color")||dt("no-colors")||dt("color=false")?Qt=!1:(dt("color")||dt("colors")||dt("color=true")||dt("color=always"))&&(Qt=!0);"FORCE_COLOR"in q&&(Qt=q.FORCE_COLOR.length===0||parseInt(q.FORCE_COLOR,10)!==0);function Qc(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Kc(r){if(Qt===!1)return 0;if(dt("color=16m")||dt("color=full")||dt("color=truecolor"))return 3;if(dt("color=256"))return 2;if(r&&!r.isTTY&&Qt!==!0)return 0;let t=Qt?1:0;if(process.platform==="win32"){let e=Yc.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in q)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in q)||q.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in q)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(q.TEAMCITY_VERSION)?1:0;if(q.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in q){let e=parseInt((q.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(q.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(q.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(q.TERM)||"COLORTERM"in q?1:(q.TERM==="dumb",t)}function Ur(r){let t=Kc(r);return Qc(t)}ys.exports={supportsColor:Ur,stdout:Ur(process.stdout),stderr:Ur(process.stderr)}});var Ss=L((V,Oe)=>{var tu=yt("tty"),Pe=yt("util");V.init=au;V.log=su;V.formatArgs=ru;V.save=ou;V.load=iu;V.useColors=eu;V.destroy=Pe.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");V.colors=[6,2,3,4,5,1];try{let r=vs();r&&(r.stderr||r).level>=2&&(V.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{}V.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(i,u)=>u.toUpperCase()),n=process.env[t];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),r[e]=n,r},{});function eu(){return"colors"in V.inspectOpts?!!V.inspectOpts.colors:tu.isatty(process.stderr.fd)}function ru(r){let{namespace:t,useColors:e}=this;if(e){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),u=` ${i};1m${t} \x1B[0m`;r[0]=u+r[0].split(`
|
|
2
|
+
"use strict";var Libp2PTcp=(()=>{var Za=Object.create;var we=Object.defineProperty;var Ja=Object.getOwnPropertyDescriptor;var Xa=Object.getOwnPropertyNames;var Wa=Object.getPrototypeOf,Qa=Object.prototype.hasOwnProperty;var Ka=(r,t,e)=>t in r?we(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var yt=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var H=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),U=(r,t)=>{for(var e in t)we(r,e,{get:t[e],enumerable:!0})},ns=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Xa(t))!Qa.call(r,s)&&s!==e&&we(r,s,{get:()=>t[s],enumerable:!(n=Ja(t,s))||n.enumerable});return r};var X=(r,t,e)=>(e=r!=null?Za(Wa(r)):{},ns(t||!r||!r.__esModule?we(e,"default",{value:r,enumerable:!0}):e,r)),Ya=r=>ns(we({},"__esModule",{value:!0}),r);var De=(r,t,e)=>(Ka(r,typeof t!="symbol"?t+"":t,e),e);var as=H((fl,is)=>{var Xt=1e3,Wt=Xt*60,Qt=Wt*60,$t=Qt*24,tc=$t*7,ec=$t*365.25;is.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return rc(r);if(e==="number"&&isFinite(r))return t.long?sc(r):nc(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function rc(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*ec;case"weeks":case"week":case"w":return e*tc;case"days":case"day":case"d":return e*$t;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Qt;case"minutes":case"minute":case"mins":case"min":case"m":return e*Wt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Xt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function nc(r){var t=Math.abs(r);return t>=$t?Math.round(r/$t)+"d":t>=Qt?Math.round(r/Qt)+"h":t>=Wt?Math.round(r/Wt)+"m":t>=Xt?Math.round(r/Xt)+"s":r+"ms"}function sc(r){var t=Math.abs(r);return t>=$t?Pe(r,t,$t,"day"):t>=Qt?Pe(r,t,Qt,"hour"):t>=Wt?Pe(r,t,Wt,"minute"):t>=Xt?Pe(r,t,Xt,"second"):r+" ms"}function Pe(r,t,e,n){var s=t>=e*1.5;return Math.round(r/e)+" "+n+(s?"s":"")}});var mr=H((ul,cs)=>{function oc(r){e.debug=e,e.default=e,e.coerce=m,e.disable=c,e.enable=s,e.enabled=u,e.humanize=as(),e.destroy=I,Object.keys(r).forEach(p=>{e[p]=r[p]}),e.names=[],e.skips=[],e.formatters={};function t(p){let g=0;for(let y=0;y<p.length;y++)g=(g<<5)-g+p.charCodeAt(y),g|=0;return e.colors[Math.abs(g)%e.colors.length]}e.selectColor=t;function e(p){let g,y=null,E,l;function v(...B){if(!v.enabled)return;let T=v,C=Number(new Date),M=C-(g||C);T.diff=M,T.prev=g,T.curr=C,g=C,B[0]=e.coerce(B[0]),typeof B[0]!="string"&&B.unshift("%O");let R=0;B[0]=B[0].replace(/%([a-zA-Z%])/g,(k,D)=>{if(k==="%%")return"%";R++;let P=e.formatters[D];if(typeof P=="function"){let j=B[R];k=P.call(T,j),B.splice(R,1),R--}return k}),e.formatArgs.call(T,B),(T.log||e.log).apply(T,B)}return v.namespace=p,v.useColors=e.useColors(),v.color=e.selectColor(p),v.extend=n,v.destroy=e.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(E!==e.namespaces&&(E=e.namespaces,l=e.enabled(p)),l),set:B=>{y=B}}),typeof e.init=="function"&&e.init(v),v}function n(p,g){let y=e(this.namespace+(typeof g>"u"?":":g)+p);return y.log=this.log,y}function s(p){e.save(p),e.namespaces=p,e.names=[],e.skips=[];let g,y=(typeof p=="string"?p:"").split(/[\s,]+/),E=y.length;for(g=0;g<E;g++)y[g]&&(p=y[g].replace(/\*/g,".*?"),p[0]==="-"?e.skips.push(new RegExp("^"+p.slice(1)+"$")):e.names.push(new RegExp("^"+p+"$")))}function c(){let p=[...e.names.map(h),...e.skips.map(h).map(g=>"-"+g)].join(",");return e.enable(""),p}function u(p){if(p[p.length-1]==="*")return!0;let g,y;for(g=0,y=e.skips.length;g<y;g++)if(e.skips[g].test(p))return!1;for(g=0,y=e.names.length;g<y;g++)if(e.names[g].test(p))return!0;return!1}function h(p){return p.toString().substring(2,p.toString().length-2).replace(/\.\*\?$/,"*")}function m(p){return p instanceof Error?p.stack||p.message:p}function I(){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 e.enable(e.load()),e}cs.exports=oc});var fs=H((at,ke)=>{at.formatArgs=ac;at.save=cc;at.load=fc;at.useColors=ic;at.storage=uc();at.destroy=(()=>{let r=!1;return()=>{r||(r=!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`."))}})();at.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 ic(){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 ac(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ke.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(e++,s==="%c"&&(n=e))}),r.splice(n,0,t)}at.log=console.debug||console.log||(()=>{});function cc(r){try{r?at.storage.setItem("debug",r):at.storage.removeItem("debug")}catch{}}function fc(){let r;try{r=at.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function uc(){try{return localStorage}catch{}}ke.exports=mr()(at);var{formatters:pc}=ke.exports;pc.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var ps=H((pl,us)=>{"use strict";us.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),s=t.indexOf("--");return n!==-1&&(s===-1?!0:n<s)}});var hs=H((ll,ls)=>{"use strict";var lc=yt("os"),gt=ps(),Q=process.env,Kt;gt("no-color")||gt("no-colors")||gt("color=false")?Kt=!1:(gt("color")||gt("colors")||gt("color=true")||gt("color=always"))&&(Kt=!0);"FORCE_COLOR"in Q&&(Kt=Q.FORCE_COLOR.length===0||parseInt(Q.FORCE_COLOR,10)!==0);function hc(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function dc(r){if(Kt===!1)return 0;if(gt("color=16m")||gt("color=full")||gt("color=truecolor"))return 3;if(gt("color=256"))return 2;if(r&&!r.isTTY&&Kt!==!0)return 0;let t=Kt?1:0;if(process.platform==="win32"){let e=lc.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in Q)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in Q)||Q.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in Q)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Q.TEAMCITY_VERSION)?1:0;if(Q.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Q){let e=parseInt((Q.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Q.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Q.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Q.TERM)||"COLORTERM"in Q?1:(Q.TERM==="dumb",t)}function br(r){let t=dc(r);return hc(t)}ls.exports={supportsColor:br,stdout:br(process.stdout),stderr:br(process.stderr)}});var ms=H((W,Fe)=>{var mc=yt("tty"),Ne=yt("util");W.init=Sc;W.log=yc;W.formatArgs=gc;W.save=vc;W.load=xc;W.useColors=bc;W.destroy=Ne.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");W.colors=[6,2,3,4,5,1];try{let r=hs();r&&(r.stderr||r).level>=2&&(W.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{}W.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(s,c)=>c.toUpperCase()),n=process.env[t];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),r[e]=n,r},{});function bc(){return"colors"in W.inspectOpts?!!W.inspectOpts.colors:mc.isatty(process.stderr.fd)}function gc(r){let{namespace:t,useColors:e}=this;if(e){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),c=` ${s};1m${t} \x1B[0m`;r[0]=c+r[0].split(`
|
|
3
3
|
`).join(`
|
|
4
|
-
`+
|
|
5
|
-
`)}function
|
|
6
|
-
`).map(t=>t.trim()).join(" ")};xs.O=function(r){return this.inspectOpts.colors=this.useColors,Pe.inspect(r,this.inspectOpts)}});var Ts=L((ip,$r)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?$r.exports=gs():$r.exports=Ss()});var _e=L((lp,Cs)=>{Cs.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var As=L((pp,Es)=>{Es.exports=function(t){if(t){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}});var Vr=L((hp,Is)=>{var uu=As();Is.exports=r=>async t=>{t=uu(t);let e=E=>{typeof E.return=="function"&&E.return()},n=null,i=null,u=E=>{n=E,i&&i(E),e(t)},f=null,d=!1,g=()=>{d=!0,f&&f()},A=null,l=!1,y=()=>{l=!0,A&&A()},x=null,S=()=>{x&&x()},m=()=>new Promise((E,I)=>{f=x=E,i=I,r.once("drain",S)}),C=()=>(e(t),new Promise((E,I)=>{if(d||l||n)return E();A=f=E,i=I})),B=()=>{r.removeListener("error",u),r.removeListener("close",g),r.removeListener("finish",y),r.removeListener("drain",S)};r.once("error",u),r.once("close",g),r.once("finish",y);try{for await(let E of t){if(!r.writable||r.destroyed||n)break;r.write(E)===!1&&await m()}}catch(E){n||r.destroy(),n=E}try{if(r.writable&&r.end(),await C(),n)throw n}finally{B()}}});var jr=L((dp,Bs)=>{var fu=Vr(),lu=_e();Bs.exports=r=>({sink:fu(r),source:lu(r)})});var Ms=L((mp,Rs)=>{var pu=jr();Rs.exports=r=>async function*(t){let e=pu(r),n;if(e.sink(t).catch(i=>{n=i}),yield*e.source,n)throw n}});var Ds=L((gp,Kt)=>{Kt.exports=_e();Kt.exports.source=_e();Kt.exports.sink=Vr();Kt.exports.transform=Ms();Kt.exports.duplex=jr()});var qr=L((Le,Os)=>{(function(){var r,t=0xdeadbeefcafe,e=(t&16777215)==15715070;function n(s,o,a){s!=null&&(typeof s=="number"?this.fromNumber(s,o,a):o==null&&typeof s!="string"?this.fromString(s,256):this.fromString(s,o))}function i(){return new n(null)}function u(s,o,a,c,p,h){for(;--h>=0;){var b=o*this[s++]+a[c]+p;p=Math.floor(b/67108864),a[c++]=b&67108863}return p}function f(s,o,a,c,p,h){for(var b=o&32767,v=o>>15;--h>=0;){var M=this[s]&32767,$=this[s++]>>15,at=v*M+$*b;M=b*M+((at&32767)<<15)+a[c]+(p&1073741823),p=(M>>>30)+(at>>>15)+v*$+(p>>>30),a[c++]=M&1073741823}return p}function d(s,o,a,c,p,h){for(var b=o&16383,v=o>>14;--h>=0;){var M=this[s]&16383,$=this[s++]>>14,at=v*M+$*b;M=b*M+((at&16383)<<14)+a[c]+p,p=(M>>28)+(at>>14)+v*$,a[c++]=M&268435455}return p}var g=typeof navigator<"u";g&&e&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=f,r=30):g&&e&&navigator.appName!="Netscape"?(n.prototype.am=u,r=26):(n.prototype.am=d,r=28),n.prototype.DB=r,n.prototype.DM=(1<<r)-1,n.prototype.DV=1<<r;var A=52;n.prototype.FV=Math.pow(2,A),n.prototype.F1=A-r,n.prototype.F2=2*r-A;var l="0123456789abcdefghijklmnopqrstuvwxyz",y=new Array,x,S;for(x="0".charCodeAt(0),S=0;S<=9;++S)y[x++]=S;for(x="a".charCodeAt(0),S=10;S<36;++S)y[x++]=S;for(x="A".charCodeAt(0),S=10;S<36;++S)y[x++]=S;function m(s){return l.charAt(s)}function C(s,o){var a=y[s.charCodeAt(o)];return a??-1}function B(s){for(var o=this.t-1;o>=0;--o)s[o]=this[o];s.t=this.t,s.s=this.s}function E(s){this.t=1,this.s=s<0?-1:0,s>0?this[0]=s:s<-1?this[0]=s+this.DV:this.t=0}function I(s){var o=i();return o.fromInt(s),o}function _(s,o){var a;if(o==16)a=4;else if(o==8)a=3;else if(o==256)a=8;else if(o==2)a=1;else if(o==32)a=5;else if(o==4)a=2;else{this.fromRadix(s,o);return}this.t=0,this.s=0;for(var c=s.length,p=!1,h=0;--c>=0;){var b=a==8?s[c]&255:C(s,c);if(b<0){s.charAt(c)=="-"&&(p=!0);continue}p=!1,h==0?this[this.t++]=b:h+a>this.DB?(this[this.t-1]|=(b&(1<<this.DB-h)-1)<<h,this[this.t++]=b>>this.DB-h):this[this.t-1]|=b<<h,h+=a,h>=this.DB&&(h-=this.DB)}a==8&&s[0]&128&&(this.s=-1,h>0&&(this[this.t-1]|=(1<<this.DB-h)-1<<h)),this.clamp(),p&&n.ZERO.subTo(this,this)}function N(){for(var s=this.s&this.DM;this.t>0&&this[this.t-1]==s;)--this.t}function tt(s){if(this.s<0)return"-"+this.negate().toString(s);var o;if(s==16)o=4;else if(s==8)o=3;else if(s==2)o=1;else if(s==32)o=5;else if(s==4)o=2;else return this.toRadix(s);var a=(1<<o)-1,c,p=!1,h="",b=this.t,v=this.DB-b*this.DB%o;if(b-- >0)for(v<this.DB&&(c=this[b]>>v)>0&&(p=!0,h=m(c));b>=0;)v<o?(c=(this[b]&(1<<v)-1)<<o-v,c|=this[--b]>>(v+=this.DB-o)):(c=this[b]>>(v-=o)&a,v<=0&&(v+=this.DB,--b)),c>0&&(p=!0),p&&(h+=m(c));return p?h:"0"}function J(){var s=i();return n.ZERO.subTo(this,s),s}function W(){return this.s<0?this.negate():this}function Y(s){var o=this.s-s.s;if(o!=0)return o;var a=this.t;if(o=a-s.t,o!=0)return this.s<0?-o:o;for(;--a>=0;)if((o=this[a]-s[a])!=0)return o;return 0}function ut(s){var o=1,a;return(a=s>>>16)!=0&&(s=a,o+=16),(a=s>>8)!=0&&(s=a,o+=8),(a=s>>4)!=0&&(s=a,o+=4),(a=s>>2)!=0&&(s=a,o+=2),(a=s>>1)!=0&&(s=a,o+=1),o}function Ys(){return this.t<=0?0:this.DB*(this.t-1)+ut(this[this.t-1]^this.s&this.DM)}function Qs(s,o){var a;for(a=this.t-1;a>=0;--a)o[a+s]=this[a];for(a=s-1;a>=0;--a)o[a]=0;o.t=this.t+s,o.s=this.s}function Ks(s,o){for(var a=s;a<this.t;++a)o[a-s]=this[a];o.t=Math.max(this.t-s,0),o.s=this.s}function to(s,o){var a=s%this.DB,c=this.DB-a,p=(1<<c)-1,h=Math.floor(s/this.DB),b=this.s<<a&this.DM,v;for(v=this.t-1;v>=0;--v)o[v+h+1]=this[v]>>c|b,b=(this[v]&p)<<a;for(v=h-1;v>=0;--v)o[v]=0;o[h]=b,o.t=this.t+h+1,o.s=this.s,o.clamp()}function eo(s,o){o.s=this.s;var a=Math.floor(s/this.DB);if(a>=this.t){o.t=0;return}var c=s%this.DB,p=this.DB-c,h=(1<<c)-1;o[0]=this[a]>>c;for(var b=a+1;b<this.t;++b)o[b-a-1]|=(this[b]&h)<<p,o[b-a]=this[b]>>c;c>0&&(o[this.t-a-1]|=(this.s&h)<<p),o.t=this.t-a,o.clamp()}function ro(s,o){for(var a=0,c=0,p=Math.min(s.t,this.t);a<p;)c+=this[a]-s[a],o[a++]=c&this.DM,c>>=this.DB;if(s.t<this.t){for(c-=s.s;a<this.t;)c+=this[a],o[a++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;a<s.t;)c-=s[a],o[a++]=c&this.DM,c>>=this.DB;c-=s.s}o.s=c<0?-1:0,c<-1?o[a++]=this.DV+c:c>0&&(o[a++]=c),o.t=a,o.clamp()}function no(s,o){var a=this.abs(),c=s.abs(),p=a.t;for(o.t=p+c.t;--p>=0;)o[p]=0;for(p=0;p<c.t;++p)o[p+a.t]=a.am(0,c[p],o,p,0,a.t);o.s=0,o.clamp(),this.s!=s.s&&n.ZERO.subTo(o,o)}function so(s){for(var o=this.abs(),a=s.t=2*o.t;--a>=0;)s[a]=0;for(a=0;a<o.t-1;++a){var c=o.am(a,o[a],s,2*a,0,1);(s[a+o.t]+=o.am(a+1,2*o[a],s,2*a+1,c,o.t-a-1))>=o.DV&&(s[a+o.t]-=o.DV,s[a+o.t+1]=1)}s.t>0&&(s[s.t-1]+=o.am(a,o[a],s,2*a,0,1)),s.s=0,s.clamp()}function oo(s,o,a){var c=s.abs();if(!(c.t<=0)){var p=this.abs();if(p.t<c.t){o?.fromInt(0),a!=null&&this.copyTo(a);return}a==null&&(a=i());var h=i(),b=this.s,v=s.s,M=this.DB-ut(c[c.t-1]);M>0?(c.lShiftTo(M,h),p.lShiftTo(M,a)):(c.copyTo(h),p.copyTo(a));var $=h.t,at=h[$-1];if(at!=0){var rt=at*(1<<this.F1)+($>1?h[$-2]>>this.F2:0),wt=this.FV/rt,de=(1<<this.F1)/rt,lt=1<<this.F2,pt=a.t,me=pt-$,Ct=o??i();for(h.dlShiftTo(me,Ct),a.compareTo(Ct)>=0&&(a[a.t++]=1,a.subTo(Ct,a)),n.ONE.dlShiftTo($,Ct),Ct.subTo(h,h);h.t<$;)h[h.t++]=0;for(;--me>=0;){var Je=a[--pt]==at?this.DM:Math.floor(a[pt]*wt+(a[pt-1]+lt)*de);if((a[pt]+=h.am(0,Je,a,me,0,$))<Je)for(h.dlShiftTo(me,Ct),a.subTo(Ct,a);a[pt]<--Je;)a.subTo(Ct,a)}o!=null&&(a.drShiftTo($,o),b!=v&&n.ZERO.subTo(o,o)),a.t=$,a.clamp(),M>0&&a.rShiftTo(M,a),b<0&&n.ZERO.subTo(a,a)}}}function io(s){var o=i();return this.abs().divRemTo(s,null,o),this.s<0&&o.compareTo(n.ZERO)>0&&s.subTo(o,o),o}function Dt(s){this.m=s}function ao(s){return s.s<0||s.compareTo(this.m)>=0?s.mod(this.m):s}function co(s){return s}function uo(s){s.divRemTo(this.m,null,s)}function fo(s,o,a){s.multiplyTo(o,a),this.reduce(a)}function lo(s,o){s.squareTo(o),this.reduce(o)}Dt.prototype.convert=ao,Dt.prototype.revert=co,Dt.prototype.reduce=uo,Dt.prototype.mulTo=fo,Dt.prototype.sqrTo=lo;function po(){if(this.t<1)return 0;var s=this[0];if(!(s&1))return 0;var o=s&3;return o=o*(2-(s&15)*o)&15,o=o*(2-(s&255)*o)&255,o=o*(2-((s&65535)*o&65535))&65535,o=o*(2-s*o%this.DV)%this.DV,o>0?this.DV-o:-o}function kt(s){this.m=s,this.mp=s.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<s.DB-15)-1,this.mt2=2*s.t}function ho(s){var o=i();return s.abs().dlShiftTo(this.m.t,o),o.divRemTo(this.m,null,o),s.s<0&&o.compareTo(n.ZERO)>0&&this.m.subTo(o,o),o}function mo(s){var o=i();return s.copyTo(o),this.reduce(o),o}function go(s){for(;s.t<=this.mt2;)s[s.t++]=0;for(var o=0;o<this.m.t;++o){var a=s[o]&32767,c=a*this.mpl+((a*this.mph+(s[o]>>15)*this.mpl&this.um)<<15)&s.DM;for(a=o+this.m.t,s[a]+=this.m.am(0,c,s,o,0,this.m.t);s[a]>=s.DV;)s[a]-=s.DV,s[++a]++}s.clamp(),s.drShiftTo(this.m.t,s),s.compareTo(this.m)>=0&&s.subTo(this.m,s)}function bo(s,o){s.squareTo(o),this.reduce(o)}function wo(s,o,a){s.multiplyTo(o,a),this.reduce(a)}kt.prototype.convert=ho,kt.prototype.revert=mo,kt.prototype.reduce=go,kt.prototype.mulTo=wo,kt.prototype.sqrTo=bo;function yo(){return(this.t>0?this[0]&1:this.s)==0}function vo(s,o){if(s>4294967295||s<1)return n.ONE;var a=i(),c=i(),p=o.convert(this),h=ut(s)-1;for(p.copyTo(a);--h>=0;)if(o.sqrTo(a,c),(s&1<<h)>0)o.mulTo(c,p,a);else{var b=a;a=c,c=b}return o.revert(a)}function xo(s,o){var a;return s<256||o.isEven()?a=new Dt(o):a=new kt(o),this.exp(s,a)}n.prototype.copyTo=B,n.prototype.fromInt=E,n.prototype.fromString=_,n.prototype.clamp=N,n.prototype.dlShiftTo=Qs,n.prototype.drShiftTo=Ks,n.prototype.lShiftTo=to,n.prototype.rShiftTo=eo,n.prototype.subTo=ro,n.prototype.multiplyTo=no,n.prototype.squareTo=so,n.prototype.divRemTo=oo,n.prototype.invDigit=po,n.prototype.isEven=yo,n.prototype.exp=vo,n.prototype.toString=tt,n.prototype.negate=J,n.prototype.abs=W,n.prototype.compareTo=Y,n.prototype.bitLength=Ys,n.prototype.mod=io,n.prototype.modPowInt=xo,n.ZERO=I(0),n.ONE=I(1);function So(){var s=i();return this.copyTo(s),s}function To(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function Co(){return this.t==0?this.s:this[0]<<24>>24}function Eo(){return this.t==0?this.s:this[0]<<16>>16}function Ao(s){return Math.floor(Math.LN2*this.DB/Math.log(s))}function Io(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Bo(s){if(s==null&&(s=10),this.signum()==0||s<2||s>36)return"0";var o=this.chunkSize(s),a=Math.pow(s,o),c=I(a),p=i(),h=i(),b="";for(this.divRemTo(c,p,h);p.signum()>0;)b=(a+h.intValue()).toString(s).substr(1)+b,p.divRemTo(c,p,h);return h.intValue().toString(s)+b}function Ro(s,o){this.fromInt(0),o==null&&(o=10);for(var a=this.chunkSize(o),c=Math.pow(o,a),p=!1,h=0,b=0,v=0;v<s.length;++v){var M=C(s,v);if(M<0){s.charAt(v)=="-"&&this.signum()==0&&(p=!0);continue}b=o*b+M,++h>=a&&(this.dMultiply(c),this.dAddOffset(b,0),h=0,b=0)}h>0&&(this.dMultiply(Math.pow(o,h)),this.dAddOffset(b,0)),p&&n.ZERO.subTo(this,this)}function Mo(s,o,a){if(typeof o=="number")if(s<2)this.fromInt(1);else for(this.fromNumber(s,a),this.testBit(s-1)||this.bitwiseTo(n.ONE.shiftLeft(s-1),He,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(o);)this.dAddOffset(2,0),this.bitLength()>s&&this.subTo(n.ONE.shiftLeft(s-1),this);else{var c=new Array,p=s&7;c.length=(s>>3)+1,o.nextBytes(c),p>0?c[0]&=(1<<p)-1:c[0]=0,this.fromString(c,256)}}function Do(){var s=this.t,o=new Array;o[0]=this.s;var a=this.DB-s*this.DB%8,c,p=0;if(s-- >0)for(a<this.DB&&(c=this[s]>>a)!=(this.s&this.DM)>>a&&(o[p++]=c|this.s<<this.DB-a);s>=0;)a<8?(c=(this[s]&(1<<a)-1)<<8-a,c|=this[--s]>>(a+=this.DB-8)):(c=this[s]>>(a-=8)&255,a<=0&&(a+=this.DB,--s)),c&128&&(c|=-256),p==0&&(this.s&128)!=(c&128)&&++p,(p>0||c!=this.s)&&(o[p++]=c);return o}function ko(s){return this.compareTo(s)==0}function Po(s){return this.compareTo(s)<0?this:s}function Oo(s){return this.compareTo(s)>0?this:s}function _o(s,o,a){var c,p,h=Math.min(s.t,this.t);for(c=0;c<h;++c)a[c]=o(this[c],s[c]);if(s.t<this.t){for(p=s.s&this.DM,c=h;c<this.t;++c)a[c]=o(this[c],p);a.t=this.t}else{for(p=this.s&this.DM,c=h;c<s.t;++c)a[c]=o(p,s[c]);a.t=s.t}a.s=o(this.s,s.s),a.clamp()}function Fo(s,o){return s&o}function No(s){var o=i();return this.bitwiseTo(s,Fo,o),o}function He(s,o){return s|o}function Lo(s){var o=i();return this.bitwiseTo(s,He,o),o}function cn(s,o){return s^o}function Uo(s){var o=i();return this.bitwiseTo(s,cn,o),o}function un(s,o){return s&~o}function $o(s){var o=i();return this.bitwiseTo(s,un,o),o}function Vo(){for(var s=i(),o=0;o<this.t;++o)s[o]=this.DM&~this[o];return s.t=this.t,s.s=~this.s,s}function jo(s){var o=i();return s<0?this.rShiftTo(-s,o):this.lShiftTo(s,o),o}function zo(s){var o=i();return s<0?this.lShiftTo(-s,o):this.rShiftTo(s,o),o}function qo(s){if(s==0)return-1;var o=0;return s&65535||(s>>=16,o+=16),s&255||(s>>=8,o+=8),s&15||(s>>=4,o+=4),s&3||(s>>=2,o+=2),s&1||++o,o}function Go(){for(var s=0;s<this.t;++s)if(this[s]!=0)return s*this.DB+qo(this[s]);return this.s<0?this.t*this.DB:-1}function Ho(s){for(var o=0;s!=0;)s&=s-1,++o;return o}function Zo(){for(var s=0,o=this.s&this.DM,a=0;a<this.t;++a)s+=Ho(this[a]^o);return s}function Wo(s){var o=Math.floor(s/this.DB);return o>=this.t?this.s!=0:(this[o]&1<<s%this.DB)!=0}function Xo(s,o){var a=n.ONE.shiftLeft(s);return this.bitwiseTo(a,o,a),a}function Jo(s){return this.changeBit(s,He)}function Yo(s){return this.changeBit(s,un)}function Qo(s){return this.changeBit(s,cn)}function Ko(s,o){for(var a=0,c=0,p=Math.min(s.t,this.t);a<p;)c+=this[a]+s[a],o[a++]=c&this.DM,c>>=this.DB;if(s.t<this.t){for(c+=s.s;a<this.t;)c+=this[a],o[a++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;a<s.t;)c+=s[a],o[a++]=c&this.DM,c>>=this.DB;c+=s.s}o.s=c<0?-1:0,c>0?o[a++]=c:c<-1&&(o[a++]=this.DV+c),o.t=a,o.clamp()}function ti(s){var o=i();return this.addTo(s,o),o}function ei(s){var o=i();return this.subTo(s,o),o}function ri(s){var o=i();return this.multiplyTo(s,o),o}function ni(){var s=i();return this.squareTo(s),s}function si(s){var o=i();return this.divRemTo(s,o,null),o}function oi(s){var o=i();return this.divRemTo(s,null,o),o}function ii(s){var o=i(),a=i();return this.divRemTo(s,o,a),new Array(o,a)}function ai(s){this[this.t]=this.am(0,s-1,this,0,0,this.t),++this.t,this.clamp()}function ci(s,o){if(s!=0){for(;this.t<=o;)this[this.t++]=0;for(this[o]+=s;this[o]>=this.DV;)this[o]-=this.DV,++o>=this.t&&(this[this.t++]=0),++this[o]}}function oe(){}function fn(s){return s}function ui(s,o,a){s.multiplyTo(o,a)}function fi(s,o){s.squareTo(o)}oe.prototype.convert=fn,oe.prototype.revert=fn,oe.prototype.mulTo=ui,oe.prototype.sqrTo=fi;function li(s){return this.exp(s,new oe)}function pi(s,o,a){var c=Math.min(this.t+s.t,o);for(a.s=0,a.t=c;c>0;)a[--c]=0;var p;for(p=a.t-this.t;c<p;++c)a[c+this.t]=this.am(0,s[c],a,c,0,this.t);for(p=Math.min(s.t,o);c<p;++c)this.am(0,s[c],a,c,0,o-c);a.clamp()}function hi(s,o,a){--o;var c=a.t=this.t+s.t-o;for(a.s=0;--c>=0;)a[c]=0;for(c=Math.max(o-this.t,0);c<s.t;++c)a[this.t+c-o]=this.am(o-c,s[c],a,0,0,this.t+c-o);a.clamp(),a.drShiftTo(1,a)}function Pt(s){this.r2=i(),this.q3=i(),n.ONE.dlShiftTo(2*s.t,this.r2),this.mu=this.r2.divide(s),this.m=s}function di(s){if(s.s<0||s.t>2*this.m.t)return s.mod(this.m);if(s.compareTo(this.m)<0)return s;var o=i();return s.copyTo(o),this.reduce(o),o}function mi(s){return s}function gi(s){for(s.drShiftTo(this.m.t-1,this.r2),s.t>this.m.t+1&&(s.t=this.m.t+1,s.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);s.compareTo(this.r2)<0;)s.dAddOffset(1,this.m.t+1);for(s.subTo(this.r2,s);s.compareTo(this.m)>=0;)s.subTo(this.m,s)}function bi(s,o){s.squareTo(o),this.reduce(o)}function wi(s,o,a){s.multiplyTo(o,a),this.reduce(a)}Pt.prototype.convert=di,Pt.prototype.revert=mi,Pt.prototype.reduce=gi,Pt.prototype.mulTo=wi,Pt.prototype.sqrTo=bi;function yi(s,o){var a=s.bitLength(),c,p=I(1),h;if(a<=0)return p;a<18?c=1:a<48?c=3:a<144?c=4:a<768?c=5:c=6,a<8?h=new Dt(o):o.isEven()?h=new Pt(o):h=new kt(o);var b=new Array,v=3,M=c-1,$=(1<<c)-1;if(b[1]=h.convert(this),c>1){var at=i();for(h.sqrTo(b[1],at);v<=$;)b[v]=i(),h.mulTo(at,b[v-2],b[v]),v+=2}var rt=s.t-1,wt,de=!0,lt=i(),pt;for(a=ut(s[rt])-1;rt>=0;){for(a>=M?wt=s[rt]>>a-M&$:(wt=(s[rt]&(1<<a+1)-1)<<M-a,rt>0&&(wt|=s[rt-1]>>this.DB+a-M)),v=c;!(wt&1);)wt>>=1,--v;if((a-=v)<0&&(a+=this.DB,--rt),de)b[wt].copyTo(p),de=!1;else{for(;v>1;)h.sqrTo(p,lt),h.sqrTo(lt,p),v-=2;v>0?h.sqrTo(p,lt):(pt=p,p=lt,lt=pt),h.mulTo(lt,b[wt],p)}for(;rt>=0&&!(s[rt]&1<<a);)h.sqrTo(p,lt),pt=p,p=lt,lt=pt,--a<0&&(a=this.DB-1,--rt)}return h.revert(p)}function vi(s){var o=this.s<0?this.negate():this.clone(),a=s.s<0?s.negate():s.clone();if(o.compareTo(a)<0){var c=o;o=a,a=c}var p=o.getLowestSetBit(),h=a.getLowestSetBit();if(h<0)return o;for(p<h&&(h=p),h>0&&(o.rShiftTo(h,o),a.rShiftTo(h,a));o.signum()>0;)(p=o.getLowestSetBit())>0&&o.rShiftTo(p,o),(p=a.getLowestSetBit())>0&&a.rShiftTo(p,a),o.compareTo(a)>=0?(o.subTo(a,o),o.rShiftTo(1,o)):(a.subTo(o,a),a.rShiftTo(1,a));return h>0&&a.lShiftTo(h,a),a}function xi(s){if(s<=0)return 0;var o=this.DV%s,a=this.s<0?s-1:0;if(this.t>0)if(o==0)a=this[0]%s;else for(var c=this.t-1;c>=0;--c)a=(o*a+this[c])%s;return a}function Si(s){var o=s.isEven();if(this.isEven()&&o||s.signum()==0)return n.ZERO;for(var a=s.clone(),c=this.clone(),p=I(1),h=I(0),b=I(0),v=I(1);a.signum()!=0;){for(;a.isEven();)a.rShiftTo(1,a),o?((!p.isEven()||!h.isEven())&&(p.addTo(this,p),h.subTo(s,h)),p.rShiftTo(1,p)):h.isEven()||h.subTo(s,h),h.rShiftTo(1,h);for(;c.isEven();)c.rShiftTo(1,c),o?((!b.isEven()||!v.isEven())&&(b.addTo(this,b),v.subTo(s,v)),b.rShiftTo(1,b)):v.isEven()||v.subTo(s,v),v.rShiftTo(1,v);a.compareTo(c)>=0?(a.subTo(c,a),o&&p.subTo(b,p),h.subTo(v,h)):(c.subTo(a,c),o&&b.subTo(p,b),v.subTo(h,v))}if(c.compareTo(n.ONE)!=0)return n.ZERO;if(v.compareTo(s)>=0)return v.subtract(s);if(v.signum()<0)v.addTo(s,v);else return v;return v.signum()<0?v.add(s):v}var X=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Ti=(1<<26)/X[X.length-1];function Ci(s){var o,a=this.abs();if(a.t==1&&a[0]<=X[X.length-1]){for(o=0;o<X.length;++o)if(a[0]==X[o])return!0;return!1}if(a.isEven())return!1;for(o=1;o<X.length;){for(var c=X[o],p=o+1;p<X.length&&c<Ti;)c*=X[p++];for(c=a.modInt(c);o<p;)if(c%X[o++]==0)return!1}return a.millerRabin(s)}function Ei(s){var o=this.subtract(n.ONE),a=o.getLowestSetBit();if(a<=0)return!1;var c=o.shiftRight(a);s=s+1>>1,s>X.length&&(s=X.length);for(var p=i(),h=0;h<s;++h){p.fromInt(X[Math.floor(Math.random()*X.length)]);var b=p.modPow(c,this);if(b.compareTo(n.ONE)!=0&&b.compareTo(o)!=0){for(var v=1;v++<a&&b.compareTo(o)!=0;)if(b=b.modPowInt(2,this),b.compareTo(n.ONE)==0)return!1;if(b.compareTo(o)!=0)return!1}}return!0}n.prototype.chunkSize=Ao,n.prototype.toRadix=Bo,n.prototype.fromRadix=Ro,n.prototype.fromNumber=Mo,n.prototype.bitwiseTo=_o,n.prototype.changeBit=Xo,n.prototype.addTo=Ko,n.prototype.dMultiply=ai,n.prototype.dAddOffset=ci,n.prototype.multiplyLowerTo=pi,n.prototype.multiplyUpperTo=hi,n.prototype.modInt=xi,n.prototype.millerRabin=Ei,n.prototype.clone=So,n.prototype.intValue=To,n.prototype.byteValue=Co,n.prototype.shortValue=Eo,n.prototype.signum=Io,n.prototype.toByteArray=Do,n.prototype.equals=ko,n.prototype.min=Po,n.prototype.max=Oo,n.prototype.and=No,n.prototype.or=Lo,n.prototype.xor=Uo,n.prototype.andNot=$o,n.prototype.not=Vo,n.prototype.shiftLeft=jo,n.prototype.shiftRight=zo,n.prototype.getLowestSetBit=Go,n.prototype.bitCount=Zo,n.prototype.testBit=Wo,n.prototype.setBit=Jo,n.prototype.clearBit=Yo,n.prototype.flipBit=Qo,n.prototype.add=ti,n.prototype.subtract=ei,n.prototype.multiply=ri,n.prototype.divide=si,n.prototype.remainder=oi,n.prototype.divideAndRemainder=ii,n.prototype.modPow=yi,n.prototype.modInverse=Si,n.prototype.pow=li,n.prototype.gcd=vi,n.prototype.isProbablePrime=Ci,n.prototype.square=ni,n.prototype.Barrett=Pt;var he,et,U;function Ai(s){et[U++]^=s&255,et[U++]^=s>>8&255,et[U++]^=s>>16&255,et[U++]^=s>>24&255,U>=Xe&&(U-=Xe)}function ln(){Ai(new Date().getTime())}if(et==null){et=new Array,U=0;var ft;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var pn=new Uint8Array(32);for(window.crypto.getRandomValues(pn),ft=0;ft<32;++ft)et[U++]=pn[ft]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var hn=window.crypto.random(32);for(ft=0;ft<hn.length;++ft)et[U++]=hn.charCodeAt(ft)&255}}for(;U<Xe;)ft=Math.floor(65536*Math.random()),et[U++]=ft>>>8,et[U++]=ft&255;U=0,ln()}function Ii(){if(he==null){for(ln(),he=Di(),he.init(et),U=0;U<et.length;++U)et[U]=0;U=0}return he.next()}function Bi(s){var o;for(o=0;o<s.length;++o)s[o]=Ii()}function Ze(){}Ze.prototype.nextBytes=Bi;function We(){this.i=0,this.j=0,this.S=new Array}function Ri(s){var o,a,c;for(o=0;o<256;++o)this.S[o]=o;for(a=0,o=0;o<256;++o)a=a+this.S[o]+s[o%s.length]&255,c=this.S[o],this.S[o]=this.S[a],this.S[a]=c;this.i=0,this.j=0}function Mi(){var s;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,s=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=s,this.S[s+this.S[this.i]&255]}We.prototype.init=Ri,We.prototype.next=Mi;function Di(){return new We}var Xe=256;typeof Le<"u"?Le=Os.exports={default:n,BigInteger:n,SecureRandom:Ze}:this.jsbn={BigInteger:n,SecureRandom:Ze}}).call(Le)});var pe=L(Ue=>{(function(){"use strict";var r={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(f){return n(u(f),arguments)}function e(f,d){return t.apply(null,[f].concat(d||[]))}function n(f,d){var g=1,A=f.length,l,y="",x,S,m,C,B,E,I,_;for(x=0;x<A;x++)if(typeof f[x]=="string")y+=f[x];else if(typeof f[x]=="object"){if(m=f[x],m.keys)for(l=d[g],S=0;S<m.keys.length;S++){if(l==null)throw new Error(t('[sprintf] Cannot access property "%s" of undefined value "%s"',m.keys[S],m.keys[S-1]));l=l[m.keys[S]]}else m.param_no?l=d[m.param_no]:l=d[g++];if(r.not_type.test(m.type)&&r.not_primitive.test(m.type)&&l instanceof Function&&(l=l()),r.numeric_arg.test(m.type)&&typeof l!="number"&&isNaN(l))throw new TypeError(t("[sprintf] expecting number but found %T",l));switch(r.number.test(m.type)&&(I=l>=0),m.type){case"b":l=parseInt(l,10).toString(2);break;case"c":l=String.fromCharCode(parseInt(l,10));break;case"d":case"i":l=parseInt(l,10);break;case"j":l=JSON.stringify(l,null,m.width?parseInt(m.width):0);break;case"e":l=m.precision?parseFloat(l).toExponential(m.precision):parseFloat(l).toExponential();break;case"f":l=m.precision?parseFloat(l).toFixed(m.precision):parseFloat(l);break;case"g":l=m.precision?String(Number(l.toPrecision(m.precision))):parseFloat(l);break;case"o":l=(parseInt(l,10)>>>0).toString(8);break;case"s":l=String(l),l=m.precision?l.substring(0,m.precision):l;break;case"t":l=String(!!l),l=m.precision?l.substring(0,m.precision):l;break;case"T":l=Object.prototype.toString.call(l).slice(8,-1).toLowerCase(),l=m.precision?l.substring(0,m.precision):l;break;case"u":l=parseInt(l,10)>>>0;break;case"v":l=l.valueOf(),l=m.precision?l.substring(0,m.precision):l;break;case"x":l=(parseInt(l,10)>>>0).toString(16);break;case"X":l=(parseInt(l,10)>>>0).toString(16).toUpperCase();break}r.json.test(m.type)?y+=l:(r.number.test(m.type)&&(!I||m.sign)?(_=I?"+":"-",l=l.toString().replace(r.sign,"")):_="",B=m.pad_char?m.pad_char==="0"?"0":m.pad_char.charAt(1):" ",E=m.width-(_+l).length,C=m.width&&E>0?B.repeat(E):"",y+=m.align?_+l+C:B==="0"?_+C+l:C+_+l)}return y}var i=Object.create(null);function u(f){if(i[f])return i[f];for(var d=f,g,A=[],l=0;d;){if((g=r.text.exec(d))!==null)A.push(g[0]);else if((g=r.modulo.exec(d))!==null)A.push("%");else if((g=r.placeholder.exec(d))!==null){if(g[2]){l|=1;var y=[],x=g[2],S=[];if((S=r.key.exec(x))!==null)for(y.push(S[1]);(x=x.substring(S[0].length))!=="";)if((S=r.key_access.exec(x))!==null)y.push(S[1]);else if((S=r.index_access.exec(x))!==null)y.push(S[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");g[2]=y}else l|=2;if(l===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");A.push({placeholder:g[0],param_no:g[1],keys:g[2],sign:g[3],pad_char:g[4],align:g[5],width:g[6],precision:g[7],type:g[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");d=d.substring(g[0].length)}return i[f]=A}typeof Ue<"u"&&(Ue.sprintf=t,Ue.vsprintf=e),typeof window<"u"&&(window.sprintf=t,window.vsprintf=e,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:e}}))})()});var Ru={};nt(Ru,{tcp:()=>Bu});var Js=j(yt("net"),1);var ge=class extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=ge.code,this.type=ge.type}},Et=ge;Ye(Et,"code","ABORT_ERR"),Ye(Et,"type","aborted");var Q=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var rr={};nt(rr,{base58btc:()=>z,base58flickr:()=>qi});function Ui(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var u=r.charAt(i),f=u.charCodeAt(0);if(e[f]!==255)throw new TypeError(u+" is ambiguous");e[f]=i}var d=r.length,g=r.charAt(0),A=Math.log(d)/Math.log(256),l=Math.log(256)/Math.log(d);function y(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var C=0,B=0,E=0,I=m.length;E!==I&&m[E]===0;)E++,C++;for(var _=(I-E)*l+1>>>0,N=new Uint8Array(_);E!==I;){for(var tt=m[E],J=0,W=_-1;(tt!==0||J<B)&&W!==-1;W--,J++)tt+=256*N[W]>>>0,N[W]=tt%d>>>0,tt=tt/d>>>0;if(tt!==0)throw new Error("Non-zero carry");B=J,E++}for(var Y=_-B;Y!==_&&N[Y]===0;)Y++;for(var ut=g.repeat(C);Y<_;++Y)ut+=r.charAt(N[Y]);return ut}function x(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var C=0;if(m[C]!==" "){for(var B=0,E=0;m[C]===g;)B++,C++;for(var I=(m.length-C)*A+1>>>0,_=new Uint8Array(I);m[C];){var N=e[m.charCodeAt(C)];if(N===255)return;for(var tt=0,J=I-1;(N!==0||tt<E)&&J!==-1;J--,tt++)N+=d*_[J]>>>0,_[J]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");E=tt,C++}if(m[C]!==" "){for(var W=I-E;W!==I&&_[W]===0;)W++;for(var Y=new Uint8Array(B+(I-W)),ut=B;W!==I;)Y[ut++]=_[W++];return Y}}}function S(m){var C=x(m);if(C)return C;throw new Error(`Non-${t} character`)}return{encode:y,decodeUnsafe:x,decode:S}}var $i=Ui,Vi=$i,mn=Vi;var Ou=new Uint8Array(0);var gn=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},ct=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var bn=r=>new TextEncoder().encode(r),wn=r=>new TextDecoder().decode(r);var Qe=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ke=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return vn(this,t)}},tr=class{constructor(t){this.decoders=t}or(t){return vn(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},vn=(r,t)=>new tr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),er=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Qe(t,e,n),this.decoder=new Ke(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},jt=({name:r,prefix:t,encode:e,decode:n})=>new er(r,t,e,n),At=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=mn(e,t);return jt({prefix:r,name:t,encode:n,decode:u=>ct(i(u))})},ji=(r,t,e,n)=>{let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let u=r.length;for(;r[u-1]==="=";)--u;let f=new Uint8Array(u*e/8|0),d=0,g=0,A=0;for(let l=0;l<u;++l){let y=i[r[l]];if(y===void 0)throw new SyntaxError(`Non-${n} character`);g=g<<e|y,d+=e,d>=8&&(d-=8,f[A++]=255&g>>d)}if(d>=e||255&g<<8-d)throw new SyntaxError("Unexpected end of data");return f},zi=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,u="",f=0,d=0;for(let g=0;g<r.length;++g)for(d=d<<8|r[g],f+=8;f>e;)f-=e,u+=t[i&d>>f];if(f&&(u+=t[i&d<<e-f]),n)for(;u.length*e&7;)u+="=";return u},P=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>jt({prefix:t,name:r,encode(i){return zi(i,n,e)},decode(i){return ji(i,n,e,r)}});var z=At({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),qi=At({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Gi=Tn,xn=128,Hi=127,Zi=~Hi,Wi=Math.pow(2,31);function Tn(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Wi;)t[e++]=r&255|xn,r/=128;for(;r&Zi;)t[e++]=r&255|xn,r>>>=7;return t[e]=r|0,Tn.bytes=e-n+1,t}var Xi=nr,Ji=128,Sn=127;function nr(r,n){var e=0,n=n||0,i=0,u=n,f,d=r.length;do{if(u>=d)throw nr.bytes=0,new RangeError("Could not decode varint");f=r[u++],e+=i<28?(f&Sn)<<i:(f&Sn)*Math.pow(2,i),i+=7}while(f>=Ji);return nr.bytes=u-n,e}var Yi=Math.pow(2,7),Qi=Math.pow(2,14),Ki=Math.pow(2,21),ta=Math.pow(2,28),ea=Math.pow(2,35),ra=Math.pow(2,42),na=Math.pow(2,49),sa=Math.pow(2,56),oa=Math.pow(2,63),ia=function(r){return r<Yi?1:r<Qi?2:r<Ki?3:r<ta?4:r<ea?5:r<ra?6:r<na?7:r<sa?8:r<oa?9:10},aa={encode:Gi,decode:Xi,encodingLength:ia},ca=aa,ae=ca;var ce=(r,t=0)=>[ae.decode(r,t),ae.decode.bytes],zt=(r,t,e=0)=>(ae.encode(r,t,e),t),qt=r=>ae.encodingLength(r);var Ot=(r,t)=>{let e=t.byteLength,n=qt(r),i=n+qt(e),u=new Uint8Array(i+e);return zt(r,u,0),zt(e,u,n),u.set(t,i),new Gt(r,e,t,u)},we=r=>{let t=ct(r),[e,n]=ce(t),[i,u]=ce(t.subarray(n)),f=t.subarray(n+u);if(f.byteLength!==i)throw new Error("Incorrect length");return new Gt(e,i,f,t)},Cn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&gn(r.bytes,e.bytes)}},Gt=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var sr={};nt(sr,{base32:()=>ht,base32hex:()=>pa,base32hexpad:()=>da,base32hexpadupper:()=>ma,base32hexupper:()=>ha,base32pad:()=>fa,base32padupper:()=>la,base32upper:()=>ua,base32z:()=>ga});var ht=P({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ua=P({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),fa=P({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),la=P({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),pa=P({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ha=P({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),da=P({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ma=P({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ga=P({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var En=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return wa(e,or(r),t||z.encoder);default:return ya(e,or(r),t||ht.encoder)}};var An=new WeakMap,or=r=>{let t=An.get(r);if(t==null){let e=new Map;return An.set(r,e),e}return t},D=class{constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==ue)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==va)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return D.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Ot(t,e);return D.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return D.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Cn(t.multihash,n.multihash)}toString(t){return En(this,t)}toJSON(){return{"/":En(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof D)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:u,bytes:f}=e;return new D(n,i,u,f||In(n,i,u.bytes))}else if(e[xa]===!0){let{version:n,multihash:i,code:u}=e,f=we(i);return D.create(n,u,f)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==ue)throw new Error(`Version 0 CID must use dag-pb (code: ${ue}) block encoding`);return new D(t,e,n,n.bytes)}case 1:{let i=In(t,e,n.bytes);return new D(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return D.create(0,ue,t)}static createV1(t,e){return D.create(1,t,e)}static decode(t){let[e,n]=D.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=D.inspectBytes(t),n=e.size-e.multihashSize,i=ct(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let u=i.subarray(e.multihashSize-e.digestSize),f=new Gt(e.multihashCode,e.digestSize,u,i);return[e.version===0?D.createV0(f):D.createV1(e.codec,f),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[y,x]=ce(t.subarray(e));return e+=x,y},i=n(),u=ue;if(i===18?(i=0,e=0):u=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let f=e,d=n(),g=n(),A=e+g,l=A-f;return{version:i,codec:u,multihashCode:d,digestSize:g,multihashSize:l,size:A}}static parse(t,e){let[n,i]=ba(t,e),u=D.decode(i);if(u.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return or(u).set(n,t),u}},ba=(r,t)=>{switch(r[0]){case"Q":{let e=t||z;return[z.prefix,e.decode(`${z.prefix}${r}`)]}case z.prefix:{let e=t||z;return[z.prefix,e.decode(r)]}case ht.prefix:{let e=t||ht;return[ht.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},wa=(r,t,e)=>{let{prefix:n}=e;if(n!==z.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let u=e.encode(r).slice(1);return t.set(n,u),u}else return i},ya=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let u=e.encode(r);return t.set(n,u),u}else return i},ue=112,va=18,In=(r,t,e)=>{let n=qt(r),i=n+qt(t),u=new Uint8Array(i+e.byteLength);return zt(r,u,0),zt(t,u,n),u.set(e,i),u},xa=Symbol.for("@ipld/js-cid/CID");function Bn(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var ir={};nt(ir,{identity:()=>Sa});var Sa=jt({prefix:"\0",name:"identity",encode:r=>wn(r),decode:r=>bn(r)});var ar={};nt(ar,{base2:()=>Ta});var Ta=P({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var cr={};nt(cr,{base8:()=>Ca});var Ca=P({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ur={};nt(ur,{base10:()=>Ea});var Ea=At({prefix:"9",name:"base10",alphabet:"0123456789"});var fr={};nt(fr,{base16:()=>Aa,base16upper:()=>Ia});var Aa=P({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ia=P({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var lr={};nt(lr,{base36:()=>Ba,base36upper:()=>Ra});var Ba=At({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ra=At({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var hr={};nt(hr,{base64:()=>pr,base64pad:()=>Ma,base64url:()=>Da,base64urlpad:()=>ka});var pr=P({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ma=P({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Da=P({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ka=P({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var dr={};nt(dr,{base256emoji:()=>Na});var Rn=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}"),Pa=Rn.reduce((r,t,e)=>(r[e]=t,r),[]),Oa=Rn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function _a(r){return r.reduce((t,e)=>(t+=Pa[e],t),"")}function Fa(r){let t=[];for(let e of r){let n=Oa[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Na=jt({prefix:"\u{1F680}",name:"base256emoji",encode:_a,decode:Fa});var wr={};nt(wr,{sha256:()=>La,sha512:()=>Ua});var br=j(yt("crypto"),1);var gr=({name:r,code:t,encode:e})=>new mr(r,t,e),mr=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Ot(this.code,e):e.then(n=>Ot(this.code,n))}else throw Error("Unknown type, must be binary type")}};var La=gr({name:"sha2-256",code:18,encode:r=>ct(br.default.createHash("sha256").update(r).digest())}),Ua=gr({name:"sha2-512",code:19,encode:r=>ct(br.default.createHash("sha512").update(r).digest())});var yr={};nt(yr,{identity:()=>ja});var Dn=0,$a="identity",kn=ct,Va=r=>Ot(Dn,kn(r)),ja={code:Dn,name:$a,encode:kn,digest:Va};var uf=new TextEncoder,ff=new TextDecoder;var fe={...ir,...ar,...cr,...ur,...fr,...sr,...lr,...rr,...hr,...dr},mf={...wr,...yr};function Zt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function ye(r=0){return globalThis.Buffer?.allocUnsafe!=null?Zt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function On(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Pn=On("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),vr=On("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=ye(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Ga={utf8:Pn,"utf-8":Pn,hex:fe.base16,latin1:vr,ascii:vr,binary:vr,...fe},ve=Ga;function K(r,t="utf8"){let e=ve[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Pr=j(xe(),1);function vt(r,t){t==null&&(t=r.reduce((i,u)=>i+u.length,0));let e=ye(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return Zt(e)}var Wt=j(xe(),1);var Se=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,i){return this.readAtomically(()=>{let u=0,f=0,d=this.peekChar();if(d===void 0)return;let g=d==="0",A=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let y=this.readChar();if(y===void 0)return;let x=Number.parseInt(y,t);if(!Number.isNaN(x))return x});if(l===void 0)break;if(u*=t,u+=l,u>A||(f+=1,e!==void 0&&f>e))return}if(f!==0)return!n&&g&&f>1?void 0:u})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let i=n*2;if(n<e.length-3){let f=this.readSeparator(":",n,()=>this.readIPv4Addr());if(f!==void 0)return e[i]=f[0],e[i+1]=f[1],e[i+2]=f[2],e[i+3]=f[3],[i+4,!0]}let u=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(u===void 0)return[i,!1];e[i]=u>>8,e[i+1]=u&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,i]=t(e);if(n===16)return e;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let u=new Uint8Array(14),f=16-(n+2),[d]=t(u.subarray(0,f));return e.set(u.subarray(0,d),16-d),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Of=new Se;var jf=parseInt("0xFFFF",16),zf=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Tr(r,t="utf8"){let e=ve[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Zt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}var gt=j(xe(),1);var It=yt("node:net");function Te(r){return!!(0,It.isIP)(r)}var Hn=It.isIPv4,fc=It.isIPv6,Cr=function(r){let t=0;if(r=r.toString().trim(),Hn(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(fc(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let u=Hn(e[n]),f;u&&(f=Cr(e[n]),e[n]=K(f.slice(0,2),"base16")),f!=null&&++n<8&&e.splice(n,0,K(f.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let u=[n,1];for(n=9-e.length;n>0;n--)u.push("0");e.splice.apply(e,u)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let u=parseInt(e[n],16);i[t++]=u>>8&255,i[t++]=u&255}return i}throw new Error("invalid ip address")},Zn=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let i=[];for(let u=0;u<e;u++)i.push(r[t+u]);return i.join(".")}if(e===16){let i=[];for(let u=0;u<e;u+=2)i.push(n.getUint16(t+u).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var le={},Er={},pc=[[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"]];pc.forEach(r=>{let t=hc(...r);Er[t.code]=t,le[t.name]=t});function hc(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:!!n,path:!!i}}function R(r){if(typeof r=="number"){if(Er[r]!=null)return Er[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(le[r]!=null)return le[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Ml=R("ip4"),Dl=R("ip6"),kl=R("ipcidr");function Qn(r,t){switch(R(r).code){case 4:case 41:return mc(t);case 42:return Jn(t);case 6:case 273:case 33:case 132:return ts(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Jn(t);case 421:return yc(t);case 444:return Yn(t);case 445:return Yn(t);case 466:return wc(t);default:return K(t,"base16")}}function Kn(r,t){switch(R(r).code){case 4:return Wn(t);case 41:return Wn(t);case 42:return Xn(t);case 6:case 273:case 33:case 132:return Ir(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Xn(t);case 421:return gc(t);case 444:return vc(t);case 445:return xc(t);case 466:return bc(t);default:return Tr(t,"base16")}}var Ar=Object.values(fe).map(r=>r.decoder),dc=function(){let r=Ar[0].or(Ar[1]);return Ar.slice(2).forEach(t=>r=r.or(t)),r}();function Wn(r){if(!Te(r))throw new Error("invalid ip address");return Cr(r)}function mc(r){let t=Zn(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Te(t))throw new Error("invalid ip address");return t}function Ir(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function ts(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Xn(r){let t=Tr(r),e=Uint8Array.from(gt.default.encode(t.length));return vt([e,t],e.length+t.length)}function Jn(r){let t=gt.default.decode(r);if(r=r.slice(gt.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return K(r)}function gc(r){let t;r[0]==="Q"||r[0]==="1"?t=we(z.decode(`z${r}`)).bytes:t=D.parse(r).multihash.bytes;let e=Uint8Array.from(gt.default.encode(t.length));return vt([e,t],e.length+t.length)}function bc(r){let t=dc.decode(r),e=Uint8Array.from(gt.default.encode(t.length));return vt([e,t],e.length+t.length)}function wc(r){let t=gt.default.decode(r),e=r.slice(gt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+K(e,"base64url")}function yc(r){let t=gt.default.decode(r),e=r.slice(gt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return K(e,"base58btc")}function vc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=ht.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ir(n);return vt([e,i],e.length+i.length)}function xc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=ht.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ir(n);return vt([e,i],e.length+i.length)}function Yn(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=K(t,"base32"),i=ts(e);return`${n}:${i}`}function Sc(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],u=R(i);if(u.size===0){t.push([i]);continue}if(n++,n>=e.length)throw rs("invalid address: "+r);if(u.path===!0){t.push([i,kr(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function Tc(r){let t=[];return r.map(e=>{let n=Ae(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),kr(t.join("/"))}function Cc(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=Ae(t);return t.length>1?[e.code,Kn(e.code,t[1])]:[e.code]})}function Br(r){return r.map(t=>{let e=Ae(t);return t[1]!=null?[e.code,Qn(e.code,t[1])]:[e.code]})}function Rr(r){return Ee(vt(r.map(t=>{let e=Ae(t),n=Uint8Array.from(Wt.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=vt([n,t[1]])),n})))}function Mr(r,t){return r.size>0?r.size/8:r.size===0?0:Wt.default.decode(t)+(Wt.default.decode.bytes??0)}function Ce(r){let t=[],e=0;for(;e<r.length;){let n=Wt.default.decode(r,e),i=Wt.default.decode.bytes??0,u=R(n),f=Mr(u,r.slice(e+i));if(f===0){t.push([n]),e+=i;continue}let d=r.slice(e+i,e+i+f);if(e+=f+i,e>r.length)throw rs("Invalid address Uint8Array: "+K(r,"base16"));t.push([n,d])}return t}function Dr(r){let t=Ce(r),e=Br(t);return Tc(e)}function Ec(r){r=kr(r);let t=Sc(r),e=Cc(t);return Rr(e)}function es(r){return Ec(r)}function Ee(r){let t=Ac(r);if(t!=null)throw t;return Uint8Array.from(r)}function Ac(r){try{Ce(r)}catch(t){return t}}function kr(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function rs(r){return new Error("Error parsing address: "+r)}function Ae(r){return R(r[0])}var Bc=Symbol.for("nodejs.util.inspect.custom"),Rc=[R("dns").code,R("dns4").code,R("dns6").code,R("dnsaddr").code],Mc=new Map,ns=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Dc(r){return!!r?.[ns]}var xt=class{bytes;#t;#r;#n;#e;[ns]=!0;constructor(t){if(t==null&&(t=""),t instanceof Uint8Array)this.bytes=Ee(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=es(t)}else if(Dc(t))this.bytes=Ee(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#t==null&&(this.#t=Dr(this.bytes)),this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,i,u="",f=R("tcp"),d=R("udp"),g=R("ip4"),A=R("ip6"),l=R("dns6"),y=R("ip6zone");for(let[S,m]of this.stringTuples())S===y.code&&(u=`%${m??""}`),Rc.includes(S)&&(e=f.name,i=443,n=`${m??""}${u}`,t=S===l.code?6:4),(S===f.code||S===d.code)&&(e=R(S).name,i=parseInt(m??"")),(S===g.code||S===A.code)&&(e=R(S).name,n=`${m??""}${u}`,t=S===A.code?6:4);if(t==null||e==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},R(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=Pr.default.decode(e,n),u=Pr.default.decode.bytes??0,f=R(i),d=Mr(f,e.slice(n+u));n+=d+u,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return this.#r==null&&(this.#r=Ce(this.bytes)),this.#r}stringTuples(){return this.#n==null&&(this.#n=Br(this.tuples())),this.#n}encapsulate(t){return t=new xt(t),new xt(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),i=n.lastIndexOf(e);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new xt(n.slice(0,i))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new xt(Rr(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===le.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?K(z.decode(`z${n}`),"base58btc"):K(D.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#e===void 0)try{this.#e=this.stringTuples().filter(t=>R(t[0]).path===!0)[0][1],this.#e==null&&(this.#e=null)}catch{this.#e=null}return this.#e}equals(t){return Bn(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(u=>u.resolvable);if(e==null)return[this];let n=Mc.get(e.name);if(n==null)throw new Q(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(u=>new xt(u))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[Bc](){return`Multiaddr(${Dr(this.bytes)})`}};function bt(r){return new xt(r)}var kc=w("dns4"),Pc=w("dns6"),Oc=w("dnsaddr"),Ft=F(w("dns"),Oc,kc,Pc),Re=F(w("ip4"),w("ip6")),Rt=F(T(Re,w("tcp")),T(Ft,w("tcp"))),Me=T(Re,w("udp")),_c=T(Me,w("utp")),Fc=T(Me,w("quic")),Nc=T(Me,w("quic-v1")),Or=F(T(Rt,w("ws")),T(Ft,w("ws"))),Ie=F(T(Or,w("p2p")),Or),_r=F(T(Rt,w("wss")),T(Ft,w("wss")),T(Rt,w("tls"),w("ws")),T(Ft,w("tls"),w("ws"))),Be=F(T(_r,w("p2p")),_r),Fr=F(T(Rt,w("http")),T(Re,w("http")),T(Ft,w("http"))),Nr=F(T(Rt,w("https")),T(Re,w("https")),T(Ft,w("https"))),ss=T(Me,w("webrtc-direct"),w("certhash")),as=F(T(ss,w("p2p")),ss),os=T(Nc,w("webtransport"),w("certhash"),w("certhash")),cs=F(T(os,w("p2p")),os),us=F(T(Ie,w("p2p-webrtc-star"),w("p2p")),T(Be,w("p2p-webrtc-star"),w("p2p")),T(Ie,w("p2p-webrtc-star")),T(Be,w("p2p-webrtc-star"))),Ql=F(T(Ie,w("p2p-websocket-star"),w("p2p")),T(Be,w("p2p-websocket-star"),w("p2p")),T(Ie,w("p2p-websocket-star")),T(Be,w("p2p-websocket-star"))),fs=F(T(Fr,w("p2p-webrtc-direct"),w("p2p")),T(Nr,w("p2p-webrtc-direct"),w("p2p")),T(Fr,w("p2p-webrtc-direct")),T(Nr,w("p2p-webrtc-direct"))),Nt=F(Or,_r,Fr,Nr,us,fs,Rt,_c,Fc,Ft,as,cs),Kl=F(T(Nt,w("p2p-stardust"),w("p2p")),T(Nt,w("p2p-stardust"))),Bt=F(T(Nt,w("p2p")),us,fs,as,cs,w("p2p")),is=F(T(Bt,w("p2p-circuit"),Bt),T(Bt,w("p2p-circuit")),T(w("p2p-circuit"),Bt),T(Nt,w("p2p-circuit")),T(w("p2p-circuit"),Nt),w("p2p-circuit")),ls=()=>F(T(is,ls),is),_t=ls(),tp=F(T(_t,Bt,_t),T(Bt,_t),T(_t,Bt),_t,Bt);var ep=F(T(_t,w("webrtc"),w("p2p")),T(_t,w("webrtc")),T(Nt,w("webrtc"),w("p2p")),T(Nt,w("webrtc")),w("webrtc"));function ps(r){function t(e){let n;try{n=bt(e)}catch{return!1}let i=r(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function T(...r){function t(e){if(e.length<r.length)return null;let n=e;return r.some(i=>(n=typeof i=="function"?i().partialMatch(e):i.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:ps(t),partialMatch:t}}function F(...r){function t(n){let i=null;return r.some(u=>{let f=typeof u=="function"?u().partialMatch(n):u.partialMatch(n);return f!=null?(i=f,!0):!1}),i}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:ps(t),partialMatch:t}}function w(r){let t=r;function e(i){let u;try{u=bt(i)}catch{return!1}let f=u.protoNames();return f.length===1&&f[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:n}}var ot=j(Ts(),1);ot.default.formatters.b=r=>r==null?"undefined":z.baseEncode(r);ot.default.formatters.t=r=>r==null?"undefined":ht.baseEncode(r);ot.default.formatters.m=r=>r==null?"undefined":pr.baseEncode(r);ot.default.formatters.p=r=>r==null?"undefined":r.toString();ot.default.formatters.c=r=>r==null?"undefined":r.toString();ot.default.formatters.k=r=>r==null?"undefined":r.toString();ot.default.formatters.a=r=>r==null?"undefined":r.toString();function cu(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function Mt(r){let t=cu(`${r}:trace`);return ot.default.enabled(`${r}:trace`)&&ot.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,ot.default)(`${r}:trace`)),Object.assign((0,ot.default)(r),{error:(0,ot.default)(`${r}:error`),trace:t})}var Hs=j(Ds(),1);function Fe(r){return this.subnetMask<r.subnetMask?!1:this.mask(r.subnetMask)===r.mask()}function Ne(r){return function(){return this.addressMinusSuffix!==this.correctForm()?!1:this.subnetMask===r&&!this.parsedSubnet?!0:this.parsedSubnet===String(this.subnetMask)}}var te=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g,zr=/\/\d{1,2}$/;var G=class extends Error{constructor(t,e){super(t),this.name="AddressError",e!==null&&(this.parseMessage=e)}};var ee=j(qr(),1),Ut=j(pe(),1),k=class{constructor(t){this.groups=4,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=Ne(32),this.isInSubnet=Fe,this.address=t;let e=zr.exec(t);if(e){if(this.parsedSubnet=e[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>32)throw new G("Invalid subnet mask.");t=t.replace(zr,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new k(t),!0}catch{return!1}}parse(t){let e=t.split(".");if(!t.match(te))throw new G("Invalid IPv4 address.");return e}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let e=t.replace(/:/g,"").padStart(8,"0"),n=[],i;for(i=0;i<8;i+=2){let u=e.slice(i,i+2);n.push(parseInt(u,16))}return new k(n.join("."))}static fromInteger(t){return k.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new k(n)}toHex(){return this.parsedAddress.map(t=>(0,Ut.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],e;for(e=0;e<4;e+=2){let n=(0,Ut.sprintf)("%02x%02x",parseInt(this.parsedAddress[e],10),parseInt(this.parsedAddress[e+1],10));t.push((0,Ut.sprintf)("%x",parseInt(n,16)))}return t.join(":")}bigInteger(){return new ee.BigInteger(this.parsedAddress.map(t=>(0,Ut.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new ee.BigInteger(this.mask()+"0".repeat(32-this.subnetMask),2)}startAddress(){return k.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new ee.BigInteger("1");return k.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new ee.BigInteger(this.mask()+"1".repeat(32-this.subnetMask),2)}endAddress(){return k.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new ee.BigInteger("1");return k.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return k.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,e){return this.binaryZeroPad().slice(t,e)}reverseForm(t){t||(t={});let e=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?e:(0,Ut.sprintf)("%s.in-addr.arpa.",e)}isMulticast(){return this.isInSubnet(new k("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(32,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(te,(0,Ut.sprintf)('<span class="hover-group group-v4 group-6">%s</span>.<span class="hover-group group-v4 group-7">%s</span>',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};var Fs={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"},Gr={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"},Hr=/([^0-9a-f:/%])/gi,Zr=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,Wr=/\/\d{1,3}(?=%|$)/,Xr=/%.*$/,Ns=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/),Ls=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/);var $s=j(pe(),1);function hu(r){return r.replace(/^(0+)/,'<span class="zero">$1</span>')}function $e(r,t=0){return r.split(":").map((n,i)=>/group-v4/.test(n)?n:(0,$s.sprintf)('<span class="hover-group group-%d">%s</span>',i+t,hu(n)))}var Vt=j(pe(),1);function Yr(r){return(0,Vt.sprintf)("(%s)",r.join("|"))}function Jr(r){return r.length<4?(0,Vt.sprintf)("0{0,%d}%s",4-r.length,r):r}var Qr="[^A-Fa-f0-9:]";function Ve(r){let t=[];r.forEach((n,i)=>{parseInt(n,16)===0&&t.push(i)});let e=t.map(n=>r.map((i,u)=>{if(u===n){let f=u===0||u===8-1?":":"";return Yr([Jr(i),f])}return Jr(i)}).join(":"));return e.push(r.map(Jr).join(":")),Yr(e)}function Kr(r,t,e){let n=t?"":":",i=e?"":":",u=[];!t&&!e&&u.push("::"),t&&e&&u.push(""),(e&&!t||!e&&t)&&u.push(":"),u.push((0,Vt.sprintf)("%s(:0{1,4}){1,%d}",n,r-1)),u.push((0,Vt.sprintf)("(0{1,4}:){1,%d}%s",r-1,i)),u.push((0,Vt.sprintf)("(0{1,4}:){%d}0{1,4}",r-1));for(let f=1;f<r-1;f++)for(let d=1;d<r-f;d++)u.push((0,Vt.sprintf)("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}",d,r-d-f-1));return Yr(u)}var H=j(qr(),1),Z=j(pe(),1);function je(r){if(!r)throw new Error("Assertion failed.")}function du(r){let t=/(\d+)(\d{3})/;for(;t.test(r);)r=r.replace(t,"$1,$2");return r}function mu(r){return r=r.replace(/^(0{1,})([1-9]+)$/,'<span class="parse-error">$1</span>$2'),r=r.replace(/^(0{1,})(0)$/,'<span class="parse-error">$1</span>$2'),r}function gu(r,t){let e=[],n=[],i;for(i=0;i<r.length;i++)i<t[0]?e.push(r[i]):i>t[1]&&n.push(r[i]);return e.concat(["compact"]).concat(n)}function js(r){return(0,Z.sprintf)("%04x",parseInt(r,16))}function zs(r){return r&255}var O=class{constructor(t,e){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=Fe,this.isCorrect=Ne(128),e===void 0?this.groups=8:this.groups=e,this.address=t;let n=Wr.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>128)throw new G("Invalid subnet mask.");t=t.replace(Wr,"")}else if(/\//.test(t))throw new G("Invalid subnet mask.");let i=Xr.exec(t);i&&(this.zone=i[0],t=t.replace(Xr,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new O(t),!0}catch{return!1}}static fromBigInteger(t){let e=t.toString(16).padStart(32,"0"),n=[],i;for(i=0;i<8;i++)n.push(e.slice(i*4,(i+1)*4));return new O(n.join(":"))}static fromURL(t){let e,n=null,i;if(t.indexOf("[")!==-1&&t.indexOf("]:")!==-1){if(i=Ls.exec(t),i===null)return{error:"failed to parse address with port",address:null,port:null};e=i[1],n=i[2]}else if(t.indexOf("/")!==-1){if(t=t.replace(/^[a-z0-9]+:\/\//,""),i=Ns.exec(t),i===null)return{error:"failed to parse address from URL",address:null,port:null};e=i[1]}else e=t;return n?(n=parseInt(n,10),(n<0||n>65536)&&(n=null)):n=null,{address:new O(e),port:n}}static fromAddress4(t){let e=new k(t),n=128-(32-e.subnetMask);return new O(`::ffff:${e.correctForm()}/${n}`)}static fromArpa(t){let e=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(e.length!==63)throw new G("Invalid 'ip6.arpa' form.");let i=e.split(".").reverse();for(let u=n;u>0;u--){let f=u*4;i.splice(f,0,":")}return e=i.join(""),new O(e)}microsoftTranscription(){return(0,Z.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let e=128-this.subnetMask,n=Math.abs(t-128),i=e-n;return i<0?"0":du(new H.BigInteger("2",10).pow(i).toString(10))}_startAddress(){return new H.BigInteger(this.mask()+"0".repeat(128-this.subnetMask),2)}startAddress(){return O.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new H.BigInteger("1");return O.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new H.BigInteger(this.mask()+"1".repeat(128-this.subnetMask),2)}endAddress(){return O.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new H.BigInteger("1");return O.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=Fs[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(Gr))if(this.isInSubnet(new O(t)))return Gr[t];return"Global unicast"}getBits(t,e){return new H.BigInteger(this.getBitsBase2(t,e),2)}getBitsBase2(t,e){return this.binaryZeroPad().slice(t,e)}getBitsBase16(t,e){let n=e-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,e).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,128)}reverseForm(t){t||(t={});let e=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,e).reverse().join(".");return e>0?t.omitSuffix?n:(0,Z.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,e=[],n=0,i=[];for(t=0;t<this.parsedAddress.length;t++){let d=parseInt(this.parsedAddress[t],16);d===0&&n++,d!==0&&n>0&&(n>1&&i.push([t-n,t-1]),n=0)}n>1&&i.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let u=i.map(d=>d[1]-d[0]+1);if(i.length>0){let d=u.indexOf(Math.max(...u));e=gu(this.parsedAddress,i[d])}else e=this.parsedAddress;for(t=0;t<e.length;t++)e[t]!=="compact"&&(e[t]=parseInt(e[t],16).toString(16));let f=e.join(":");return f=f.replace(/^compact$/,"::"),f=f.replace(/^compact|compact$/,":"),f=f.replace(/compact/,""),f}binaryZeroPad(){return this.bigInteger().toString(2).padStart(128,"0")}parse4in6(t){let e=t.split(":"),i=e.slice(-1)[0].match(te);if(i){this.parsedAddress4=i[0],this.address4=new k(this.parsedAddress4);for(let u=0;u<this.address4.groups;u++)if(/^0[0-9]+/.test(this.address4.parsedAddress[u]))throw new G("IPv4 addresses can't have leading zeroes.",t.replace(te,this.address4.parsedAddress.map(mu).join(".")));this.v4=!0,e[e.length-1]=this.address4.toGroup6(),t=e.join(":")}return t}parse(t){t=this.parse4in6(t);let e=t.match(Hr);if(e)throw new G((0,Z.sprintf)("Bad character%s detected in address: %s",e.length>1?"s":"",e.join("")),t.replace(Hr,'<span class="parse-error">$1</span>'));let n=t.match(Zr);if(n)throw new G((0,Z.sprintf)("Address failed regex: %s",n.join("")),t.replace(Zr,'<span class="parse-error">$1</span>'));let i=[],u=t.split("::");if(u.length===2){let f=u[0].split(":"),d=u[1].split(":");f.length===1&&f[0]===""&&(f=[]),d.length===1&&d[0]===""&&(d=[]);let g=this.groups-(f.length+d.length);if(!g)throw new G("Error parsing groups");this.elidedGroups=g,this.elisionBegin=f.length,this.elisionEnd=f.length+this.elidedGroups,i=i.concat(f);for(let A=0;A<g;A++)i.push("0");i=i.concat(d)}else if(u.length===1)i=t.split(":"),this.elidedGroups=0;else throw new G("Too many :: groups found");if(i=i.map(f=>(0,Z.sprintf)("%x",parseInt(f,16))),i.length!==this.groups)throw new G("Incorrect number of groups found");return i}canonicalForm(){return this.parsedAddress.map(js).join(":")}decimal(){return this.parsedAddress.map(t=>(0,Z.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new H.BigInteger(this.parsedAddress.map(js).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return k.fromHex(new H.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new O(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),i="";return/:$/.test(n)||(i=":"),n+i+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),e=this.getBits(80,96).xor(new H.BigInteger("ffff",16)).toString(),n=k.fromHex(this.getBitsBase16(32,64)),i=k.fromHex(this.getBits(96,128).xor(new H.BigInteger("ffffffff",16)).toString(16)),u=this.getBits(64,80),f=this.getBitsBase2(64,80),d=u.testBit(15),g=u.testBit(14),A=u.testBit(8),l=u.testBit(9),y=new H.BigInteger(f.slice(2,6)+f.slice(8,16),2).toString(10);return{prefix:(0,Z.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:i.address,flags:f,coneNat:d,microsoft:{reserved:g,universalLocal:l,groupIndividual:A,nonce:y},udpPort:e}}inspect6to4(){let t=this.getBitsBase16(0,16),e=k.fromHex(this.getBitsBase16(16,48));return{prefix:(0,Z.sprintf)("%s",t.slice(0,4)),gateway:e.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new O(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(zs)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(zs))}static fromUnsignedByteArray(t){let e=new H.BigInteger("256",10),n=new H.BigInteger("0",10),i=new H.BigInteger("1",10);for(let u=t.length-1;u>=0;u--)n=n.add(i.multiply(new H.BigInteger(t[u].toString(10),10))),i=i.multiply(e);return O.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new O("2001::/32"))}is6to4(){return this.isInSubnet(new O("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,Z.sprintf)(":%s",t),(0,Z.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let e=this.correctForm;return t.v4&&(e=this.to4in6),t.className?(0,Z.sprintf)('<a href="%1$s%2$s" class="%3$s">%2$s</a>',t.prefix,e.call(this),t.className):(0,Z.sprintf)('<a href="%1$s%2$s">%2$s</a>',t.prefix,e.call(this))}group(){if(this.elidedGroups===0)return $e(this.address).join(":");je(typeof this.elidedGroups=="number"),je(typeof this.elisionBegin=="number");let t=[],[e,n]=this.address.split("::");e.length?t.push(...$e(e)):t.push("");let i=["hover-group"];for(let u=this.elisionBegin;u<this.elisionBegin+this.elidedGroups;u++)i.push((0,Z.sprintf)("group-%d",u));return t.push((0,Z.sprintf)('<span class="%s"></span>',i.join(" "))),n.length?t.push(...$e(n,this.elisionEnd)):t.push(""),this.is4()&&(je(this.address4 instanceof k),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let e=[],n=new O(this.correctForm());if(n.elidedGroups===0)e.push(Ve(n.parsedAddress));else if(n.elidedGroups===8)e.push(Kr(8));else{let i=n.address.split("::");i[0].length&&e.push(Ve(i[0].split(":"))),je(typeof n.elidedGroups=="number"),e.push(Kr(n.elidedGroups,i[0].length!==0,i[1].length!==0)),i[1].length&&e.push(Ve(i[1].split(":"))),e=[e.join(":")]}return t||(e=["(?=^|",Qr,"|[^\\w\\:])(",...e,")(?=[^\\w\\:]|",Qr,"|$)"]),e.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};var bu=Mt("libp2p:ip-port-to-multiaddr"),tn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function qs(r,t){if(typeof r!="string")throw new Q(`invalid ip provided: ${r}`,tn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new Q(`invalid port provided: ${t}`,tn.ERR_INVALID_PORT_PARAMETER);try{return new k(r),bt(`/ip4/${r}/tcp/${t}`)}catch{}try{let e=new O(r);return e.is4()?bt(`/ip4/${e.to4().correctForm()}/tcp/${t}`):bt(`/ip6/${r}/tcp/${t}`)}catch{let n=`invalid ip:port for creating a multiaddr: ${r}:${t}`;throw bu.error(n),new Q(n,tn.ERR_INVALID_IP)}}var en=j(yt("os"),1),Gs=j(yt("path"),1),wu={ip4:"IPv4",ip6:"IPv6"};function ne(r,t={}){let e=r.getPath();return e!=null?en.default.platform()==="win32"?{path:Gs.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...r.toOptions(),...t}}function rn(r,t,e){let n=i=>bt(`/${r}/${i}/tcp/${e}`);return(yu(t)?xu(wu[r]):[t]).map(n)}function yu(r){return["0.0.0.0","::"].includes(r)}var vu=en.default.networkInterfaces();function xu(r){let t=[];for(let[,e]of Object.entries(vu))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var mt=Mt("libp2p:tcp:socket"),ze=(r,t)=>{let e=t.metrics,n=t.metricPrefix??"",i=t.socketInactivityTimeout??3e5,u=t.socketCloseTimeout??2e3;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let f;if(t.remoteAddr!=null)f=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new Q("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");f=qs(r.remoteAddress,r.remotePort)}let d=ne(f),g=d.path??`${d.host??""}:${d.port??""}`,{sink:A,source:l}=Hs.default.duplex(r);r.setTimeout(i,()=>{mt("%s socket read timeout",g),e?.increment({[`${n}timeout`]:!0});let x;r.readable&&(x=new Q("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(x)}),r.once("close",()=>{mt("%s socket close",g),e?.increment({[`${n}close`]:!0}),y.timeline.close==null&&(y.timeline.close=Date.now())}),r.once("end",()=>{mt("%s socket end",g),e?.increment({[`${n}end`]:!0})});let y={async sink(x){try{await A(x)}catch(S){S.type!=="aborted"&&mt(S)}r.end()},source:l,remoteAddr:f,timeline:{open:Date.now()},async close(){if(r.destroyed){mt("%s socket was already destroyed when trying to close",g);return}mt("%s closing socket",g),await new Promise((x,S)=>{let m=Date.now(),C;r.once("close",()=>{mt("%s socket closed",g),C!==void 0&&clearTimeout(C),x()}),r.once("error",B=>{mt("%s socket error",g,B),y.timeline.close==null&&(y.timeline.close=Date.now()),r.destroyed&&C!==void 0&&clearTimeout(C),S(B)}),r.setTimeout(u),r.end(),r.writableLength>0?(C=setTimeout(()=>{r.destroyed?(mt("%s is already destroyed",g),x()):(mt("%s socket close timeout after %dms, destroying it manually",g,Date.now()-m),r.destroy(new Q("Socket close timeout","ERR_SOCKET_CLOSE_TIMEOUT")))},u).unref(),r.once("drain",()=>{mt("%s socket drained",g),r.destroy()})):r.destroy()})}};return y};var Zs=j(yt("net"),1);var qe=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:u})=>u!==e),this.#t.set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new se(t,e))}},nn=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},se=globalThis.CustomEvent??nn;var it=Mt("libp2p:tcp:listener");async function sn(r){try{await r.close()}catch(t){it.error("an error occurred closing the connection",t)}}var Cu=1,Eu=0,Ge=class extends qe{constructor(t){if(super(),this.context=t,this.connections=new Set,this.status={started:!1},t.keepAlive=t.keepAlive??!0,this.addr="unknown",this.server=Zs.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw Error("closeAbove must be >= listenBelow");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.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:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:Cu})}this.dispatchEvent(new se("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new se("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:Eu}),this.dispatchEvent(new se("close"))})}onSocket(t){t.on("error",n=>{it("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=ze(t,{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){it.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}it("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(n=>{it("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e),this.context.closeServerOnMaxConnections!=null&&this.connections.size<this.context.closeServerOnMaxConnections.listenBelow&&this.netListen().catch(i=>{it.error("error attempting to listen server once connection count under limit",i),this.context.closeServerOnMaxConnections?.onListenError?.(i)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.netClose(),this.dispatchEvent(new se("connection",{detail:n}))}).catch(async n=>{it.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await sn(e)}).catch(n=>{it.error("closing inbound connection failed",n)})}catch(n){it.error("inbound connection failed",n),sn(e).catch(i=>{it.error("closing inbound connection failed",i),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(!this.status.started)return[];let t=[],e=this.server.address(),{listeningAddr:n,peerId:i}=this.status;if(e==null)return[];if(typeof e=="string")t=[n];else try{n.toString().startsWith("/ip4")?t=t.concat(rn("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(rn("ip6",e.address,e.port)))}catch(u){it.error("could not turn %s:%s into multiaddr",e.address,e.port,u)}return t.map(u=>i!=null?u.encapsulate(`/p2p/${i}`):u)}async listen(t){if(this.status.started)throw Error("server is already listening");let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t,{backlog:i}=this.context;this.status={started:!0,listeningAddr:n,peerId:e,netConfig:ne(n,{backlog:i})},await this.netListen()}async close(){await Promise.all(Array.from(this.connections.values()).map(async t=>{await sn(t)})),this.netClose()}async netListen(){if(!this.status.started||this.server.listening)return;let t=this.status.netConfig;await new Promise((e,n)=>{this.server.once("error",n),this.server.listen(t,e)}),it("Listening on %s",this.server.address())}netClose(){!this.status.started||!this.server.listening||(it("Closing server on %s",this.server.address()),this.server.close())}};var Xs=Symbol.for("@libp2p/transport");var Ws;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Ws||(Ws={}));var Tt=Mt("libp2p:tcp"),an=class{constructor(t,e={}){this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}get[Xs](){return!0}get[Symbol.toStringTag](){return"@libp2p/tcp"}async dial(t,e){e.keepAlive=e.keepAlive??!0;let n=await this._connect(t,e);n.on("error",d=>{Tt("socket error",d)});let i=ze(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),u=()=>{i.close().catch(d=>{Tt.error("Error closing maConn after abort",d)})};e.signal?.addEventListener("abort",u,{once:!0}),Tt("new outbound connection %s",i.remoteAddr);let f=await e.upgrader.upgradeOutbound(i);if(Tt("outbound connection %s upgraded",i.remoteAddr),e.signal?.removeEventListener("abort",u),e.signal?.aborted===!0)throw f.close().catch(d=>{Tt.error("Error closing conn after abort",d)}),new Et;return f}async _connect(t,e){if(e.signal?.aborted===!0)throw new Et;return await new Promise((n,i)=>{let u=Date.now(),f=ne(t),d=f.path??`${f.host??""}:${f.port}`;Tt("dialing %j",f);let g=Js.default.connect(f),A=m=>{m.message=`connection error ${d}: ${m.message}`,this.metrics?.dialerEvents.increment({error:!0}),S(m)},l=()=>{Tt("connection timeout %s",d),this.metrics?.dialerEvents.increment({timeout:!0});let m=new Q(`connection timeout after ${Date.now()-u}ms`,"ERR_CONNECT_TIMEOUT");g.emit("error",m)},y=()=>{Tt("connection opened %j",f),this.metrics?.dialerEvents.increment({connect:!0}),S()},x=()=>{Tt("connection aborted %j",f),this.metrics?.dialerEvents.increment({abort:!0}),g.destroy(),S(new Et)},S=m=>{if(g.removeListener("error",A),g.removeListener("timeout",l),g.removeListener("connect",y),e.signal!=null&&e.signal.removeEventListener("abort",x),m!=null){i(m);return}n(g)};g.on("error",A),g.on("timeout",l),g.on("connect",y),e.signal!=null&&e.signal.addEventListener("abort",x)})}createListener(t){return new Ge({...t,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(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:Rt.matches(e.decapsulateCode(421)))}};function Bu(r={}){return(t={})=>new an(t,r)}return Li(Ru);})();
|
|
4
|
+
`+c),r.push(s+"m+"+Fe.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=wc()+t+" "+r[0]}function wc(){return W.inspectOpts.hideDate?"":new Date().toISOString()+" "}function yc(...r){return process.stderr.write(Ne.format(...r)+`
|
|
5
|
+
`)}function vc(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function xc(){return process.env.DEBUG}function Sc(r){r.inspectOpts={};let t=Object.keys(W.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=W.inspectOpts[t[e]]}Fe.exports=mr()(W);var{formatters:ds}=Fe.exports;ds.o=function(r){return this.inspectOpts.colors=this.useColors,Ne.inspect(r,this.inspectOpts).split(`
|
|
6
|
+
`).map(t=>t.trim()).join(" ")};ds.O=function(r){return this.inspectOpts.colors=this.useColors,Ne.inspect(r,this.inspectOpts)}});var bs=H((hl,gr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?gr.exports=fs():gr.exports=ms()});var io=H((Wh,oo)=>{oo.exports=tn;var so=128,xu=127,Su=~xu,Tu=Math.pow(2,31);function tn(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw tn.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=Tu;)t[e++]=r&255|so,r/=128;for(;r&Su;)t[e++]=r&255|so,r>>>=7;return t[e]=r|0,tn.bytes=e-n+1,t}});var fo=H((Qh,co)=>{co.exports=en;var Eu=128,ao=127;function en(r,n){var e=0,n=n||0,s=0,c=n,u,h=r.length;do{if(c>=h||s>49)throw en.bytes=0,new RangeError("Could not decode varint");u=r[c++],e+=s<28?(u&ao)<<s:(u&ao)*Math.pow(2,s),s+=7}while(u>=Eu);return en.bytes=c-n,e}});var po=H((Kh,uo)=>{var Cu=Math.pow(2,7),Au=Math.pow(2,14),Iu=Math.pow(2,21),Bu=Math.pow(2,28),Ru=Math.pow(2,35),Mu=Math.pow(2,42),Du=Math.pow(2,49),Ou=Math.pow(2,56),Pu=Math.pow(2,63);uo.exports=function(r){return r<Cu?1:r<Au?2:r<Iu?3:r<Bu?4:r<Ru?5:r<Mu?6:r<Du?7:r<Ou?8:r<Pu?9:10}});var je=H((Yh,lo)=>{lo.exports={encode:io(),decode:fo(),encodingLength:po()}});var Pn=H((rr,qo)=>{(function(){var r,t=0xdeadbeefcafe,e=(t&16777215)==15715070;function n(o,i,a){o!=null&&(typeof o=="number"?this.fromNumber(o,i,a):i==null&&typeof o!="string"?this.fromString(o,256):this.fromString(o,i))}function s(){return new n(null)}function c(o,i,a,f,d,b){for(;--b>=0;){var w=i*this[o++]+a[f]+d;d=Math.floor(w/67108864),a[f++]=w&67108863}return d}function u(o,i,a,f,d,b){for(var w=i&32767,S=i>>15;--b>=0;){var F=this[o]&32767,J=this[o++]>>15,ut=S*F+J*w;F=w*F+((ut&32767)<<15)+a[f]+(d&1073741823),d=(F>>>30)+(ut>>>15)+S*J+(d>>>30),a[f++]=F&1073741823}return d}function h(o,i,a,f,d,b){for(var w=i&16383,S=i>>14;--b>=0;){var F=this[o]&16383,J=this[o++]>>14,ut=S*F+J*w;F=w*F+((ut&16383)<<14)+a[f]+d,d=(F>>28)+(ut>>14)+S*J,a[f++]=F&268435455}return d}var m=typeof navigator<"u";m&&e&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=u,r=30):m&&e&&navigator.appName!="Netscape"?(n.prototype.am=c,r=26):(n.prototype.am=h,r=28),n.prototype.DB=r,n.prototype.DM=(1<<r)-1,n.prototype.DV=1<<r;var I=52;n.prototype.FV=Math.pow(2,I),n.prototype.F1=I-r,n.prototype.F2=2*r-I;var p="0123456789abcdefghijklmnopqrstuvwxyz",g=new Array,y,E;for(y="0".charCodeAt(0),E=0;E<=9;++E)g[y++]=E;for(y="a".charCodeAt(0),E=10;E<36;++E)g[y++]=E;for(y="A".charCodeAt(0),E=10;E<36;++E)g[y++]=E;function l(o){return p.charAt(o)}function v(o,i){var a=g[o.charCodeAt(i)];return a??-1}function B(o){for(var i=this.t-1;i>=0;--i)o[i]=this[i];o.t=this.t,o.s=this.s}function T(o){this.t=1,this.s=o<0?-1:0,o>0?this[0]=o:o<-1?this[0]=o+this.DV:this.t=0}function C(o){var i=s();return i.fromInt(o),i}function M(o,i){var a;if(i==16)a=4;else if(i==8)a=3;else if(i==256)a=8;else if(i==2)a=1;else if(i==32)a=5;else if(i==4)a=2;else{this.fromRadix(o,i);return}this.t=0,this.s=0;for(var f=o.length,d=!1,b=0;--f>=0;){var w=a==8?o[f]&255:v(o,f);if(w<0){o.charAt(f)=="-"&&(d=!0);continue}d=!1,b==0?this[this.t++]=w:b+a>this.DB?(this[this.t-1]|=(w&(1<<this.DB-b)-1)<<b,this[this.t++]=w>>this.DB-b):this[this.t-1]|=w<<b,b+=a,b>=this.DB&&(b-=this.DB)}a==8&&o[0]&128&&(this.s=-1,b>0&&(this[this.t-1]|=(1<<this.DB-b)-1<<b)),this.clamp(),d&&n.ZERO.subTo(this,this)}function R(){for(var o=this.s&this.DM;this.t>0&&this[this.t-1]==o;)--this.t}function O(o){if(this.s<0)return"-"+this.negate().toString(o);var i;if(o==16)i=4;else if(o==8)i=3;else if(o==2)i=1;else if(o==32)i=5;else if(o==4)i=2;else return this.toRadix(o);var a=(1<<i)-1,f,d=!1,b="",w=this.t,S=this.DB-w*this.DB%i;if(w-- >0)for(S<this.DB&&(f=this[w]>>S)>0&&(d=!0,b=l(f));w>=0;)S<i?(f=(this[w]&(1<<S)-1)<<i-S,f|=this[--w]>>(S+=this.DB-i)):(f=this[w]>>(S-=i)&a,S<=0&&(S+=this.DB,--w)),f>0&&(d=!0),d&&(b+=l(f));return d?b:"0"}function k(){var o=s();return n.ZERO.subTo(this,o),o}function D(){return this.s<0?this.negate():this}function P(o){var i=this.s-o.s;if(i!=0)return i;var a=this.t;if(i=a-o.t,i!=0)return this.s<0?-i:i;for(;--a>=0;)if((i=this[a]-o[a])!=0)return i;return 0}function j(o){var i=1,a;return(a=o>>>16)!=0&&(o=a,i+=16),(a=o>>8)!=0&&(o=a,i+=8),(a=o>>4)!=0&&(o=a,i+=4),(a=o>>2)!=0&&(o=a,i+=2),(a=o>>1)!=0&&(o=a,i+=1),i}function hi(){return this.t<=0?0:this.DB*(this.t-1)+j(this[this.t-1]^this.s&this.DM)}function di(o,i){var a;for(a=this.t-1;a>=0;--a)i[a+o]=this[a];for(a=o-1;a>=0;--a)i[a]=0;i.t=this.t+o,i.s=this.s}function mi(o,i){for(var a=o;a<this.t;++a)i[a-o]=this[a];i.t=Math.max(this.t-o,0),i.s=this.s}function bi(o,i){var a=o%this.DB,f=this.DB-a,d=(1<<f)-1,b=Math.floor(o/this.DB),w=this.s<<a&this.DM,S;for(S=this.t-1;S>=0;--S)i[S+b+1]=this[S]>>f|w,w=(this[S]&d)<<a;for(S=b-1;S>=0;--S)i[S]=0;i[b]=w,i.t=this.t+b+1,i.s=this.s,i.clamp()}function gi(o,i){i.s=this.s;var a=Math.floor(o/this.DB);if(a>=this.t){i.t=0;return}var f=o%this.DB,d=this.DB-f,b=(1<<f)-1;i[0]=this[a]>>f;for(var w=a+1;w<this.t;++w)i[w-a-1]|=(this[w]&b)<<d,i[w-a]=this[w]>>f;f>0&&(i[this.t-a-1]|=(this.s&b)<<d),i.t=this.t-a,i.clamp()}function wi(o,i){for(var a=0,f=0,d=Math.min(o.t,this.t);a<d;)f+=this[a]-o[a],i[a++]=f&this.DM,f>>=this.DB;if(o.t<this.t){for(f-=o.s;a<this.t;)f+=this[a],i[a++]=f&this.DM,f>>=this.DB;f+=this.s}else{for(f+=this.s;a<o.t;)f-=o[a],i[a++]=f&this.DM,f>>=this.DB;f-=o.s}i.s=f<0?-1:0,f<-1?i[a++]=this.DV+f:f>0&&(i[a++]=f),i.t=a,i.clamp()}function yi(o,i){var a=this.abs(),f=o.abs(),d=a.t;for(i.t=d+f.t;--d>=0;)i[d]=0;for(d=0;d<f.t;++d)i[d+a.t]=a.am(0,f[d],i,d,0,a.t);i.s=0,i.clamp(),this.s!=o.s&&n.ZERO.subTo(i,i)}function vi(o){for(var i=this.abs(),a=o.t=2*i.t;--a>=0;)o[a]=0;for(a=0;a<i.t-1;++a){var f=i.am(a,i[a],o,2*a,0,1);(o[a+i.t]+=i.am(a+1,2*i[a],o,2*a+1,f,i.t-a-1))>=i.DV&&(o[a+i.t]-=i.DV,o[a+i.t+1]=1)}o.t>0&&(o[o.t-1]+=i.am(a,i[a],o,2*a,0,1)),o.s=0,o.clamp()}function xi(o,i,a){var f=o.abs();if(!(f.t<=0)){var d=this.abs();if(d.t<f.t){i?.fromInt(0),a!=null&&this.copyTo(a);return}a==null&&(a=s());var b=s(),w=this.s,S=o.s,F=this.DB-j(f[f.t-1]);F>0?(f.lShiftTo(F,b),d.lShiftTo(F,a)):(f.copyTo(b),d.copyTo(a));var J=b.t,ut=b[J-1];if(ut!=0){var it=ut*(1<<this.F1)+(J>1?b[J-2]>>this.F2:0),Tt=this.FV/it,Re=(1<<this.F1)/it,mt=1<<this.F2,bt=a.t,Me=bt-J,Rt=i??s();for(b.dlShiftTo(Me,Rt),a.compareTo(Rt)>=0&&(a[a.t++]=1,a.subTo(Rt,a)),n.ONE.dlShiftTo(J,Rt),Rt.subTo(b,b);b.t<J;)b[b.t++]=0;for(;--Me>=0;){var dr=a[--bt]==ut?this.DM:Math.floor(a[bt]*Tt+(a[bt-1]+mt)*Re);if((a[bt]+=b.am(0,dr,a,Me,0,J))<dr)for(b.dlShiftTo(Me,Rt),a.subTo(Rt,a);a[bt]<--dr;)a.subTo(Rt,a)}i!=null&&(a.drShiftTo(J,i),w!=S&&n.ZERO.subTo(i,i)),a.t=J,a.clamp(),F>0&&a.rShiftTo(F,a),w<0&&n.ZERO.subTo(a,a)}}}function Si(o){var i=s();return this.abs().divRemTo(o,null,i),this.s<0&&i.compareTo(n.ZERO)>0&&o.subTo(i,i),i}function Ut(o){this.m=o}function Ti(o){return o.s<0||o.compareTo(this.m)>=0?o.mod(this.m):o}function Ei(o){return o}function Ci(o){o.divRemTo(this.m,null,o)}function Ai(o,i,a){o.multiplyTo(i,a),this.reduce(a)}function Ii(o,i){o.squareTo(i),this.reduce(i)}Ut.prototype.convert=Ti,Ut.prototype.revert=Ei,Ut.prototype.reduce=Ci,Ut.prototype.mulTo=Ai,Ut.prototype.sqrTo=Ii;function Bi(){if(this.t<1)return 0;var o=this[0];if(!(o&1))return 0;var i=o&3;return i=i*(2-(o&15)*i)&15,i=i*(2-(o&255)*i)&255,i=i*(2-((o&65535)*i&65535))&65535,i=i*(2-o*i%this.DV)%this.DV,i>0?this.DV-i:-i}function _t(o){this.m=o,this.mp=o.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<o.DB-15)-1,this.mt2=2*o.t}function Ri(o){var i=s();return o.abs().dlShiftTo(this.m.t,i),i.divRemTo(this.m,null,i),o.s<0&&i.compareTo(n.ZERO)>0&&this.m.subTo(i,i),i}function Mi(o){var i=s();return o.copyTo(i),this.reduce(i),i}function Di(o){for(;o.t<=this.mt2;)o[o.t++]=0;for(var i=0;i<this.m.t;++i){var a=o[i]&32767,f=a*this.mpl+((a*this.mph+(o[i]>>15)*this.mpl&this.um)<<15)&o.DM;for(a=i+this.m.t,o[a]+=this.m.am(0,f,o,i,0,this.m.t);o[a]>=o.DV;)o[a]-=o.DV,o[++a]++}o.clamp(),o.drShiftTo(this.m.t,o),o.compareTo(this.m)>=0&&o.subTo(this.m,o)}function Oi(o,i){o.squareTo(i),this.reduce(i)}function Pi(o,i,a){o.multiplyTo(i,a),this.reduce(a)}_t.prototype.convert=Ri,_t.prototype.revert=Mi,_t.prototype.reduce=Di,_t.prototype.mulTo=Pi,_t.prototype.sqrTo=Oi;function ki(){return(this.t>0?this[0]&1:this.s)==0}function Ni(o,i){if(o>4294967295||o<1)return n.ONE;var a=s(),f=s(),d=i.convert(this),b=j(o)-1;for(d.copyTo(a);--b>=0;)if(i.sqrTo(a,f),(o&1<<b)>0)i.mulTo(f,d,a);else{var w=a;a=f,f=w}return i.revert(a)}function Fi(o,i){var a;return o<256||i.isEven()?a=new Ut(i):a=new _t(i),this.exp(o,a)}n.prototype.copyTo=B,n.prototype.fromInt=T,n.prototype.fromString=M,n.prototype.clamp=R,n.prototype.dlShiftTo=di,n.prototype.drShiftTo=mi,n.prototype.lShiftTo=bi,n.prototype.rShiftTo=gi,n.prototype.subTo=wi,n.prototype.multiplyTo=yi,n.prototype.squareTo=vi,n.prototype.divRemTo=xi,n.prototype.invDigit=Bi,n.prototype.isEven=ki,n.prototype.exp=Ni,n.prototype.toString=O,n.prototype.negate=k,n.prototype.abs=D,n.prototype.compareTo=P,n.prototype.bitLength=hi,n.prototype.mod=Si,n.prototype.modPowInt=Fi,n.ZERO=C(0),n.ONE=C(1);function Ui(){var o=s();return this.copyTo(o),o}function _i(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function Li(){return this.t==0?this.s:this[0]<<24>>24}function $i(){return this.t==0?this.s:this[0]<<16>>16}function zi(o){return Math.floor(Math.LN2*this.DB/Math.log(o))}function Vi(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function ji(o){if(o==null&&(o=10),this.signum()==0||o<2||o>36)return"0";var i=this.chunkSize(o),a=Math.pow(o,i),f=C(a),d=s(),b=s(),w="";for(this.divRemTo(f,d,b);d.signum()>0;)w=(a+b.intValue()).toString(o).substr(1)+w,d.divRemTo(f,d,b);return b.intValue().toString(o)+w}function qi(o,i){this.fromInt(0),i==null&&(i=10);for(var a=this.chunkSize(i),f=Math.pow(i,a),d=!1,b=0,w=0,S=0;S<o.length;++S){var F=v(o,S);if(F<0){o.charAt(S)=="-"&&this.signum()==0&&(d=!0);continue}w=i*w+F,++b>=a&&(this.dMultiply(f),this.dAddOffset(w,0),b=0,w=0)}b>0&&(this.dMultiply(Math.pow(i,b)),this.dAddOffset(w,0)),d&&n.ZERO.subTo(this,this)}function Gi(o,i,a){if(typeof i=="number")if(o<2)this.fromInt(1);else for(this.fromNumber(o,a),this.testBit(o-1)||this.bitwiseTo(n.ONE.shiftLeft(o-1),ur,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>o&&this.subTo(n.ONE.shiftLeft(o-1),this);else{var f=new Array,d=o&7;f.length=(o>>3)+1,i.nextBytes(f),d>0?f[0]&=(1<<d)-1:f[0]=0,this.fromString(f,256)}}function Hi(){var o=this.t,i=new Array;i[0]=this.s;var a=this.DB-o*this.DB%8,f,d=0;if(o-- >0)for(a<this.DB&&(f=this[o]>>a)!=(this.s&this.DM)>>a&&(i[d++]=f|this.s<<this.DB-a);o>=0;)a<8?(f=(this[o]&(1<<a)-1)<<8-a,f|=this[--o]>>(a+=this.DB-8)):(f=this[o]>>(a-=8)&255,a<=0&&(a+=this.DB,--o)),f&128&&(f|=-256),d==0&&(this.s&128)!=(f&128)&&++d,(d>0||f!=this.s)&&(i[d++]=f);return i}function Zi(o){return this.compareTo(o)==0}function Ji(o){return this.compareTo(o)<0?this:o}function Xi(o){return this.compareTo(o)>0?this:o}function Wi(o,i,a){var f,d,b=Math.min(o.t,this.t);for(f=0;f<b;++f)a[f]=i(this[f],o[f]);if(o.t<this.t){for(d=o.s&this.DM,f=b;f<this.t;++f)a[f]=i(this[f],d);a.t=this.t}else{for(d=this.s&this.DM,f=b;f<o.t;++f)a[f]=i(d,o[f]);a.t=o.t}a.s=i(this.s,o.s),a.clamp()}function Qi(o,i){return o&i}function Ki(o){var i=s();return this.bitwiseTo(o,Qi,i),i}function ur(o,i){return o|i}function Yi(o){var i=s();return this.bitwiseTo(o,ur,i),i}function Qn(o,i){return o^i}function ta(o){var i=s();return this.bitwiseTo(o,Qn,i),i}function Kn(o,i){return o&~i}function ea(o){var i=s();return this.bitwiseTo(o,Kn,i),i}function ra(){for(var o=s(),i=0;i<this.t;++i)o[i]=this.DM&~this[i];return o.t=this.t,o.s=~this.s,o}function na(o){var i=s();return o<0?this.rShiftTo(-o,i):this.lShiftTo(o,i),i}function sa(o){var i=s();return o<0?this.lShiftTo(-o,i):this.rShiftTo(o,i),i}function oa(o){if(o==0)return-1;var i=0;return o&65535||(o>>=16,i+=16),o&255||(o>>=8,i+=8),o&15||(o>>=4,i+=4),o&3||(o>>=2,i+=2),o&1||++i,i}function ia(){for(var o=0;o<this.t;++o)if(this[o]!=0)return o*this.DB+oa(this[o]);return this.s<0?this.t*this.DB:-1}function aa(o){for(var i=0;o!=0;)o&=o-1,++i;return i}function ca(){for(var o=0,i=this.s&this.DM,a=0;a<this.t;++a)o+=aa(this[a]^i);return o}function fa(o){var i=Math.floor(o/this.DB);return i>=this.t?this.s!=0:(this[i]&1<<o%this.DB)!=0}function ua(o,i){var a=n.ONE.shiftLeft(o);return this.bitwiseTo(a,i,a),a}function pa(o){return this.changeBit(o,ur)}function la(o){return this.changeBit(o,Kn)}function ha(o){return this.changeBit(o,Qn)}function da(o,i){for(var a=0,f=0,d=Math.min(o.t,this.t);a<d;)f+=this[a]+o[a],i[a++]=f&this.DM,f>>=this.DB;if(o.t<this.t){for(f+=o.s;a<this.t;)f+=this[a],i[a++]=f&this.DM,f>>=this.DB;f+=this.s}else{for(f+=this.s;a<o.t;)f+=o[a],i[a++]=f&this.DM,f>>=this.DB;f+=o.s}i.s=f<0?-1:0,f>0?i[a++]=f:f<-1&&(i[a++]=this.DV+f),i.t=a,i.clamp()}function ma(o){var i=s();return this.addTo(o,i),i}function ba(o){var i=s();return this.subTo(o,i),i}function ga(o){var i=s();return this.multiplyTo(o,i),i}function wa(){var o=s();return this.squareTo(o),o}function ya(o){var i=s();return this.divRemTo(o,i,null),i}function va(o){var i=s();return this.divRemTo(o,null,i),i}function xa(o){var i=s(),a=s();return this.divRemTo(o,i,a),new Array(i,a)}function Sa(o){this[this.t]=this.am(0,o-1,this,0,0,this.t),++this.t,this.clamp()}function Ta(o,i){if(o!=0){for(;this.t<=i;)this[this.t++]=0;for(this[i]+=o;this[i]>=this.DV;)this[i]-=this.DV,++i>=this.t&&(this[this.t++]=0),++this[i]}}function ge(){}function Yn(o){return o}function Ea(o,i,a){o.multiplyTo(i,a)}function Ca(o,i){o.squareTo(i)}ge.prototype.convert=Yn,ge.prototype.revert=Yn,ge.prototype.mulTo=Ea,ge.prototype.sqrTo=Ca;function Aa(o){return this.exp(o,new ge)}function Ia(o,i,a){var f=Math.min(this.t+o.t,i);for(a.s=0,a.t=f;f>0;)a[--f]=0;var d;for(d=a.t-this.t;f<d;++f)a[f+this.t]=this.am(0,o[f],a,f,0,this.t);for(d=Math.min(o.t,i);f<d;++f)this.am(0,o[f],a,f,0,i-f);a.clamp()}function Ba(o,i,a){--i;var f=a.t=this.t+o.t-i;for(a.s=0;--f>=0;)a[f]=0;for(f=Math.max(i-this.t,0);f<o.t;++f)a[this.t+f-i]=this.am(i-f,o[f],a,0,0,this.t+f-i);a.clamp(),a.drShiftTo(1,a)}function Lt(o){this.r2=s(),this.q3=s(),n.ONE.dlShiftTo(2*o.t,this.r2),this.mu=this.r2.divide(o),this.m=o}function Ra(o){if(o.s<0||o.t>2*this.m.t)return o.mod(this.m);if(o.compareTo(this.m)<0)return o;var i=s();return o.copyTo(i),this.reduce(i),i}function Ma(o){return o}function Da(o){for(o.drShiftTo(this.m.t-1,this.r2),o.t>this.m.t+1&&(o.t=this.m.t+1,o.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);o.compareTo(this.r2)<0;)o.dAddOffset(1,this.m.t+1);for(o.subTo(this.r2,o);o.compareTo(this.m)>=0;)o.subTo(this.m,o)}function Oa(o,i){o.squareTo(i),this.reduce(i)}function Pa(o,i,a){o.multiplyTo(i,a),this.reduce(a)}Lt.prototype.convert=Ra,Lt.prototype.revert=Ma,Lt.prototype.reduce=Da,Lt.prototype.mulTo=Pa,Lt.prototype.sqrTo=Oa;function ka(o,i){var a=o.bitLength(),f,d=C(1),b;if(a<=0)return d;a<18?f=1:a<48?f=3:a<144?f=4:a<768?f=5:f=6,a<8?b=new Ut(i):i.isEven()?b=new Lt(i):b=new _t(i);var w=new Array,S=3,F=f-1,J=(1<<f)-1;if(w[1]=b.convert(this),f>1){var ut=s();for(b.sqrTo(w[1],ut);S<=J;)w[S]=s(),b.mulTo(ut,w[S-2],w[S]),S+=2}var it=o.t-1,Tt,Re=!0,mt=s(),bt;for(a=j(o[it])-1;it>=0;){for(a>=F?Tt=o[it]>>a-F&J:(Tt=(o[it]&(1<<a+1)-1)<<F-a,it>0&&(Tt|=o[it-1]>>this.DB+a-F)),S=f;!(Tt&1);)Tt>>=1,--S;if((a-=S)<0&&(a+=this.DB,--it),Re)w[Tt].copyTo(d),Re=!1;else{for(;S>1;)b.sqrTo(d,mt),b.sqrTo(mt,d),S-=2;S>0?b.sqrTo(d,mt):(bt=d,d=mt,mt=bt),b.mulTo(mt,w[Tt],d)}for(;it>=0&&!(o[it]&1<<a);)b.sqrTo(d,mt),bt=d,d=mt,mt=bt,--a<0&&(a=this.DB-1,--it)}return b.revert(d)}function Na(o){var i=this.s<0?this.negate():this.clone(),a=o.s<0?o.negate():o.clone();if(i.compareTo(a)<0){var f=i;i=a,a=f}var d=i.getLowestSetBit(),b=a.getLowestSetBit();if(b<0)return i;for(d<b&&(b=d),b>0&&(i.rShiftTo(b,i),a.rShiftTo(b,a));i.signum()>0;)(d=i.getLowestSetBit())>0&&i.rShiftTo(d,i),(d=a.getLowestSetBit())>0&&a.rShiftTo(d,a),i.compareTo(a)>=0?(i.subTo(a,i),i.rShiftTo(1,i)):(a.subTo(i,a),a.rShiftTo(1,a));return b>0&&a.lShiftTo(b,a),a}function Fa(o){if(o<=0)return 0;var i=this.DV%o,a=this.s<0?o-1:0;if(this.t>0)if(i==0)a=this[0]%o;else for(var f=this.t-1;f>=0;--f)a=(i*a+this[f])%o;return a}function Ua(o){var i=o.isEven();if(this.isEven()&&i||o.signum()==0)return n.ZERO;for(var a=o.clone(),f=this.clone(),d=C(1),b=C(0),w=C(0),S=C(1);a.signum()!=0;){for(;a.isEven();)a.rShiftTo(1,a),i?((!d.isEven()||!b.isEven())&&(d.addTo(this,d),b.subTo(o,b)),d.rShiftTo(1,d)):b.isEven()||b.subTo(o,b),b.rShiftTo(1,b);for(;f.isEven();)f.rShiftTo(1,f),i?((!w.isEven()||!S.isEven())&&(w.addTo(this,w),S.subTo(o,S)),w.rShiftTo(1,w)):S.isEven()||S.subTo(o,S),S.rShiftTo(1,S);a.compareTo(f)>=0?(a.subTo(f,a),i&&d.subTo(w,d),b.subTo(S,b)):(f.subTo(a,f),i&&w.subTo(d,w),S.subTo(b,S))}if(f.compareTo(n.ONE)!=0)return n.ZERO;if(S.compareTo(o)>=0)return S.subtract(o);if(S.signum()<0)S.addTo(o,S);else return S;return S.signum()<0?S.add(o):S}var et=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],_a=(1<<26)/et[et.length-1];function La(o){var i,a=this.abs();if(a.t==1&&a[0]<=et[et.length-1]){for(i=0;i<et.length;++i)if(a[0]==et[i])return!0;return!1}if(a.isEven())return!1;for(i=1;i<et.length;){for(var f=et[i],d=i+1;d<et.length&&f<_a;)f*=et[d++];for(f=a.modInt(f);i<d;)if(f%et[i++]==0)return!1}return a.millerRabin(o)}function $a(o){var i=this.subtract(n.ONE),a=i.getLowestSetBit();if(a<=0)return!1;var f=i.shiftRight(a);o=o+1>>1,o>et.length&&(o=et.length);for(var d=s(),b=0;b<o;++b){d.fromInt(et[Math.floor(Math.random()*et.length)]);var w=d.modPow(f,this);if(w.compareTo(n.ONE)!=0&&w.compareTo(i)!=0){for(var S=1;S++<a&&w.compareTo(i)!=0;)if(w=w.modPowInt(2,this),w.compareTo(n.ONE)==0)return!1;if(w.compareTo(i)!=0)return!1}}return!0}n.prototype.chunkSize=zi,n.prototype.toRadix=ji,n.prototype.fromRadix=qi,n.prototype.fromNumber=Gi,n.prototype.bitwiseTo=Wi,n.prototype.changeBit=ua,n.prototype.addTo=da,n.prototype.dMultiply=Sa,n.prototype.dAddOffset=Ta,n.prototype.multiplyLowerTo=Ia,n.prototype.multiplyUpperTo=Ba,n.prototype.modInt=Fa,n.prototype.millerRabin=$a,n.prototype.clone=Ui,n.prototype.intValue=_i,n.prototype.byteValue=Li,n.prototype.shortValue=$i,n.prototype.signum=Vi,n.prototype.toByteArray=Hi,n.prototype.equals=Zi,n.prototype.min=Ji,n.prototype.max=Xi,n.prototype.and=Ki,n.prototype.or=Yi,n.prototype.xor=ta,n.prototype.andNot=ea,n.prototype.not=ra,n.prototype.shiftLeft=na,n.prototype.shiftRight=sa,n.prototype.getLowestSetBit=ia,n.prototype.bitCount=ca,n.prototype.testBit=fa,n.prototype.setBit=pa,n.prototype.clearBit=la,n.prototype.flipBit=ha,n.prototype.add=ma,n.prototype.subtract=ba,n.prototype.multiply=ga,n.prototype.divide=ya,n.prototype.remainder=va,n.prototype.divideAndRemainder=xa,n.prototype.modPow=ka,n.prototype.modInverse=Ua,n.prototype.pow=Aa,n.prototype.gcd=Na,n.prototype.isProbablePrime=La,n.prototype.square=wa,n.prototype.Barrett=Lt;var Be,ot,Z;function za(o){ot[Z++]^=o&255,ot[Z++]^=o>>8&255,ot[Z++]^=o>>16&255,ot[Z++]^=o>>24&255,Z>=hr&&(Z-=hr)}function ts(){za(new Date().getTime())}if(ot==null){ot=new Array,Z=0;var dt;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var es=new Uint8Array(32);for(window.crypto.getRandomValues(es),dt=0;dt<32;++dt)ot[Z++]=es[dt]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var rs=window.crypto.random(32);for(dt=0;dt<rs.length;++dt)ot[Z++]=rs.charCodeAt(dt)&255}}for(;Z<hr;)dt=Math.floor(65536*Math.random()),ot[Z++]=dt>>>8,ot[Z++]=dt&255;Z=0,ts()}function Va(){if(Be==null){for(ts(),Be=Ha(),Be.init(ot),Z=0;Z<ot.length;++Z)ot[Z]=0;Z=0}return Be.next()}function ja(o){var i;for(i=0;i<o.length;++i)o[i]=Va()}function pr(){}pr.prototype.nextBytes=ja;function lr(){this.i=0,this.j=0,this.S=new Array}function qa(o){var i,a,f;for(i=0;i<256;++i)this.S[i]=i;for(a=0,i=0;i<256;++i)a=a+this.S[i]+o[i%o.length]&255,f=this.S[i],this.S[i]=this.S[a],this.S[a]=f;this.i=0,this.j=0}function Ga(){var o;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,o=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=o,this.S[o+this.S[this.i]&255]}lr.prototype.init=qa,lr.prototype.next=Ga;function Ha(){return new lr}var hr=256;typeof rr<"u"?rr=qo.exports={default:n,BigInteger:n,SecureRandom:pr}:this.jsbn={BigInteger:n,SecureRandom:pr}}).call(rr)});var Ie=H(nr=>{(function(){"use strict";var r={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(u){return n(c(u),arguments)}function e(u,h){return t.apply(null,[u].concat(h||[]))}function n(u,h){var m=1,I=u.length,p,g="",y,E,l,v,B,T,C,M;for(y=0;y<I;y++)if(typeof u[y]=="string")g+=u[y];else if(typeof u[y]=="object"){if(l=u[y],l.keys)for(p=h[m],E=0;E<l.keys.length;E++){if(p==null)throw new Error(t('[sprintf] Cannot access property "%s" of undefined value "%s"',l.keys[E],l.keys[E-1]));p=p[l.keys[E]]}else l.param_no?p=h[l.param_no]:p=h[m++];if(r.not_type.test(l.type)&&r.not_primitive.test(l.type)&&p instanceof Function&&(p=p()),r.numeric_arg.test(l.type)&&typeof p!="number"&&isNaN(p))throw new TypeError(t("[sprintf] expecting number but found %T",p));switch(r.number.test(l.type)&&(C=p>=0),l.type){case"b":p=parseInt(p,10).toString(2);break;case"c":p=String.fromCharCode(parseInt(p,10));break;case"d":case"i":p=parseInt(p,10);break;case"j":p=JSON.stringify(p,null,l.width?parseInt(l.width):0);break;case"e":p=l.precision?parseFloat(p).toExponential(l.precision):parseFloat(p).toExponential();break;case"f":p=l.precision?parseFloat(p).toFixed(l.precision):parseFloat(p);break;case"g":p=l.precision?String(Number(p.toPrecision(l.precision))):parseFloat(p);break;case"o":p=(parseInt(p,10)>>>0).toString(8);break;case"s":p=String(p),p=l.precision?p.substring(0,l.precision):p;break;case"t":p=String(!!p),p=l.precision?p.substring(0,l.precision):p;break;case"T":p=Object.prototype.toString.call(p).slice(8,-1).toLowerCase(),p=l.precision?p.substring(0,l.precision):p;break;case"u":p=parseInt(p,10)>>>0;break;case"v":p=p.valueOf(),p=l.precision?p.substring(0,l.precision):p;break;case"x":p=(parseInt(p,10)>>>0).toString(16);break;case"X":p=(parseInt(p,10)>>>0).toString(16).toUpperCase();break}r.json.test(l.type)?g+=p:(r.number.test(l.type)&&(!C||l.sign)?(M=C?"+":"-",p=p.toString().replace(r.sign,"")):M="",B=l.pad_char?l.pad_char==="0"?"0":l.pad_char.charAt(1):" ",T=l.width-(M+p).length,v=l.width&&T>0?B.repeat(T):"",g+=l.align?M+p+v:B==="0"?M+v+p:v+M+p)}return g}var s=Object.create(null);function c(u){if(s[u])return s[u];for(var h=u,m,I=[],p=0;h;){if((m=r.text.exec(h))!==null)I.push(m[0]);else if((m=r.modulo.exec(h))!==null)I.push("%");else if((m=r.placeholder.exec(h))!==null){if(m[2]){p|=1;var g=[],y=m[2],E=[];if((E=r.key.exec(y))!==null)for(g.push(E[1]);(y=y.substring(E[0].length))!=="";)if((E=r.key_access.exec(y))!==null)g.push(E[1]);else if((E=r.index_access.exec(y))!==null)g.push(E[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");m[2]=g}else p|=2;if(p===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");I.push({placeholder:m[0],param_no:m[1],keys:m[2],sign:m[3],pad_char:m[4],align:m[5],width:m[6],precision:m[7],type:m[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");h=h.substring(m[0].length)}return s[u]=I}typeof nr<"u"&&(nr.sprintf=t,nr.vsprintf=e),typeof window<"u"&&(window.sprintf=t,window.vsprintf=e,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:e}}))})()});var ar=H((d0,ei)=>{ei.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var ni=H((m0,ri)=>{ri.exports=function(t){if(t){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}});var qn=H((b0,si)=>{var jp=ni();si.exports=r=>async t=>{t=jp(t);let e=T=>{typeof T.return=="function"&&T.return()},n=null,s=null,c=T=>{n=T,s&&s(T),e(t)},u=null,h=!1,m=()=>{h=!0,u&&u()},I=null,p=!1,g=()=>{p=!0,I&&I()},y=null,E=()=>{y&&y()},l=()=>new Promise((T,C)=>{u=y=T,s=C,r.once("drain",E)}),v=()=>(e(t),new Promise((T,C)=>{if(h||p||n)return T();I=u=T,s=C})),B=()=>{r.removeListener("error",c),r.removeListener("close",m),r.removeListener("finish",g),r.removeListener("drain",E)};r.once("error",c),r.once("close",m),r.once("finish",g);try{for await(let T of t){if(!r.writable||r.destroyed||n)break;r.write(T)===!1&&await l()}}catch(T){n||r.destroy(),n=T}try{if(r.writable&&r.end(),await v(),n)throw n}finally{B()}}});var Gn=H((g0,oi)=>{var qp=qn(),Gp=ar();oi.exports=r=>({sink:qp(r),source:Gp(r)})});var ai=H((w0,ii)=>{var Hp=Gn();ii.exports=r=>async function*(t){let e=Hp(r),n;if(e.sink(t).catch(s=>{n=s}),yield*e.source,n)throw n}});var ci=H((y0,me)=>{me.exports=ar();me.exports.source=ar();me.exports.sink=qn();me.exports.transform=ai();me.exports.duplex=Gn()});var sl={};U(sl,{tcp:()=>nl});var li=X(yt("net"),1);var Oe=class extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=Oe.code,this.type=Oe.type}},Mt=Oe;De(Mt,"code","ABORT_ERR"),De(Mt,"type","aborted");var pt=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var os=Symbol.for("@libp2p/transport");var ss;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(ss||(ss={}));var ct=X(bs(),1);function Tc(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var c=r.charAt(s),u=c.charCodeAt(0);if(e[u]!==255)throw new TypeError(c+" is ambiguous");e[u]=s}var h=r.length,m=r.charAt(0),I=Math.log(h)/Math.log(256),p=Math.log(256)/Math.log(h);function g(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var v=0,B=0,T=0,C=l.length;T!==C&&l[T]===0;)T++,v++;for(var M=(C-T)*p+1>>>0,R=new Uint8Array(M);T!==C;){for(var O=l[T],k=0,D=M-1;(O!==0||k<B)&&D!==-1;D--,k++)O+=256*R[D]>>>0,R[D]=O%h>>>0,O=O/h>>>0;if(O!==0)throw new Error("Non-zero carry");B=k,T++}for(var P=M-B;P!==M&&R[P]===0;)P++;for(var j=m.repeat(v);P<M;++P)j+=r.charAt(R[P]);return j}function y(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var v=0;if(l[v]!==" "){for(var B=0,T=0;l[v]===m;)B++,v++;for(var C=(l.length-v)*I+1>>>0,M=new Uint8Array(C);l[v];){var R=e[l.charCodeAt(v)];if(R===255)return;for(var O=0,k=C-1;(R!==0||O<T)&&k!==-1;k--,O++)R+=h*M[k]>>>0,M[k]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");T=O,v++}if(l[v]!==" "){for(var D=C-T;D!==C&&M[D]===0;)D++;for(var P=new Uint8Array(B+(C-D)),j=B;D!==C;)P[j++]=M[D++];return P}}}function E(l){var v=y(l);if(v)return v;throw new Error(`Non-${t} character`)}return{encode:g,decodeUnsafe:y,decode:E}}var Ec=Tc,Cc=Ec,gs=Cc;var ml=new Uint8Array(0);var ws=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var wr=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},yr=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return ys(this,t)}},vr=class{constructor(t){this.decoders=t}or(t){return ys(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ys=(r,t)=>new vr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),xr=class{constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new wr(t,e,n),this.decoder=new yr(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},vs=({name:r,prefix:t,encode:e,decode:n})=>new xr(r,t,e,n),Sr=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:s}=gs(e,t);return vs({prefix:r,name:t,encode:n,decode:c=>ws(s(c))})},Ac=(r,t,e,n)=>{let s={};for(let p=0;p<t.length;++p)s[t[p]]=p;let c=r.length;for(;r[c-1]==="=";)--c;let u=new Uint8Array(c*e/8|0),h=0,m=0,I=0;for(let p=0;p<c;++p){let g=s[r[p]];if(g===void 0)throw new SyntaxError(`Non-${n} character`);m=m<<e|g,h+=e,h>=8&&(h-=8,u[I++]=255&m>>h)}if(h>=e||255&m<<8-h)throw new SyntaxError("Unexpected end of data");return u},Ic=(r,t,e)=>{let n=t[t.length-1]==="=",s=(1<<e)-1,c="",u=0,h=0;for(let m=0;m<r.length;++m)for(h=h<<8|r[m],u+=8;u>e;)u-=e,c+=t[s&h>>u];if(u&&(c+=t[s&h<<e-u]),n)for(;c.length*e&7;)c+="=";return c},rt=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>vs({prefix:t,name:r,encode(s){return Ic(s,n,e)},decode(s){return Ac(s,n,e,r)}});var xs=rt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xl=rt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sl=rt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Tl=rt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),El=rt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Cl=rt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Al=rt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Il=rt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Bl=rt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ss=Sr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Dl=Sr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ts=rt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),kl=rt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Nl=rt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Fl=rt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ct.default.formatters.b=r=>r==null?"undefined":Ss.baseEncode(r);ct.default.formatters.t=r=>r==null?"undefined":xs.baseEncode(r);ct.default.formatters.m=r=>r==null?"undefined":Ts.baseEncode(r);ct.default.formatters.p=r=>r==null?"undefined":r.toString();ct.default.formatters.c=r=>r==null?"undefined":r.toString();ct.default.formatters.k=r=>r==null?"undefined":r.toString();ct.default.formatters.a=r=>r==null?"undefined":r.toString();function Bc(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function Dt(r){let t=Bc(`${r}:trace`);return ct.default.enabled(`${r}:trace`)&&ct.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,ct.default)(`${r}:trace`)),Object.assign((0,ct.default)(r),{error:(0,ct.default)(`${r}:error`),trace:t})}var Ue=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Ir={};U(Ir,{base58btc:()=>nt,base58flickr:()=>kc});function Rc(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var c=r.charAt(s),u=c.charCodeAt(0);if(e[u]!==255)throw new TypeError(c+" is ambiguous");e[u]=s}var h=r.length,m=r.charAt(0),I=Math.log(h)/Math.log(256),p=Math.log(256)/Math.log(h);function g(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var v=0,B=0,T=0,C=l.length;T!==C&&l[T]===0;)T++,v++;for(var M=(C-T)*p+1>>>0,R=new Uint8Array(M);T!==C;){for(var O=l[T],k=0,D=M-1;(O!==0||k<B)&&D!==-1;D--,k++)O+=256*R[D]>>>0,R[D]=O%h>>>0,O=O/h>>>0;if(O!==0)throw new Error("Non-zero carry");B=k,T++}for(var P=M-B;P!==M&&R[P]===0;)P++;for(var j=m.repeat(v);P<M;++P)j+=r.charAt(R[P]);return j}function y(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var v=0;if(l[v]!==" "){for(var B=0,T=0;l[v]===m;)B++,v++;for(var C=(l.length-v)*I+1>>>0,M=new Uint8Array(C);l[v];){var R=e[l.charCodeAt(v)];if(R===255)return;for(var O=0,k=C-1;(R!==0||O<T)&&k!==-1;k--,O++)R+=h*M[k]>>>0,M[k]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");T=O,v++}if(l[v]!==" "){for(var D=C-T;D!==C&&M[D]===0;)D++;for(var P=new Uint8Array(B+(C-D)),j=B;D!==C;)P[j++]=M[D++];return P}}}function E(l){var v=y(l);if(v)return v;throw new Error(`Non-${t} character`)}return{encode:g,decodeUnsafe:y,decode:E}}var Mc=Rc,Dc=Mc,Es=Dc;var Gl=new Uint8Array(0);var Cs=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},lt=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var As=r=>new TextEncoder().encode(r),Is=r=>new TextDecoder().decode(r);var Tr=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Er=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Rs(this,t)}},Cr=class{constructor(t){this.decoders=t}or(t){return Rs(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Rs=(r,t)=>new Cr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),Ar=class{constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Tr(t,e,n),this.decoder=new Er(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Yt=({name:r,prefix:t,encode:e,decode:n})=>new Ar(r,t,e,n),Ot=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:s}=Es(e,t);return Yt({prefix:r,name:t,encode:n,decode:c=>lt(s(c))})},Oc=(r,t,e,n)=>{let s={};for(let p=0;p<t.length;++p)s[t[p]]=p;let c=r.length;for(;r[c-1]==="=";)--c;let u=new Uint8Array(c*e/8|0),h=0,m=0,I=0;for(let p=0;p<c;++p){let g=s[r[p]];if(g===void 0)throw new SyntaxError(`Non-${n} character`);m=m<<e|g,h+=e,h>=8&&(h-=8,u[I++]=255&m>>h)}if(h>=e||255&m<<8-h)throw new SyntaxError("Unexpected end of data");return u},Pc=(r,t,e)=>{let n=t[t.length-1]==="=",s=(1<<e)-1,c="",u=0,h=0;for(let m=0;m<r.length;++m)for(h=h<<8|r[m],u+=8;u>e;)u-=e,c+=t[s&h>>u];if(u&&(c+=t[s&h<<e-u]),n)for(;c.length*e&7;)c+="=";return c},$=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>Yt({prefix:t,name:r,encode(s){return Pc(s,n,e)},decode(s){return Oc(s,n,e,r)}});var nt=Ot({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),kc=Ot({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Nc=Os,Ms=128,Fc=127,Uc=~Fc,_c=Math.pow(2,31);function Os(r,t,e){t=t||[],e=e||0;for(var n=e;r>=_c;)t[e++]=r&255|Ms,r/=128;for(;r&Uc;)t[e++]=r&255|Ms,r>>>=7;return t[e]=r|0,Os.bytes=e-n+1,t}var Lc=Br,$c=128,Ds=127;function Br(r,n){var e=0,n=n||0,s=0,c=n,u,h=r.length;do{if(c>=h)throw Br.bytes=0,new RangeError("Could not decode varint");u=r[c++],e+=s<28?(u&Ds)<<s:(u&Ds)*Math.pow(2,s),s+=7}while(u>=$c);return Br.bytes=c-n,e}var zc=Math.pow(2,7),Vc=Math.pow(2,14),jc=Math.pow(2,21),qc=Math.pow(2,28),Gc=Math.pow(2,35),Hc=Math.pow(2,42),Zc=Math.pow(2,49),Jc=Math.pow(2,56),Xc=Math.pow(2,63),Wc=function(r){return r<zc?1:r<Vc?2:r<jc?3:r<qc?4:r<Gc?5:r<Hc?6:r<Zc?7:r<Jc?8:r<Xc?9:10},Qc={encode:Nc,decode:Lc,encodingLength:Wc},Kc=Qc,ye=Kc;var ve=(r,t=0)=>[ye.decode(r,t),ye.decode.bytes],te=(r,t,e=0)=>(ye.encode(r,t,e),t),ee=r=>ye.encodingLength(r);var zt=(r,t)=>{let e=t.byteLength,n=ee(r),s=n+ee(e),c=new Uint8Array(s+e);return te(r,c,0),te(e,c,n),c.set(t,s),new re(r,e,t,c)},Le=r=>{let t=lt(r),[e,n]=ve(t),[s,c]=ve(t.subarray(n)),u=t.subarray(n+c);if(u.byteLength!==s)throw new Error("Incorrect length");return new re(e,s,u,t)},Ps=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Cs(r.bytes,e.bytes)}},re=class{constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};var Rr={};U(Rr,{base32:()=>Et,base32hex:()=>rf,base32hexpad:()=>sf,base32hexpadupper:()=>of,base32hexupper:()=>nf,base32pad:()=>tf,base32padupper:()=>ef,base32upper:()=>Yc,base32z:()=>af});var Et=$({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Yc=$({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),tf=$({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ef=$({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),rf=$({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),nf=$({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),sf=$({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),of=$({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),af=$({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ks=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return ff(e,Mr(r),t||nt.encoder);default:return uf(e,Mr(r),t||Et.encoder)}};var Ns=new WeakMap,Mr=r=>{let t=Ns.get(r);if(t==null){let e=new Map;return Ns.set(r,e),e}return t},_=class{constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==xe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==pf)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return _.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=zt(t,e);return _.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return _.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Ps(t.multihash,n.multihash)}toString(t){return ks(this,t)}toJSON(){return{"/":ks(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof _)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:c,bytes:u}=e;return new _(n,s,c,u||Fs(n,s,c.bytes))}else if(e[lf]===!0){let{version:n,multihash:s,code:c}=e,u=Le(s);return _.create(n,c,u)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==xe)throw new Error(`Version 0 CID must use dag-pb (code: ${xe}) block encoding`);return new _(t,e,n,n.bytes)}case 1:{let s=Fs(t,e,n.bytes);return new _(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return _.create(0,xe,t)}static createV1(t,e){return _.create(1,t,e)}static decode(t){let[e,n]=_.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=_.inspectBytes(t),n=e.size-e.multihashSize,s=lt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let c=s.subarray(e.multihashSize-e.digestSize),u=new re(e.multihashCode,e.digestSize,c,s);return[e.version===0?_.createV0(u):_.createV1(e.codec,u),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[g,y]=ve(t.subarray(e));return e+=y,g},s=n(),c=xe;if(s===18?(s=0,e=0):c=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let u=e,h=n(),m=n(),I=e+m,p=I-u;return{version:s,codec:c,multihashCode:h,digestSize:m,multihashSize:p,size:I}}static parse(t,e){let[n,s]=cf(t,e),c=_.decode(s);if(c.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Mr(c).set(n,t),c}},cf=(r,t)=>{switch(r[0]){case"Q":{let e=t||nt;return[nt.prefix,e.decode(`${nt.prefix}${r}`)]}case nt.prefix:{let e=t||nt;return[nt.prefix,e.decode(r)]}case Et.prefix:{let e=t||Et;return[Et.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},ff=(r,t,e)=>{let{prefix:n}=e;if(n!==nt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let c=e.encode(r).slice(1);return t.set(n,c),c}else return s},uf=(r,t,e)=>{let{prefix:n}=e,s=t.get(n);if(s==null){let c=e.encode(r);return t.set(n,c),c}else return s},xe=112,pf=18,Fs=(r,t,e)=>{let n=ee(r),s=n+ee(t),c=new Uint8Array(s+e.byteLength);return te(r,c,0),te(t,c,n),c.set(e,s),c},lf=Symbol.for("@ipld/js-cid/CID");function Us(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Nr={};U(Nr,{identity:()=>wf});function hf(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var c=r.charAt(s),u=c.charCodeAt(0);if(e[u]!==255)throw new TypeError(c+" is ambiguous");e[u]=s}var h=r.length,m=r.charAt(0),I=Math.log(h)/Math.log(256),p=Math.log(256)/Math.log(h);function g(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var v=0,B=0,T=0,C=l.length;T!==C&&l[T]===0;)T++,v++;for(var M=(C-T)*p+1>>>0,R=new Uint8Array(M);T!==C;){for(var O=l[T],k=0,D=M-1;(O!==0||k<B)&&D!==-1;D--,k++)O+=256*R[D]>>>0,R[D]=O%h>>>0,O=O/h>>>0;if(O!==0)throw new Error("Non-zero carry");B=k,T++}for(var P=M-B;P!==M&&R[P]===0;)P++;for(var j=m.repeat(v);P<M;++P)j+=r.charAt(R[P]);return j}function y(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var v=0;if(l[v]!==" "){for(var B=0,T=0;l[v]===m;)B++,v++;for(var C=(l.length-v)*I+1>>>0,M=new Uint8Array(C);l[v];){var R=e[l.charCodeAt(v)];if(R===255)return;for(var O=0,k=C-1;(R!==0||O<T)&&k!==-1;k--,O++)R+=h*M[k]>>>0,M[k]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");T=O,v++}if(l[v]!==" "){for(var D=C-T;D!==C&&M[D]===0;)D++;for(var P=new Uint8Array(B+(C-D)),j=B;D!==C;)P[j++]=M[D++];return P}}}function E(l){var v=y(l);if(v)return v;throw new Error(`Non-${t} character`)}return{encode:g,decodeUnsafe:y,decode:E}}var df=hf,mf=df,_s=mf;var ah=new Uint8Array(0);var Ls=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},ht=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var $s=r=>new TextEncoder().encode(r),zs=r=>new TextDecoder().decode(r);var Dr=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Or=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return js(this,t)}},Pr=class{constructor(t){this.decoders=t}or(t){return js(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},js=(r,t)=>new Pr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),kr=class{constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Dr(t,e,n),this.decoder=new Or(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},se=({name:r,prefix:t,encode:e,decode:n})=>new kr(r,t,e,n),Pt=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:s}=_s(e,t);return se({prefix:r,name:t,encode:n,decode:c=>ht(s(c))})},bf=(r,t,e,n)=>{let s={};for(let p=0;p<t.length;++p)s[t[p]]=p;let c=r.length;for(;r[c-1]==="=";)--c;let u=new Uint8Array(c*e/8|0),h=0,m=0,I=0;for(let p=0;p<c;++p){let g=s[r[p]];if(g===void 0)throw new SyntaxError(`Non-${n} character`);m=m<<e|g,h+=e,h>=8&&(h-=8,u[I++]=255&m>>h)}if(h>=e||255&m<<8-h)throw new SyntaxError("Unexpected end of data");return u},gf=(r,t,e)=>{let n=t[t.length-1]==="=",s=(1<<e)-1,c="",u=0,h=0;for(let m=0;m<r.length;++m)for(h=h<<8|r[m],u+=8;u>e;)u-=e,c+=t[s&h>>u];if(u&&(c+=t[s&h<<e-u]),n)for(;c.length*e&7;)c+="=";return c},z=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>se({prefix:t,name:r,encode(s){return gf(s,n,e)},decode(s){return bf(s,n,e,r)}});var wf=se({prefix:"\0",name:"identity",encode:r=>zs(r),decode:r=>$s(r)});var Fr={};U(Fr,{base2:()=>yf});var yf=z({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ur={};U(Ur,{base8:()=>vf});var vf=z({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var _r={};U(_r,{base10:()=>xf});var xf=Pt({prefix:"9",name:"base10",alphabet:"0123456789"});var Lr={};U(Lr,{base16:()=>Sf,base16upper:()=>Tf});var Sf=z({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Tf=z({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var $r={};U($r,{base32:()=>oe,base32hex:()=>If,base32hexpad:()=>Rf,base32hexpadupper:()=>Mf,base32hexupper:()=>Bf,base32pad:()=>Cf,base32padupper:()=>Af,base32upper:()=>Ef,base32z:()=>Df});var oe=z({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ef=z({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cf=z({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Af=z({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),If=z({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Bf=z({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Rf=z({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Mf=z({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Df=z({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zr={};U(zr,{base36:()=>Of,base36upper:()=>Pf});var Of=Pt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Pf=Pt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vr={};U(Vr,{base58btc:()=>vt,base58flickr:()=>kf});var vt=Pt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),kf=Pt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var jr={};U(jr,{base64:()=>Nf,base64pad:()=>Ff,base64url:()=>Uf,base64urlpad:()=>_f});var Nf=z({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ff=z({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Uf=z({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),_f=z({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qr={};U(qr,{base256emoji:()=>jf});var qs=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}"),Lf=qs.reduce((r,t,e)=>(r[e]=t,r),[]),$f=qs.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function zf(r){return r.reduce((t,e)=>(t+=Lf[e],t),"")}function Vf(r){let t=[];for(let e of r){let n=$f[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var jf=se({prefix:"\u{1F680}",name:"base256emoji",encode:zf,decode:Vf});var Xr={};U(Xr,{sha256:()=>cu,sha512:()=>fu});var Jr=X(yt("crypto"),1);var qf=Zs,Gs=128,Gf=127,Hf=~Gf,Zf=Math.pow(2,31);function Zs(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Zf;)t[e++]=r&255|Gs,r/=128;for(;r&Hf;)t[e++]=r&255|Gs,r>>>=7;return t[e]=r|0,Zs.bytes=e-n+1,t}var Jf=Gr,Xf=128,Hs=127;function Gr(r,n){var e=0,n=n||0,s=0,c=n,u,h=r.length;do{if(c>=h)throw Gr.bytes=0,new RangeError("Could not decode varint");u=r[c++],e+=s<28?(u&Hs)<<s:(u&Hs)*Math.pow(2,s),s+=7}while(u>=Xf);return Gr.bytes=c-n,e}var Wf=Math.pow(2,7),Qf=Math.pow(2,14),Kf=Math.pow(2,21),Yf=Math.pow(2,28),tu=Math.pow(2,35),eu=Math.pow(2,42),ru=Math.pow(2,49),nu=Math.pow(2,56),su=Math.pow(2,63),ou=function(r){return r<Wf?1:r<Qf?2:r<Kf?3:r<Yf?4:r<tu?5:r<eu?6:r<ru?7:r<nu?8:r<su?9:10},iu={encode:qf,decode:Jf,encodingLength:ou},au=iu,Se=au;var Te=(r,t=0)=>[Se.decode(r,t),Se.decode.bytes],ie=(r,t,e=0)=>(Se.encode(r,t,e),t),ae=r=>Se.encodingLength(r);var Vt=(r,t)=>{let e=t.byteLength,n=ae(r),s=n+ae(e),c=new Uint8Array(s+e);return ie(r,c,0),ie(e,c,n),c.set(t,s),new ce(r,e,t,c)},Js=r=>{let t=ht(r),[e,n]=Te(t),[s,c]=Te(t.subarray(n)),u=t.subarray(n+c);if(u.byteLength!==s)throw new Error("Incorrect length");return new ce(e,s,u,t)},Xs=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ls(r.bytes,e.bytes)}},ce=class{constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};var Zr=({name:r,code:t,encode:e})=>new Hr(r,t,e),Hr=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Vt(this.code,e):e.then(n=>Vt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var cu=Zr({name:"sha2-256",code:18,encode:r=>ht(Jr.default.createHash("sha256").update(r).digest())}),fu=Zr({name:"sha2-512",code:19,encode:r=>ht(Jr.default.createHash("sha512").update(r).digest())});var Wr={};U(Wr,{identity:()=>lu});var Qs=0,uu="identity",Ks=ht,pu=r=>Vt(Qs,Ks(r)),lu={code:Qs,name:uu,encode:Ks,digest:pu};var Rh=new TextEncoder,Mh=new TextDecoder;var Ys=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return bu(e,Qr(r),t||vt.encoder);default:return gu(e,Qr(r),t||oe.encoder)}};var to=new WeakMap,Qr=r=>{let t=to.get(r);if(t==null){let e=new Map;return to.set(r,e),e}return t},G=class{constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Ce)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==wu)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return G.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Vt(t,e);return G.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return G.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Xs(t.multihash,n.multihash)}toString(t){return Ys(this,t)}toJSON(){return{"/":Ys(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof G)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:c,bytes:u}=e;return new G(n,s,c,u||eo(n,s,c.bytes))}else if(e[yu]===!0){let{version:n,multihash:s,code:c}=e,u=Js(s);return G.create(n,c,u)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Ce)throw new Error(`Version 0 CID must use dag-pb (code: ${Ce}) block encoding`);return new G(t,e,n,n.bytes)}case 1:{let s=eo(t,e,n.bytes);return new G(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return G.create(0,Ce,t)}static createV1(t,e){return G.create(1,t,e)}static decode(t){let[e,n]=G.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=G.inspectBytes(t),n=e.size-e.multihashSize,s=ht(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let c=s.subarray(e.multihashSize-e.digestSize),u=new ce(e.multihashCode,e.digestSize,c,s);return[e.version===0?G.createV0(u):G.createV1(e.codec,u),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[g,y]=Te(t.subarray(e));return e+=y,g},s=n(),c=Ce;if(s===18?(s=0,e=0):c=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let u=e,h=n(),m=n(),I=e+m,p=I-u;return{version:s,codec:c,multihashCode:h,digestSize:m,multihashSize:p,size:I}}static parse(t,e){let[n,s]=mu(t,e),c=G.decode(s);if(c.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Qr(c).set(n,t),c}},mu=(r,t)=>{switch(r[0]){case"Q":{let e=t||vt;return[vt.prefix,e.decode(`${vt.prefix}${r}`)]}case vt.prefix:{let e=t||vt;return[vt.prefix,e.decode(r)]}case oe.prefix:{let e=t||oe;return[oe.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},bu=(r,t,e)=>{let{prefix:n}=e;if(n!==vt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let c=e.encode(r).slice(1);return t.set(n,c),c}else return s},gu=(r,t,e)=>{let{prefix:n}=e,s=t.get(n);if(s==null){let c=e.encode(r);return t.set(n,c),c}else return s},Ce=112,wu=18,eo=(r,t,e)=>{let n=ae(r),s=n+ae(t),c=new Uint8Array(s+e.byteLength);return ie(r,c,0),ie(t,c,n),c.set(e,s),c},yu=Symbol.for("@ipld/js-cid/CID");var Kr={...Nr,...Fr,...Ur,..._r,...Lr,...$r,...zr,...Vr,...jr,...qr},$h={...Xr,...Wr};function fe(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function ze(r=0){return globalThis.Buffer?.allocUnsafe!=null?fe(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function no(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ro=no("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Yr=no("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=ze(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),vu={utf8:ro,"utf-8":ro,hex:Kr.base16,latin1:Yr,ascii:Yr,binary:Yr,...Kr},Ve=vu;function st(r,t="utf8"){let e=Ve[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var An=X(je(),1);function Ct(r,t){t==null&&(t=r.reduce((s,c)=>s+c.length,0));let e=ze(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return fe(e)}var ue=X(je(),1);var qe=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,s){return this.readAtomically(()=>{let c=0,u=0,h=this.peekChar();if(h===void 0)return;let m=h==="0",I=2**(8*s)-1;for(;;){let p=this.readAtomically(()=>{let g=this.readChar();if(g===void 0)return;let y=Number.parseInt(g,t);if(!Number.isNaN(y))return y});if(p===void 0)break;if(c*=t,c+=p,c>I||(u+=1,e!==void 0&&u>e))return}if(u!==0)return!n&&m&&u>1?void 0:c})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let s=n*2;if(n<e.length-3){let u=this.readSeparator(":",n,()=>this.readIPv4Addr());if(u!==void 0)return e[s]=u[0],e[s+1]=u[1],e[s+2]=u[2],e[s+3]=u[3],[s+4,!0]}let c=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(c===void 0)return[s,!1];e[s]=c>>8,e[s+1]=c&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,s]=t(e);if(n===16)return e;if(s||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let c=new Uint8Array(14),u=16-(n+2),[h]=t(c.subarray(0,u));return e.set(c.subarray(0,h),16-h),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var od=new qe;var hd=parseInt("0xFFFF",16),dd=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var rn={};U(rn,{identity:()=>Lu});var Lu=Yt({prefix:"\0",name:"identity",encode:r=>Is(r),decode:r=>As(r)});var nn={};U(nn,{base2:()=>$u});var $u=$({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var sn={};U(sn,{base8:()=>zu});var zu=$({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var on={};U(on,{base10:()=>Vu});var Vu=Ot({prefix:"9",name:"base10",alphabet:"0123456789"});var an={};U(an,{base16:()=>ju,base16upper:()=>qu});var ju=$({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),qu=$({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var cn={};U(cn,{base36:()=>Gu,base36upper:()=>Hu});var Gu=Ot({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Hu=Ot({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var fn={};U(fn,{base64:()=>Zu,base64pad:()=>Ju,base64url:()=>Xu,base64urlpad:()=>Wu});var Zu=$({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ju=$({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Xu=$({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Wu=$({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var un={};U(un,{base256emoji:()=>ep});var bo=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}"),Qu=bo.reduce((r,t,e)=>(r[e]=t,r),[]),Ku=bo.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Yu(r){return r.reduce((t,e)=>(t+=Qu[e],t),"")}function tp(r){let t=[];for(let e of r){let n=Ku[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var ep=Yt({prefix:"\u{1F680}",name:"base256emoji",encode:Yu,decode:tp});var dn={};U(dn,{sha256:()=>rp,sha512:()=>np});var hn=X(yt("crypto"),1);var ln=({name:r,code:t,encode:e})=>new pn(r,t,e),pn=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?zt(this.code,e):e.then(n=>zt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var rp=ln({name:"sha2-256",code:18,encode:r=>lt(hn.default.createHash("sha256").update(r).digest())}),np=ln({name:"sha2-512",code:19,encode:r=>lt(hn.default.createHash("sha512").update(r).digest())});var mn={};U(mn,{identity:()=>ip});var wo=0,sp="identity",yo=lt,op=r=>zt(wo,yo(r)),ip={code:wo,name:sp,encode:yo,digest:op};var Qd=new TextEncoder,Kd=new TextDecoder;var vo={...rn,...nn,...sn,...on,...an,...Rr,...cn,...Ir,...fn,...un},nm={...dn,...mn};function bn(r,t="utf8"){let e=Ve[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?fe(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}var xt=X(je(),1);var kt=yt("node:net");function Ge(r){return!!(0,kt.isIP)(r)}var xo=kt.isIPv4,fp=kt.isIPv6,gn=function(r){let t=0;if(r=r.toString().trim(),xo(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(fp(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let c=xo(e[n]),u;c&&(u=gn(e[n]),e[n]=st(u.slice(0,2),"base16")),u!=null&&++n<8&&e.splice(n,0,st(u.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let c=[n,1];for(n=9-e.length;n>0;n--)c.push("0");e.splice.apply(e,c)}let s=new Uint8Array(t+16);for(n=0;n<e.length;n++){let c=parseInt(e[n],16);s[t++]=c>>8&255,s[t++]=c&255}return s}throw new Error("invalid ip address")},So=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let s=[];for(let c=0;c<e;c++)s.push(r[t+c]);return s.join(".")}if(e===16){let s=[];for(let c=0;c<e;c+=2)s.push(n.getUint16(t+c).toString(16));return s.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ae={},wn={},pp=[[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"]];pp.forEach(r=>{let t=lp(...r);wn[t.code]=t,Ae[t.name]=t});function lp(r,t,e,n,s){return{code:r,size:t,name:e,resolvable:!!n,path:!!s}}function N(r){if(typeof r=="number"){if(wn[r]!=null)return wn[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Ae[r]!=null)return Ae[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Sm=N("ip4"),Tm=N("ip6"),Em=N("ipcidr");function Io(r,t){switch(N(r).code){case 4:case 41:return dp(t);case 42:return Co(t);case 6:case 273:case 33:case 132:return Ro(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Co(t);case 421:return wp(t);case 444:return Ao(t);case 445:return Ao(t);case 466:return gp(t);default:return st(t,"base16")}}function Bo(r,t){switch(N(r).code){case 4:return To(t);case 41:return To(t);case 42:return Eo(t);case 6:case 273:case 33:case 132:return vn(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Eo(t);case 421:return mp(t);case 444:return yp(t);case 445:return vp(t);case 466:return bp(t);default:return bn(t,"base16")}}var yn=Object.values(vo).map(r=>r.decoder),hp=function(){let r=yn[0].or(yn[1]);return yn.slice(2).forEach(t=>r=r.or(t)),r}();function To(r){if(!Ge(r))throw new Error("invalid ip address");return gn(r)}function dp(r){let t=So(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Ge(t))throw new Error("invalid ip address");return t}function vn(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ro(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Eo(r){let t=bn(r),e=Uint8Array.from(xt.default.encode(t.length));return Ct([e,t],e.length+t.length)}function Co(r){let t=xt.default.decode(r);if(r=r.slice(xt.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return st(r)}function mp(r){let t;r[0]==="Q"||r[0]==="1"?t=Le(nt.decode(`z${r}`)).bytes:t=_.parse(r).multihash.bytes;let e=Uint8Array.from(xt.default.encode(t.length));return Ct([e,t],e.length+t.length)}function bp(r){let t=hp.decode(r),e=Uint8Array.from(xt.default.encode(t.length));return Ct([e,t],e.length+t.length)}function gp(r){let t=xt.default.decode(r),e=r.slice(xt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+st(e,"base64url")}function wp(r){let t=xt.default.decode(r),e=r.slice(xt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return st(e,"base58btc")}function yp(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Et.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=vn(n);return Ct([e,s],e.length+s.length)}function vp(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Et.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=vn(n);return Ct([e,s],e.length+s.length)}function Ao(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=st(t,"base32"),s=Ro(e);return`${n}:${s}`}function xp(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let s=e[n],c=N(s);if(c.size===0){t.push([s]);continue}if(n++,n>=e.length)throw Do("invalid address: "+r);if(c.path===!0){t.push([s,Cn(e.slice(n).join("/"))]);break}t.push([s,e[n]])}return t}function Sp(r){let t=[];return r.map(e=>{let n=Je(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Cn(t.join("/"))}function Tp(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=Je(t);return t.length>1?[e.code,Bo(e.code,t[1])]:[e.code]})}function xn(r){return r.map(t=>{let e=Je(t);return t[1]!=null?[e.code,Io(e.code,t[1])]:[e.code]})}function Sn(r){return Ze(Ct(r.map(t=>{let e=Je(t),n=Uint8Array.from(ue.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=Ct([n,t[1]])),n})))}function Tn(r,t){return r.size>0?r.size/8:r.size===0?0:ue.default.decode(t)+(ue.default.decode.bytes??0)}function He(r){let t=[],e=0;for(;e<r.length;){let n=ue.default.decode(r,e),s=ue.default.decode.bytes??0,c=N(n),u=Tn(c,r.slice(e+s));if(u===0){t.push([n]),e+=s;continue}let h=r.slice(e+s,e+s+u);if(e+=u+s,e>r.length)throw Do("Invalid address Uint8Array: "+st(r,"base16"));t.push([n,h])}return t}function En(r){let t=He(r),e=xn(t);return Sp(e)}function Ep(r){r=Cn(r);let t=xp(r),e=Tp(t);return Sn(e)}function Mo(r){return Ep(r)}function Ze(r){let t=Cp(r);if(t!=null)throw t;return Uint8Array.from(r)}function Cp(r){try{He(r)}catch(t){return t}}function Cn(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Do(r){return new Error("Error parsing address: "+r)}function Je(r){return N(r[0])}var Ip=Symbol.for("nodejs.util.inspect.custom"),Bp=[N("dns").code,N("dns4").code,N("dns6").code,N("dnsaddr").code],Rp=new Map,Oo=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Mp(r){return!!r?.[Oo]}var At=class{bytes;#t;#r;#n;#e;[Oo]=!0;constructor(t){if(t==null&&(t=""),t instanceof Uint8Array)this.bytes=Ze(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Mo(t)}else if(Mp(t))this.bytes=Ze(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#t==null&&(this.#t=En(this.bytes)),this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,s,c="",u=N("tcp"),h=N("udp"),m=N("ip4"),I=N("ip6"),p=N("dns6"),g=N("ip6zone");for(let[E,l]of this.stringTuples())E===g.code&&(c=`%${l??""}`),Bp.includes(E)&&(e=u.name,s=443,n=`${l??""}${c}`,t=E===p.code?6:4),(E===u.code||E===h.code)&&(e=N(E).name,s=parseInt(l??"")),(E===m.code||E===I.code)&&(e=N(E).name,n=`${l??""}${c}`,t=E===I.code?6:4);if(t==null||e==null||n==null||s==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:s}}protos(){return this.protoCodes().map(t=>Object.assign({},N(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let s=An.default.decode(e,n),c=An.default.decode.bytes??0,u=N(s),h=Tn(u,e.slice(n+c));n+=h+c,t.push(s)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return this.#r==null&&(this.#r=He(this.bytes)),this.#r}stringTuples(){return this.#n==null&&(this.#n=xn(this.tuples())),this.#n}encapsulate(t){return t=new At(t),new At(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),s=n.lastIndexOf(e);if(s<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new At(n.slice(0,s))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new At(Sn(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===Ae.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?st(nt.decode(`z${n}`),"base58btc"):st(_.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#e===void 0)try{this.#e=this.stringTuples().filter(t=>N(t[0]).path===!0)[0][1],this.#e==null&&(this.#e=null)}catch{this.#e=null}return this.#e}equals(t){return Us(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(c=>c.resolvable);if(e==null)return[this];let n=Rp.get(e.name);if(n==null)throw new Ue(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(c=>new At(c))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[Ip](){return`Multiaddr(${En(this.bytes)})`}};function St(r){return new At(r)}var Dp=x("dns4"),Op=x("dns6"),Pp=x("dnsaddr"),qt=q(x("dns"),Pp,Dp,Op),Qe=q(x("ip4"),x("ip6")),Ft=q(A(Qe,x("tcp")),A(qt,x("tcp"))),Ke=A(Qe,x("udp")),kp=A(Ke,x("utp")),Np=A(Ke,x("quic")),Fp=A(Ke,x("quic-v1")),In=q(A(Ft,x("ws")),A(qt,x("ws"))),Xe=q(A(In,x("p2p")),In),Bn=q(A(Ft,x("wss")),A(qt,x("wss")),A(Ft,x("tls"),x("ws")),A(qt,x("tls"),x("ws"))),We=q(A(Bn,x("p2p")),Bn),Rn=q(A(Ft,x("http")),A(Qe,x("http")),A(qt,x("http"))),Mn=q(A(Ft,x("https")),A(Qe,x("https")),A(qt,x("https"))),Po=A(Ke,x("webrtc-direct"),x("certhash")),Fo=q(A(Po,x("p2p")),Po),ko=A(Fp,x("webtransport"),x("certhash"),x("certhash")),Uo=q(A(ko,x("p2p")),ko),_o=q(A(Xe,x("p2p-webrtc-star"),x("p2p")),A(We,x("p2p-webrtc-star"),x("p2p")),A(Xe,x("p2p-webrtc-star")),A(We,x("p2p-webrtc-star"))),qm=q(A(Xe,x("p2p-websocket-star"),x("p2p")),A(We,x("p2p-websocket-star"),x("p2p")),A(Xe,x("p2p-websocket-star")),A(We,x("p2p-websocket-star"))),Lo=q(A(Rn,x("p2p-webrtc-direct"),x("p2p")),A(Mn,x("p2p-webrtc-direct"),x("p2p")),A(Rn,x("p2p-webrtc-direct")),A(Mn,x("p2p-webrtc-direct"))),Gt=q(In,Bn,Rn,Mn,_o,Lo,Ft,kp,Np,qt,Fo,Uo),Gm=q(A(Gt,x("p2p-stardust"),x("p2p")),A(Gt,x("p2p-stardust"))),Nt=q(A(Gt,x("p2p")),_o,Lo,Fo,Uo,x("p2p")),No=q(A(Nt,x("p2p-circuit"),Nt),A(Nt,x("p2p-circuit")),A(x("p2p-circuit"),Nt),A(Gt,x("p2p-circuit")),A(x("p2p-circuit"),Gt),x("p2p-circuit")),$o=()=>q(A(No,$o),No),jt=$o(),Hm=q(A(jt,Nt,jt),A(Nt,jt),A(jt,Nt),jt,Nt);var Zm=q(A(jt,x("webrtc"),x("p2p")),A(jt,x("webrtc")),A(Gt,x("webrtc"),x("p2p")),A(Gt,x("webrtc")),x("webrtc"));function zo(r){function t(e){let n;try{n=St(e)}catch{return!1}let s=r(n.protoNames());return s===null?!1:s===!0||s===!1?s:s.length===0}return t}function A(...r){function t(e){if(e.length<r.length)return null;let n=e;return r.some(s=>(n=typeof s=="function"?s().partialMatch(e):s.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:zo(t),partialMatch:t}}function q(...r){function t(n){let s=null;return r.some(c=>{let u=typeof c=="function"?c().partialMatch(n):c.partialMatch(n);return u!=null?(s=u,!0):!1}),s}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:zo(t),partialMatch:t}}function x(r){let t=r;function e(s){let c;try{c=St(s)}catch{return!1}let u=c.protoNames();return u.length===1&&u[0]===t}function n(s){return s.length===0?null:s[0]===t?s.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:n}}var pi=X(yt("net"),1);var Ye=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let s=this.#t.get(t);s!=null&&(s=s.filter(({callback:c})=>c!==e),this.#t.set(t,s))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:s})=>!s),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new pe(t,e))}},Dn=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},pe=globalThis.CustomEvent??Dn;function tr(r){return this.subnetMask<r.subnetMask?!1:this.mask(r.subnetMask)===r.mask()}function er(r){return function(){return this.addressMinusSuffix!==this.correctForm()?!1:this.subnetMask===r&&!this.parsedSubnet?!0:this.parsedSubnet===String(this.subnetMask)}}var le=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g,On=/\/\d{1,2}$/;var K=class extends Error{constructor(t,e){super(t),this.name="AddressError",e!==null&&(this.parseMessage=e)}};var he=X(Pn(),1),Ht=X(Ie(),1),L=class{constructor(t){this.groups=4,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=er(32),this.isInSubnet=tr,this.address=t;let e=On.exec(t);if(e){if(this.parsedSubnet=e[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>32)throw new K("Invalid subnet mask.");t=t.replace(On,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new L(t),!0}catch{return!1}}parse(t){let e=t.split(".");if(!t.match(le))throw new K("Invalid IPv4 address.");return e}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let e=t.replace(/:/g,"").padStart(8,"0"),n=[],s;for(s=0;s<8;s+=2){let c=e.slice(s,s+2);n.push(parseInt(c,16))}return new L(n.join("."))}static fromInteger(t){return L.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new L(n)}toHex(){return this.parsedAddress.map(t=>(0,Ht.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],e;for(e=0;e<4;e+=2){let n=(0,Ht.sprintf)("%02x%02x",parseInt(this.parsedAddress[e],10),parseInt(this.parsedAddress[e+1],10));t.push((0,Ht.sprintf)("%x",parseInt(n,16)))}return t.join(":")}bigInteger(){return new he.BigInteger(this.parsedAddress.map(t=>(0,Ht.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new he.BigInteger(this.mask()+"0".repeat(32-this.subnetMask),2)}startAddress(){return L.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new he.BigInteger("1");return L.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new he.BigInteger(this.mask()+"1".repeat(32-this.subnetMask),2)}endAddress(){return L.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new he.BigInteger("1");return L.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return L.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,e){return this.binaryZeroPad().slice(t,e)}reverseForm(t){t||(t={});let e=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?e:(0,Ht.sprintf)("%s.in-addr.arpa.",e)}isMulticast(){return this.isInSubnet(new L("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(32,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(le,(0,Ht.sprintf)('<span class="hover-group group-v4 group-6">%s</span>.<span class="hover-group group-v4 group-7">%s</span>',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};var Ho={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"},kn={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"},Nn=/([^0-9a-f:/%])/gi,Fn=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,Un=/\/\d{1,3}(?=%|$)/,_n=/%.*$/,Zo=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/),Jo=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/);var Wo=X(Ie(),1);function _p(r){return r.replace(/^(0+)/,'<span class="zero">$1</span>')}function sr(r,t=0){return r.split(":").map((n,s)=>/group-v4/.test(n)?n:(0,Wo.sprintf)('<span class="hover-group group-%d">%s</span>',s+t,_p(n)))}var Jt=X(Ie(),1);function $n(r){return(0,Jt.sprintf)("(%s)",r.join("|"))}function Ln(r){return r.length<4?(0,Jt.sprintf)("0{0,%d}%s",4-r.length,r):r}var zn="[^A-Fa-f0-9:]";function or(r){let t=[];r.forEach((n,s)=>{parseInt(n,16)===0&&t.push(s)});let e=t.map(n=>r.map((s,c)=>{if(c===n){let u=c===0||c===8-1?":":"";return $n([Ln(s),u])}return Ln(s)}).join(":"));return e.push(r.map(Ln).join(":")),$n(e)}function Vn(r,t,e){let n=t?"":":",s=e?"":":",c=[];!t&&!e&&c.push("::"),t&&e&&c.push(""),(e&&!t||!e&&t)&&c.push(":"),c.push((0,Jt.sprintf)("%s(:0{1,4}){1,%d}",n,r-1)),c.push((0,Jt.sprintf)("(0{1,4}:){1,%d}%s",r-1,s)),c.push((0,Jt.sprintf)("(0{1,4}:){%d}0{1,4}",r-1));for(let u=1;u<r-1;u++)for(let h=1;h<r-u;h++)c.push((0,Jt.sprintf)("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}",h,r-h-u-1));return $n(c)}var Y=X(Pn(),1),tt=X(Ie(),1);function ir(r){if(!r)throw new Error("Assertion failed.")}function Lp(r){let t=/(\d+)(\d{3})/;for(;t.test(r);)r=r.replace(t,"$1,$2");return r}function $p(r){return r=r.replace(/^(0{1,})([1-9]+)$/,'<span class="parse-error">$1</span>$2'),r=r.replace(/^(0{1,})(0)$/,'<span class="parse-error">$1</span>$2'),r}function zp(r,t){let e=[],n=[],s;for(s=0;s<r.length;s++)s<t[0]?e.push(r[s]):s>t[1]&&n.push(r[s]);return e.concat(["compact"]).concat(n)}function Ko(r){return(0,tt.sprintf)("%04x",parseInt(r,16))}function Yo(r){return r&255}var V=class{constructor(t,e){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=tr,this.isCorrect=er(128),e===void 0?this.groups=8:this.groups=e,this.address=t;let n=Un.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>128)throw new K("Invalid subnet mask.");t=t.replace(Un,"")}else if(/\//.test(t))throw new K("Invalid subnet mask.");let s=_n.exec(t);s&&(this.zone=s[0],t=t.replace(_n,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new V(t),!0}catch{return!1}}static fromBigInteger(t){let e=t.toString(16).padStart(32,"0"),n=[],s;for(s=0;s<8;s++)n.push(e.slice(s*4,(s+1)*4));return new V(n.join(":"))}static fromURL(t){let e,n=null,s;if(t.indexOf("[")!==-1&&t.indexOf("]:")!==-1){if(s=Jo.exec(t),s===null)return{error:"failed to parse address with port",address:null,port:null};e=s[1],n=s[2]}else if(t.indexOf("/")!==-1){if(t=t.replace(/^[a-z0-9]+:\/\//,""),s=Zo.exec(t),s===null)return{error:"failed to parse address from URL",address:null,port:null};e=s[1]}else e=t;return n?(n=parseInt(n,10),(n<0||n>65536)&&(n=null)):n=null,{address:new V(e),port:n}}static fromAddress4(t){let e=new L(t),n=128-(32-e.subnetMask);return new V(`::ffff:${e.correctForm()}/${n}`)}static fromArpa(t){let e=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(e.length!==63)throw new K("Invalid 'ip6.arpa' form.");let s=e.split(".").reverse();for(let c=n;c>0;c--){let u=c*4;s.splice(u,0,":")}return e=s.join(""),new V(e)}microsoftTranscription(){return(0,tt.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let e=128-this.subnetMask,n=Math.abs(t-128),s=e-n;return s<0?"0":Lp(new Y.BigInteger("2",10).pow(s).toString(10))}_startAddress(){return new Y.BigInteger(this.mask()+"0".repeat(128-this.subnetMask),2)}startAddress(){return V.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new Y.BigInteger("1");return V.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new Y.BigInteger(this.mask()+"1".repeat(128-this.subnetMask),2)}endAddress(){return V.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new Y.BigInteger("1");return V.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=Ho[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(kn))if(this.isInSubnet(new V(t)))return kn[t];return"Global unicast"}getBits(t,e){return new Y.BigInteger(this.getBitsBase2(t,e),2)}getBitsBase2(t,e){return this.binaryZeroPad().slice(t,e)}getBitsBase16(t,e){let n=e-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,e).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,128)}reverseForm(t){t||(t={});let e=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,e).reverse().join(".");return e>0?t.omitSuffix?n:(0,tt.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,e=[],n=0,s=[];for(t=0;t<this.parsedAddress.length;t++){let h=parseInt(this.parsedAddress[t],16);h===0&&n++,h!==0&&n>0&&(n>1&&s.push([t-n,t-1]),n=0)}n>1&&s.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let c=s.map(h=>h[1]-h[0]+1);if(s.length>0){let h=c.indexOf(Math.max(...c));e=zp(this.parsedAddress,s[h])}else e=this.parsedAddress;for(t=0;t<e.length;t++)e[t]!=="compact"&&(e[t]=parseInt(e[t],16).toString(16));let u=e.join(":");return u=u.replace(/^compact$/,"::"),u=u.replace(/^compact|compact$/,":"),u=u.replace(/compact/,""),u}binaryZeroPad(){return this.bigInteger().toString(2).padStart(128,"0")}parse4in6(t){let e=t.split(":"),s=e.slice(-1)[0].match(le);if(s){this.parsedAddress4=s[0],this.address4=new L(this.parsedAddress4);for(let c=0;c<this.address4.groups;c++)if(/^0[0-9]+/.test(this.address4.parsedAddress[c]))throw new K("IPv4 addresses can't have leading zeroes.",t.replace(le,this.address4.parsedAddress.map($p).join(".")));this.v4=!0,e[e.length-1]=this.address4.toGroup6(),t=e.join(":")}return t}parse(t){t=this.parse4in6(t);let e=t.match(Nn);if(e)throw new K((0,tt.sprintf)("Bad character%s detected in address: %s",e.length>1?"s":"",e.join("")),t.replace(Nn,'<span class="parse-error">$1</span>'));let n=t.match(Fn);if(n)throw new K((0,tt.sprintf)("Address failed regex: %s",n.join("")),t.replace(Fn,'<span class="parse-error">$1</span>'));let s=[],c=t.split("::");if(c.length===2){let u=c[0].split(":"),h=c[1].split(":");u.length===1&&u[0]===""&&(u=[]),h.length===1&&h[0]===""&&(h=[]);let m=this.groups-(u.length+h.length);if(!m)throw new K("Error parsing groups");this.elidedGroups=m,this.elisionBegin=u.length,this.elisionEnd=u.length+this.elidedGroups,s=s.concat(u);for(let I=0;I<m;I++)s.push("0");s=s.concat(h)}else if(c.length===1)s=t.split(":"),this.elidedGroups=0;else throw new K("Too many :: groups found");if(s=s.map(u=>(0,tt.sprintf)("%x",parseInt(u,16))),s.length!==this.groups)throw new K("Incorrect number of groups found");return s}canonicalForm(){return this.parsedAddress.map(Ko).join(":")}decimal(){return this.parsedAddress.map(t=>(0,tt.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new Y.BigInteger(this.parsedAddress.map(Ko).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return L.fromHex(new Y.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new V(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),s="";return/:$/.test(n)||(s=":"),n+s+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),e=this.getBits(80,96).xor(new Y.BigInteger("ffff",16)).toString(),n=L.fromHex(this.getBitsBase16(32,64)),s=L.fromHex(this.getBits(96,128).xor(new Y.BigInteger("ffffffff",16)).toString(16)),c=this.getBits(64,80),u=this.getBitsBase2(64,80),h=c.testBit(15),m=c.testBit(14),I=c.testBit(8),p=c.testBit(9),g=new Y.BigInteger(u.slice(2,6)+u.slice(8,16),2).toString(10);return{prefix:(0,tt.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:s.address,flags:u,coneNat:h,microsoft:{reserved:m,universalLocal:p,groupIndividual:I,nonce:g},udpPort:e}}inspect6to4(){let t=this.getBitsBase16(0,16),e=L.fromHex(this.getBitsBase16(16,48));return{prefix:(0,tt.sprintf)("%s",t.slice(0,4)),gateway:e.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new V(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(Yo)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(Yo))}static fromUnsignedByteArray(t){let e=new Y.BigInteger("256",10),n=new Y.BigInteger("0",10),s=new Y.BigInteger("1",10);for(let c=t.length-1;c>=0;c--)n=n.add(s.multiply(new Y.BigInteger(t[c].toString(10),10))),s=s.multiply(e);return V.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new V("2001::/32"))}is6to4(){return this.isInSubnet(new V("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,tt.sprintf)(":%s",t),(0,tt.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let e=this.correctForm;return t.v4&&(e=this.to4in6),t.className?(0,tt.sprintf)('<a href="%1$s%2$s" class="%3$s">%2$s</a>',t.prefix,e.call(this),t.className):(0,tt.sprintf)('<a href="%1$s%2$s">%2$s</a>',t.prefix,e.call(this))}group(){if(this.elidedGroups===0)return sr(this.address).join(":");ir(typeof this.elidedGroups=="number"),ir(typeof this.elisionBegin=="number");let t=[],[e,n]=this.address.split("::");e.length?t.push(...sr(e)):t.push("");let s=["hover-group"];for(let c=this.elisionBegin;c<this.elisionBegin+this.elidedGroups;c++)s.push((0,tt.sprintf)("group-%d",c));return t.push((0,tt.sprintf)('<span class="%s"></span>',s.join(" "))),n.length?t.push(...sr(n,this.elisionEnd)):t.push(""),this.is4()&&(ir(this.address4 instanceof L),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let e=[],n=new V(this.correctForm());if(n.elidedGroups===0)e.push(or(n.parsedAddress));else if(n.elidedGroups===8)e.push(Vn(8));else{let s=n.address.split("::");s[0].length&&e.push(or(s[0].split(":"))),ir(typeof n.elidedGroups=="number"),e.push(Vn(n.elidedGroups,s[0].length!==0,s[1].length!==0)),s[1].length&&e.push(or(s[1].split(":"))),e=[e.join(":")]}return t||(e=["(?=^|",zn,"|[^\\w\\:])(",...e,")(?=[^\\w\\:]|",zn,"|$)"]),e.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};var Vp=Dt("libp2p:ip-port-to-multiaddr"),jn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function ti(r,t){if(typeof r!="string")throw new pt(`invalid ip provided: ${r}`,jn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new pt(`invalid port provided: ${t}`,jn.ERR_INVALID_PORT_PARAMETER);try{return new L(r),St(`/ip4/${r}/tcp/${t}`)}catch{}try{let e=new V(r);return e.is4()?St(`/ip4/${e.to4().correctForm()}/tcp/${t}`):St(`/ip6/${r}/tcp/${t}`)}catch{let n=`invalid ip:port for creating a multiaddr: ${r}:${t}`;throw Vp.error(n),new pt(n,jn.ERR_INVALID_IP)}}var ui=X(ci(),1);var Hn=X(yt("os"),1),fi=X(yt("path"),1);var Zp={ip4:"IPv4",ip6:"IPv6"};function be(r,t={}){let e=r.getPath();return e!=null?Hn.default.platform()==="win32"?{path:fi.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...r.toOptions(),...t}}function Zn(r,t,e){let n=s=>St(`/${r}/${s}/tcp/${e}`);return(Jp(t)?Wp(Zp[r]):[t]).map(n)}function Jp(r){return["0.0.0.0","::"].includes(r)}var Xp=Hn.default.networkInterfaces();function Wp(r){let t=[];for(let[,e]of Object.entries(Xp))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var wt=Dt("libp2p:tcp:socket"),cr=(r,t)=>{let e=t.metrics,n=t.metricPrefix??"",s=t.socketInactivityTimeout??3e5,c=t.socketCloseTimeout??2e3;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let u;if(t.remoteAddr!=null)u=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new pt("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");u=ti(r.remoteAddress,r.remotePort)}let h=be(u),m=h.path??`${h.host??""}:${h.port??""}`,{sink:I,source:p}=ui.default.duplex(r);r.setTimeout(s,()=>{wt("%s socket read timeout",m),e?.increment({[`${n}timeout`]:!0});let y;r.readable&&(y=new pt("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(y)}),r.once("close",()=>{wt("%s socket close",m),e?.increment({[`${n}close`]:!0}),g.timeline.close==null&&(g.timeline.close=Date.now())}),r.once("end",()=>{wt("%s socket end",m),e?.increment({[`${n}end`]:!0})});let g={async sink(y){try{await I(y)}catch(E){E.type!=="aborted"&&wt(E)}r.end()},source:p,remoteAddr:u,timeline:{open:Date.now()},async close(){if(r.destroyed){wt("%s socket was already destroyed when trying to close",m);return}wt("%s closing socket",m),await new Promise((y,E)=>{let l=Date.now(),v;r.once("close",()=>{wt("%s socket closed",m),v!==void 0&&clearTimeout(v),y()}),r.once("error",B=>{wt("%s socket error",m,B),g.timeline.close==null&&(g.timeline.close=Date.now()),r.destroyed&&v!==void 0&&clearTimeout(v),E(B)}),r.setTimeout(c),r.end(),r.writableLength>0?(v=setTimeout(()=>{r.destroyed?(wt("%s is already destroyed",m),y()):(wt("%s socket close timeout after %dms, destroying it manually",m,Date.now()-l),r.destroy(new pt("Socket close timeout","ERR_SOCKET_CLOSE_TIMEOUT")))},c).unref(),r.once("drain",()=>{wt("%s socket drained",m),r.destroy()})):r.destroy()})}};return g};var ft=Dt("libp2p:tcp:listener");async function Jn(r){try{await r.close()}catch(t){ft.error("an error occurred closing the connection",t)}}var Yp=1,tl=0,fr=class extends Ye{context;server;connections=new Set;status={started:!1};metrics;addr;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,this.addr="unknown",this.server=pi.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw Error("closeAbove must be >= listenBelow");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.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:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:Yp})}this.dispatchEvent(new pe("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new pe("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:tl}),this.dispatchEvent(new pe("close"))})}onSocket(t){t.on("error",n=>{ft("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=cr(t,{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){ft.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}ft("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(n=>{ft("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e),this.context.closeServerOnMaxConnections!=null&&this.connections.size<this.context.closeServerOnMaxConnections.listenBelow&&this.netListen().catch(s=>{ft.error("error attempting to listen server once connection count under limit",s),this.context.closeServerOnMaxConnections?.onListenError?.(s)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.netClose(),this.dispatchEvent(new pe("connection",{detail:n}))}).catch(async n=>{ft.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await Jn(e)}).catch(n=>{ft.error("closing inbound connection failed",n)})}catch(n){ft.error("inbound connection failed",n),Jn(e).catch(s=>{ft.error("closing inbound connection failed",s),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(!this.status.started)return[];let t=[],e=this.server.address(),{listeningAddr:n,peerId:s}=this.status;if(e==null)return[];if(typeof e=="string")t=[n];else try{n.toString().startsWith("/ip4")?t=t.concat(Zn("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(Zn("ip6",e.address,e.port)))}catch(c){ft.error("could not turn %s:%s into multiaddr",e.address,e.port,c)}return t.map(c=>s!=null?c.encapsulate(`/p2p/${s}`):c)}async listen(t){if(this.status.started)throw Error("server is already listening");let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t,{backlog:s}=this.context;this.status={started:!0,listeningAddr:n,peerId:e,netConfig:be(n,{backlog:s})},await this.netListen()}async close(){await Promise.all(Array.from(this.connections.values()).map(async t=>{await Jn(t)})),this.netClose()}async netListen(){if(!this.status.started||this.server.listening)return;let t=this.status.netConfig;await new Promise((e,n)=>{this.server.once("error",n),this.server.listen(t,e)}),ft("Listening on %s",this.server.address())}netClose(){!this.status.started||!this.server.listening||(ft("Closing server on %s",this.server.address()),this.server.close())}};var Bt=Dt("libp2p:tcp"),Wn=class{opts;metrics;components;constructor(t,e={}){this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[os]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(t,e){e.keepAlive=e.keepAlive??!0;let n=await this._connect(t,e);n.on("error",h=>{Bt("socket error",h)});let s=cr(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),c=()=>{s.close().catch(h=>{Bt.error("Error closing maConn after abort",h)})};e.signal?.addEventListener("abort",c,{once:!0}),Bt("new outbound connection %s",s.remoteAddr);let u=await e.upgrader.upgradeOutbound(s);if(Bt("outbound connection %s upgraded",s.remoteAddr),e.signal?.removeEventListener("abort",c),e.signal?.aborted===!0)throw u.close().catch(h=>{Bt.error("Error closing conn after abort",h)}),new Mt;return u}async _connect(t,e){if(e.signal?.aborted===!0)throw new Mt;return new Promise((n,s)=>{let c=Date.now(),u=be(t),h=u.path??`${u.host??""}:${u.port}`;Bt("dialing %j",u);let m=li.default.connect(u),I=l=>{l.message=`connection error ${h}: ${l.message}`,this.metrics?.dialerEvents.increment({error:!0}),E(l)},p=()=>{Bt("connection timeout %s",h),this.metrics?.dialerEvents.increment({timeout:!0});let l=new pt(`connection timeout after ${Date.now()-c}ms`,"ERR_CONNECT_TIMEOUT");m.emit("error",l)},g=()=>{Bt("connection opened %j",u),this.metrics?.dialerEvents.increment({connect:!0}),E()},y=()=>{Bt("connection aborted %j",u),this.metrics?.dialerEvents.increment({abort:!0}),m.destroy(),E(new Mt)},E=l=>{if(m.removeListener("error",I),m.removeListener("timeout",p),m.removeListener("connect",g),e.signal!=null&&e.signal.removeEventListener("abort",y),l!=null){s(l);return}n(m)};m.on("error",I),m.on("timeout",p),m.on("connect",g),e.signal!=null&&e.signal.addEventListener("abort",y)})}createListener(t){return new fr({...t,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(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:Ft.matches(e.decapsulateCode(421)))}};function nl(r={}){return(t={})=>new Wn(t,r)}return Ya(sl);})();
|
|
7
7
|
return Libp2PTcp}));
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type CreateListenerOptions, type DialOptions, type Transport } from '@libp2p/interface/transport';
|
|
2
|
+
import { type CloseServerOnMaxConnectionsOpts } from './listener.js';
|
|
3
|
+
import type { CounterGroup, Metrics } from '@libp2p/interface/metrics';
|
|
3
4
|
import type { AbortOptions } from '@multiformats/multiaddr';
|
|
4
|
-
import type { CounterGroup, Metrics } from '@libp2p/interface-metrics';
|
|
5
5
|
export interface TCPOptions {
|
|
6
6
|
/**
|
|
7
7
|
* An optional number in ms that is used as an inactivity timeout after which the socket will be closed
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,WAAW,EAAU,KAAK,SAAS,EAAiB,MAAM,6BAA6B,CAAA;AAIjI,OAAO,EAAE,KAAK,+BAA+B,EAAe,MAAM,eAAe,CAAA;AAIjF,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,yBAAyB,CAAA;AAKtE,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAA;IAEvC;;OAEG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAA;IAExC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,2BAA2B,CAAC,EAAE,+BAA+B,CAAA;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW,EAAE,gBAAgB;CAEpE;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB,EAAE,gBAAgB;CAExF;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,YAAY,CAAA;CAC3B;AA4KD,wBAAgB,GAAG,CAAE,IAAI,GAAE,UAAe,GAAG,CAAC,UAAU,CAAC,EAAE,aAAa,KAAK,SAAS,CAIrF"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import net from 'net';
|
|
2
|
-
import
|
|
2
|
+
import { AbortError, CodeError } from '@libp2p/interface/errors';
|
|
3
|
+
import { symbol } from '@libp2p/interface/transport';
|
|
3
4
|
import { logger } from '@libp2p/logger';
|
|
4
|
-
import
|
|
5
|
+
import * as mafmt from '@multiformats/mafmt';
|
|
6
|
+
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js';
|
|
5
7
|
import { TCPListener } from './listener.js';
|
|
8
|
+
import { toMultiaddrConnection } from './socket-to-conn.js';
|
|
6
9
|
import { multiaddrToNetConfig } from './utils.js';
|
|
7
|
-
import { AbortError, CodeError } from '@libp2p/interfaces/errors';
|
|
8
|
-
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js';
|
|
9
|
-
import { symbol } from '@libp2p/interface-transport';
|
|
10
10
|
const log = logger('libp2p:tcp');
|
|
11
11
|
class TCP {
|
|
12
|
+
opts;
|
|
13
|
+
metrics;
|
|
14
|
+
components;
|
|
12
15
|
constructor(components, options = {}) {
|
|
13
16
|
this.opts = options;
|
|
14
17
|
this.components = components;
|
|
@@ -21,12 +24,8 @@ class TCP {
|
|
|
21
24
|
};
|
|
22
25
|
}
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
get [Symbol.toStringTag]() {
|
|
28
|
-
return '@libp2p/tcp';
|
|
29
|
-
}
|
|
27
|
+
[symbol] = true;
|
|
28
|
+
[Symbol.toStringTag] = '@libp2p/tcp';
|
|
30
29
|
async dial(ma, options) {
|
|
31
30
|
options.keepAlive = options.keepAlive ?? true;
|
|
32
31
|
// options.signal destroys the socket before 'connect' event
|
|
@@ -63,7 +62,7 @@ class TCP {
|
|
|
63
62
|
if (options.signal?.aborted === true) {
|
|
64
63
|
throw new AbortError();
|
|
65
64
|
}
|
|
66
|
-
return
|
|
65
|
+
return new Promise((resolve, reject) => {
|
|
67
66
|
const start = Date.now();
|
|
68
67
|
const cOpts = multiaddrToNetConfig(ma);
|
|
69
68
|
const cOptsStr = cOpts.path ?? `${cOpts.host ?? ''}:${cOpts.port}`;
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/listener.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { EventEmitter } from '@libp2p/
|
|
2
|
-
import type { Connection } from '@libp2p/interface-connection';
|
|
3
|
-
import type { Upgrader, Listener, ListenerEvents } from '@libp2p/interface-transport';
|
|
4
|
-
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
1
|
+
import { EventEmitter } from '@libp2p/interface/events';
|
|
5
2
|
import type { TCPCreateListenerOptions } from './index.js';
|
|
6
|
-
import type {
|
|
3
|
+
import type { Connection } from '@libp2p/interface/connection';
|
|
4
|
+
import type { CounterGroup, MetricGroup, Metrics } from '@libp2p/interface/metrics';
|
|
5
|
+
import type { Listener, ListenerEvents, Upgrader } from '@libp2p/interface/transport';
|
|
6
|
+
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
7
7
|
export interface CloseServerOnMaxConnectionsOpts {
|
|
8
8
|
/** Server listens once connection count is less than `listenBelow` */
|
|
9
9
|
listenBelow: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,0BAA0B,CAAA;AASpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAexD,MAAM,WAAW,+BAA+B;IAC9C,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAA;IACnB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;CACrC;AAED,UAAU,OAAQ,SAAQ,wBAAwB;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACpC,QAAQ,EAAE,QAAQ,CAAA;IAClB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2BAA2B,CAAC,EAAE,+BAA+B,CAAA;CAC9D;AAKD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;CACrB;AASD,qBAAa,WAAY,SAAQ,YAAY,CAAC,cAAc,CAAE,YAAW,QAAQ;IAQlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,IAAI,CAAQ;gBAEU,OAAO,EAAE,OAAO;IAiF9C,OAAO,CAAC,QAAQ;IAgFhB,QAAQ,IAAK,SAAS,EAAE;IAgClB,MAAM,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrC,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;YASf,SAAS;IAgBvB,OAAO,CAAC,QAAQ;CAwBjB"}
|
package/dist/src/listener.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import net from 'net';
|
|
2
|
+
import { EventEmitter, CustomEvent } from '@libp2p/interface/events';
|
|
2
3
|
import { logger } from '@libp2p/logger';
|
|
3
|
-
import { toMultiaddrConnection } from './socket-to-conn.js';
|
|
4
4
|
import { CODE_P2P } from './constants.js';
|
|
5
|
+
import { toMultiaddrConnection } from './socket-to-conn.js';
|
|
5
6
|
import { getMultiaddrs, multiaddrToNetConfig } from './utils.js';
|
|
6
|
-
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events';
|
|
7
7
|
const log = logger('libp2p:tcp:listener');
|
|
8
8
|
/**
|
|
9
9
|
* Attempts to close the given maConn. If a failure occurs, it will be logged
|
|
@@ -19,12 +19,16 @@ async function attemptClose(maConn) {
|
|
|
19
19
|
const SERVER_STATUS_UP = 1;
|
|
20
20
|
const SERVER_STATUS_DOWN = 0;
|
|
21
21
|
export class TCPListener extends EventEmitter {
|
|
22
|
+
context;
|
|
23
|
+
server;
|
|
24
|
+
/** Keep track of open connections to destroy in case of timeout */
|
|
25
|
+
connections = new Set();
|
|
26
|
+
status = { started: false };
|
|
27
|
+
metrics;
|
|
28
|
+
addr;
|
|
22
29
|
constructor(context) {
|
|
23
30
|
super();
|
|
24
31
|
this.context = context;
|
|
25
|
-
/** Keep track of open connections to destroy in case of timeout */
|
|
26
|
-
this.connections = new Set();
|
|
27
|
-
this.status = { started: false };
|
|
28
32
|
context.keepAlive = context.keepAlive ?? true;
|
|
29
33
|
this.addr = 'unknown';
|
|
30
34
|
this.server = net.createServer(context, this.onSocket.bind(this));
|
package/dist/src/listener.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MultiaddrConnection } from '@libp2p/interface/connection';
|
|
2
|
+
import type { CounterGroup } from '@libp2p/interface/metrics';
|
|
2
3
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
3
|
-
import type {
|
|
4
|
-
import type { CounterGroup } from '@libp2p/interface-metrics';
|
|
4
|
+
import type { Socket } from 'net';
|
|
5
5
|
interface ToConnectionOptions {
|
|
6
6
|
listeningAddr?: Multiaddr;
|
|
7
7
|
remoteAddr?: Multiaddr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-to-conn.d.ts","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"socket-to-conn.d.ts","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAIjC,UAAU,mBAAmB;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,WAAY,MAAM,WAAW,mBAAmB,KAAG,mBAuKpF,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors';
|
|
1
2
|
import { logger } from '@libp2p/logger';
|
|
3
|
+
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr';
|
|
2
4
|
// @ts-expect-error no types
|
|
3
5
|
import toIterable from 'stream-to-it';
|
|
4
|
-
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr';
|
|
5
6
|
import { CLOSE_TIMEOUT, SOCKET_TIMEOUT } from './constants.js';
|
|
6
7
|
import { multiaddrToNetConfig } from './utils.js';
|
|
7
|
-
import { CodeError } from '@libp2p/interfaces/errors';
|
|
8
8
|
const log = logger('libp2p:tcp:socket');
|
|
9
9
|
/**
|
|
10
10
|
* Convert a socket into a MultiaddrConnection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAIpF,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAA;AAErF,wBAAgB,oBAAoB,CAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAE,SAAc,GAAG,SAAS,CAexF;AAED,wBAAgB,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAG1F;AAED,wBAAgB,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAE9C"}
|
package/dist/src/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { multiaddr } from '@multiformats/multiaddr';
|
|
2
1
|
import os from 'os';
|
|
3
2
|
import path from 'path';
|
|
3
|
+
import { multiaddr } from '@multiformats/multiaddr';
|
|
4
4
|
const ProtoFamily = { ip4: 'IPv4', ip6: 'IPv6' };
|
|
5
5
|
export function multiaddrToNetConfig(addr, config = {}) {
|
|
6
6
|
const listenPath = addr.getPath();
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;AAIhD,MAAM,UAAU,oBAAoB,CAAE,IAAe,EAAE,SAAoB,EAAE;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IAEjC,wBAAwB;IACxB,IAAI,UAAU,IAAI,IAAI,EAAE;QACtB,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE;YAC7B,sCAAsC;YACtC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAA;SACxD;aAAM;YACL,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;SAC5B;KACF;IAED,gBAAgB;IAChB,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAE,KAAoB,EAAE,EAAU,EAAE,IAAY;IAC3E,MAAM,IAAI,GAAG,CAAC,EAAU,EAAa,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IAChF,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,SAAS,CAAE,EAAU;IACnC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,QAAQ,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAA;AAEvC,SAAS,eAAe,CAAE,MAAc;IACtC,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACnD,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;oBAC7B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;iBAChC;aACF;SACF;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/tcp",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3-6fdaa7dc",
|
|
4
4
|
"description": "A TCP transport for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
|
-
"homepage": "https://github.com/libp2p/js-libp2p-tcp#readme",
|
|
6
|
+
"homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/transport-tcp#readme",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/libp2p/js-libp2p
|
|
9
|
+
"url": "git+https://github.com/libp2p/js-libp2p.git"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/libp2p/js-libp2p
|
|
12
|
+
"url": "https://github.com/libp2p/js-libp2p/issues"
|
|
13
13
|
},
|
|
14
14
|
"keywords": [
|
|
15
15
|
"IPFS",
|
|
@@ -20,10 +20,6 @@
|
|
|
20
20
|
"peer",
|
|
21
21
|
"peer-to-peer"
|
|
22
22
|
],
|
|
23
|
-
"engines": {
|
|
24
|
-
"node": ">=16.0.0",
|
|
25
|
-
"npm": ">=7.0.0"
|
|
26
|
-
},
|
|
27
23
|
"type": "module",
|
|
28
24
|
"types": "./dist/src/index.d.ts",
|
|
29
25
|
"files": [
|
|
@@ -44,121 +40,34 @@
|
|
|
44
40
|
"sourceType": "module"
|
|
45
41
|
}
|
|
46
42
|
},
|
|
47
|
-
"release": {
|
|
48
|
-
"branches": [
|
|
49
|
-
"master"
|
|
50
|
-
],
|
|
51
|
-
"plugins": [
|
|
52
|
-
[
|
|
53
|
-
"@semantic-release/commit-analyzer",
|
|
54
|
-
{
|
|
55
|
-
"preset": "conventionalcommits",
|
|
56
|
-
"releaseRules": [
|
|
57
|
-
{
|
|
58
|
-
"breaking": true,
|
|
59
|
-
"release": "major"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"revert": true,
|
|
63
|
-
"release": "patch"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "feat",
|
|
67
|
-
"release": "minor"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"type": "fix",
|
|
71
|
-
"release": "patch"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"type": "docs",
|
|
75
|
-
"release": "patch"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"type": "test",
|
|
79
|
-
"release": "patch"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"type": "deps",
|
|
83
|
-
"release": "patch"
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"scope": "no-release",
|
|
87
|
-
"release": false
|
|
88
|
-
}
|
|
89
|
-
]
|
|
90
|
-
}
|
|
91
|
-
],
|
|
92
|
-
[
|
|
93
|
-
"@semantic-release/release-notes-generator",
|
|
94
|
-
{
|
|
95
|
-
"preset": "conventionalcommits",
|
|
96
|
-
"presetConfig": {
|
|
97
|
-
"types": [
|
|
98
|
-
{
|
|
99
|
-
"type": "feat",
|
|
100
|
-
"section": "Features"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"type": "fix",
|
|
104
|
-
"section": "Bug Fixes"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"type": "chore",
|
|
108
|
-
"section": "Trivial Changes"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"type": "docs",
|
|
112
|
-
"section": "Documentation"
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
"type": "deps",
|
|
116
|
-
"section": "Dependencies"
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
"type": "test",
|
|
120
|
-
"section": "Tests"
|
|
121
|
-
}
|
|
122
|
-
]
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
],
|
|
126
|
-
"@semantic-release/changelog",
|
|
127
|
-
"@semantic-release/npm",
|
|
128
|
-
"@semantic-release/github",
|
|
129
|
-
"@semantic-release/git"
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
43
|
"scripts": {
|
|
133
44
|
"clean": "aegir clean",
|
|
134
45
|
"lint": "aegir lint",
|
|
135
46
|
"dep-check": "aegir dep-check",
|
|
136
47
|
"build": "aegir build",
|
|
137
|
-
"docs": "aegir docs",
|
|
138
48
|
"test": "aegir test -t node -t electron-main",
|
|
139
49
|
"test:node": "aegir test -t node --cov",
|
|
140
|
-
"test:electron-main": "aegir test -t electron-main"
|
|
141
|
-
"release": "aegir release"
|
|
50
|
+
"test:electron-main": "aegir test -t electron-main"
|
|
142
51
|
},
|
|
143
52
|
"dependencies": {
|
|
144
|
-
"@libp2p/interface
|
|
145
|
-
"@libp2p/
|
|
146
|
-
"@libp2p/
|
|
147
|
-
"@
|
|
148
|
-
"@
|
|
149
|
-
"@
|
|
150
|
-
"@multiformats/mafmt": "^12.0.0",
|
|
151
|
-
"@multiformats/multiaddr": "^12.0.0",
|
|
53
|
+
"@libp2p/interface": "0.0.1-6fdaa7dc",
|
|
54
|
+
"@libp2p/logger": "2.1.1-6fdaa7dc",
|
|
55
|
+
"@libp2p/utils": "3.0.12-6fdaa7dc",
|
|
56
|
+
"@multiformats/mafmt": "^12.1.2",
|
|
57
|
+
"@multiformats/multiaddr": "^12.1.3",
|
|
58
|
+
"@types/sinon": "^10.0.15",
|
|
152
59
|
"stream-to-it": "^0.2.2"
|
|
153
60
|
},
|
|
154
61
|
"devDependencies": {
|
|
155
|
-
"@libp2p/interface-
|
|
156
|
-
"
|
|
157
|
-
"aegir": "^38.1.0",
|
|
62
|
+
"@libp2p/interface-compliance-tests": "3.0.7-6fdaa7dc",
|
|
63
|
+
"aegir": "^39.0.10",
|
|
158
64
|
"it-all": "^3.0.1",
|
|
159
65
|
"it-pipe": "^3.0.1",
|
|
160
66
|
"p-defer": "^4.0.0",
|
|
161
|
-
"sinon": "^15.
|
|
162
|
-
"uint8arrays": "^4.0.
|
|
67
|
+
"sinon": "^15.1.2",
|
|
68
|
+
"uint8arrays": "^4.0.3"
|
|
69
|
+
},
|
|
70
|
+
"typedoc": {
|
|
71
|
+
"entryPoint": "./src/index.ts"
|
|
163
72
|
}
|
|
164
73
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import net from 'net'
|
|
2
|
-
import
|
|
2
|
+
import { AbortError, CodeError } from '@libp2p/interface/errors'
|
|
3
|
+
import { type CreateListenerOptions, type DialOptions, symbol, type Transport, type Listener } from '@libp2p/interface/transport'
|
|
3
4
|
import { logger } from '@libp2p/logger'
|
|
5
|
+
import * as mafmt from '@multiformats/mafmt'
|
|
6
|
+
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js'
|
|
7
|
+
import { type CloseServerOnMaxConnectionsOpts, TCPListener } from './listener.js'
|
|
4
8
|
import { toMultiaddrConnection } from './socket-to-conn.js'
|
|
5
|
-
import { CloseServerOnMaxConnectionsOpts, TCPListener } from './listener.js'
|
|
6
9
|
import { multiaddrToNetConfig } from './utils.js'
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { CreateListenerOptions, DialOptions, Listener, symbol, Transport } from '@libp2p/interface-transport'
|
|
10
|
+
import type { Connection } from '@libp2p/interface/connection'
|
|
11
|
+
import type { CounterGroup, Metrics } from '@libp2p/interface/metrics'
|
|
10
12
|
import type { AbortOptions, Multiaddr } from '@multiformats/multiaddr'
|
|
11
13
|
import type { Socket, IpcSocketConnectOpts, TcpSocketConnectOpts } from 'net'
|
|
12
|
-
import type { Connection } from '@libp2p/interface-connection'
|
|
13
|
-
import type { CounterGroup, Metrics } from '@libp2p/interface-metrics'
|
|
14
14
|
|
|
15
15
|
const log = logger('libp2p:tcp')
|
|
16
16
|
|
|
@@ -94,13 +94,9 @@ class TCP implements Transport {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
return true
|
|
99
|
-
}
|
|
97
|
+
readonly [symbol] = true
|
|
100
98
|
|
|
101
|
-
|
|
102
|
-
return '@libp2p/tcp'
|
|
103
|
-
}
|
|
99
|
+
readonly [Symbol.toStringTag] = '@libp2p/tcp'
|
|
104
100
|
|
|
105
101
|
async dial (ma: Multiaddr, options: TCPDialOptions): Promise<Connection> {
|
|
106
102
|
options.keepAlive = options.keepAlive ?? true
|
|
@@ -149,7 +145,7 @@ class TCP implements Transport {
|
|
|
149
145
|
throw new AbortError()
|
|
150
146
|
}
|
|
151
147
|
|
|
152
|
-
return
|
|
148
|
+
return new Promise<Socket>((resolve, reject) => {
|
|
153
149
|
const start = Date.now()
|
|
154
150
|
const cOpts = multiaddrToNetConfig(ma) as (IpcSocketConnectOpts & TcpSocketConnectOpts)
|
|
155
151
|
const cOptsStr = cOpts.path ?? `${cOpts.host ?? ''}:${cOpts.port}`
|
package/src/listener.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import net from 'net'
|
|
2
|
+
import { EventEmitter, CustomEvent } from '@libp2p/interface/events'
|
|
2
3
|
import { logger } from '@libp2p/logger'
|
|
3
|
-
import { toMultiaddrConnection } from './socket-to-conn.js'
|
|
4
4
|
import { CODE_P2P } from './constants.js'
|
|
5
|
+
import { toMultiaddrConnection } from './socket-to-conn.js'
|
|
5
6
|
import {
|
|
6
7
|
getMultiaddrs,
|
|
7
8
|
multiaddrToNetConfig,
|
|
8
|
-
NetConfig
|
|
9
|
+
type NetConfig
|
|
9
10
|
} from './utils.js'
|
|
10
|
-
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'
|
|
11
|
-
import type { MultiaddrConnection, Connection } from '@libp2p/interface-connection'
|
|
12
|
-
import type { Upgrader, Listener, ListenerEvents } from '@libp2p/interface-transport'
|
|
13
|
-
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
14
11
|
import type { TCPCreateListenerOptions } from './index.js'
|
|
15
|
-
import type {
|
|
12
|
+
import type { MultiaddrConnection, Connection } from '@libp2p/interface/connection'
|
|
13
|
+
import type { CounterGroup, MetricGroup, Metrics } from '@libp2p/interface/metrics'
|
|
14
|
+
import type { Listener, ListenerEvents, Upgrader } from '@libp2p/interface/transport'
|
|
15
|
+
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
16
16
|
|
|
17
17
|
const log = logger('libp2p:tcp:listener')
|
|
18
18
|
|
package/src/socket-to-conn.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
1
2
|
import { logger } from '@libp2p/logger'
|
|
3
|
+
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'
|
|
2
4
|
// @ts-expect-error no types
|
|
3
5
|
import toIterable from 'stream-to-it'
|
|
4
|
-
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'
|
|
5
6
|
import { CLOSE_TIMEOUT, SOCKET_TIMEOUT } from './constants.js'
|
|
6
7
|
import { multiaddrToNetConfig } from './utils.js'
|
|
7
|
-
import {
|
|
8
|
-
import type {
|
|
8
|
+
import type { MultiaddrConnection } from '@libp2p/interface/connection'
|
|
9
|
+
import type { CounterGroup } from '@libp2p/interface/metrics'
|
|
9
10
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
10
|
-
import type {
|
|
11
|
-
import type { CounterGroup } from '@libp2p/interface-metrics'
|
|
11
|
+
import type { Socket } from 'net'
|
|
12
12
|
|
|
13
13
|
const log = logger('libp2p:tcp:socket')
|
|
14
14
|
|
package/src/utils.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import os from 'os'
|
|
2
|
+
import path from 'path'
|
|
1
3
|
import { multiaddr } from '@multiformats/multiaddr'
|
|
2
4
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
3
5
|
import type { ListenOptions, IpcSocketConnectOpts, TcpSocketConnectOpts } from 'net'
|
|
4
|
-
import os from 'os'
|
|
5
|
-
import path from 'path'
|
|
6
6
|
|
|
7
7
|
const ProtoFamily = { ip4: 'IPv4', ip6: 'IPv6' }
|
|
8
8
|
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"CloseServerOnMaxConnectionsOpts": "https://libp2p.github.io/js-libp2p-tcp/interfaces/_internal_.CloseServerOnMaxConnectionsOpts.html",
|
|
3
|
-
"TCPComponents": "https://libp2p.github.io/js-libp2p-tcp/interfaces/TCPComponents.html",
|
|
4
|
-
"TCPCreateListenerOptions": "https://libp2p.github.io/js-libp2p-tcp/interfaces/TCPCreateListenerOptions.html",
|
|
5
|
-
"TCPDialOptions": "https://libp2p.github.io/js-libp2p-tcp/interfaces/TCPDialOptions.html",
|
|
6
|
-
"TCPMetrics": "https://libp2p.github.io/js-libp2p-tcp/interfaces/TCPMetrics.html",
|
|
7
|
-
"TCPOptions": "https://libp2p.github.io/js-libp2p-tcp/interfaces/TCPOptions.html",
|
|
8
|
-
"TCPSocketOptions": "https://libp2p.github.io/js-libp2p-tcp/interfaces/TCPSocketOptions.html",
|
|
9
|
-
"tcp": "https://libp2p.github.io/js-libp2p-tcp/functions/tcp.html"
|
|
10
|
-
}
|