@libp2p/daemon-server 7.0.0 → 7.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +4 -4
- package/package.json +4 -4
package/dist/index.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PDaemonServer = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PDaemonServer=(()=>{var
|
|
2
|
+
"use strict";var Libp2PDaemonServer=(()=>{var wi=Object.create;var be=Object.defineProperty;var Ei=Object.getOwnPropertyDescriptor;var xi=Object.getOwnPropertyNames;var Ii=Object.getPrototypeOf,Ai=Object.prototype.hasOwnProperty;var ht=(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 Error('Dynamic require of "'+r+'" is not supported')});var z=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Q=(r,t)=>{for(var e in t)be(r,e,{get:t[e],enumerable:!0})},Rn=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of xi(t))!Ai.call(r,n)&&n!==e&&be(r,n,{get:()=>t[n],enumerable:!(o=Ei(t,n))||o.enumerable});return r};var bt=(r,t,e)=>(e=r!=null?wi(Ii(r)):{},Rn(t||!r||!r.__esModule?be(e,"default",{value:r,enumerable:!0}):e,r)),Ci=r=>Rn(be({},"__esModule",{value:!0}),r);var io=z((Hl,oo)=>{var Yt=1e3,Qt=Yt*60,Jt=Qt*60,Pt=Jt*24,zs=Pt*7,Hs=Pt*365.25;oo.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Ws(r);if(e==="number"&&isFinite(r))return t.long?Xs(r):Ks(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Ws(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]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return e*Hs;case"weeks":case"week":case"w":return e*zs;case"days":case"day":case"d":return e*Pt;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Jt;case"minutes":case"minute":case"mins":case"min":case"m":return e*Qt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Yt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Ks(r){var t=Math.abs(r);return t>=Pt?Math.round(r/Pt)+"d":t>=Jt?Math.round(r/Jt)+"h":t>=Qt?Math.round(r/Qt)+"m":t>=Yt?Math.round(r/Yt)+"s":r+"ms"}function Xs(r){var t=Math.abs(r);return t>=Pt?_e(r,t,Pt,"day"):t>=Jt?_e(r,t,Jt,"hour"):t>=Qt?_e(r,t,Qt,"minute"):t>=Yt?_e(r,t,Yt,"second"):r+" ms"}function _e(r,t,e,o){var n=t>=e*1.5;return Math.round(r/e)+" "+o+(n?"s":"")}});var Jr=z((Wl,so)=>{function Ys(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=n,e.enabled=s,e.humanize=io(),e.destroy=f,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let h=0;h<l.length;h++)u=(u<<5)-u+l.charCodeAt(h),u|=0;return e.colors[Math.abs(u)%e.colors.length]}e.selectColor=t;function e(l){let u,h=null,y,p;function w(...g){if(!w.enabled)return;let b=w,I=Number(new Date),R=I-(u||I);b.diff=R,b.prev=u,b.curr=I,u=I,g[0]=e.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let k=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(tt,Y)=>{if(tt==="%%")return"%";k++;let et=e.formatters[Y];if(typeof et=="function"){let Vt=g[k];tt=et.call(b,Vt),g.splice(k,1),k--}return tt}),e.formatArgs.call(b,g),(b.log||e.log).apply(b,g)}return w.namespace=l,w.useColors=e.useColors(),w.color=e.selectColor(l),w.extend=o,w.destroy=e.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(y!==e.namespaces&&(y=e.namespaces,p=e.enabled(l)),p),set:g=>{h=g}}),typeof e.init=="function"&&e.init(w),w}function o(l,u){let h=e(this.namespace+(typeof u>"u"?":":u)+l);return h.log=this.log,h}function n(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,h=(typeof l=="string"?l:"").split(/[\s,]+/),y=h.length;for(u=0;u<y;u++)h[u]&&(l=h[u].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...e.names.map(c),...e.skips.map(c).map(u=>"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,h;for(u=0,h=e.skips.length;u<h;u++)if(e.skips[u].test(l))return!1;for(u=0,h=e.names.length;u<h;u++)if(e.names[u].test(l))return!0;return!1}function c(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function a(l){return l instanceof Error?l.stack||l.message:l}function f(){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}so.exports=Ys});var co=z((Z,Ue)=>{Z.formatArgs=Js;Z.save=Zs;Z.load=qs;Z.useColors=Qs;Z.storage=js();Z.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`."))}})();Z.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 Qs(){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 Js(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Ue.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,o=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(e++,n==="%c"&&(o=e))}),r.splice(o,0,t)}Z.log=console.debug||console.log||(()=>{});function Zs(r){try{r?Z.storage.setItem("debug",r):Z.storage.removeItem("debug")}catch{}}function qs(){let r;try{r=Z.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function js(){try{return localStorage}catch{}}Ue.exports=Jr()(Z);var{formatters:tc}=Ue.exports;tc.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var lo=z((Kl,ao)=>{"use strict";ao.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",o=t.indexOf(e+r),n=t.indexOf("--");return o!==-1&&(n===-1?!0:o<n)}});var fo=z((Xl,uo)=>{"use strict";var ec=ht("os"),dt=lo(),G=process.env,Zt;dt("no-color")||dt("no-colors")||dt("color=false")?Zt=!1:(dt("color")||dt("colors")||dt("color=true")||dt("color=always"))&&(Zt=!0);"FORCE_COLOR"in G&&(Zt=G.FORCE_COLOR.length===0||parseInt(G.FORCE_COLOR,10)!==0);function rc(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function nc(r){if(Zt===!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&&Zt!==!0)return 0;let t=Zt?1:0;if(process.platform==="win32"){let e=ec.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 G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in G)||G.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let e=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:(G.TERM==="dumb",t)}function Zr(r){let t=nc(r);return rc(t)}uo.exports={supportsColor:Zr,stdout:Zr(process.stdout),stderr:Zr(process.stderr)}});var po=z((_,Be)=>{var oc=ht("tty"),Fe=ht("util");_.init=dc;_.log=ac;_.formatArgs=sc;_.save=lc;_.load=uc;_.useColors=ic;_.destroy=Fe.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");_.colors=[6,2,3,4,5,1];try{let r=fo();r&&(r.stderr||r).level>=2&&(_.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{}_.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(n,i)=>i.toUpperCase()),o=process.env[t];return/^(yes|on|true|enabled)$/i.test(o)?o=!0:/^(no|off|false|disabled)$/i.test(o)?o=!1:o==="null"?o=null:o=Number(o),r[e]=o,r},{});function ic(){return"colors"in _.inspectOpts?!!_.inspectOpts.colors:oc.isatty(process.stderr.fd)}function sc(r){let{namespace:t,useColors:e}=this;if(e){let o=this.color,n="\x1B[3"+(o<8?o:"8;5;"+o),i=` ${n};1m${t} \x1B[0m`;r[0]=i+r[0].split(`
|
|
3
3
|
`).join(`
|
|
4
|
-
`+i),r.push(n+"m+"+
|
|
5
|
-
`)}function
|
|
6
|
-
`).map(t=>t.trim()).join(" ")};ho.O=function(r){return this.inspectOpts.colors=this.useColors,Be.inspect(r,this.inspectOpts)}});var mo=z((Xl,Xr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Xr.exports=co():Xr.exports=po()});var Qe=z((Of,Qo)=>{Qo.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:o}=await t.read();if(e)return;yield o}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var Zo=z((_f,Jo)=>{Jo.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 mn=z((Uf,qo)=>{var Yc=Zo();qo.exports=r=>async t=>{t=Yc(t);let e=b=>{typeof b.return=="function"&&b.return()},o=null,n=null,i=b=>{o=b,n&&n(b),e(t)},s=null,c=!1,a=()=>{c=!0,s&&s()},f=null,l=!1,u=()=>{l=!0,f&&f()},h=null,y=()=>{h&&h()},p=()=>new Promise((b,I)=>{s=h=b,n=I,r.once("drain",y)}),w=()=>(e(t),new Promise((b,I)=>{if(c||l||o)return b();f=s=b,n=I})),g=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",y)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let b of t){if(!r.writable||r.destroyed||o)break;r.write(b)===!1&&await p()}}catch(b){o||r.destroy(),o=b}try{if(r.writable&&r.end(),await w(),o)throw o}finally{g()}}});var gn=z((Ff,jo)=>{var Qc=mn(),Jc=Qe();jo.exports=r=>({sink:Qc(r),source:Jc(r)})});var ei=z((Bf,ti)=>{var Zc=gn();ti.exports=r=>async function*(t){let e=Zc(r),o;if(e.sink(t).catch(n=>{o=n}),yield*e.source,o)throw o}});var ri=z((Mf,re)=>{re.exports=Qe();re.exports.source=Qe();re.exports.sink=mn();re.exports.transform=ei();re.exports.duplex=gn()});var fi=z((hh,di)=>{"use strict";function ui(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function sa(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return ui(r,e)}catch{e.message=r.message,e.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),ui(new n,e)}}di.exports=sa});var ba={};J(ba,{Server:()=>lr,createServer:()=>ya});var ur=new Float32Array([-0]),bt=new Uint8Array(ur.buffer);function Dn(r,t,e){ur[0]=r,t[e]=bt[0],t[e+1]=bt[1],t[e+2]=bt[2],t[e+3]=bt[3]}function Pn(r,t){return bt[0]=r[t],bt[1]=r[t+1],bt[2]=r[t+2],bt[3]=r[t+3],ur[0]}var dr=new Float64Array([-0]),_=new Uint8Array(dr.buffer);function kn(r,t,e){dr[0]=r,t[e]=_[0],t[e+1]=_[1],t[e+2]=_[2],t[e+3]=_[3],t[e+4]=_[4],t[e+5]=_[5],t[e+6]=_[6],t[e+7]=_[7]}function On(r,t){return _[0]=r[t],_[1]=r[t+1],_[2]=r[t+2],_[3]=r[t+3],_[4]=r[t+4],_[5]=r[t+5],_[6]=r[t+6],_[7]=r[t+7],dr[0]}var Li=BigInt(Number.MAX_SAFE_INTEGER),Ni=BigInt(Number.MIN_SAFE_INTEGER),H=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(e+o*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(BigInt(e)+(BigInt(o)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,o=this.hi>>>24;return o===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:o<128?9:10}static fromBigInt(t){if(t===0n)return Tt;if(t<Li&&t>Ni)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let o=t>>32n,n=t-(o<<32n);return e&&(o=~o|0n,n=~n|0n,++n>_n&&(n=0n,++o>_n&&(o=0n))),new r(Number(n),Number(o))}static fromNumber(t){if(t===0)return Tt;let e=t<0;e&&(t=-t);let o=t>>>0,n=(t-o)/4294967296>>>0;return e&&(n=~n>>>0,o=~o>>>0,++o>4294967295&&(o=0,++n>4294967295&&(n=0))),new r(o,n)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Tt}},Tt=new H(0,0);Tt.toBigInt=function(){return 0n};Tt.zzEncode=Tt.zzDecode=function(){return this};Tt.length=function(){return 1};var _n=4294967296n;function Un(r){let t=0,e=0;for(let o=0;o<r.length;++o)e=r.charCodeAt(o),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(o+1)&64512)===56320?(++o,t+=4):t+=3;return t}function Fn(r,t,e){if(e-t<1)return"";let n,i=[],s=0,c;for(;t<e;)c=r[t++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),s=0);return n!=null?(s>0&&n.push(String.fromCharCode.apply(String,i.slice(0,s))),n.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function fr(r,t,e){let o=e,n,i;for(let s=0;s<r.length;++s)n=r.charCodeAt(s),n<128?t[e++]=n:n<2048?(t[e++]=n>>6|192,t[e++]=n&63|128):(n&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&1023),++s,t[e++]=n>>18|240,t[e++]=n>>12&63|128,t[e++]=n>>6&63|128,t[e++]=n&63|128):(t[e++]=n>>12|224,t[e++]=n>>6&63|128,t[e++]=n&63|128);return e-o}function at(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function xe(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var hr=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,at(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw at(this,4);return xe(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw at(this,4);return xe(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw at(this,4);let t=Pn(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw at(this,4);let t=On(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,o=this.pos+t;if(o>this.len)throw at(this,t);return this.pos+=t,e===o?new Uint8Array(0):this.buf.subarray(e,o)}string(){let t=this.bytes();return Fn(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw at(this,t);this.pos+=t}else do if(this.pos>=this.len)throw at(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new H(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw at(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw at(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw at(this,8);let t=xe(this.buf,this.pos+=4),e=xe(this.buf,this.pos+=4);return new H(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function pr(r){return new hr(r instanceof Uint8Array?r:r.subarray())}function C(r,t){let e=pr(r);return t.decode(e)}function wt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function ht(r=0){return globalThis.Buffer?.alloc!=null?wt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function U(r=0){return globalThis.Buffer?.allocUnsafe!=null?wt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var wr={};J(wr,{base10:()=>_i});function Ri(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),o=0;o<e.length;o++)e[o]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=n}var c=r.length,a=r.charAt(0),f=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var w=0,g=0,b=0,I=p.length;b!==I&&p[b]===0;)b++,w++;for(var N=(I-b)*l+1>>>0,D=new Uint8Array(N);b!==I;){for(var Y=p[b],j=0,Q=N-1;(Y!==0||j<g)&&Q!==-1;Q--,j++)Y+=256*D[Q]>>>0,D[Q]=Y%c>>>0,Y=Y/c>>>0;if(Y!==0)throw new Error("Non-zero carry");g=j,b++}for(var tt=N-g;tt!==N&&D[tt]===0;)tt++;for(var $t=a.repeat(w);tt<N;++tt)$t+=r.charAt(D[tt]);return $t}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var w=0;if(p[w]!==" "){for(var g=0,b=0;p[w]===a;)g++,w++;for(var I=(p.length-w)*f+1>>>0,N=new Uint8Array(I);p[w];){var D=e[p.charCodeAt(w)];if(D===255)return;for(var Y=0,j=I-1;(D!==0||Y<b)&&j!==-1;j--,Y++)D+=c*N[j]>>>0,N[j]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");b=Y,w++}if(p[w]!==" "){for(var Q=I-b;Q!==I&&N[Q]===0;)Q++;for(var tt=new Uint8Array(g+(I-Q)),$t=g;Q!==I;)tt[$t++]=N[Q++];return tt}}}function y(p){var w=h(p);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:h,decode:y}}var Di=Ri,Pi=Di,Mn=Pi;var Da=new Uint8Array(0);var Vn=(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},et=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 Gn=r=>new TextEncoder().encode(r),$n=r=>new TextDecoder().decode(r);var mr=class{constructor(t,e,o){this.name=t,this.prefix=e,this.baseEncode=o}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},gr=class{constructor(t,e,o){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=o}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 Hn(this,t)}},yr=class{constructor(t){this.decoders=t}or(t){return Hn(this,t)}decode(t){let e=t[0],o=this.decoders[e];if(o)return o.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Hn=(r,t)=>new yr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),br=class{constructor(t,e,o,n){this.name=t,this.prefix=e,this.baseEncode=o,this.baseDecode=n,this.encoder=new mr(t,e,o),this.decoder=new gr(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},zt=({name:r,prefix:t,encode:e,decode:o})=>new br(r,t,e,o),Et=({prefix:r,name:t,alphabet:e})=>{let{encode:o,decode:n}=Mn(e,t);return zt({prefix:r,name:t,encode:o,decode:i=>et(n(i))})},ki=(r,t,e,o)=>{let n={};for(let l=0;l<t.length;++l)n[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),c=0,a=0,f=0;for(let l=0;l<i;++l){let u=n[r[l]];if(u===void 0)throw new SyntaxError(`Non-${o} character`);a=a<<e|u,c+=e,c>=8&&(c-=8,s[f++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},Oi=(r,t,e)=>{let o=t[t.length-1]==="=",n=(1<<e)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>e;)s-=e,i+=t[n&c>>s];if(s&&(i+=t[n&c<<e-s]),o)for(;i.length*e&7;)i+="=";return i},A=({name:r,prefix:t,bitsPerChar:e,alphabet:o})=>zt({prefix:t,name:r,encode(n){return Oi(n,o,e)},decode(n){return ki(n,o,e,r)}});var _i=Et({prefix:"9",name:"base10",alphabet:"0123456789"});var Er={};J(Er,{base16:()=>Ui,base16upper:()=>Fi});var Ui=A({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Fi=A({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var xr={};J(xr,{base2:()=>Bi});var Bi=A({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ir={};J(Ir,{base256emoji:()=>zi});var Wn=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}"),Mi=Wn.reduce((r,t,e)=>(r[e]=t,r),[]),Vi=Wn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Gi(r){return r.reduce((t,e)=>(t+=Mi[e],t),"")}function $i(r){let t=[];for(let e of r){let o=Vi[e.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var zi=zt({prefix:"\u{1F680}",name:"base256emoji",encode:Gi,decode:$i});var Ar={};J(Ar,{base32:()=>lt,base32hex:()=>Xi,base32hexpad:()=>Qi,base32hexpadupper:()=>Ji,base32hexupper:()=>Yi,base32pad:()=>Wi,base32padupper:()=>Ki,base32upper:()=>Hi,base32z:()=>Zi});var lt=A({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Hi=A({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Wi=A({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ki=A({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xi=A({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Yi=A({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Qi=A({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ji=A({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Zi=A({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Sr={};J(Sr,{base36:()=>qi,base36upper:()=>ji});var qi=Et({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ji=Et({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Cr={};J(Cr,{base58btc:()=>R,base58flickr:()=>ts});var R=Et({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ts=Et({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Tr={};J(Tr,{base64:()=>vr,base64pad:()=>es,base64url:()=>rs,base64urlpad:()=>ns});var vr=A({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),es=A({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),rs=A({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ns=A({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Lr={};J(Lr,{base8:()=>os});var os=A({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nr={};J(Nr,{identity:()=>is});var is=zt({prefix:"\0",name:"identity",encode:r=>$n(r),decode:r=>Gn(r)});var Ka=new TextEncoder,Xa=new TextDecoder;var Dr={};J(Dr,{identity:()=>Ae});var as=Yn,Kn=128,ls=127,us=~ls,ds=Math.pow(2,31);function Yn(r,t,e){t=t||[],e=e||0;for(var o=e;r>=ds;)t[e++]=r&255|Kn,r/=128;for(;r&us;)t[e++]=r&255|Kn,r>>>=7;return t[e]=r|0,Yn.bytes=e-o+1,t}var fs=Rr,hs=128,Xn=127;function Rr(r,o){var e=0,o=o||0,n=0,i=o,s,c=r.length;do{if(i>=c)throw Rr.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=n<28?(s&Xn)<<n:(s&Xn)*Math.pow(2,n),n+=7}while(s>=hs);return Rr.bytes=i-o,e}var ps=Math.pow(2,7),ms=Math.pow(2,14),gs=Math.pow(2,21),ys=Math.pow(2,28),bs=Math.pow(2,35),ws=Math.pow(2,42),Es=Math.pow(2,49),xs=Math.pow(2,56),Is=Math.pow(2,63),As=function(r){return r<ps?1:r<ms?2:r<gs?3:r<ys?4:r<bs?5:r<ws?6:r<Es?7:r<xs?8:r<Is?9:10},Ss={encode:as,decode:fs,encodingLength:As},Cs=Ss,ae=Cs;var le=(r,t=0)=>[ae.decode(r,t),ae.decode.bytes],Ht=(r,t,e=0)=>(ae.encode(r,t,e),t),Wt=r=>ae.encodingLength(r);var xt=(r,t)=>{let e=t.byteLength,o=Wt(r),n=o+Wt(e),i=new Uint8Array(n+e);return Ht(r,i,0),Ht(e,i,o),i.set(t,n),new Kt(r,e,t,i)},Lt=r=>{let t=et(r),[e,o]=le(t),[n,i]=le(t.subarray(o)),s=t.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new Kt(e,n,s,t)},Qn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Vn(r.bytes,e.bytes)}},Kt=class{constructor(t,e,o,n){this.code=t,this.size=e,this.digest=o,this.bytes=n}};var Jn=0,vs="identity",Zn=et,Ts=r=>xt(Jn,Zn(r)),Ae={code:Jn,name:vs,encode:Zn,digest:Ts};var _r={};J(_r,{sha256:()=>Se,sha512:()=>Ls});var Or=yt(ft("crypto"),1);var kr=({name:r,code:t,encode:e})=>new Pr(r,t,e),Pr=class{constructor(t,e,o){this.name=t,this.code=e,this.encode=o}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?xt(this.code,e):e.then(o=>xt(this.code,o))}else throw Error("Unknown type, must be binary type")}};var Se=kr({name:"sha2-256",code:18,encode:r=>et(Or.default.createHash("sha256").update(r).digest())}),Ls=kr({name:"sha2-512",code:19,encode:r=>et(Or.default.createHash("sha512").update(r).digest())});var jn=(r,t)=>{let{bytes:e,version:o}=r;switch(o){case 0:return Rs(e,Ur(r),t||R.encoder);default:return Ds(e,Ur(r),t||lt.encoder)}};var to=new WeakMap,Ur=r=>{let t=to.get(r);if(t==null){let e=new Map;return to.set(r,e),e}return t},W=class r{constructor(t,e,o,n){this.code=e,this.version=t,this.multihash=o,this.bytes=n,this["/"]=n}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!==Ps)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.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,o=xt(t,e);return r.createV1(this.code,o)}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 r.equals(this,t)}static equals(t,e){let o=e;return o&&t.code===o.code&&t.version===o.version&&Qn(t.multihash,o.multihash)}toString(t){return jn(this,t)}toJSON(){return{"/":jn(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 r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:o,code:n,multihash:i,bytes:s}=e;return new r(o,n,i,s||eo(o,n,i.bytes))}else if(e[ks]===!0){let{version:o,multihash:n,code:i}=e,s=Lt(n);return r.create(o,i,s)}else return null}static create(t,e,o){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(o.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 r(t,e,o,o.bytes)}case 1:{let n=eo(t,e,o.bytes);return new r(t,e,o,n)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,ue,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,o]=r.decodeFirst(t);if(o.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),o=e.size-e.multihashSize,n=et(t.subarray(o,o+e.multihashSize));if(n.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=n.subarray(e.multihashSize-e.digestSize),s=new Kt(e.multihashCode,e.digestSize,i,n);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,o=()=>{let[u,h]=le(t.subarray(e));return e+=h,u},n=o(),i=ue;if(n===18?(n=0,e=0):i=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=e,c=o(),a=o(),f=e+a,l=f-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:f}}static parse(t,e){let[o,n]=Ns(t,e),i=r.decode(n);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ur(i).set(o,t),i}},Ns=(r,t)=>{switch(r[0]){case"Q":{let e=t||R;return[R.prefix,e.decode(`${R.prefix}${r}`)]}case R.prefix:{let e=t||R;return[R.prefix,e.decode(r)]}case lt.prefix:{let e=t||lt;return[lt.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)]}}},Rs=(r,t,e)=>{let{prefix:o}=e;if(o!==R.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let n=t.get(o);if(n==null){let i=e.encode(r).slice(1);return t.set(o,i),i}else return n},Ds=(r,t,e)=>{let{prefix:o}=e,n=t.get(o);if(n==null){let i=e.encode(r);return t.set(o,i),i}else return n},ue=112,Ps=18,eo=(r,t,e)=>{let o=Wt(r),n=o+Wt(t),i=new Uint8Array(n+e.byteLength);return Ht(r,i,0),Ht(t,i,o),i.set(e,n),i},ks=Symbol.for("@ipld/js-cid/CID");var It={...Nr,...xr,...Lr,...wr,...Er,...Ar,...Sr,...Cr,...Tr,...Ir},ul={..._r,...Dr};function no(r,t,e,o){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:o}}}var ro=no("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Fr=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=U(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Os={utf8:ro,"utf-8":ro,hex:It.base16,latin1:Fr,ascii:Fr,binary:Fr,...It},Ce=Os;function Rt(r,t="utf8"){let e=Ce[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?wt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Br(r){let t=r??8192,e=t>>>1,o,n=t;return function(s){if(s<1||s>e)return U(s);n+s>t&&(o=U(t),n=0);let c=o.subarray(n,n+=s);return n&7&&(n=(n|7)+1),c}}var Dt=class{fn;len;next;val;constructor(t,e,o){this.fn=t,this.len=e,this.next=void 0,this.val=o}};function Mr(){}var Gr=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},_s=Br();function Us(r){return globalThis.Buffer!=null?U(r):_s(r)}var he=class{len;head;tail;states;constructor(){this.len=0,this.head=new Dt(Mr,0,0),this.tail=this.head,this.states=null}_push(t,e,o){return this.tail=this.tail.next=new Dt(t,e,o),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new $r((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(de,10,H.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=H.fromBigInt(t);return this._push(de,e.length(),e)}uint64Number(t){let e=H.fromNumber(t);return this._push(de,e.length(),e)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=H.fromBigInt(t).zzEncode();return this._push(de,e.length(),e)}sint64Number(t){let e=H.fromNumber(t).zzEncode();return this._push(de,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Vr,1,t?1:0)}fixed32(t){return this._push(fe,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=H.fromBigInt(t);return this._push(fe,4,e.lo)._push(fe,4,e.hi)}fixed64Number(t){let e=H.fromNumber(t);return this._push(fe,4,e.lo)._push(fe,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Dn,4,t)}double(t){return this._push(kn,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Vr,1,0):this.uint32(e)._push(Bs,e,t)}string(t){let e=Un(t);return e!==0?this.uint32(e)._push(fr,e,t):this._push(Vr,1,0)}fork(){return this.states=new Gr(this),this.head=this.tail=new Dt(Mr,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Dt(Mr,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,o=this.len;return this.reset().uint32(o),o!==0&&(this.tail.next=t.next,this.tail=e,this.len+=o),this}finish(){let t=this.head.next,e=Us(this.len),o=0;for(;t!=null;)t.fn(t.val,e,o),o+=t.len,t=t.next;return e}};function Vr(r,t,e){t[e]=r&255}function Fs(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var $r=class extends Dt{next;constructor(t,e){super(Fs,t,e),this.next=void 0}};function de(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function fe(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Bs(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(he.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Ms,t,r),this},he.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Vs,t,r),this});function Ms(r,t,e){t.set(r,e)}function Vs(r,t,e){r.length<40?fr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Rt(r),e)}function zr(){return new he}function v(r,t){let e=zr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Xt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Xt||(Xt={}));function ve(r,t,e,o){return{name:r,type:t,encode:e,decode:o}}function pt(r){function t(n){if(r[n.toString()]==null)throw new Error("Invalid enum value");return r[n]}let e=function(i,s){let c=t(i);s.int32(c)},o=function(i){let s=i.int32();return t(s)};return ve("enum",Xt.VARINT,e,o)}function T(r,t){return ve("message",Xt.LENGTH_DELIMITED,r,t)}var rt;(function(r){let t;(function(n){n.IDENTIFY="IDENTIFY",n.CONNECT="CONNECT",n.STREAM_OPEN="STREAM_OPEN",n.STREAM_HANDLER="STREAM_HANDLER",n.DHT="DHT",n.LIST_PEERS="LIST_PEERS",n.CONNMANAGER="CONNMANAGER",n.DISCONNECT="DISCONNECT",n.PUBSUB="PUBSUB",n.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.IDENTIFY=0]="IDENTIFY",n[n.CONNECT=1]="CONNECT",n[n.STREAM_OPEN=2]="STREAM_OPEN",n[n.STREAM_HANDLER=3]="STREAM_HANDLER",n[n.DHT=4]="DHT",n[n.LIST_PEERS=5]="LIST_PEERS",n[n.CONNMANAGER=6]="CONNMANAGER",n[n.DISCONNECT=7]="DISCONNECT",n[n.PUBSUB=8]="PUBSUB",n[n.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(n){n.codec=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.connect!=null&&(i.uint32(18),Le.codec().encode(n.connect,i)),n.streamOpen!=null&&(i.uint32(26),Ne.codec().encode(n.streamOpen,i)),n.streamHandler!=null&&(i.uint32(34),Re.codec().encode(n.streamHandler,i)),n.dht!=null&&(i.uint32(42),nt.codec().encode(n.dht,i)),n.connManager!=null&&(i.uint32(50),Pe.codec().encode(n.connManager,i)),n.disconnect!=null&&(i.uint32(58),ke.codec().encode(n.disconnect,i)),n.pubsub!=null&&(i.uint32(66),mt.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(74),Pt.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.connect=Le.codec().decode(n,n.uint32());break;case 3:s.streamOpen=Ne.codec().decode(n,n.uint32());break;case 4:s.streamHandler=Re.codec().decode(n,n.uint32());break;case 5:s.dht=nt.codec().decode(n,n.uint32());break;case 6:s.connManager=Pe.codec().decode(n,n.uint32());break;case 7:s.disconnect=ke.codec().decode(n,n.uint32());break;case 8:s.pubsub=mt.codec().decode(n,n.uint32());break;case 9:s.peerStore=Pt.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(rt||(rt={}));var L;(function(r){let t;(function(n){n.OK="OK",n.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.OK=0]="OK",n[n.ERROR=1]="ERROR"})(e||(e={})),function(n){n.codec=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.error!=null&&(i.uint32(18),De.codec().encode(n.error,i)),n.streamInfo!=null&&(i.uint32(26),Yt.codec().encode(n.streamInfo,i)),n.identify!=null&&(i.uint32(34),Te.codec().encode(n.identify,i)),n.dht!=null&&(i.uint32(42),k.codec().encode(n.dht,i)),n.peers!=null)for(let c of n.peers)i.uint32(50),At.codec().encode(c,i);n.pubsub!=null&&(i.uint32(58),Oe.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(66),_e.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peers:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.error=De.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Yt.codec().decode(n,n.uint32());break;case 4:s.identify=Te.codec().decode(n,n.uint32());break;case 5:s.dht=k.codec().decode(n,n.uint32());break;case 6:s.peers.push(At.codec().decode(n,n.uint32()));break;case 7:s.pubsub=Oe.codec().decode(n,n.uint32());break;case 8:s.peerStore=_e.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(L||(L={}));var Te;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Te||(Te={}));var Le;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.addrs.push(e.bytes());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Le||(Le={}));var Ne;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.proto.push(e.string());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Ne||(Ne={}));var Re;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(10),o.bytes(e.addr)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={addr:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.addr=e.bytes();break;case 2:n.proto.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Re||(Re={}));var De;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.msg!=null&&e.msg!==""&&(o.uint32(10),o.string(e.msg)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={msg:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.msg=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(De||(De={}));var Yt;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(18),o.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(o.uint32(26),o.string(e.proto)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.addr=e.bytes();break;case 3:n.proto=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Yt||(Yt={}));var nt;(function(r){let t;(function(n){n.FIND_PEER="FIND_PEER",n.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",n.FIND_PROVIDERS="FIND_PROVIDERS",n.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",n.GET_PUBLIC_KEY="GET_PUBLIC_KEY",n.GET_VALUE="GET_VALUE",n.SEARCH_VALUE="SEARCH_VALUE",n.PUT_VALUE="PUT_VALUE",n.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.FIND_PEER=0]="FIND_PEER",n[n.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",n[n.FIND_PROVIDERS=2]="FIND_PROVIDERS",n[n.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",n[n.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",n[n.GET_VALUE=5]="GET_VALUE",n[n.SEARCH_VALUE=6]="SEARCH_VALUE",n[n.PUT_VALUE=7]="PUT_VALUE",n[n.PROVIDE=8]="PROVIDE"})(e||(e={})),function(n){n.codec=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.cid!=null&&(i.uint32(26),i.bytes(n.cid)),n.key!=null&&(i.uint32(34),i.bytes(n.key)),n.value!=null&&(i.uint32(42),i.bytes(n.value)),n.count!=null&&(i.uint32(48),i.int32(n.count)),n.timeout!=null&&(i.uint32(56),i.int64(n.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.cid=n.bytes();break;case 4:s.key=n.bytes();break;case 5:s.value=n.bytes();break;case 6:s.count=n.int32();break;case 7:s.timeout=n.int64();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(nt||(nt={}));var k;(function(r){let t;(function(n){n.BEGIN="BEGIN",n.VALUE="VALUE",n.END="END"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.BEGIN=0]="BEGIN",n[n.VALUE=1]="VALUE",n[n.END=2]="END"})(e||(e={})),function(n){n.codec=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),At.codec().encode(n.peer,i)),n.value!=null&&(i.uint32(26),i.bytes(n.value)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=At.codec().decode(n,n.uint32());break;case 3:s.value=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(k||(k={}));var At;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(At||(At={}));var Pe;(function(r){let t;(function(n){n.TAG_PEER="TAG_PEER",n.UNTAG_PEER="UNTAG_PEER",n.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.TAG_PEER=0]="TAG_PEER",n[n.UNTAG_PEER=1]="UNTAG_PEER",n[n.TRIM=2]="TRIM"})(e||(e={})),function(n){n.codec=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.tag!=null&&(i.uint32(26),i.string(n.tag)),n.weight!=null&&(i.uint32(32),i.int64(n.weight)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.tag=n.string();break;case 4:s.weight=n.int64();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(Pe||(Pe={}));var ke;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0)},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(ke||(ke={}));var mt;(function(r){let t;(function(n){n.GET_TOPICS="GET_TOPICS",n.LIST_PEERS="LIST_PEERS",n.PUBLISH="PUBLISH",n.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.GET_TOPICS=0]="GET_TOPICS",n[n.LIST_PEERS=1]="LIST_PEERS",n[n.PUBLISH=2]="PUBLISH",n[n.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(n){n.codec=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.topic!=null&&(i.uint32(18),i.string(n.topic)),n.data!=null&&(i.uint32(26),i.bytes(n.data)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.topic=n.string();break;case 3:s.data=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(mt||(mt={}));var pe;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.from!=null&&(o.uint32(10),o.bytes(e.from)),e.data!=null&&(o.uint32(18),o.bytes(e.data)),e.seqno!=null&&(o.uint32(26),o.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)o.uint32(34),o.string(i);e.signature!=null&&(o.uint32(42),o.bytes(e.signature)),e.key!=null&&(o.uint32(50),o.bytes(e.key)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topicIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.from=e.bytes();break;case 2:n.data=e.bytes();break;case 3:n.seqno=e.bytes();break;case 4:n.topicIDs.push(e.string());break;case 5:n.signature=e.bytes();break;case 6:n.key=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(pe||(pe={}));var Oe;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.topics!=null)for(let i of e.topics)o.uint32(10),o.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topics:[],peerIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.topics.push(e.string());break;case 2:n.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Oe||(Oe={}));var Pt;(function(r){let t;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.GET_PROTOCOLS="GET_PROTOCOLS",n.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.GET_PROTOCOLS=1]="GET_PROTOCOLS",n[n.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(n){n.codec=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.id!=null&&(i.uint32(18),i.bytes(n.id)),n.protos!=null)for(let c of n.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={protos:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.id=n.bytes();break;case 3:s.protos.push(n.string());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(Pt||(Pt={}));var _e;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&(o.uint32(10),At.codec().encode(e.peer,o)),e.protos!=null)for(let i of e.protos)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={protos:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=At.codec().decode(e,e.uint32());break;case 2:n.protos.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(_e||(_e={}));var Hr={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var q=yt(mo(),1);q.default.formatters.b=r=>r==null?"undefined":R.baseEncode(r);q.default.formatters.t=r=>r==null?"undefined":lt.baseEncode(r);q.default.formatters.m=r=>r==null?"undefined":vr.baseEncode(r);q.default.formatters.p=r=>r==null?"undefined":r.toString();q.default.formatters.c=r=>r==null?"undefined":r.toString();q.default.formatters.k=r=>r==null?"undefined":r.toString();q.default.formatters.a=r=>r==null?"undefined":r.toString();function uc(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 go(){return{forComponent(r){return Ot(r)}}}function Ot(r){let t=uc(`${r}:trace`);return q.default.enabled(`${r}:trace`)&&q.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,q.default)(`${r}:trace`)),Object.assign((0,q.default)(r),{error:(0,q.default)(`${r}:error`),trace:t})}var eu=Symbol.for("@libp2p/connection");var nu=Symbol.for("@libp2p/content-routing");var su=Symbol.for("@libp2p/peer-discovery");var yo=Symbol.for("@libp2p/peer-id");var lu=Symbol.for("@libp2p/peer-routing");var bo;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(bo||(bo={}));var Eo=Symbol.for("@libp2p/transport");var wo;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(wo||(wo={}));var jt=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},B=class extends Error{code;props;constructor(t,e,o){super(t),this.code=e,this.name=o?.name??"CodeError",this.props=o??{}}};var Ve=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,o){super.addEventListener(t,e,o);let n=this.#t.get(t);n==null&&(n=[],this.#t.set(t,n)),n.push({callback:e,once:(o!==!0&&o!==!1&&o?.once)??!1})}removeEventListener(t,e,o){super.removeEventListener(t.toString(),e??null,o);let n=this.#t.get(t);n!=null&&(n=n.filter(({callback:i})=>i!==e),this.#t.set(t,n))}dispatchEvent(t){let e=super.dispatchEvent(t),o=this.#t.get(t.type);return o==null||(o=o.filter(({once:n})=>!n),this.#t.set(t.type,o)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new te(t,e))}},Yr=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},te=globalThis.CustomEvent??Yr;function _t(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 dc=Symbol.for("nodejs.util.inspect.custom"),xo=Object.values(It).map(r=>r.decoder).reduce((r,t)=>r.or(t),It.identity.decoder),Io=114,Ao=36,So=37,me=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[yo]=!0;toString(){return this.string==null&&(this.string=R.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return W.createV1(Io,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return _t(this.multihash.bytes,t);if(typeof t=="string")return fc(t).equals(this);if(t?.multihash?.bytes!=null)return _t(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[dc](){return`PeerId(${this.toString()})`}},ge=class extends me{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},ye=class extends me{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},be=class extends me{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function fc(r,t){if(t=t??xo,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Lt(R.decode(`z${r}`));return r.startsWith("12D")?new ye({multihash:e}):r.startsWith("16U")?new be({multihash:e}):new ge({multihash:e})}return Ut(xo.decode(r))}function Ut(r){try{let t=Lt(r);if(t.code===Ae.code){if(t.digest.length===Ao)return new ye({multihash:t});if(t.digest.length===So)return new be({multihash:t})}if(t.code===Se.code)return new ge({multihash:t})}catch{return hc(W.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function hc(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Io)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===Se.code)return new ge({multihash:r.multihash});if(t.code===Ae.code){if(t.digest.length===Ao)return new ye({multihash:r.multihash});if(t.digest.length===So)return new be({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var si=yt(ft("net"),1);var Ge=class extends Error{code;props;constructor(t,e,o){super(t),this.code=e,this.name=o?.name??"CodeError",this.props=o??{}}};function K(r,t="utf8"){let e=Ce[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 pc=Math.pow(2,7),mc=Math.pow(2,14),gc=Math.pow(2,21),Qr=Math.pow(2,28),Jr=Math.pow(2,35),Zr=Math.pow(2,42),qr=Math.pow(2,49),E=128,M=127;function V(r){if(r<pc)return 1;if(r<mc)return 2;if(r<gc)return 3;if(r<Qr)return 4;if(r<Jr)return 5;if(r<Zr)return 6;if(r<qr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function yc(r,t,e=0){switch(V(r)){case 8:t[e++]=r&255|E,r/=128;case 7:t[e++]=r&255|E,r/=128;case 6:t[e++]=r&255|E,r/=128;case 5:t[e++]=r&255|E,r/=128;case 4:t[e++]=r&255|E,r>>>=7;case 3:t[e++]=r&255|E,r>>>=7;case 2:t[e++]=r&255|E,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function bc(r,t,e=0){switch(V(r)){case 8:t.set(e++,r&255|E),r/=128;case 7:t.set(e++,r&255|E),r/=128;case 6:t.set(e++,r&255|E),r/=128;case 5:t.set(e++,r&255|E),r/=128;case 4:t.set(e++,r&255|E),r>>>=7;case 3:t.set(e++,r&255|E),r>>>=7;case 2:t.set(e++,r&255|E),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function wc(r,t){let e=r[t],o=0;if(o+=e&M,e<E||(e=r[t+1],o+=(e&M)<<7,e<E)||(e=r[t+2],o+=(e&M)<<14,e<E)||(e=r[t+3],o+=(e&M)<<21,e<E)||(e=r[t+4],o+=(e&M)*Qr,e<E)||(e=r[t+5],o+=(e&M)*Jr,e<E)||(e=r[t+6],o+=(e&M)*Zr,e<E)||(e=r[t+7],o+=(e&M)*qr,e<E))return o;throw new RangeError("Could not decode varint")}function Ec(r,t){let e=r.get(t),o=0;if(o+=e&M,e<E||(e=r.get(t+1),o+=(e&M)<<7,e<E)||(e=r.get(t+2),o+=(e&M)<<14,e<E)||(e=r.get(t+3),o+=(e&M)<<21,e<E)||(e=r.get(t+4),o+=(e&M)*Qr,e<E)||(e=r.get(t+5),o+=(e&M)*Jr,e<E)||(e=r.get(t+6),o+=(e&M)*Zr,e<E)||(e=r.get(t+7),o+=(e&M)*qr,e<E))return o;throw new RangeError("Could not decode varint")}function St(r,t,e=0){return t==null&&(t=U(V(r))),t instanceof Uint8Array?yc(r,t,e):bc(r,t,e)}function dt(r,t=0){return r instanceof Uint8Array?wc(r,t):Ec(r,t)}function ot(r,t){if(globalThis.Buffer!=null)return wt(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((n,i)=>n+i.length,0));let e=U(t),o=0;for(let n of r)e.set(n,o),o+=n.length;return wt(e)}var $e=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,o=t();return o===void 0&&(this.index=e),o}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,o){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return o()})}readNumber(t,e,o,n){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*n)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let h=Number.parseInt(u,t);if(!Number.isNaN(h))return h});if(l===void 0)break;if(i*=t,i+=l,i>f||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!o&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let o=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(o===void 0)return;t[e]=o}return t})}readIPv6Addr(){let t=e=>{for(let o=0;o<e.length/2;o++){let n=o*2;if(o<e.length-3){let s=this.readSeparator(":",o,()=>this.readIPv4Addr());if(s!==void 0)return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],[n+4,!0]}let i=this.readSeparator(":",o,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];e[n]=i>>8,e[n+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[o,n]=t(e);if(o===16)return e;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(o+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var nd=new $e;var dd=parseInt("0xFFFF",16),fd=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var it=ft("node:net");function ze(r){return!!(0,it.isIP)(r)}var To=it.isIPv4,vc=it.isIPv6,jr=function(r){let t=0;if(r=r.toString().trim(),To(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(o=>{e[t++]=parseInt(o,10)&255}),e}if(vc(r)){let e=r.split(":",8),o;for(o=0;o<e.length;o++){let i=To(e[o]),s;i&&(s=jr(e[o]),e[o]=K(s.slice(0,2),"base16")),s!=null&&++o<8&&e.splice(o,0,K(s.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(o=0;o<e.length&&e[o]!=="";o++);let i=[o,1];for(o=9-e.length;o>0;o--)i.push("0");e.splice.apply(e,i)}let n=new Uint8Array(t+16);for(o=0;o<e.length;o++){let i=parseInt(e[o],16);n[t++]=i>>8&255,n[t++]=i&255}return n}throw new Error("invalid ip address")},Lo=function(r,t=0,e){t=~~t,e=e??r.length-t;let o=new DataView(r.buffer);if(e===4){let n=[];for(let i=0;i<e;i++)n.push(r[t+i]);return n.join(".")}if(e===16){let n=[];for(let i=0;i<e;i+=2)n.push(o.getUint16(t+i).toString(16));return n.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ee={},tn={},Lc=[[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"]];Lc.forEach(r=>{let t=Nc(...r);tn[t.code]=t,ee[t.name]=t});function Nc(r,t,e,o,n){return{code:r,size:t,name:e,resolvable:!!o,path:!!n}}function x(r){if(typeof r=="number"){if(tn[r]!=null)return tn[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ee[r]!=null)return ee[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Jd=x("ip4"),Zd=x("ip6"),qd=x("ipcidr");function rn(r,t){switch(x(r).code){case 4:case 41:return Dc(t);case 42:return Do(t);case 6:case 273:case 33:case 132:return ko(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Do(t);case 421:return _c(t);case 444:return Po(t);case 445:return Po(t);case 466:return Oc(t);default:return K(t,"base16")}}function nn(r,t){switch(x(r).code){case 4:return No(t);case 41:return No(t);case 42:return Ro(t);case 6:case 273:case 33:case 132:return on(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ro(t);case 421:return Pc(t);case 444:return Uc(t);case 445:return Fc(t);case 466:return kc(t);default:return Rt(t,"base16")}}var en=Object.values(It).map(r=>r.decoder),Rc=function(){let r=en[0].or(en[1]);return en.slice(2).forEach(t=>r=r.or(t)),r}();function No(r){if(!ze(r))throw new Error("invalid ip address");return jr(r)}function Dc(r){let t=Lo(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!ze(t))throw new Error("invalid ip address");return t}function on(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function ko(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Ro(r){let t=Rt(r),e=Uint8Array.from(St(t.length));return ot([e,t],e.length+t.length)}function Do(r){let t=dt(r);if(r=r.slice(V(t)),r.length!==t)throw new Error("inconsistent lengths");return K(r)}function Pc(r){let t;r[0]==="Q"||r[0]==="1"?t=Lt(R.decode(`z${r}`)).bytes:t=W.parse(r).multihash.bytes;let e=Uint8Array.from(St(t.length));return ot([e,t],e.length+t.length)}function kc(r){let t=Rc.decode(r),e=Uint8Array.from(St(t.length));return ot([e,t],e.length+t.length)}function Oc(r){let t=dt(r),e=r.slice(V(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+K(e,"base64url")}function _c(r){let t=dt(r),e=r.slice(V(t));if(e.length!==t)throw new Error("inconsistent lengths");return K(e,"base58btc")}function Uc(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=lt.decode("b"+t[0]),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=on(o);return ot([e,n],e.length+n.length)}function Fc(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=lt.decode(`b${t[0]}`),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=on(o);return ot([e,n],e.length+n.length)}function Po(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),o=K(t,"base32"),n=ko(e);return`${o}:${n}`}function Oo(r){r=sn(r);let t=[],e=[],o=null,n=r.split("/").slice(1);if(n.length===1&&n[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<n.length;i++){let s=n[i],c=x(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=n.length)throw Uo("invalid address: "+r);if(c.path===!0){o=sn(n.slice(i).join("/")),t.push([c.code,nn(c.code,o)]),e.push([c.code,o]);break}let a=nn(c.code,n[i]);t.push([c.code,a]),e.push([c.code,rn(c.code,a)])}return{string:_o(e),bytes:an(t),tuples:t,stringTuples:e,path:o}}function cn(r){let t=[],e=[],o=null,n=0;for(;n<r.length;){let i=dt(r,n),s=V(i),c=x(i),a=Bc(c,r.slice(n+s));if(a===0){t.push([i]),e.push([i]),n+=s;continue}let f=r.slice(n+s,n+s+a);if(n+=a+s,n>r.length)throw Uo("Invalid address Uint8Array: "+K(r,"base16"));t.push([i,f]);let l=rn(i,f);if(e.push([i,l]),c.path===!0){o=l;break}}return{bytes:Uint8Array.from(r),string:_o(e),tuples:t,stringTuples:e,path:o}}function _o(r){let t=[];return r.map(e=>{let o=x(e[0]);return t.push(o.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),sn(t.join("/"))}function an(r){return ot(r.map(t=>{let e=x(t[0]),o=Uint8Array.from(St(e.code));return t.length>1&&t[1]!=null&&(o=ot([o,t[1]])),o}))}function Bc(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=dt(t instanceof Uint8Array?t:Uint8Array.from(t));return e+V(e)}}function sn(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Uo(r){return new Error("Error parsing address: "+r)}var Mc=Symbol.for("nodejs.util.inspect.custom"),ln=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Vc=[x("dns").code,x("dns4").code,x("dns6").code,x("dnsaddr").code],He=class r{bytes;#t;#e;#r;#n;[ln]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=cn(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Oo(t)}else if(Bo(t))e=cn(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,o,n,i="",s=x("tcp"),c=x("udp"),a=x("ip4"),f=x("ip6"),l=x("dns6"),u=x("ip6zone");for(let[y,p]of this.stringTuples())y===u.code&&(i=`%${p??""}`),Vc.includes(y)&&(e=s.name,n=443,o=`${p??""}${i}`,t=y===l.code?6:4),(y===s.code||y===c.code)&&(e=x(y).name,n=parseInt(p??"")),(y===a.code||y===f.code)&&(e=x(y).name,o=`${p??""}${i}`,t=y===f.code?6:4);if(t==null||e==null||o==null||n==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:o,transport:e,port:n}}protos(){return this.#e.map(([t])=>Object.assign({},x(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>x(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),o=this.toString(),n=o.lastIndexOf(e);if(n<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(o.slice(0,n))}decapsulateCode(t){let e=this.tuples();for(let o=e.length-1;o>=0;o--)if(e[o][0]===t)return new r(an(e.slice(0,o)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([o,n])=>{o===ee.p2p.code&&t.push([o,n]),o===ee["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let o=e[1];return o[0]==="Q"||o[0]==="1"?K(R.decode(`z${o}`),"base58btc"):K(W.parse(o).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return _t(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let o=Fo.get(e.name);if(o==null)throw new Ge(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await o(this,t)).map(i=>new r(i))}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)}[Mc](){return`Multiaddr(${this.#t})`}};var Fo=new Map;function Bo(r){return!!r?.[ln]}function st(r){return new He(r)}var Gc=d("dns4"),$c=d("dns6"),zc=d("dnsaddr"),Bt=S(d("dns"),zc,Gc,$c),Xe=S(d("ip4"),d("ip6")),vt=S(m(Xe,d("tcp")),m(Bt,d("tcp"))),Ye=m(Xe,d("udp")),Hc=m(Ye,d("utp")),Wc=m(Ye,d("quic")),Kc=m(Ye,d("quic-v1")),un=S(m(vt,d("ws")),m(Bt,d("ws"))),We=S(m(un,d("p2p")),un),dn=S(m(vt,d("wss")),m(Bt,d("wss")),m(vt,d("tls"),d("ws")),m(Bt,d("tls"),d("ws"))),Ke=S(m(dn,d("p2p")),dn),fn=S(m(vt,d("http")),m(Xe,d("http")),m(Bt,d("http"))),hn=S(m(vt,d("https")),m(Xe,d("https")),m(Bt,d("https"))),Mo=m(Ye,d("webrtc-direct"),d("certhash")),$o=S(m(Mo,d("p2p")),Mo),Vo=m(Kc,d("webtransport"),d("certhash"),d("certhash")),zo=S(m(Vo,d("p2p")),Vo),Ho=S(m(We,d("p2p-webrtc-star"),d("p2p")),m(Ke,d("p2p-webrtc-star"),d("p2p")),m(We,d("p2p-webrtc-star")),m(Ke,d("p2p-webrtc-star"))),Cf=S(m(We,d("p2p-websocket-star"),d("p2p")),m(Ke,d("p2p-websocket-star"),d("p2p")),m(We,d("p2p-websocket-star")),m(Ke,d("p2p-websocket-star"))),Wo=S(m(fn,d("p2p-webrtc-direct"),d("p2p")),m(hn,d("p2p-webrtc-direct"),d("p2p")),m(fn,d("p2p-webrtc-direct")),m(hn,d("p2p-webrtc-direct"))),Mt=S(un,dn,fn,hn,Ho,Wo,vt,Hc,Wc,Bt,$o,zo),vf=S(m(Mt,d("p2p-stardust"),d("p2p")),m(Mt,d("p2p-stardust"))),Ct=S(m(Mt,d("p2p")),Ho,Wo,$o,zo,d("p2p")),Go=S(m(Ct,d("p2p-circuit"),Ct),m(Ct,d("p2p-circuit")),m(d("p2p-circuit"),Ct),m(Mt,d("p2p-circuit")),m(d("p2p-circuit"),Mt),d("p2p-circuit")),Ko=()=>S(m(Go,Ko),Go),Ft=Ko(),Tf=S(m(Ft,Ct,Ft),m(Ct,Ft),m(Ft,Ct),Ft,Ct);var Lf=S(m(Ft,d("webrtc"),d("p2p")),m(Ft,d("webrtc")),m(Mt,d("webrtc"),d("p2p")),m(Mt,d("webrtc")),d("webrtc"));function Xo(r){function t(e){let o;try{o=st(e)}catch{return!1}let n=r(o.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return t}function m(...r){function t(e){if(e.length<r.length)return null;let o=e;return r.some(n=>(o=typeof n=="function"?n().partialMatch(e):n.partialMatch(e),Array.isArray(o)&&(e=o),o===null)),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Xo(t),partialMatch:t}}function S(...r){function t(o){let n=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(o):i.partialMatch(o);return s!=null?(n=s,!0):!1}),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Xo(t),partialMatch:t}}function d(r){let t=r;function e(n){let i;try{i=st(n)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function o(n){return n.length===0?null:n[0]===t?n.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:o}}var ii=yt(ft("net"),1);var pn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Yo(r,t){if(typeof r!="string")throw new B(`invalid ip provided: ${r}`,pn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new B(`invalid port provided: ${t}`,pn.ERR_INVALID_PORT_PARAMETER);if((0,it.isIPv4)(r))return st(`/ip4/${r}/tcp/${t}`);if((0,it.isIPv6)(r))return st(`/ip6/${r}/tcp/${t}`);throw new B(`invalid ip:port for creating a multiaddr: ${r}:${t}`,pn.ERR_INVALID_IP)}var oi=yt(ri(),1);var yn=yt(ft("os"),1),ni=yt(ft("path"),1);var qc={ip4:"IPv4",ip6:"IPv6"};function ne(r,t={}){let e=r.getPath();return e!=null?yn.default.platform()==="win32"?{path:ni.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function bn(r,t,e){let o=n=>st(`/${r}/${n}/tcp/${e}`);return(jc(t)?ea(qc[r]):[t]).map(o)}function jc(r){return["0.0.0.0","::"].includes(r)}var ta=yn.default.networkInterfaces();function ea(r){let t=[];for(let[,e]of Object.entries(ta))if(e!=null)for(let o of e)o.family===r&&t.push(o.address);return t}var Je=(r,t)=>{let e=t.logger.forComponent("libp2p:tcp:socket"),o=t.metrics,n=t.metricPrefix??"",i=t.socketInactivityTimeout??3e5,s=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let c;if(t.remoteAddr!=null)c=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new B("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");c=Yo(r.remoteAddress,r.remotePort)}let a=ne(c),f=a.path??`${a.host??""}:${a.port??""}`,{sink:l,source:u}=oi.default.duplex(r);r.setTimeout(i,()=>{e("%s socket read timeout",f),o?.increment({[`${n}timeout`]:!0});let y;r.readable&&(y=new B("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(y)}),r.once("close",()=>{e("%s socket close",f),o?.increment({[`${n}close`]:!0}),h.timeline.close==null&&(h.timeline.close=Date.now())}),r.once("end",()=>{e("%s socket end",f),o?.increment({[`${n}end`]:!0})});let h={async sink(y){try{await l(async function*(){for await(let p of y)p instanceof Uint8Array?yield p:yield p.subarray()}())}catch(p){p.type!=="aborted"&&e(p)}r.end()},source:u,remoteAddr:c,timeline:{open:Date.now()},async close(y={}){if(r.destroyed){e("%s socket was already destroyed when trying to close",f);return}if(y.signal==null){let p=AbortSignal.timeout(s);y={...y,signal:p}}try{e("%s closing socket",f),await new Promise((p,w)=>{r.once("close",()=>{e("%s socket closed",f),p()}),r.once("error",g=>{e("%s socket error",f,g),h.timeline.close==null&&(h.timeline.close=Date.now()),w(g)}),r.setTimeout(s),r.end(),r.writableLength>0?r.once("drain",()=>{e("%s socket drained",f),r.destroy()}):r.destroy()})}catch(p){this.abort(p)}},abort:y=>{e("%s socket abort due to error",f,y),r.destroy(y)},log:e};return h};async function wn(r,t){try{await r.close()}catch(e){t.log.error("an error occurred closing the connection",e)}}var P;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(P||(P={}));var Ze=class extends Ve{context;server;connections=new Set;status={code:P.INACTIVE};metrics;addr;log;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0,this.log=t.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=ii.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 new B("closeAbove must be >= listenBelow","ERROR_CONNECTION_LIMITS");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]:P.ACTIVE})}this.dispatchEvent(new te("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new te("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==P.PAUSED&&this.dispatchEvent(new te("close"))})}onSocket(t){if(this.status.code!==P.ACTIVE)throw new B("Server is is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",o=>{this.log("socket error",o),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=Je(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger})}catch(o){this.log.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}this.log("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(o=>{this.log("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.resume().catch(n=>{this.log.error("error attempting to listen server once connection count under limit",n),this.context.closeServerOnMaxConnections?.onListenError?.(n)})}),this.context.handler!=null&&this.context.handler(o),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(!1).catch(n=>{this.log.error("error attempting to close server once connection count over limit",n)}),this.dispatchEvent(new te("connection",{detail:o}))}).catch(async o=>{this.log.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await wn(e,{log:this.log})}).catch(o=>{this.log.error("closing inbound connection failed",o)})}catch(o){this.log.error("inbound connection failed",o),wn(e,{log:this.log}).catch(n=>{this.log.error("closing inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(this.status.code===P.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:o,peerId:n}=this.status;if(e==null)return[];if(typeof e=="string")t=[o];else try{o.toString().startsWith("/ip4")?t=t.concat(bn("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(bn("ip6",e.address,e.port)))}catch(i){this.log.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>n!=null?i.encapsulate(`/p2p/${n}`):i)}async listen(t){if(this.status.code===P.ACTIVE||this.status.code===P.PAUSED)throw new B("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),o=e==null?t.decapsulateCode(421):t,{backlog:n}=this.context;try{this.status={code:P.ACTIVE,listeningAddr:o,peerId:e,netConfig:ne(o,{backlog:n})},await this.resume()}catch(i){throw this.status={code:P.INACTIVE},i}}async close(){await Promise.all([Promise.all(Array.from(this.connections.values()).map(async t=>wn(t,{log:this.log}))),this.pause(!0).catch(t=>{this.log.error("error attempting to close server once connection count over limit",t)})])}async resume(){if(this.server.listening||this.status.code===P.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,o)=>{this.server.once("error",o),this.server.listen(t,e)}),this.status={...this.status,code:P.ACTIVE},this.log("Listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===P.PAUSED&&t){this.status={code:P.INACTIVE};return}!this.server.listening||this.status.code!==P.ACTIVE||(this.log("Closing server on %s",this.server.address()),this.status=t?{code:P.INACTIVE}:{...this.status,code:P.PAUSED},await new Promise((e,o)=>{this.server.close(n=>{n!=null?o(n):e()})}))}};var xn=class{opts;metrics;components;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:tcp"),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"})})}[Eo]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let o=await this._connect(t,e);o.on("error",c=>{this.log("socket error",c)});let n=Je(o,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents,logger:this.components.logger}),i=()=>{n.close().catch(c=>{this.log.error("Error closing maConn after abort",c)})};e.signal?.addEventListener("abort",i,{once:!0}),this.log("new outbound connection %s",n.remoteAddr);let s=await e.upgrader.upgradeOutbound(n);if(this.log("outbound connection %s upgraded",n.remoteAddr),e.signal?.removeEventListener("abort",i),e.signal?.aborted===!0)throw s.close().catch(c=>{this.log.error("Error closing conn after abort",c)}),new jt;return s}async _connect(t,e){if(e.signal?.aborted===!0)throw new jt;return new Promise((o,n)=>{let i=Date.now(),s=ne(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t);let c=si.default.connect(s),a=y=>{let p=s.path??`${s.host??""}:${s.port}`;y.message=`connection error ${p}: ${y.message}`,this.metrics?.dialerEvents.increment({error:!0}),h(y)},f=()=>{this.log("connection timeout %a",t),this.metrics?.dialerEvents.increment({timeout:!0});let y=new B(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");c.emit("error",y)},l=()=>{this.log("connection opened %a",t),this.metrics?.dialerEvents.increment({connect:!0}),h()},u=()=>{this.log("connection aborted %a",t),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),h(new jt)},h=y=>{if(c.removeListener("error",a),c.removeListener("timeout",f),c.removeListener("connect",l),e.signal!=null&&e.signal.removeEventListener("abort",u),y!=null){n(y);return}o(c)};c.on("error",a),c.on("timeout",f),c.on("connect",l),e.signal!=null&&e.signal.addEventListener("abort",u)})}createListener(t){return new Ze({...this.opts.listenOpts??{},...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,logger:this.components.logger})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:vt.matches(e.decapsulateCode(421)))}};function ci(r={}){return t=>new xn(t,r)}var li=Symbol.for("@achingbrain/uint8arraylist");function ai(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let o of r){let n=e+o.byteLength;if(t<n)return{buf:o,index:t-e};e=n}throw new RangeError("index is out of bounds")}function qe(r){return!!r?.[li]}var ct=class r{bufs;length;[li]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let o of t)if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.push(o);else if(qe(o))e+=o.byteLength,this.bufs.push(...o.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let o of t.reverse())if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.unshift(o);else if(qe(o))e+=o.byteLength,this.bufs.unshift(...o.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ai(this.bufs,t);return e.buf[e.index]}set(t,e){let o=ai(this.bufs,t);o.buf[o.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let o=0;o<t.length;o++)this.set(e+o,t[o]);else if(qe(t))for(let o=0;o<t.length;o++)this.set(e+o,t.get(o));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:o,length:n}=this._subList(t,e);return ot(o,n)}subarray(t,e){let{bufs:o,length:n}=this._subList(t,e);return o.length===1?o[0]:ot(o,n)}sublist(t,e){let{bufs:o,length:n}=this._subList(t,e),i=new r;return i.length=n,i.bufs=[...o],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let o=[],n=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=n,a=c+s.byteLength;if(n=a,t>=a)continue;let f=t>=c&&t<a,l=e>c&&e<=a;if(f&&l){if(t===c&&e===a){o.push(s);break}let u=t-c;o.push(s.subarray(u,u+(e-t)));break}if(f){if(t===0){o.push(s);continue}o.push(s.subarray(t-c));continue}if(l){if(e===a){o.push(s);break}o.push(s.subarray(0,e-c));break}o.push(s)}return{bufs:o,length:e-t}}indexOf(t,e=0){if(!qe(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let o=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=o.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u<i;u++)s[u]=-1;for(let u=0;u<n;u++)s[o[u]]=u;let c=s,a=this.byteLength-o.byteLength,f=o.byteLength-1,l;for(let u=e;u<=a;u+=l){l=0;for(let h=f;h>=0;h--){let y=this.get(u+h);if(o[h]!==y){l=Math.max(1,h-c[y]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let o=U(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt8(0,e),this.write(o,t)}getInt16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt16(0,e)}setInt16(t,e,o){let n=ht(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,o),this.write(n,t)}getInt32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt32(0,e)}setInt32(t,e,o){let n=ht(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,o),this.write(n,t)}getBigInt64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigInt64(0,e)}setBigInt64(t,e,o){let n=ht(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,o),this.write(n,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let o=U(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint8(0,e),this.write(o,t)}getUint16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint16(0,e)}setUint16(t,e,o){let n=ht(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,o),this.write(n,t)}getUint32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint32(0,e)}setUint32(t,e,o){let n=ht(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,o),this.write(n,t)}getBigUint64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigUint64(0,e)}setBigUint64(t,e,o){let n=ht(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,o),this.write(n,t)}getFloat32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat32(0,e)}setFloat32(t,e,o){let n=ht(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,o),this.write(n,t)}getFloat64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat64(0,e)}setFloat64(t,e,o){let n=ht(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,o),this.write(n,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!_t(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let o=new r;return o.bufs=t,e==null&&(e=t.reduce((n,i)=>n+i.byteLength,0)),o.length=e,o}};function je(r){return r[Symbol.asyncIterator]!=null}var tr=r=>{let t=V(r),e=U(t);return St(r,e),tr.bytes=t,e};tr.bytes=0;function Vt(r,t){t=t??{};let e=t.lengthEncoder??tr;function*o(n){let i=e(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return je(r)?async function*(){for await(let n of r)yield*o(n)}():function*(){for(let n of r)yield*o(n)}()}Vt.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??tr;return new ct(e(r.byteLength),r)};var oe=yt(fi(),1);var ca=8,aa=1024*1024*4,Gt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Gt||(Gt={}));var An=r=>{let t=dt(r);return An.bytes=V(t),t};An.bytes=0;function In(r,t){let e=new ct,o=Gt.LENGTH,n=-1,i=t?.lengthDecoder??An,s=t?.maxLengthLength??ca,c=t?.maxDataLength??aa;function*a(){for(;e.byteLength>0;){if(o===Gt.LENGTH)try{if(n=i(e),n<0)throw(0,oe.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>c)throw(0,oe.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=i.bytes;e.consume(f),t?.onLength!=null&&t.onLength(n),o=Gt.DATA}catch(f){if(f instanceof RangeError){if(e.byteLength>s)throw(0,oe.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(o===Gt.DATA){if(e.byteLength<n)break;let f=e.sublist(0,n);e.consume(n),t?.onData!=null&&t.onData(f),yield f,o=Gt.LENGTH}}}return je(r)?async function*(){for await(let f of r)e.append(f),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of r)e.append(f),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}In.fromReader=(r,t)=>{let e=1,o=async function*(){for(;;)try{let{done:i,value:s}=await r.next(e);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return In(o,{...t??{},onLength:i=>{e=i}})};function gt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var er=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function pi(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new er(e?.errorMessage,e?.errorCode));let o,n=new er(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((i,s)=>{o=()=>{s(n)},t.addEventListener("abort",o)})])}finally{o!=null&&t.removeEventListener("abort",o)}}var Sn=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=gt(),this.needNext.resolve(),this.haveNext=gt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=gt(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=gt(),await pi(this.needNext.promise,e?.signal,e)}};function mi(){return new Sn}var rr=class extends Error{code;constructor(t,e){super(t),this.code=e}},Cn=class extends rr{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function gi(r,t){let e=mi();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let c of s)await e.push(c);await e.end()};let o=r.source;r.source[Symbol.iterator]!=null?o=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(o=r.source[Symbol.asyncIterator]());let n=new ct;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,f=new Promise((l,u)=>{a=()=>{u(new Cn("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:h}=await Promise.race([o.next(),f]);return u===!0?new ct:h}for(;n.byteLength<s;){let{value:u,done:h}=await Promise.race([o.next(),f]);if(h===!0)throw new rr("unexpected end of input","ERR_UNEXPECTED_EOF");n.append(u)}let l=n.sublist(0,s);return n.consume(s),l}finally{a!=null&&c?.signal?.removeEventListener("abort",a)}},write:async(s,c)=>{c?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,c):await e.push(s.subarray(),c)},unwrap:()=>{if(n.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield n:yield*n,yield*s}()}return r}}}var nr=class extends Error{code;constructor(t,e){super(t),this.code=e}},yi=r=>dt(r);yi.bytes=0;function ie(r,t={}){let e=gi(r,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=V(t.maxDataLength)),{read:async n=>{let i=-1,s=new ct,c=t?.lengthDecoder??yi;for(;;){s.append(await e.read(1,n));try{i=c(s)}catch(a){if(a instanceof RangeError)continue;throw a}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new nr("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(i>-1)break}if(t?.maxDataLength!=null&&i>t.maxDataLength)throw new nr("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(i,n)},write:async(n,i)=>{await e.write(Vt.single(n,t),i)},writeV:async(n,i)=>{let s=new ct(...n.map(c=>Vt.single(c,t)));await e.write(s,i)},unwrap:()=>e.unwrap()}}var or=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},se=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new or(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new or(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var vn=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ce(r={}){return la(e=>{let o=e.shift();if(o==null)return{done:!0};if(o.error!=null)throw o.error;return{done:o.done===!0,value:o.value}},r)}function la(r,t){t=t??{};let e=t.onEnd,o=new se,n,i,s,c=gt(),a=async()=>{try{return o.isEmpty()?s?{done:!0}:await new Promise((g,b)=>{i=I=>{i=null,o.push(I);try{g(r(o))}catch(N){b(N)}return n}}):r(o)}finally{o.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=gt()})}},f=g=>i!=null?i(g):(o.push(g),n),l=g=>(o=new se,i!=null?i({error:g}):(o.push({error:g}),n)),u=g=>{if(s)return n;if(t?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:g})},h=g=>s?n:(s=!0,g!=null?l(g):f({done:!0})),y=()=>(o=new se,h(),{done:!0}),p=g=>(h(g),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:a,return:y,throw:p,push:u,end:h,get readableLength(){return o.size},onEmpty:async g=>{let b=g?.signal;if(b?.throwIfAborted(),o.isEmpty())return;let I,N;b!=null&&(I=new Promise((D,Y)=>{N=()=>{Y(new vn)},b.addEventListener("abort",N)}));try{await Promise.race([c.promise,I])}finally{N!=null&&b!=null&&b?.removeEventListener("abort",N)}}},e==null)return n;let w=n;return n={[Symbol.asyncIterator](){return this},next(){return w.next()},throw(g){return w.throw(g),e!=null&&(e(g),e=void 0),{done:!0}},return(){return w.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(g){return w.end(g),e!=null&&(e(g),e=void 0),n},get readableLength(){return w.readableLength},onEmpty:g=>w.onEmpty(g)},n}function ua(r){return r[Symbol.asyncIterator]!=null}function da(...r){let t=[];for(let e of r)ua(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=ce({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async o=>{for await(let n of o)e.push(n)})),e.end()}catch(o){e.end(o)}}),yield*e}()}var bi=da;function Ln(r,...t){if(r==null)throw new Error("Empty pipeline");if(Tn(r)){let o=r;r=()=>o.source}else if(Ei(r)||wi(r)){let o=r;r=()=>o}let e=[r,...t];if(e.length>1&&Tn(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let o=1;o<e.length-1;o++)Tn(e[o])&&(e[o]=ha(e[o]));return fa(...e)}var fa=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},wi=r=>r?.[Symbol.asyncIterator]!=null,Ei=r=>r?.[Symbol.iterator]!=null,Tn=r=>r==null?!1:r.sink!=null&&r.source!=null,ha=r=>t=>{let e=r.sink(t);if(e?.then!=null){let o=ce({objectMode:!0});e.then(()=>{o.end()},s=>{o.end(s)});let n,i=r.source;if(wi(i))n=async function*(){yield*i,o.end()};else if(Ei(i))n=function*(){yield*i,o.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return bi(o,n())}return r.source};function xi(r,t){let e=ie(r,t),o={read:async(n,i)=>{let s=await e.read(i);return n.decode(s)},write:async(n,i,s)=>{await e.write(i.encode(n),s)},writeV:async(n,i,s)=>{await e.writeV(n.map(c=>i.encode(c)),s)},pb:n=>({read:async i=>o.read(n,i),write:async(i,s)=>o.write(i,n,s),writeV:async(i,s)=>o.writeV(i,n,s),unwrap:()=>o}),unwrap:()=>e.unwrap()};return o}function pa(r){return r[Symbol.asyncIterator]!=null}function ma(r){if(pa(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Nn=ma;function X(r){return L.encode({type:L.Type.OK,peers:[],...r}).subarray()}function G(r){return L.encode({type:L.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var ir=Ot("libp2p:daemon-server:dht"),sr=class{dht;constructor(t){let{dht:e}=t;this.dht=e}async*provide(t){try{await Nn(this.dht.provide(t)),yield X()}catch(e){ir.error(e),yield G(e)}}async*getClosestPeers(t){yield X({dht:{type:k.Type.BEGIN}});for await(let e of this.dht.getClosestPeers(t))e.name==="PEER_RESPONSE"&&(yield*e.closer.map(o=>k.encode({type:k.Type.VALUE,value:o.id.toBytes()})));yield k.encode({type:k.Type.END})}async*getPublicKey(t){yield G(new Error("FIX ME: not implemented"))}async*getValue(t){try{for await(let e of this.dht.get(t))e.name==="VALUE"&&(yield X({dht:{type:k.Type.VALUE,value:e.value}}))}catch(e){ir.error(e),yield G(e)}}async*putValue(t,e){try{await Nn(this.dht.put(t,e)),yield X()}catch(o){ir.error(o),yield G(o)}}async*findPeer(t){try{for await(let e of this.dht.findPeer(t))e.name==="FINAL_PEER"&&(yield X({dht:{type:k.Type.VALUE,peer:{id:e.peer.id.toBytes(),addrs:e.peer.multiaddrs.map(o=>o.bytes)}}}));throw new Error("Peer not found")}catch(e){ir.error(e),yield G(e)}}async*findProviders(t,e){yield X({dht:{type:k.Type.BEGIN}});try{let o=e,n=0;for await(let i of this.dht.findProviders(t))if(i.name==="PEER_RESPONSE"){for(let s of i.providers)n++,yield k.encode({type:k.Type.VALUE,peer:{id:s.id.toBytes(),addrs:(s.multiaddrs??[]).map(c=>c.bytes)}});if(o===n)break}}catch(o){yield G(o)}yield k.encode({type:k.Type.END})}};var cr=Ot("libp2p:daemon-server:pubsub"),ar=class{pubsub;constructor(t){let{pubsub:e}=t;this.pubsub=e}async*getTopics(){try{yield X({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(t){cr.error(t),yield G(t)}}async*subscribe(t){try{let e=ce();this.pubsub.subscribe(t),this.pubsub.addEventListener("message",o=>{let n=o.detail;n.topic===t&&(n.type==="signed"?e.push(pe.encode({from:n.from.toBytes(),data:n.data,seqno:n.sequenceNumber==null?void 0:Rt(n.sequenceNumber.toString(16).padStart(16,"0"),"base16"),topicIDs:[n.topic],signature:n.signature,key:n.key}).subarray()):e.push(pe.encode({data:n.data,topicIDs:[n.topic]}).subarray()))}),yield X(),yield*e}catch(e){cr.error(e),yield G(e)}}async*publish(t,e){try{await this.pubsub.publish(t,e),yield X()}catch(o){cr.error(o),yield G(o)}}async*listPeers(t){try{yield X({pubsub:{topics:[t],peerIDs:this.pubsub.getSubscribers(t).map(e=>e.toBytes())}})}catch(e){cr.error(e),yield G(e)}}};var ga=1<<22,$=Ot("libp2p:daemon-server"),lr=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(t){let{multiaddr:e,libp2pNode:o}=t;this.multiaddr=e,this.libp2p=o,this.tcp=ci()({logger:go()}),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:Hr}),this._onExit=this._onExit.bind(this),o.services.dht!=null&&(this.dhtOperations=new sr({dht:o.services.dht})),o.services.pubsub!=null&&(this.pubsubOperations=new ar({pubsub:o.services.pubsub}))}async connect(t){if(t.connect==null||t.connect.addrs==null)throw new Error("Invalid request");let e=t.connect.peer,o=t.connect.addrs.map(i=>st(i)),n=Ut(e);return $("connect - adding multiaddrs %a to peer %p",o,n),await this.libp2p.peerStore.merge(n,{multiaddrs:o}),$("connect - dial %p",n),this.libp2p.dial(n)}async openStream(t){if(t.streamOpen==null||t.streamOpen.proto==null)throw new Error("Invalid request");let{peer:e,proto:o}=t.streamOpen,n=Ut(e);$("openStream - dial %p",n);let i=await this.libp2p.dial(n);$("openStream - open stream for protocol %s",o);let s=await i.newStream(o,{runOnTransientConnection:!0});return{streamInfo:{peer:n.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""},connection:s}}async registerStreamHandler(t){if(t.streamHandler==null||t.streamHandler.proto==null)throw new Error("Invalid request");let e=t.streamHandler.proto,o=st(t.streamHandler.addr),n;$("registerStreamHandler - handle %s",e),await this.libp2p.handle(e,({connection:i,stream:s})=>{Promise.resolve().then(async()=>{n=await this.tcp.dial(o,{upgrader:Hr});let c=Yt.encode({peer:i.remotePeer.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""}),a=Vt.single(c);await Ln(async function*(){yield a,yield*s.source}(),async function*(f){for await(let l of f)yield*l},n,s.sink)}).catch(async c=>{$.error(c),n!=null&&await n.close(c)}).finally(()=>{n?.close().catch(c=>{$.error(c)})})},{runOnTransientConnection:!0})}_listen(){process.on("SIGTERM",this._onExit),process.on("SIGINT",this._onExit),process.on("SIGHUP",this._onExit)}_onExit(){this.stop({exit:!0}).catch(t=>{$.error(t)})}async start(){this._listen(),await this.libp2p.start(),await this.listener.listen(this.multiaddr)}getMultiaddr(){let t=this.listener.getAddrs();if(t.length>0)return t[0];throw new Error("Not started")}async stop(t={exit:!1}){await this.libp2p.stop(),await this.listener.close(),t.exit&&$("server closed, exiting"),process.removeListener("SIGTERM",this._onExit),process.removeListener("SIGINT",this._onExit),process.removeListener("SIGHUP",this._onExit)}async*handlePeerStoreRequest(t){try{switch(t.type){case Pt.Type.GET_PROTOCOLS:if(t.id==null)throw new Error("Invalid request");let e=Ut(t.id),n=(await this.libp2p.peerStore.get(e)).protocols;yield X({peerStore:{protos:n}});return;case Pt.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield G(e)}}async*handlePubsubRequest(t){try{if(this.libp2p.services.pubsub==null||this.pubsubOperations==null)throw new Error("PubSub not configured");switch(t.type){case mt.Type.GET_TOPICS:yield*this.pubsubOperations.getTopics();return;case mt.Type.SUBSCRIBE:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.subscribe(t.topic);return;case mt.Type.PUBLISH:if(t.topic==null||t.data==null)throw new Error("Invalid request");yield*this.pubsubOperations.publish(t.topic,t.data);return;case mt.Type.LIST_PEERS:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.listPeers(t.topic);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield G(e)}}async*handleDHTRequest(t){try{if(this.libp2p.services.dht==null||this.dhtOperations==null)throw new Error("DHT not configured");switch(t.type){case nt.Type.FIND_PEER:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(Ut(t.peer));return;case nt.Type.FIND_PROVIDERS:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(W.decode(t.cid),t.count??20);return;case nt.Type.PROVIDE:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(W.decode(t.cid));return;case nt.Type.GET_CLOSEST_PEERS:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(t.key);return;case nt.Type.GET_PUBLIC_KEY:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(Ut(t.peer));return;case nt.Type.GET_VALUE:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(t.key);return;case nt.Type.PUT_VALUE:if(t.key==null||t.value==null)throw new Error("Invalid request");yield*this.dhtOperations.putValue(t.key,t.value);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield G(e)}}handleConnection(t){Promise.resolve().then(async()=>{let e=this,o=xi(t,{maxDataLength:ga}),n=await o.read(rt);$("read",n);try{switch(n.type){case rt.Type.CONNECT:{await e.connect(n),await o.write({type:L.Type.OK},L);break}case rt.Type.IDENTIFY:{await o.write({type:L.Type.OK,identify:{id:e.libp2p.peerId.toBytes(),addrs:e.libp2p.getMultiaddrs().map(i=>i.decapsulateCode(x("p2p").code)).map(i=>i.bytes)}},L);break}case rt.Type.LIST_PEERS:{let i=[],s=new Set;for(let c of e.libp2p.getConnections()){let a=c.remotePeer.toString();s.has(a)||(s.add(a),i.push({id:c.remotePeer.toBytes(),addrs:[c.remoteAddr.bytes]}))}await o.write({type:L.Type.OK,peers:i},L);break}case rt.Type.STREAM_OPEN:{let i=await e.openStream(n);await o.write({type:L.Type.OK,streamInfo:i.streamInfo},L);let s=o.unwrap();await Ln(s,i.connection,s);break}case rt.Type.STREAM_HANDLER:{await e.registerStreamHandler(n),await o.write({type:L.Type.OK},L);break}case rt.Type.PEERSTORE:{if(n.peerStore==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=ie(i);for await(let c of e.handlePeerStoreRequest(n.peerStore))await s.write(c);break}case rt.Type.PUBSUB:{if(n.pubsub==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=ie(i);for await(let c of e.handlePubsubRequest(n.pubsub))await s.write(c);break}case rt.Type.DHT:{if(n.dht==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=ie(i);for await(let c of e.handleDHTRequest(n.dht))await s.write(c);break}default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(i){$.error(i),await o.write({type:L.Type.ERROR,error:{msg:i.message},peers:[]},L)}finally{await o.unwrap().close()}}).catch(e=>{$.error("error handling incoming connection",e)})}},ya=(r,t)=>new lr({multiaddr:r,libp2pNode:t});return Ti(ba);})();
|
|
4
|
+
`+i),r.push(n+"m+"+Be.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=cc()+t+" "+r[0]}function cc(){return _.inspectOpts.hideDate?"":new Date().toISOString()+" "}function ac(...r){return process.stderr.write(Fe.format(...r)+`
|
|
5
|
+
`)}function lc(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function uc(){return process.env.DEBUG}function dc(r){r.inspectOpts={};let t=Object.keys(_.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=_.inspectOpts[t[e]]}Be.exports=Jr()(_);var{formatters:ho}=Be.exports;ho.o=function(r){return this.inspectOpts.colors=this.useColors,Fe.inspect(r,this.inspectOpts).split(`
|
|
6
|
+
`).map(t=>t.trim()).join(" ")};ho.O=function(r){return this.inspectOpts.colors=this.useColors,Fe.inspect(r,this.inspectOpts)}});var mo=z((Yl,qr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?qr.exports=co():qr.exports=po()});var Xe=z((Yd,Yo)=>{Yo.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:o}=await t.read();if(e)return;yield o}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var Jo=z((Qd,Qo)=>{Qo.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 gn=z((Jd,Zo)=>{var zc=Jo();Zo.exports=r=>async t=>{t=zc(t);let e=b=>{typeof b.return=="function"&&b.return()},o=null,n=null,i=b=>{o=b,n&&n(b),e(t)},s=null,c=!1,a=()=>{c=!0,s&&s()},f=null,l=!1,u=()=>{l=!0,f&&f()},h=null,y=()=>{h&&h()},p=()=>new Promise((b,I)=>{s=h=b,n=I,r.once("drain",y)}),w=()=>(e(t),new Promise((b,I)=>{if(c||l||o)return b();f=s=b,n=I})),g=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",y)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let b of t){if(!r.writable||r.destroyed||o)break;r.write(b)===!1&&await p()}}catch(b){o||r.destroy(),o=b}try{if(r.writable&&r.end(),await w(),o)throw o}finally{g()}}});var yn=z((Zd,qo)=>{var Hc=gn(),Wc=Xe();qo.exports=r=>({sink:Hc(r),source:Wc(r)})});var ti=z((qd,jo)=>{var Kc=yn();jo.exports=r=>async function*(t){let e=Kc(r),o;if(e.sink(t).catch(n=>{o=n}),yield*e.source,o)throw o}});var ei=z((jd,ee)=>{ee.exports=Xe();ee.exports.source=Xe();ee.exports.sink=gn();ee.exports.transform=ti();ee.exports.duplex=yn()});var di=z((Nf,ui)=>{"use strict";function li(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function qc(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return li(r,e)}catch{e.message=r.message,e.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),li(new n,e)}}ui.exports=qc});var da={};Q(da,{Server:()=>ar,createServer:()=>ua});function wt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function pt(r=0){return globalThis.Buffer?.alloc!=null?wt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function F(r=0){return globalThis.Buffer?.allocUnsafe!=null?wt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var vi=Math.pow(2,7),Si=Math.pow(2,14),Ti=Math.pow(2,21),lr=Math.pow(2,28),ur=Math.pow(2,35),dr=Math.pow(2,42),fr=Math.pow(2,49),E=128,B=127;function v(r){if(r<vi)return 1;if(r<Si)return 2;if(r<Ti)return 3;if(r<lr)return 4;if(r<ur)return 5;if(r<dr)return 6;if(r<fr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function hr(r,t,e=0){switch(v(r)){case 8:t[e++]=r&255|E,r/=128;case 7:t[e++]=r&255|E,r/=128;case 6:t[e++]=r&255|E,r/=128;case 5:t[e++]=r&255|E,r/=128;case 4:t[e++]=r&255|E,r>>>=7;case 3:t[e++]=r&255|E,r>>>=7;case 2:t[e++]=r&255|E,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Li(r,t,e=0){switch(v(r)){case 8:t.set(e++,r&255|E),r/=128;case 7:t.set(e++,r&255|E),r/=128;case 6:t.set(e++,r&255|E),r/=128;case 5:t.set(e++,r&255|E),r/=128;case 4:t.set(e++,r&255|E),r>>>=7;case 3:t.set(e++,r&255|E),r>>>=7;case 2:t.set(e++,r&255|E),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function pr(r,t){let e=r[t],o=0;if(o+=e&B,e<E||(e=r[t+1],o+=(e&B)<<7,e<E)||(e=r[t+2],o+=(e&B)<<14,e<E)||(e=r[t+3],o+=(e&B)<<21,e<E)||(e=r[t+4],o+=(e&B)*lr,e<E)||(e=r[t+5],o+=(e&B)*ur,e<E)||(e=r[t+6],o+=(e&B)*dr,e<E)||(e=r[t+7],o+=(e&B)*fr,e<E))return o;throw new RangeError("Could not decode varint")}function Ni(r,t){let e=r.get(t),o=0;if(o+=e&B,e<E||(e=r.get(t+1),o+=(e&B)<<7,e<E)||(e=r.get(t+2),o+=(e&B)<<14,e<E)||(e=r.get(t+3),o+=(e&B)<<21,e<E)||(e=r.get(t+4),o+=(e&B)*lr,e<E)||(e=r.get(t+5),o+=(e&B)*ur,e<E)||(e=r.get(t+6),o+=(e&B)*dr,e<E)||(e=r.get(t+7),o+=(e&B)*fr,e<E))return o;throw new RangeError("Could not decode varint")}function ft(r,t,e=0){return t==null&&(t=F(v(r))),t instanceof Uint8Array?hr(r,t,e):Li(r,t,e)}function at(r,t=0){return r instanceof Uint8Array?pr(r,t):Ni(r,t)}var mr=new Float32Array([-0]),Et=new Uint8Array(mr.buffer);function Dn(r,t,e){mr[0]=r,t[e]=Et[0],t[e+1]=Et[1],t[e+2]=Et[2],t[e+3]=Et[3]}function kn(r,t){return Et[0]=r[t],Et[1]=r[t+1],Et[2]=r[t+2],Et[3]=r[t+3],mr[0]}var gr=new Float64Array([-0]),M=new Uint8Array(gr.buffer);function Pn(r,t,e){gr[0]=r,t[e]=M[0],t[e+1]=M[1],t[e+2]=M[2],t[e+3]=M[3],t[e+4]=M[4],t[e+5]=M[5],t[e+6]=M[6],t[e+7]=M[7]}function On(r,t){return M[0]=r[t],M[1]=r[t+1],M[2]=r[t+2],M[3]=r[t+3],M[4]=r[t+4],M[5]=r[t+5],M[6]=r[t+6],M[7]=r[t+7],gr[0]}var Ri=BigInt(Number.MAX_SAFE_INTEGER),Di=BigInt(Number.MIN_SAFE_INTEGER),J=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(e+o*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(BigInt(e)+(BigInt(o)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,o=this.hi>>>24;return o===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:o<128?9:10}static fromBigInt(t){if(t===0n)return Tt;if(t<Ri&&t>Di)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let o=t>>32n,n=t-(o<<32n);return e&&(o=~o|0n,n=~n|0n,++n>_n&&(n=0n,++o>_n&&(o=0n))),new r(Number(n),Number(o))}static fromNumber(t){if(t===0)return Tt;let e=t<0;e&&(t=-t);let o=t>>>0,n=(t-o)/4294967296>>>0;return e&&(n=~n>>>0,o=~o>>>0,++o>4294967295&&(o=0,++n>4294967295&&(n=0))),new r(o,n)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Tt}},Tt=new J(0,0);Tt.toBigInt=function(){return 0n};Tt.zzEncode=Tt.zzDecode=function(){return this};Tt.length=function(){return 1};var _n=4294967296n;function Un(r){let t=0,e=0;for(let o=0;o<r.length;++o)e=r.charCodeAt(o),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(o+1)&64512)===56320?(++o,t+=4):t+=3;return t}function Fn(r,t,e){if(e-t<1)return"";let n,i=[],s=0,c;for(;t<e;)c=r[t++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),s=0);return n!=null?(s>0&&n.push(String.fromCharCode.apply(String,i.slice(0,s))),n.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function yr(r,t,e){let o=e,n,i;for(let s=0;s<r.length;++s)n=r.charCodeAt(s),n<128?t[e++]=n:n<2048?(t[e++]=n>>6|192,t[e++]=n&63|128):(n&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&1023),++s,t[e++]=n>>18|240,t[e++]=n>>12&63|128,t[e++]=n>>6&63|128,t[e++]=n&63|128):(t[e++]=n>>12|224,t[e++]=n>>6&63|128,t[e++]=n&63|128);return e-o}function lt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function we(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var br=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,lt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw lt(this,4);return we(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw lt(this,4);return we(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw lt(this,4);let t=kn(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw lt(this,4);let t=On(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,o=this.pos+t;if(o>this.len)throw lt(this,t);return this.pos+=t,e===o?new Uint8Array(0):this.buf.subarray(e,o)}string(){let t=this.bytes();return Fn(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw lt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw lt(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new J(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw lt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw lt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw lt(this,8);let t=we(this.buf,this.pos+=4),e=we(this.buf,this.pos+=4);return new J(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=pr(this.buf,this.pos);return this.pos+=v(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function wr(r){return new br(r instanceof Uint8Array?r:r.subarray())}function S(r,t,e){let o=wr(r);return t.decode(o,void 0,e)}var Cr={};Q(Cr,{base10:()=>Fi});var va=new Uint8Array(0);function Mn(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}function rt(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")}function Gn(r){return new TextEncoder().encode(r)}function Vn(r){return new TextDecoder().decode(r)}function ki(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),o=0;o<e.length;o++)e[o]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=n}var c=r.length,a=r.charAt(0),f=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var w=0,g=0,b=0,I=p.length;b!==I&&p[b]===0;)b++,w++;for(var R=(I-b)*l+1>>>0,k=new Uint8Array(R);b!==I;){for(var X=p[b],tt=0,Y=R-1;(X!==0||tt<g)&&Y!==-1;Y--,tt++)X+=256*k[Y]>>>0,k[Y]=X%c>>>0,X=X/c>>>0;if(X!==0)throw new Error("Non-zero carry");g=tt,b++}for(var et=R-g;et!==R&&k[et]===0;)et++;for(var Vt=a.repeat(w);et<R;++et)Vt+=r.charAt(k[et]);return Vt}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var w=0;if(p[w]!==" "){for(var g=0,b=0;p[w]===a;)g++,w++;for(var I=(p.length-w)*f+1>>>0,R=new Uint8Array(I);p[w];){var k=e[p.charCodeAt(w)];if(k===255)return;for(var X=0,tt=I-1;(k!==0||X<b)&&tt!==-1;tt--,X++)k+=c*R[tt]>>>0,R[tt]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");b=X,w++}if(p[w]!==" "){for(var Y=I-b;Y!==I&&R[Y]===0;)Y++;for(var et=new Uint8Array(g+(I-Y)),Vt=g;Y!==I;)et[Vt++]=R[Y++];return et}}}function y(p){var w=h(p);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:h,decode:y}}var Pi=ki,Oi=Pi,zn=Oi;var Er=class{name;prefix;baseEncode;constructor(t,e,o){this.name=t,this.prefix=e,this.baseEncode=o}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},xr=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,o){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=o}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 Hn(this,t)}},Ir=class{decoders;constructor(t){this.decoders=t}or(t){return Hn(this,t)}decode(t){let e=t[0],o=this.decoders[e];if(o!=null)return o.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Hn(r,t){return new Ir({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ar=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,o,n){this.name=t,this.prefix=e,this.baseEncode=o,this.baseDecode=n,this.encoder=new Er(t,e,o),this.decoder=new xr(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function $t({name:r,prefix:t,encode:e,decode:o}){return new Ar(r,t,e,o)}function xt({name:r,prefix:t,alphabet:e}){let{encode:o,decode:n}=zn(e,r);return $t({prefix:t,name:r,encode:o,decode:i=>rt(n(i))})}function _i(r,t,e,o){let n={};for(let l=0;l<t.length;++l)n[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),c=0,a=0,f=0;for(let l=0;l<i;++l){let u=n[r[l]];if(u===void 0)throw new SyntaxError(`Non-${o} character`);a=a<<e|u,c+=e,c>=8&&(c-=8,s[f++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s}function Ui(r,t,e){let o=t[t.length-1]==="=",n=(1<<e)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>e;)s-=e,i+=t[n&c>>s];if(s!==0&&(i+=t[n&c<<e-s]),o)for(;i.length*e&7;)i+="=";return i}function A({name:r,prefix:t,bitsPerChar:e,alphabet:o}){return $t({prefix:t,name:r,encode(n){return Ui(n,o,e)},decode(n){return _i(n,o,e,r)}})}var Fi=xt({prefix:"9",name:"base10",alphabet:"0123456789"});var vr={};Q(vr,{base16:()=>Bi,base16upper:()=>Mi});var Bi=A({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Mi=A({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Sr={};Q(Sr,{base2:()=>Gi});var Gi=A({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Tr={};Q(Tr,{base256emoji:()=>Wi});var Wn=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}"),Vi=Wn.reduce((r,t,e)=>(r[e]=t,r),[]),$i=Wn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function zi(r){return r.reduce((t,e)=>(t+=Vi[e],t),"")}function Hi(r){let t=[];for(let e of r){let o=$i[e.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Wi=$t({prefix:"\u{1F680}",name:"base256emoji",encode:zi,decode:Hi});var Lr={};Q(Lr,{base32:()=>ut,base32hex:()=>Qi,base32hexpad:()=>Zi,base32hexpadupper:()=>qi,base32hexupper:()=>Ji,base32pad:()=>Xi,base32padupper:()=>Yi,base32upper:()=>Ki,base32z:()=>ji});var ut=A({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ki=A({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xi=A({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Yi=A({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Qi=A({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ji=A({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zi=A({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qi=A({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ji=A({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Nr={};Q(Nr,{base36:()=>ts,base36upper:()=>es});var ts=xt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),es=xt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Rr={};Q(Rr,{base58btc:()=>D,base58flickr:()=>rs});var D=xt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),rs=xt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var kr={};Q(kr,{base64:()=>Dr,base64pad:()=>ns,base64url:()=>os,base64urlpad:()=>is});var Dr=A({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ns=A({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),os=A({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),is=A({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pr={};Q(Pr,{base8:()=>ss});var ss=A({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Or={};Q(Or,{identity:()=>cs});var cs=$t({prefix:"\0",name:"identity",encode:r=>Vn(r),decode:r=>Gn(r)});var Va=new TextEncoder,$a=new TextDecoder;var Ur={};Q(Ur,{identity:()=>xe});var us=Yn,Kn=128,ds=127,fs=~ds,hs=Math.pow(2,31);function Yn(r,t,e){t=t||[],e=e||0;for(var o=e;r>=hs;)t[e++]=r&255|Kn,r/=128;for(;r&fs;)t[e++]=r&255|Kn,r>>>=7;return t[e]=r|0,Yn.bytes=e-o+1,t}var ps=_r,ms=128,Xn=127;function _r(r,o){var e=0,o=o||0,n=0,i=o,s,c=r.length;do{if(i>=c)throw _r.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=n<28?(s&Xn)<<n:(s&Xn)*Math.pow(2,n),n+=7}while(s>=ms);return _r.bytes=i-o,e}var gs=Math.pow(2,7),ys=Math.pow(2,14),bs=Math.pow(2,21),ws=Math.pow(2,28),Es=Math.pow(2,35),xs=Math.pow(2,42),Is=Math.pow(2,49),As=Math.pow(2,56),Cs=Math.pow(2,63),vs=function(r){return r<gs?1:r<ys?2:r<bs?3:r<ws?4:r<Es?5:r<xs?6:r<Is?7:r<As?8:r<Cs?9:10},Ss={encode:us,decode:ps,encodingLength:vs},Ts=Ss,ae=Ts;function le(r,t=0){return[ae.decode(r,t),ae.decode.bytes]}function zt(r,t,e=0){return ae.encode(r,t,e),t}function Ht(r){return ae.encodingLength(r)}function It(r,t){let e=t.byteLength,o=Ht(r),n=o+Ht(e),i=new Uint8Array(n+e);return zt(r,i,0),zt(e,i,o),i.set(t,n),new Wt(r,e,t,i)}function Lt(r){let t=rt(r),[e,o]=le(t),[n,i]=le(t.subarray(o)),s=t.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new Wt(e,n,s,t)}function Qn(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Mn(r.bytes,e.bytes)}}var Wt=class{code;size;digest;bytes;constructor(t,e,o,n){this.code=t,this.size=e,this.digest=o,this.bytes=n}};var Jn=0,Ls="identity",Zn=rt;function Ns(r){return It(Jn,Zn(r))}var xe={code:Jn,name:Ls,encode:Zn,digest:Ns};var Gr={};Q(Gr,{sha256:()=>Ie,sha512:()=>Rs});var Mr=bt(ht("crypto"),1);function Br({name:r,code:t,encode:e}){return new Fr(r,t,e)}var Fr=class{name;code;encode;constructor(t,e,o){this.name=t,this.code=e,this.encode=o}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?It(this.code,e):e.then(o=>It(this.code,o))}else throw Error("Unknown type, must be binary type")}};var Ie=Br({name:"sha2-256",code:18,encode:r=>rt(Mr.default.createHash("sha256").update(r).digest())}),Rs=Br({name:"sha2-512",code:19,encode:r=>rt(Mr.default.createHash("sha512").update(r).digest())});function jn(r,t){let{bytes:e,version:o}=r;switch(o){case 0:return ks(e,Vr(r),t??D.encoder);default:return Ps(e,Vr(r),t??ut.encoder)}}var to=new WeakMap;function Vr(r){let t=to.get(r);if(t==null){let e=new Map;return to.set(r,e),e}return t}var H=class r{code;version;multihash;bytes;"/";constructor(t,e,o,n){this.code=e,this.version=t,this.multihash=o,this.bytes=n,this["/"]=n}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!==Os)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.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,o=It(t,e);return r.createV1(this.code,o)}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 r.equals(this,t)}static equals(t,e){let o=e;return o!=null&&t.code===o.code&&t.version===o.version&&Qn(t.multihash,o.multihash)}toString(t){return jn(this,t)}toJSON(){return{"/":jn(this)}}link(){return this}[Symbol.toStringTag]="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 r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:o,code:n,multihash:i,bytes:s}=e;return new r(o,n,i,s??eo(o,n,i.bytes))}else if(e[_s]===!0){let{version:o,multihash:n,code:i}=e,s=Lt(n);return r.create(o,i,s)}else return null}static create(t,e,o){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(o.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 r(t,e,o,o.bytes)}case 1:{let n=eo(t,e,o.bytes);return new r(t,e,o,n)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,ue,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,o]=r.decodeFirst(t);if(o.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),o=e.size-e.multihashSize,n=rt(t.subarray(o,o+e.multihashSize));if(n.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=n.subarray(e.multihashSize-e.digestSize),s=new Wt(e.multihashCode,e.digestSize,i,n);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,o=()=>{let[u,h]=le(t.subarray(e));return e+=h,u},n=o(),i=ue;if(n===18?(n=0,e=0):i=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=e,c=o(),a=o(),f=e+a,l=f-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:f}}static parse(t,e){let[o,n]=Ds(t,e),i=r.decode(n);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Vr(i).set(o,t),i}};function Ds(r,t){switch(r[0]){case"Q":{let e=t??D;return[D.prefix,e.decode(`${D.prefix}${r}`)]}case D.prefix:{let e=t??D;return[D.prefix,e.decode(r)]}case ut.prefix:{let e=t??ut;return[ut.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)]}}}function ks(r,t,e){let{prefix:o}=e;if(o!==D.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let n=t.get(o);if(n==null){let i=e.encode(r).slice(1);return t.set(o,i),i}else return n}function Ps(r,t,e){let{prefix:o}=e,n=t.get(o);if(n==null){let i=e.encode(r);return t.set(o,i),i}else return n}var ue=112,Os=18;function eo(r,t,e){let o=Ht(r),n=o+Ht(t),i=new Uint8Array(n+e.byteLength);return zt(r,i,0),zt(t,i,o),i.set(e,n),i}var _s=Symbol.for("@ipld/js-cid/CID");var At={...Or,...Sr,...Pr,...Cr,...vr,...Lr,...Nr,...Rr,...kr,...Tr},ul={...Gr,...Ur};function no(r,t,e,o){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:o}}}var ro=no("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),$r=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=F(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Us={utf8:ro,"utf-8":ro,hex:At.base16,latin1:$r,ascii:$r,binary:$r,...At},Ae=Us;function Rt(r,t="utf8"){let e=Ae[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?wt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function zr(r){let t=r??8192,e=t>>>1,o,n=t;return function(s){if(s<1||s>e)return F(s);n+s>t&&(o=F(t),n=0);let c=o.subarray(n,n+=s);return n&7&&(n=(n|7)+1),c}}var Dt=class{fn;len;next;val;constructor(t,e,o){this.fn=t,this.len=e,this.next=void 0,this.val=o}};function Hr(){}var Kr=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Fs=zr();function Bs(r){return globalThis.Buffer!=null?F(r):Fs(r)}var fe=class{len;head;tail;states;constructor(){this.len=0,this.head=new Dt(Hr,0,0),this.tail=this.head,this.states=null}_push(t,e,o){return this.tail=this.tail.next=new Dt(t,e,o),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Xr((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Ce,10,J.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=J.fromBigInt(t);return this._push(Ce,e.length(),e)}uint64Number(t){return this._push(hr,v(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=J.fromBigInt(t).zzEncode();return this._push(Ce,e.length(),e)}sint64Number(t){let e=J.fromNumber(t).zzEncode();return this._push(Ce,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Wr,1,t?1:0)}fixed32(t){return this._push(de,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=J.fromBigInt(t);return this._push(de,4,e.lo)._push(de,4,e.hi)}fixed64Number(t){let e=J.fromNumber(t);return this._push(de,4,e.lo)._push(de,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Dn,4,t)}double(t){return this._push(Pn,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Wr,1,0):this.uint32(e)._push(Gs,e,t)}string(t){let e=Un(t);return e!==0?this.uint32(e)._push(yr,e,t):this._push(Wr,1,0)}fork(){return this.states=new Kr(this),this.head=this.tail=new Dt(Hr,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Dt(Hr,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,o=this.len;return this.reset().uint32(o),o!==0&&(this.tail.next=t.next,this.tail=e,this.len+=o),this}finish(){let t=this.head.next,e=Bs(this.len),o=0;for(;t!=null;)t.fn(t.val,e,o),o+=t.len,t=t.next;return e}};function Wr(r,t,e){t[e]=r&255}function Ms(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Xr=class extends Dt{next;constructor(t,e){super(Ms,t,e),this.next=void 0}};function Ce(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function de(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Gs(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(fe.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Vs,t,r),this},fe.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push($s,t,r),this});function Vs(r,t,e){t.set(r,e)}function $s(r,t,e){r.length<40?yr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Rt(r),e)}function Yr(){return new fe}function T(r,t){let e=Yr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Kt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Kt||(Kt={}));function ve(r,t,e,o){return{name:r,type:t,encode:e,decode:o}}function mt(r){function t(n){if(r[n.toString()]==null)throw new Error("Invalid enum value");return r[n]}let e=function(i,s){let c=t(i);s.int32(c)},o=function(i){let s=i.int32();return t(s)};return ve("enum",Kt.VARINT,e,o)}function L(r,t){return ve("message",Kt.LENGTH_DELIMITED,r,t)}var nt;(function(r){let t;(function(n){n.IDENTIFY="IDENTIFY",n.CONNECT="CONNECT",n.STREAM_OPEN="STREAM_OPEN",n.STREAM_HANDLER="STREAM_HANDLER",n.DHT="DHT",n.LIST_PEERS="LIST_PEERS",n.CONNMANAGER="CONNMANAGER",n.DISCONNECT="DISCONNECT",n.PUBSUB="PUBSUB",n.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.IDENTIFY=0]="IDENTIFY",n[n.CONNECT=1]="CONNECT",n[n.STREAM_OPEN=2]="STREAM_OPEN",n[n.STREAM_HANDLER=3]="STREAM_HANDLER",n[n.DHT=4]="DHT",n[n.LIST_PEERS=5]="LIST_PEERS",n[n.CONNMANAGER=6]="CONNMANAGER",n[n.DISCONNECT=7]="DISCONNECT",n[n.PUBSUB=8]="PUBSUB",n[n.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.connect!=null&&(i.uint32(18),Te.codec().encode(n.connect,i)),n.streamOpen!=null&&(i.uint32(26),Le.codec().encode(n.streamOpen,i)),n.streamHandler!=null&&(i.uint32(34),Ne.codec().encode(n.streamHandler,i)),n.dht!=null&&(i.uint32(42),ot.codec().encode(n.dht,i)),n.connManager!=null&&(i.uint32(50),De.codec().encode(n.connManager,i)),n.disconnect!=null&&(i.uint32(58),ke.codec().encode(n.disconnect,i)),n.pubsub!=null&&(i.uint32(66),gt.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(74),kt.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.connect=Te.codec().decode(n,n.uint32());break;case 3:s.streamOpen=Le.codec().decode(n,n.uint32());break;case 4:s.streamHandler=Ne.codec().decode(n,n.uint32());break;case 5:s.dht=ot.codec().decode(n,n.uint32());break;case 6:s.connManager=De.codec().decode(n,n.uint32());break;case 7:s.disconnect=ke.codec().decode(n,n.uint32());break;case 8:s.pubsub=gt.codec().decode(n,n.uint32());break;case 9:s.peerStore=kt.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(nt||(nt={}));var N;(function(r){let t;(function(n){n.OK="OK",n.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.OK=0]="OK",n[n.ERROR=1]="ERROR"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.error!=null&&(i.uint32(18),Re.codec().encode(n.error,i)),n.streamInfo!=null&&(i.uint32(26),Xt.codec().encode(n.streamInfo,i)),n.identify!=null&&(i.uint32(34),Se.codec().encode(n.identify,i)),n.dht!=null&&(i.uint32(42),O.codec().encode(n.dht,i)),n.peers!=null)for(let c of n.peers)i.uint32(50),Ct.codec().encode(c,i);n.pubsub!=null&&(i.uint32(58),Pe.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(66),Oe.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peers:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.error=Re.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Xt.codec().decode(n,n.uint32());break;case 4:s.identify=Se.codec().decode(n,n.uint32());break;case 5:s.dht=O.codec().decode(n,n.uint32());break;case 6:s.peers.push(Ct.codec().decode(n,n.uint32()));break;case 7:s.pubsub=Pe.codec().decode(n,n.uint32());break;case 8:s.peerStore=Oe.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(N||(N={}));var Se;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Se||(Se={}));var Te;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.addrs.push(e.bytes());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Te||(Te={}));var Le;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.proto.push(e.string());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Le||(Le={}));var Ne;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(10),o.bytes(e.addr)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={addr:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.addr=e.bytes();break;case 2:n.proto.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Ne||(Ne={}));var Re;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.msg!=null&&e.msg!==""&&(o.uint32(10),o.string(e.msg)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={msg:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.msg=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Re||(Re={}));var Xt;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(18),o.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(o.uint32(26),o.string(e.proto)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.addr=e.bytes();break;case 3:n.proto=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Xt||(Xt={}));var ot;(function(r){let t;(function(n){n.FIND_PEER="FIND_PEER",n.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",n.FIND_PROVIDERS="FIND_PROVIDERS",n.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",n.GET_PUBLIC_KEY="GET_PUBLIC_KEY",n.GET_VALUE="GET_VALUE",n.SEARCH_VALUE="SEARCH_VALUE",n.PUT_VALUE="PUT_VALUE",n.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.FIND_PEER=0]="FIND_PEER",n[n.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",n[n.FIND_PROVIDERS=2]="FIND_PROVIDERS",n[n.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",n[n.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",n[n.GET_VALUE=5]="GET_VALUE",n[n.SEARCH_VALUE=6]="SEARCH_VALUE",n[n.PUT_VALUE=7]="PUT_VALUE",n[n.PROVIDE=8]="PROVIDE"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.cid!=null&&(i.uint32(26),i.bytes(n.cid)),n.key!=null&&(i.uint32(34),i.bytes(n.key)),n.value!=null&&(i.uint32(42),i.bytes(n.value)),n.count!=null&&(i.uint32(48),i.int32(n.count)),n.timeout!=null&&(i.uint32(56),i.int64(n.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.cid=n.bytes();break;case 4:s.key=n.bytes();break;case 5:s.value=n.bytes();break;case 6:s.count=n.int32();break;case 7:s.timeout=n.int64();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(ot||(ot={}));var O;(function(r){let t;(function(n){n.BEGIN="BEGIN",n.VALUE="VALUE",n.END="END"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.BEGIN=0]="BEGIN",n[n.VALUE=1]="VALUE",n[n.END=2]="END"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),Ct.codec().encode(n.peer,i)),n.value!=null&&(i.uint32(26),i.bytes(n.value)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=Ct.codec().decode(n,n.uint32());break;case 3:s.value=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(O||(O={}));var Ct;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Ct||(Ct={}));var De;(function(r){let t;(function(n){n.TAG_PEER="TAG_PEER",n.UNTAG_PEER="UNTAG_PEER",n.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.TAG_PEER=0]="TAG_PEER",n[n.UNTAG_PEER=1]="UNTAG_PEER",n[n.TRIM=2]="TRIM"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.tag!=null&&(i.uint32(26),i.string(n.tag)),n.weight!=null&&(i.uint32(32),i.int64(n.weight)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.tag=n.string();break;case 4:s.weight=n.int64();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(De||(De={}));var ke;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0)},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(ke||(ke={}));var gt;(function(r){let t;(function(n){n.GET_TOPICS="GET_TOPICS",n.LIST_PEERS="LIST_PEERS",n.PUBLISH="PUBLISH",n.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.GET_TOPICS=0]="GET_TOPICS",n[n.LIST_PEERS=1]="LIST_PEERS",n[n.PUBLISH=2]="PUBLISH",n[n.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.topic!=null&&(i.uint32(18),i.string(n.topic)),n.data!=null&&(i.uint32(26),i.bytes(n.data)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.topic=n.string();break;case 3:s.data=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(gt||(gt={}));var he;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.from!=null&&(o.uint32(10),o.bytes(e.from)),e.data!=null&&(o.uint32(18),o.bytes(e.data)),e.seqno!=null&&(o.uint32(26),o.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)o.uint32(34),o.string(i);e.signature!=null&&(o.uint32(42),o.bytes(e.signature)),e.key!=null&&(o.uint32(50),o.bytes(e.key)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topicIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.from=e.bytes();break;case 2:n.data=e.bytes();break;case 3:n.seqno=e.bytes();break;case 4:n.topicIDs.push(e.string());break;case 5:n.signature=e.bytes();break;case 6:n.key=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(he||(he={}));var Pe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.topics!=null)for(let i of e.topics)o.uint32(10),o.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topics:[],peerIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.topics.push(e.string());break;case 2:n.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Pe||(Pe={}));var kt;(function(r){let t;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.GET_PROTOCOLS="GET_PROTOCOLS",n.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.GET_PROTOCOLS=1]="GET_PROTOCOLS",n[n.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.id!=null&&(i.uint32(18),i.bytes(n.id)),n.protos!=null)for(let c of n.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={protos:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.id=n.bytes();break;case 3:s.protos.push(n.string());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(kt||(kt={}));var Oe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&(o.uint32(10),Ct.codec().encode(e.peer,o)),e.protos!=null)for(let i of e.protos)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={protos:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=Ct.codec().decode(e,e.uint32());break;case 2:n.protos.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Oe||(Oe={}));var Qr={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var q=bt(mo(),1);q.default.formatters.b=r=>r==null?"undefined":D.baseEncode(r);q.default.formatters.t=r=>r==null?"undefined":ut.baseEncode(r);q.default.formatters.m=r=>r==null?"undefined":Dr.baseEncode(r);q.default.formatters.p=r=>r==null?"undefined":r.toString();q.default.formatters.c=r=>r==null?"undefined":r.toString();q.default.formatters.k=r=>r==null?"undefined":r.toString();q.default.formatters.a=r=>r==null?"undefined":r.toString();function fc(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 go(){return{forComponent(r){return Ot(r)}}}function Ot(r){let t=fc(`${r}:trace`);return q.default.enabled(`${r}:trace`)&&q.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,q.default)(`${r}:trace`)),Object.assign((0,q.default)(r),{error:(0,q.default)(`${r}:error`),trace:t})}var yo=Symbol.for("@libp2p/peer-id");var wo=Symbol.for("@libp2p/transport");var bo;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(bo||(bo={}));var qt=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},U=class extends Error{code;props;constructor(t,e,o){super(t),this.code=e,this.name=o?.name??"CodeError",this.props=o??{}}};var Me=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,o){super.addEventListener(t,e,o);let n=this.#t.get(t);n==null&&(n=[],this.#t.set(t,n)),n.push({callback:e,once:(o!==!0&&o!==!1&&o?.once)??!1})}removeEventListener(t,e,o){super.removeEventListener(t.toString(),e??null,o);let n=this.#t.get(t);n!=null&&(n=n.filter(({callback:i})=>i!==e),this.#t.set(t,n))}dispatchEvent(t){let e=super.dispatchEvent(t),o=this.#t.get(t.type);return o==null||(o=o.filter(({once:n})=>!n),this.#t.set(t.type,o)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new jt(t,e))}},jr=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},jt=globalThis.CustomEvent??jr;function _t(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 hc=Symbol.for("nodejs.util.inspect.custom"),Eo=Object.values(At).map(r=>r.decoder).reduce((r,t)=>r.or(t),At.identity.decoder),xo=114,Io=36,Ao=37,pe=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[yo]=!0;toString(){return this.string==null&&(this.string=D.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return H.createV1(xo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return _t(this.multihash.bytes,t);if(typeof t=="string")return pc(t).equals(this);if(t?.multihash?.bytes!=null)return _t(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[hc](){return`PeerId(${this.toString()})`}},me=class extends pe{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},ge=class extends pe{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},ye=class extends pe{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function pc(r,t){if(t=t??Eo,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Lt(D.decode(`z${r}`));return r.startsWith("12D")?new ge({multihash:e}):r.startsWith("16U")?new ye({multihash:e}):new me({multihash:e})}return Ut(Eo.decode(r))}function Ut(r){try{let t=Lt(r);if(t.code===xe.code){if(t.digest.length===Io)return new ge({multihash:t});if(t.digest.length===Ao)return new ye({multihash:t})}if(t.code===Ie.code)return new me({multihash:t})}catch{return mc(H.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function mc(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==xo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===Ie.code)return new me({multihash:r.multihash});if(t.code===xe.code){if(t.digest.length===Io)return new ge({multihash:r.multihash});if(t.digest.length===Ao)return new ye({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var ii=bt(ht("net"),1);function W(r,t="utf8"){let e=Ae[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)}function it(r,t){if(globalThis.Buffer!=null)return wt(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((n,i)=>n+i.length,0));let e=F(t),o=0;for(let n of r)e.set(n,o),o+=n.length;return wt(e)}var Ge=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,o=t();return o===void 0&&(this.index=e),o}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,o){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return o()})}readNumber(t,e,o,n){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*n)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let h=Number.parseInt(u,t);if(!Number.isNaN(h))return h});if(l===void 0)break;if(i*=t,i+=l,i>f||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!o&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let o=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(o===void 0)return;t[e]=o}return t})}readIPv6Addr(){let t=e=>{for(let o=0;o<e.length/2;o++){let n=o*2;if(o<e.length-3){let s=this.readSeparator(":",o,()=>this.readIPv4Addr());if(s!==void 0)return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],[n+4,!0]}let i=this.readSeparator(":",o,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];e[n]=i>>8,e[n+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[o,n]=t(e);if(o===16)return e;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(o+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var wu=new Ge;var Tu=parseInt("0xFFFF",16),Lu=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var st=ht("node:net");function Ve(r){return!!(0,st.isIP)(r)}var So=st.isIPv4,xc=st.isIPv6,tn=function(r){let t=0;if(r=r.toString().trim(),So(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(o=>{e[t++]=parseInt(o,10)&255}),e}if(xc(r)){let e=r.split(":",8),o;for(o=0;o<e.length;o++){let i=So(e[o]),s;i&&(s=tn(e[o]),e[o]=W(s.slice(0,2),"base16")),s!=null&&++o<8&&e.splice(o,0,W(s.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(o=0;o<e.length&&e[o]!=="";o++);let i=[o,1];for(o=9-e.length;o>0;o--)i.push("0");e.splice.apply(e,i)}let n=new Uint8Array(t+16);for(o=0;o<e.length;o++){let i=parseInt(e[o],16);n[t++]=i>>8&255,n[t++]=i&255}return n}throw new Error("invalid ip address")},To=function(r,t=0,e){t=~~t,e=e??r.length-t;let o=new DataView(r.buffer);if(e===4){let n=[];for(let i=0;i<e;i++)n.push(r[t+i]);return n.join(".")}if(e===16){let n=[];for(let i=0;i<e;i+=2)n.push(o.getUint16(t+i).toString(16));return n.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var te={},en={},Ac=[[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"]];Ac.forEach(r=>{let t=Cc(...r);en[t.code]=t,te[t.name]=t});function Cc(r,t,e,o,n){return{code:r,size:t,name:e,resolvable:!!o,path:!!n}}function x(r){if(typeof r=="number"){if(en[r]!=null)return en[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(te[r]!=null)return te[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var fd=x("ip4"),hd=x("ip6"),pd=x("ipcidr");function nn(r,t){switch(x(r).code){case 4:case 41:return Sc(t);case 42:return Ro(t);case 6:case 273:case 33:case 132:return ko(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ro(t);case 421:return Rc(t);case 444:return Do(t);case 445:return Do(t);case 466:return Nc(t);default:return W(t,"base16")}}function on(r,t){switch(x(r).code){case 4:return Lo(t);case 41:return Lo(t);case 42:return No(t);case 6:case 273:case 33:case 132:return sn(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return No(t);case 421:return Tc(t);case 444:return Dc(t);case 445:return kc(t);case 466:return Lc(t);default:return Rt(t,"base16")}}var rn=Object.values(At).map(r=>r.decoder),vc=function(){let r=rn[0].or(rn[1]);return rn.slice(2).forEach(t=>r=r.or(t)),r}();function Lo(r){if(!Ve(r))throw new Error("invalid ip address");return tn(r)}function Sc(r){let t=To(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Ve(t))throw new Error("invalid ip address");return t}function sn(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function ko(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function No(r){let t=Rt(r),e=Uint8Array.from(ft(t.length));return it([e,t],e.length+t.length)}function Ro(r){let t=at(r);if(r=r.slice(v(t)),r.length!==t)throw new Error("inconsistent lengths");return W(r)}function Tc(r){let t;r[0]==="Q"||r[0]==="1"?t=Lt(D.decode(`z${r}`)).bytes:t=H.parse(r).multihash.bytes;let e=Uint8Array.from(ft(t.length));return it([e,t],e.length+t.length)}function Lc(r){let t=vc.decode(r),e=Uint8Array.from(ft(t.length));return it([e,t],e.length+t.length)}function Nc(r){let t=at(r),e=r.slice(v(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+W(e,"base64url")}function Rc(r){let t=at(r),e=r.slice(v(t));if(e.length!==t)throw new Error("inconsistent lengths");return W(e,"base58btc")}function Dc(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=ut.decode("b"+t[0]),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=sn(o);return it([e,n],e.length+n.length)}function kc(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=ut.decode(`b${t[0]}`),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=sn(o);return it([e,n],e.length+n.length)}function Do(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),o=W(t,"base32"),n=ko(e);return`${o}:${n}`}function Po(r){r=cn(r);let t=[],e=[],o=null,n=r.split("/").slice(1);if(n.length===1&&n[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<n.length;i++){let s=n[i],c=x(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=n.length)throw _o("invalid address: "+r);if(c.path===!0){o=cn(n.slice(i).join("/")),t.push([c.code,on(c.code,o)]),e.push([c.code,o]);break}let a=on(c.code,n[i]);t.push([c.code,a]),e.push([c.code,nn(c.code,a)])}return{string:Oo(e),bytes:ln(t),tuples:t,stringTuples:e,path:o}}function an(r){let t=[],e=[],o=null,n=0;for(;n<r.length;){let i=at(r,n),s=v(i),c=x(i),a=Pc(c,r.slice(n+s));if(a===0){t.push([i]),e.push([i]),n+=s;continue}let f=r.slice(n+s,n+s+a);if(n+=a+s,n>r.length)throw _o("Invalid address Uint8Array: "+W(r,"base16"));t.push([i,f]);let l=nn(i,f);if(e.push([i,l]),c.path===!0){o=l;break}}return{bytes:Uint8Array.from(r),string:Oo(e),tuples:t,stringTuples:e,path:o}}function Oo(r){let t=[];return r.map(e=>{let o=x(e[0]);return t.push(o.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),cn(t.join("/"))}function ln(r){return it(r.map(t=>{let e=x(t[0]),o=Uint8Array.from(ft(e.code));return t.length>1&&t[1]!=null&&(o=it([o,t[1]])),o}))}function Pc(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=at(t instanceof Uint8Array?t:Uint8Array.from(t));return e+v(e)}}function cn(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function _o(r){return new Error("Error parsing address: "+r)}var Oc=Symbol.for("nodejs.util.inspect.custom"),un=Symbol.for("@multiformats/js-multiaddr/multiaddr"),_c=[x("dns").code,x("dns4").code,x("dns6").code,x("dnsaddr").code],$e=class r{bytes;#t;#e;#r;#n;[un]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=an(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Po(t)}else if(Fo(t))e=an(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,o,n,i="",s=x("tcp"),c=x("udp"),a=x("ip4"),f=x("ip6"),l=x("dns6"),u=x("ip6zone");for(let[y,p]of this.stringTuples())y===u.code&&(i=`%${p??""}`),_c.includes(y)&&(e=s.name,n=443,o=`${p??""}${i}`,t=y===l.code?6:4),(y===s.code||y===c.code)&&(e=x(y).name,n=parseInt(p??"")),(y===a.code||y===f.code)&&(e=x(y).name,o=`${p??""}${i}`,t=y===f.code?6:4);if(t==null||e==null||o==null||n==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:o,transport:e,port:n}}protos(){return this.#e.map(([t])=>Object.assign({},x(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>x(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),o=this.toString(),n=o.lastIndexOf(e);if(n<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(o.slice(0,n))}decapsulateCode(t){let e=this.tuples();for(let o=e.length-1;o>=0;o--)if(e[o][0]===t)return new r(ln(e.slice(0,o)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([o,n])=>{o===te.p2p.code&&t.push([o,n]),o===te["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let o=e[1];return o[0]==="Q"||o[0]==="1"?W(D.decode(`z${o}`),"base58btc"):W(H.parse(o).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return _t(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let o=Uo.get(e.name);if(o==null)throw new U(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await o(this,t)).map(i=>new r(i))}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)}[Oc](){return`Multiaddr(${this.#t})`}};var Uo=new Map;function Fo(r){return!!r?.[un]}function ct(r){return new $e(r)}var Uc=d("dns4"),Fc=d("dns6"),Bc=d("dnsaddr"),Bt=C(d("dns"),Bc,Uc,Fc),We=C(d("ip4"),d("ip6")),St=C(m(We,d("tcp")),m(Bt,d("tcp"))),Ke=m(We,d("udp")),Mc=m(Ke,d("utp")),Gc=m(Ke,d("quic")),Vc=m(Ke,d("quic-v1")),dn=C(m(St,d("ws")),m(Bt,d("ws"))),ze=C(m(dn,d("p2p")),dn),fn=C(m(St,d("wss")),m(Bt,d("wss")),m(St,d("tls"),d("ws")),m(Bt,d("tls"),d("ws"))),He=C(m(fn,d("p2p")),fn),hn=C(m(St,d("http")),m(We,d("http")),m(Bt,d("http"))),pn=C(m(St,d("https")),m(We,d("https")),m(Bt,d("https"))),Bo=m(Ke,d("webrtc-direct"),d("certhash")),Vo=C(m(Bo,d("p2p")),Bo),Mo=m(Vc,d("webtransport"),d("certhash"),d("certhash")),$o=C(m(Mo,d("p2p")),Mo),zo=C(m(ze,d("p2p-webrtc-star"),d("p2p")),m(He,d("p2p-webrtc-star"),d("p2p")),m(ze,d("p2p-webrtc-star")),m(He,d("p2p-webrtc-star"))),Gd=C(m(ze,d("p2p-websocket-star"),d("p2p")),m(He,d("p2p-websocket-star"),d("p2p")),m(ze,d("p2p-websocket-star")),m(He,d("p2p-websocket-star"))),Ho=C(m(hn,d("p2p-webrtc-direct"),d("p2p")),m(pn,d("p2p-webrtc-direct"),d("p2p")),m(hn,d("p2p-webrtc-direct")),m(pn,d("p2p-webrtc-direct"))),Mt=C(dn,fn,hn,pn,zo,Ho,St,Mc,Gc,Bt,Vo,$o),Vd=C(m(Mt,d("p2p-stardust"),d("p2p")),m(Mt,d("p2p-stardust"))),vt=C(m(Mt,d("p2p")),zo,Ho,Vo,$o,d("p2p")),Go=C(m(vt,d("p2p-circuit"),vt),m(vt,d("p2p-circuit")),m(d("p2p-circuit"),vt),m(Mt,d("p2p-circuit")),m(d("p2p-circuit"),Mt),d("p2p-circuit")),Wo=()=>C(m(Go,Wo),Go),Ft=Wo(),$d=C(m(Ft,vt,Ft),m(vt,Ft),m(Ft,vt),Ft,vt);var zd=C(m(Ft,d("webrtc"),d("p2p")),m(Ft,d("webrtc")),m(Mt,d("webrtc"),d("p2p")),m(Mt,d("webrtc")),d("webrtc"));function Ko(r){function t(e){let o;try{o=ct(e)}catch{return!1}let n=r(o.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return t}function m(...r){function t(e){if(e.length<r.length)return null;let o=e;return r.some(n=>(o=typeof n=="function"?n().partialMatch(e):n.partialMatch(e),Array.isArray(o)&&(e=o),o===null)),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Ko(t),partialMatch:t}}function C(...r){function t(o){let n=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(o):i.partialMatch(o);return s!=null?(n=s,!0):!1}),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Ko(t),partialMatch:t}}function d(r){let t=r;function e(n){let i;try{i=ct(n)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function o(n){return n.length===0?null:n[0]===t?n.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:o}}var oi=bt(ht("net"),1);var mn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Xo(r,t){if(typeof r!="string")throw new U(`invalid ip provided: ${r}`,mn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new U(`invalid port provided: ${t}`,mn.ERR_INVALID_PORT_PARAMETER);if((0,st.isIPv4)(r))return ct(`/ip4/${r}/tcp/${t}`);if((0,st.isIPv6)(r))return ct(`/ip6/${r}/tcp/${t}`);throw new U(`invalid ip:port for creating a multiaddr: ${r}:${t}`,mn.ERR_INVALID_IP)}var ni=bt(ei(),1);var bn=bt(ht("os"),1),ri=bt(ht("path"),1);var Xc={ip4:"IPv4",ip6:"IPv6"};function re(r,t={}){let e=r.getPath();return e!=null?bn.default.platform()==="win32"?{path:ri.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function wn(r,t,e){let o=n=>ct(`/${r}/${n}/tcp/${e}`);return(Yc(t)?Jc(Xc[r]):[t]).map(o)}function Yc(r){return["0.0.0.0","::"].includes(r)}var Qc=bn.default.networkInterfaces();function Jc(r){let t=[];for(let[,e]of Object.entries(Qc))if(e!=null)for(let o of e)o.family===r&&t.push(o.address);return t}var Ye=(r,t)=>{let e=t.logger.forComponent("libp2p:tcp:socket"),o=t.metrics,n=t.metricPrefix??"",i=t.socketInactivityTimeout??3e5,s=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let c;if(t.remoteAddr!=null)c=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new U("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");c=Xo(r.remoteAddress,r.remotePort)}let a=re(c),f=a.path??`${a.host??""}:${a.port??""}`,{sink:l,source:u}=ni.default.duplex(r);r.setTimeout(i,()=>{e("%s socket read timeout",f),o?.increment({[`${n}timeout`]:!0});let y;r.readable&&(y=new U("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(y)}),r.once("close",()=>{e("%s socket close",f),o?.increment({[`${n}close`]:!0}),h.timeline.close==null&&(h.timeline.close=Date.now())}),r.once("end",()=>{e("%s socket end",f),o?.increment({[`${n}end`]:!0})});let h={async sink(y){try{await l(async function*(){for await(let p of y)p instanceof Uint8Array?yield p:yield p.subarray()}())}catch(p){p.type!=="aborted"&&e.error("%s error in sink",f,p)}r.end()},source:u,remoteAddr:c,timeline:{open:Date.now()},async close(y={}){if(r.destroyed){e("%s socket was already destroyed when trying to close",f);return}if(y.signal==null){let p=AbortSignal.timeout(s);y={...y,signal:p}}try{e("%s closing socket",f),await new Promise((p,w)=>{r.once("close",()=>{e("%s socket closed",f),p()}),r.once("error",g=>{e("%s socket error",f,g),h.timeline.close==null&&(h.timeline.close=Date.now()),w(g)}),r.setTimeout(s),r.end(),r.writableLength>0?r.once("drain",()=>{e("%s socket drained",f),r.destroy()}):r.destroy()})}catch(p){this.abort(p)}},abort:y=>{e("%s socket abort due to error",f,y),r.destroy(y)},log:e};return h};async function En(r,t){try{await r.close()}catch(e){t.log.error("an error occurred closing the connection",e)}}var P;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(P||(P={}));var Qe=class extends Me{context;server;connections=new Set;status={code:P.INACTIVE};metrics;addr;log;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0,this.log=t.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=oi.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 new U("closeAbove must be >= listenBelow","ERROR_CONNECTION_LIMITS");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]:P.ACTIVE})}this.dispatchEvent(new jt("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new jt("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==P.PAUSED&&this.dispatchEvent(new jt("close"))})}onSocket(t){if(this.status.code!==P.ACTIVE)throw new U("Server is is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",o=>{this.log("socket error",o),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=Ye(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger})}catch(o){this.log.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}this.log("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(o=>{this.log("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.resume().catch(n=>{this.log.error("error attempting to listen server once connection count under limit",n),this.context.closeServerOnMaxConnections?.onListenError?.(n)})}),this.context.handler!=null&&this.context.handler(o),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(!1).catch(n=>{this.log.error("error attempting to close server once connection count over limit",n)}),this.dispatchEvent(new jt("connection",{detail:o}))}).catch(async o=>{this.log.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await En(e,{log:this.log})}).catch(o=>{this.log.error("closing inbound connection failed",o)})}catch(o){this.log.error("inbound connection failed",o),En(e,{log:this.log}).catch(n=>{this.log.error("closing inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(this.status.code===P.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:o,peerId:n}=this.status;if(e==null)return[];if(typeof e=="string")t=[o];else try{o.toString().startsWith("/ip4")?t=t.concat(wn("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(wn("ip6",e.address,e.port)))}catch(i){this.log.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>n!=null?i.encapsulate(`/p2p/${n}`):i)}async listen(t){if(this.status.code===P.ACTIVE||this.status.code===P.PAUSED)throw new U("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),o=e==null?t.decapsulateCode(421):t,{backlog:n}=this.context;try{this.status={code:P.ACTIVE,listeningAddr:o,peerId:e,netConfig:re(o,{backlog:n})},await this.resume()}catch(i){throw this.status={code:P.INACTIVE},i}}async close(){await Promise.all([Promise.all(Array.from(this.connections.values()).map(async t=>En(t,{log:this.log}))),this.pause(!0).catch(t=>{this.log.error("error attempting to close server once connection count over limit",t)})])}async resume(){if(this.server.listening||this.status.code===P.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,o)=>{this.server.once("error",o),this.server.listen(t,e)}),this.status={...this.status,code:P.ACTIVE},this.log("Listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===P.PAUSED&&t){this.status={code:P.INACTIVE};return}!this.server.listening||this.status.code!==P.ACTIVE||(this.log("Closing server on %s",this.server.address()),this.status=t?{code:P.INACTIVE}:{...this.status,code:P.PAUSED},await new Promise((e,o)=>{this.server.close(n=>{n!=null?o(n):e()})}))}};var xn=class{opts;metrics;components;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:tcp"),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"})})}[wo]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let o=await this._connect(t,e);o.on("error",c=>{this.log("socket error",c)});let n=Ye(o,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents,logger:this.components.logger}),i=()=>{n.close().catch(c=>{this.log.error("Error closing maConn after abort",c)})};e.signal?.addEventListener("abort",i,{once:!0}),this.log("new outbound connection %s",n.remoteAddr);let s=await e.upgrader.upgradeOutbound(n);if(this.log("outbound connection %s upgraded",n.remoteAddr),e.signal?.removeEventListener("abort",i),e.signal?.aborted===!0)throw s.close().catch(c=>{this.log.error("Error closing conn after abort",c)}),new qt;return s}async _connect(t,e){if(e.signal?.aborted===!0)throw new qt;return new Promise((o,n)=>{let i=Date.now(),s=re(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t);let c=ii.default.connect(s),a=y=>{let p=s.path??`${s.host??""}:${s.port}`;y.message=`connection error ${p}: ${y.message}`,this.metrics?.dialerEvents.increment({error:!0}),h(y)},f=()=>{this.log("connection timeout %a",t),this.metrics?.dialerEvents.increment({timeout:!0});let y=new U(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");c.emit("error",y)},l=()=>{this.log("connection opened %a",t),this.metrics?.dialerEvents.increment({connect:!0}),h()},u=()=>{this.log("connection aborted %a",t),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),h(new qt)},h=y=>{if(c.removeListener("error",a),c.removeListener("timeout",f),c.removeListener("connect",l),e.signal!=null&&e.signal.removeEventListener("abort",u),y!=null){n(y);return}o(c)};c.on("error",a),c.on("timeout",f),c.on("connect",l),e.signal!=null&&e.signal.addEventListener("abort",u)})}createListener(t){return new Qe({...this.opts.listenOpts??{},...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,logger:this.components.logger})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:St.matches(e.decapsulateCode(421)))}};function si(r={}){return t=>new xn(t,r)}var ai=Symbol.for("@achingbrain/uint8arraylist");function ci(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let o of r){let n=e+o.byteLength;if(t<n)return{buf:o,index:t-e};e=n}throw new RangeError("index is out of bounds")}function Je(r){return!!r?.[ai]}var j=class r{bufs;length;[ai]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let o of t)if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.push(o);else if(Je(o))e+=o.byteLength,this.bufs.push(...o.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let o of t.reverse())if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.unshift(o);else if(Je(o))e+=o.byteLength,this.bufs.unshift(...o.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ci(this.bufs,t);return e.buf[e.index]}set(t,e){let o=ci(this.bufs,t);o.buf[o.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let o=0;o<t.length;o++)this.set(e+o,t[o]);else if(Je(t))for(let o=0;o<t.length;o++)this.set(e+o,t.get(o));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:o,length:n}=this._subList(t,e);return it(o,n)}subarray(t,e){let{bufs:o,length:n}=this._subList(t,e);return o.length===1?o[0]:it(o,n)}sublist(t,e){let{bufs:o,length:n}=this._subList(t,e),i=new r;return i.length=n,i.bufs=[...o],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let o=[],n=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=n,a=c+s.byteLength;if(n=a,t>=a)continue;let f=t>=c&&t<a,l=e>c&&e<=a;if(f&&l){if(t===c&&e===a){o.push(s);break}let u=t-c;o.push(s.subarray(u,u+(e-t)));break}if(f){if(t===0){o.push(s);continue}o.push(s.subarray(t-c));continue}if(l){if(e===a){o.push(s);break}o.push(s.subarray(0,e-c));break}o.push(s)}return{bufs:o,length:e-t}}indexOf(t,e=0){if(!Je(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let o=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=o.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u<i;u++)s[u]=-1;for(let u=0;u<n;u++)s[o[u]]=u;let c=s,a=this.byteLength-o.byteLength,f=o.byteLength-1,l;for(let u=e;u<=a;u+=l){l=0;for(let h=f;h>=0;h--){let y=this.get(u+h);if(o[h]!==y){l=Math.max(1,h-c[y]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let o=F(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt8(0,e),this.write(o,t)}getInt16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt16(0,e)}setInt16(t,e,o){let n=pt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,o),this.write(n,t)}getInt32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt32(0,e)}setInt32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,o),this.write(n,t)}getBigInt64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigInt64(0,e)}setBigInt64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,o),this.write(n,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let o=F(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint8(0,e),this.write(o,t)}getUint16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint16(0,e)}setUint16(t,e,o){let n=pt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,o),this.write(n,t)}getUint32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint32(0,e)}setUint32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,o),this.write(n,t)}getBigUint64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigUint64(0,e)}setBigUint64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,o),this.write(n,t)}getFloat32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat32(0,e)}setFloat32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,o),this.write(n,t)}getFloat64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat64(0,e)}setFloat64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,o),this.write(n,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!_t(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let o=new r;return o.bufs=t,e==null&&(e=t.reduce((n,i)=>n+i.byteLength,0)),o.length=e,o}};function Ze(r){return r[Symbol.asyncIterator]!=null}var qe=r=>{let t=v(r),e=F(t);return ft(r,e),qe.bytes=t,e};qe.bytes=0;function je(r,t){t=t??{};let e=t.lengthEncoder??qe;function*o(n){let i=e(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return Ze(r)?async function*(){for await(let n of r)yield*o(n)}():function*(){for(let n of r)yield*o(n)}()}je.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??qe;return new j(e(r.byteLength),r)};var ne=bt(di(),1);var jc=8,ta=1024*1024*4,Gt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Gt||(Gt={}));var An=r=>{let t=at(r);return An.bytes=v(t),t};An.bytes=0;function In(r,t){let e=new j,o=Gt.LENGTH,n=-1,i=t?.lengthDecoder??An,s=t?.maxLengthLength??jc,c=t?.maxDataLength??ta;function*a(){for(;e.byteLength>0;){if(o===Gt.LENGTH)try{if(n=i(e),n<0)throw(0,ne.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>c)throw(0,ne.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=i.bytes;e.consume(f),t?.onLength!=null&&t.onLength(n),o=Gt.DATA}catch(f){if(f instanceof RangeError){if(e.byteLength>s)throw(0,ne.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(o===Gt.DATA){if(e.byteLength<n)break;let f=e.sublist(0,n);e.consume(n),t?.onData!=null&&t.onData(f),yield f,o=Gt.LENGTH}}}return Ze(r)?async function*(){for await(let f of r)e.append(f),yield*a();if(e.byteLength>0)throw(0,ne.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of r)e.append(f),yield*a();if(e.byteLength>0)throw(0,ne.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}In.fromReader=(r,t)=>{let e=1,o=async function*(){for(;;)try{let{done:i,value:s}=await r.next(e);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return In(o,{...t??{},onLength:i=>{e=i}})};function yt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var tr=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function fi(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new tr(e?.errorMessage,e?.errorCode));let o,n=new tr(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((i,s)=>{o=()=>{s(n)},t.addEventListener("abort",o)})])}finally{o!=null&&t.removeEventListener("abort",o)}}var Cn=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=yt(),this.haveNext=yt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=yt(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");if(this.nextResult!=null&&(await this.readNext.promise,this.nextResult!=null))throw new Error("NeedNext promise resolved but nextResult was not consumed");t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=yt(),await fi(this.readNext.promise,e?.signal,e)}};function hi(){return new Cn}var er=class extends Error{code;constructor(t,e){super(t),this.code=e}},vn=class extends er{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function pi(r,t){let e=hi();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let c of s)await e.push(c);await e.end()};let o=r.source;r.source[Symbol.iterator]!=null?o=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(o=r.source[Symbol.asyncIterator]());let n=new j;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,f=new Promise((l,u)=>{a=()=>{u(new vn("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:h}=await Promise.race([o.next(),f]);return u===!0?new j:h}for(;n.byteLength<s;){let{value:u,done:h}=await Promise.race([o.next(),f]);if(h===!0)throw new er("unexpected end of input","ERR_UNEXPECTED_EOF");n.append(u)}let l=n.sublist(0,s);return n.consume(s),l}finally{a!=null&&c?.signal?.removeEventListener("abort",a)}},write:async(s,c)=>{c?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,c):await e.push(s.subarray(),c)},unwrap:()=>{if(n.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield n:yield*n,yield*s}()}return r}}}var rr=class extends Error{code;constructor(t,e){super(t),this.code=e}};function oe(r,t={}){let e=pi(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=v(t.maxDataLength));let o=t?.lengthDecoder??at,n=t?.lengthEncoder??ft;return{read:async s=>{let c=-1,a=new j;for(;;){a.append(await e.read(1,s));try{c=o(a)}catch(f){if(f instanceof RangeError)continue;throw f}if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new rr("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new rr("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(c,s)},write:async(s,c)=>{await e.write(new j(n(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new j(...s.flatMap(f=>[n(f.byteLength),f]));await e.write(a,c)},unwrap:()=>e.unwrap()}}var nr=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},ie=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new nr(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new nr(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Sn=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function se(r={}){return ra(e=>{let o=e.shift();if(o==null)return{done:!0};if(o.error!=null)throw o.error;return{done:o.done===!0,value:o.value}},r)}function ra(r,t){t=t??{};let e=t.onEnd,o=new ie,n,i,s,c=yt(),a=async()=>{try{return o.isEmpty()?s?{done:!0}:await new Promise((g,b)=>{i=I=>{i=null,o.push(I);try{g(r(o))}catch(R){b(R)}return n}}):r(o)}finally{o.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=yt()})}},f=g=>i!=null?i(g):(o.push(g),n),l=g=>(o=new ie,i!=null?i({error:g}):(o.push({error:g}),n)),u=g=>{if(s)return n;if(t?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:g})},h=g=>s?n:(s=!0,g!=null?l(g):f({done:!0})),y=()=>(o=new ie,h(),{done:!0}),p=g=>(h(g),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:a,return:y,throw:p,push:u,end:h,get readableLength(){return o.size},onEmpty:async g=>{let b=g?.signal;if(b?.throwIfAborted(),o.isEmpty())return;let I,R;b!=null&&(I=new Promise((k,X)=>{R=()=>{X(new Sn)},b.addEventListener("abort",R)}));try{await Promise.race([c.promise,I])}finally{R!=null&&b!=null&&b?.removeEventListener("abort",R)}}},e==null)return n;let w=n;return n={[Symbol.asyncIterator](){return this},next(){return w.next()},throw(g){return w.throw(g),e!=null&&(e(g),e=void 0),{done:!0}},return(){return w.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(g){return w.end(g),e!=null&&(e(g),e=void 0),n},get readableLength(){return w.readableLength},onEmpty:g=>w.onEmpty(g)},n}function na(r){return r[Symbol.asyncIterator]!=null}function oa(...r){let t=[];for(let e of r)na(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=se({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async o=>{for await(let n of o)e.push(n)})),e.end()}catch(o){e.end(o)}}),yield*e}()}var mi=oa;function Ln(r,...t){if(r==null)throw new Error("Empty pipeline");if(Tn(r)){let o=r;r=()=>o.source}else if(yi(r)||gi(r)){let o=r;r=()=>o}let e=[r,...t];if(e.length>1&&Tn(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let o=1;o<e.length-1;o++)Tn(e[o])&&(e[o]=sa(e[o]));return ia(...e)}var ia=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},gi=r=>r?.[Symbol.asyncIterator]!=null,yi=r=>r?.[Symbol.iterator]!=null,Tn=r=>r==null?!1:r.sink!=null&&r.source!=null,sa=r=>t=>{let e=r.sink(t);if(e?.then!=null){let o=se({objectMode:!0});e.then(()=>{o.end()},s=>{o.end(s)});let n,i=r.source;if(gi(i))n=async function*(){yield*i,o.end()};else if(yi(i))n=function*(){yield*i,o.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return mi(o,n())}return r.source};function bi(r,t){let e=oe(r,t),o={read:async(n,i)=>{let s=await e.read(i);return n.decode(s)},write:async(n,i,s)=>{await e.write(i.encode(n),s)},writeV:async(n,i,s)=>{await e.writeV(n.map(c=>i.encode(c)),s)},pb:n=>({read:async i=>o.read(n,i),write:async(i,s)=>o.write(i,n,s),writeV:async(i,s)=>o.writeV(i,n,s),unwrap:()=>o}),unwrap:()=>e.unwrap()};return o}function ca(r){return r[Symbol.asyncIterator]!=null}function aa(r){if(ca(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Nn=aa;function K(r){return N.encode({type:N.Type.OK,peers:[],...r}).subarray()}function V(r){return N.encode({type:N.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var or=Ot("libp2p:daemon-server:dht"),ir=class{dht;constructor(t){let{dht:e}=t;this.dht=e}async*provide(t){try{await Nn(this.dht.provide(t)),yield K()}catch(e){or.error(e),yield V(e)}}async*getClosestPeers(t){yield K({dht:{type:O.Type.BEGIN}});for await(let e of this.dht.getClosestPeers(t))e.name==="PEER_RESPONSE"&&(yield*e.closer.map(o=>O.encode({type:O.Type.VALUE,value:o.id.toBytes()})));yield O.encode({type:O.Type.END})}async*getPublicKey(t){yield V(new Error("FIX ME: not implemented"))}async*getValue(t){try{for await(let e of this.dht.get(t))e.name==="VALUE"&&(yield K({dht:{type:O.Type.VALUE,value:e.value}}))}catch(e){or.error(e),yield V(e)}}async*putValue(t,e){try{await Nn(this.dht.put(t,e)),yield K()}catch(o){or.error(o),yield V(o)}}async*findPeer(t){try{for await(let e of this.dht.findPeer(t))e.name==="FINAL_PEER"&&(yield K({dht:{type:O.Type.VALUE,peer:{id:e.peer.id.toBytes(),addrs:e.peer.multiaddrs.map(o=>o.bytes)}}}));throw new Error("Peer not found")}catch(e){or.error(e),yield V(e)}}async*findProviders(t,e){yield K({dht:{type:O.Type.BEGIN}});try{let o=e,n=0;for await(let i of this.dht.findProviders(t))if(i.name==="PEER_RESPONSE"){for(let s of i.providers)n++,yield O.encode({type:O.Type.VALUE,peer:{id:s.id.toBytes(),addrs:(s.multiaddrs??[]).map(c=>c.bytes)}});if(o===n)break}}catch(o){yield V(o)}yield O.encode({type:O.Type.END})}};var sr=Ot("libp2p:daemon-server:pubsub"),cr=class{pubsub;constructor(t){let{pubsub:e}=t;this.pubsub=e}async*getTopics(){try{yield K({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(t){sr.error(t),yield V(t)}}async*subscribe(t){try{let e=se();this.pubsub.subscribe(t),this.pubsub.addEventListener("message",o=>{let n=o.detail;n.topic===t&&(n.type==="signed"?e.push(he.encode({from:n.from.toBytes(),data:n.data,seqno:n.sequenceNumber==null?void 0:Rt(n.sequenceNumber.toString(16).padStart(16,"0"),"base16"),topicIDs:[n.topic],signature:n.signature,key:n.key}).subarray()):e.push(he.encode({data:n.data,topicIDs:[n.topic]}).subarray()))}),yield K(),yield*e}catch(e){sr.error(e),yield V(e)}}async*publish(t,e){try{await this.pubsub.publish(t,e),yield K()}catch(o){sr.error(o),yield V(o)}}async*listPeers(t){try{yield K({pubsub:{topics:[t],peerIDs:this.pubsub.getSubscribers(t).map(e=>e.toBytes())}})}catch(e){sr.error(e),yield V(e)}}};var la=1<<22,$=Ot("libp2p:daemon-server"),ar=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(t){let{multiaddr:e,libp2pNode:o}=t;this.multiaddr=e,this.libp2p=o,this.tcp=si()({logger:go()}),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:Qr}),this._onExit=this._onExit.bind(this),o.services.dht!=null&&(this.dhtOperations=new ir({dht:o.services.dht})),o.services.pubsub!=null&&(this.pubsubOperations=new cr({pubsub:o.services.pubsub}))}async connect(t){if(t.connect==null||t.connect.addrs==null)throw new Error("Invalid request");let e=t.connect.peer,o=t.connect.addrs.map(i=>ct(i)),n=Ut(e);return $("connect - adding multiaddrs %a to peer %p",o,n),await this.libp2p.peerStore.merge(n,{multiaddrs:o}),$("connect - dial %p",n),this.libp2p.dial(n)}async openStream(t){if(t.streamOpen==null||t.streamOpen.proto==null)throw new Error("Invalid request");let{peer:e,proto:o}=t.streamOpen,n=Ut(e);$("openStream - dial %p",n);let i=await this.libp2p.dial(n);$("openStream - open stream for protocol %s",o);let s=await i.newStream(o,{runOnTransientConnection:!0});return{streamInfo:{peer:n.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""},connection:s}}async registerStreamHandler(t){if(t.streamHandler==null||t.streamHandler.proto==null)throw new Error("Invalid request");let e=t.streamHandler.proto,o=ct(t.streamHandler.addr),n;$("registerStreamHandler - handle %s",e),await this.libp2p.handle(e,({connection:i,stream:s})=>{Promise.resolve().then(async()=>{n=await this.tcp.dial(o,{upgrader:Qr});let c=Xt.encode({peer:i.remotePeer.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""}),a=je.single(c);await Ln(async function*(){yield a,yield*s.source}(),async function*(f){for await(let l of f)yield*l},n,s.sink)}).catch(async c=>{$.error(c),n!=null&&await n.close(c)}).finally(()=>{n?.close().catch(c=>{$.error(c)})})},{runOnTransientConnection:!0})}_listen(){process.on("SIGTERM",this._onExit),process.on("SIGINT",this._onExit),process.on("SIGHUP",this._onExit)}_onExit(){this.stop({exit:!0}).catch(t=>{$.error(t)})}async start(){this._listen(),await this.libp2p.start(),await this.listener.listen(this.multiaddr)}getMultiaddr(){let t=this.listener.getAddrs();if(t.length>0)return t[0];throw new Error("Not started")}async stop(t={exit:!1}){await this.libp2p.stop(),await this.listener.close(),t.exit&&$("server closed, exiting"),process.removeListener("SIGTERM",this._onExit),process.removeListener("SIGINT",this._onExit),process.removeListener("SIGHUP",this._onExit)}async*handlePeerStoreRequest(t){try{switch(t.type){case kt.Type.GET_PROTOCOLS:if(t.id==null)throw new Error("Invalid request");let e=Ut(t.id),n=(await this.libp2p.peerStore.get(e)).protocols;yield K({peerStore:{protos:n}});return;case kt.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield V(e)}}async*handlePubsubRequest(t){try{if(this.libp2p.services.pubsub==null||this.pubsubOperations==null)throw new Error("PubSub not configured");switch(t.type){case gt.Type.GET_TOPICS:yield*this.pubsubOperations.getTopics();return;case gt.Type.SUBSCRIBE:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.subscribe(t.topic);return;case gt.Type.PUBLISH:if(t.topic==null||t.data==null)throw new Error("Invalid request");yield*this.pubsubOperations.publish(t.topic,t.data);return;case gt.Type.LIST_PEERS:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.listPeers(t.topic);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield V(e)}}async*handleDHTRequest(t){try{if(this.libp2p.services.dht==null||this.dhtOperations==null)throw new Error("DHT not configured");switch(t.type){case ot.Type.FIND_PEER:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(Ut(t.peer));return;case ot.Type.FIND_PROVIDERS:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(H.decode(t.cid),t.count??20);return;case ot.Type.PROVIDE:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(H.decode(t.cid));return;case ot.Type.GET_CLOSEST_PEERS:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(t.key);return;case ot.Type.GET_PUBLIC_KEY:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(Ut(t.peer));return;case ot.Type.GET_VALUE:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(t.key);return;case ot.Type.PUT_VALUE:if(t.key==null||t.value==null)throw new Error("Invalid request");yield*this.dhtOperations.putValue(t.key,t.value);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield V(e)}}handleConnection(t){Promise.resolve().then(async()=>{let e=this,o=bi(t,{maxDataLength:la}),n=await o.read(nt);$("read",n);try{switch(n.type){case nt.Type.CONNECT:{await e.connect(n),await o.write({type:N.Type.OK},N);break}case nt.Type.IDENTIFY:{await o.write({type:N.Type.OK,identify:{id:e.libp2p.peerId.toBytes(),addrs:e.libp2p.getMultiaddrs().map(i=>i.decapsulateCode(x("p2p").code)).map(i=>i.bytes)}},N);break}case nt.Type.LIST_PEERS:{let i=[],s=new Set;for(let c of e.libp2p.getConnections()){let a=c.remotePeer.toString();s.has(a)||(s.add(a),i.push({id:c.remotePeer.toBytes(),addrs:[c.remoteAddr.bytes]}))}await o.write({type:N.Type.OK,peers:i},N);break}case nt.Type.STREAM_OPEN:{let i=await e.openStream(n);await o.write({type:N.Type.OK,streamInfo:i.streamInfo},N);let s=o.unwrap();await Ln(s,i.connection,s);break}case nt.Type.STREAM_HANDLER:{await e.registerStreamHandler(n),await o.write({type:N.Type.OK},N);break}case nt.Type.PEERSTORE:{if(n.peerStore==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=oe(i);for await(let c of e.handlePeerStoreRequest(n.peerStore))await s.write(c);break}case nt.Type.PUBSUB:{if(n.pubsub==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=oe(i);for await(let c of e.handlePubsubRequest(n.pubsub))await s.write(c);break}case nt.Type.DHT:{if(n.dht==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=oe(i);for await(let c of e.handleDHTRequest(n.dht))await s.write(c);break}default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(i){$.error(i),await o.write({type:N.Type.ERROR,error:{msg:i.message},peers:[]},N)}finally{await o.unwrap().close()}}).catch(e=>{$.error("error handling incoming connection",e)})}},ua=(r,t)=>new ar({multiaddr:r,libp2pNode:t});return Ci(da);})();
|
|
7
7
|
return Libp2PDaemonServer}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/daemon-server",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.2",
|
|
4
4
|
"description": "API server for libp2p-daemon instances",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-daemon/tree/main/packages/libp2p-daemon-server#readme",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"release": "aegir release"
|
|
140
140
|
},
|
|
141
141
|
"dependencies": {
|
|
142
|
-
"@chainsafe/libp2p-gossipsub": "^
|
|
142
|
+
"@chainsafe/libp2p-gossipsub": "^11.0.0",
|
|
143
143
|
"@libp2p/daemon-protocol": "^6.0.0",
|
|
144
144
|
"@libp2p/interface": "^1.0.0",
|
|
145
145
|
"@libp2p/kad-dht": "^11.0.0",
|
|
@@ -153,8 +153,8 @@
|
|
|
153
153
|
"it-pipe": "^3.0.1",
|
|
154
154
|
"it-protobuf-stream": "^1.1.1",
|
|
155
155
|
"it-pushable": "^3.2.0",
|
|
156
|
-
"multiformats": "^
|
|
157
|
-
"uint8arrays": "^
|
|
156
|
+
"multiformats": "^13.0.1",
|
|
157
|
+
"uint8arrays": "^5.0.1"
|
|
158
158
|
},
|
|
159
159
|
"devDependencies": {
|
|
160
160
|
"aegir": "^41.1.6",
|